版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 微处理器,8086 微处理器 IA 微处理器的进化 Pentium 微处理器,2.3 Pentium 微处理器,Pentium 的结构特点 超标量流水线 指令的分支与预测 Pentium的工作模式,1)总线单元 2)数据Cache 3)代码Cache 4)指令预取器 5)预取缓冲器 6)指令译码单元 7)控制单元 8)整数执行单元 9)寄存器组 10)地址产生器 11)分页单元 12)浮点单元,1、Pentium的 功能单元,2.3.1 Pentium 的结构特点,1、Pentium的功能单元,1)总线单元 l 地址发送接收器 l 写缓冲器 l 数据总线收发器 l 总线控制逻辑 l 总
2、线主控制 l 第二级Cache控制 l 内部Cache控制 l 奇偶校验码生成和控制,1、Pentium的功能单元,2)数据Cache 8K字节 每行32字节 两路组相联结构组织的高速缓存 Cache目录为三端口结构 允许两条流水线同时访问并支持监听功能。,1、Pentium的功能单元,3)代码Cache 8K字节 每行32字节 两路组相联结构组织的高速缓存 Cache目录为三端口结构 允许两条流水线同时访问并支持监听功能。,1、Pentium的功能单元,4)指令预取器 将所需要的指令从代码Cache读到指令预取器,如果所需要的指令行不在代码Cache中,它启动一个总线的猝发周期,CPU从外部
3、存储器取指进行Cache行填充操作.,1、Pentium的功能单元,5)预取缓冲器 包含两组指令预取缓冲器,两组之间相互独立。 指令预取器从指令Cache中取出指令,将它们顺序存放在一组预取缓冲器中,另一组缓冲器则处于空闲状态。 当预测分支指令会发生转移时,预取器将从转移目标地址开始取出指令,放入第二组空闲的预取缓冲器中。 之后,预取器一直使用第二组缓冲器直到另一条分支指令被预测,再切换回第一组缓冲器。 在线性取指和执行指令时,预取缓冲器将一对指令分别送到两条流水线U和V的指令译码器,进行指令配对分析。,1、Pentium的功能单元,6)指令译码单元 两级指令译码单元,译码级1(Decode1
4、)和译码级2(Decode2)。(组成) 译码级1除了包含指令配对检查逻辑以外,还包含分支目标缓冲器BTB(Branch Target Buffer)。BTB具有分支预测功能。(结构) 译码级2包含流水线U和V的存储器操作数产生逻辑、分段逻辑以及期望检测逻辑。(结构) 在Decode1中,检查在两条流水线中操作码是否满足Pentium指令的配对规则,如果满足,两条指令同时被送到Decode2。(功能) 如果指令是分支指令,则由BTB检查预测该指令是否会发生分支转移。在Decode2中,计算指令的操作数在存储器中的地址。(功能),1、Pentium的功能单元,7)控制单元 包含微代码序列器和微代
5、码控制ROM(组成) 进行解释指、令控制断点、控制中断(功能) 控制整数流水线和浮点流水线的操作(功能),1、Pentium的功能单元,8)执行单元 两个ALU,分别属于U、V流水线(结构) 一个桶状移位器,属于U流水线(结构) U的执行单元可以完成比V相对复杂的指令,并可先于V中的ALU完成操作。 (功能),1、Pentium的功能单元,9)寄存器组 10)地址产生器 每条流水线有一个地址产生器。根据每条流水线中指令的操作数形成特定的地址。,1、Pentium的功能单元,11)分页单元 将地址产生器来的线性地址转换为物理地址。分页单元包含一个转换旁视缓冲器(translation look-
6、aside buffer),用来保存最近使用过的页目录项和页表项。 12)浮点单元 一条浮点流水线具有8级流水步,可以在每个CLK执行一条指令,最快可以达到每个CLK执行两条指令。,2、寄存器组织,Pentium的寄存器组织,2、寄存器组织,1)基本结构寄存器 通用REGEAXEBX ESP、EBP、ESI、EDI 段REGCS、SS、DS、ES、FS、GS 在保护模式下,虚拟存储地址64T字节,存储管理寄存器便是实现存储管理机制。段寄存器CS、SS、DS、ES、FS、GS分别存放代码、堆栈和数据段的段选择符,段选择符指向定义段的段描述符。 指令指针REG EIP 标志REGEFlags* 除
7、386 VM(虚拟86/保护模式)系统标志外,增加 ID、VIP(虚拟中断挂起)等4位。,2)系统级寄存器 控制REGCR0CR3、CR4,PE:保护模式允许,MP:系统中有协处理器,PG:选择线性地址到物理地址的页表转换 CD:Cache 禁止,NW:不写直达、WP:保护用户级页,VME:虚拟方式扩展,MCE:机器检查允许,2)系统级寄存器 系统地址REGGDTR IDTR LDTR TR 段描述符提供段的大小、位置以及段的访问控制和状态信息,8字节组成。段描述符根据属性描述符分为全局描述符、中断描述符以及局部描述符,分别存放在全局描述符表、中断描述符表以及局部描述符表中。全局描述符表寄存器
8、GDTR、中断描述符表寄存器IDTR则分别存放了全局描述符表和中断描述符表的线性基地址和表的限长。局部描述符表寄存器LDTR和任务寄存器TR是用来存放局部描述符和任务描述符的选择子。由段选择符通过描述符表就能够找到段描述符进而得到段的基地址,加上偏移量最终得到线性地址。,3)调试与测试寄存器 调试REGDR0DR7 保存断点线性地址,DR6:状态, DR7:控制 测试REGTR3TR7 保存片内CACHE测试数据, TR6:控制, TR7:状态,2.3.2 超标量流水线,1、系统复位和代码Cache填充 RESET以后,Cache是被禁止的,应由驻留程序设置Cache的使能位。 Cache首次
9、置为有效后,内部的数据无效。指令预取器从Cache预取指令时,发生Cache不命中。 Cache向总线单元提出Cache行填充请求,通知总线单元从外部Cache或主存储器取指,将Cache行填满。 Cache行填充是在总线的猝发周期进行的。CPU每次将32字节代码在一个猝发周期内读入Cache行填充缓冲器。在送入Cache的同时,送入指令预取器。,2 、指令预取,指令由指令预取器从代码Cache中取出,成对存放在两组预取缓冲器(预取指令队列)中有效的一组缓冲器中。 指令队列中指令顺序存放,提供给两条指令流水线,直至遇到一条分支指令时可能会发生变化。 预测分支指令是否发生地址转移,是在执行级的译
10、码单元1 由分支目标缓冲器中的分支预测逻辑进行判断的。 如果预测该分支指令将要发生地址转移,则BTB通知指令预取器切换指令存放的队列,预取器从分支目标地址处开始取指。如果预测不发生转移,预取器仍然顺序取指并将指令存放在现行工作的指令队列中。 指令队列切换后,由当前有效的指令队列给两条流水线输送分支目标地址及以后的指令。,2 、指令预取,分支目标缓冲器与指令预取单元,3、指令配对和操作数地址计算,有效的指令队列将两条指令分别送U和V流水线的Decode1,配对检测逻辑进行配对检查。 如果两条指令能够配对执行,译码级1将它们送到译码级2。 如果不能配对,则将V流水线中的指令转移到U流水线中,两条指
11、令在U流水线中串行地执行。 在译码级2中计算操作数地址。不管操作数是什么寻址方式,译码级2用一个CLK完成操作数地址的计算。,3、指令配对和操作数地址计算,流水线的双译码2级,4、指令并行执行条件和配对规则,1)指令的并行执行 U、V流水线执行级各有一个ALU。U的ALU包含一个桶状移位器,可以执行一些在V流水线中不能执行的复杂指令。 两条指令能够配对,它们被并行执行。两个ALU可同时形成数据Cache或数据存储器的访问请求,对目标寄存器或标志寄存器的回写。指令执行是通过5个流水步完成的。 在执行级,如果V流水线拖延了时间,U流水线可以继续做如回写目标寄存器或标志寄存器的工作。反之则不行。若U
12、流水线拖延,V只能等待U。,4、指令并行执行条件和配对规则,1)指令的并行执行,Pentium流水线的双执行级,4、指令并行执行条件和配对规则,2)指令的配对规则 两条指令是简单指令; mov reg,reg/mem/imm mov mem,reg/imm alu reg,reg/mem/imm inc reg/mem dec reg/mem push reg/mem pop reg 等等。 非一字节指令长度相等;,4、指令并行执行条件和配对规则,2)指令的配对规则 两条指令不存在寄存器争用的问题,即两条指令并行执行时不会访问同一个寄存器; read-after-write相关: mov AX
13、, imm; mov BP, AX; write-after-write相关: 例1:mov AX, imm; mov AX, BP; 例2:mov AL, imm1; mov AH, imm2.,4、指令并行执行条件和配对规则,2)指令的配对规则 两条指令中只有第一条指令能带指令前缀。 有些指令只能在U流水线中执行,它们在指令序列中是第一条指令时才能配对。,图,2.2.4 指令的分支与预测,1、分支目标缓冲器和分支预测逻辑 1)概述 分支预测逻辑,可以对将要执行的分支指令进行动态的转移预测。 分支预测逻辑是以该分支指令的历史执行情况为预测依据的。 支持分支预测机制的关键部件是分支目标缓冲器B
14、TB(Branch Target Buffer)。它是一个256行4路组相联结构的Cache,它记录了已执行过的分支指令的信息。 指令执行后ALU将分支指令的执行结果反馈到BTB,BTB再根据转移预测的正确与否来修正历史记录位并指示预取器和预取队列做相应操作,1、分支目标缓冲器和分支预测逻辑,2)分支目标缓冲器BTB(Branch Target Buffer) 256个目录行,每行包括: 1 bit指示该项是否正在使用 2 bits历史记录位表示该分支指令发生转移的频度 这条转移指令源存储器的地址; 该转移指令最后一次执行时的目标地址; 分支预测逻辑根据BTB中的记录,按照一定转移预测策略对当
15、前的分支指令进行转移预测。,1、分支目标缓冲器和分支预测逻辑,2)分支目标缓冲器BTB(Branch Target Buffer),表2- 转移频度表,2、动态转移预测策略,1)转移预测策略 一条分支指令进入任意一条流水线后,BTB就根据它的源存储器地址在Cache中查找; 如果这条指令在BTB中有记录项,分支预测逻辑便以记录项的历史信息为依据,预测转移发生的情况 历史记录为11表示转移强烈发生、10表示转移较弱发生,历史记录为01表示转移基本不发生、00表示转移强烈不发生。 若历史记录项为10或11则指示正向预测,预测该指令将发生转移,并指示预取器从在BTB中 记录的指令转移目标地址开始取指
16、令,切换到另一条指令队列顺序存放指令。 若历史记录项为01或00则指示负向预测,分支预测逻辑预测该分支指令不发生转移。,2、动态转移预测策略,1)转移预测策略 当分支指令第一次进入流水线时,它在Cache中没有记录项,便产生一次查找BTB不命中。对这条分支指令的预测为不发生转移,即使这条指令是无条件转移指令。预取器也不做指令队列的切换。,2、动态转移预测策略,2)分支指令执行后BTB对记录的操作,根据转移发生情况对历史位的修改,2、动态转移预测策略,2)分支指令执行后BTB对记录的操作 如果正确地预测了转移发生。BTB记录的历史位上升。分支指令之后的正确目标地址指令已经存在于流水线。 如果错误
17、地预测转移发生。BTB记录的历史位下降。在流水线中分支指令以后的指令是不正确的,必须刷新。分支预测逻辑指示预取器切换到另一条指令队列顺序取指。,2、动态转移预测策略,2)分支指令执行后BTB对记录的操作 如果正确地预测了转移不发生,并且 BTB中存在该分支指令相应的目录,则目录的历史位降级。 在第一译码级发生了一次BTB不命中,说明BTB中不存在相应的目录项,也不必在BTB中建立目录。 如果错误地预测转移不发生,并且 BTB中存在该指令相应的目录,那么将目录的历史位升级。 BTB中不存在该指令相应的目录,则建立一个目录并将它的历史位置为强烈发生(11)。,2.2.5 Pentium的工作模式,
18、1、Pentium的工作模式 实地址方式(real address mode) 保护虚拟地址方式(protected virtual address mode) 虚拟8086方式(virtual 8086 mode) 系统管理方式(system management mode),1、Pentium的工作模式,1)实地址方式 在系统加电和复位以后,微处理器进入实地址模式。 采用和8086类似的编程环境,只是在8086基础上进行了扩充,扩展了32寄存器的指令,并在8086的编程寄存器上增加了一些新的寄存器。它的寻址机构、存储管理方式、中断处理机制和8086微处理器类似。 在实地址模式中,不使用虚拟
19、地址。 实地址模式用于系统的初始化。可以在实地址方式下进入保护模式和系统管理模式。,1、Pentium的工作模式,2)保护虚拟地址方式 是Pentium微处理器的基本操作方式。 对复杂的多任务操作系统环境提供全方位的支持,实现复杂的系统管理功能。 对存储器和数据有多种保护能力,最突出的是段的4级特权保护。 在保护模式下,系统可以寻址64TB(16K4GB)的虚拟地址空间。Pentium微处理器的存储管理机制具有将虚拟逻辑地址转换到线性地址,进而得到物理地址的功效。通过描述符表等内存管理数据结构,将大容量的磁盘存储空间映射到内存储器空间。,1、Pentium的工作模式,2)保护虚拟地址方式,特权
20、级的环形保护,1、Pentium的工作模式,3)虚拟8086方式 是保护方式的一种功能,它并不是一种实际的处理器工作方式。 可以在保护方式以及多任务的情况下运行8086的程序。该方式具有保护方式的任务属性,属于一种准操作方式。目的是为了让在8086方式下编制的软件在保护方式下仍然能够执行。,1、Pentium的工作模式,4)系统管理方式 提供了一种对操作系统或用户透明的专用程序,实现了操作系统平台的专用功能,如电源管理,系统安全管理等。 这些专用程序只能被系统固件所利用,专用代码的运行透明于操作系统。 系统管理方式只有在外部中断SMI有效时,CPU保存了运行程序或任务的上下文关系之后,切入独立
21、的系统管理程序的地址空间。,1、Pentium的工作模式,4)系统管理方式 SMM(由SMI#引起)中断入口为38000H。 SMM将Pentium的状态保存到一个叫做转储记录(dump record)的内存区域中(3FFABH3FFFFH,3FE00H3FEF7H)。 记录包括CR0、CR3、Eflags、EIP停机自动重起等 Pentium CPU的系统可以进入睡眠模式并且可以返回到中断点。 PSM指令使系统退出SMM模式。,1、Pentium的工作模式,4)系统管理方式,Pentium 不同工作模式的地址空间,2、工作模式之间的转换,系统复位后,微处理器进入实地址工作模式。 控制寄存器C
22、R0中的PE位的状态控制保护模式与实地址模式之间的切换。PE=1时系统为保护模式;PE=0时系统为实地址模式。 标志寄存器EFLAG中的VM(虚拟模式)位的状态管理虚拟8086模式与保护模式之间的切换。VM=1时,系统为虚拟8086模式;VM=0时,系统为保护模式。 微处理器接收到SMI中断时,系统进入系统管理模式。 在系统管理模式下,执行RSM指令(从系统管理模式返回),微处理器将返回中断前的状态。,2、工作模式之间的转换,进入保护模式前的工作 初始化中断描述符表 IDT 初始化全局描述符表 GDT CR0:PE=1 执行段内JMP指令清除指令队列,把TSS描述符基址装入TR 将初始选择子装入段寄存器,2、工作模式之间的转换,控制寄存器CR0:PE EFLAG:VM SMI#; RSM指令,工作模式之间的转换,小结,8086微处理器分为执行部件EU和总线接口部件BIU两个部分。执行部件负责指令的执行,总线接口部件负责与存储器、I/O端口数据的传送。EU和BIU相互配合实现指令级流水线。 8086具有最大或最小两种工作模式。在不同模式下,8086部分管脚的定义也有所不同。理解管脚信号定义和作用,是学习配置典型系统,理解微计算机工作原理的基础。配置系统时,要正确使用地址锁存器和数据驱动器,保证经过驱动以后的系统总线保持三态功能。 在取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快速提分 2027年中考吉林省语文初三湘教版中考仿真卷(含答案)
- 突破自我 2026-2027学年第一学期初一道德与法治部编版第四单元单元归类复习卷(含答案)
- 精准补弱 2027年河南省语文初三华师大版考前一周加分卷(含答案)
- 2027年湖北省道德与法治中考考前30天加分卷(含答案)
- 2027年四川省语文初三考前加分卷(含答案)
- 稳扎稳打 2026-2027学年第一学期初二生物苏教版12月月考试卷(含答案)
- 2027年湖南省语文中考仿真模拟卷(含答案)
- 2027年山东省语文九年级粤教版临考抢分卷(含答案)
- 2027年河北省英语九年级考前最后冲刺卷(含答案)
- 2026 事业编计算机岗 易错题试卷 含答案
- 第一月考过关测试卷(试卷)2026-2027学年五年级语文上册统编版(含答案)
- 现代农业与生态农业
- 2026年特种设备安全管理人员A证考试题库(含答案)
- 3.1《买文具》课件 -2026-2027学年五年级上册数学北师大版
- 2026年湖南工业职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 电子档案和档案数字化副本移交接收规范
- 医院职工绩效考核制度(2026版)
- 临床科学防治颈椎病守护颈部健康关键策略
- 信托业务监管分类说明(试行)
- 连续油管侧钻工艺技术
- 外挂悬挑式花篮盘扣脚手架安全专项施工方案7.17
评论
0/150
提交评论