CHAP2-8086CPU.pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CHAP2-8086CPU

2.1 8086微处理器的结构2.1.1 8086的功能结构8086微处理器的内部功能结构由两个独立的工作部件——总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)构成 EU由运算器、寄存器组、控制器等组成,负责指令的执行BIU由指令队列、地址加法器、总线控制逻辑等组成,负责与系统总线打交道,即负责CPU与其外部(内存、I/O口)交换数据。AB(20位)AXBXCXDX地址加法器数据寄存器AH ALBH BLCH CLDH DL DB(16位) CS DS SS ES IP内部暂存器SPBPSIDI指针和变址寄存器ALU数据总线 (16位)8086总线总线控制逻辑暂存寄存器(8位) EU控制器1 2 3 4 5 6ALU队列总线指令队列缓冲器标志寄存器FR执行部件(EU)总线接口部件(BIU)图2-1 8086CPU的内部功能结构框图1.执行部件EU(1)EU的功能 ① 从BIU的指令队列缓冲器中取出指令,由EU控制器的指令译码器译码产生相应的操作控制信号给各部件② 对操作数进行算术运算和逻辑运算,并将运算结果的状态特征保存到状态寄存器FR中③ EU不直接与CPU外部系统相连,当需要与主存储器或I/O设备交换数据时,EU向BIU发出命令,并提供给BIU16位有效地址及所需传送的数据(2)EU的组成。EU由算术逻辑单元ALU,通用数据寄存器组,地址指针和变址寄存器,标志寄存器,数据暂存寄存器和EU控制器组成(3)EU的特点① 通用数据寄存器AX,BX,CX,DX,既可以作16位寄存器使用,也可以分成高、低8位分别作两个8位寄存器使用 ② ALU的核心是16位二进制加法器 ③ 16位状态标志寄存器(7位未用)存放操作后的状态特征和设置的控制标志。④ EU控制器是执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。2.总线接口部件BIU(1)BIU的功能 ① BIU从主存取指令送到指令队列缓冲器。② CPU执行指令时,总线接口单元要配合EU从指定的主存单元或外设端口中取数据,将数据传送给EU或把EU的操作结果传送到指定的主存单元或外设端口中③ 计算并形成访问存储器的20位物理地址(2)BIU的组成。BIU由4个16位段寄存器、16位指令指针寄存器、20位物理地址加法器、6字节指令队列及总线控制逻辑组成。(3)BIU的特点:① 指令队列是由6个字节的寄存器组成(8088指令队列由4个字节组成)。 ② 地址加法器是用来产生20位存储器物理地址的。③ 8086分配20条引脚线分时传送20位地址,16位数据和4位状态信息。 20位物理地址和16位段基址、16位段内偏移量之间的关系地址加法器是用来产生20位存储器物理地址的。8086可寻址1MB空间,但8086内部寄存器和数据通道宽度都是16位的,所以需要根据提供的逻辑地址信息产生20位物理地址。地址加法器把段寄存器提供的16位信息——称作段基址,左移4位(相当于乘以16),加上EU或者IP提供的16位信息——称作偏移地址,形成20位的物理地址,计算公式为:物理地址z(20位)=段基址x(16位)×16+偏移地址y(16位)=x*10H+y。物理地址和段基址、偏移地址的关系 xzy0000H0001H……FFFEHFFFFH0000H00000H00010H?FFFE0HFFFF0H0001H00001H00011H?FFFE1HFFFF1H0002H00002H00012H?FFFE2HFFFF2H……?????FFFEH0FFFEH1000EH?0FFDEH0FFEEHFFFFH0FFFFH1000FH?0FFDFH0FFEFH物理地址和段基址、偏移地址的关系 xzy0000H0001H……FFFEHFFFFH0000H00000H00010H?FFFE0HFFFF0H0001H00001H00011H?FFFE1HFFFF1H0002H00002H00012H?FFFE2HFFFF2H……?????FFFEH0FFFEH1000EH?0FFDEH0FFEEHFFFFH0FFFFH1000FH?0FFDFH0FFEFH如果段基址x不变,y加一,物理地址z相当于在x段内上移一个字节。如果段基址x加一,相当于整个段向上移动16个字节。段基址x用来表示这个段的高低位置,偏移地址y用以表示某一字节相对于该段底部的高度。对于x值较大的高段,整个段64K字节的底部除了覆盖1M内存的顶部以外,64K字节的顶部也覆盖了1M内存的底部。由y取值范围为0000—FFFFH决定了每个段的高度都相同,均为264即64K字节。由x的取值范围为0000—FFFFH决定了总共有264即

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档