第2章 汇编教程精选PPT.ppt

上传人:石*** 文档编号:87543651 上传时间:2023-04-16 格式:PPT 页数:47 大小:2.03MB
返回 下载 相关 举报
第2章 汇编教程精选PPT.ppt_第1页
第1页 / 共47页
第2章 汇编教程精选PPT.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《第2章 汇编教程精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章 汇编教程精选PPT.ppt(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2章汇编教程第1页,此课件共47页哦 2.1 2.1 Inter8086Inter8086微处理器的功能结构微处理器的功能结构 一个典型的微处理器基本结构,一般由算术逻辑单元、寄存器组和指令处理单元等部分组成。1 1算术逻辑部件算术逻辑部件 算术逻辑部件(ALU)由全加器组成。它的主要任务是执行算术运算、逻辑运算及移位等操作。ALU有两个输入端,和两个输出端。其连接形式请见下图。2 2寄存器阵列寄存器阵列寄存器阵列是微处理器的重要组成部分,可以存放数据和地址。寄存器位数一般与微处理器片内总线的宽度是一致的,但也有些寄存器是片内总线宽度的两倍。寄存器的广泛 依据操作数的个数划分,80X86CP

2、U指令系统中的指令格式最常用的有:双操作数指令、单操作数指令和无操作数指令。第2页,此课件共47页哦 返回第3页,此课件共47页哦 2寄存器阵列 寄存器阵列是微处理器的重要组成部分,可以存放数据和地址。寄存器位数一般与微处理器片内总线的宽度是一致的,但也有些寄存器是片内总线宽度的两倍。微处理器内部寄存器的数量与类型视具体的微处理器而定。一般包括通用寄存器、累加器、标志寄存器和专用寄存器(如:程序计数器PC、堆栈指示器SP、变址寄存器、地址寄存器)返回第4页,此课件共47页哦(1)通用寄存器组 通用寄存器可以存放数据和地址。这类寄存器的作用并不做预先规定,故称之为通用寄存器组。(2)累加器 它也

3、是数据寄存器。累加器往往与ALU单元一起完成各种算术或逻辑运算。运算前,作为运算器的一个输入,运算后它常用来保存运算结果。(3)标志寄存器 进行算术运算或逻辑运算时,可能会发生进位、溢出、全零、符号及奇偶性等状态的变化,运算后又往往需要保存这些状态的变化。为此,在微处理器中设置了标志寄存器。常用的状态标志有:进位标志位C、零标志位Z、符号标志位S、奇偶位P、溢出位O和辅助进位位A(或称半进位)等。第5页,此课件共47页哦(4)专用寄存器 程序计数器PC PC它是指令地址寄存器。它的内容指出了现行指令在存储器中的存放地址,当按此地址从存储器中取出现行指令时,PC的内容自动修改为下一条指令的地址。

4、堆栈指示器SP 用于确定在堆栈操作时,堆栈在内存中的具体位置。变址寄存器 用于变址寻址方式,也可做通用寄存器使用。另外,在微处理器内部还有一些程序员不能访问的内部工作寄存器,如指令寄存器、暂存器、地址缓冲器和数据缓冲器等。第6页,此课件共47页哦 3 3指令处理单元指令处理单元 指令处理单元即计算机的控制器,负责对指令进行译码和处理。它一般包括:(1)指令寄存器用来暂存即将被译码处理的指令。(2)指令译码器负责对指令进行译码,通过译码获知该指令属于什么功能的指令。(3)时序和控制逻辑根据指令要求,按一定的时序发出并接收各种信号。4 4指令的执行过程指令的执行过程(1)取指令(2)指令译码(3)

5、取操作数(4)执行指令(5)存放运算结果 返回第7页,此课件共47页哦 2.1.1 执行部件与总线接口部件 2.1.2 Inter8086CPU寄存器的结构 2.1.3 标志寄存器(FR)及其用途 返回第8页,此课件共47页哦1Intel8086微处理器的主要特性 数据线16位。地址线20位,其中低16位与数据总线复用。内存空间20位地址线可直接寻址1MB存储空间。寻址方式7种寻址方式提供了灵活的操作数存取方法。指令系统99条基本指令,能完成数据传送、算术运算、逻辑运算、控制转移和处理器控制功能等。时钟频率8086标准主频为5MHz,8086-2主频为8MHz。中断功能可处理内部软件中断和外部

6、硬件中断,中断源多达256个。工作模式支持单处理器、多处理器系统工作。兼容性与8080、8085在源程序一级兼容。第9页,此课件共47页哦2Intel8086总线接口部件BIU和总线执行部件EU 8086CPU内部从功能上讲由两部份组成:总线接口部件BIU(Bus Interface Unit)和指令执行部件EU(Execution Unit)。(1)总线接口部件BIU 总线接口部件BIU的具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。总线接口单元BIU由20位地址加法器、段寄存器、16位指令指针、指令队列缓冲器和总线控制电路等组成。地址加法器和段寄存器 地址加法器用来

7、产生20位地址,可直接寻址1MB存储物理空间。但是CPU内部的寄存器都是16位的,所以需要由地址加法器来根据16的段寄存器提供的内容(段的起始地址)左移4位后,与16位偏移地址相加,形成一个20位的物理地址,以对存储单元进行寻址。第10页,此课件共47页哦 比如,一条指令的物理地址就是根据代码段寄存器CS和指令指针寄存器IP的内容得到的。假设CS=FE00H,IP=0200H,此时指令的物理地址为FE200H。16位指令指针IP 8086CPU中,IP(1nstructionPoimer)用来存放将要取出的指令在现行代码段中的偏移地址。它只有与CS相结合,才能形成指向指令存放单元的物理地址。指

8、令队列缓冲器 8086 CPU的指令队列为6个字节,在EU执行指令的同时,从内存中取下面一条或几条指令,将取来的指令依次存放在指令队列中。它们按“先进先出”的原则存放,并按顺序取出到EU中执行。总线控制电路 总线控制电路将8086CPU的内部总线和外部总线相连。第11页,此课件共47页哦(2)总线执行部件EU EU的主要任务是完成指令译码和执行指令的操作。EU由算术逻辑运算单元、标志寄存器,数据暂存寄存器、通用寄存器组和EU控制电路等组成。算术逻辑运算单元 算术逻辑运算单元(ALU)是一个16位的运算器,用于二进制算术和逻辑运算,也可计算寻址存储器所需的16位偏移量。标志寄存器 是一个16位的

9、寄存器,用于反映CPU运算的状态特征和存放某些控制标志。数据暂存寄存器 它协助ALU完成运算,暂存参加运算的数据。通用寄存器组 它包括4个16位的数据寄存器AX、BX、CX、DX,2个16位的指针寄存器SP、BP和2个16位的变址寄存器SI、DI。第12页,此课件共47页哦 EUEU控制电路控制电路 它负责从BIU的指令队列缓冲器中取指令,并对指令译码。根据指令要求向EU内部各部件发出控制命令,以完成各条指令规定的功能。EU的具体工作过程是:从BIU指令队列缓冲器中取出指令操作码,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。如果是运算操作,操作数经过暂存器送入ALU,运

10、算结果经过ALU数据总线送到相应的寄存器。同时,标志寄存器FR根据运算结果改变状态。当指令要求访问存储器或l/O设备时,EU向BIU发出请求,由BIU通过8086系统总线访问存储器或IO设备。因为EU中所有的寄存器和数据通道(除队列总线为8位外)均为16位宽度,可以实现数据的快速传送。8086CPU内部结构图如下:第13页,此课件共47页哦第14页,此课件共47页哦 (3)BIUBIU和和EUEU的并行工作的并行工作 8086 CPU中,由于BIU和EU是分开并独立工作的,在EU执行指令的同时,BIU可预取下面一条或几条指令。因此,CPU执行完一条指令后,就可以立即执行存放指令队列中的下一条指

11、令,而不需要像以往的8位CPU那样,重复地进行先取指令、后执行指令的串行操作。这种并行重叠操作的特点提高了总线的信息传输效率和整个系统的执行速度。返回第15页,此课件共47页哦 2.1.2 2.1.2 Inter8086CPUInter8086CPU寄存器的结构寄存器的结构 8086微微处处理理器器内内部部共共有有14个个16位位寄寄存存器器,包包括括:通通用用寄寄存存器器、地址寄存器、段寄存器、指令指针和标志寄存器。地址寄存器、段寄存器、指令指针和标志寄存器。1 1数据寄存器数据寄存器 包包括括AXAX、BXBX、CXCX、DXDX四四个个通通用用寄寄存存器器,它它们们都都可可以以以以字字(

12、16(16位位)的的形形式式访访问问,也也可可以以以以字字节节(8(8位位)的的形形式式访访问问。例如对AX可以分别访问高位字节AH或低位字节AL。这四个寄存器都是通用寄存器,但它们又可以用于各自的专用目的。AX:作为累加器用,它是算术运算的主要寄存器。BX:作通用寄存器使用,它还经常用作基址寄存器。CX:作通用寄存器使用,此外在循环(LOOP)和串处理指令中用作隐含的计数器。DX:作通用寄存器使用。还有一些特殊用途。第16页,此课件共47页哦 2指针及变址寄存器 包包括括SP、BP、SI、DI四个16位寄存器。它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用

13、。此外,在段内寻址时用它们来提供偏移地址。SP:称为堆栈指针寄存器。用来指示栈顶的偏移地址,BP:称为基址指针寄存器。用作堆栈区中的一个基地址以便访问堆栈中的其他信息。SI:源变址寄存器。当与DS联用时,用来确定数据段中某一存储单元的地址,在串处理指令中,SI作为隐含的源变址寄存器,与DS联用达到在数据段寻址的目的。DI:目的变址寄存器。在串处理指令中,DI作为隐含的目的变址寄存器并ES联用在附加段中寻址,其它功能和使用方法与SI基本相同。第17页,此课件共47页哦 3 3段寄存器段寄存器 80868086有四个段寄存器。为了寻址1MB内存,将内存分成若干个逻辑段。每个段长64KB。使用四个段

14、寄存器存放各段的基本地址。BIU中的四个段寄存器分别称为代码段CS(Code Segment)寄存器、数据段DS(Data Segment)寄存器、堆栈段SS(Stack Segment)寄存器和附加段ES(Extra Segment)寄存器。CS段寄存器给出当前代码段的基址。DS段寄存器给出当前数据段的基址。SS段寄存器给出当前堆栈段的基址。ES段寄存器给出当前使用的附加段的基址。4 4控制寄存器控制寄存器 包括IP和FR两个16位寄存器。IP为指令指针寄存器,用来存放代码段中的偏移地址。它与CS寄存器联用确定下一条指令的物理地址。FR寄存器,下一小节将详细介绍。返回第18页,此课件共47页

15、哦 2.1.3 2.1.3 标志寄存器标志寄存器(FR)FR)及其用途及其用途 80868086CPUCPU中有一个16位标志寄存器,由6位条件码标志(flag)和3位控制标志构成,如下所示:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0其中,条件码标志用来记录程序中运行结果的状态信息,控制标志用来控制CPU的工作状态。1 1条件标志条件标志(1)OF(OverflowFlag)溢出标志,溢出时OF=1,否则OF=0。(2)SF(SignFlag)符号标志,结果为负时SF=1,否则SF=0。(3)ZF(ZeroFlag)零标志,结果为0时ZF=1,否则ZF=0。(4

16、)CF(CarryFlag)进位标志,记录运算时从最高有效位产生的 进位或借位值。当最高有效位有进位或借位时CF=1,否则置CF=0。OFDFIFTFSFZFAFPFCF第19页,此课件共47页哦 注:请读者区分好溢出标志OF和进位标志CF,当溢出时,表明运算结果出现了错误。(5)AF(AuxiliarycarryFlag)辅助进位标志,记录运算时第3位(字节运算)或第7位(字运算)产生的进位或借位值。例如,执行加法指令时第3位有进位时AF=1,否则AF=0。(6)PF(ParityFlag)奇偶标志,用来检验机器传送信息时可能产生的代码出错情况。当结果操作数中1的个数为偶数时PF=l,否则P

17、F=0。2控制标志控制标志(1)DF(DirectionFlag)方向标志,当DF位为1时,每次操作后使变址寄存器SI和DI减量.当DF为0时,则使SI和DI增量.(2)IF(InterruptFlag)中断标志,IF为l时,开中断,否则关中断。(3)TF(TrapFlag)陷阱标志,TF=1时,每条指令执行完后产生陷井,TF=0时,CPU正常工作不产生陷开。其中控制标志是系统程序或用户程序根据需要用指令设置的。而状态信息是由中央处理机根据计算结果自动设置的。第20页,此课件共47页哦3标志位举例标志位举例【例2.1】执行以下两数的加法操作,判断各标志位的状态。0010 0011 0100 0

18、101+0011 0010 0001 1001 0101 0101 0101 1110执行以上操作后,各状态标志位的状态应为:CF=0 PF=0 AF=0 ZF=0 ZF=0 OF=0第21页,此课件共47页哦【例2.2】执行加法操作。1010 1011 0000 0000 +1111 1111 1111 1111 1010 1010 1111 1111 执行操作后,各状态标志位的状态应为:CF1 PF1 AF0 ZF=0 SF=1 OF=0【例2.3】执行加法操作。0110 0100 0000 0000 +0110 0100 0000 0000 1100 1000 0000 0000执行以上

19、加法操作后,各状态标志位的状态应为:CF=0 PF=0 AF=0 ZF0 SF=1 OF=1返回第22页,此课件共47页哦2.2 存储器2.2.1 2.2.1 主存储器的组成主存储器的组成2.2.2 80862.2.2 8086存储器的组织存储器的组织返回第23页,此课件共47页哦存储器分类:按所存放的位置分:分为主存储器和辅助存储器。主存储器存放当前正在执行的程序和使用的数据。辅助存储器用来长期保存大量程序和数据。按读写方式分:分为随机存取存储器RAM和只读存储器ROM。RAM存储器在断电后不能保存信息。ROM存储器在断电后仍能保存信息。存储器组成:存储器由存储单元组成,每个存储单元有一个惟

20、一的存储器地址。每个存储单元存放1个字节的数据,1个字节包含了8个二进制位。存储容量是指存储器所具有的存储单元个数,基本单位是字节B。为了表达更大的容量,常用的单位是KB(千字节),MB(兆字节),GB(吉字节),甚至TB(太字节)。换算:1KB=2l10字节=1024字节,1MB=220字节,1GB=230字节,1TB=240字节。返回第24页,此课件共47页哦2.2.2 80862.2.2 8086存储器的组织存储器的组织1存储器单元的地址和内容 地址:每个存储单元规定的编号是地址,存储单 元地址从0开始顺次加1。存储单元的地址 是无符数。n位二进制数共能表示2n个存储 单元的地址,为了书

21、写方 便,存储单元地 址常采用十六进制数表示。内容:一个存储单元中存放的信息称为该存储单 元的内容。地址与内容的关系:见下图第25页,此课件共47页哦第26页,此课件共47页哦字地址:一个字存放到存储器要占用连续的两个字节单元。低字节存放在地址低的字节单元中,高字节存放在地址高的字节的单元中,字单元的地址用低地址表示。例如:34560H的字单元的内容是1234H,而地址为78780H时字单元的内容是3332H。双字:4个连续的字节单元就构成了一个双字单元。例如:地址为34560H的双字单元中存放的内容是78561234H。2物理地址的形成 物理空间:8086CPU地址线是20位的,最大可寻空间

22、是220=1MB,其物理寻址范围是00000HFFFFFH。逻辑段:把1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是16的倍数;二是逻辑段的最大长度为64K。按照这两个条件,1M字节地址空间最多可划分成64K个逻辑段,最少也要划分成16个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。段首址:是指逻辑段在主存中的起始位置。段内偏移地址:是指主存单元距离段首址的偏移量,简称偏移地址,用EA来表示,由于限定每段不超过64KB,所以偏移地址可以用16位数据表示。第27页,此课件共47页哦物理地址形成:物理地址用PA表示,8086内部和用户

23、编程时所采用的“段首址:段内偏移地址”形式,称为逻辑地址。将逻辑地址中的段首址左移4位,加上偏移地址就得到20位物理地址。例如逻辑地址“3850H:200H”表示物理地址38700H。同一个物理地址可以有多个逻辑地址形式。3存储器各段分配举例 【例2.4】各独立段的分配情况示例。设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。如图2.7所示。第28页,此课件共47页哦第29页,此课件共47页哦 【例2.5】各段相互重叠情况示例。设CS=0200H、DS=040

24、0H、SS=0480H,这样代码段、数据段和堆栈段的物理首地址分别为02000H、04000H和04800H。其中代码段占8KB地址空间,数据段占2KB,堆栈段占256B,SP=0100H。由于该程序没有使用附加段,所以没有设置ES值。从该例可以看出,每个段大小应根据实际需要分配,可以重叠。有时,甚至可以将所有4种段都集中在一个逻辑段内,形成一个短小紧凑的程序,其大小不超过64KB。假设使CS=DS=SS=0200H,则代码段将占据该逻辑段为偏移地址0000H一1FFFH的8KB,数据段在偏移地址2000H-27FFH位置,堆栈段指针SP=2900H。如图2.8所示。第30页,此课件共47页哦

25、图2.8 各段重叠存储单元分配图返回第31页,此课件共47页哦 2.3.1 堆栈的构造 2.3.2 80862.3.2 8086堆栈的组织堆栈的组织 2.3.3 2.3.3 堆栈操作堆栈操作返回第32页,此课件共47页哦2.3 2.3 堆栈堆栈(Stack)Stack)2.3.1 2.3.1 堆栈的构造堆栈的构造1 1什么是堆栈什么是堆栈 堆堆栈栈有有两两种种形形式式:一一种种是是硬硬堆堆栈栈,即即用用寄寄存存器器组组来来实实现现的的。另另一一种种是是软软堆堆栈栈,即即用用主主存存的的一一部部分分空空间间作作堆堆栈栈。堆堆栈栈的的运运行行方方式式为为先先进进后后出出或或先先进进先先出出两两种种

26、,先先进进后后出出型型堆堆栈栈的的操操作作数数只只能能从从一一个个口口进进行行读读或或写写。堆堆栈栈主主要要用用于于暂暂存存数数据据以以及在及在“过程过程”调用或处理中断时暂存断点信息。调用或处理中断时暂存断点信息。2 2堆栈的构造堆栈的构造 现现在在通通常常采采用用软软堆堆栈栈,由由程程序序设设计计人人员员用用程程序序在在存存储储器器中中划划出出一一块块存存储储区区作作为为堆堆栈栈。这这个个存存储储区区最最大大地地址址的的字字存存储储单单元元为为堆堆栈栈底底部部,叫叫栈栈底底(Bottom)Bottom)。在在堆堆栈栈中中存存放放的的数数据据或或断断点点信信息息从从这这里里开开始始,逐逐渐渐

