《微处理器》PPT课件.ppt
《《微处理器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《微处理器》PPT课件.ppt(189页珍藏版)》请在三一办公上搜索。
1、第二章 微处理器,2.1 内部结构2.2 寄存器组2.4 工作模式2.5 中断与异常2.6 存储管理2.7 多任务与多处理2.8 高速缓存2.9 引脚和功能2.10 总线周期,本章学习目标,80486各部件的功能和相互关系,Pentium在体系结构上的新特点。32位CPU的寄存器以及和16位CPU的区别。在保护模式下中断和异常。在实模式、保护模式和虚拟8086模式下存储管理。任务设置,任务转换过程及检查的内容。80486和Pentium高速缓存的结构和功能。80486和Pentium引脚的功能及差别。80486和Pentium主要总线周期时序、总线状态变化及区别。,2.1 内部结构,2.1.1
2、 80486的内部结构2.1.1 Pentium的内部结构,2.1.1 80486的内部结构,2.1.1 80486的内部结构,BIU:与芯片总线、指令预取部件、Cache部 件相连,执行总线访问请求。读:预取指令、读内存、Cache行填充 写:写M和I/O、Cache通写写内存;写缓冲(432b)。指令预取:总线空闲时产生存储器地址向Cache或通过BIU向内存取16B代码命中Cache放入32B的指令队列中产生预取周期 跳转、中断、调子程时清空预取队列。,2.1.1 80486的内部结构,指令译码:从指令预取队列取机器码转换成控制信号。两步译码:指令执行时要访存,产生 总线 周期取存储器操
3、作数。指令译码由机器码产生对其 它处理部件的控制信号。控制部件:对整数、浮点运算和分段部件控制整数部件:9个32位REG、1个64位桶形移位 器、ALU。1T内完成整数传送、加减运算和逻辑操作,分段和分页部件:进行存储器保护和虚存管理,FPU:增强80387,Cache:L1Cache:8KB 数据和指令Cache。L2Cache:128KB256KB,逻辑地址,分段,段Cache,2.1.1 80486的内部结构,线性地址,分页,TLB,物理地址,CPU,64位,FPU,64位,Cache,MEM,BIU,32位,32位,成组传送,L1Cache,128b,命中,预取部件,不命中,内存,未命
4、中行填充,2.1.2 Pentium的内部结构,2.1.2 Pentium的内部结构,8KB的指令Cache和8KB数据Cache 各自的TLB Cache和BIU的DB是64位 支持突发式总线周期和流水线总线周期,1.哈佛结构的Cache,预取顺序请求 预取B1 线性预取 无分支 BTB预测 有分支 动态分支预测算法 预取B2 预取分支后指令,2.1.2 Pentium的内部结构,记录分支地址,一个工作,从Cache或内存预取指令,2.BTB和预取B,2.1.2 Pentium的内部结构,2.BTB和预取B,预取顺序请求,预取B1,BTB预测,动态分支预测算法,无分支,有分支,线性预取,预取
5、分支后指令,预取B2,纪录分支地址,分支指令,2.1.2 Pentium的内部结构,指令 控制信号 预取B 指令译码器 CU IU、FPU 微码 控制ROM IU(U、V流水线)操作序列,3.指令译码、控制ROM和CU,2.1.2 Pentium的内部结构,4.超标量体系结构IU 超标量处理机:1T内同时发射多条指令,资源重复,空间并行,提高指令执行的平均速度。超流水线处理器:1T内分时发射多条指令,时间重迭,时间并行,提高指令执行的平均执行速度桶形移位器。U流水线:地址生成、REG、ALU、数据Cache接口;整数或浮点指令/1T共享。V流水线:地址生成、REG、ALU、数据Cache接口;
6、简单整数,FXCH/1T5.流水线式FPU 组成:控制器、REGS、加法器、乘法器、除法器、80位宽通道 速度:8级流水线,每T完成12个浮点运算,快80486十倍以上,2.2 寄存器组,通用寄存器从16位 32位。段寄存器仍为16位,增加2个:FS、GS;每个段寄存器都有一个描述符寄存器。32位EIP和EFLAGS。增加了CR、DR、TR、系统地址寄存器和 Pentium的专用模型寄存器。,2.2.1 通用寄存器,2.2.2 段寄存器和描述符寄存器,2.2.3 指令指针,IP:16位操作方式:实地址模式、虚拟8086模式。EIP:32位操作方式:保护模式。(E)IP保存下一条将要执行的指令相
7、对于段基址的偏移量。,2.2.4 标志寄存器EFLAGS,32位中位1为1,位31位22,位15,位5,位3为0。其它16位分为状态标志,控制标志(DF)和系统标志。21 20 19 18 17 16 14 1312 11 10 9 8 7 6 4 2 0,2.2.5 控制寄存器,2.2.5 控制寄存器,MOV CRX,r32;MOV r32,CRX1.CR0 控制或指示用于整个系统条件的标志,低16位为MSW。0 PE:保护模式允许 PE1 系统在保护模式下工作 PE0 系统在实地址模式工作,2.2.5 控制寄存器,1 MP:监视协处理器 MP1并且TS1,WAIT指令发生异常7:协处理器不
8、可用Fault。2 EM:仿真协处理器(80386用80486以上FPU在片内)。系统有FPU:EM0,MP1 系统无FPU:EM1,MP0 遇到ESC前缀的FDU指令,发生异常7。异常7程序:模拟ESC指令在无FPU时执行协处理器。3 TS:任务转换。任务切换完成,CPU自动把TS置1。若MP1,在遇到FPU opcode或Wait指令可正常工作。任务转换时未切换FPU的运行状态,只是在新任务需要FPU时才进行切换。,2.2.5 控制寄存器,4 ET:协处理器类型(仅对80386)ET1,FPU为与80387兼容的32位FPU。ET0,FPU为与80386兼容的32位FPU。上电时检测803
9、87的 引脚,设置ET。软件设置ET。31 PG:页管理使能 PG1 分页存储管理 线性地址 页变换 物理地址。PG0 无分页管理 线性地址 物理地址。,2.2.5 控制寄存器,以下各位对80486/Pentium有效5 NE:数据错误异常控制位 NE1 数字错误引起异常16,实现与80386兼容的数字异。NE0 0,忽略数字异常。1,CPU停止工作,等待由。产生的中断模拟8087/80387的。16 WP:写保护 WP1 核心代码不能对用户级页面进行改写。WP0 核心代码能够对用户级只读页进行改写。,2.2.5 控制寄存器,18 AM:对齐标志控制位 AM1 允许对齐检查 CPU对齐检查,非
10、对齐 EFLAGS的AC1 时,要产生异常17,CPL3的MEM操作 对齐检查异常。29 不通写位 NW(Not Writethrough)NW0:允许通写,既写Cache,又写内存。NW1,不许通写(此时CD1,Cache不使 能)。,2.2.5 控制寄存器,30 CD:Cache不使能。CD0,Cache使能。CD1,Cache作废 访问Cache未命中,则不填充Cache。访问Cache命中,Cache仍可工作。完全使Cache停止工作,要刷新Cache。CD0,NW0,Cache才能正常工作,产生Cache的有效周期。2.CR2:页故障的线性地址。CR0中PG1时CR2才有效 某页不在
11、内存中,页转换时发生分页错误,这是CPU将缺页的线性地址保存在CR2中。,2.2.5 控制寄存器,3.CR3:页目录表基址及页级外Cache使能和写属性。CR0中PG1时CR3才有效。位4:页外Cache不使能PCD位,控制使外部页Cache是否工作的引脚PCD。PCD1,对页目录不进行外部高速缓存。PCD0,对页目录进行外部高速缓存。PCD位驱动CPUPCD引脚控制外部Cache工作。位3:页通写位PWT。PWT1,外部Cache对页目录通写,PWT0,回写。PWT位驱动CPUPWT引脚控制外部Cache工作位31位12:当前任务的页目录表基址。,2.2.5 控制寄存器,4.CR4:Pent
12、ium扩充,位31位7保留。0 VME:虚拟8086模式扩充。VME=1,允许虚拟8086模式扩充,即允许虚拟8086中断,在VM8086下,VME=1,支持VIF。1 PVI:保护模式虚拟中断。PVI=1,允许保护模式虚拟中断。在保护模式下,VME=1,支持VIF。2 TSD:禁止RDTSC指令,时间日期标记禁止。TSD=0,读时间标志计数器指令RDTSC可在任何特权级上执行。TSD=1,RDTSC仅在CPL=0的程序执行,否则发生异常13,即RDTSC为特权指令。,2.2.5 控制寄存器,3 DE:允许调试扩充(Debug Extensions)。DE=1,允许支持I/O断点,I/O断点有
13、效。4 PSE:允许页面大小扩充。PSE=1,允许采用4MB、2MB页。5 PAE:允许物理地址扩充。PAE=1,允许采用32位以上物理地址,否则 只用232物理地址。6 MCE:允许机器检查异常。MCE=1,允许机器检查异常功能有效。,2.2.6 系统地址寄存器,2.2.7 调试寄存器DR,CPL=0的代码段MOV DRx,r32 MOV r32,DRx1.断点寄存器:DR0DR3 每个寄存器存放一个断点的线性地址。断点的发生条件由DR7分别设定。2.调试控制:DR7(1)4个断点发生的条件和访问类型。(2)I/O断点。(3)精确断点。(4)GD位使能由DR6.BD标志的调试寄存器保护状态。
14、GD位进入调试异常处理程序时由CPU清0,这允许 处理程序任意访问调试寄存器。,2.2.7 调试寄存器DR,3.调试状态:DR6(1)B3B0:在DR、LEN、R/W中的条件为真,Bi置1,即使断 点未被G或者L允许,说明断点已经发生,不一定能够进入 调试异常程序。(2)BD:下条指令将读/写调试寄存器,而它们又被Intel在线仿 真器使用时置1,并发生异常1(一般检测故障)。(3)BS:为1表示异常1是由EFLAGS中TF1时单步陷阱引起的。单步方式是最高优先级的调试异常。当BS1时,任何其他 调试状态位也能被置。(4)BT:为1表示因转换到一个TSS中T1的任务而发生的异 常1。DR7中没
15、有允许/不允许这种异常的位。仅受TSS中T位 使能。,2.2.7 调试寄存器DR,4.DR4和DR5 当CR4.DE0时,Pentium用DR4和DR作为 DR6和DR7的别名寄存器。当CR4.DE1时,引用DR4和DR5将产生未定义的操作的异常。,2.2.8 测试寄存器,TR0:未定义。TR1:奇偶校验逆寄存器。TR2:指令Cache结束位。TR3、TR4、TR5:Cache数据、状态、控制测试寄存器。TR6、TR7:TLB命令,数据测试寄存器。,2.2.9 Pentium模型专用寄存器,控制:可测试性、执行跟踪、性能检测、机器检查错误。R/W:用MOV指令直接访问其中TR会发生异常6,使用
16、指令 RDMSR和WRMSR。,2.4 工作模式,Intel的32位微处理器有三种工作模式:实地址模式保护模式虚拟8086模式。,2.4.1 实地址模式,1.实模式的复位进入 RESET=15T当 复位:350T400T,控制ROM和大部分随机逻辑当 RESET=78T 自测试:220T,然后复位且 Pentium INIT或 80486 AHOLD或 80386,2.4.1 实地址模式,寄存器的状态 EDX 80486:00000400分级ID Pentium:00000500分级ID CR0,0 1 1 0 0 0 1 0 0 0 0,2.4.1 实地址模式,2.Pentium复位和自测试
17、启动(1)Pentium的复位方式,2.4.1 实地址模式,(2)REGS的状态 见表2.4(3)引脚的状态 高电平:低电平:HLPA、BREQ、BP3、BP2、PRDY、IBT、IU、IV、BT3BT0 高阻抗:D3D0、DP7DP0 未定义:A31A3、AP、PM0/BP0、PM1/BP1、W/、M/、PCD、PWT、TDO、SCYC,PCHK,2.4.1 实地址模式,(4)内部自测试 时间:220 组成:硬件自测试和微代码自测试 方法:对Cache、TLB和BTB进行两项阵列测试:原码和补码。常数ROM测试:使用微代码增加不同常数,检查结果值与存储值是否相等。复位结束时,程序从FFFFF
18、FF0H开始执行,段间调用/转移指令时,转到000FFFFFH以内的地址。,2.4.2 保护模式,选择符,描述符,描述符的分类:,段描述符系统控制描述符,数据段描述符代码段描述符,堆栈段描述符一般数据段描述符,系统描述符门描述符,任务状态段描述符特殊系统段描述符,任务门描述符调用门描述符中断门描述符陷阱门描述符,2.4.2 保护模式,1.选择符2.段描述符:数组、把逻辑地址变换成物理地址,定义MEM用法,控制转移,切换任务,2.4.2 保护模式,(1)段基址:段起始的32位线性地址(2)段限长:20位限长与G位共同计算(3)G:G0 限长单位为1B 限长1MB 最大地址000FFFFFH。G1
19、 限长单位为1P(4KB)限长4GB 最大地址 FFFFFFFFH 表中20位段限长值左移12位(即乘以212或1000H)加FFFH。(4)D/B D 代码段:1 32位操作和寻址;0 16位操作和寻址。B 数据段:1 32位数据;0 16位数据。堆栈段:1 32位堆栈操作,ESP;0 16位堆栈操作,SP。(5)访问权限:,2.4.2 保护模式,P 存在位:P1,段在内存中;P0,段不在内存中,访问该段引起异常。DPL:描述符特权级,该段被访问的特权级,从0到3特权级降低。S 描述符类型:S1,代码段,数据段,堆栈段。S0,系统控制,TSS、LDT、门描述符。E 段可行性:E1,代码段,可
20、执行;E0,数据段,不可执行。,2.4.2 保护模式,ED/C和W/R 数据段:ED W ED:扩展方向 ED0 向上 偏移量段限长。W:可写性 W0 不可写;W1可写 代码段:C R C(Confirming):C1 要证实代码段,访问和被访问特 权级不总是相同;C0 非证实代码段,访问和被访问特 权级总是相同A(Accessed):访问过 A1 段被访问过;A0 段未被访问过,2.4.2 保护模式,3.系统描述符(与门描述符一起包含在系统控制和描述符中)段基址、段限长、G位和段描述符相同 访问权限字节不都相同,2.4.2 保护模式,2.4.2 保护模式,4.中断描述符(又称门描述符),2.
21、4.2 保护模式,P 门描述符符的有效性:P1,有效;P0,无效DPL:描述符特权级TYPE:4,6,7 286调用门、中断门、异常门 C,E,F 32位调用门、中断门、异常门 5 任务门字计数:调子时,须从调用程序级堆栈拷贝到子程级堆栈去的参数个数(16/32栈分别指字/双字个数),2.4.2 保护模式,选择符和偏移量对中断、异常、调用门表示服务程序或子程的首址。对于任务门,偏移量无效,选择符指向任务的TSS描述符。TSSD时系统描述符:段线性基址、限长和属性 段线性基址和限长确定TSS的位置和大小 中断,异常,调用门中的选择符选中某一个代码段描述符代码段D中的32位线性基 址门D中的32位
22、偏移量形成例程或子程的首地址。,2.4.2 保护模式,5.描述符表,2.4.2 保护模式,2.4.2 保护模式,6.保护:特权级保护、存储器保护、OS保护(1)特权级保护:数据存储、控制转移、指令集的限制,软件之 间实现隔离。(最高)PL0 PL1 PL2 PL3(最低)OS内核 系统服务 OS扩展 App特权级低的程序 允许向外提取数据 调用特权级高的过程,2.4.2 保护模式,特权级32位微处理器采用4级特权级,操作系统为0级,系统服务为1级,操作系统扩展为2级,用户程序为3级。CPL:当前代码段具有的访问特权级,CS中最低2位。通过描述符转移控制到新代码段时,CPL改变。CPL0的任务能
23、够访问GDT及任务LDT中描述符对应的数据段。DPL:段被访问特权级 非证实代码段 CPLDPL。DPL0或LDT中描述符,CPL0的程序可访问。DPL3,所有程序都可以访问。,2.4.2 保护模式,RPL:选择符的特权级,指向同一描述符的选择 符可有不 同RPL对描述符指向段的访问须RPLIOPL时,执行I/O敏感执令产生保 护异常13。IN、OUT、INS、OUTS、STI、CLI和 LOCK前缀EPL:有效特权级 EPLMAX(CPL、RPL),特权级检查的原则 数据段:只允许同级和高级的代码段访问。代码段:只允许向同级和更高级别的代码段转移控制。堆栈段:其特权级和执行代码段相同,控制转
24、移时随之变化。特权级检查的规则 a.读/写数据类段规则 现行代码段堆栈操作:CPLDPL 现行代码段R/W数据段:CPL=DPL,否则发生异常13。,2.4.2 保护模式,2.4.2 保护模式,b.数据类段寄存器装入规则 装入堆栈段选择符:CPLRPLDPL,否则发生异常12。装入数据类段选择符:EPL=中断/异常处理程序DPL 异常:异常门的DPL=CPL通过门的段间调用:EPL=代码段的DPL任务转换时,转入任务的CPL=任务门的DPL JMP:只能转移到与CPL具有相同级的段 CALL:使用调用门把控制转移到更高级代码段 RET:把控制转移到更低级代码段,2.4.2 保护模式,d.IOP
25、L规则 IO敏感指令:IN、OUT、INS、OUTS、STI、CLI和LOCK前缀 CPL=IOPL TSS的I/O位图允许,否则将发生异常13。e.特权级指令使用规则 仅CPL0的代码段才能执行如下特权指令,否则发生异常13。CLTS、HLT、LGDT、LIDT、LLDT、LMSW、LTR;涉及CR、DR、TR的MOV指令,RDMSR、WRMSRf.页访问规则 违反页表项、页目录项规定权限或访问不存在页将发生异常14。,2.4.2 保护模式,(2)存储器保护MOV、POP、LDS、LES、LFS、LGS、LSS指令将选择符装入DS、ES、FS、GS、SS;JMP、CALL、RET、IRET指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 PPT 课件

链接地址:https://www.31ppt.com/p-5508224.html