




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章80X86微处理器,2,主要内容,3.180X86微处理器概述3.280X86微处理器系统组成3.3工作模式与地址变换3.4Pentium微处理器简介3.5多核处理器简介,3,3.180X86微处理器概述,80X86是8086/8088之后微处理器的总称包括80286、80386、80486、Pentium系列等是8086/8088的延续和扩展,4,1.80X86微处理器发展概况,(1)16位结构的80286微处理器从此,机器有多种工作模式。有兼容8086/8088的模式,有发挥机器新功能的工作模式。首次应用虚拟存储器概念,即利用外存模拟内存。(2)32位的80386微处理器在此之后,不断推出新型号的32位微处理器。,接下页,5,1.80X86微处理器发展概况,(3)80486微处理器将80386微处理器、80387数字协处理器(80387浮点协处理器)、高速缓冲存储器(Cache)集成在一块芯片上的产品,是一种完整的32位微处理器。采用8KB统一的代码和数据高速缓冲存储器(Cache),接下页,6,1.80X86微处理器发展概况,(4)Pentium(奔腾)系列微处理器Pentium含义5,即80586。具有高性能的浮点运算部件分开数据Cache(高速缓冲存储器)、代码Cache不断推出新型号的Pentium产品,形成Pentium系列如高能奔腾(PentiumPro)、多能奔腾(PentiumMMX)、2代奔腾Pentium、3代奔腾(Pentium)、4代奔腾(Pentium)等,7,3.280X86微处理器系统组成,指令,指令译码部件IDU,指令译码器,译码指令队列,执行部件EU,算术逻辑单元ALU,64位桶形移位寄存器,控制和保护测试机构,译好码的指令,8个32位通用寄存器,分段部件SU,分页部件PU,总线接口部件BIU,总线请求判优,数据和地址驱动,控制信号驱动,协处理器控制,存储器I/O接口协处理器,逻辑地址,操作数和结果,指令字节,指令预取队列,预取器/段界限校验器,线性地址,物理地址,段描述符高速缓冲存储器,页描述符高速缓冲存储器,段界限和属性校验器,控制和属性校验器,指令预取部件IPU,接下页,8,3.2.1内部构件,接口部件BIU(BusInterfaceUnit)指令预取部件IPU(InstructionPrefetchUnit)指令译码部件IDU(InstructionDecodeUnit)执行部件EU(ExecutionUnit)分段部件SU(SegmentUnit)分页部件PU(PagingUnit),80486以后微处理器把浮点部件FPU(FloatingPointUnit)也集成到CPU芯片内,下面分别介绍,9,1.总线接口部件BIU(BusInterfaceUnit),与8086/8088中的BIU类似负责微处理器与存储器、I/O接口之间传送数据由它产生访问I/O端口所需的地址、数据和命令信号没有其它总线请求时,BIU会自动取出下一条指令,送到指令预取队列中,10,2.指令预取部件IPU(InstructionPrefetchUnit),负责从存储器(高速缓存Cache或内存)中取出指令,按顺序放到指令预取队列中8086指令预取队列长度6个字节,80386是16个字节,80486是32个字节指令预取队列存放从存储器取出的未经译码的指令。预取队列不满或发现是转移指令时,就向BIU发取指令请求段预取界限校验器用于检验地址是否超出段界限。,11,3.指令译码部件IDU(InstructionDecodeUnit),负责从指令预取队列取出指令,并进行译码将译码后的可执行指令放入已译码指令队列中,等待执行部件处理译码指令队列可容纳多条指令。如80386可容纳3条一旦译码指令队列有空闲,IDU就从指令预取队列中取出后续指令进行译码,并填充译码指令队列,12,4.执行部件EU(ExecutionUnit),负责执行指令,与8086/8088中的EU类似该部件包括1个32位算术运算单元ALU、8个32位通用寄存器、1个64位圆桶形移位寄存器、1个乘法或除法器桶形移位寄存器能实现数据移位、位操作,用于乘法及其他操作桶形移位器与ALU并行操作,可加速乘法、除法、位、移位操作,13,5.分段部件和分页部件,分段部件SU(SegmentUnit)分页部件PU(PagingUnit)两者构成存储器管理部件MMU(MemoryManagementUnit)用于管理存储器,下面分别介绍,14,(1)分段部件,分段是将存储空间分成若干个存储区域(或地址空间)每个存储区域称为一个段,每个段独立、被保护分段提供隔离代码、数据、堆栈的机制,每个程序可以使用若干个段分段可以隔离任务,使多个程序(或任务)在同一个CPU上运行,互不干扰,15,(2)分页部件,分页是另一种存储器管理模式可用磁盘模拟内存,即构造虚拟存储系统,当运行程序所需内存容量大于实际内存容量时,也可运行。程序运行机制是,虚拟内存(如硬盘)存放暂时不执行的程序和数据,执行时,再装入实际内存通过分页实现基于页请求的虚拟存储系统分页也能用于隔离多个任务,16,6.浮点运算部件FPU(FloatingPointUnit),用于完成浮点数运算、二进制整数运算、十进制数串运算等80486以后把FPU集成到CPU芯片内,使引线缩短,加快了运算速度FPU内有浮点专用的加法器、乘法器和除法器,还有其他寄存器如Pentium的FPU包括8个80位寄存器、3个16位寄存器和5个错误指针寄存器,17,3.2.2内部寄存器,80386、80486、Pentium微处理器内部寄存器分为8类通用寄存器指令指针寄存器标志寄存器段寄存器系统地址寄存器控制寄存器调试寄存器测试寄存器,下面分别介绍,18,1.8个通用寄存器,EAX(ExtendedAX),低16位可作独立寄存器低16位分2个8位寄存器,19,2.指令指针寄存器EIP(ExtendedInstructionPointer),从8086/8088的IP扩展而来用于存放下一条待取指令在内存的偏移地址(偏移量)工作在32位下的EIP,寻址范围4GB(232,4千兆字节)它的低16位称为IP,用于兼容16位CPU,寻址范围为64KB(216)当一个程序开始运行时,系统把EIP清零每取入一条指令,EPI自动增加(EPI取入的字节数目EPI),20,3.标志寄存器EFLAGS(ExtendedFlags),是一个32位标志寄存器,低16位称为FLAGS,下面具体介绍,21,新增标志位介绍(1),输入/输出特权级别标志IOPL(InputOutputPrivilegeLevel)用于指定输入/输出操作的特权级别。有03四个特权级别,数字越小,级别越高。作用是控制各任务的输入/输出操作,避免输入/输出冲突,进行输入/输出保护。嵌套任务标志NT(NestedTask)指示当前任务是否嵌套在另一个任务之中。NT=1时表示嵌套,22,新增标志位介绍(2),保留,VM,RF,NT,IOPL,OF,DF,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,IF,TF,SF,ZF,AF,PF,CF,312221201918,IDVIPVIFAC,恢复标志RF(ResumeFlag)用于控制在Debug调试模式中如何响应异常。RF=1时遇到断点或调试故障时不产生异常中断。RF=0时遇到调试故障时产生异常中断。每执行完一条指令,RF自动置0。虚拟模式标志VM(VirtualMode)用于设置处理器为虚拟8086模式。当VM=0,处理器工作于保护模式,它是机器的本机模式,能够真正发挥机器的所有特性和作用。设置VM=1,处理器可从保护模式切换到模拟8086模式。要使VM1,只能在保护模式下通过执行任务返回指令IRET或任务切换实现。,23,新增标志位介绍(3),保留,VM,RF,NT,IOPL,OF,DF,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,IF,TF,SF,ZF,AF,PF,CF,312221201918,IDVIPVIFAC,对准(对齐)检查标志AC(AlignmentCheck)用于检查要访问的地址是否对齐。要求访问字数据时是偶数地址,访问双字数据时是4的倍数地址,访问8字节数据时是8的倍数地址。虚拟中断标志VIF(VirtualInterrupt)当处理器处于虚拟模式时,该标志起到中断标志IF的作用(即是IF标志的虚拟映像)。,24,新增标志位介绍(4),保留,VM,RF,NT,IOPL,OF,DF,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,IF,TF,SF,ZF,AF,PF,CF,312221201918,IDVIPVIFAC,虚拟中断挂起标志VIP(VirtualInterruptPending)与虚拟中断标志VIF联合使用。VIP1时表示一个中断被挂起(待执行)。VIP0表示没有挂起的中断。处理器读取该位,但不修改它,由软件设定该标志。识别标志ID(Identification)表示CPU是否支持CPUID指令。该指令用于获得CPU类型、型号、制造商信息、商标信息、序列号和缓存等一系列CPU信息。,25,4.段寄存器(SegmentRegister),CS、DS、ES、SS、FS、GS,新增FS、GS,作附加数据段寄存器使用,用于扩大数据存储区域每个段寄存器对应一个64位(隐含)段描述符寄存器段寄存器也称段选择符或段选择子,26,5.控制寄存器(ControlRegister),80386、80486有4个控制寄存器CR0CR3Pentium有5个控制寄存器(CR0CR4)CR1留作备用,供今后开发新处理器使用。控制寄存器用于保存机器的各种全局性状态信息。大部分系统阻止应用程序修改控制寄存器,允许读取。,27,6.系统地址段寄存器(程序不可见),只用于保护模式,用于存放内存中描述符表(特殊段)的地址信息全局描述符表寄存器GDTR(GlobalDescriptorTableRegister)中断描述符表寄存器LDTR(InterruptDescriptorTableRegister)局部描述符表寄存器IDTR(LocalDescriptorTableRegister)任务寄存器TR(TaskRegister)以上寄存器仅供系统使用,程序不能直接访问系统地址段寄存器,下面具体介绍,28,段描述符和段描述符表,保护模式下:一个任务可以使用内存中的多个段段参数包括:段基地址、段长度、段类型(如代码段)、权限等段描述符:段的各项参数,每段有1个描述符,占用8B段描述符表:内存中存放段描述符的线性表,下面介绍描述符表寄存器,内存段描述符表,8B描述符,8B描述符,8B描述符,29,(1)全局描述符表寄存器GDTR(程序不可见),GDTR(GlobalDescriptorTableRegister):存放全局描述符表的基地址、长度GDT:全局描述符表(GlobalDescriptorTable)用于存储全局描述符(每个任务都可访问的描述符)整个系统只有一个GDT通过GDT可以共享各任务都用的段切换任务时并不切换GDT,30,(2)局部描述符表寄存器LDTR,LDTR:存放待取局部描述符的位置信息(索引值或选择符)即与局部描述符表首地址的距离(偏移量)LDT:局部描述符表(LocalDescriptorTable)每个任务有一个LDT,存储该任务涉及的代码段、数据段、堆栈段的描述符等信息每个任务只能访问自己的LDT,起隔离、保护目的切换任务时,也切换局部描述符表,31,(3)中断描述符表寄存器IDTR,IDTR(InterruptDescriptorTableRegister):存放中断描述符表的基地址和段界限值IDT:中断描述符表(InterruptDescriptorTable)用于存放256个中断描述符(中断门)每个中断描述符占8B该表最大长度是2568B2KB,32,(4)任务寄存器TR,TSS:任务状态段(表)(TaskStatusSegment)用于存放各个任务的环境,以便切换任务TR:任务寄存器(TaskRegister)存放待取任务描述符的位置信息(索引值或选择符)即与任务状态段(表)首地址的距离(偏移量),33,7.调试寄存器,DR0DR78个调试寄存器(DebugRegister)用于调试与设置断点,34,8.测试寄存器,TR0TR78个32位测试寄存器(TestRegister)TR3TR5用于Cache测试TR6TR7用于页面管理测试TR0TR2未用(备用),35,3.3CPU工作模式与地址变换,80386、80486支持三种工作模式:-实地址模式(简称实模式,RealMode)-虚地址保护方式(简称保护模式,ProtectedMode)-虚拟8086模式(简称V86模式,VirtualMode)Pentium增加系统管理模式SMM(SystemManagementMode)-SMM模式为系统管理设置-使设计者实现高级管理功能,如对电源、操作系统和正在运行程序实行管理,提供透明的安全性。-在硬件控制下,从任何一种模式进入SMM模式,事后再返回到原来模式。,各工作模式特征,36,CPU各工作模式的特征,实地址模式(实模式):是为建立保护方式做准备的模式。80X86机器通电或复位后,首先进入实模式,完成初始化操作后,再切换到保护模式。保护模式:CPU能真正发挥作用的模式,系统所有指令和特性均可使用。虚拟8086模式是作为保护模式下的一个任务,即是保护模式下的8086模式。在保护模式下可作为任务切换进入或退出虚拟8086模式。,继续,37,工作模式与访问存储器,实模式只允许CPU访问第一个1MB存储器空间(实模式存储器)内存单元地址由“段基地址和偏移量”组成保护模式允许CPU访问所有存储器空间,分页机制段地址由描述符提供,描述符在描述符表中选择虚拟8086模式与实模式相同点:存储空间为1MB,“段基地址和偏移量”组成地址与实模式不同点:允许分页,地址问题,38,线性地址与物理地址,逻辑地址:段基地址、段内偏移地址存储器分段:由分段部件得到的地址称为线性地址线性地址:段起始地址段内偏移地址段再分页:分页部件把线性地址转为物理地址只分段、不分页:线性地址即是物理地址,分段部件,分页部件,线性地址,物理地址,段基地址,段内偏移地址,不分页,继续,39,实模式下的地址变换,物理地址PA=段起始地址偏移地址=(段寄存器)16+偏移地址=(段寄存器)10H+偏移地址,继续,即:段寄存器的内容左移4位后,加上偏移地址段基地址:由段寄存器(CS、SS、DS、ES、FS、GS)提供偏移地址:由指令提供,范围在0FFFFH,40,实模式下的地址变换叙述,如何确定要访问内存单元的地址地址形成与8086/8088一样。即直接由段寄存器存放段基址,仅由分段部件把16位段寄存器中的内容左移4位,就得段的起始地址,再加上指令提供的偏移地址,即得内存单元的实际物理地址。,41,保护模式下的地址变换(粗图),PG=0,PG(Page)是控制寄存器CR0中的分页位当PG=0时,分页部件关闭,线性地址就是物理地址,分段部件,分页部件,线性地址,物理地址,段寄存器提供的描述符表索引,指令提供的偏移地址,PG=1,继续,42,310,保护模式下的地址变换(细图),段界限,FFFFFFFFH,00000000H,描述符高速缓存寄存器,虚拟存储空间,段选择符(偏移地址),指令给出的偏移地址,分页部件,物理地址,内存描述符表,线性地址,段基地址段界限属性,8B描述符,8B描述符,8B描述符,段寄存器,1530,GDTR/LDTR/IDTR全局描述符表寄存器/局部描述符表寄存器/中断描述符表寄存器,描述符表寄存器,描述符表起始地址,PG=1,PG=0,继续,43,保护模式下的地址变换叙述,根据要访问的段,从段寄存器中取出段描述符在段描述符表中的偏移地址,再加上描述符表寄存器(全局描述符表寄存器或局部描述符表寄存器或中断描述符表寄存器)提供的段描述符表起始地址,得到段描述符在段描述符表的物理(实际)地址。根据上步得到的地址从段描述符表中取出段描述符,得到段基地址(起始地址)、段界限和属性信息,并送到隐含64位段描述符高速缓冲寄存器。将段描述符高速缓冲寄存器中的32位段基地址加上指令给出的32位偏移地址,得到存储单元的线性地址。若不分页(不用分页部件),线性地址即是物理地址。若分页,经过分页部件把线性地址转换为物理地址。,44,3.4Pentium微处理器特点简介,处理器内部配有高容量的双Cache具有更快的浮点运算单元通过硬件预取指令超级流水线技术(后面介绍)乱序执行指令(后面介绍)预测分支转移(后面介绍)其他,45,超级流水线和超标量结构,超级流水线:指令的执行步骤分得更细,流水线长度更长优势:有利于提高速度例P3流水线长度为14级,P4流水线长度为20级超标量结构:具有多条指令流水线多个ALU、多个FPU多个译码器优势:多条流水线并行工作,提高性能例P4:ALU2,FPU2,46,乱序执行指令(Out-of-OrderExecution),按照最优化的顺序执行指令保证流水线不间断,满负荷运行,提高效率最终结果与原程序相同,47,分支转移预测(BranchPrediction),提高转移指令的执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉堡造型基础知识培训课件
- 跨境电子商务双语教程 试卷B中英文答案
- 水边安全基础知识培训课件
- 混凝土拌合物的温度控制方案
- 水粉平涂技法课件
- 水管业务知识培训课件
- 说课中医基础理论01课件
- 胎儿窘迫的护理周立蓉73课件
- 施工机械防护与管理方案
- 混凝土运输与配送协调方案
- 【艾瑞咨询】2024年中国健康管理行业研究报告494mb
- 胸痹的中医治疗
- 人流术后的护理及健康宣教
- 财务岗位笔试题目及答案
- 兵团两委考试试题及答案
- DB31/T 636.1-2018会议经营与服务规范第1部分:会议服务机构等级划分与评定
- 创新素养评价体系:核心素养框架下的关键指标研究
- 夫妻房屋加名协议书
- 《大脑中动脉解剖结构》课件
- z08小升初数学试卷及答案
- 智慧水务数字化供水平台建设方案
评论
0/150
提交评论