27、向向地地址址小小的的方方向向“堆堆积积”。在在任任何何时时刻刻,存存放放最最后后一一个个信信息息的的存存储储单单元元(即即已已存存放放信信息息的的最最小小地地址址单单元元)为为堆堆栈栈顶顶部部,叫叫栈栈顶顶(TOP)TOP)。栈顶是随着存放信息的多少而变的栈顶是随着存放信息的多少而变的 由由于于堆堆栈栈顶顶部部是是浮浮动动的的,为为了了指指示示现现在在堆堆栈栈中中存存放放数数据据的的位位置置,通通常常设设置一个指针置一个指针堆栈指针堆栈指针SP(Stack Pointer)SP(Stack Pointer),它始终指向堆栈的顶部。它始终指向堆栈的顶部。第33页,此课件共47页哦2.3.2 80

28、862.3.2 8086堆栈的组织堆栈的组织 栈底为堆栈空间的高地址单元,栈顶为低地址单元。数据进栈后,栈顶向低地址方向浮动;数据出栈后,栈顶向高地址方向调整。一个16位的数据进栈的规律是:高位字节存入高地址单元,低位字节存入低地址单元。一个16位数据出栈规律是:低位字节弹到目标操作数低位,高位字节弹到目标操作数据高位。为了指示栈顶的当前位置,用SP存放栈顶的有效地址。堆栈是按字组织的,即每次在堆栈中存取数据均是两个字节,数据在堆栈中存放的格式是:第34页,此课件共47页哦2.3.3 2.3.3 堆栈操作堆栈操作 1 1设置堆栈设置堆栈堆栈的设置主要是对堆栈段寄存器SS和堆栈指针SP的赋值。在

