




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第2章章微处理器与总线微处理器与总线韦韦 耿耿wei_河海大学计算机与信息学院河海大学计算机与信息学院2 主要内容:主要内容:(1) 微型机的基本结构;微型机的基本结构;(2) 8088(8086)微处理器的工作)微处理器的工作 原理、引线及结构;原理、引线及结构;(3) 总线的一般概念。总线的一般概念。32.1 微型机的基本结构微型机的基本结构微机系统的基本组成微机系统的基本组成微型机的工作原理微型机的工作原理4 微机系统的组成微机系统的组成5微处理器、微型计算机和微型计算微处理器、微型计算机和微型计算机系统三者之间有什么不同?机系统三者之间有什么不同?(1)三者不同三者不同,微处理器是
2、微型计算机的一个,微处理器是微型计算机的一个 组成部分,而微型计算机又是微型计算机组成部分,而微型计算机又是微型计算机 系统的一个组成部分。系统的一个组成部分。(2)微处理器微处理器:运算器、控制器及寄存器组;:运算器、控制器及寄存器组; 微型计算机微型计算机:由微处理器、存储器、输入:由微处理器、存储器、输入/ 输出接口电路和系统总线构成的输出接口电路和系统总线构成的 裸机系统;裸机系统; 微型计算机系统微型计算机系统:微型计算机、系统软件和:微型计算机、系统软件和 外设。外设。6微型计算机的系统结构框图微型计算机的系统结构框图总线结构总线结构7微型计算机的结构微型计算机的结构 微处理器(微
3、处理器(CPU) 存储器存储器 输入输入/输出接口输出接口 总线总线1. 硬件系统硬件系统81)微处理器微处理器 微处理器简称微处理器简称CPU,是计算机的核是计算机的核心,主要包括:心,主要包括: 运算器运算器 控制器控制器 寄存器组寄存器组9 运算器运算器算术逻辑单元算术逻辑单元ALU: 加法器:加、减、乘、除加法器:加、减、乘、除 逻辑运算功能部件:与、或、非、异或逻辑运算功能部件:与、或、非、异或通用或专用寄存器组:通用或专用寄存器组: 提供操作数和暂存中间运算结果及结果提供操作数和暂存中间运算结果及结果 特征特征内部总线:内部总线: 数据传输通道数据传输通道10 组成:组成: 程序计
4、数器、指令寄存器程序计数器、指令寄存器指令译码指令译码 器、时序控制部件,微操作控制部件器、时序控制部件,微操作控制部件 功能:功能: 1、指令控制、指令控制 2、时序控制、时序控制 3、操作控制、操作控制 4、处理对异常情况及某些外部请求、处理对异常情况及某些外部请求 控制器11 寄存器组 CPU内部的若干个内部的若干个存储单元存储单元;分为专用寄存器和通用寄存器;分为专用寄存器和通用寄存器; 专用寄存器专用寄存器:其作用是固定的:其作用是固定的,如如 SP、FLAGS 。 通用寄存器通用寄存器:如:如AXBX等由程序员等由程序员 规定其用途。规定其用途。122)存储器)存储器 定义定义:存
5、储器又叫内存或主存:存储器又叫内存或主存,是是微型计算机的存储和记忆部件。微型计算机的存储和记忆部件。 作用作用:存放计算机工作过程中需要:存放计算机工作过程中需要操作的数据和当前执行的程序。操作的数据和当前执行的程序。13 注意区分:注意区分:内存单元的地址和内容内存单元的地址和内容 地址地址:每个单元都对应一个编号,以每个单元都对应一个编号,以实现对单元内容的寻址实现对单元内容的寻址 内存单元的内容内存单元的内容: :内存单元中存放的内存单元中存放的信息信息 1011011038F04H内存地址内存地址单元内容单元内容14 指标:指标:内存容量内存容量 内存所含存储单元的个数,以字节内存所
6、含存储单元的个数,以字节为单位为单位 内存容量的大小依内存容量的大小依CPU的寻址范围的寻址范围而定(即而定(即CPU地址信号线的位数)地址信号线的位数)15 内存操作内存操作 读:将内存单元的内容取入读:将内存单元的内容取入CPU, 原单元内容不改变原单元内容不改变 写:写:CPU将信息放入内存单元,单将信息放入内存单元,单 元中原来的内容被覆盖元中原来的内容被覆盖16存储器读操作过程存储器读操作过程CPU读地址读地址05H内存单元中的内容的过程内存单元中的内容的过程(1)(2)(3)17存储器读操作过程存储器读操作过程CPU把把00100110B写入地址为写入地址为08H的单元的单元(1)
7、(2)(3)18 内存储器的分类内存储器的分类 随机存取存储器(随机存取存储器(RAM) 按工作方按工作方 式可分为式可分为 只读存储器(只读存储器(ROM)193)输入)输入/输出接口输出接口输入输入/ /输出接口是微型计算机的输出接口是微型计算机的 重要组成部分重要组成部分接口是接口是CPUCPU与外部设备间的桥梁与外部设备间的桥梁CPUI/O接口接口外设外设20 接口的分类:接口的分类: 串行接口串行接口 输入接口输入接口 并行接口并行接口 输出接口输出接口21 接口的功能接口的功能 数据缓冲寄存数据缓冲寄存 信号电平或类型的转换信号电平或类型的转换 实现主机与外设间的运行匹配实现主机与
8、外设间的运行匹配224)总线)总线总线总线:是一组信号线的集合,是在计算机系:是一组信号线的集合,是在计算机系 统各部件之间传输地址、数据和控制统各部件之间传输地址、数据和控制 信息公共通路。信息公共通路。内部总线内部总线:位于芯片内部的总线。:位于芯片内部的总线。系统总线系统总线:连接微处理器与存储器、输入输:连接微处理器与存储器、输入输 出接口,用以构成完整的微型计算机出接口,用以构成完整的微型计算机 的总线的总线 (外部总线外部总线) 。分类分类:数据总线、地址总线和控制总线。:数据总线、地址总线和控制总线。23数据总线数据总线:用于传送数据信息,实现微处:用于传送数据信息,实现微处 理
9、器、存储器和理器、存储器和I/O接口之间的数据接口之间的数据 交换。数据总线是双向总线,数据可交换。数据总线是双向总线,数据可 在两个方向上传输。在两个方向上传输。 地址总线地址总线:用于发送内存地址和:用于发送内存地址和I/O接口接口 的地址,是单项总线。的地址,是单项总线。 控制总线控制总线:则传送各种控制信号和状态:则传送各种控制信号和状态 信号,使微型计算机各部件协调工作。信号,使微型计算机各部件协调工作。 每一根是单向的,但整体是双向的。每一根是单向的,但整体是双向的。242.2.软件系统软件系统 软件:为运行、管理和维护计算机软件:为运行、管理和维护计算机系统或为实现某一功能而编写
10、的各系统或为实现某一功能而编写的各种程序的总和及其相关资料。种程序的总和及其相关资料。系统软件系统软件应用软件应用软件操作系统操作系统系统实用程序系统实用程序软件软件编译程序编译程序汇编程序汇编程序数据库数据库调试程序调试程序工具软件工具软件25 程序设计语言程序设计语言机器语言机器语言:计算机直接执行的二进:计算机直接执行的二进 制形式的程序。制形式的程序。 汇编语言汇编语言:助记符语言表示的程序。:助记符语言表示的程序。 高级语言高级语言:不依赖于具体机型的不依赖于具体机型的程程 序设计语言。序设计语言。26 微型计算机系统结构微型计算机系统结构 冯冯 诺依曼结构诺依曼结构 哈佛结构哈佛结
11、构27冯冯 诺依曼机的特点:诺依曼机的特点: 将计算过程描述为由许多条指令按一定将计算过程描述为由许多条指令按一定顺序组成的程序,并放在存储器保存顺序组成的程序,并放在存储器保存 指令按其在存储器中存放的顺序执行指令按其在存储器中存放的顺序执行 由控制器控制整个程序和数据的存取以由控制器控制整个程序和数据的存取以及程序的执行及程序的执行 以运算器为核心,所有的执行都经过运以运算器为核心,所有的执行都经过运算器算器28冯冯 诺依曼计算机结构诺依曼计算机结构29每台计算机都有各种类型的机器指令,每台计算机都有各种类型的机器指令,这些指令按照这些指令按照一定的规则一定的规则存放在存储器存放在存储器中
12、,在中央控制系统的中,在中央控制系统的统一控制统一控制下,按下,按一定顺序一定顺序依次取出执行,这就是依次取出执行,这就是冯诺依冯诺依曼的核心原理曼的核心原理,即,即存储程序的工作原理存储程序的工作原理。冯冯 诺依曼计算机的核心原理诺依曼计算机的核心原理30存储程序存储程序: :是指把程序和数据送到具有记忆能力的是指把程序和数据送到具有记忆能力的存储器中保存起来,计算机工作时只要存储器中保存起来,计算机工作时只要给出程序中第一条指令的地址,控制器给出程序中第一条指令的地址,控制器就可依据存储程序的指令顺序地、周而就可依据存储程序的指令顺序地、周而复始地取出指令、分析指令、执行指令,复始地取出指
13、令、分析指令、执行指令,直到执行完全部指令为止直到执行完全部指令为止。31 指令指令:一条基本操作命令称为一条机器指令。指:一条基本操作命令称为一条机器指令。指 令是对计算机发出的一条条工作命令,命令它执令是对计算机发出的一条条工作命令,命令它执 行规定的操作。机器指令必须满足两个条件:行规定的操作。机器指令必须满足两个条件: a、机器指令的形式必须是计算机能够理解的,必、机器指令的形式必须是计算机能够理解的,必 须使用二进制数字编码形式表示。须使用二进制数字编码形式表示。 b、机器指令规定的操作必须是计算机能够执行的。、机器指令规定的操作必须是计算机能够执行的。 必须有硬件支持。必须有硬件支
14、持。 指令系统指令系统:应用于某种:应用于某种CPU的机器指令及其使用的机器指令及其使用 规则的集合。指令系统决定了计算机的能力,也规则的集合。指令系统决定了计算机的能力,也 影响着计算机的结构。影响着计算机的结构。 程序程序:是实现某种任务的指令序列。:是实现某种任务的指令序列。32 程序中的指令必须采用二进制编程序中的指令必须采用二进制编 码,和数据一样进行存储。码,和数据一样进行存储。 程序中的指令必须属于执行程序程序中的指令必须属于执行程序 的计算机的指令系统。的计算机的指令系统。33微型计算机的工作过程微型计算机的工作过程计算机执行程序示意图计算机执行程序示意图34指令执行的两个基本
15、阶段指令执行的两个基本阶段 取指令阶段取指令阶段 由一系列相同的操作组成。取指令阶由一系列相同的操作组成。取指令阶 段的时间总是相等的。段的时间总是相等的。 执行指令阶段执行指令阶段 由不同的事件顺序组成,它取决于被由不同的事件顺序组成,它取决于被 执行指令的类型。执行指令的类型。微机工作过程就是不断地取指令和执行指令微机工作过程就是不断地取指令和执行指令的过程。的过程。35一个程序工作的例子一个程序工作的例子例例:求:求 5+4=?计算步骤计算步骤:一个计算步骤完成一个基本操作(如取数、:一个计算步骤完成一个基本操作(如取数、 加法、存数、打印输出等)加法、存数、打印输出等)计算程序:计算程
16、序:是由完成某一特定任务的一组指令所组成。是由完成某一特定任务的一组指令所组成。指令必须提供的信息指令必须提供的信息: a、执行什么样的操作、执行什么样的操作 b、参与操作的对象即数据是什么或地址是什么。、参与操作的对象即数据是什么或地址是什么。注意区分:注意区分: a、存储单元的地址、存储单元的地址 b、存储单元的内容、存储单元的内容36指令在内存中的存放形式指令在内存中的存放形式 37在微机中在微机中a、所有操作都是用二进制代码进行编码的;、所有操作都是用二进制代码进行编码的;b、数据用二进制表示,且存放在存储器的预定地址、数据用二进制表示,且存放在存储器的预定地址 的存储单元中。的存储单
17、元中。 本例编码后本例编码后00000100:取数操作的操作码,地址:取数操作的操作码,地址:0000010100000010:加法操作:加法操作 地址:地址:0000011100000101:存数操作:存数操作 地址:地址:0000100100001000:打印输出操作,:打印输出操作, 地址:地址:00001011 00000101:原始数据:原始数据“5”, 地址:地址:0000000100000100:原始数据:原始数据“4”, 地址:地址:0000001038 计算机执行指令的过程计算机执行指令的过程 39(1) 执行程序时,给程序计数器执行程序时,给程序计数器PC赋以第一条赋以第一
18、条 指令的地址指令的地址05H,就进入第一条指令的取指就进入第一条指令的取指 阶段,具体过程如下:阶段,具体过程如下: 将将PC的内容的内容05H送至地址寄存器送至地址寄存器AR。 当当PC的内容可靠地送入地址寄存器的内容可靠地送入地址寄存器AR 后,后,PC的内容加的内容加1变为变为06H。 地址寄存器地址寄存器AR把地址号把地址号05H通过地址总通过地址总 线线AB送至存储器。经地址译码器译码,送至存储器。经地址译码器译码, 选中选中05H号单元。号单元。 CPU给出读命令至存储器。给出读命令至存储器。 将将05H单元的内容单元的内容04H()(指令操作码)指令操作码) 读至数据总线读至数
19、据总线DB上。上。40 读出的内容读出的内容04H经过数据总线经过数据总线DB送至数送至数 据寄存器据寄存器DR。 因是取指阶段,取出的为指令操作码,因是取指阶段,取出的为指令操作码, 故故DR将其送至指令寄存器将其送至指令寄存器IR,然后经过然后经过 译码分析发出执行这条指令的各种控制译码分析发出执行这条指令的各种控制 信号。信号。 (2) 取指阶段完成后,转入了执行第一条指令的取指阶段完成后,转入了执行第一条指令的 阶段。经过译码分析,知道这是一条从内存阶段。经过译码分析,知道这是一条从内存 单元取操作数的指令,接下去要先从指令的单元取操作数的指令,接下去要先从指令的 第二字节获取操作数地
20、址,然后再从中读取第二字节获取操作数地址,然后再从中读取 数据。数据。 PC的内容的内容06H送至地址寄存器送至地址寄存器AR。41取取指令操作数地址示意图指令操作数地址示意图42 当当PC的内容可靠地送入地址寄存器的内容可靠地送入地址寄存器AR 后,后,PC的内容加的内容加1变为变为07H。 地址寄存器地址寄存器AR把地址号把地址号06H通过地址总通过地址总 线线AB送至存储器。经地址译码器译码,送至存储器。经地址译码器译码, 选中选中06H号单元。号单元。 CPU给出读命令至存储器。给出读命令至存储器。 所选中的所选中的06H单元的内容单元的内容01H(操作数地操作数地 址)读至数据总线址
21、)读至数据总线DB上。上。 读出的内容读出的内容01H经过数据总线经过数据总线DB送至数送至数 据寄存器据寄存器DR。 因读出的因读出的01H为操作数地址,所以在控制为操作数地址,所以在控制 器的控制下将器的控制下将DR内容送往地址寄存器内容送往地址寄存器AR432.2 8088/8086微处理器微处理器主要内容:主要内容: 8088CPU外部引线及功能外部引线及功能 8088CPU的内部结构和特点的内部结构和特点 各内部寄存器的功能各内部寄存器的功能 8088的工作时序的工作时序448088和和8086的异同的异同不相同:不相同:(1)外部数据总线位数的差别:外部数据总线位数的差别: 808
22、6CPU有有16位,在一个总线周期内可输入位,在一个总线周期内可输入/输出一个字输出一个字 (16位数据位数据),系统处理数据,系统处理数据/对中断响应的速度快;对中断响应的速度快; 8088 CPU有有8位,准位,准16位处理器。位处理器。(2)指令队列容量的差别:指令队列容量的差别: 8086CPU的指令队列可容纳的指令队列可容纳6个字节,且在每个总线周个字节,且在每个总线周 期中从存储器中取出期中从存储器中取出2个字节的指令代码填入指令队个字节的指令代码填入指令队 列,这可提高取指操作和其它操作的并行率,从而列,这可提高取指操作和其它操作的并行率,从而 提高系统工作速度;提高系统工作速度
23、; 8088指令队列只能容纳指令队列只能容纳 4个字节,且在每个总线周期中只个字节,且在每个总线周期中只 能取一个字节的指令代码,从而增长了总线取指令能取一个字节的指令代码,从而增长了总线取指令 的时间,在一定条件下可能影响取指令操作和其它的时间,在一定条件下可能影响取指令操作和其它 操作的并行率。操作的并行率。458088和和8086的异同的异同不相同:不相同:(3)引脚特性的差别引脚特性的差别:两种:两种CPU的引脚功能是相同的,的引脚功能是相同的, 但有以下几点不同:但有以下几点不同: a. AD15AD0的定义不同的定义不同:在:在8086中都定义为地中都定义为地 址址/数据复用总线;
24、而在数据复用总线;而在 8088中,由于只需用中,由于只需用8 条数据总线,因此,对应予条数据总线,因此,对应予8086的的AD15AD8 这这8条引脚,只作地址线使用。条引脚,只作地址线使用。 b.34号引脚的定义不同号引脚的定义不同:在:在8086中定义为中定义为BHE信信 号;而在号;而在8088中定义为中定义为SS0,它与,它与DT/R,IO/M 一起用作最小方式下的周期状态信号。一起用作最小方式下的周期状态信号。 c.28号引脚的相位不同号引脚的相位不同: 在在8086中为中为M/IO;而在;而在 8088中被倒相,改为中被倒相,改为IO/M,以便与,以便与8080/8085 系统的
25、总线结构兼容。系统的总线结构兼容。 468088和和8086的异同的异同相同:相同:(1)类似的体系结构;类似的体系结构;(2)内部结构基本相同;内部结构基本相同;(3)执行部件执行部件EU完全相同;完全相同;(4)指令系统及寻址能力,程序的编制及指令系统及寻址能力,程序的编制及 设计方法都相同;设计方法都相同;所以两种所以两种CPU完全兼容。完全兼容。 471.8088/8086的指令流水线的指令流水线执行程序时,执行程序时,CPU重复执行:重复执行:(1)从存储器取出下一条指令;从存储器取出下一条指令;(2)指令译码指令译码(或指令分析或指令分析);(3)如果指令需要,从存储器读取操作数;
26、如果指令需要,从存储器读取操作数;(4)执行指令执行指令(包括算术逻辑运算、包括算术逻辑运算、I/O操作、操作、 数据传送、控制转移等数据传送、控制转移等);(5)如果需要,将结果写入存储器。如果需要,将结果写入存储器。8088/8086CPU的特点的特点执行单元执行单元(EU)和总线接口单元和总线接口单元(BIU)48 指令执行部件指令执行部件 EU:负责执行指令负责执行指令 总线接口部件总线接口部件BIU:负责取指令、取操作负责取指令、取操作 数和写结果。数和写结果。执行执行1 1执行执行2 2存结果存结果 取指取指2 2取指取指1 1执行执行3 3取数取数取数取数取指取指3 3忙碌忙碌忙
27、碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌EUBIUBUS49EU和和BIU并行操作的实现并行操作的实现: BIU内部的指令队列内部的指令队列指令队列的作用:指令队列的作用:使得使得8086/8088的的EU和和BIU能够并行的工作,能够并行的工作,从而减少了从而减少了CPU为取指令而等待的时间,为取指令而等待的时间,提高了提高了CPU的执行效率和运行速度,另外的执行效率和运行速度,另外也降低了对存储器存取速度的要求也降低了对存储器存取速度的要求50指令流水线技术指令流水线技术 一般情况下,一般情况下,CPU执行完一条指执行完一条指令就可以立即执行下一条指令,称为令就可以立即执行下一条指令,称为流
28、水线技术流水线技术,减少了,减少了CPU为取指令而为取指令而等待的时间,从而提高了等待的时间,从而提高了CPU的效率。的效率。512.内存的分段管理技术内存的分段管理技术8086/8088CPU的内部是的内部是16位,产生位,产生216=64K个地址。个地址。如何提高寻址能力?如何实现对更大如何提高寻址能力?如何实现对更大(如如220) 空间的寻址?空间的寻址?分段管理方法分段管理方法8088/8086CPU的特点的特点52分段管理方法分段管理方法 将内存空间分为多个逻辑段,每个逻辑将内存空间分为多个逻辑段,每个逻辑段最大为段最大为64K个单元,段内每个单元的地址个单元,段内每个单元的地址码码
29、(偏移地址或相对地址偏移地址或相对地址)长度为长度为16位,满足位,满足其其16位内部结构的要求;再为每个段设置段位内部结构的要求;再为每个段设置段地址地址(也称段基地址也称段基地址),以区分不同的逻辑段。,以区分不同的逻辑段。内存单元的地址为段地址和段内偏移地址。内存单元的地址为段地址和段内偏移地址。段寄存器:专门存放段地址段寄存器:专门存放段地址地址寄存器:专门存放偏移地址地址寄存器:专门存放偏移地址8088/8086CPU的特点的特点533.支持多处理器系统支持多处理器系统有有最小模式最小模式和和最大模式最大模式两种工作模式。两种工作模式。最小模式最小模式:单处理机系统,:单处理机系统,
30、CPU直接直接产生系统控制总线信号。产生系统控制总线信号。最大模式最大模式:多处理器模式,总线控制:多处理器模式,总线控制器提供所有总线控制信号和命令信号器提供所有总线控制信号和命令信号8088/8086CPU的特点的特点54 总结:总结:8088/8086 CPU的特点的特点 采用并行流水线工作方式采用并行流水线工作方式 通过设置通过设置指令预取队列指令预取队列实现实现 对内存空间实行分段管理:对内存空间实行分段管理: 将内存分为将内存分为4个段个段并设置地址段寄并设置地址段寄 存器,以实现对存器,以实现对1MB空间的寻址空间的寻址 支持多处理器系统支持多处理器系统55 8088工作模式:最
31、小模式和最大模式。工作模式:最小模式和最大模式。(1)最小模式:最小模式:MN/MX=1 单处理机单处理机模式;模式; 控制信号控制信号较少,一般可不必接总线控制;较少,一般可不必接总线控制; 只包括一个只包括一个处理器处理器8088; 系统总线系统总线由由8088的引线直接引出形成。的引线直接引出形成。(2)最大模式:最大模式:MN/MX=0 多处理机多处理机模式;模式; 控制信号控制信号多,须通过总线控制器与总线相连;多,须通过总线控制器与总线相连; 处理器处理器8088和其他的处理器;和其他的处理器; 系统总线系统总线由由8088和总线控制器共同产生。和总线控制器共同产生。8088的外部
32、引脚和功能的外部引脚和功能56引脚定义的方法可大致分为引脚定义的方法可大致分为: 每个引脚只传送一种信息每个引脚只传送一种信息(RD等等) 引脚电平的高低不同的信号引脚电平的高低不同的信号(IO/M等等) CPU工作于不同方式有不同的名称和工作于不同方式有不同的名称和定义定义(WR/LOCK 等等) 分时复用引脚分时复用引脚(AD7AD0 等等); 引脚的输入和输出分别传送不同的信引脚的输入和输出分别传送不同的信息息(RQ/GT等等) 。5712345678910111213141516171819204039383736353433323130292827262524232221 GND A
33、D14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCC +5VAD15A16 / S3A17 / S4A18 / S5A19 / S6BHE/S7 MN / MXRDHOLD HLDA WRM / IO DT / R DEN ALEINTATESTREADYRESET80868086 CPU 引脚12345678910111213141516171819204039383736353433323130292827262524232221 GND A14 A13 A12 A11 A10
34、 A9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCC +5VA15A16 / S3A17 / S4A18 / S5A19 / S6SS0 MN / MXRDHOLD HLDA WRM / IO DT / R DEN ALEINTATESTREADYRESET80888088 CPU 引脚58主要引线主要引线(最小模式最小模式)8088是工作在最小还是最大模式由是工作在最小还是最大模式由MN/MX端状态决定。端状态决定。MN/MX=0工作于最大模式,工作于最大模式,反之工作于最小模式。反之工作于最小模式。 AD7AD0: 低低8位
35、地址和数据信号分时复位地址和数据信号分时复 用。在传送地址信号时为单用。在传送地址信号时为单 向,传送数据信号时为双向。向,传送数据信号时为双向。 A19 A16: 高高4位地址信号,分时复用。位地址信号,分时复用。 A15 A8 : 输出输出8位地址信号。位地址信号。59主要的控制和状态信号主要的控制和状态信号 WR: 写信号写信号 RD: 读信号读信号 IO/M: 为为“0”表示访问内存表示访问内存 为为“1”表示访问接口表示访问接口 DEN: 低电平有效时,允许进行读低电平有效时,允许进行读/写写 操作操作 RESET:复位信号复位信号60例例: 当当WR=1,RD=0,IO/M=0时,
36、时, 表示表示CPU当前正在进行读存储器当前正在进行读存储器 操作操作61READY信号:信号:T1T2T3TwaitT462中断请求和响应信号中断请求和响应信号 INTR:可屏蔽中断请求输入端可屏蔽中断请求输入端 NMI:非屏蔽中断请求输入端非屏蔽中断请求输入端 INTA:中断响应输出端中断响应输出端63总线保持信号总线保持信号 HOLD:总线保持请求信号输入端。当总线保持请求信号输入端。当 CPU以外的其他设备要求占用以外的其他设备要求占用 总线时,通过该引脚向总线时,通过该引脚向CPU发发 出请求出请求 HLDA:总线保持响应信号输出端。总线保持响应信号输出端。 CPU对对HOLD信号的
37、响应信号信号的响应信号648088CPU的功能结构的功能结构 8088内部由两部分组成:内部由两部分组成: 执行单元(执行单元(EU) 总线接口单元(总线接口单元(BIU)658086 总线 地址总线(20 位) ALU 数据总线(16 位) 地址加法器 队列总线 指令队列 总线接口部件(BIU) 1 2 3 4 5 6 C S I P 内部通信寄存器 总线 控制 逻辑 数据总线 暂 存 器 A L U 标志寄存器 E U 控制器 指令执行部件(EU) (16 位) (8 位) 通 用 寄 存 器 E S D S S S AX BX CX DX B P S P S I D I AH AL BH
38、 BL CH CL DH DL 8088处理器内部结构处理器内部结构66执行单元执行单元 功能功能 指令的执行指令的执行 从指令队列中取指令代码从指令队列中取指令代码 译码译码 在在ALU中完成数据的运算中完成数据的运算 运算结果运算结果 的特征保存在标志寄存器的特征保存在标志寄存器FLAGS中。中。67执行单元包括执行单元包括 运算器运算器 8个通用寄存器个通用寄存器 1个标志寄存器个标志寄存器 EU部分控制电路部分控制电路68总线接口单元总线接口单元功能:功能: 从内存中取指令到指令预取队列从内存中取指令到指令预取队列 负责与内存或输入负责与内存或输入/输出接口之间的数输出接口之间的数据传
39、送据传送 在执行转移程序时,在执行转移程序时,BIU使指令预取队使指令预取队列复位,从指定的新地址取指令,并列复位,从指定的新地址取指令,并立即传给执行单元执行。立即传给执行单元执行。69 总线接口单元包括总线接口单元包括 段寄存器段寄存器 指令指针寄存器指令指针寄存器 指令队列指令队列 地址加法器地址加法器 总线控制逻辑电路总线控制逻辑电路708088的指令执行过程的指令执行过程718088的内部寄存器的内部寄存器 含含14个个16位寄存器,按功能可分为三位寄存器,按功能可分为三类类 8个通用寄存器个通用寄存器 4个段寄存器个段寄存器 2个控制寄存器个控制寄存器728088的的内内部部寄寄存
40、存器器73通用寄存器通用寄存器 数据寄存器(数据寄存器(AX,BX,CX,DX) 地址指针寄存器(地址指针寄存器(SP,BP) 变址寄存器(变址寄存器(SI,DI)74数据寄存器数据寄存器 8088含含4个个16位数据寄存器,它们又位数据寄存器,它们又可分为可分为8个个8位寄存器,即:位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL75数据寄存器特有的习惯用法数据寄存器特有的习惯用法 AX:累加器。所有累加器。所有I/O指令都通过指令都通过AX与接与接口传送信息,中间运算结果也多放于口传送信息,中间运算结果也多放于AX中中 BX:基址寄存器。在间接寻址中用
41、于存放基址寄存器。在间接寻址中用于存放基地址;基地址; CX:计数寄存器。用于在循环或串操作指计数寄存器。用于在循环或串操作指令中存放计数值令中存放计数值 DX:数据寄存器。在间接寻址的数据寄存器。在间接寻址的I/O指令中指令中存放存放I/O端口地址;在端口地址;在32位乘除法运算时,位乘除法运算时,存放高存放高16位数位数76地址指针寄存器地址指针寄存器 SP:堆栈指针寄存器,其内容为栈顶:堆栈指针寄存器,其内容为栈顶的偏移地址的偏移地址 BP:基址指针寄存器,常用于在访问基址指针寄存器,常用于在访问内存时存放内存单元的内存时存放内存单元的偏移地址偏移地址堆栈堆栈(Stack)是主存中一个特
42、殊的区域,采用是主存中一个特殊的区域,采用“先进后出先进后出”或或“后进先出后进先出”存取操作方式,用存取操作方式,用8088/8086形成的微机系统中,堆栈区域被称为形成的微机系统中,堆栈区域被称为堆栈段堆栈段77BX与与BP在应用上的区别在应用上的区别 作为通用寄存器,二者均可用于存放作为通用寄存器,二者均可用于存放数据数据 作为基址寄存器,用作为基址寄存器,用BX表示所寻找的表示所寻找的数据在数据段;用数据在数据段;用BP则表示数据在堆则表示数据在堆栈段栈段78变址寄存器变址寄存器 SI:源变址寄存器源变址寄存器 DI:目标变址寄存器目标变址寄存器 用途:常用于指令的间接寻址或变址用途:
43、常用于指令的间接寻址或变址寻址。寻址。 在串操作指令中,分别用在串操作指令中,分别用SI、DI存放存放源操作数及目标操作数的偏移地址。源操作数及目标操作数的偏移地址。 现在不必完全理解,以后会详细展开现在不必完全理解,以后会详细展开79段寄存器段寄存器用于存放相应逻辑段的段基地址用于存放相应逻辑段的段基地址 CS:代码段寄存器。代码段存放指令代码代码段寄存器。代码段存放指令代码 DS:数据段寄存器数据段寄存器 ES:附加段寄存器附加段寄存器 SS:堆栈段寄存器:指示堆栈区域的位置堆栈段寄存器:指示堆栈区域的位置存放操作数存放操作数80控制寄存器控制寄存器(1) IP:指令指针寄存器,其内容为下
44、一条指令指针寄存器,其内容为下一条 要执行指令的偏移地址要执行指令的偏移地址 FLAGS:标志寄存器,存放运算结果的标志寄存器,存放运算结果的 特征特征 6个状态标志位个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位个控制标志位(IF,TF,DF)81标志寄存器标志寄存器FLAGS中存放的中存放的9个标志位:个标志位:状态标志状态标志:用来表示运算结果的特征:用来表示运算结果的特征(CF、PF、 AF、ZF、SF和和OF) ;控制标志控制标志:用来控制:用来控制CPU的操作的操作(IF、DF和和TF) 。(1)CF(Carry Flag) 进位标志位。进位标志位。CF=1,表
45、示本表示本次运算中最高位次运算中最高位(第第7位或第位或第15位位) 有进位有进位(加法运加法运算时算时) 或有借位或有借位(减法运算时减法运算时)。无符号数加无符号数加/减减:若:若CF=1,表示结果超出了数据范围。表示结果超出了数据范围。有符号数运算有符号数运算:CF对运算结果没有直接意义。对运算结果没有直接意义。82(2)PF(Parity Flag) 奇偶标志位。奇偶标志位。 PF=1:本次运算结果的低八位中有偶数个本次运算结果的低八位中有偶数个1; PF=0:表示有奇数表示有奇数1。 PF可以用来进行奇偶校验,或者用来生成可以用来进行奇偶校验,或者用来生成 奇偶校验位。奇偶校验位。(
46、3)AF(Auxiliary Carry Flag) 辅助进位标志位。辅助进位标志位。 AF=1,表示表示8位运算结果位运算结果(限使用限使用AL寄存器寄存器) 中低中低4位向高位向高4位有进位位有进位(加法运算时加法运算时)或有借或有借 位位(减法运算时减法运算时)。 这个标志位这个标志位只在只在BCD数运算中起作用。数运算中起作用。83(4)ZF(Zero Flag)零标志位。零标志位。ZF=1,表示运算结果为表示运算结果为0(各位全为各位全为0),否则,否则ZF=0。(5)SF(Sign Flag)符号标志位。符号标志位。SF=1,表示运算结果表示运算结果的最高位的最高位(第第7位或第位
47、或第15位位)为为1,否则,否则SF=0。(6)OF(Overflow Flag) 溢出标志位。溢出标志位。OF=1 表示二个表示二个用补码表示的用补码表示的有符号数有符号数的加法或减法结果超出了该字的加法或减法结果超出了该字长所能表示的范围。例如,进行长所能表示的范围。例如,进行8位运算时,位运算时,OF=1表表示运算结果大于示运算结果大于+127 或小于或小于-128,此时不能得到正,此时不能得到正确的运算结果。确的运算结果。OF标志对标志对无符号数无符号数的运算结果的运算结果没有没有意义意义。 溢出标志位是根据操作数的符号及其变化情况设溢出标志位是根据操作数的符号及其变化情况设置的置的。
48、例如,加法运算时,两个操作数符号相同,而。例如,加法运算时,两个操作数符号相同,而结果的符号与之相反,则结果的符号与之相反,则OF=1;否则否则OF=0。84(7)IF(Interrupt Flag) 中断允许标志位。中断允许标志位。IF=1,表示表示允许允许CPU响应可屏蔽中断。响应可屏蔽中断。IF标志可通过标志可通过STI指令置指令置位位(置置1),也可通过,也可通过CLI指令复位指令复位(清零清零)。(8)DF(Direction Flag)方向标志位。在串操作指令中,方向标志位。在串操作指令中,若若DF=0,表示串操作指令执行后地址指针自动增量,表示串操作指令执行后地址指针自动增量,串
49、操作由低地址向高地址进行;串操作由低地址向高地址进行;DF=1,表示地址指表示地址指针自动减量,串操作由高地址向低地址进行。针自动减量,串操作由高地址向低地址进行。DF标标志位可通过志位可通过STD指令置位,也可通过指令置位,也可通过CLD指令复位。指令复位。(9)TF(Trap Flag)单步标志位。单步标志位。TF=1,控制控制CPU进进入单步工作方式。在这种工作方式下,入单步工作方式。在这种工作方式下,CPU每执行每执行完一条指令就会自动产生一次内部中断,这在程序完一条指令就会自动产生一次内部中断,这在程序调试过程中很有用。调试过程中很有用。85例例:若:若AL = 3BH,AH = 7
50、DH,指出指出AL和和AH中的中的内容相加、相减后,标志内容相加、相减后,标志CF,AF,PF,SF,OF和和ZF的状态。的状态。 (1) (AL)+(AH) 由运算结果可知:由运算结果可知:CF=C7(D7位上的进位位上的进位)=0 (无进位无进位);AF=C3(D3位上的进位位上的进位)=1(有辅助进位有辅助进位);PF=1(运算结果有运算结果有4个个1);SF=D7=1(运算结果符号运算结果符号位为位为1);OF=C7 C6=0 1=1(有溢出有溢出);ZF=0(运运算结果不为算结果不为0) 。86由运算结果可知:由运算结果可知:CF=1(有借位有借位);AF=1(有辅助进有辅助进位位)
51、;PF=1(运算结果中有运算结果中有6个个1) ;SF=1(符号位为符号位为1);OF=0(无溢出无溢出) ;ZF=0(运算结果不为运算结果不为0)。 运算产生的标志位由程序员根据需要选择使用。运算产生的标志位由程序员根据需要选择使用。例如,如果参加运算的两个数是例如,如果参加运算的两个数是有符号数有符号数(用补码表用补码表示示),他可以用,他可以用OF判断结果是否产生溢出,这时他不判断结果是否产生溢出,这时他不必关心必关心CF的状态;如果参加运算的两个数是的状态;如果参加运算的两个数是无符号无符号数数,他可以用,他可以用CF判断结果是否超出范围,无需关心判断结果是否超出范围,无需关心OF的状
52、态。的状态。(2) (AL)-(AH)87指令指针寄存器指令指针寄存器 IP IPIP(Instruction PointerInstruction Pointer)为指令指针寄存器,)为指令指针寄存器,指示主存储器指令的位置指示主存储器指令的位置 随着指令的执行,随着指令的执行,IPIP将自动修改以指示下一条指将自动修改以指示下一条指令所在的存储器位置令所在的存储器位置 IPIP寄存器是一个寄存器是一个专用专用寄存器寄存器 IPIP寄存器与寄存器与CSCS段寄存器联合使用以确定下一条指段寄存器联合使用以确定下一条指令的存储单元地址令的存储单元地址控制寄存器控制寄存器(2)(2)(续续) )8
53、8标志寄存器标志寄存器 FLAGSFLAGS 标志标志(FlagFlag)用于反映指令执行结果或控制)用于反映指令执行结果或控制指令执行形式指令执行形式 80888088处理器的各种标志形成了一个处理器的各种标志形成了一个1616位的标位的标志寄存器志寄存器FLAGSFLAGS(程序状态字(程序状态字PSWPSW寄存器寄存器) 程序设计需要利用标志的状态程序设计需要利用标志的状态89标志寄存器标志寄存器- -分类分类 状态标志状态标志用来记录程序运行结果的状态用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它信息,许多指令的执行都将相应地设置它CF ZF SF PF OF AFCF
54、 ZF SF PF OF AF 控制标志控制标志可由程序根据需要用指令设置,可由程序根据需要用指令设置,用于控制处理器执行指令的方式用于控制处理器执行指令的方式DF IF TFDF IF TFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF090进位标志CF(Carry Flag) 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF1; 否则CF03AH + 7CHB6H,没有进位:CF = 0AAH + 7CH(1)26H,有进位:CF = 1OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF091零标志ZF(Zero F
55、lag) 若运算结果为0,则ZF1;否则ZF03AH3AH7CH7CHB6HB6H,结果不是零:,结果不是零:ZFZF0 084H84H7CH7CH(1 1)00H00H,结果是零:,结果是零:ZFZF1 1 注意:注意:ZF为为1表示的结果是表示的结果是0OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF092符号标志SF(Sign Flag) 运算结果最高位为1,则SF1; 否则SF03AH7CHB6H,最高位,最高位D71:SF184H7CH(1)00H,最高位,最高位D70:SF0 有符号数据用最高有效位表示数据的符号有符号数据用最高有效位表示数据的符号所以,最高
56、有效位就是符号标志的状态所以,最高有效位就是符号标志的状态OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF093奇偶标志PF(Parity Flag) 当运算结果最低字节中“1”的个数为零或偶数时,PF1;否则PF03AH7CHB6H10110110B结果中有结果中有5个个“1”,是奇数:是奇数:PF0 PFPF标志仅反映最低标志仅反映最低8 8位中位中“1 1”的个数是的个数是偶或奇,即使是进行偶或奇,即使是进行1616位字操作位字操作OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF094溢出标志OF(Overflow Flag) 若算术运算的
57、结果有溢出,则OF1; 否则 OF03AH + 7CHB6H,产生溢出:,产生溢出:OF1AAH + 7CH(1)26H,没有溢出:,没有溢出:OF0OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF095什么是溢出? 处理器内部以补码表示有符号数 8位表达的整数范围是:127 128 16位表达的范围是:32767 32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确3AH3AH7CH7CHB6HB6H,就是,就是5858124124182182,已经超出已经超出128128127127范围,产生溢出,故范围,产生溢出,故OFOF1
58、1;补;补码码B6HB6H表达真值是表达真值是7474,显然运算结果也不正确,显然运算结果也不正确 B6HB6H10110110B10110110B,最高位为,最高位为1 1,作为有符号数是负数作为有符号数是负数 对对B6HB6H求反加求反加1 1等于:等于:01001001B01001001B1 101001010B01001010B4AH4AH7474 所以,所以,B6HB6H表达有符号数的真值为表达有符号数的真值为747496溢出和进位的区别 溢出标志OF和进位标志CF是两个意义不同的标志 进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确 溢出标志表示有符号数运算结果是否超出范
59、围,运算结果已经不正确97溢出和进位的对比例1:3AH7CHB6H无符号数运算: 58124182范围内(0255),无进位有符号数运算: 58124182范围外,有溢出例例2 2:AAHAAH7CH7CH(1 1)26H26H无符号数运算:无符号数运算: 170170124124294294范围外,有进位范围外,有进位有符号数运算:有符号数运算: 86861241242828范围内,无溢出范围内,无溢出98溢出和进位的应用场合 处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF 应该利用哪个标志,则由程序员来决定。也就
60、是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出99溢出的判断 判断运算结果是否溢出有一个简单的规则: 只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确 其他情况下,则不会产生溢出例1:3AH7CHB6H溢出例2:AAH7CH无溢出例3:3AH7CH无溢出例4:AAH7CH2DH溢出100 辅助进位标志 AF(Auxiliary Carry Flag)3AH7CHB6H,D3有进位:AF1运算时运算时D D3 3位(低半字节)有进位或借位(低半字节)有进位或借位时,位时,AF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《老树的故事》教案
- 合伙创办驾校合同范本
- 原煤运输合同范例
- 住房水电改造合同范本
- 会议租车合同范本
- 座椅销售安装合同范本
- 中俄石油合同范本
- 加油站机械维修合同范本
- 单位试用合同范本
- 劳动合同范本 美容
- 矿山机械伤害安全培训
- 2025贵州省黔东南州直属事业单位招聘202人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年语文高考复习计划解析
- 新生儿肠道病毒感染
- 2025年度专业酒店装修承揽合同
- 2025年度5G基站建设劳务合同范本
- (完整版)班主任量化考核细则
- 2025年中国铁路郑州局集团有限公司招聘笔试参考题库含答案解析
- 2025年上半年永春县农文旅发展集团限公司公开招聘若干名工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 家庭康复服务的商业价值与发展趋势
- U8UAP开发手册资料
评论
0/150
提交评论