第二章微处理器指令周期_第1页
第二章微处理器指令周期_第2页
第二章微处理器指令周期_第3页
第二章微处理器指令周期_第4页
第二章微处理器指令周期_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章微处理器指令周期第1页,课件共18页,创作于2023年2月2.2.18086的编程结构

8086分为两部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。右图为8086的编程结构图第2页,课件共18页,创作于2023年2月1.总线接口部件(BIU)

总线接口部件的功能是负责与存储器、I/O端口传送数据。CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据或指令,将数据先放入“指令队列”排队,当需要时,再由执行部件EU从中取出;或者把执行部件EU的操作结果传送到指定的内存单元或外设端口中。总线接口部件的部分组成:(1)4个16位的段地址寄存器;

CS——16位的代码段寄存器:用来存放当前程序所在段的段基址;DS——16位的数据段寄存器:用来存放当前程序所用数据段的段基址;ES——16位的扩展段寄存器:用来存放辅助数据所在段的段基址;SS——16位的堆栈段寄存器:用来存放当前程序所用堆栈段的段基址;第3页,课件共18页,创作于2023年2月(2)16位的指令指针寄存器IP:用来存放下一条指令的偏移地址,IP在当前程序运行中能够进行自动加1的修正,使其指向下一条指令;(3)20位的地址加法器:用来形成20位的物理地址;(4)6字节的指令队列缓冲器。(5)总线控制部件。用来产生并发出总线控制信号,实现对存储器、I/O端口的读写控制,并将内部总线与外部总线相连接。2.执行部件EU执行部件EU的功能就是负责从指令队列取指令并执行。它由下列几个部分组成:(1)算术逻辑单元ALU:用来进行算术、逻辑运算,以及按照寻址方式计算寻址单元的偏移量。第4页,课件共18页,创作于2023年2月(2)暂存器:协助ALU完成运算,用来暂时存放参加运算的数据。(3)通用寄存器组:包括4个通用寄存器,即AX(也称累加器)、BX、CX、DX;以及4个专用寄存器:基数指针寄存器BP:存放数据段中某一单元的偏移地址;也可指示堆栈段中某一单元的偏移地址;堆栈指针寄存器SP:存放堆栈栈顶偏移地址;源变址寄存器SI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址;目的变址寄存器DI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址;(4)16位的标志寄存器FR;用来存放控制标志和反映CPU运行的状态特征。(5)EU控制电路:由定时电路、控制电路和状态逻辑电路组合而成。第5页,课件共18页,创作于2023年2月3.“流水线”结构的指令队列总线接口部件BIU和执行部件EU并不是同步工作的,每当EU从指令队列头部取出一条指令并在分析、执行指令这段时间内,或当指令队列中有2个空字节时,BIU会自动把指令取到指令队列中。当指令队列已满(6个字节),而且EU对BIU又无总线访问请求时,BIU便进入空闲状态;但EU在分析、执行指令过程中,如须访问内存或I/O设备,EU就会向BIU申请总线周期,若BIU总线空闲,就会立即响应;若BIU此时正在取一条指令,EU就必须等待BIU取指令的操作完成以后,才会得到BIU响应。在8086/8088中,EU和BIU这种并行的工作方式有力地提高了工作效率。第6页,课件共18页,创作于2023年2月4.通用寄存器的用法由于某些寄存器具有良好的通用性,因而被称为通用寄存器,其中包括AX,BX,CX,DX。通用寄存器主要用来保存算术或逻辑运算的操作数、中间运算结果。它们既可以作为一个16位的寄存器使用,也可以分别作为两个8位的寄存器使用,高位字节的寄存器为AH,BH,CH,DH;低位字节的寄存器为AL,BL,CL,DL。由于这些寄存器具有良好的通用性,使用十分灵活,因而称为通用寄存器。通用寄存器的特殊用途和隐含用法如表2-1所示。第7页,课件共18页,创作于2023年2月表2-1寄存器的特殊用途和隐含用法寄存器执行操作AX累加器,I/O指令中用作数据寄存器整字乘法,整字除法,整字I/O,存放被乘数,乘积,被除数,商ALI/O指令中用作数据寄存器字节乘法,字节除法,字节I/O。存放被乘数,乘积,被除数,商查表,十进制算术运算中用作累加器;在XLAT(换码)指令中用作累加器AH字节乘法,字节除法在LAHF(标志寄存器传送)指令中用作目标寄存器BX用作间接寻址的地址寄存器和基地址寄存器;查表;在XLAT(换码)指令中用作基地址寄存器第8页,课件共18页,创作于2023年2月表2-1寄存器的特殊用途和隐含用法CX计数寄存器,在LOOP(循环)和串操作中充当计数器字符串操作,循环CL在变量的移位和循环移位指令中用作移位次数计数器DX在乘法、除法指令中作为辅助累加器;在乘法、除法指令中存放乘积高位、被除数高位或余数在间接寻址的I/O指令中作为地址寄存器;SP堆栈操作中用作堆栈指针BP在间接寻址中用作基址寄存器;SI在字符串操作中用作变址寄存器;在间接寻址中用作变址寄存器;DI字符串操作第9页,课件共18页,创作于2023年2月标志寄存器(FlagRegister)

