第二章微处理器指令周期精选文档.ppt

上传人:石*** 文档编号:51605455 上传时间:2022-10-19 格式:PPT 页数:18 大小:1,023KB
返回 下载 相关 举报
第二章微处理器指令周期精选文档.ppt_第1页
第1页 / 共18页
第二章微处理器指令周期精选文档.ppt_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《第二章微处理器指令周期精选文档.ppt》由会员分享,可在线阅读,更多相关《第二章微处理器指令周期精选文档.ppt(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第二章微处理器指令周期本讲稿第一页,共十八页2.2.1 8086的编程结构 8086分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。右图为8086的编程结构图本讲稿第二页,共十八页1总线接口部件(BIU)总线接口部件的功能是负责与存储器、I/O端口传送数据。CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据或指令,将数据先放入“指令队列”排队,当需要时,再由执行部件EU从中取出;或者把执行部件EU的操作结果传送到指定的内存单元或外设端口中。总线接口部件的部分组成:(1)4个16位的段地址寄存器

2、;CS16位的代码段寄存器:用来存放当前程序所在段的段基址;DS16位的数据段寄存器:用来存放当前程序所用数据段的段基址;ES16位的扩展段寄存器:用来存放辅助数据所在段的段基址;SS16位的堆栈段寄存器:用来存放当前程序所用堆栈段的段基址;本讲稿第三页,共十八页 (2)16位的指令指针寄存器IP:用来存放下一条指令的偏移地址,IP在当前程序运行中能够进行自动加1的修正,使其指向下一条指令;(3)20位的地址加法器:用来形成20位的物理地址;(4)6字节的指令队列缓冲器。(5)总线控制部件。用来产生并发出总线控制信号,实现对存储器、I/O端口的读写控制,并将内部总线与外部总线相连接。2执行部件

3、EU 执行部件EU的功能就是负责从指令队列取指令并执行。它由下列几个部分组成:(1)算术逻辑单元ALU:用来进行算术、逻辑运算,以及按照寻址方式计算寻址单元的偏移量。本讲稿第四页,共十八页 (2)暂存器:协助ALU完成运算,用来暂时存放参加运算的数据。(3)通用寄存器组:包括4个通用寄存器,即AX(也称累加器)、BX、CX、DX;以及4个专用寄存器:基数指针寄存器BP:存放数据段中某一单元的偏移地址;也可指示堆栈段中某一单元的偏移地址;堆栈指针寄存器SP:存放堆栈栈顶偏移地址;源变址寄存器SI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址;目的变址寄存器DI:与数据段寄存器DS连用,

4、确定数据段中某一存储单元的地址;(4)16位的标志寄存器FR;用来存放控制标志和反映CPU运行的状态特征。(5)EU控制电路:由定时电路、控制电路和状态逻辑电路组合而成。本讲稿第五页,共十八页3“流水线”结构的指令队列 总线接口部件BIU和执行部件EU并不是同步工作的,每当EU从指令队列头部取出一条指令并在分析、执行指令这段时间内,或当指令队列中有2个空字节时,BIU会自动把指令取到指令队列中。当指令队列已满(6个字节),而且EU对BIU又无总线访问请求时,BIU便进入空闲状态;但EU在分析、执行指令过程中,如须访问内存或I/O设备,EU就会向BIU申请总线周期,若BIU总线空闲,就会立即响应

5、;若BIU此时正在取一条指令,EU就必须等待BIU取指令的操作完成以后,才会得到BIU响应。在8086/8088中,EU和BIU这种并行的工作方式有力地提高了工作效率。本讲稿第六页,共十八页4通用寄存器的用法 由于某些寄存器具有良好的通用性,因而被称为通用寄存器,其中包括AX,BX,CX,DX。通用寄存器主要用来保存算术或逻辑运算的操作数、中间运算结果。它们既可以作为一个16位的寄存器使用,也可以分别作为两个8位的寄存器使用,高位字节的寄存器为AH,BH,CH,DH;低位字节的寄存器为AL,BL,CL,DL。由于这些寄存器具有良好的通用性,使用十分灵活,因而称为通用寄存器。通用寄存器的特殊用途

6、和隐含用法如表2-1所示。本讲稿第七页,共十八页表2-1 寄存器的特殊用途和隐含用法寄存器 执行操作 AX累加器,I/O指令中用作数据寄存器整字乘法,整字除法,整字I/O,存放被乘数,乘积,被除数,商 ALI/O指令中用作数据寄存器字节乘法,字节除法,字节I/O。存放被乘数,乘积,被除数,商查表,十进制算术运算中用作累加器;在XLAT(换码)指令中用作累加器 AH字节乘法,字节除法在LAHF(标志寄存器传送)指令中用作目标寄存器 BX用作间接寻址的地址寄存器和基地址寄存器;查表;在XLAT(换码)指令中用作基地址寄存器 本讲稿第八页,共十八页表2-1 寄存器的特殊用途和隐含用法CX计数寄存器,

7、在LOOP(循环)和串操作中充当计数器字符串操作,循环 CL在变量的移位和循环移位指令中用作移位次数计数器 DX在乘法、除法指令中作为辅助累加器;在乘法、除法指令中存放乘积高位、被除数高位或余数在间接寻址的I/O指令中作为地址寄存器;SP堆栈操作中用作堆栈指针 BP在间接寻址中用作基址寄存器;SI在字符串操作中用作变址寄存器;在间接寻址中用作变址寄存器;DI字符串操作 本讲稿第九页,共十八页标志寄存器(Flag Register)标志寄存器共有16位,其中有7位未用,已用的9个标志位按功能可分为6个条件标志和3个控制标志。(1)条件标志(条件标志用于存放程序运行的状态信息,由硬件自动设定。控制

8、标志由软件设定,用于中断、串操作等控制):图2-2 标志寄存器结构图OF DF IF TF SF ZFAFPFCF本讲稿第十页,共十八页OFOF:溢出标志:溢出标志。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为-128+127,对字运算为-32768+32767。若超过上述范围称为“溢出”,OF置1。否则,置0。实际机器在进行处理时,是判断最高位的进位(CF)与次高位的进位是否相同,若二者相同,则OF。否则,OF。SFSF:符号标志:符号标志。反映运算结果的符号。若结果为负数,即最高位为1时,SF置1,否则,置0。SF取值与运算结果最高位一致。ZFZF:零标志:零标志。反映

9、运算结果是否为零。若结果为零,ZF置1,否则,置0。AFAF:半进位标志。:半进位标志。反映一个8位量的低4位向高4位有无进位或借位。有则置1,否则,置0。用于BCD码算术运算指令。PF:奇偶标志。反映操作结果的低8位中“1”的个数的奇偶性。若“1”的个数为偶数,PF置1,否则,置0。CFCF:进位标志。:进位标志。反映算术运算后最高位出现进位或借位的情况。有则置1,否则,置0。移位和循环指令也会改变CF的值。本讲稿第十一页,共十八页(2)控制标志DF:方向标志。进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由DF决定地址是增还是减。若DF为1,则为减,否则为增。IF:表示

10、系统是否允许“外部可屏蔽中断”(其含义见后述“中断”内容)。若IF为1,表示允许,否则表示不允许。IF对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。TF:陷阱标志。TF为1时,CPU每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行”就是利用这个标志。本讲稿第十二页,共十八页例例21 观察下面的运算,写出运算结果的状态标志。10001000 88H 一128 +10001100=+8CH =+一116 1 00010100 114H 一244方框中的1表示溢出。运算结果的标志位如下:因为运算结果的最高位有进位,所以产生溢出

11、,CF=1;运算结果的低位有偶数个,所以,PF=1;运算结果的低4位向高4位有进位,所以,AF=1;运算结果不为零,所以,ZF=0;最高位为,所以,SF=0;因为D7的进位是,D6的进位是,所以产生溢出,OF=1。本讲稿第十三页,共十八页图2-7 当前可寻址的存储器段(堆栈段和附加段重叠)本讲稿第十四页,共十八页38086存储器的逻辑地址与物理地址 物理地址,也称实际地址。8086 CPU中的每个存储元在存 储体中的位置都可以使用物理地址和逻辑地址来表示。为编程方便,8086存储器采用逻辑地址在程序中使用,它 由两部分组成:段基址和偏移量。偏移量又称为有效地址EA,是在段基址上的附加值。假如把

12、一条马路从头到尾编号01000,比作物理地址,逻辑地址就好比把这条马路分成几段,若各段的段基址分别为0、100、300、500、800,为了简便,记作0、1、3、5、8,则物理地址的126号,其对应的逻辑地址,就是段基址1左移两位(相当于乘以100)再加上偏移量16;则物理地址的574号,其对应的逻辑地址,就是段基址5左移两位(相当于乘以100)加上偏移量74。本讲稿第十五页,共十八页48086存储器20位物理地址的形成 在存储段划分时,段内地址是连续的,段与段之间是相互独立的。每个段的起始地址称段的基址,段基址必须是能被16整除的那些地址,即20位的段基址的低四位应当是0000。当CPU访问

13、存储器时,根据逻辑地址(由段基址和偏移值构成),在BIU的地址加法器中形成20位的物理地址,其方法是将段址左移四位(相当于乘以16)再加上偏移量。本讲稿第十六页,共十八页2.2.4 8086的总线时序时钟周期是时钟脉冲的重复周期,时钟周期又叫T状态,是CPU的时间基准,时序系统中的最小时间单位,由计算机主频决定。指令周期是指从取指令开始,经过分析指令、对操作数寻址,然后执行指令,保存操作结果这个过程。总线周期是在一个指令执行周期中,通过总线进行一次或多次对存储单元或I/O端口读或写的操作。完成一次读/写操作所需要的时间,它又称机器周期。所有指令的第一个机器周期都是“取指”周期。一个指令周期可细分为若干个总线周期,而一个总线周期又有若干个时钟周期组成。本讲稿第十七页,共十八页8086系统总线周期由四个时钟周期组成(T1T4)。8086CPU的总线周期主要有以下几种:最小模式下的总线读写,包括存储器读写和I/O读写;最大模式下的总线读写,包括存储器读写和I/O读写;中断周期;最小模式下的总线保持;最大模式下的总线请求允许。最大模式与最小模式的总线读写周期操作在逻辑上基本相同,只是在最大模式下要同时考虑CPU发出的信号和总线控制器发出的信号。本讲稿第十八页,共十八页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com