- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[所有分类]8086微处理器的内部结构
* * 2.1 8086微处理器的内部结构 2.1.1 8086基本组成 8086CPU由两个独立的功能部件组成: 总线接口部件BIU(Bus Interface Unit) 指令执行部件EU(Execution Unit) Q总线 16位 AH AL BH BL CH CL DH DL SP BP SI DI 通用寄存器 暂存寄存器 ALU 标志 EU 控制 系统 指令执行部件(EU) 8086 ALU数据总线 (16位) 1 2 3 4 5 6 指令队列 总线接口部件 (BIU) CS DS SS ES IP 内部通信 寄存器 8086 总线 总线 控制 逻辑 数据总线 (16位) Σ 地址总线(20位) 由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。 主要功能是执行指令: ○一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。 ○需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作; ○遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。 1. 指令执行部件EU 完成16位或8位的二进制运算; 16位暂存寄存器用来暂存参加运算的操作数。 运算结果通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。 经ALU运算后的结果特征置入标志寄存器中保存。 算术逻辑单元(ALU) 负责从BIU的指令队列中取指令,并对指令译码; 根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。 EU控制器 通用及标志寄存器 单独详细说明 由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路等部件组成; 主要功能是形成访问存储器的物理地址,负责与外部(存储器或I/O接口)打交道。 正常情况下,BIU通过地址加法器形成指令的物理地址,从给定存储器地址中取出指令代码送指令队列缓冲器中等待执行(指令队列缓冲器中出现一个空字节,BIU将自动进行读指令的操作填满队列) 收到EU送来的操作数地址,BIU将立即形成操作数的物理地址,完成读/写操作数或运算结果功能。遇到转移类指令,BIU将指令队列缓冲器中的尚存指令作废,重新从存储器目标地址中取指令送指令缓冲器中。 2. 总线接口部件BIU 可存放6字节的指令代码。一般情况下指令队列中总是填满指令,使EU可不断地得到执行的指令。 指令队列 16位地址加法器 专门用来完成由逻辑地址变换成物理地址的功能。实际上是进行一次地址加法,将两个16位的逻辑地址转换为20位的物理地址,以达到可寻址1M字节的存储空间。 将8086CPU的内部总线与外部总线相连,是8086CPU与外部交换数据的必经之路。包括16条数据总线、20条地址总线和若干条控制总线。 总线控制电路 由于EU和BIU可相互独立工作,大部分的取指令和执行指令操作可以重叠进行,故大大减少了等待取指令的时间,提高了微处理器的利用率和整个系统的执行速度。 8086CPU中有14个16位的寄存器,其结构如下图。 2.1.2 8086内部寄存器 通用寄存器(8个)可分为两组: 数据寄存器(4个); 地址指针和变址寄存器(4个)。 1. 通用寄存器组 (1)数据寄存器 通用寄存器AX、BX、CX和DX称为数据寄存器,可用来存放16位的数据或地址。也可把它们当作八个8位寄存器(AH、AL、BH、BL、CH、CL、DH、DL)来使用,这时只能存放8位数据,而不能用来存放地址。 在间接寻址的输入/输出指令中作地址寄存器用 字乘法/除法指令中存放乘积高位或被除数高位或余数 DX 在移位/循环移位指令中作移位次数计数器用 CL 在串处理和LOOP指令中作计数器用 CX 在XLAT指令中作基址寄存器用 在间接寻址中作基址寄存器用 BX 在XLAT指令中作基址寄存器用 在十进制运算指令中作累加器用 AL 在LAHF指令中,作目标寄存器用 AH 在除法指令中,存放被除数或商数 在乘法指令中,存放被乘数或乘积 在输入/输出指令中作数据寄存器用 AX,AL 特 殊 用 途 寄存器名 (2)地址指针和变址寄存器 包括SP、BP、SI、DI四个16位寄存器。 可以在运算过程中存放操作数,但只能以字(16位)为单位使用。 常用在段内寻址时提供偏移地址: SP(Stack Pointer)称为堆栈指针寄存器,BP(Base Pointer)称为基址指针寄存器,它们都可以与SS寄存器联用确定堆栈段中的某一存储单元的地址。SP用来指示栈顶的偏移地址
文档评论(0)