29、用户源程序中通常安排一个段为堆栈段。如:SEGMENT PARA STACK ;说明本段为堆栈段 DW 100 DUP(0)ENDS2 2进栈进栈 进栈(PUSH)就是把数据压人堆栈。压入堆栈的数据可以是段寄存器内容,也可以是通用寄存器或内存操作数等。进栈操作如下程序段所示。例如:PUSH AX PUSH DS PUSH DATA_WORD PUSHF ;把标志寄存器内容压人堆栈 第35页,此课件共47页哦3 3出栈出栈 出栈(POP)就是从堆栈顶部弹出一个字送回通用寄存器、段寄存器或者字存储单元,如下程序段所示。例如:POP AX POP DX POP DATA_WORD POPF ;从堆栈

30、弹出的内容送回标志寄存器 返回第36页,此课件共47页哦 2.4 2.4 Inter80486Inter80486和和PentiumPentium微处理器微处理器 的结构及存储管理的结构及存储管理 2.4.1 2.4.1 8048680486和和PentiumPentium微处理器的结构微处理器的结构 2.4.2 2.4.2 8048680486和和PentiumPentium微处理器寄存器结构微处理器寄存器结构 2.4.3 2.4.3 8048680486和和PentiumPentium存储管理存储管理 返回第37页,此课件共47页哦2.4.1 804862.4.1 80486和和Penti

