- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 8086微处理器的结构;;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位段内偏移量之间的关系;物理地址和段基址、偏移地址的关系;如果段基址x不变,y加一,物理地址z相当于在x段内上移一个字节。
如果段基址x加一,相当于整个段向上移动16个字节。
段基址x用来表示这个段的高低位置,偏移地址y用以表示某一字节相对于该段底部的高度。
对于x值较大的高段,整个段64K字节的底部除了覆盖1M内存的顶部以外,64K字节的顶部也覆盖了1M内存的底部。
由y取值范围为0000—FFFFH决定了每个段的高度都相同,均为264即64K字节。由x的取值范围为0000—FFFFH决定了总共有264即64K个段。;1M内存空间里任一字节单元的物理地址是固定不变的,但是可以为多个段基址x和偏移地址y的组合,即其逻辑地址不是唯一的,亦即可以被多个段覆盖。
根据z=10H*xmax+ymin=10H*xmin+ymax,可计算出覆盖1M空间里任意一个字节的最高段xmax和最低段xmin,并由此可以计算出任意一个字节都可被4096个段覆盖。
;例1:
z=56789H=10H* xmax+ymin=10H* xmax+0009H,则xmax=5678H。
且
z=56789H=10H*xmin+ymax=10H*xmin+FFF9H,则xmin=4679H。
共有xmax- xmin+1=5678H-4679H+1=1000H=4096个段覆盖。
注意ymin和ymax的最低位必须与z的最低位相同,这样才能计算得到整数x。;例2:
z=01235H=10H* xmax+ymin=10H* xmax+0005H,
则xmax=0123H。
且
z=01235H=10H*xmin+ymax=10H*xmin+FFF5H,
可推算出xmin=F124H
共有xmax- xmin+1=0123H-F124H+1=1000H=4096个段覆盖。
;8086 CPU利用段基址x和偏移地址y进行运算得到物理地址这种方式的优点是:
可将代码、数据、堆栈、附加数据等置于不同的段,避免重叠;需要时当然也可重叠使用。
只需改变段基址,即可将整个段上移或者下移,但不改变段内数据的相互位置关系。编程时使用逻辑地址描述,给程序设计带来很大的灵活性。
;小结;x的物理意义是该段的高低位置,由x的取值范围为0000-FFFFH,决定了总共有65536即64K个段。X加/减1则整个段则上/下移16个字节。
y的物理意义是该段内某个字节单元相对于该段最底部的高度,亦即所谓的偏移量。若x不变,y加减1,则对应的内存单元在该段内上/下移一个字节。y的取值范围也为0000-FFFFH,由此决定了任何一个段的大小或高度均为64KB。
高段除了覆盖高地址单元以外,超过1M部分则折返至低地址单元。1MB空间里的任意一个内存单元均可被4K即4096个段所覆盖。;8086 CPU利用段基址x和偏移地址y进行运算得到物理地址这种方式的优点是:
可将代码、数据、堆栈、
您可能关注的文档
最近下载
- ICD-9-CM-3手术与操作国家临床版亚目表.xlsx VIP
- 图形创意(第二版)林家阳 高教 全套课件.ppt
- Unit 2 Helping at home 第1课时 Get ready(教学课件)英语外研版三起四年级上册(新教材).ppt
- 大数据精准营销PPT课件.pptx VIP
- 天线与电波传播课件(第六章)电波传播概论.ppt VIP
- 公司目视化管理手册..pptx VIP
- 非遗工艺数字化呈现的2025年文化传承项目阶段汇报PPT.pptx VIP
- 演讲与口才中职全套完整教学课件.pptx
- CNG及LNG加气站风险管控资料.doc VIP
- 一种拉曼-荧光双模生物传感器及其制备方法与其在miRNA检测中的应用.pdf VIP
文档评论(0)