




已阅读5页,还剩211页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术,湖南中医药大学王志辉,2,第二章16位和32位微处理器,3,本章重点:8086的编程结构;Pentium的工作方式;Pentium的原理结构、寄存器组和描述符;Pentium的中断机制和中断描述符表;Pentium的段页两级保护机制。,4,2.1计算机的编程结构示意图,对寄存器和存储中的数据进行逻辑和算术运算等处理,形成存储单元或者I/O端口地址,三种总线,其中数据可以是数值或地址,命令或者状态,5,通用寄存器段寄存器指令指针和标志寄存器,16/32位微处理器的基本寄存器,6,通用寄存器,注:图中的深色部分表明,只有32位的80386、80486,Pentium微处理器才配备有、且可以用这些32位的寄存器。,7,注:图中的深色部分表明,只有32位的80386、80486,Pentium微处理器才配备有、且可以用这些32位的寄存器。,8,通用寄存器,顾名思义通用性很强,可以存放逻辑操作和算术运算用的操作数和地址。8个通用寄存器用户可以随意使用。除堆栈指针寄存器SP/ESP不能作为变址寄存器使用外,其余七个通用寄存器在进行地址计算时都可用来存放参与运算的操作数。通用寄存器:AX,BX,CX,DX为数据寄存器,一、通用寄存器,9,AX称为累加器(Accumulator)使用频度最高,用于算术、逻辑运算以及与外设传送信息等。BX称为基址寄存器(BaseaddressRegister)常用做存放地址的偏移地址,在间接寻址中用于存放基地址CX称为计数器(Counter)作为循环和串操作等指令中的计数器,存放循环次数或重复次数DX称为数据寄存器(Dataregister)常用来存放双字长数据的高16位,或在间接寻址的I/O指令中存放I/O端口地址。,10,当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用来存放参与运算的操作数或运算结果,11,参与地址运算的主要是指针与变址寄存器组中的4个寄存器SP/BP/SI/DI,一般用来存放地址的偏移量。SP/ESP堆栈指针寄存器:用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。因此要与堆栈段寄存器SS配合使用,以指向栈顶的存储单元。BP/EBP基址指针寄存器:指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。也可以存放堆栈顶部地址的偏移量,此时的默认段为堆栈段SS。,二、指针与变址寄存器,12,指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器(StackPointer),指示堆栈段栈顶的位置(偏移地址)BP为基址指针寄存器(BasePointer),表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址,堆栈(Stack)是两种数据结构,是主存中一个特殊的区域,采用“先进后出”或“后进先出”存取操作方式、而不是随机存取方式。用8088/8086形成的微机系统中,堆栈区域被称为堆栈段,指针寄存器,13,BX与BP在应用上的异同作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段DS;BP则通常用于寻址堆栈段SS。BX基址寄存器一般与DS或ES搭配使用。,14,16位变址寄存器SI和DI常用于为存储器间接寻址或变址寻址方式时提供地址SI是源地址寄存器(SourceIndex):指向源数据所在单元;DI是目的地址寄存器(DestinationIndex):可与SI/ESI配合使用,指向目的数据所在单元;在串操作类指令中,SI、DI还有较特殊的用法:用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址,变址寄存器,15,段寄存器,由于内存单元数量庞大,大大超出16位地址所能表达的范围,所以16位微处理器用2个寄存器共同描述内存单元的地址。存放高位地址的寄存器叫段寄存器(SegementRegister),低16位地址称为偏移量,放在通用寄存器,如基址寄存器BX。微处理器中有4个基本的段寄存器,用于把内存空间分成不同的段。,16,代码段CS(codesegment):用于存放当前正在运行的程序。存放当前执行程序所在段的段地址,将其内容左移4位再加上IP指针的内容即为下一条执行指令的地址。数据段DS(datasegment):用于存放程序中用到的数据(如数值、字符、地址)。存放当前数据段的段地址,将其内容左移4为再加上计算所得的偏移地址即为对数据段指定单元进行读/写的地址。堆栈段SS(stacksegment):是内存中开辟的专用存储区,用来暂时保存寄存器中的数据。存放当前堆栈段的段地址,将其内容左移4位再加上SP的内容即为栈顶地址。附加段ES(extrasegment):是附加的数据,在串操作指令中用于存放目的操作数。32位微处理器:增加了FS和GS两个附加段寄存器,均用于指出附加的数据段。,段寄存器,17,说明如下:在各种类型的存储器访问中,其段地址要么由“默认”的段寄存器提供,要么由“指定”的段寄存器提供;段寄存器DS、ES和SS的内容是用传送指令送入的,但任何传送指令不能向段寄存器CS送数;表中“段内偏移地址”一栏指明,除了有两种类型访问存贮器是“依寻址方式求得有效地址”外,其它都指明使用一个16位的指针寄存器或变址寄存器。,18,段寄存器的使用,源变址寄存器、目的变址寄存器。基址寄存器,指针寄存器,堆栈指针寄存器、基址指针寄存器,W2-1,20,1、若X1011011,Y1011011,分别求X、Y的原码、反码和补码?,(1)X原码=X反码=X补码01011011(2)Y原码11011011;Y反码10100100;Y补码10100101,21,原码正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。反码对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。,22,2、请说出计算机中三种总线及各自功能?,23,三种总线功能,1.数据总线:数据总线是CPU与存储器、CPU与I/O接口设备之间传送各种指令数据信息的总线,这些信号通过数据总线往返,因此,数据总线上的信息是双向传输的。2.地址总线:地址总线上传送的是CPU向存储器、I/O接口设备发出的地址信息,寻址能力是CPU特有的功能,地址信息仅由CPU发出,因此,地址总线上的信息是单向传输的。3.控制总线:控制总线传送的是各种控制信号,有CPU至存储器、I/O接口设备的控制信号,有I/O接口送向CPU的应答信号、请求信号,因此,控制总线是上的信息是双向传输的。,3、请画出Pentium处理器的寄存器及名称(通用寄存器、段寄存器、指令指针和标志寄存器),24,25,扩充:Pentium段寄存器,Pentium器配备有6个16位的段寄存器,他们分别是:代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加数据段寄存器ES、附加数据段寄存器FS、附加数据段寄存器GS。这6个段寄存器与80386的6个段寄存器同宗、同名、同功能。段寄存器的另一种称呼叫段选择符,也有的称其为段选择子。,26,4、说出微处理器中寄存器的使用规则?,27,EIP/IP指令指针寄存器:用于存放指令所在单元地址的偏移量,与代码段寄存器CS配合使用,以便得到指令所在单元地址。IP地址是不断变化的,直到程序运行结束。EFR/FR(EFLAGS/FLAGS)标志寄存器:16位只用了其中9位,用于存放系统的状态标志和控制标志。状态标志:是CPU在执行指令的过程中产生的。有的指令影响状态标志,有的不影响,还有的指令与当前状态标志有关。标志寄存器中有6个最常用,每个占1位。分别介绍如下:1)符号标志SF(signflag)2)零标志ZF(zeroflag)3)奇偶标志PF(parityflag)4)进位标志CF(carryflag)5)辅助进位标志AF(auxiliaryflag)6)溢出标志OF(overflowflag),指令指针寄存器和标志寄存器,28,控制标志1)方向标志DF(directionflag)2)中断允许标志IF(interruptenableflag)3)跟踪标志TF(trapflag),29,状态标志位(续),1.进位标志CF(CarryFlag)加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。2.奇偶标志PF(ParityFlag)若运算结果低8位中“1”的个数为偶数,则PF1;否则PF0。,30,状态标志位(续),3.辅助进位标志AF(AuxiliarycarrryFlag)也称“半进位标志”。加法时,第3位向第4位有进位。减法时,第3位向第4位有借位。4.零标志ZF(ZeroFlag)若运算结果为0,则ZF1;否则ZF0。,31,状态标志位(续),5.符号标志(SignFlag)它和运算结果的最高位相同。最高位为1,则为1,最高位为0,则为0。6.溢出标志OF(OverflowFlag)若运算过程中发生了“溢出”,则OF1,否则OF=0。,32,小结,33,001000110100010100110010000110010101010101011110求运算后的各个标志位:SF/ZF/PF/CF/AF/OF,000000,举例:,34,标志寄存器:控制标志位(3位),控制标志位用于控制微处理器的操作和系统所处的工作方式,通常由指令设置。每一位控制标志都对一种特定的功能起控制作用。可以通过专门的指令对其进行“置位”(Set)或“复位”(Reset)。控制标志中最常用的有方向标志DF、中断允许标志IF和跟踪标志TF。,35,控制标志位(续),1.中断允许标志IF(InterruptEnableFlag)如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。STI使IF置“1”,即开放中断。CLI使IF清“0”,即关闭中断。,36,控制标志位(续),2.方向标志DF(DirectionFlag)用于串操作指令中的源变址寄存器SI和目的变址寄存器DI的自动调整方向。若DF0则SI/DI地址增量修改,若DF1是减量修改。STD使DF1。CLD使DF0。3.跟踪标志TF(TrapFlag)也叫陷阱标志没有专用的指令使其置1或者置0,但是可通过标志传送指令来实现。若TF1,则CPU按跟踪方式(单步方式)执行程序,若TF0,否则将正常执行程序。单步方式:每执行一个指令便产生一个中断,常用于程序的调试,以跟踪程序的运行过程。,37,存储器,随着微处理器的不断升级,存储器的容量越来越大,找到某个特定的存储单元即存储器寻址越来越复杂。但是这个工作必须坚定不移的完成!,32位微处理器有三种工作方式:实地址方式虚拟地址方式(保护方式)虚拟8086方式,38,实地址模式是16位微处理器采用的方式。32微处理器位向下兼容。逻辑地址是程序员编写程序时使用的地址。实地址模式下存储单元地址为20位,可寻地址范围220=1M。16位微处理器的寄存器只有16位,不能容纳20位地址,于是采用2个寄存器共同组成20位地址。物理地址仍然是由段地址左移4位+偏移地址来生成。段地址放在段寄存器中,存储单元地址与段基址之差称为偏移量或者有效地址EA。EA也用16位表示,因此段的最大长度为216=64K字节。,1、实地址模式(RealAddressMode)(P35),39,实地址方式,1)逻辑地址:16位的段码和16位的偏移量组合在一起称为逻辑地址,表示方式如下:段码:偏移量2)物理地址:物理地址段首地址偏移量24段码偏移量,40,实地址下物理地址的计算:,16位段码左移4为,最低4位补0,成为20位段基址,41,计算物理地址的具体例子:数据89H放在数据段某存储单元,段码放在DS,存储单元地址与段首地址的偏移量放在BX,DS=5432H,BX=1235H。,42,?思考题,已知物理地址为FFFF0H,且段内偏移量为A000H,若对应的段地址放在DS中,则DS应为。A.F5FF0HB.F5FFHC.5FFF0HD.5FFFH,答案:B,43,虚拟地址方式(保护模式ProtectedVirtualAddressMode),是最常用的方式,适用于多任务环境,在这种方式下,80386才能发挥它自身的强大功能,所以也称本性方式。它的特点是:通过逻辑(虚拟)线性物理地址的寻找方式来实现存储器的管理,由于逻辑地址很大,既能实现大程序的运行,又可以方便地实现多任务的分配和管理。能实现16位或32位的运算。在保护方式下,可以转入到虚拟8086的方式运行。,44,1.虚地址方式下从逻辑地址到线性地址,逻辑地址指的是机器语言指令中,用来指定一个操作数或是一条指令的地址。虚地址方式下,逻辑地址是由一个段选择码加上一个指定段内相对地址的偏移量,表示为段选择码:偏移量。段选择码放在16位的段寄存器中,偏移量放在32为的通用寄存器中。,45,线性地址,虚地址方式下,段基址要通过查表间接得到。段选择码的作用就是选择段描述表中的某一描述项(描述符),而在描述项中给出了32位段基址和20位的段界限(给出段的长度)。线性地址=段基址(32位)+(段内)偏移量(32位);表示范围232即4G。,46,2.虚地址方式下物理地址的形成:,线性地址也叫虚拟地址(virtualaddress),跟逻辑地址类似,也是不真实的地址,如果逻辑地址是对应的硬件平台段式管理转换前地址的话,那么线性地址则对应了硬件页式内存的转换前地址。,物理地址可用以下公式:不启动分页机制:物理地址=线性地址启动分页机制:物理地址=页基址+页内偏移量=232*页码+页内偏移量,47,3种类型地址的计算,有效地址除立即数外,有效地址均按下式运算:有效地址=基址+变址比例因子+位移量线性地址由存储器段式管理机构按下式来计算:线性地址=段基地址+有效地址物理地址页式管理机构不工作时,物理地址=线性地址;页式管理机构工作时,物理地址=页基址+页内偏移量,48,输入/输出端口,接口芯片内部的寄存器:1)数据寄存器:存放外部设备与主机之间传送的数据;2)状态寄存器存放外部设备的状态信息,以便让主机了解外部设备所处的状态,从而使外部设备与主机之间协调地运转;3)命令(或控制)寄存器:用于存放由主机发给外部设备的控制命令。,49,4.1微处理器逻辑结构的演变8086的逻辑结构,1978:8086(1979:8088)16位微处理器1MB寻址空间=2202.5MIPS4或6字节指令Cache累加器、专用寄存器组4.77MHz和8MHz的主频2.9万晶体管,50,Intelx86的发展历程(5),1993:Pentium32位微处理器,64位外部数据总线,32位地址总线4GB寻址空间=232主频达233MHz16KBL1Cache(8KB指令、8KB数据)2个整数处理单元320万晶体管,51,8086主要特性小结如下:集成了29000个晶体管段式存储器结构和硬件乘除法运算电路增加了预取指令的队列寄存器等8086的一个突出特点是多重处理能力多处理器系统,可大大提高其数据处理和输入/输出能力与8086配套的各种外围接口芯片非常丰富,方便用户开发各种系统。,2.1微处理器逻辑结构的演变8086的逻辑结构,52,8086CPU内部结构,8086CPU内部结构按功能可分为两大部分:1、总线接口单元BIU(BusInterfaceUnit)负责与存储器、I/O端口传送数据2、执行单元EU(ExecutionUnit)负责指令的执行,53,1总线接口部件BIU组成4个16位段地址寄存器16位的指令指针寄存器IP20位的地址加法器6字节的指令队列缓冲器2执行部件4个通用寄存器4个专用寄存器标志寄存器,算术逻辑部件,54,8086的逻辑结构,55,8086的逻辑结构,56,总线接口单元(BIU),功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,57,指令队列提高系统效率地址加法器为什么使用?怎么用?,总线接口部件(BIU),大家思考,58,功能:执行指令从指令队列中取指令代码译码在ALU中完成数据的运算运算结果的特征保存在标志寄存器FLAGS中。,执行单元(EU),59,EU包括:算术逻辑单元(运算器、ALU)8个通用寄存器1个标志寄存器EU部分控制电路具体如下:,60,执行部件(EU),包括4个通用寄存器AX、BX、CX、DX4个专用寄存器BP、SP、SI、DI标志寄存器FR算术逻辑部件ALU,61,通用寄存器的长度word、byte、high、low通用寄存器的默认用途Accumulator、Base、Count、Data算术逻辑部件的主要功能标志寄存器FR状态标志控制标志,执行部件(EU),62,指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而提高了CPU的效率;降低了对存储器存取速度的要求,EU与BIU的关系,63,BIU和EU功能小结,BIU功能:负责与存储器、I/O端口传送数据,具体动作:1、取指2、执行中访存3、I/O接口通信EU功能:负责执行指令运算结果,具体动作:1、取指令代码2、译码3、在ALU中完成数据的运算4、运算结果的特征保存在标志寄存器FLAGS中,64,8086/8088的指令执行过程演示,65,逻辑地址-物理地址转换演示,66,1985年,Intel公司推出80386,采用32位数据总线,32位地址总线。80386是微处理器发展的一个里程碑。从体系结构上有了概念性的改变和革新。流水线、指令重叠执行技术虚拟存储器技术存储器管理分段分页保护技术,2.232位微处理器2.2.180386,67,80386微处理器,80386是一种与16位的80286相兼容的第一个高性能全32位微处理器,它代表了体系结构的重要进步从16位体系结构过渡到32位体系结构。,68,32位微处理器的型号很多,Intel公司推出的主要类型有80386,80486和Pentium微处理器。,32位80386微处理器是为多用户和多任务操作系统而设计的具有32位寄存器和数据通道支持32位地址和数据类型,69,CPU片内有存储器管理部件MMU可实现分段和分页管理,使微处理器地址有4GB(千兆字节)物理存储器和64MMB(万亿字节)虚拟存储器,以及有4级保护功能,因此程序不能访问段所规定区域以外的单元,数据也不能写入到禁止的段里,70,80486微处理器是在80386基础上又增加了浮点运算部件和加强了高速缓冲部件,其性能和速度又提高了一大步。,Pentium处理器是一种先进的32位微处理器。它是一种双ALU流水线工作的CPU,每一个时钟周期可执行两条指令,提供了强有力的工作站和服务器功能。,Pentium,及微处理器又增添了多媒体处理功能,所以,Pentium微处理器也就最适用于多媒体计算机和网络计算机中。,71,80386的逻辑结构,80386内部分为三大部分:总线接口部件、中央处理部件和存储器管理部件,而中央处理部件又分成指令预取部件、指令译码部件和指令执行部件三部分。,72,80386的逻辑结构,中央处理部件,存储管理部件,总线接口部件,重叠执行技术,IPU队列有空字节,73,80386原理结构图(功能与Pentium类似),分段部件和分页部件,总线接口部件BIU,74,75,总线接口部件(BIU)总线接口部件通过数据总线、地址总线和控制总线负责与外部取得联系,包括访问存储器预取指令,读写数据和访问IO端口读写数据等全部操作及其他控制功能。,地址驱动和传输数据驱动数据总线宽度控制数据缓冲总线操作的控制功能奇/偶校验告示功能Cache操作控制,76,存储管理部件(MMU)分段部件分页部件页是机械划分的,每4KB为一页,程序或数据均以页为单位进入实存。存储器按段来组织,每段包含若干个页,段的最大容量可达4000MB。一个任务最多可包含16K个段,所以80386可为每个任务提供64MMB的虚拟存储空间。为了加快访问速度,系统中还设置有高速缓冲存储器(cache),构成完整的cache主存辅存的3级存储体系。,77,32位微处理器的地址总线和数据总线,地址总线32位地址总线是用30条地址线A2A31加上4个字节允许符BE0BE3来实现。32位微处理器的物理寻址空间有4GB,即232字节数据总线32位数据总线可以使用BS8和BS16引脚输入控制信号来改变数据总线的宽度,将数据传送到8位或16位设备中去。,W3-2,79,1、动手算一算?,执行下面的加法指令:01111110B00101000B10100110B求运算后的各个标志位:SF/ZF/PF/CF/AF/OF,101011,80,标志寄存器,81,2、8086的逻辑结构由哪些部分组成?,83,1总线接口部件BIU组成4个16位段地址寄存器16位的指令指针寄存器IP20位的地址加法器6字节的指令队列缓冲器2执行部件4个通用寄存器4个专用寄存器标志寄存器,算术逻辑部件,84,8086的逻辑结构,85,3、8086中BIU和EU功能分别由哪些?,BIU功能:负责与存储器、I/O端口传送数据,具体动作:1、取指2、执行中访存3、I/O接口通信EU功能:负责执行指令运算结果,具体动作:1、取指令代码2、译码3、在ALU中完成数据的运算4、运算结果的特征保存在标志寄存器FLAGS中,86,2、80386的逻辑结构包括哪些部件?,87,80386的逻辑结构,80386内部分为三大部分六大功能组件。,88,80386的逻辑结构,中央处理部件,存储管理部件,总线接口部件,重叠执行技术,IPU队列有空字节,89,总线接口部件、指令预取部件、指令译码部件和存储器管理部件构成了80386CPU指令流水线。由于四个部件并行工作,故80386的指令流水线为4级流水。,90,Pentium微处理器,Pentium微处理器是一种最先进的32位微处理器。它与DOS,Windows,OS/2和UNIX基础上的应用软件兼容。有两组算术逻辑单元(ALU)、两条流水线、能同时执行两条指令;并且把数据cache(高速缓冲存储器)和代码cache分开;不仅提高了总线的速度;还将数据总线增加到64条;流水浮点部件提供了工作站的特性。因此它几乎具有两台80X86的功能。,91,2.5Pentium的原理结构,包括12个主要部件,核心部件是两个流水线执行部件和浮点处理部件总线接口部件U流水线和V流水线数据Cache代码Cache指令预取部件指令译码器控制ROM分支目标缓冲器BTB控制部件浮点处理单元FPU分段部件和分页部件寄存器组,92,Pentium的主要部件,总线接口部件64位数据线、32位地址线、控制总线功能地址驱动和传输:A31A3、BE7#BE0#数据驱动:D63D0数据总线宽度控制(8,16,32,64位通过控制信号实现总线宽度控制)数据缓冲总线操作的控制功能(数据传输,成组传输,中断,复位,DMA操作等)奇/偶校验告示功能Cache操作控制(片内和片外Cache一致性)U流水线和V流水线,独立运行,Pentium的主要部件,93,Pentium的主要部件(续),代码Cache和数据Cache(高速缓存可读写RAM)两者分开,减少冲突,提高数据存取命中率两者分别配置专用的TLB(转换检测缓冲器),将线性地址转换为高速缓存的物理地址指令预取部件IPU、指令译码器IDU、控制ROM和分支目标缓冲器BTBIPU每次预取两条指令复杂指令需要控制ROM的转换(转换为微程序)控制部件(控制流水线和FPU的正常运行),Pentium的主要部件,94,Pentium的主要部件(续),浮点处理部件(FPU)FPU按流水线机制执行指令(8级)是U流水线的补充浮点运算指令的前4级在U流水线中执行常用浮点指令采用专门的硬件电路实现支持32位、64位、80位精度分段部件和分页部件片内二级存储管理分段将逻辑地址转换为物理地址分页将线性地址转换为物理地址,Pentium的主要部件,95,实现CPU与系统总线的连接,包含64位数据线、32位地址线和控制信号线,实现信息交换,独立运行,均含ALU。每条流水线含5级(取指令、译码、生成地址、执行指令、回写)U:可执行所有的整数运算指令V:执行简单的整数运算和数据交换指令,存放CPU最近要使用的数据和指令,提高存取速度,并分别配置了转换检测缓冲器,采用硬件电路实现加、乘、除浮点运算,含有复杂指令对应的微程序,通过解析指令译码器中的译码信息和控制ROM中的微程序,控制两条流水线和FPU的执行,Cache存放CPU最近要使用的数据和指令,提高存取速度,并配置转换检测缓冲器(TLB),将线性地址转换为高速缓存的物理地址,分段/分页实现对存储器的两级管理,Pentium的逻辑结构,BTB在遇到条件转移指令时用来预测是否发生转移,并提供预取地址,96,微处理器从8位到16位主要是总线的加宽从16位到32位从体系结构上有了概念性的改革和创新,2.2Pentium采用的先进技术汇总,Pentium采用的先进技术:先进的体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,97,80386的逻辑结构,80386内部分为三大部分:总线接口部件、中央处理部件和存储器管理部件,而中央处理部件又分成指令预取部件、指令译码部件和指令执行部件三部分。,98,先进的体系结构外部数据总线为64位,数据传输量提高一倍设置片内代码cache和数据cache(速度高容量小的存储器),提高取指令和读/写数据的速度两条指令流水线并行执行片内集成FPU(浮点运算器),是U流水线的补充,采用硬件实现浮点运算,对ADD、MUL、INC、DEC、PUSH、POP、JMP、CALL和LOAD等常用指令采用硬件实现采用分段和分页两级存储管理机制,存储管理方便灵活增强了信息传输准确性的检测能力和机器异常事件的处理能力,为系统的扩展提供了很好的检测和调试能力,99,CISC和RISC相结合的技术,CISC特点:指令系统包含很多指令,并有使用较少的复杂指令多种内存寻址方式采用微程序机制实现复杂指令RISC特点:指令系统只含简单而常用的指令,且指令长度相同采用流水线机制执行指令大多数指令利用寄存器来执行,只需一个时钟周期Pentium:结合大多数指令采用简化指令,但仍保留一部分复杂指令并用硬件实现,每一种微处理器的CPU都有属于它自己的指令系统,CPU通过执行一系列的特定的指令来实现应用程序的某种功能。像Intelx86系列,为了增加新的功能,就必须增加新的指令;另一方面,为了保持向上兼容,又必须保留原有的指令。每条指令又有若干个不同的操作字段,用来说明要操作的数据类型,以及存放的位置。这就意味着一个较大的指令系统和复杂的寻址技术。以这样的微处理器为平台的计算机系统就是“复杂指令系统计算机”(CISC)。CISC也有许多优点,如指令经编译后生成的指令程序较小执行起来较快,节省硬件资源。像存取指令的次数少,占用较少的存储器等。,扩充:复杂指令系统CISC计算机定义,101,精简指令系统计算机RISC,“精简指令系统计算机”(RISC)的核心思想,是通过简化指令来使计算机的结构更加简单、合理,从而提高CPU的运算速度。解决途径就是减少微处理器指令总数和减少指令操作的时钟周期数。经过当时的技术比较测试表明,处于同样工艺水平的芯片,RISC的运行速度是CISC运行速度的3-5倍。,102,Pentium的指令流水线技术,指令流水线的组成指令流水线的原理指令流水线的运行Pentium的超标量流水线的运行非流水线的定义,103,指令流水线的组成,总线接口部件控制数据总线和地址总线的信息传输最主要的操作是读取指令和存取数据指令预取部件在总线空闲时从存储器读取指令放入指令预取队列指令译码部件对指令译码,送入译码指令队列执行部件(控制部件)控制两条流水线的运行,104,微处理器从8位到16位主要是总线的加宽从16位到32位从体系结构上有了概念性的改革和创新,4.2Pentium采用的先进技术汇总,Pentium采用的先进技术:先进的体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,105,80386的逻辑结构,80386内部分为三大部分:总线接口部件、中央处理部件和存储器管理部件,而中央处理部件又分成指令预取部件、指令译码部件和指令执行部件三部分。,106,指令流水线的原理,非流水线方式依次执行三个操作取指令、指令译码、执行流水线Pentium的整数运算流水线最初由5级组成指令预取级PF、首级译码级D1、二次译码级D2(形成物理地址)、执行级EX、回写级WB级别越多,速度越快Pentium4的流水线达20级Pentium的浮点运算部件也采用流水线机制运行8级组成:PF、D1、D2、EX、X1、X2、WF、ER,107,八个阶段的浮点流水线:PF预取D1译码阶段1D2译码阶段2EX取操作数X1浮点执行步骤1X2浮点执行步骤2WT写浮点数ER出错报告,108,Pentium的主要部件,PF,D1,D2,EX,WB,109,指令流水线的运行,首次译码,指令预取,二次译码,指令执行,数据回写,110,超标量流水线技术,标准状态下一个处理器含一条指令流水线超标量一个处理器中有多条指令流水线指令流水线的组成:由以下四个部件组成:总线接口部件、指令预取部件、指令译码部件、执行部件Pentium的一条指令流水线5级:指令预取级PF、首次译码级D1、D2、执行级EX、回写级WBPentium中U、V两条流水线,U所有整数运算,V简单整数运算和数据交换指令每条流水线均含有独立的ALU、一系列寄存器、地址生成电路、连接数据Cache的接口,111,Pentium超标量流水线的运行,超标量以并行方式在U、V两条流水线上同时执行两条指令在U流水线中可以执行任何指令V流水线中只能执行和U流水线当前执行的指令符合配对规则的指令配对规则两条指令都是简单指令(包括RISC指令)互相没有寄存器关联性:两条指令中的寄存器不是“读后写”或者“写后写”的关系(不能对同一寄存器多次操作)一条指令不能同时既包含位移量又包含立即数带前缀的指令只能出现在U流水中浮点运算指令不能和任何指令配对,112,Pentium超标量流水线的运行,过程D1步骤,指令译码器中的两个并行的译码部件对两套指令译码,并用指令配对规则进行判断不能100配对成功:V流水线不会全速运行流水线受阻的情况U:影响VV:不会影响U,113,超标量流水线的运行前提,1、所有指令都是简化RISC指令2、V流水线总是能够接受U流水线的下一条指令因此,超标量流水线技术与RISC技术密不可分!,114,当一条指令在执行的过程之中时,其他指令则要等待这条指令的执行,直至完成。只有前一条指令经历了这五个操作步骤,完成了这条指令的操作,下一条指令才可得以进入指令的执行,同样又是五个时钟周期时间,同样又是其他指令的等待。这种非流水线操作方式并没有把计算机执行的时间资源有效地利用起来,非流水线操作,115,先进的分支预测技术,使用分支目标缓冲器BTB(branchtargetbuffer)来执行预测功能对屏幕像素填色举例movdx,100aaa:movcx,200bbb:moval,04movah,04hint10hdeccxjnzbbbdecdxjnzaaa规律大多数分支指令转向每个分支的机会不是均等的大多数分支转移指令排列在循环程序段中,116,先进的分支预测技术,结论分支转移指令的转移目标地址是可以预测的,依据就是前一次的转移目标地址和历史状态BTB含有一个1KB的Cache,其中可以容纳256条转移指令的目标地址和历史状态历史状态2位二进制表示有4种:必定转移、可能转移、可能不转移、必定不转移进一步提高性能双向分支预测芯片内部配置了两个预取缓冲存储器一个按照BTB预测结果预取指令,并在预取指令时,在BTB中建立一个登记项另一个以预测排除的方向预取指令,117,先进的分支预测技术,补充:分支预测的本质是削弱指令的控制相关,从而提高指令执行的并行度,提高处理器的性能。由于随着流水线深度的增加,条件分支指令对流水线性能的影响也在不断增加。如果再考虑到指令多发射的引入,条件分支指令对流水线性能的影响将进一步增加。提高分支预测的准确性,能够有效地提高指令流水线的性能和取指令带宽的利用率。,118,2Pentium的寄存器,基本寄存器组通用寄存器指令指针寄存器标志寄存器段寄存器系统寄存器组地址寄存器控制寄存器调试寄存器测试寄存器浮点寄存器组数据寄存器标记字寄存器状态寄存器控制字寄存器指令指针寄存器数据指针寄存器,供系统程序访问,供系统程序和应用程序共同访问,供系统程序和应用程序共同访问,119,请讲解寄存器组图?,120,基本寄存器组,8个32位的通用寄存器EAXEBXECXEDXESIEDIEBPESP指令指针寄存器EIP:32位标志寄存器EFLAGS,基本寄存器低16位同8086,121,标志寄存器(17/32位),122,段寄存器,段寄存器、段选择子和描述符6个16位的段寄存器:CS、DS、SS、ES、FS、GS保护方式下存储单元的地址48位的逻辑地址16:32(实模式为16:16)段寄存器中不是存放段地址,而是段选择子在实模式下,逻辑地址空间中存储单元的地址由段值和段内偏移两部分组成。在保护模式下,虚拟地址空间(相当于逻辑地址空间)中存储单元的地址由段选择子和段内偏移两部分组成。与实模式相比,段选择子取代了段值。,123,定义:段描述符和段选择子,段描述符:为了实现分段管理,把有关段的信息即段基地址、长度、属性全部存放在一个称为段描述符的8个字节长的数据结构中,并把系统中所有的描述符编制成表,以便硬件查找和识别。段选择子长16位。其高13位是描述符索引(Index)。所谓描述符索引是指描述符在描述符表中的序号。段选择子的第2位是引用描述符指示位,标记为TI,TI=0表示从全局描述符表GDT中读取该段的描述符;TI=1表示从局部描述符表LDT中读取该段的描述符。选择子最低两位是请求特权级RPL,用于特权检查。,124,思考?,某个段选择子的值是0031H(0000,0000,0011,0001B),那么请思考:描述符索引DI(Index),描述符指示位TI及类型,请求特权级RPL分别是多少?,125,解答:,某个段选择子的值是0031H(0000,0000,0011,0001B),那么:Index=6,所以它指定全局描述符表中的第6个描述符(高13位)。描述符指示位TI=0(在GDT,而非LDT中),请求特权级是RPL=01=1(03级),描述符8个字节,64位段基址32位、界限(段长度)20位、属性12位,A:被访问位,A=1已访问过;W/R:定义代码段的可读和可写性ED/C:扩展方向/符合位,ED=0向上;E:可执行位,1-代码段,0-数据段S:描述符类型,0-系统级,1-应用级,E=1且S=1,对应段为CS可执行;DPL:描述符特权级,0-3级;P:存在位,P=1对应段已装入主存储器D/B:操作数长度,D=1为32位代码,D=0为16位代码;G:粒度,长度以段为单位,G=1为页,G=0长度以字节为单位。,127,采用描述符表的优点,可以大大扩展存储空间:段地址不再由16位段寄存器直接指出,而由8个字节32位的段描述符中指出,存储器长度只受到段描述符长度的限制,每段的长度为32(4G)字节。可以实现虚拟存储:即是在80386中利用段描述符将大部分段放在磁盘上而不是都放在内存中,由一位属性指示当前此描述符所对应的段驻留的位置。可以实现多任务隔离:设置一个公用的GDT外再为每个任务建立一个LDT,因此每个任务有独立的地址空间。,128,描述符表,三种全局描述符表GDT局部描述符表LDT中断描述符表IDT每个描述符对应一个存储段一个系统中GDT和IDT是面向系统中所有任务的,是全局性的,都只能有一个,每个任务一个LDT(多任务)IDT和每个LDT本身也各对应一个存储段LDT的描述符在GDT中,129,2.6.3系统寄存器组1)系统地址寄存器,全局描述符表寄存器GDTR中断描述符表寄存器IDTR局部描述符表寄存器LDTR任务状态寄存器TR,描述符是位于存储器中,因此需要分别用一个寄存器来指出其位置。,130,1)系统地址寄存器,GDTR:48位IDTR:48位TR:16位存放当前任务的状态段选择子LDTR:16位存放LDT选择子,高13位为描述符的项号,131,控制寄存器(CR0CR4)用于控制和确定处理器的操作模式以及当前执行任务的特性。CR0中含有控制处理器操作模式和状态的系统控制标志;CR1保留不用;CR2含有导致页错误的线性地址;CR3中含有页目录表物理内存基地址,因此该寄存器也被称为页目录基地址寄存器PDBR(Page-DirectoryBaseaddressRegister);CR4是Pentium新配备了一个控制寄存器,其内共设置了6个控制位。其目的是用来扩展Pentium的某些体系结构。控制寄存器主要是供OS使用的,因此OS设计人员需要熟悉控制寄存器CR。,2)控制寄存器,132,2)控制寄存器,1,133,PE保护方式允许和PG分页允许位选择的处理器工作方式,由于只有在保护方式下才可启用分页机制,所以尽管两个位分别为0和1共可以有四种组合,但只有三种组合方式有效。用PE=0且PG=1的值装入CR0寄存器将引起通用保护异常,为无效组合。需要注意的是,PG位的改变将使系统启用或禁用分页机制,因而只有当所执行的程序的代码和至少有一部分数据在线性地址空间和物理地址空间具有相同的地址的情况下,才能改变PG位。,134,CR0PEprotectionenable保护方式允许,为1时启动系统进入保护方式,0为实模式MPmonitorcoprocessor协处理器监控(在286、386中与80 x87器件同步,486之后,若非运行286/386程序,此位应为0)EMemulatecoprocessor模拟协处理器控制,若置为1,则执行浮点运算指令时,产生“设备不可用”异常TStaskswitched任务切换时置被为1(数学处理用)ETProcessorExtensionType处理器扩展类型控制位,ET=1为32为,0为16位NEnumericserror浮点异常控制若置为1,则执行浮点运算出现故障时进入异常处理,否则通过外部中断作处理(需电路配合),2)控制寄存器(了解),135,WPwriteprotect若置为1,则对页写保护若清零,则标为只读的页也可被超级进程改写AMalignmentmask对准检查屏蔽对准检查,当AM、AC都置位,CPL为3时,才会执行NWnotwritethrough非通写控制位;该位用来选择片内数据Cache的操作模式。NW=1时,禁止通写,写命中时不修改内存;CDcachedisable片内Cache禁止位;用来控制允许或禁止向片内Cache填充新数据。CD=1,当Cache未命中时,禁止填充Cache;否则未命中时,允许填充。PGpagingenable分页允许,136,CR1保留不用CR2和CR3专用于存储管理,由80386以上微处理器定义。CR2:页面故障地址寄存器CR3:页组目录表地址CR3中的PCD:pagecachedisablePCD是页面Cache禁止位,该位用于指示页面Cache工作情况,PCD=1,禁止片内Cache,否则允许片内页Cache。CR3中的PWT:pagewritethroughPWT是页面通写位,用于指示是页面通写还是回写,该位为1,外部Cache对页目录进行通写,否则进行回写;,137,CR4Pentium处理器中新增加的控制寄存器共定义了6位(了解)VME是虚拟方式扩充位,VME=1,允许虚拟8086方式扩充,否则禁止。PVI是保护方式虚拟中断位,PVI=1,允许保护方式虚拟中断,否则禁止。TSD是时间戳禁止位,该位为1,且当前特权级不为0时,禁止读时间戳计数器指令RDTSC,否则RDTSC将在所有特权级上执行。DE是调试扩充位,该位用来控制是否支持I/O断点,当DE=1时,允许I/O断点调试扩充,否则禁止I/O断点调试扩充。PSE是页尺寸扩充位,该位为1,允许页面大小扩充,每页为4MB,否则禁止页面大小扩充,每页仍为4KB。MCE是机器检查允许位,该位为1,允许机器检查异常,否则禁止机器检查异常。,另解:多角色用户边缘设备(mutiplecustomedge),138,3)调试寄存器(8个)设置断点和进行调试,调试状态寄存器,断点控制寄存器,139,3)调试寄存器,DR0DR3存放断点的32位线性地址DR4DR5保留DR6调试状态寄存器报告断点处的状况B0B3:分别表示4个断点的调试状态BD:指令试图读写调试寄存器时为1BS:TF为1进行单步调试时为1BT:发生任务切换时为1,140,3)调试寄存器,DR7断点控制寄存器RW0RW3各2位,对应DR0DR3中的4个线性地址00指令执行到断点地址时中断01断点地址处写数据时中断10DE为0时未定义;DE为1时I/O操作时中断11断点地址处读写数据时中断LEN0LEN3各2位指定数据断点地址的字节数:1、2、4GE和LE用于断点设置在数据传输指令处的状况GD禁止应用程序对所有调试寄存器进行访问L0L3局部开放控制G0G3全局开放控制,141,4)测试寄存器(18个),TestRegisters,TR0-TR17每个测试寄存器对应一个特定的测试项,提供发生故障的指令的地址及其数据操作相对应的存储器的地址,5)指令指针和数据指针寄存器(各48位),142,6)浮点寄存器组(13个),8个数据寄存器每个80位标记字寄存器16位状态寄存器16位控制寄存器16位指令指针和数据指针寄存器,143,FPU状态寄存器(15位),144,FPU控制寄存器(用到8位),W4-1,146,1、Pentium采用了哪些先进技术?,147,Pentium采用的先进技术:先进的体系结构:1632CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,148,先进的体系结构外部数据总线为64位,设置片内代码cache和数据cache;两条指令流水线并行执行片内集成FPU(浮点运算器),是U流水线的补充,采
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全生产网络知识竞赛测试题库附答案
- 2025年保洁岗位院感防控知识考核试卷及参考答案
- 2025年反假币知识竞赛题库(附答案)
- 2025年初级会计职称考试题库(附答案)
- 2025年安全生产知识竞赛培训试题及答案
- 2025年社区基础护理题库及答案
- 2025年中级经济师建筑真题及答案
- 海洋捕捞可持续发展基金管理创新创业项目商业计划书
- 河北监理考试题库及答案
- 水果酵素饮料创新创业项目商业计划书
- 教科版五年级上册科学期中测试卷附答案(夺分金卷)
- 药房管理规章制度目录
- 中职第1课 社会主义在中国的确立和探索试题
- 2025年辽宁省交投集团招聘笔试参考题库含答案解析
- 2024年版高尔夫球场场地租赁及会员服务协议3篇
- 香港 信托合同范本
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 阀门培训课件
- 《焦化机械设备维护检修标准》
- DB11∕T 899-2019 盆栽蝴蝶兰栽培技术规程
- ISO27001信息安全管理体系培训资料
评论
0/150
提交评论