31、umPentium微处理器的结构微处理器的结构 1 18048680486微处理器微处理器 80486 80486由由7 7大部分组成,它们是总线接口部分、指令预取部分、译大部分组成,它们是总线接口部分、指令预取部分、译码部分、控制部分、运算部分、存储管理部分和高速缓冲存储器,码部分、控制部分、运算部分、存储管理部分和高速缓冲存储器,8048680486的的存存储储空空间间高高达达246246字字节节,并并具具有有多多种种寄寄存存器器和和丰丰富富的的数据类型。数据类型。运运算算部部分分:包包含含定定点点运运算算部部件件和和浮浮点点运运算算部部件件。进进行行定定点点运运算算时时需需要要算算术术逻

32、逻辑辑运运算算单单元元(ALU)ALU)、移移位位器器和和寄寄存存器器组组;进进行行浮浮点点运运算算时时需需要浮点运算单元要浮点运算单元(FPU)FPU)和浮点寄存器组和浮点寄存器组。存存储储管管理理部部分分:是是为为实实现现虚虚拟拟存存储储器器而而设设置置的的,它它由由分分段段部部件件和和分分页页部部件件两两部部分分组组成成。分分段段部部件件管管理理逻逻辑辑地地址址空空间间,并并把把逻逻辑辑地地址址转转换换为为线线性性地地址址;分分页页部部件件把把线线性性地地址址转转换换为物理地址。为物理地址。第38页,此课件共47页哦图2.11 80486微处理品基本结构示意图第39页,此课件共47页哦高

