chap02_Intel 8086系统结构

上传人:lx****y 文档编号:243017393 上传时间:2024-09-13 格式:PPT 页数:40 大小:273KB
返回 下载 相关 举报
chap02_Intel 8086系统结构_第1页
第1页 / 共40页
chap02_Intel 8086系统结构_第2页
第2页 / 共40页
chap02_Intel 8086系统结构_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,*,-,*,-,第,2,章,Intel 8086,系统结构,2.1 8086,的功能结构,2.2,8086微处理器的执行环境(系统结构),2.1 Intel 8086 的功能结构,8086CPU从功能上来说分成两大部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。,BIU的功能是负责与存储器、I/O端口之间进行信息传送。,EU部分负责指令的执行。,2024/9/13,2,8086的功能结构示意图,1 2 3 4 5 6,内部寄存器,IP,ES,SS,DS,CS,输入,/,输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用寄存器,地址加法器,指令队列,执行单元 (,EU,),总线接口单元 (,BIU,),16,位,20,位,16,位,2024/9/13,3,总线接口单元,BIU,段寄存器、指令指针,IP、,地址加法器和总线控制逻辑、,指令队列,管理与系统总线的接口,负责对存储器和外设访问,执行单元,ALU,、通用寄存器(数据、指针寄存器,)、,标志寄存器和控制逻辑电路,负责指令译码、数据运算和指令执行,2024/9/13,4,指令执行的两个主要阶段:取指和执行,分别由,BIU,和,EU,来进行,取指和执行可以并行重叠。,在一条指令的执行过程中(,EU),(BIU),就可以取出下一条(或多条,),指令,在指令流队列中排队,一条指令执行完,就可以立即执行队列中的下一条指令,减少了,CPU,因取指而需等待的时间。提高了运行速度。,2024/9/13,5,指令预取(Prefetch),8086处理器维护着长度为6个字节的指令队列。,BIU,和,EU,两个单元相互独立,可以并行操作。,实现了,指令流水线技术,节省许多取指时间,提高了工作效率,降低了与之相配的存储器的存取速度的要求。,程序转移时,预取的指令可能作废。,2024/9/13,6,流水线技术与指令队列,取指与执行在同时进行,时间,BIU,EU,2024/9/13,7,2.2 8086微处理器的结构,2.2.1 8086的寄存器*,寄存器就是暂时存放数据、地址的地方;对应用人员(程序员)来说,寄存器是重要的可操作的、可利用的资源。,8,个,16,位通用寄存器,AX,,,BX,,,CX,,,DX,,,SI,,,DI,,,BP,,,SP,其中,AX,BX,CX,DX,又可作为8个,8,位通用寄存器,AH,,,AL,,,BH,,,BL,,,CH,,,CL,,,DH,,,DL,4,个,16,位段寄存器,CS,,,DS,,,SS,,,ES,1,个,16,位指令指针,IP,1,个,16,位标志寄存器,PSW/FLAGS,共14个基本的程序执行寄存器(,Register),2024/9/13,8,寄存器的名称,AX,:累加器,(Accumulator),BX,:基址寄存器,(Base),CX,:计数器,(Counter),DX,:数据寄存器,(Data),SI,:源变址寄存器,(Source Index),DI,:目的变址寄存器,(Destination Index),BP,:基址指针,(Base Pointer),SP,:堆栈指针,(Stack Pointer),2024/9/13,9,14个基本程序执行寄存器,AH,AL,BH,BL,CH,CL,DH,DL,SP,BP,SI,DI,IP,FLAGS,CS,DS,SS,ES,AX,BX,CX,DX,累加器,基址,计数,数据,数据寄存器,0,15,0,7,8,15,0,15,0,15,附加数据段,堆栈段,数据段,代码段,段寄存器,指令指针,标志,堆栈指针,基址指针,源变址,目的变址,指针寄存器,变址寄存器,通,用,寄,存,器,2024/9/13,10,1、通用寄存器,(1)数据寄存器,AX、BX、CX、DX,暂存计算过程中所用到的操作数、结果或其它信息。(高级语言中的变量),可以字(16位)的形式访问,也可以字节(8位)的形式访问。,AX-,高位字节,AH,,低位字节,AL,2024/9/13,11,(a) 通用寄存器-数据寄存器,AX(Accumulator),作为累加器。,作为累加器,是算术、逻辑运算的主要寄存器。另外,所有,I/O,指令都使用这一寄存器与外部设备传送信息。,ADD AX, 0100H,IN AL, 20H,OUT 30H , AX,BX(Base),基址寄存器,可作为通用寄存器,此外在计算存储器地址时,经常作为基址寄存器,MOV AX, BX+03H,C,语言,int array10; array0,array3,2024/9/13,12,数据寄存器(续),CXCounter,计数寄存器,可以作通用寄存器使用,此外,循环,LOOP,指令和串处理指令中用作隐含计数器,。,例:,MOV CX , 200H,AGAIN: ,LOOP AGAIN ;(CX)-1(CX),结果不等于0转,AGAIN,高级语言,for (i=0x200; i0;i- -) ,;,2024/9/13,13,数据寄存器(续),DXData,寄存器,可以作为通用寄存器使用。此外,,(1)在做双字节运算时,把,DX,AX,组合在一起存放一个双字长(32位)数,,DX,用来存放高16位;,(2)对某些,I/O,操作,DX,可用来存放,I/O,的端口地址。,例:,MUL BX ; (AX)*(BX)-(DX)(AX),例:,IN AL , DX,在高级语言中可以任意设置变量,在汇编语言中要考虑可利用的特定资源。,2024/9/13,14,(b) 通用寄存器-指针与变址寄存器,SP,BP,SI,DI-,可以象数据寄存器一样在运算过程中存放操作数,但只能以16位为单位使用。此外,更经常的用途是提供,偏移地址?,。,SP (Stack Pointer) ,堆栈指针寄存器,BP(base pointer),基址指针寄存器,与,SS,寄存器联合使用来确定堆栈段中某一存储器单元地址。,SP -,确定栈顶的实际地址;,BP,可用为堆栈段的一个基地址,访问堆栈段中的其他信息。,2024/9/13,15,堆栈,堆栈是按照后进先出,LIFO(Last In First Out),或,FILO,工作的一段存储单元。(前面的指令队列是先进先出,FIFO,的。),操作,PUSH POP,(,BP)=0061H,设: (,SS)=3F00H,(SP)=0060H,(BP)=0061H,堆栈和指针如图:,2024/9/13,16,变址寄存器,SI,DI,SISource Index Register,源变址寄存器,DIDestination Index,目的变址寄存器,一般与,DS,联用,用来确定数据段中某一存储单元的地址,,SI , DI,具有自动增量和自动减量功能,所以用于变址寻址是方便的。在串处理指令中,,SI,和,DI,作为隐含的源变址和目的变址寄存器,此时,SI,与,DS,联用,,DI,和,ES,联用,分别在数据段和附加段中寻址。,C,字符串拷贝:,strcpy(Source ,dest );,两个指针,2024/9/13,17,2 段寄存器,段寄存器: 4个16位段寄存器,CS、DS、SS、ES。,CSCode Segment Register,代码段寄存器,用来指示当前代码段(程序放在代码段)。,DSData Segment Register,数据段寄存器,用来指示当前数据段。,SSStack Segment Register,堆栈段寄存器,,用来指示当前堆栈段。,ESExtra Segment Register,附加段寄存器,,用来指示当前附加段。,段寄存器作用在下面存储器分段中详述,2024/9/13,18,3、,控制寄存器,IP,PSW,IPInstruction Pointer,指令指针寄存器,用来存储代码段中的偏移地址;,类似于前面提到的程序计数器,PC,,略有区别,,PC,指向下一条,要执行的指令,,而,IP,是指向下一次要,取出的指令偏移地址,(流水线技术)。,IP,与,CS,寄存器相结合确定下一条指令的物理地址,计算机用,IP,寄存器来控制指令的执行流程。,2024/9/13,19,PSW,程序状态字,PSW(Program/Processor Status Word),标志寄存器,FLAGS, 16,位寄存器,只用了其中9位,6位状态标志,CF、PF、AF、ZF、SF、OF,1位控制标志,DF,2位系统标志,IF,TF,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,2024/9/13,20,(1)状态标志,用来记录指令执行结果的辅助信息(进/借位,零,奇偶,正负,溢出等,),主要是加减运算和逻辑运算指令影响标志位,其他有些指令的执行也会相应地设置(影响)它们。,处理器主要使用其中,5,个构成各种条件,分支指令判断这些条件,实现程序分支,OF,11,DF,10,IF,9,TF,8,SF,7,ZF,6,0,5,AF,4,0,3,PF,2,1,1,CF,0,2024/9/13,21,(1) 状态标志(续),1.进位标志,CF(Carry Flag),2.,零标志,ZF(Zero,Flag,),3.,符号标志,SF(Sign Flag),有符号数,4.奇偶标志,PF(Parity Flag),5.,辅助进位标志,AF(,Auxiliary,Carry Flag),6.溢出标志,OF(Overflow Flag),2024/9/13,22,溢出标志,OF,有符号数的运算结果超出表示范围,即在字节运算(8位)时,运算结果大于127或小于128,字运算时(16位) ,大于32767或小于32768时,,OF=1,否则,OF=0,溢出的判断:,双高位判断法,:符号位的进位;,:字长次最高位(数值部分最高位),两个同号数相加,或异号数相减,产生溢出。,2024/9/13,23,溢出标志OF(续),两个负数相加,和应为负数,但结果符号为正,出错, -225 S2: ABCD- -ABCD,2024/9/13,28,(3)系统标志,1.中断允许标志,IF,(Interruptenable flag),若置,I1(STI),则允许,CPU,接受外部的可屏蔽中断请求。否则,I=0(CLI),屏蔽中断请求。,2. 追踪标志,TF(Trace flag),若,T=1,CPU,进入单步方式,即在每条指令执行后,产生一个内部中断,以便于调试。当,T=0,CPU,正常工作。,2024/9/13,29,状态标志是,CPU,根据计数结果自动设置的,可根据这些指令建立标志位,如:如何判断,a84,到了2000年,00成了1900年,为解决2000年问题,付出了代价。,二代身份证问题,也是如此,前6位表示地区号(省市区),出生年月日,4,+2+2=8位,3位编号,最后一位是校验位(由一个算法生成)共18位。,2024/9/13,39,本章结束!,2024/9/13,40,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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