1、微型计算机原理与接口技术 第5版 第13章 32位微型机的基本 工作原理,本章主要内容,13.1 32位微处理器的结构与工作模式 13.2 寄存器 13.3 保护模式下的内存管理 13.4 保护模式下的中断和异常* 13.5 任务切换* 选用,从80386开始,Intel微处理器采用基本相同的体系架构,包括向前兼容的指令集架构,工作模式和支持的数据类型。 自80386起,Intel将体系架构称为X86架构。于是 8086/8088、80186和80286被称为X86-16架构;而后来的80386、80486、Pentium等则称为X86-32架构。 Pentium起不再以X86命名,统一称为I
2、ntel体系架构(Intel Architecture,IA),IA-32架构即32位处理器,意思与X86-32架构一样。,Intel在IA-32基础上对体系架构进行了不少改进,尤其是P6微结构和NetBurst微结构。 P6微结构从Pentium Pro开始,包括P、P Xeon(至强)、Celeron(赛扬)、P、P Xeon等32位处理器,制造技术与Pentium同,但基于三路超标量管道微结构新技术,引入了并行处理机制,增加了二级高速缓存(L2 Cache),每周期执行3条指令,从P和P开始又引入了MMX技术和SSE指令集。 NetBurst微结构从Pentium 4开始采用,并用到了P
3、4 EE、P4 HT、Celeron D等64位处理器中,甚至应用于双核Pentium D。增加了许多新技术,整体性能更高。,IA-32架构被最普遍采用。原因: 这类处理器上运行的软件兼容性好; 新发布的IA-32架构处理器性能均优于前一代。 从16位8086到32位80386,外部数据总线从16位32位,地址总线从20位32位,体系结构、工作模式、内存管理等都有根本改变。 P4性能比80386有很大提高,但工作模式、内存管理等与386类似,只是扩充了许多功能。 比较起来386要简单很多,所以从386入手介绍32位机。,13.1 32位微处理器的结构 与工作模式,13.1.1 32位微处理器结
4、构简介 13.1.2 32位微处理器的工作模式,13.1.1 32位微处理器结构简介,1. 80386 CPU 数据总线32位,内部寄存器和操作32位;外部地址总线32位,寻址4GB(232)地址空间,新的分段分页概念;加上80387协处理器后可处理浮点数。,1)总线接口部件(Bus Interface Unit,BIU)产生和接受访存和I/O端口的地址、数据及命令信号,实现80386和80387间的协调控制。 2)指令预取部件(Instruction Prefetch Unit,IPU)将内存中的指令经BIU取到16字节预取指令队列中,并向指令译码部件输送指令。CPU执行当前指令时,译码部件
5、对下条指令译码,预取队列一有空,又会从内存中取出指令,将队列填满。 3)指令译码部件(Instruction Decode Unit,IDU)从IPU中取出指令译码,然后放入IDU中的译码指令队列,供执行部件使用。该队列能容纳3条已译码指令,队列一有空,又会从预取队列中取出下条指令进行译码。,4)执行部件(Execution Unit,EU) 含算术逻辑运算单元ALU,8个32位通用寄存器,1个64位移位加法器,执行数据处理和运算操作; ALU控制部件,计算有效地址并提供乘除法加速等; 保护测试部件,检测执行指令是否符合存储器分段分页规则。 5)分段部件(Segmentation Unit,S
6、U)将逻辑地址线性地址。每段容量1字节4GB可变。 6)分页部件(Paging Unit,PU)将SU产生的线性地址物理地址,每页4KB。总线接口部件通过物理地址访存和进行I/O操作。,2. 80486 CPU,32位微处理器,基本沿用80386体系结构。 片内增加了增强型80387协处理器,即浮点部件FPU (Floating Point Unit),拥有局部专用总线,其内部数据总线加宽至64位,速度比80387提高35倍。 片内高速缓存(即L1 Cache),为频繁访问的数据和指令提供快速的局部存储。 整数处理部件采用精简指令集RISC结构,提高了指令执行速度,每个时钟可执行1.2条指令。
7、,3. Pentium微处理器,内部ALU和通用寄存器是32位,外部数据总线64位。结构上比80486有很大改进: 1)超标量流水线结构 从486起执行指令采用流水线(Pipeline)技术,每条指令被分解成多步执行,各步可重叠,能准并行处理几条指令。 Pentium的整数流水线采用5级流水结构,即指令预取译码地址生成执行结果写回。每个时钟周期可执行1条指令。 Pentium还采用超标量流水线(Superscaler Pipeline)技术,有U和V两条流水线,各自都有ALU、地址生成逻辑及Cache接口电路,每个时钟可执行两条整数指令,速度明显提高。,3. Pentium微处理器,2)重新设
8、计的浮点部件浮点运算采用8级流水结构,每周期能完成12个浮点操作,FPU对常用指令如ADD、MUL和LOAD等采用新算法,速度提高3倍。 3)独立的指令Cache和数据Cache使数据和指令的存取分开,减少冲突,提高了性能。 4)指令固化常用指令如MOV、INC、PUSH、JMP等改用硬件实现,提高执行速度。 5)分支预测内设分支目标缓存(BTB),是个小Cache,能动态预测程序分支,保证流水线的指令预取步骤不会空置。,4. Pentium Pro处理器,高能奔腾,采用P6微架构,比Pentium增加的特点: 1)一个封装内安装两个芯片CPU内核与256KB二级Cache封装在1个芯片内。
9、2)乱序执行和分支预测技术若1条指令因等待未执行完,会找出其它指令来执行,并与分支预测技术结合,动态“乱序”执行,提高效率。 3)超流水线和超标量技术3路超标量结构,并行执行指令能力强。14级超长流水线结构,将指令执行过程分成一连串的级,进一步提高并行处理能力。 4) 物理地址扩展36位地址总线,寻址空间扩展到4GB以上,支持64GB内存,但每次操作的线性地址分段范围仍在4GB以内。,5. Pentium II 处理器,融合了多媒体扩展(MMX)技术,在Pentium Pro基础上增强了3D图形、图像和多媒体可视化计算能力与交互功能。采用的先进技术: 1)MMX技术引入新数据类型和8个64位寄
10、存器mm7mm0, 采用单指令多数据(SIMD)技术,1条指令能并行对多个定点数作相同操作。 2)动态执行技术动态执行技术,结合3种处理技巧有效处理多重数据:多分支预测判断数据流向,数据流分析决定指令最佳执行顺序,推测执行技术同时处理多条指令。 3)双独立总线结构1条连Cache,1条连主存,CPU同时使用它们,吞吐量和二级Cache速度均提高一倍。,6. Pentium III 处理器,主要特点: 8个新的单精度浮点寄存器xmm0xmm7。 增加了70条数据流单指令多数据扩展(SSE)指令。 能同时处理4个单精度浮点数。 每秒20亿次的浮点运算速度。,7. Pentium 4 微处理器,P4
11、的主要技术特点: 1)更快的系统总线 改变了原来前端总线(FSB)与内存时钟同步的设计,能在100MHz的FSB下提供400MHz 数据传送速度。 2)高级转移缓存(ATC) 具有256KB嵌入核心全速L2缓存,速度与CPU时钟同步。例如1.4GHz的P4,L2的速度也是1.4GHz,数据宽度32位,传送速度达32bit1数据/时钟1.4GHz = 44.8GB/s。 3)先进的动态执行技术 执行引擎的暂存容错能力非常大,能有效减轻因等待修复错误太多而延缓执行的问题;执行追踪缓存能暂存126个微结构指令;分支预测缓存增大到4KB,改善33%的分支预测能力。,4)超长流水线技术 有20条流水线,
12、指令流水线深度达20级,时钟频率和效能均显著提升。 5)快速执行引擎 每个时钟执行两次算术逻辑运算,1.4GHz的CPU运算速度与2.8GHz的相当,提升了运算速度。 6)高级浮点和SSE2技术 增加了双精度浮点数操作、寄存器数据交叉操作以及数据高速缓存操作,适用于3D图形渲染、语音识别、视频编解码和数据加密等。 在不改变NetBurst微架构前提下,将P4升级到64位,推出了64位P4处理器。,13.1 32 位微处理器的结构 与工作模式,13.1.1 32位微处理器结构简介 13.1.2 32位微处理器的工作模式,13.1.2 32位微处理器的工作模式,80386有3种工作模式,分别是 实
13、模式 保护模式 虚拟8086(V86)模式 3种工模式可相互转换。 从Intel 80386 SL处理器开始增加了 系统管理模式,1. 实模式 (Real Addressed Mode),在实模式下,80386相当于一个快速的8086。只有1MB的内存寻址能力,32位地址线中仅低20位地址有效。只支持单任务工作方式,不支持多任务方式。 80386设置了4个优先级或特权级:03级,其中0级为最高级。在实模式下,只能在优先级0下工作。,2. 保护模式 (Protected Mode),1)保护模式的特点 采用全新的分段和分页内存管理技术,直接寻址4GB,允许使用虚拟存储器,使用户感觉的内存容量达6
14、4TB。 支持多任务工作方式。 可使用03级(优先级)保护功能,实现程序与程序之间、用户与操作系统之间的保护与隔离,为多任务操作系统提供优化支持。,2)多任务 一台计算机可同时干几件事例如在进行文字处理的同时,在后台打印表格等。它们属于不同的任务(Task)。 80386支持多任务但不是并发的多任务,并非单个处理器在同时处理两个任务,通常采用划分时间片(分时)的策略同时运行多个进程。 8086只支持单任务,3)优先级 因多任务需求,386/486引入了优先级(或特权级)概念。存放程序和数据的存储器段都被赋予03级的优先级,0级最高。,0级任务可使用整个处理器的资源。操作系统的核心,如存储器管理
15、、保护和访问控制等的程序被赋予0级特权。 1级为可能改变的OS程序,如外设驱动、系统服务程序等。 2级用来保护数据库管理系统、办公自动化系统等子系统。 3级为用户级权利,即一般用户的应用程序等。,优先级也称保护环,它能较好解决多任务环境下各任务间的干扰和冲突。 例如,OS的核心部分优先级最高,它可访问其它段内的程序和数据,其它级别的程序不能访问它,其安全得到保障。,4)门(Gate) 有了保护机制,优先级低的程序就不能调用高的,否则会产生异常。结果,会禁止用户从OS得到必要的服务。 为此,80386专门设置了一些合法入口点,允许低级程序从操作系统得到服务,使用门,通过重定位,来访问这些入口点。
16、 门分为调用门、中断门、陷井门、任务门,它们的功能比较复杂。,5)中断和异常(Exception) 中断:处理器外部事件产生的硬件中断,含可屏蔽和不可屏蔽中断两类。 异常:执行某条指令期间,检测到的一种错误,或者无法解决的问题所产生的软件中断调用。 用向量号来标识不同的中断和异常,可根据它们从中断描述符表IDT中找到相应的处理程序。,3. 虚拟86模式 (Virtual 86 Mode,V86) 在V86模式下,支持保护机制,也支持内存的分页管理,并可进行任务切换,又与8086兼容。 内存寻址空间仍为1MB,段地址的计算方法与8086一样。,4. 系统管理模式 (System Manageme
17、nt Mode,SMM) 也是一种存储器管理模式,从80386 SL起成为标准IA-32结构的特点。 此模式能让32位机实现电源管理和系统安全等方面的高级管理功能。 进入SMM:触发外部系统管理中断SMI#引脚,或高级可编程中断控制器APIC接收到一个SMI#中断。 处理器保存当前程序和任务状态后,切换到一段独立的地址空间,执行指定代码。返回时回到响应SMI#之前的状态。,5. 四种模式之间的关系,方式切换,进入实模式80386加电或复位。 实模式保护模式置控制寄存器CR0的保护模式允许位PE=1;令PE=0则回到实模式。 保护模式V86模式执行中断返回指令IRET或任务切换,这时EFLAGS寄存器中的VM=1;中断可使保护模式V86模式。 任一种方式系统管理模式SMI#到来;执行管理模式返回指令RSM,回到此前的模式。,