33、速缓冲存储器:为了提高计算机的运算速度,高速缓冲存储器:为了提高计算机的运算速度,8048680486在内部还集成了一个在内部还集成了一个8 8K K字节的高速缓冲存储器字节的高速缓冲存储器(cache)cache),cachecache用来存放最近运行的程序所需要的用来存放最近运行的程序所需要的指令代码和数据。指令预取部件中包含了两个指令代码和数据。指令预取部件中包含了两个1616字节的队列寄存器。字节的队列寄存器。控控制制部部分分:由由控控制制与与保保护护部部件件和和控控制制ROMROM组组成成。控控制制部部分分根根据据指指令令译译码码器器送送来来的的信信息息产产生生微微指指令令,并并通通

34、过过微微指指令令对对运运算算部部分分、存存储储管管理理部部分分及及指令译码器发出控制信号。指令译码器发出控制信号。总总线线接接口口部部分分:功功能能是是产产生生访访问问微微处处理理器器以以外外的的存存储储器器和和输输入入输输出出接接口口所需要的地址、数据和命令所需要的地址、数据和命令。微微处处理理器器与与外外部部的的信信息息交交换换是是通通过过总总线线接接口口部部分分的的数数据据总总线线收收发发器器进进行行的的。在在微微处处理理器器内内部部有有两两组组方方向向不不同同的的3232位位数数据据线线,当当外外部部信信息息输输入入时时,可可通通过过一一组组数数据据线线把把信信息息送送往往cachec

