- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§2.1 8086/8088 CPU 的内部结构 §2.1 8086/8088 CPU 的内部结构 第一章 1.执行部件EU 执行部件与外部系统没有直接相连,它是CPU,其主要任务是:完成指令译码和执行指令操作。EU由算术逻辑运算单元、运算寄存器、寄存器组、标志寄存器及EU控制电路等组成。 1)算术逻辑运算单元(ALU) 8086的ALU是一个16位的运算器,用于8位或16位的二进制算术及逻辑运算。 2)运算寄存器 运算寄存器用来协助ALU完成运算,暂存参加运算的操作数。 3)寄存器组 寄存器组包括通用数据寄存器、指针寄存器及变址寄存器。 ①通用数据寄存器 AX、BX、CX及DX 4个16位的通用数据寄存器即可以作为16位寄存器使用,也可作为8个8位寄存器使用。一般用于存放参与运算的操作数或运算结果。它们的高8位称为AH、BH、CH、DH,低8位称为AL、BL、CL、DL,因此提高了编程的灵活性。 AX称累加器,具有简单计算功能,许多指令是利用它完成的。 BX称基址寄存器,在计算内存地址时,常用来存放基本地址。 CX称为计数寄存器,常用作循环计数器。 DX称为数据寄存器,常用来存放扩展数据。 ②指针寄存器 SP称为堆栈指针寄存器,其16位值是指向存储器堆栈的栈顶单元的逻辑地址(有效地址)。当进行堆栈操作时,会自动调整栈顶指针。 BP称为基址指针寄存器,常用来存放内存单元的16位偏移地址(有效地址)。 ③变址寄存器 SI 称为源变址寄存器,常用来存放源操作数的16位偏移地址。 DI 称目的变址寄存器,用来存放目的操作数的16位偏移地址。 4)标志寄存器 标志寄存器(FLAGS)也称为程序状态字(PSW),用来存放8086工作过程中的状态。它是16位寄存器,但只用到其中的9位,包括6个状态标志和3个控制标志,如下所示:? 状态标志位实时记录了算术逻辑运算结果的一些特征,如:结果是否为”0”,是否有进位、借位,是否溢出等。不同指令对状态标志位的影响是不同的。 ①进位标志位CF——当进行加法或减法运算时,若最高位发生进位或借位则CF=1,否则CF=0; ②零标志位ZF——当运算结果为零时ZF=1,否则ZF=0; ③半进位位AF——在加法或减法运算时,若低4位向高4位有进位或借位则AF=1,否则AF=0; ④奇/偶标志位PF——当运算结果的低8位中“1”的个数为偶数则PF=1,为奇数时PF=0。 ⑤符号标志位SF——当进行有符号数的运算时,运算结果的最高位为1则SF=1,否则SF=0,用来标志运算结果是正数还是负数; ⑥溢出标志位OF——当算术运算的结果超出了有符号数的表示范围,即发生了溢出,则OF=1,否则OF=0。8位及16位有符号数的表示范围是-128~+127及-32768~ +32767; 控制标志位是用专用指令来设置和清除的。每个控制标志位都对8086产生特定的控制作用。 ①跟踪标志位TF——若TF=1则使8086处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,便自动产生一次内部中断,从而使用户能逐条地检查程序。 ②中断允许 标志位IF——是控制可屏蔽中断的标志,若IF=1使8086允许响应可屏蔽中断请求。若IF=0使8086禁止响应可屏蔽中断请求。IF对非屏蔽中断及内部中断没有影响。 ③方向标志位DF——是控制串操作指令的标志,若DF=1使串操作按减地址方向进行。也就是说,从高位地址开始,每操作一次,操作数地址减1。若DF=0使串操作按增地址方向进行。 5)EU控制电路 EU控制电路负责从BIU的指令队列缓冲器中取指令,根据指令要求向EU内部各部件发出控制命令,以完成指令规定的操作。具体工作过程是:从BIU指令队列缓冲器中取出指令操作码,通过译码电路分析,发出相应控制命令,控制“ALU数据总线”中的数据的流向。如果是运算操作,操作数经过运算寄存器送入ALU,运算结果经过“ALU数据总线”送到相应寄存器,同时根据运算结果的特征设置标志寄存器的各个状态位。当指令要求访问存储器或I/O端口时,则向BIU发出请求,由BIU通过8086系统总线访问存储器或I/O端口。 2.总线接口部件BIU 总线接口部件是8086 CPU管理存储器和I/O的接口部件,它提供了16位双向数据总线、20位地址总线和若干条控制信号。其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存;CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或I/O端口取数据并传送给执行部件,或者把执行部件的处理结果传送到指定的内存单元或I/O端口中。 总线接口部件由指令队列缓冲器、20位地址加法器、段寄存器、指令指针和总线控制电路等组成。
文档评论(0)