第2章-16位和32位微处理器PPT.ppt
2.3 Pentium微处理器的先进技术与指令流水线微处理器的先进技术与指令流水线Pentium在80386的基础上又有了很大的进步。80386的浮点运算外接浮点处理器(协处理器)80486将浮点处理器集成到内部。Pentium则在此基础上进行了更大的改变 先进的体系结构 RISC与CISC结合 超标量流水线 指令分支预测与预取 增加了多媒体指令 1 2.3.1 Pentium的先进技术的先进技术1.先进的体系结构 结构特点:教材38页给出8条。2.CISC和RISC相结合的技术CISCCISC技术的特点技术的特点RISCRISC技术的特点技术的特点3.超标量流水线技术超标量的含义超标量的含义超标量的实现前提超标量的实现前提4.先进的分支预测技术 2分支规律 MOV DX,100;取填色矩形右上角像素点的y坐标AAA:MOV CX,200;取填色矩形右上角像素点的x坐标BBB:MOV AL,04 ;在AL中设置红色对应的值04H MOV AH,0CH;在AH中设置对应写像素的功能码 INT 10H ;在指定的像素位置填上指写颜色 DEC CX ;x坐标左移一个像素点 JNZ BBB ;继续对下一个点操作 DEC DX ;横向填完一行再对下一行操作 JNL AAA ;如未结束则继续 HLT ;如填好则结束该段程序,JNZ BBB ;有199次转到BBB JNZ AAA;有99次转到 AAA通过预测,转到AAA,BBB就像顺序程序一样,能够成功预取,保证流水线不断。3分支预测的方法采用Cache 有一个1KB容量的Cached,其中可以容纳256条转移指令的目标地址和历史状态。历史状态用2位二进制数表示四种可能情况:必定转移 可能转移 可能不转移 必定不转移动态预测 BTB(分支目标缓冲器 branch target buffer)采用动态预测方法,当一条指令造成分支时,BTB检测这条指令以前的执行状态,并用它预测当前的分支目的地址,然后预取指令42.3.2 指令流水线技术指令流水线技术 1.指令流水线的组成 总线结构部件、指令预取部件、指令译码部件、指令执行部件。(1)总线接口部件:连接CPU、存储器、IO接口等其它部件,他控制数据总线和地址总线上的信息传送(2)指令预取部件:在总线空闲、指令队列有空位置时,从存储器读出指令放入指令预取队列(3)指令译码部件:对指令进行译码,产生执行指令所需要的控制信号(4)指令执行部件:执行指令规定的操作。52.流水线技术的基本原理流水线技术的基本原理(1)传统计算机的工作过程取指令指令译码执行指令。CP1CP2CP3CP4CP5CP6CP7第一条指令第一条指令取指译码执行取指译码执行取指译码执行优点:硬件简单缺点:指令执行需要的时间长实际上,在对指令译码时,取指令部件空闲 在执行指令时,取指部件、指令译码部件空闲如果在空闲时刻,先预取下一条指令,在指令译码部件空闲时,先对下一条指令进行译码就可以提高指令的执行速度。6(2)指令流水线的工作过程在第一条指令执行时,开始对第二条指令进行译码,预取第三条指令,Pentium对指令进行2级译码(D1,D2)PF_预取指,D1_首次译码,D2_二次译码,EX_执行,WB_写回CP1CP2CP3CP4CP5CP6CP7第二条指令第一条指令PF D1 D2 EX WBPF D1 D2 EX WBPF D1 D2 EX WB第三条指令PF D1 D2 EX WB第四条指令PF D1 D2 EX WBPF D1 D2 EX WB第五条指令第六条指令7最初由5记流水线组成。现在已多达20级。当前Pentium使用两条指令流水线并行运行的超标量结构。浮点运算部件也采用流水线机制,PF,D1,D2,EX,XA,X2,EF,ER 共8级。83.指令流水线的运行指令流水线的运行以5级流水线为例进行说明。CP1CP2CP3CP4CP5CP6CP7第二条指令第一条指令PF D1 D2 EX WBPF D1 D2 EX WBPF D1 D2 EX WB第三条指令PF D1 D2 EX WB第四条指令PF D1 D2 EX WBPF D1 D2 EX WB第五条指令第六条指令由于每一级的操作复杂性不同,它占用的时间可能不同,时钟信号需要满足最长的一级的需要。如将最长的再划分成多级,则流水线级数增加94.Pentium的超标量流水线的超标量流水线具有2条指令流水线U、V,以并行方式在U、V上同时执行两条指令。U可执行任意指令,V流水线只能执行和U当前指令符合配对规则的指令。配对规则:都是RISC指令,相互没有寄存器关联性。在D1步骤进行配对判断。由于配对不会100%成功,故V不会全速运行。102.4 Pentium的工作方式的工作方式四种l实地址方式l保护方式l虚拟8086方式l系统管理方式111.实地址方式实地址方式微处理器复位后,首先工作与该方式。特点:(1)寻址机构、存储器管理、中断处理机制均和8086相同(2)操作数字长默认为16位(3)存储器最大容量为1MB,采用分段方式,每段64KB(4)存储器中保留两个固定区域:复位入口区 0FFFF0H 中断向量区 00000H003FFH122.保护方式保护方式是Pentium最常用的方式。微处理器复位运行于实模式方式,执行初始化程序完成必要的初始化工作,然后就转入保护方式。该方式的特点:(1)存储器用逻辑地址空间、线性地址空间、物理地址空间来描述。(2)借助磁盘存储空间有效地映像到内存,使逻辑地址空间大大超过实际的内存空间虚拟存储器(3)既能进行16位运算,又能进行32位运算。133.虚拟虚拟8086方式方式在保护方式下(CR0PE=1),通过软件切换到虚拟8086方式。(1)特点:可以执行8086程序 寻址:现行地址=段寄存器:偏移量 殉职空间1MB,分段基础上分页,每页4KB(2)与实地址方式的区别:支持多任务 每个任务的寻址空间1MB,实地址是整个系统1MB 内存分段、分页结合管理方式,实地址方式只有分段管理144.系统管理方式系统管理方式(1)用于增强对系统的管理,包括对操作系统、对正在运行的程序、对电源的管理;(2)为RAM子系统提供有效的安全性;(3)提供软件关机功能15Pentium的技术特点 64位数据总线 互相独立的指令Cache和数据Cache 常用指令用硬件来实现。增加系统管理方式SMM。162.5 Pentium的原理结构 2.5.1 结构原理结构原理见下图见下图17182.5.2 Pentium的主要部件l总线接口部件lU流水线和V流水线l指令Cachel数据Cachel指令预取部件l指令译码器l控制ROMl分支目标缓冲器BTBl控制部件l浮点处理部件l分段、分页部件l寄存器组191.总线接口部件提供的功能:总线接口部件提供的功能:地址驱动和传输。数据驱动。数据总线宽度控制。数据缓冲。总线操作的控制功能 奇/偶校验告示功能 Cache操作控制202.流水线流水线U、V两条流水线,每条流水线均有ALU流水线U可执行任意指令,它全速运行,V只能执行和U当前指令符合配对规则的指令,不一定能全速运行。213.数据数据Cache和代码和代码Cache独立的数据Cache和代码Cache。224.指令预取部件、指令译码部件、控制指令预取部件、指令译码部件、控制ROM、分支目标、分支目标 缓缓 冲器冲器(1)预取部件从代码Cache预取指令(2)对指令进行译码,产生对应的控制信号(3)对于复杂指令,Pentium通过控制ROM的微程序对CISC指令进行解析,产生对应的控制信号(4)在遇到分支转移指令时,用来预测转移是否可能发生,并据此为分支指令后的可能指令提供预取。235.控制部件控制部件通过指令译码部件的译码信号、控制ROM为程序的解析,产生相应的控制信号,控制U、V流水线和浮点处理部件的运行。246.浮点处理部件浮点处理部件主要用于浮点运算。7.分段部件和分页部件分段部件和分页部件 实现存储器分段、分页管理的硬件。258.寄存器组含全部的寄存器262.6 Pentium2.6 Pentium的寄存器和相关机制的寄存器和相关机制Pentium的寄存器分为如下几类:基本寄存器组 通用寄存器,指令寄存器,标志寄存器,段寄存器;27 系统寄存器组 地址寄存器,调试寄存器,控制寄存器,模式寄存器;28 浮点寄存器组 数据寄存器 标记字寄存器 状态寄存器 控制字寄存器 指令指针寄存器和数据指针寄存器 292.6.1.基本寄存器组基本寄存器组 1.通用寄存器(32位)是8086中16位通用寄存器 AX,BX.CX,DX,SI,DI,BP,SP的扩充。符号:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP为了与8086兼容,它们的低16位可以独立存取16位寄存器,做16位寄存器时的符号:低16为也可以分成两个8位寄存器使用做8位寄存器使用时的符号:302.2.指令指针指令指针EIPEIP和标志寄存器和标志寄存器EFLAGESEFLAGES(1)EIP功能:字长:32位 可以做16位,符号IP。31(2)EFLAGES标志寄存器标志寄存器:IOPL:2位,IO特权级别标志,共4级。NT:任务嵌套标志,1位,指示当前任务是否嵌套在另一任务中。32RF:恢复标志,调试失败时,置位该位=1,强迫程序恢复执行,指令顺利执行时,RF自动清0VM:虚拟8086方式标志。VM=1,使Pentium工作在虚拟8086方式。AC:对准标志VIF:虚拟中断允许标志,=1,虚拟方式下,允许中断VIP:虚拟中断禁止标志,=1,虚拟方式下当前不允许中断ID:=1,允许使用CPU标识指令CPUID来读取标识码。332.6.2 段寄存器、描述符、保护方式下的寻址机制段寄存器、描述符、保护方式下的寻址机制 1.段寄存器6个16位的段寄存器:CS,DS,SS,ES,FS,GS(1)在实模式下,它与8086功能类似,存放段基地址。(2)在保护模式下,它作为段选择子使用342.段选择子段选择子段选择子被用于在描述符表中选择一个段描述符,再从描述符中获得32位的段基地址,该基址与32位的偏移地址相加,得到物理地址。段选择子位16位D15 D3D2D1 D0段描述符索引DITIRPLDI在段描述符表中检索描述符,描述符表可以有8192个描述符TI描述符表指示标志,=0,从GDT检索,=1,从LDT检索描述符RPL请求特权级,03级,3级最低。35TI=1TI=0363.段描述符段描述符描述符:为一个特定的数据结构,每个描述符占8个字节,存放段的32位基地址,16位段长度限制,另16位用于描述段的其他属性。段长限 15001段基地址 15023P45DPL段基地址 2316ATYPEDT段基地址 3124G7D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0D00段长限19166D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0段长限 150段基址 230段属性段基址 31241字节2字节3字节2字节374.描述符表描述符表用于存放描述符。有一个唯一的全局描述符表GDT;一个唯一的中断描述符表 IDT;每一个任务有一个局部描述符表。每个描述符表可以有8192个描述符。385.保护方式的寻址机制保护方式的寻址机制逻辑地址48位16位段寄存器,32位偏移地址.RPLTI4732 310偏移量选择子32位线性地址描述符段基址段长限段属性描述符表分页机构页面无分页机构物理地址32段基址DI392.6.3 系统寄存器组 1.系统地址寄存器4个,GDTR全局描述符表寄存器,48位IDTR 中断描述符表寄存器,48位LDTR局部描述符表据存期,16位 TR任务状态寄存器 16位40(1)GDTR、IDTR32位段描述符索引指示描述符的地址。GDTR、IDTR48位寄存器,存放全局描述符表GDT、中断描述附表IDT在内存中的32位线性地址和16位的界限值。D47 D16 D15 D0段描述符索引DI(表基址)界限值N为描述符个数,则界限=8*N-1 41(2)LDTR16位,作为一个选择子,从GDT中检索当前LDT对应的描述符。每个任务都有若干段操作系统为每个任务建立一个LDTLDT在存储器中的地址由GDT对应的描述符指定。LDTR选择子,当选择子的TI=0,选择GDT,利用LDTR高13位信息从GDT中选择一个描述符该描述符给出LDT的基地址等信息,并把LDT的基地址、界限和属性等信息保存到高速缓存。随后对LDT的访问,就可根据保存在高速缓冲寄存器中的有关信息、LDTR 4243保护方式下的段寄存器保护方式下的段寄存器442.控制寄存器控制寄存器控制寄存器:453.调试寄存器调试寄存器8个:DR0DR7464.测试寄存器测试寄存器有18个。每个测试寄存器对应于一个特定的测试项目。472.6.4.2.6.4.浮点寄存器组浮点寄存器组 48Pentium的的FPU状态寄存器状态寄存器 49Pentium的FPU控制字寄存器 502.7 Pentium的主要信号的主要信号 1.地址线及控制信号地址线及控制信号 A31A3地址线 AP地址的偶校验码位 ADS#地址状态输出信号 A20M#A20以上的地址线屏蔽信号 APCHK#地址校验出错信号51522.数据线及控制信号 D63D0数据线 BE7#BE0#字节允许信号 DP7DP0奇偶校验信号 PCHK#读校验出错 PEN#奇偶校验允许信号533.总线周期控制信号 D/C#数据/控制信号 M/IO#存储器和I/O访问信号 W/R#读写信号 LOCK#总线封锁信号 BRDY#突发就绪信号 NA#下一个地址有效信号 SCYC分割周期信号544.Cache控制信号 CACHE#Cache控制信号 EADS#外部地址有效信号 KEN#Cache允许信号 FLUSH#Cache擦除信号 AHOLD地址保持/请求信号 PCDCache禁止信号 PWT片外Cache的控制信号 WB/WT#片内Cache回写/通写选择信号 HIT#和HITM#Cache命中信号和命中Cache的状态信号 INV无效请求信号555.系统控制信号 INTR可屏蔽中断请求信号 NMI非屏蔽中断请求信号 RESET系统复位信号 INIT初始化信号 CLK系统时钟信号 566.总线仲裁信号 HOLD总线请求信号 HLDA总线请求响应信号 BREQ总线周期请求信号 BOFF#强制让出总线信号 577.检测与处理信号 BUSCHK#转入异常处理的信号 FERR#浮点运算出错的信号 IGNNE#忽略浮点运算错误的信号 FRCMC#输入此信号会使CPU进行冗余校验 IERR#冗余校验出错信号 588.系统管理模式信号 SMI#系统管理模式中断请求信号 SMIACT#系统管理模式信号599.测试信号 TCK从此端输入测试时钟信号 TDI用来输入串行测试数据 TDO此端获得输出的测试数据结果 TMS用来选择测试方式 TRST#测试复位,退出测试状态6010.跟踪和检查信号 BP3BP0以及PM1PM0 BT3BT0分支地址输出信号 IUU流水线完成指令 IV 流水线完成指令的执行过程 IBT指令发生分支 R/S#探针信号输入端 PRDY对R/S#的响应信号 612.8 Pentium的总线状态的总线状态1.Pentium的几种总线状态 6个。2 总线状态之间的转换 622.9 Pentium的总线周期的总线周期 1 非流水线式读写周期非流水线式读写周期 632 流水线式读写周期 643 突发式读写周期(a)读周期65(b)写周期 662.10 Pentium的中断的中断2.10.1 Pentium的中断机制的中断机制 与8086类似,分为:硬件中断、软件中断 指令执行过程产生的错误级错误处理过程也归入中断。异常:指令执行过程产生的错误级错误处理过程、软件中断、内部中断地统称。异常分为三类:故障、陷阱、异常终止。传统的外部中断叫中断。8086:031号中断为系统保留,其他由用户定义。672.10.2 中断描述符中断描述符中断描述符的通用格式中断描述符的通用格式依据段选择子和偏移量,获得中断服务程序入口地址。依据段选择子和偏移量,获得中断服务程序入口地址。68中断向量和中断描述符692.11 Pentium的保护技术的保护技术702.12 Pentium系列微处理器的技术发展系列微处理器的技术发展712.13 Itanium微处理器概述 Itanium新技术新技术:可拥有三级Cache多个执行部件和多个通道数量众多的寄存器采用完全并行指令计算技术采用新机制的分支预测技术72