35、ache和和指指令令预预取取队队列列;当当向向外外送送出出信信息息时时,是是通通过过数数据据收收发发器器中中的的写写缓缓冲冲器器进进行行的的。这这样样可可缓缓解解高高速速运运行行的的CPUCPU与与以以较较低低速速度度运运行行的的存存储储器器、输入输出接口之间的矛盾,且可实现并行处理。输入输出接口之间的矛盾,且可实现并行处理。第40页,此课件共47页哦2 2PentiumPentium微处理器微处理器(1)Pentium采用的先进技术 CISC技术和RISC技术 复杂指令集计算机技术(CISC)和简化指令集计算机技术(RISC)是两种不同的CPU设计技术,Intel公司在Pentium之前的C

36、PU均属于CISC体系,从Pentium开始,将CISC和RISC结合,取两者之长,实现更高的性能。采用CISC技术的CPU有如下特点:(a)指令系统中包含很多指令。(b)访问内存时采用多种寻址方式。(c)采用微程序机制,使微处理器控制ROM中存放了众多微程序。采用RISC技术的CPU有如下特点:(a)指令系统只含简单而常用的指令,指令长度较短,并且长度相同。(b)采用流水线机制来执行指令,该机制是一种指令级并行处理方式,在同样的时间段中比非流水线机制下执行更多的指令。(c)大多数指令利用内部寄存器来执行,从而使内存的管理简化。Pentium的大多数指令是简化指令,但仍然保留了一部分复杂指令,

