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