已阅读5页,还剩94页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
T 拓宽教育网 开始 学习愉快 画面宁静 使人可以安静的进入学习状态 唤醒人的学习意识 宁静以致远 新编16 32位微型计算机原理及应用 李继灿主编 第八章Intel系列高档微处理器的技术发展 Intel系列高档微处理器的技术发展 30多年来 Intel公司在计算机发展的各个重要阶段不断推出了微处理器的最新技术和产品 尽管Intel系列微处理器的种类很多 但它们都有很紧密的相似性和继承性 读者一旦掌握了基本的8086 8088微处理器后 就很容易地通过进一步学习甚至自学掌握高档微处理器技术 本章将简要介绍最具代表性的Intel主流CPU系列的最新技术发展方向 重点介绍80286首次引入的虚拟存储管理 80386的存储器分段与分页管理 80486对80386的增强点 Pentium的体系结构特点以及Pentium Pentium 与Pentium4以及Itanium 安腾 的技术特征 Intel系列高档微处理器的技术发展 8 180286微处理器8 280386微处理器8 380486微处理器8 4Pentium微处理器8 5Pentium微处理器系列及相关技术的发展 8 180286微处理器 80286是继8086之后与80186几乎同时推出的产品 它们都是8086的改进型微处理器 不过 80286是一种更先进的超级16位微处理器 它和80186一样 也采用68引线的4列直插式封装 它具有独立的16条数据线D15 D0和24条地址线A23 A0 芯片上集成有13 5万个晶体管 其引线如图8 1所示 80286具有很大的地址空间 并能以两种不同的方式 实地址方式和保护虚地址方式运行 在实地址方式下 其寻址能力为1MB 相当于8086的最大方式系统 但执行速度更快 在保护虚地址方式下 简称保护方式 80286能寻址16MB 224 物理地址空间 能支持多任务操作 并能为每个任务提供多达1GB 230 的虚拟地址空间 80286的内部框图如图8 1所示和8086相比 80286的BIU分成了AU 地址部件 IU 指令部件 和BU 总线部件 硬件电路设在地址部件框内的存储器管理机构 MMU MemoryManagementUnit 能用4个分离的特权层支持iAPX286中的每一个任务的服务和应用程序 这4层特权是 操作系统核 系统服务程序 应用服务程序和应用程序 一 80286与8086 8088相比的特点 与8086 8088具有软件兼容性 在汇编源代码一级兼容 能运行实时多任务操作系统 支持存储器管理和保护功能 80286CPU内部 个处理部件可并行操作 提高了吞吐量 加快了处理速度80286内部功能部件连接示意图如图8 2所示 4 实现虚拟存储管理80286片内的MMU首次实现虚拟存储管理功能 也称为虚拟内存管理 在8086 8088系统中 程序占有的存储器和CPU可以访问的存储器是一致的 只有物理存储器的概念 其大小为 而从80286开始 CPU内的MMU在保护模式下将支持对虚拟存储器的访问 在80286中 虚拟存储器 虚拟空间 的大小可达 30 1GB 字节 而物理存储器 实存空间 的大小只可达 24 字节 80286虚拟地址对物理地址的映射示意图如图8 3所示 二 80286在体系结构上与8086 8088的主要异同点 一 寄存器结构80286为了能与以前的86 88系列产品相兼容 其寄存器结构和指令集必须是原系列产品的母集 如图8 4所示 通用寄存器和段寄存器与8086 8088完全相同 它们是AX BX CX DX SP BP SI DICS DS SS ES 2 在状态与控制寄存器组中 80286不仅在8086 8088原有的标志寄存器 FLAGS 和指令指针寄存器 IP 的基础上增加了一个机器状态寄存器 而且对FLAGS寄存器中原作保留的12 13 14位也定义了新的内容 3 80286新增加了几个寄存器一个16位的机器状态寄存器 MSW 它用于表示80286当前所处的工作方式与状态 目前只用到该寄存器的低4位 其他12位为内部保留 MSW各位的含义如下 2 任务寄存器 TR 3 描述符表寄存器 GDTR LDTR和IDTR 它们总是存放包含各种段描述符的描述符表的地址信息 用于保护模式下的寻址 二 寻址方式80286微处理器支持两种工作方式 实地址方式和保护虚地址方式 简称保护方式 在这两种方式下的寄存器功能和指令功能完全一致 80286在其实地址方式下与8086 8088的目标码完全兼容 所以任何一个8086 8088的软件 不经修改都可以在80286上运行 80286在实地址方式的寻址方式与8086相同 但是在虚地址方式的寻址方式则大不相同 三 80286的存储管理系统1 实地址模式2 保护模式 8 280386微处理器 32位微处理器同16位微处理器相比 在体系结构设计上有了概念性的变革 新技术为在32位体系结构中实现多任务多用户操作系统的管理提供了有力的支持 80386是一种与16位的80286相兼容的第一个高性能全32位微处理器 它代表了体系结构的重要进步 从16位体系结构过渡到32位体系结构 80386采用高速 1 5 m技术 132条引出线用网格阵列式封装在陶瓷片内 其耗散功率在1 5w到3 0w之间 一 80386的特点 1 80386可以工作在两种方式 实地址方式和保护方式 2 80386芯片在硬件结构上由 个逻辑单元组成 它们按流水线方式工作 运行速度可达到 MIPS 3 硬件支持多任务 一条指令可以完成任务转换 转换时间在17 s以内 4 硬件支持段式管理和页式管理 易于实现虚拟存储系统 5 硬件支持 功能 并可设置数据断点和 断点 6 4级特权级 级最优先 其次为 和 级 和 级用于操作系统程序 级用于用户程序 二 80386的内部结构 80386CPU内部结构如图8 6所示 它主要由下面6个部件所组成 1 总线接口部件 BIU BusInterfaceUnit 2 指令预取部件 CPU CodePrefetchUnit 3 指令译码部件 IDU InstructionDecodeUnit 4 执行部件 EU ExecutionUnit 它可进一步分为控制部件 ControlUnit 保护测试部件 ProtectionTestUnit 和数据处理部件 DataUnit 部分 5 段管理部件 SU SegmentUnit 6 页管理部件 PU PagingUnit 80386允许使用虚拟存储器 所谓虚拟存储器是指程序所占有的存储空间 其容量可多达246字节 实际上 它通常是利用系统中的一个速度较慢而容量很大的外部存储器 通常指硬盘 来模拟一个速度较快而容量较小的内存 程序员编写程序时 其程序存入磁盘里 因此可编写246字节的程序 这样 从程序员的角度来看 系统中似乎有一个容量很大 速度也相当快的虚拟存储器 当然 它并不是真正的物理上的内存 由于80386的虚拟存储器容量可高达246字节 即64TB或64兆兆字节 这样 它就可以运行要求存储容量比实际内存容量大得多的程序 80386的存储器管理部件 MMU 由分段部件和分页部件两部分组成 它们的功能是实现存储器的段 页式管理 在实现段 页式管理的过程中 80386就能将虚拟地址最终转换为物理地址 分段部件通过提供一个额外的寻址器件对程序员编程时所涉及的逻辑地址空间进行管理 并且把由指令指定的逻辑地址变换成线性地址 分页部件提供了对物理地址空间的管理 它的功能是把由分段部件或者由指令译码部件所产生的线性地址再换算成物理地址 并实现程序的重定位 如前所述 逻辑地址是在程序中所指定的编程地址 而物理地址是在内存中可直接寻址的实际地址 80386在运行时 系统默认程序或数据均以页为单位由虚拟存储器装入实存方能运行 上述80386内部的 个部件都能各自独立操作 也能与其他部件并行工作 当取一条指令和执行一条指令时 每个部件都会完成一项任务或完成某一操作步骤 这样 既可以同时对不同指令进行操作 又可以对同一指令的不同部分同时并行操作 三 80386的寄存器结构 80386共有34个寄存器 通用寄存器 段寄存器 指令指针和标志寄存器 控制寄存器 系统地址寄存器 调试寄存器以及测试寄存器共 类 包含了8086 80186 80286所有的寄存器 新增的寄存器例如控制 系统地址寄存器 主要用于对系统进行调试和简化设计等 一 通用寄存器 如图8 7所示 80386有 个32位的通用寄存器 分别命名为EAX EBX ECX EDX ESI EDI EBP以及ESP 每个寄存器可用于存放数据或地址值 它们支持 和 位的数据操作数 也支持 位和 位的地址操作数 AX BX CX DX SI DI BP SP可作 位寄存器单独使用 AH AL BH BL CH CL DH DL可作 位寄存器单独使用 其用法与8086相同 返回80386的寄存器结构 二 段寄存器和段描述符高速缓存器 如图8 8所示 80386设置了6个16位的段寄存器 和8086相比 除了都共同具有的CS SS DS ES这4个段寄存器之外 80386又增加了FS和GS两个新的数据段寄存器 使用它们可以减轻对DS和ES两个数据段寄存器的压力 返回80386的寄存器结构 80386中设置了一个32位的指令指针 EIP 和一个32位的标志寄存器 EFLAGS 见图8 9 它们分别是8086微处理器中IP和FLAGS的扩充 按照使用需要 CPU也可以只使用它们的低16位 即FLAGS和IP 80386工作在实模式时采用16位的指令指针IP EFLAGS的低12位与8086标志寄存器FLAGS完全相同 高20位中只设置了4个新的标志 三 指令指针和标志寄存器 返回80386的寄存器结构 四 系统地址寄存器和系统段寄存器 在80386中设置了2个系统地址寄存器和2个系统段寄存器 如图8 10所示 前者即GDTR GlobalDescriptorTableRegister 全局描述符表寄存器与IDTR InterruptDescriptorTableRegister 中断描述符表寄存器 由于它们不需要选择段 而只是用于确定系统中唯一的一张全局描述符表或唯一的一张中断描述符表中的描述符项 最后寻址存储器系统地址 故它们称为系统地址寄存器 后者即LDTR LocalDescriptorTableRegister 局部描述符表寄存器与TR TaskRegister 任务寄存器 由于它们需要通过段选择子来选择存储器系统中的段 再由段中选择描述符 最后寻址存储器系统地址 故它们称为系统段寄存器 有时 也将这4个寄存器都统称为系统地址寄存器 返回80386的寄存器结构 五 控制寄存器 80386中有3个32位的控制寄存器CR0 CR2和CR3 用于保存机器的各种全局性状态 这些状态影响系统所有任务的运行 它们主要是供操作系统使用的 因此 操作系统设计者需要熟悉这些寄存器 CR1是未定义的控制寄存器 留作备用 CR0 控制寄存器0 包括80286的机器状态字 80386中的CR0是最常用的一个控制寄存器 它只定义了6个控制和状态标志 其低16位和80286的机器状态字MSW的定义完全相同 如图8 11所示 PE 位0 和PG 位31 是对保护模式和存储管理至关重要的两位 二者合称保护控制位 PG PE位的组合与微处理器的工作模式见表8 1所示 TS TaskSwitched 任务切换位 80386是一个多任务系统 每当任务切换时 处理器将把TS置为1 它与EM MP的联合操作 见表8 所示 MP MonitorCoprocessor 监控协处理器位 当MP为1时 表示有协处理器在工作 否则 协处理器未工作 EM EmulateCoprocessor 为模拟协处理器控制位 CR2控制寄存器 CR2称为页面故障线性地址寄存器 用于发生页面访问异常时报告出错信息 CR3控制寄存器 CR3称为页组目录基址寄存器 用于存放页目录表的物理基地址 如图8 12所示 返回80386的寄存器结构 六 调试寄存器组 80386为程序员提供了8个32位的调试寄存器 0 7 可以用于使程序员在调试过程中一次设置4个断点 其中 0 3用来容纳4个32位的断点线性地址 6是断点状态寄存器 其中保存了几个调试标志 用来协助断点调试 7为断点控制寄存器 可以通过对应位的设置来有选择地允许和禁止断点调试 比如仅在写数据时作为断点 或者仅在读 写数据时作为断点等 3与 4保留 返回80386的寄存器结构 七 测试寄存器组 80386中设置了两个32位的测试寄存器 6和 7 6作为测试命令寄存器 其中存放测试控制命令 用于对RAM和相关寄存器进行测试 7为数据寄存器 用于保留测试后所得的结果 返回80386的寄存器结构 四 80386的三种工作模式 80386有3种工作模式 实地址模式 RealAddressMode 简称为实模式 保护虚拟地址模式 ProtectedVirtualAddressMode 也叫保护模式 虚拟8086模式 VirtualAddress8086Mode 简称为虚拟86模式 现将80386的3种工作模式简要说明如下 实地址模式 当80386在刚加电启动或复位时 便由操作系统自动控制进入实模式 实模式主要是为80386进行初始化用的 通常是在实模式环境下 为80386保护模式所需要的数据结构做好各种配置和准备 因此 实模式是一种为建立保护模式做准备的模式 在实模式下 80386类似于8086的体系结构 设置实模式一方面为了保持80386和8086兼容 另一方面可以方便地从实模式转换到保护模式 保护虚拟地址模式 保护模式是80386最常用的 也是最具特色的工作模式 通常在开机或复位后 机器先进入实模式完成初始化 然后就立即转换到保护模式 保护模式提供了多任务环境中的各种复杂功能以及对复杂存储器组织的管理机制 只有在保护模式下 80386才可以充分发挥其强大的功能和本性 因此 这种模式也称为本性模式 所谓保护 主要是指对存储器程序和数据结构的保护 虚拟8086模式 1 使80386可以快速地执行多个8086的应用程序 2 段寄存器的用法和实模式时相同 也是由段寄存器的内容左移4位加上偏移地址来形成线性地址 3 存储器寻址空间为1MB 但可以使用分页机制 将这1MB的存储空间分为256个页面 每页为4KB大小 在多任务系统中 80386可以使其中的一个或几个任务使用虚拟8086模式 此时 可以使一个任务所用的全部页面定位于某个物理地址空间 而另一个任务所用的页面定位于其他物理地址空间 这样 就把存储器虚拟化了 虚拟8086模式的名称即由此而来 4 在虚拟8086模式中 程序是在最低特权级 3级 上运行的 因此 80386指令系统中的一些特权指令是不能使用的 五 80386的存储器管理 80386利用片内的存储管理单元 MemoryManagementUnit 简称MMU 来实现对存储器系统的两级管理 分段管理和分页管理 在两级存储管理中 段的大小可以选择 因此 可以随数据结构和代码模块的大小而确定 使用十分灵活 另外 对每一段还可以赋予属性和保护信息 以有效地防止在多任务环境下各个模块对存储器的越权访问 下面 我们将分别针对80386的3种工作模式来讨论存储管理的有关细节 重点是讨论保护模式的存储管理 一 实模式 当80386系统机复位或上电复位时 就工作在实模式 80386的所有指令在实模式下都有效 其物理地址的形成与8086相同 可寻址的实地址空间只有1MB 所有的段其最大容量为64KB 而且 中断向量表仍设置在00000H 003FFH共计1K字节的存储区内 系统初始化区在FFFFFFF0H FFFFFFFFH存储区内 设置实模式一方面为了保持80386和8086兼容 另一方面可以从实模式转变到保护模式 二 保护模式 80386的保护模式与80286相类似 但是80386增加了段页式管理机构 可提供4KM字节的实地址空间 地址流水线及其转换80386的存储管理机制可以很好地实现地址流水线操作 为了理解这一操作原理和过程 首先要了解逻辑地址 线性地址和物理地址这3者之间的关系 80386地址转换的示意图如图8 13所示 80386的32位地址运算 包括两个基本过程 先由分段部件 即段式管理机构 将逻辑地址转换为线性地址 再由分页部件 即页式管理机构 将线性地址转换为物理地址 所以 80386在执行每条指令期间 硬件将自动地进行复杂的地址计算 寻址机构计算出有效地址 段式管理机构计算出线性地址 页式管理机构计算出物理地址 80386的地址流水线就是由分段部件 分页部件和总线接口部件组成的 80386的3种类型地址的具体计算如下 有效地址除立即数外 有效地址均按下式运算 有效地址 基址 变址 比例因子 位移量线性地址在虚拟存储空间内的可定位的地址 它可由存储器段式管理机构按下式来计算 线性地址 段基地址 有效地址物理地址当存储器页式管理机构不工作时 物理地址就等于由段式管理机构处理后得到的线性地址 当页式管理机构工作时 则物理地址是线性地址的一个函数式 即 物理地址 F 线性地址 2 保护 80386支持两个主要的保护类型 一类是不同任务之间的保护 它是通过给每一任务分配不同的虚拟地址空间 而每一任务有各自不同的虚拟 物理地址转换映射 因而可实现任务之间的完全隔离 在80386中 每个任务都有各自的段表及页表 即具有不同的地址转换函数 根据新任务切换的转换表实现任务的切换 详见后述 操作系统应与所有的应用程序相隔离 因此 操作系统可以存储在一个单独的任务中 另一类是同一任务内的保护 在一个任务之内定义 种执行特权的级别 特权级别 最高特权级别 特权级别 特权级别 最低 3 分段管理 分段管理可以把虚拟存储器组织成其容量大小可变的区间的集合 这些区间称之为段 为了实现分段管理 80386把有关段的信息存放在一个称为段描述符 简称描述符 的8个字节长的数据结构中 并把系统中所有的描述符编成一张表 以便硬件查找和识别 80386共设置了3种描述符表 即全局描述符表GDT 局部描述符表LDT和中断描述符表IDT 分段管理可以实现虚拟存储 在80386系统中 由于内存容量的限制 并不可能将所有的段都放在内存中的 而必须将大部分段放在海量的外部磁盘上 为了检测当前段是否在内存中 在描述符的属性字段中专门设置了一个判别当前段是否存在内存中的存在位P 每个段由3个参数确定 段基地址 BaseAddress 规定了线性地址空间中段的起始地址 也可以把基地址看成是段内偏移量为 的线性地址 段的界限 Limit 表示在虚拟地址中 段内可使用的最大偏移量 段的属性 Attributes 包括该段是否可读出 写入以及段的特权级等 段的这些参数都组织在段描述符中 下面将简要说明段描述符的数据结构 由于80386有两种类型的段 即非系统段和系统段 所以 也就有两种段描述符 即非系统段描述符 又简称为段描述符 系统段描述符 又简称为系统描述符 非系统段描述符 非系统段是指一般的存储器代码段和数据段 堆栈段被包括在数据段中 有时也简称为程序段 非系统段描述符的格式和含义如图8 15所示 由图可知 80386的非系统段描述符也是 个字节 其中段限值占最低 个字节以及 字节的低 位 构成20位的段限值 使逻辑段的最大容量由64KB增大为1MB 段基址共占 个字节 在段描述符中分3处存放 它们构成32位的段基地址 可寻址的实存空间由80286的16MB增大为4KMB 字节的高 位称为语义控制段 5字节为访问权限字节 用来确定特权级与段的其他信息 并且不同类型的描述符对应的这个字节也不相同 系统段描述符 系统段描述符也称为特殊段描述符 当描述符中的S位为0时 此描述符对应一个系统段 此系统段包括任务状态段TSS和门 另外 局部描述符表LDT也作为一种系统段 一般格式如图8 16所示系统段描述符的大多数字段和非系统段描述符的相同 只是在系统段描述符中 A位已不再存在 访问权字节的低4位作为类型值 这4位类型值决定了16种类型 如表8 3所示 门描述符的格式和普通的系统段描述符稍有差别 如图8 17所示 它包含一个32位的偏移地址 一个字计数和一个选择子 还有一个 3字节的访问权限字节 调用门描述符由选择子 偏移地址和字计数构成 选择子和偏移地址指出一个子程序的起始地址 字计数指出有多少参数必须从主程序的堆栈传送到被调用门所调用的子程序的堆栈上 对其他门而言 字计数值字段无意义 首先 要充分理解80386是通过分段管理来完成从逻辑地址到线性地址的转换的 参见图8 18 如图所示 指令中用到的是由16位段选择子和32位偏移地址构成的逻辑地址 在16位段选择子中 位0和位1是定义此段使用特权级别的RPL字段 位2是一个指示符TI 它用来指出此描述符是在GDT中 TI 0 还是在LDT中 TI 1 而高13位则是段描述符的一个索引值 用此值来指定所选描述符在描述符表中的位置 显然 这13位可以确定一个描述符表最多能含有8K个描述符 再考虑一个描述符有8个字节 故一个描述符表的长度最大可达64KB 有了段描述符 从中便得到一个32位的段基地址 用此段基地址再加上偏移地址就是所要得到的线性地址 分段管理总结性说明 然后 通过分页管理就可以进一步完成从线性地址到物理地址的转换 如果禁止分页 则线性地址就是物理地址 见图8 19 4 分页管理 在80386中 在设计分段管理的基础上又增加了分页管理 在多任务系统中 有了分页管理功能 就只需把每个活动任务当前所需要的少量页面放在存储器中 分段管理可以把虚拟的逻辑地址转换为线性地址 而分页机制可以进一步把线性地址转换为物理地址 当CR0中的PG 1时 系统就启动分页机制 当PG 0时 则禁止使用分页机制 而且把分段机制产生的线性地址直接当作物理地址使用 80386分页管理的对象是固定大小为4KB的存储块 称之为页 分页机制把整个线性地址空间和整个物理地址空间都看成是以页为单位来组成的 线性地址中的任何一页都可以映射到物理地址空间中的任何一页 页变换公式 物理地址低12位 线性地址低12位物理地址高20位 F1 线性地址高20位 或者由于4KB为一页 并且边界按4KB对齐 因此 地址高20位也可称为页号 地址低12位也可称为页内的偏移值 于是 物理页内偏移值 线性页内偏移值物理页号 F1 线性页号 分页机制主要是由CPU内部的控制寄存器CR和分页管理部件来控制与实现的 5 页表结构 页目录描述符以及页描述符 为了优化存储管理功能和扩大保护模式下的虚拟存储空间 80386采用了两级表结构 即以存储器为基础的页目录表和页表 当允许分页时 分页机制将实现两级地址转换 在低一级 由页表映射页 在较高一级 由页目录表中的一个页目录项映射页表 如图8 20所示 页表总是存储在物理地址空间中 可以把页表中的内容看成为一个简单的具有220个物理地址的数组 线性 物理地址映射函数就是一个简单的数组查询 线性地址的高20位形成对数组进行查询的索引 这高20位线性地址分别化为2个10位的索引 即页目录表索引 PageDirectoryTableIndex 与页表索引 PageTableIndex 它们都要左移2位后才能形成入口指针 以分别查询4K字节的页目录表和4K字节的页表 每个页目录表包含1024个页目录描述符 每个页表包含1024个页描述符 显然 页目录表中的一个项即页目录描述符和页表中的一个项即页描述符均由4个字节构成 6 段页式结构的寻址过程 80386段页式存储器管理机构的寻址过程如图 21所示 寻址步骤如下 由虚地址指针提供48位的地址指针 如图8 22所示 其中高16位提供16位段选择字 低32位提供 位的偏移量 从段选择字的高13位得到描述符的偏移值 又叫变址值或索引值 再由段选择字的第2位TI值从GDTR或LDTR中去取描述符地址的段基地址 将段基地址和偏移值二者相加得到段描述符在描述符表中的位置 从段描述符表中找到32位的段基地址 与32位的偏移地址相加产生了32位的线性地址 由页目录基地址寄存器 3的内容 事先由系统装入 与线性地址的高10位乘以4相加得到页目录描述符在页目录表中的物理地址 由页目录描述符中的20位页表地址指针与线性地址的中间10位乘以4相加 则产生页描述符在页表中的物理地址 由所选中的页描述符中的页地址指针 20位 与线性地址的低12位即页的偏移量相加得到最终所要寻址的页的物理地址 三 虚拟8086方式 V86方式 为了解决80286中不能在保护模式下运行8086 8088应用程序的问题 从80386开始 在保护模式中引入了虚拟8086工作模式 简称V86模式 80386的V86模式是一种特殊的工作模式 具有许多新的特点 它使得多个8086实模式的应用软件可以同时运行 特别是在这种模式下 操作系统可以并行执行8086 80286和80386的程序 80386虚拟模式是让80386模拟1MB空间的寻址环境 但它并不仅限于1MB的存储空间 因为它可以同时支持几个虚拟86环境 在多用户系统中 每一个虚拟86环境都可以有它自己的DOS拷贝和应用程序 V86模式的主要特点如下 V86模式的寻址在V86模式下 80386对段寄存器的解释与处理方式和实模式一样 V86模式下的保护功能V86模式具有80386的一些保护功能 但只是简单地把V86模式下的任务的特权级一律降到最低级3 如果要执行具有特权的保护模式指令 则会受到保护性检查的限制 即在V86模式下 只能执行SGDT SIDT和SMSW这3条指令 如果要执行其他保护模式指令 均会产生异常 3 V86模式下的分页功能为了使80386运行多个虚拟任务的地址空间大于 MB的物理地址空间 则需要存储器管理部件进行分页操作 若要启动分页机制 必须预先在保护模式下对CR0的PG位 位31 置1 V86模式下的分页功能如图8 23所示 线性地址的算法与实模式下完全相同 六 80386 80486三种工作模式的相互转变 80386 80486有 种工作模式 实地址模式 REAL 保护模式 PROTECTED 和虚拟8086模式 VIRTOAL8086 如图8 24所示CPU被复位后就进入实地址模式 通过修改控制寄存器CR0或MSW中的控制位PE 位 可以使CPU从实地址模式转变到保护模式 或者向反方向转变 从保护模式转变到实地址模式 通过执行IRETD指令 或者进行任务转换 可从保护模式转变到虚拟的8086模式 任务转换功能是80386和80486微处理器的主要特点之一 采用中断操作 可以从虚拟的8086模式转变到保护模式 80386 80486在实地址模式下的工作原理和8086 主要区别是8086没有32位的工作寄存器 因而不能处理32位的数据 而80386 80486在实地址模式可以使用新增加的2个段寄存器FS和GS 在保护模式下 80386 80486CPU可以访问 32字节的物理存储器空间 段的长度在启动页功能时是 32字节 不启动页功能时是 20字节 分页功能可以任选 这种模式可以引入虚拟存储器的概念 以扩充所占有的存储器空间 在V86模式 既支持保护机制 也支持分页式内存管理 并可进行任务切换 同时还能与8086兼容 内存寻址空间为1MB 段地址计算仍然和8086相同 8 380486微处理器 1989年Intel公司推出了第二代32位微处理器80486 80486采用CMOS工艺 在芯片大小为16mmX11mm的面积上集成了120万个晶体管 是80386的4倍以上 168个引脚网状阵列 PGA 封瓷 简单地从结构组成上来看 80486相当于以80386为核心 增加了高速缓存 CacheMemory 和相当于80387浮点协处理器 FPU 以及增加了面向多处理机的机构 但是 从程序设计角度看 其体系结构几乎没有什么变化 可以说是对80386的沿用 在相同的工作频率下 其处理速度比80386提高了2 4倍 80486的最低工作频率为25 HZ 最高工作频率可达132 Z 一 80486的主要结构特点 1 80486是第一个采用RISC ReducedInstructionSetComputer 缩减指令系统计算机 技术的86系列微处理器 有效地解决了CPU和存储器之间的I O瓶颈问题 2 内含8KB的高速缓存 Cache 用于对频繁访问的指令和数据实现快速的混合存放 使高速缓存系统能截取80486对内存的访问 从而提高了系统的性能 3 80486芯片内包含有与片外80387功能完全兼容且功能又有扩充的片内80387协处理器 称作浮点运算部件 FPU 由于80486CPU和FPU之间的数据通道是64位 80486内部数据总线宽度也为64位 而且CPU和Cache之间以及Cache与Cache之间的数据通道均为128位 因此80486较80386处理数据的速度大大提高 4 80486采用了猝发式总线 BURSTBUS 的总线技术 当系统取得一个地址后 与该地址相关的一组数据都可以进行输入 输出 有效地提高了CPU与存储器之间的数据交换速度 5 从程序人员看 80486与80386的体系结构几乎一样 6 80486CPU的开发目标是实现高速化 并支持多处理器系统 因此 可以使用N个80486构成多处理器的结构 80486和80386一样 特别适合于多任务处理的操作系统 以它们组成的微机可以运行UNIX XENIX OS 2 PCDOS MSDOS以及Windows等不同的操作系统 二 80486CPU内部结构 80486CPU的内部结构与80386基本相似 它在保留了80386的6个功能部件的基础上 新增加了高速缓存部件和浮点运算部件两部分 即所谓由 1分为6 变成 1分为8 其中 预取指令 指令译码 内存管理单元 即段单元和页单元 以及 单元都可以独立并行工作 构成5级流水作业 在内部结构上采取的主要技术改进有以下几点 在控制单元中将基本指令采用硬件逻辑来控制 复杂指令仍然应用80386的微代码方式处理 内含 位总线 使得寄存器间的加减法 逻辑运算指令 寄存器和寄存器以及寄存器和存储器 高速缓存 之间的传送指令等能在一个时钟周期内完成 8KB的高速缓存80486芯片内 KB的高速缓冲存储器分成 组 每组 被称之为4路成组相联高速缓存 高速缓存在实模式 保护模式和虚拟8086模式下都是可用的 对于单处理器系统 只需进行开放高速缓存的初始化操作而不需要更多的控制 3 浮点运算单元 通过 组 位数据总线和高速缓存器管理部件相连 可以将双精度 位 数据从高速缓存一次直接传送到浮点运算部件 的浮点寄存器组中 和 相比 80486大幅度减少了传输时间 4 扩充标志寄存器 EFLAGS 的变动和80386相比 只有80486SX微处理器的扩充标志寄存器在位 新定义了一位 称为 位 AlingmentCheck 对界检查或定位检查 见图8 25 5 控制寄存器CR0的变动如图8 26所示 与80386相比 由于80486内含PFU 所以将CR0的 位 位 变成恒为 6 控制寄存器CR3的变动CR3中的位 和位 有了新定义 见图8 27所示 PCD PageCacheDisable 页高速缓存禁止控制位 三 高速缓存 高速缓存 Cache 是面向CPU的存储器 用于存放CPU比较频繁访问的数据和代码 在80386CPU系统中只设置了外部Cache 而80486CPU的设计者在其内部设置了8KB的Cache 80486片内8KBCache分为4组 每组均对应有 行 每行可存储 字节指令或数据 共计为 存储容量 Cache的操作的基本操作原理是 在开机时Cache中并无任何内容 当CPU执行程序发出地址去读主存时 读取的内容一方面供CPU去译码分析和执行 同时还要将其内容 拷贝 到Cache的某行中 与此同时 还要将该内容所在主存的地址登记在对应行的一个称为 标记 的部分 此后 CPU每次读取存储器时 首先到Cache中去查找 如果有内容存在于Cache中 则可快速从Cache中读取数据和代码 如果CPU待读取的内容不在Cache中 则必须到主存中去读取所需的内容 当 访问存储器时 首先必须计算出寻址的物理地址 并把该物理地址的位 位 与Cache中标记部分的登记地址信息进行比较 至于要选择哪一个标记进行比较 则由物理地址的位 位 来决定将选取128行中某一行的标记 若比较后找到了某一标记中登记的地址信息与物理地址一致即访问命中 则CPU就对内部Cache进行读 写操作 而不必访问CPU外的存储器 否则 若访问未命中 则必须读 写CPU外的存储器 与此同时还要将此信息写入内部Cache中以保证下次能高速命中 80486CPU访问内部Cache的简单过程是这样的 在80486Cache的结构中 为每组128行的每一行都设置了1位所谓有效位 V 通过使V位变为失效的操作 可以实现清除所有Cache的内容 具体的方法有两种 第1 通过外部硬件使 的引脚 输入低电平 则在一个时钟周期内使所有的有效位 失效 第2 通过执行 的两条特殊指令便可清除所有Cache的内容 Pentium是继80486之后x86系列的又一代新产品 它被简称为80586 也称为奔腾 由于半导体设计与制造工艺的发展 利用亚微米级的CMOS技术进行CPU设计 使Pentium芯片的集成度达到310万个晶体管 片 这样 原来被置于片外的部件如数学协处理器和Cache等可以集成到CPU芯片内 因而能显著提高处理速度 此外 Pentium还采用了特殊CAD方法设计的多级金属夹层技术 虽然Pentium采用了许多新的设计方法 但仍与过去的x86系列CPU兼容 8 4Pentium微处理器 一 Pentium的体系结构 单靠增加芯片的集成度还不足以提高CPU的整体性能 为此 Intel在Pentium的设计中采用了新的体系结构 如图8 28所示 如图可以看出 Pentium外部有64位的数据总线以及36位的地址总线 同时 该结构也支持64位的物理地址空间 Pentium内部有两条指令流水线 即 流水线和 流水线 Pentium有两个独立的超高速缓存 即一个指令超高速缓存和一个数据超高速缓存 数据超高速缓存有两个端口 分别用于两条流水线 它有一个专用的转换后援缓冲器 TLB 用来把线性地址转换成数据超高速缓存所用的物理地址 Pentium对80486的寄存器作了以下扩充 EFLAGS寄存器EFLAGS增加了两位 见图8 29 以控制Pentium虚拟8086方式扩充部分的虚拟中断 下面说明Intel486CPU扩充的标志特性 RF可由IRETD但不能由POPF或POPFD置位的RF标志用来禁止在紧跟IRETD后面的指令上产生代码断点异常 代码断点是最高优先级故障 因而保证在译码或指令执行期间可能被检测的任何其他故障之前得到服务 如果产生后续故障 那么堆栈上RF标志的映像始终置1 当完成故障处理程序后重新启动该指令时 这就需要保证不会多次检测出代码断点故障 AC当处理器在特权级3上操作时 AC标志与CR0中的AM位联用以允许检测和产生对准检查异常 当处理器不在特权级3上时 虽然AC标志可能被置位 但决不产生对准检查异常 在实方式时 决不会产生对准检查异常 而且EFLAGS中AC位的内容是不可预测的 复位后EFLAGS的内容是00000002 2 控制寄存器CR0中的CD位和NW位的含意已被重新定义以控制P5的超高速缓存 Pentium定义了一个新的控制寄存器 CR4 CR4包含一些允许对Intel80486结构作某些扩充的位 CR4控制寄存器的结构图如图8 30所示 3 模型专用寄存器Pentium定义了几种模型专用寄存器 用于控制可测试性 执行跟踪 性能监测和机器检查错误的功能 Pentium可以使用新指令 和 读或写这些寄存器 三 Pentium体系结构中的新技术特点 一 超标量流水线超标量流水线 Superscalar 设计是Pentium处理器技术的核心 它由U与V两条指令流水线构成 如图8 31所示 与80486不同的是 由于Pentium是双流水线结构 它可以一次执行两条指令 每条流水线中执行一条 这个过程称为 指令并行 在这种情况下 要求指令必须是简单指令 且V流水线总是接受U流水线的下一条指令 但如果两条指令同时操作产生的结果发生冲突时 则要求Pentium还必须借助于适用的编译工具能产生尽量不冲突的指令序列 以保证其有效使用 二 独立的指令Cache和数据Cache80486片内有8KBCache 而Pentium片内则有2个8KBCache 一个作为指令Cache 另一个作为数据Cache 即双路Cache结构 如图8 32所示 图中 TLB的作用是将线性地址翻译成物理地址 指令Cache和数据Cache采用32 8线宽 80486DX为16 8线宽 是对Pentium64位总线的有力支持 Pentium的数据Cache有两个接口 分别通向U和V两条流水线 以便能在相同时刻向两个独立工作的流水线进行数据交换 当向已被占满的数据Cache写数据时 也只有在这种情况下 将移走一部分当前使用频率最低的数据 并同时将其写回主存 这个技术称为Cache回写技术 三 重新设计的浮点单元 Pentium的浮点单元在486的基础上进行了彻底的改进 其执行过程分为8级流水 使每个时钟周期能完成一个浮点操作 某些情况下可以完成两个 浮点单元流水线的前4个步骤与整数流水线相同 后4个步骤的前两步为二级浮点操作 后两步为四舍五入及写结果 出错报告 Pentium的CPU对一些常用指令如ADD MUL和LOAD等采用了新的算法 同时 用电路进行了固化 用硬件来实现 其速度的提高是显而易见的 在运行浮点密集型程序时 66MHzPentium运算速度为33MHz的80486DX的5倍 6倍 四 分支预测 循环操作在软件设计中使用十分普遍 而每次在循环当中对循环条件的判断占用了大量的CPU时间 为此 Pentium提供一个称为分支目标缓冲器BTB BranchTargetBuffer 的小Cache来动态地预测程序分支 当一条指令导致程序分支时 BTB记忆下这条指令和分支目标的地址 并用这些信息预测这条指令再次产生分支时的路径 预先从此处预取 保证流水线的指令预取步骤不会空置 BTB机制如图8 33所示 四 相对80486体系结构的增强点 除了以上几个特点外 Pentium微处理器在80486体系结构基础上 还作了一些增强性的改进 归结为以下几点 一 工作频率提高 二 指令固化 三 页尺寸增加 四 增强的微码 五 增强的总线 除以上特点外 Pentium在数据完整性 容错性和节电等方面也采取了一些特殊的设计方法 8 5Pentium微处理器系列及相关技术的发展 Intel自推出第5代微处理器Pentium和增强型PentiumPro之后 一直主导着微处理器的技术发展方向 1996年底推出了具有多媒体专用指令集的MMXCPU 1997年5月推出了更高性能的Pentium CPU 1999年又推出Pentium CPU 2000年推出Pentium CPU 这样 它以最先进的技术将个人计算机推向一个新的发展阶段 本节将主要介绍Pentium系列微处理器及其相关技术 一 Pentium 微处理器 P 或奔腾 Pentium 是PentiumPro的改进型产品 在核心结构上并没有什么变化 它采用了一种称之为双独立总线 DualIndependentBus或DIB 结构 即二级高速缓存总线和处理器 主内存系统总线 的技术 这种结构使微机的总体性能比单总线结构的处理器提高了两倍 同时 它还保留了原有PentiumPro处理器优秀的32位性能 并融合了MMX技术 近十年来 Intel的MMX技术提升了视频的加压和解压 图像处理 编码及I O处理能力 所有这些 在今天的办公套件 商用多媒体 通讯和Internet中都得到了广泛的应用 P 使用了0 35 mCMOS制造工艺 将750万个晶体管集成在一个203mm2的管芯上 并采用了0 28 m的制造工艺 因此加快了这些晶体管的速度 大大提高了CPU的时钟频率 P 还采用了一种称之为动态执行的随机推测设计来增强其功能 其虚拟地址空间达到64TB 而实际物理地址空间达到64GB 其片内还集成了协处理器 并采用了超标量流水线结构 此外 为了克服其片外L2高速缓存较慢的不足 Intel将它的片内L1高速缓存从16KB加倍到32KB 16KB指令 16KB数据 从而减少了对片外L2高速缓存的调用频率 提高了CPU的运行性能 关于Pentium 的具体性能指标参见表8 9 P 处理器与主板的连接首次采用了Slot1接口标准 它不再用陶瓷封装 而是采用了一块带金属外壳的印刷电路板 PCB 该印刷电路板集成了处理器的核心部件 以及32KB的一级高速缓存 它与一个称为单边接触卡 SEC Single EdgeContact 的底座相连 再套上塑料封装外壳 形成完整的CPU部件 二 Pentium P 奔腾 Intel公司于1999年推出Pentium 微处理器芯片 共有3个系列15种产品 包括 500MHz 450MHz 400MHz的MobilePentium 733MHz 700MHz 667MHz 650MHz 600MHz 550MHz 533MHz 500MHz的Pentium 733MHz 667MHz 600MHz的Pentium Xeon 以上3个系列产品采用了100MHz和133MHz的FSB总线 可与RambusDRAM对应的820 810E 440BX 440ZX等芯片组配套使用 另外 主要用于服务器的RambusDRAM对应840芯片组也同时被推出 上述Pentium 芯片均嵌入了256KB的快闪存储器 其中 550MHz和500MHz的Pentium 芯片采用了PC PGA FlipChipGridArray 的新型封装技术 P 仍采用了同P 一样的P6内核 制造工艺为0 25 m或0 18 m的CMOS技术 有950万个晶体管 主频从450MHz和500MHz开始 最高达850MHz以上 P 处理器具有片内32KB非
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 10786:2025 EN Space systems - Structural components and assemblies
- GB/T 46273-2025网络表演经纪机构运营服务要求
- 上海市浦东新区2025-2026学年七年级上册期中语文试题 含答案
- 年产5万平方米合成树脂瓦项目环境影响报告表
- 非诉讼事务律师委托代理协议(35篇)
- 2025年餐饮知识竞赛题库及答案
- 2025年钻探安全培训试题及答案
- 英语趣味测试题目及答案
- 反电信诈骗测试题及答案
- 山西省治超考试题及答案
- (完整版)青骄第二课堂禁毒教育全国青少年禁毒知识竞赛题含答案
- 2025年陕西省中考物理真题(A卷)含答案
- 道路交通标线及信号灯优化项目涉路工程安全评价
- 建设银行金融业务知识试卷含假币处理等多方面内容
- 企业云计算管理办法
- 工程仓库管理培训
- 企业自主招标方案(3篇)
- 儿童粘土手工课件
- 《渗透型液体硬化剂应用技术规程》
- 2025生产安全考试题库及答案
- 2025小学道德与法治教师课标考试模拟试卷附参考答案 (三套)
评论
0/150
提交评论