37、而对这部分指令采用硬件来实现。所以,Pentium吸取了两者之长。第41页,此课件共47页哦 超标量流水线技术 所谓超标量,就是一个处理器中有多条指令流水线。在Pentium中,采用U和V两条流水线,每条流水线均含有独立的ALU地址生成电路和连接数据Cache的接口。超标量流水线机制使Pentium能够在一个时钟周期执行两条整数运算指令,比相同频率的前一代CPU实际速度提高一倍。超标量流水线技术是和RISC技术密不可分的。Pentium内 部 还 含 有 一 个 增 强 型 浮 点 运 算 器 floating processor unit,FPU),在FPU中,采用快速硬件来实现浮点加、乘、

38、除运算,使其浮点运算速度比前一代CPU快三倍以上。分支预测技术 在转移指令执行前,能够预测转移是否发生,从而确定此后执行哪一段程序。Pentium用分支目标缓冲器(branch target buffer,BTB)来执行预测功能,它含有一个1KB容量的Cache,其中可以容纳256条转移指令的目标地址和历史状态。第42页,此课件共47页哦 在程序运行中,在程序运行中,BTBBTB采用动态预测方法,当一条指令造成分支时,采用动态预测方法,当一条指令造成分支时,BTBBTB检测这检测这条指令以前的执行状态,并用此状态信息预测当前的分支目标地址,条指令以前的执行状态,并用此状态信息预测当前的分支目标

39、地址,然后,预取此处的指令。当然后,预取此处的指令。当BTBBTB判断正确时,分支程序会如同分支未发生判断正确时,分支程序会如同分支未发生一样,维持流水线的照常运行,当一样,维持流水线的照常运行,当BTBBTB判断错误时,则修改历史记录并重新取指判断错误时,则修改历史记录并重新取指令、译码令、译码即重新建立流水线。但总的说,有了即重新建立流水线。但总的说,有了BTBBTB仍然明显提高了效率。仍然明显提高了效率。(2 2)PentiumPentium微处理器结构微处理器结构 Pentium Pentium微处理器主要由微处理器主要由1010大部分组成,它们是:总线接口部件、大部分组成,它们是:总

40、线接口部件、U U流水线流水线和和V V流水线、指令流水线、指令CacheCache、数据数据CacheCache、指令预取部件、指令译码器、浮点处指令预取部件、指令译码器、浮点处理部件理部件FPUFPU、分支目标缓冲器分支目标缓冲器BTBBTB、控制控制ROMROM、寄存器组。寄存器组。总总线线接接口口部部件件:实实现现CPUCPU与与系系统统总总线线的的连连接接,其其中中包包括括6464位位数数据据线线、3232位地址线和众多控制信号线。位地址线和众多控制信号线。U U流流水水线线和和V V流流水水线线:两两者者独独立立运运行行,这这两两条条流流水水线线中中均均有有独独立立的的ALUALU