标志寄存器共有16位,其中有7位未用,已用的9个标志位按功能可分为6个条件标志和3个控制标志。

(1)条件标志(条件标志用于存放程序运行的状态信息,由硬件自动设定。控制标志由软件设定,用于中断、串操作等控制):

图2-2标志寄存器结构图

OFDFIFTFSFZFAFPFCF第10页,课件共18页,创作于2023年2月OF:溢出标志。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为-128~+127,对字运算为-32768~+32767。若超过上述范围称为“溢出”,OF置1。否则,置0。实际机器在进行处理时,是判断最高位的进位(CF)与次高位的进位是否相同,若二者相同,则OF=0。否则,OF=1。SF:符号标志。反映运算结果的符号。若结果为负数,即最高位为1时,SF置1,否则,置0。SF取值与运算结果最高位一致。ZF:零标志。反映运算结果是否为零。若结果为零,ZF置1,否则,置0。AF:半进位标志。反映一个8位量的低4位向高4位有无进位或借位。有则置1,否则,置0。用于BCD码算术运算指令。PF:奇偶标志。反映操作结果的低8位中“1”的个数的奇偶性。若“1”的个数为偶数,PF置1,否则,置0。CF:进位标志。反映算术运算后最高位出现进位或借位的情况。有则置1,否则,置0。移位和循环指令也会改变CF的值。第11页,课件共18页,创作于2023年2月(2)控制标志DF:方向标志。进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由DF决定地址是增还是减。若DF为1,则为减,否则为增。IF:表示系统是否允许“外部可屏蔽中断”(其含义见后述“中断”内容)。若IF为1,表示允许,否则表示不允许。IF对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。TF:陷阱标志。TF为1时,CPU每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行”就是利用这个标志。第12页,课件共18页,创作于2023年2月例2.1观察下面的运算,写出运算结果的状态标志。

1000100088H一128

+ 10001100=+ 8CH=+ 一116

100010100114H一244方框中的1表示溢出。运算结果的标志位如下:因为运算结果的最高位有进位,所以产生溢出,CF=1;运算结果的低8位有偶数个1,所以,PF=1;运算结果的低4位向高4位有进位,所以,AF=1;运算结果不为零,所以,ZF=0;最高位为0,所以,SF=0;因为D7的进位是1,D6的进位是0,所以产生溢出,OF=1。第13页,课件共18页,创作于2023年2月图2-7当前可寻址的存储器段(堆栈段和附加段重叠)第14页,课件共18页,创作于2023年2月3.8086存储器的逻辑地址与物理地址物理地址,也称实际地址。8086CPU中的每个存储元在存储体中的位置都可以使用物理地址和逻辑地址来表示。为编程方便,8086存储器采用逻辑地址在程序中使用,它由两部分组成:段基址和偏移量。偏移量又称为有效地址EA,是在段基址上的附加值。假如把一条马路从头到尾编号0~1000,比作物理地址,逻辑地址就好比把这条马路分成几段,若各段的段基址分别为0、100、300、500、800,为了简便,记作0、1、3、5、8,则物理地址的126号,其对应的逻辑地址,就是段基址1左移两位(相当于乘以100)再加上偏移量16;则物理地址的574号,其对应的逻辑地址,就是段基址5左移两位(相当于乘以100)加上偏移量74。第15页,课件共18页,创作于2023年2月4.8086存储器20位物理地址的形成

在存储段划分时,段内地址是连续的,段与段之间是相互独立的。每个段的起始地址称段的基址,段基址必须是能被16整除的那些地址,即20位的段基址的低四位应当是0000。当CPU访问存储器时,根据逻辑地址(由段基址和偏移值构成),在BIU的地址加法器中形成20位的物理地址,其方法是将段址左移四位(相当于乘以16)再加上偏移量。第16页,课件共18页,创作于2023年2月2.2.48086的总线时序时钟周期是时钟脉冲的重复周期,时钟周期又叫T状态,是CPU的时间基准,时序系统中的最小时间单位,由计算机主频决定。指令周期是指从取指令开始,经过分析指令、对操作数寻址,然后执行指令,保存操作结果这个过程。总线周期是在一个指令执行周期中,通过总线进行一次或多次对存储单元或I/O端口读或写的操作。完成一次读/写操作所需要的时间,它又称机器周期。所有指令的第一个机器周期都是“取指”周期。一个指令周期可细分为若干个总线周期,而一个总线周期又有若干个时钟周期组成。第17页,课件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论