您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第二章 Intel 32位CPU
第二章Intel32位CPU第二章Intel32位CPU2.1CPU的基本结构2.2寄存器2.3指令流水线操作第二章Intel32位CPU2.1CPU的基本结构2.1.1几种典型IntelCPU简介1、8086(16位CPU)•16位内部体系结构•16位外部数据总线,20位地址总线(寻址范围220B=1MB)2、80386(32位CPU)•32位内部体系结构•32位外部数据总线,32位地址总线(实内存232B=4GB,虚拟空间=64TB)•三种工作方式:实方式、保护方式、虚拟8086方式•采用流水线技术和指令预取技术第二章Intel32位CPU3、80486(32位CPU)•32位内部体系结构•32位外部数据总线,32位地址总线•三种工作方式:实方式、保护方式、虚拟8086方式•采用流水线技术和指令预取技术•片内含8KB高速缓存(Cache)•片内含浮点运算单元(FPU)4、Pentium系列(32位CPU)(1)1993年3月,推出Pentium(经典奔腾)双执行部件/超标量流水技术/分离的程序和数据Cache/64位数据总线(2)1995年11月,推出PentiumPro(高能奔腾)动态分支预算/更大的流水线深度/增加的Cache容量(3)1997年1月,推出PentiumMMX(多能奔腾)主要增加了处理多媒体数据的MMX指令集第二章Intel32位CPU(4)1997年5月,推出PentiumⅡ(奔腾二代)片内64KB的一级Cache和片外512KB二级Cache(5)1999年2月,推出PentiumⅢ(奔腾三代)增加了70条新的SSE指令集,主要用来提高多媒体的处理速度和质量(1999年,Intel发布了Celeron赛扬处理器)(6)2000年,推出Pentium4(奔腾四代)支持双通道DDR技术,传输速度更快,增加了144个全新的指令(7)2003年,推出PentiumM增加了一些节能、管理的新特性5、64位CPU简介目前主流CPU使用的64位技术主要有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容现在的传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium2。第二章Intel32位CPU2.1.2CPU的内部结构第二章Intel32位CPUAHALBHBLCHCLDHDLSPBPDISI通用寄存器运算寄存器ALU标志执行部分控制电路123456CSDSSSESIP内部寄存器I/O控制电路地址加法器20位16位8位指令队列缓冲器外总线执行部件总线接口部件8086CPU结构图第二章Intel32位CPU桶形移位器寄存器组ALU浮点运算单元(FPU)浮点寄存器组分段部件分页部件线性地址控制与保护部件控制ROM指令译码器预取2×16指令队列高速缓存管理部件8KBCache预取控制总线地址驱动器写缓冲4×80数据总线收发器64323232线性地址总线数据总线物理地址存储器管理部分运算部分控制部分译码部分指令预取部分总线接口部分微指令指令总线代码流24位高速缓冲存储器12832地址32数据32数据系统控制总线D0~D31系统数据总线系统地址总线A2~A31BE0~BE380486CPU结构图第二章Intel32位CPU80486CPU的内部结构80486CPU内部由八大部件组成:总线接口部件、高速缓存部件、代码预取部件、指令译码部件、浮点数部件、执行部件、段部件、分页部件。总线接口部件分页部件段部件执行部件浮点数部件高速缓存部件代码预取部件指令译码部件外部数据总线32位外部地址总线32位内部控制线内部数据总线64位物理地址物理地址线性地址逻辑地址第二章Intel32位CPU(1)总线接口部件(BIU)总线接口部件通过数据总线、地址总线和控制总线负责与外部取得联系,包括访问存储器预取指令,读/写数据和访问I/O端口读/写数据等全部操作及其他控制功能。(2)执行部件:完成一般的算术运算、逻辑运算以及数据传送等任务。(3)代码预取部件:对代码做取入、排队分析、分解等译码等前期准备工作。(4)指令译码部件:把指令的含义转换成响应的内部控制总线信号,指挥各部件协同工作。第二章Intel32位CPU(5)分段部件:根据逻辑地址对内存分段寻址,可实现任务之间的隔离,也可实现指令和数据区的再定位。(6)分页部件:对段进行分页寻址,每页大小固定(一般为4KB),每段可包括若干页。分段分页为虚拟存储管理提供了有效方法。(7)高速缓存部件:为了加快访问速度,系统中还设置有高速缓冲存储器(cache),构成完整的cache—主存—辅存的3级存储体系。(8)浮点数部件:第二章Intel32位CPU2.1.3CPU的外部引脚CLKA2~A31D0~D31BE3ADSBE2ADYBE1INTRBE0RESETM/IONMID/CINTAW/RAHOLDLOCKEADS80486PLOCKKENHOLDFLUSHHLDAPWTBOFFPCDBREQFERRBRDYIGNNEBLASTA20MBS8BS16DP3DP2DP1DP0PCHK第二章Intel32位CPU2.1.4CPU的工作方式1、实地址方式(RealAddressMode)2、保护方式(ProtectedMode)3、虚拟8086方式(Virtual8086Mode)第二章Intel32位CPU•(1)实地址方式•具有32条地址线的微处理器只有低20条地址线起作用,能寻址1M字节的物理地址。(相当于一个快速的8086)•实地址方式和保护虚地址方式的区分是由控制寄存器CR0的最低位PE位决定的。若PE位为0,则工作在实地址方式;若PE位为1,工作在保护虚地址方式;•实地址方式下,采用类似于8086的体系结构。第二章Intel32位CPU(2)保护虚地址方式•在保护方式下,全部32根地址有效,可寻址达4G字节的物理空间;•支持多任务,一个任务可运行多达16KB个段,每个段最大可为4G字节,故一个任务最大可达64MM字节的虚拟地址,能快速的进行任务切换和任务保护环境;•在保护方式运行的程序分为4个特权级:0、1、2、3,操作系统核心运行在最高特权等级0,用户程序运行在最低特权等级3。第二章Intel32位CPU•在保护模式下,当寻址扩展内存里的数据和程序时,仍然使用偏移地址访问位于存储器段内的信息。区别是,实模式下的段基址由段寄存器提供,而保护模式下段寄存器里存放着一个选择符(selector),用于选择描述表内的一个描述符。描述符(descriptor)描述存储器段的位置、长度和访问权限。第二章Intel32位CPU段寄存器偏移量访问权界限基地址存储器操作数段内基址段界}选择段大到4GB段描述符第二章Intel32位CPU•(3)虚拟8086方式•虚拟8086模式是运行在保护模式中的实模式,为了在32位保护模式下执行纯16位程序。它不是一个真正的CPU模式,还属于保护模式。•有了虚拟8086模式,允许80486微处理器同时执行8086操作系统和8086应用程序,以及80486微处理器操作系统和80486微处理器的应用程序,因此,在一台多用户的80486微处理器的计算机里,多个用户可以同时使用计算机。第二章Intel32位CPU2.2寄存器第二章Intel32位CPU64位微处理器寄存器多媒体数据专用寄存器通用寄存器浮点数据专用寄存器Inx86Addedbyx86-64071531630079127RAXEAXAHAIXMM0XMM7XMM8XMM15R15EAXEIPR8EDI第二章Intel32位CPU2.2.1通用寄存器3115700~310~158~150~7EAXAXAHALEBXBXBHBLECXCXCHCLEDXDXDHDLEBPBPESPSPESISIEDIDI第二章Intel32位CPU2.2.2指令指针寄存器EIP(32位)IP(EIP的低16位)内容:下一条要取入CPU的指令在内存中的偏移地址。2.2.3标志寄存器EFLAGS(32位)FLAGS(EFLAGS的低16位)311817161514131211109876543210ACVMRF0NTIOPLOFDFIFTFSFZF0AF0PF1CF第二章Intel32位CPU各标志位的含义:1、CF(进位标志)=1算术操作最高位产生了进位或借位=0最高位无进位或借位2、PF(奇偶标志)=1数据最低8位中1的个数为偶数=0数据最低8位中1的个数为奇数3、AF(辅助进位标志)=1D3→D4位产生了进位或借位=0D3→D4位无进位或借位4、ZF(零标志)=1操作结果为0=0结果不为0第二章Intel32位CPU5、SF(符号标志)=1结果最高位为1=0结果最高位为06、OF(溢出标志)=1此次运算发生了溢出=0无溢出7、DF(方向标志)=1地址自动按减量变化=0地址自动按增量变化8、TF(陷阱标志)=1调试按单步方式=0非单步9、IF(中断允许标志)=1允许响应外部可屏蔽中断=0禁止响应第二章Intel32位CPU10、IOPL(输入/输出特权级标志)I/O特权级:0级~3级11、NT(嵌套任务标志)=1当前任务被嵌套于前一任务=0不嵌套12、RF(恢复标志)=1遇到调试故障也不产生异常中断=0当指令顺利进行后自动清零13、VM(虚拟8086模式标志)=1CPU工作在虚拟8086方式=0否14、AC(对准检查标志)=1如果进行未对准的地址访问,则产生异常中断=0否第二章Intel32位CPU2.2.4段寄存器16位(编程可见)64位(编程不可见)选择器寄存器描述符寄存器CSDSSSESFSGSCSDSSSESFSGS第二章Intel32位CPUCS0000IP代码段DS或ES0000SI、DI或BXSS0000SP或BP数据段堆栈段存储器段寄存器和偏移地址寄存器组合关系第二章Intel32位CPU一、实方式或虚拟8086方式下段寄存器为16位,存放内存段的段基址。CS------代码段的段基址DS------数据段的段基址SS------堆栈段的段基址ES------附加数据段的段基址逻辑地址由段基址:偏移地址组成(段基址为段首地址的高16位。段首地址的低4位为0。)物理地址(20位)=段首地址(20位)+偏移地址(16位)=段基址(16位)×10H+偏移地址(16位)第二章Intel32位CPU•例:在实模式方式下,假定内存数据段中有两个数据1234H和5678H;若已知当前DS=5AAA0H,它们的偏移地址分别是245AH和3245H,试用图说明它们在存储器中的物理地址.第二章Intel32位CPU二、保护方式下段寄存器有CS、DS、SS、ES、FS、GS,包括选择器寄存器和描述符寄存器。逻辑地址由选择器寄存器:偏移地址组成。选择器寄存器的低2位为特权标志,D2位为描述符表类型标志,高13位是选择码。描述符寄存器的作用是为了加速运行。保护方式下:段基址32位偏移地址32位线性地址32位物理地址32位第二章Intel32位CPU2.2.5系统地址寄存器1、GDTR(48位)全局描述符表寄存器2、LDTR(16位)局部描述符表寄存器3、IDTR(48位)中断描述符表寄存器4、TR(16位)任务状态寄存器第二章Intel32位CPU2.3指令流水线操作在80486CPU中设有8KB的内部高速缓存器、32字节的预取指令队列、指令译码器、控制器及执行部件,这就从硬件上支持了指令流水线操作。80486使用5个步骤的流水线技术,即指令预取PF、译码D1、译码D2、执行EX和结果写回WB。其过程如图所示。图80486指令执行过程PFD1D2EXWB时钟第二章Intel32位CPU流水线过程示意图:D1123455677D21234567EX123445567WB1234567对于绝大多数指令,各步骤各需要1个时钟周期。少数需增加时钟周期。Pentium微处理器有两条流水线,即U流水线和V流水线。这样就可以使微处理器同
本文标题:第二章 Intel 32位CPU
链接地址:https://www.777doc.com/doc-4059949 .html