41、,U U流流水水线线可可执执行行所所有有整整数数运运算算指指令令,V V流流水水线线只只能能执执行行简简单单的的整整数数运运算算指指令令和和数数据据交交换指令。换指令。第43页,此课件共47页哦指令Cache、数据Cache:两者分开,从而减少了指令预取和数据操作之间可能发生的冲突,并可提高命中率。两个Cache分别配置了专用的转换检测缓冲器,用来将线性地址转换为Cache的物理地址。指令预取部件:指令预取部件每次取两条指令,如果是简单指令,并且后一条指令不依赖于前一条指令的执行结果,那么,指令预取部件便将两条指令分别送到U流水线和V流水线独立执行。指令译码器:指令Cache、指令预取部件将原

42、始指令送到指令译码器,分支目标缓冲器则在遇到分支转移指令时用来预测转移是否发生。浮点处理部件FPU主要用于浮点运算,内含专用的加法器、乘法器和除法器。控制ROM中,含有Pentium的微代码,控制部件则直接控制流水线。返回第44页,此课件共47页哦2.4.2 804862.4.2 80486和和PentiumPentium微处理器寄存器结构微处理器寄存器结构 80486 80486和和PentiumPentium微处理器中的寄存器可以分为微处理器中的寄存器可以分为4 4类,它们是基本结构类,它们是基本结构寄存器、系统级寄存器、浮点寄存器和调试测试寄存器。应用程序只能访寄存器、系统级寄存器、浮点

43、寄存器和调试测试寄存器。应用程序只能访问基本结构寄存器和浮点寄存器;而系统程序可访问所有的寄存器。问基本结构寄存器和浮点寄存器;而系统程序可访问所有的寄存器。1 1基本结构寄存器基本结构寄存器 (1 1)通用寄存器)通用寄存器 8 8个个3232位位的的通通用用寄寄存存器器,这这些些寄寄存存器器都都可可以以存存放放数数据据或或地地址址,并并能能进进行行3232位、位、1616位、位、8 8位和位和1 1位的运算。位的运算。(2 2)段寄存器)段寄存器 微微处处理理器器内内部部有有6 6个个1616位位的的段段寄寄存存器器,它它们们直直接接或或间间接接地地指指出出指指令令代代码码和和数数据据所所

44、用用的的地地址址空空间间。这这6 6个个段段寄寄存存器器是是代代码码段段寄寄存存器器CSCS、堆堆栈栈段段寄存器寄存器SSSS,数据段寄存器数据段寄存器DSDS,ESES,FSFS和和GSGS。(3 3)指令指针)指令指针 它它是是3232位位的的寄寄存存器器,称称作作EIPEIP。EIPEIP中中存存放放相相对对于于代代码码段段寄寄存存器器的的基基值值的偏移量。的偏移量。第45页,此课件共47页哦(4)标志寄存器 它是32位的寄存器,称作EFLAGS。EFLAGS中的位可分为标志位和控制位两类,标志位指明程序运行时的微处理器的实时状态;控制位由程序设计者设置,以控制80486和Pentium

45、进行某种操作。2系统级寄存器 包含4个控制寄存器和4个系统地址寄存器,它们控制着80486和Pentium微处理器的片内cache、运算部分的浮点部件以及存储管理部分。这些寄存器只在系统程序中才能使用。3调试与测试寄存器 80486微处理器有8个调试寄存器,这就对程序的调试提供了硬件上的支持。80486微处理器还包含5个测试寄存器,用于测试自身的片内cache和转换用旁视缓冲区TLB,但Pentium取消了测试寄存器,用一组模式专用寄存器来实现更多功能。返回第46页,此课件共47页哦2.4.3 80486和Pentium存储管理 1存储地址空间 80486微处理器有3个明确的存储地址空间,它们是虚拟空间、线性空间和物理空间。虚拟空间又称为逻辑空间,是应用程序员编写程序的空间 物理空间也称为主存空间,是计算机中主存储器的实际空间,相应的地址称作物理地址或主存地址。80486微处理器通过分段部件把虚拟空间变换为32位的线性空间。如果分页部件未被选用,线性地址就是物理地址2输入输出(IO)地址空间486有两个独立的物理空间,一个是存储空间,另一个是IO空间。80486微处理器的IO空间由216(64K)个地址组成。它与存储地址不重叠,这是因为80486微处理器芯片的MIO引脚把它们从逻辑上给区分开来了。返回第47页,此课件共47页哦

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

当前位置:首页 > 生活休闲 > 资格考试

本站为文档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