欢迎来到天天文库
浏览记录
ID:37233881
大小:716.81 KB
页数:66页
时间:2019-05-12
《微处理器及其系统结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章8086微处理器及其系统结构本章主要内容2.18086微处理器2.2总线周期与总线结构2.38086总线操作时序2.18086微处理器2.1.18086CPU的内部结构执行单元EUEU的功能是从BIU的指令队列中取出指令代码,执行指令所规定的操作。主要有两种类型的操作:(a)算术/逻辑运算;(b)按寻址要求计算出16位偏移地址。内部暂存器IPESSSDSCS输入/输出控制电路外部总线执行部分控制电路123456∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列缓冲器执行部件(EU
2、)总线接口部件(BIU)16位20位16位8位8086内部结构(1)算术逻辑单元ALU进行算术、逻辑运算,或按寻址方式计算出寻址单元的16位偏移量。(2)标志寄存器F用来反映CPU最近一次运算结果的状态特征或存放控制标志。(3)数据暂存寄存器协助ALU完成运算,暂存参加运算的数据。(4)通用寄存器组AX、BX、CX、DX和SP、BP与SI、DI。(5)EU控制电路接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。2.总线接口单元BIU根据EU的请求,负责实现CPU与存贮器或I/
3、O设备之间的数据传送。(1)指令队列缓冲器其作用相当于早期CPU中的六个(字节)指令寄存器IR。(2)地址加法器和段寄存器用于实现从逻辑地址,到物理地址的转换运算。(3)指令指针寄存器IP用于存放BIU将要取的一下条指令的段内偏移地址。(4)总线控制电路与内部通讯寄存器总线控制电路用于产生外部总线操作时的相关控制信号。内部通讯寄存器用于暂存BIU与EU之间交换的信息。2.1.28086CPU内部寄存器1.段寄存器(1)为什么要设置段寄存器如何用16位数据处理能力,实现20位地址的寻址呢?逻辑地址由两部分组成:段基址:偏移量物理地址
4、=段基址×10H+偏移量段起始地址偏移量起始地址地址加法器物理地址逻辑地址偏移量:由IP、BX、BP、SP、SI、DI之一形成或根据指令的寻址方式来形成。起始地址:由段寄存器CS、DS、ES、SS之一左移4位供给。【例2-1】试将逻辑地址3021H:26A1H转换成物理地址。解:计算如下:0+328B1H302126A1(2)段寄存器的功能用于存放CPU当前可以访问的4个逻辑段的基址。(3)信息的分段存储与段寄存器的关系段寄存器的利用使存储器地址空间扩大到1兆字节;为信息按特征分段存储和信息安全管理带来了方便。2.通用寄存器(1)
5、数据寄存器16位寄存器:AX、BX、CX和DX;8位寄存器:AH、AL、BH、BL、CH、CL、DH和DL。(2)地址指针和变址寄存器①设置地址指针和变址寄存器的目的缩短了指令码的长度;提高了指令寻址的灵活性。②地址指针和变址寄存器功能对存储器寻址时,用于存放段内偏移地址的全部或一部分。SP堆栈指针和BP基址指针寄存器通常用来作为地址指针,其段基址由段寄存器SS提供。SI和DI变址寄存器在字符串操作指令中,SI用作源变址寄存器,DI用作目的变址寄存器。3.控制寄存器(1)指令指针寄存器IP用于控制程序中指令的执行顺序。如图2-7所
6、示。(2)标志寄存器F六个是状态标志,三个为控制标志;唯一能按位操作的16位寄存器只定义了其中的9位,其余7位不用FH158FL70OFDFIFTFSFZFAFPFCF状态标志位:反映ALU执行运算后其结果的状态(不是结果本身)控制标志位:控制CPU的特定操作这些标志位的值由指令直接赋值,而不像状态标志位那样由运算结果来决定。溢出标志位OF(OverflowFlag):OF=1溢出OF=0不溢出求解方法:双进位位法最高进位位次高进位位操作数的运算结果超出了机器表示的范围称为溢出状态标志位:进位/借位标志位CF(CarryFlag
7、):CF=1有进/借位CF=0无进/借位最高位向前一位是否有进位(加法)/借位(减法)辅助进位/借位标志位AF(AuxiliaryCarryFlag):AF=1有进/借位AF=0无进/借位数据第三位向第四位是否有进位(加法)/借位(减法)符号标志位SF(SignFlag):根据最高位判断两个带符号数运算后结果正/负的标志SF=1结果为负数SF=0结果为正数若为无符号数的运算,则该位为运算结果的最高数据位,并无正/负符号的含义奇偶标志位PF(ParityFlag):运算结果数据的低八位中“1”的数量为奇数/偶数PF=1有偶数个“1”
8、PF=0有奇数个“1”零状态标志位ZF(ZeroFlag):数据运算结果是否为全0ZF=1结果为全0ZF=0结果不为全0状态标志位受指令操作结果影响:有些运算操作将影响全部状态标志,如加法、减法运算;有些操作影响部分状态标志,如移位操作;有些指令的
此文档下载收益归作者所有