微机原理与接口技术CPU体系结构第二章3主要内容•2.1CPU的发展•2.28086/8088CPU•2.380486CPU•2.4PentiumCPU•2.5ItaniumCPU(略...)•2.680486的工作模式•2.780486的外部引脚介绍•2.8当前CPU所使用的先进技术42.380486CPU•80486CPU组成(7大部分)–总线接口部分–指令预取部分–译码部分–控制部分–运算部分–存储器管理部分–高速缓冲存储器32根地址总线,寻址范围232=4GB580486内部功能结构框图桶形移位器寄存器组ALU浮点运算单元(FPU)浮点寄存器组分段部件分页部件控制与保护部件控制ROM高速缓存管理部件8KBCache指令译码器预取2×16指令队列总线接口部件A2~A313BE~0BED0~D31C/D,R/W,ADSPWT,PCD,IO/MPLOCK,LOCK,RDYBREQ,MA,BOFF20IGNNE,FERRHOLD,HLDA,RESINTR,NMIBLAST,BRDY816,BSBSFLUSH,KENEADSAHOLD,30DP~DP,PCHK地址驱动器写缓冲器4×80数据总线收/发器总线控制请求序列发生器成组总线控制总线宽度控制高速缓存器控制奇偶生成控制描述符寄存器双界/属性PLATLB(32项)32位数据总线32位数据总线64位内部数据总线线性地址总线MMUPCDDWT220基址/变址32地址32数据32数据32128偏移量总线32已译码指令总线代码流24运算部分控制部分译码部分指令预取部分总线接口部分680486CPU•运算部分–定点运算部件ALU、移位器和寄存器组–浮点运算部件浮点运算单元(FPU)和浮点寄存器组。•存储管理部分–分段部件(段是信息的逻辑单位,是程序员的需要)管理逻辑地址空间,并把逻辑地址转换为线性地址–分页部件(实现内存的离散分配,是系统的需要)把线性地址转换为物理地址。7分页与分段1:页是信息的物理单位,分页是为实现物理内存的离散分配方式,提高内存的利用率,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了更好的满足用户的需要。2:页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于系统所编写的程序,通常是编译程序在对源程序进行编译时根据信息的性质来划分的。880486CPU•指令预取部件指令预取部件中包含了两个16字节的队列寄存器。指令预取部件与Cache之间有一条单向的128位宽度的通道,因此,每次从Cache中最多可取16字节的信息。指令预取部件也有一条指向指令译码器的24位宽度的指令代码流的通路。指令译码器对指令的操作码进行翻译,并把翻译后指令通过指令总线送给控制部件。980486CPU寄存器组–基本结构寄存器•通用寄存器32位:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP16位:AX、BX、CX、DX、SI、DI、BP、SP8位:AH、BH、CH、DH、AL、BL、CL、DL。•段寄存器CS、DS、SS、ES、FS、GS•指令指针寄存器IP和EIP•标志寄存器EFLAGS1080486CPUCF:进位/借位标志。AF:辅助进位/借位标志。SF:符号标志。ZF:全零标志。PF:奇偶标志。OF:溢出标志。DF:方向标志。IF:中断允许标志。TF:陷阱标志。I/O特权级标志IOPL任务嵌套标志NT恢复标志RF虚拟标志VM对准检查标志AC1180486CPU–系统级寄存器•4个控制寄存器CR0、CR1、CR2、CR3•4个系统地址寄存器全局描述符表寄存器(GDTR)、局部描述符表寄存器(LDTR)、中断描述符表寄存器(IDTR)和任务寄存器(TR),PGCDNWAMWPNE1TSEMMPPE31………2918160Intel保留页故障线性地址寄存器页目录值31121134PCDPWTCR0CR1CR2CR31280486在结构上的主要特点首次采用了RISC技术的X86CPU。在芯片内部集成了高速缓冲寄存器Cache和浮点运算部件,从而大大提高了CPU的处理速度。内部数据总线是64位。132.4PentiumCPU(不要求)与80486相比,PentiumCPU(64位)主要有以下改进:•Pentium具有36位地址线,64位外部数据线,使在一个总线周期内,数据传输量增加了一倍。•PentiumCPU的核心技术是超标量流水线(空间换时间)设计,允许Pentium在单个时钟周期内执行两条整数指令,比相同频率的486DXCPU性能提高一倍。•Pentium片内采用双重分离式高速缓存Cache,即独立的指令8KBCache和8KB数据Cache。指令和数据使用不同的Cache,提高了指令执行的速度。•浮点运算单元功能增强,每个时钟周期能完成一个浮点操作。•增加了分支指令预测功能。•页尺寸增强。存储器每一页的容量除了与80486兼容的4KB以外,还可以使用更大的存储器页面,使得程序在传送大块数据时,避免频繁的换页操作。14PentiumCPU的构成•PentiumCPU由总线部件、代码Cache、数据Cache、预取缓冲存储器、指令译码部件、浮点运算部件组成。分支目标缓冲器8KBTLB指令指针预取缓冲存储器指令译码部件256位总线接口部件分页部件64位数据总线预取地址32位地址总线控制控制部件地址生成(U流水线)地址生成(V流水线)控制ROMALU(U流水线)ALU(V流水线)整数寄存器组桶形移位器8KBTLB浮点部件控制寄存器组加法器除法器乘法器80位80位分支检测和目标地址64位数据总线32位地址总线32位32位32位32位32位32位位控制部件浮点部件80位80位32位32位32位32位32位32位代码Cache数据Cache15PentiumCPU采用的新技术超标量执行。转移预测判断。浮点流水线操作。分离式Cache技术。162.680486的工作模式实地址模式在CPU复位后,其内部的CR0的PE位为0,表示此时CPU工作在实地址模式。此时,CS寄存器所对应的描述符寄存器中的基地址为FFFF0000H,限制为FFFFH。在实地址模式下,80486与8086CPU兼容,也称为8086模式。此时80486只使用其32位地址的最低20位,只能访问其4GB内存中的最低的1MB内存。这时的80486CPU只是一个高速的8086CPU。172.680486的工作模式保护虚地址模式保护模式:支持多任务的工作模式,提供了多任务保护机制;内存段的访问受到限制,不能再随意存取数据段。保护模式下的内存访问不再直接从段寄存器中获得段基地址,段基地址存放在内存的段描述符表中,由段描述符寄存器给出段描述符表的基地址,段寄存器中仅存放段选择符。182.680486的工作模式保护虚地址模式寻址空间(每个段的大小):232(4GB)虚拟地址空间64TB(8K+8K个描述符)段地址在内存的描述符中,描述符由段寄存器的内容来选择19描述符的格式访问权限段界限(L19-L16)G(粒度)G=1,界限要乘以4KB,即段的大小为4KB~4GB;G=0,段的大小为0~1MB。D(16/32)D=1,寄存器和偏移地址均为32位;D=0时均为16位。AV(段有效)AV=1,段有效;AV=0,段无效。访问权限:在保护方式下控制存储的访问。如:能否读写、优先级别、段如何扩展等。158765430段基址(B31~B24)DG0AV02461357段基址(B23~B16)段基址(B15~B0)段界限(L15~L0)20例:0008HDS描述符表FF00000010000092段界限段基地址00100000H001000FFH数据段描述符存储器粒度=0GDTR00000000HFFFFFFFFH21选择子的格式•选择子:加载到段寄存器中的内容选择子(Selector):13位TIRPL153210从8192个全局描述符或8192个局部描述符中选择一个描述符=0使用GDTR作为描述符表的段基址,即访问GDT=1使用LDTR作为描述符表的段基址,即访问LDT请求者优先级别00最高,11最低22访问局部描述符表LDT选择子GDTR150GDTLDT描述符······LDTR基地址界限权限LLDT偏移量150LDT······段寄存器偏移量232.680486的工作模式保护模式下的存储器寻址段寄存器表基地址描述符表寄存器描述符表150段基地址段界限属性偏移地址310线性地址分页机构物理地址内存储器段界限┇┇描述符表偏移地址31024分页原理页表寄存器页表始址页表长度>页号(3)页内地址+逻辑地址L越界中断1块号b页表页号012物理地址3252.680486的工作模式虚拟8086模式(向下兼容)在虚拟8086模式下,80486可以在保护模式下仿真8086CPU。有了虚拟86方式,486CPU允许同时执行8086操作系统和8086应用程序以及486操作系统和486应用程序,因此,在一台多用户的486CPU的计算机里,多个用户都可以同时使用计算机。在虚拟86方式下,还可以与实方式相同的形式使用段寄存器,以形成线性基地址。通过使用分页机制,就可以把虚拟86方式下的1MB地址空间映像到80486CPU的4GB的物理空间中的任何位置。262.780486的外部引脚介绍地址总线和数据总线–A31-A2:地址总线(输出、三态)。用于寻址一个4字节单元,和相结合,起到32位地址的作用。–字节选通(输出)。低电平有效,用于选通在当前的传送中要涉及4字节数据中的哪几个字节。–D31-D0:数据总线(双向、三态)。可支持32位、16位或8位数据传送。D31~D0ADSRDYINTRRESETNMIAHOLDEADSKENFLUSHPWTPCDIGNNEFERRMA20CLKPCHK16BS8BSBLASTBRDYBOFFPLOCKLOCKR/WC/DIO/M0BE1BE2BE3BEA31~A2HOLDHLDABREQDP3DP2DP1DP032位地址总线总线周期定义总线仲裁成组控制总线宽度控制奇偶校验32位数据总线总线控制中断/复位信号高速缓存使无效高速缓存控制页面高速缓存控制数据错报告第20位地址屏蔽系统时钟03BE~BE03BE~BE2780486的外部引脚–中断/复位信号•INTR:可屏蔽中断请求(输入)。•NMI:不可屏蔽中断请求(输入)。•RESET:复位(输入)。在RESET之后,80486将从FFFFFFF0H单元开始执行指令。2880486的外部引脚时钟信号CLK:时钟信号(输入)。CLK为80486提供基本的定时和内部工作频率。所有外部定时与计数操作都是相对于CLK的上升沿而制定的。29当前CPU所使用的先进技术Cache技术流水线技术VM技术RISC技术EPIC技术多内核技术30当前CPU所使用的先进技术EPIC技术(显式并行指令运算)EPIC是一种指令集架构,由HP和Intel联合开发。EPIC允许处理器根据编译器的调度并行执行指令而不用增加硬件复杂性,该架构由超长指令字架构发展而来,并做了大量改进。原理:其指令中有3位是用来指示上一条运算指令是不是与下一条指令有相关性,是不是要等上一条指令运行完毕后才能运行下一条,如果没有相关性,则两条指令可同时由不同的CPU节点来处理,这样的方式大大提高了CPU并行运算的效率。31芯片组技术3232CPU北桥芯片显示接口南桥芯片鼠标/键盘串/并行接口Cache主内存PCI-E总线PCI总线存储总线PCI接口PCI接口USB接口SATA接口…前端总线芯片组技术-双芯片方案3435融合处理器2010年初,AMD发布了第一款融合加速处理器,为PC处理器进行了重新定义:将CPU与GPU完美融合,以全新的协同工作、加速计