1 / 56

第 10 章 80X86 的最新技术发展

第 10 章 80X86 的最新技术发展. Intel80X86 处理器的发展 Intel8080 — 8 位微处理器 Intel8085 — 高档 8 位微处理器 指令比较完善,有了中断与 DMA 汇编、 BASIC , FORTRAN 、 PL/M 后期配备 CP/M 操作系统 Intel8086— 16 位 8086 数据总线 16 位、地址总线 20 位 Intel8088 — 准 16 位 外部数据总线 8 位,内部数据总线 16 位 IBM PC 、 IBM PC/XT Intel80286 、 MC68010 — 高档 16 位

lovey
Download Presentation

第 10 章 80X86 的最新技术发展

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第10章 80X86的最新技术发展 Intel80X86处理器的发展 • Intel8080 — 8位微处理器 • Intel8085 — 高档8位微处理器 指令比较完善,有了中断与DMA 汇编、BASIC,FORTRAN、PL/M 后期配备CP/M操作系统 • Intel8086— 16位 8086数据总线16位、地址总线20位 • Intel8088 — 准16位 外部数据总线8位,内部数据总线16位 IBM PC、IBM PC/XT • Intel80286、MC68010 — 高档16位 数据总线16位,地址总线24位 IBM PC/AT 实地址模式、虚地址保护模式 虚地址模式可寻址16MB物理地址和1GB的虚拟地址空间

  2. Intel80X86处理器的发展(1) • Intel80386 — 32位微处理器 数据总线32位,地址总线32位 实地址模式、虚地址保护模式、虚拟8086模式 虚地址模式可寻址4GB(232)物理地址和64TB(246)的虚拟地址空间 • Intel80486 — 32位微处理器 80386+80387+8KB的Cache 部分采用RISC技术、突发总线技术 使用时钟倍频技术 • Pentium(奔腾)— 32位微处理器 5级超标量结构、分支预测技术 64条数据线、32条地址线 常用指令硬件化,使用微程序设计 • Pentium MMX(多能奔腾) — 32位 增加了57条MMX指令 采用了SIMD技术

  3. Intel80X86处理器的发展(2) • Pentium Pro(高能奔腾) — 32位 64条数据线、36条地址线 实现了动态执行技术(乱序执行) • Pentium II(奔腾2)— 32位微处理器 Pentium Pro + MMX 双独立总线结构 • Pentium III(奔腾3) — 32位微处理器 增加了70条SSE指令 首次内置序列号 • Pentium 4 — 32位微处理器(非P6核心结构) 超级管道技术 增加了144条SSE2指令 简单ALU运行在2倍的处理器核心频率下 • Itanium — 64位微处理器 采用EPIC技术、RISC技术和CISC技术 具有显示并行功能 具有断定执行功能 具有数据预装的功能 采用三级高速缓存

  4. Intel 微处理器发展图

  5. 现代微机发展的特点 • 微处理器性能不断增强 • 微处理器支持芯片被高度集成 • 主板总线结构发生改变 • 保持向上兼容性 • 微机主板结构发生很大变化

  6. 10.1 80286的体系结构 • Intel公司在80年代初推出了新的微处理器——Intel 80286,这是一种具有存储器管理和保护机构的16位微处理器。 • 80286芯片采用68引脚四列直插式封装,时钟频率有8MHz和10MHz两种。 • 主要特点: 1.CPU内部有4个处理单元,可并行工作 2.支持存储器管理和保护功能,存储器管理功能可实现在实地址和保护虚地址方式下访问存储器,保护功能包括对存储器的合法操作,对任务实现特权级保护。 3.实现虚拟存储管理

  7. 80286的内部结构 • 80286在内部结构上比8086增加了指令执行部件(IU),同时将8086中的总线接口部件分成总线部件(BU)、地址部件(AU)。 • 这样,80286的CPU有四个独立的处理元件:EU、AU、BU、IU,这四个部件并行地操作。

  8. 80286寄存器组 • 80286具有15个16位的寄存器组,可以分成三组:通用寄存器、段寄存器、状态和控制寄存器。其中通用寄存器和段寄存器与8086完全一样,而状态和控制寄存器中有3个专用寄存器,用来记录或控制80286的某些状态,包括状态标志寄存器(F)、指令指示器(IP)、机器状态字寄存器(MSW)。 • (1)指令指示器IP。这个16位的寄存器用来指出下一条要执行的指令偏移地址。 • (2)状态标志寄存器F。F寄存器用来记录算术或逻辑运算类指令操作结果的性质,在进行I/O操作时,I/O所在的特权级,也由F寄存器来记录。 • I/O特权标志IOPL(第12、13位):用来指定I/O操作时处于0~3特权级中的哪一级。 • 嵌套任务标志NT(第14位):用来表示当前执行的任务是否嵌套在另一个任务内。当NT=1时,表示当前任务被嵌套于另一个任务中,执行完该任务后,要返回到原来的任务中去。 • (3)机器状态字寄存器MSW。MSW用来表示当前处理器所处的状态,目前只使用了它的低4位,其中一位用来使CPU进入虚地址保护方式,其他三位则起控制协处理器接口作用,其中,PE为保护方式允许位,用来启动微处理器工作方式,当PE=0,为实地址方式,PE=1,为虚地址方式。

  9. 机器状态寄存器MSW功能表 • 当执行RESET后,MSW被自动置成FFF0H,即将80286置成实地址方式。用LMSW和SMSW指令可在实地址方式装入和存储机器状态字存储器的内容。

  10. 80286的实地址与虚地址保护方式 • 1. 80826的实地址方式80826的实地址方式与8086工作方式基本相同。为了和8086兼容,80826的24根地址线中只有低20位A19~A0有用,因此,在实地址方式可寻址空间为1MB。在实地址方式中,80826保留了两个固定的存储区域。在存储器高端0FFFF0H~0FFFFFH保留的是系统初始化区。在存储器低端000000H~0003FFH,存放的是中断矢量表。 • 2. 80826虚地址保护方式80826在实地址方式下操作只相当于一个快速的8086,而在虚地址保护方式下操作才能充分发挥80286的作用。 • 在虚地址保护方式中,80826用实地址方式的功能和存储器管理、对虚拟存储器的支持以及对地址空间的保护合为一体,从而使80826能可靠地支持多用户系统。在虚地址保护方式中,80826的24根地址线A23~A0全被用上,因此,可直接寻址的地址空间范围为16MB。80826通过集成在片内的保护机构,能给每个任务提供最大可达1000MB的虚拟存储空间。 • 虚拟地址保护方式的物理存储器也是由两部分组成的,即段基地址和段内偏移量。段基地址是24位的,将段基地址和相应特征集合在一起形成一张表——描述符表,存放在存储器的某一区域。于是,在虚地址保护方式下各段寄存器的内容,不再是段基地址而是一个参数,用这个参数从描述符表中取出相应的描述符,就找到了段基地址,与16位偏移量相加形成了所要寻址单元的物理地址。

  11. 10.2 80386的体系结构 • Intel公司于1984年底推出高性能的32位微处理器——Intel 80386,它是80826的扩充,从而形成由8086、80186、80286、80386组成的完整的86系列。 • 80386的最大特点是在CPU芯片上集成了一个存储器管理部件(MMU),可对246的虚拟存储空间和4千兆字节(232)的物理存储空间进行分段和分页管理,段的最大空间为4千兆字节。 • 80386的时钟频率有16MHz和20MHz两种,每秒钟可持续执行三四百万条指令,性能为80286的三倍,已超过许多超级小型机的速度。

  12. 80386的内部结构 • 80386逻辑上由六个功能部件组成:总线接口部件、代码预取部件、指令译码部件、存储器管理部件、执行部件及控制部件。这六个功能部件采用流水线结构,这样可以同时处理多条指令,以减少程序实际执行时间。 • 总线接口部件完成在总线周期内对必要的信号线进行控制。在其他五个部件没有传送要求时,总线接口部件则执行从存储器预取指令的工作。 • 代码预取部件从存储器中以4个字节为单位预先取出指令,存放在16个字节的指令预取队列中。 • 指令译码部件从代码预取部件中的预取队列里按顺序取出指令并译码。 • 执行部件与别的部件协同完成指令的功能。 • 存储器管理部件由分段部件和分页部件构成,分段部件将逻辑地址转换为线性地址,芯片上有一个段描述符高速缓冲寄存器,其中存有当前段的段描述符,它可加快这种转换。分页部件将线性地址转换为物理地址,在芯片中还有页描述符高速缓冲寄存器。它存放着页描述符。分页部件把物理总线地址接到总线接口部件,以执行存储器访问或I/O访问。

  13. 分段部件 分页部件 总线控制 32 请求 特权 3输入 加法器 描述符 寄存器 界限和 属 性 PLA 加法器 页 面 超高速 缓 存 控制和 保 持 PLA 32 地 址 驱动器 流水线/ 总线宽度 控制器 多 路 收发器 保护检 测部件 预取器 界限 检测器 16B指令 队列 移位地址 加法器 乘 / 除 寄存器堆 译码和 定序 控制 ROM 指令译码 已译码 队 列 80386的内部结构框图

  14. 80386寄存器组(1) • (1)通用寄存器80386有八个32位的通用寄存器:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI。为了与8086系列微处理器兼容,各寄存器的低16位部分可作为16位寄器存器使用,这时分别指定为AX、BX、CX、DX、SP、BP、SI和DI。前四个寄器的低16位又可分作高8位和低8位,作为8位寄器使用。 • (2)段寄存器80386有六个16位段寄存器:CS、DS、SS、ES、FS和GS。其中CS为代码段、SS为堆栈段、其余为数据段。段寄存器主要在实地址方式时存放段基地址,在保护方式时,它作为保存段描述符的选择器。 • (3)专用寄存器80386有两个32位专用寄存器:指令指针(EIP)和标志寄存器(EFLAGS)。 • EIP的低16位称为IP,用于执行8086的指令。 • EFLAGS的低16位和80286的状态标志寄存器完全相同,新增加的两个标志位在高16位中。其中VM用于控制方式转移,当VM=1时,从保护方式转换到虚拟8086方式;当VM=0时,恢复保护方式。RF是恢复标志,当指令执行结束时,RF=0;执行过程中发生中断时,RF=1。因此,在页变换后需检查RF标志,若RF=1,则再执行该指令;若RF=0时,则从下一条指令开始执行。

  15. 80386寄存器组(2) • (4)控制寄存器80386有四个32位的控制寄存器:CR0~CR3。 • CR0是机器状态寄存器,各位的含义如表3.2.1所示。PG为分页允许位,指示是否使用分页。EF、EM、MP位控制了与协处理器的接口,TS进行任务切换。PG、PE组合后设置操作方式,用来控制80386的工作方式。 • CR1是Intel公司的保留寄存器。 • CR2是页故障线性地址寄存器,保存最后发生页故障的线性地址。 • CR3是页目录地址寄存器,用来保存页表的基地址。 • (5)系统地址寄存器80386有四个系统地址寄存器:GDTR、IDTR、LDTR和TR。 • GDTR为全局描述符表寄存器,用来保存GDT的32位线性基地址和16位界限值。IDTR为中断描述符表寄存器,用来保存IDT的32位线性基地址和16位界限值。LDTR为局部描述符表寄存器,用来保存LDT的16位选择器的值。TR为任务状态寄存器,用来保存TS的16位选择器的值。这四个寄存器在保护方式时都可使用,但在实地址时只能访问GDTR和IDTR。 • (6)调试寄存器80386有八个32位调试寄存器DR0~DR7,用于调试功能。DR0~DR3设定四个断点线性地址。DR6是调试状态寄存器,保存断点的当前状态,DR7是调试控制寄存器,设置断点并指示中断结果,DR4和DR5保留,供Intel公司使用。

  16. 80386工作方式 • 三种工作方式 1. 实地址方式 2. 保护虚地址方式 3. 虚拟8086方式 • 实地址方式与虚拟8086方式的区别

  17. 10.3 80486的体系结构 • 80486是Intel公司于1989年推出的32位高档微处理器,它在80386的基础上作了一些改进。简单地说,80486芯片相当于一片80386加上一片80387(数学协处理器),再加上8KB的内片快速缓存(Cache)。 • 80486完全拥有80386的所有功能,诸如页式存储管理、段式存储管理、DEBUG功能,自测试功能、三种工作模式、多任务、流水线指令执行方式和32位整数算术逻辑运算,等等。 • 80486完全和80386兼容,目标码一级也兼容。在软件上,80486实际上和80386一样,区别主要表现在底层硬件实现上的不同。80486可以用于高档微机和工作站,它的属性能使它在DOS、OS/2、Windows和UNIX系统上得到广泛的应用。

  18. 80486特点 • (1)80486在Intel CPU的历史上首次采用了RISC技术,常用指令仅需一个时钟周期便可完成。 • (2)80486采用了突发总线(Burst Bus)同RAM进行高速数据交换。 • 通常CPU同RAM交换数据时,是取得一个地址,交换一个数据,再取得一个地址,交换一个数据,而采用突发总线后,每取得一个地址,则这个地址及其后地址的数据都一起进行交换。 • (3)80486 CPU将数学协处理器和Cache及Cache控制器一起集成到片内,极大的提高了CPU的处理速度。 • 随着CPU工作时钟的提高,一般动态RAM芯片的存取速度相对较低,不能跟上快速CPU的速度,致使CPU出现等待状态。为此,在80386系统中,采用在主机板上设置高速缓冲存贮器(Cache RAM)的方法,是CPU在大多数情况下能够快速访问最近使用过的指令和数据,实现零等待,从而大大提高系统的性能。 • 由于以上特点,在相同的时钟频率下,80486 CPU的´处理速度一般比80386快2~3倍。即使是时钟频率为25MHz的486SX-25,在运行Word Perfect 5.1、Page Maker4.0、Microsoft 6.0和Auto CAD 11.0等8种典型应用程序时,其运行速度平均也是时钟频率为40MHz的386DX-40的1.22倍。

  19. 2X32DB 32AB 分段部件 描述符 寄存器 界限和属 性PLA 桶式移位器 寄存器文件 ALU 分 页 部 件 转换后援 缓冲器 超高速 缓存 8KB超高 速缓存 地址驱动器 写缓冲器4 X 80 数据总线收发器 总 线 控 制 请 求 定 序 器 突发总线控制 总线宽度控制 超高速换存控制 奇偶校验 生成和控制 128 预取器 2 X 16B 指令队列 控制和保护 测试部件 控 制 ROM 浮 点 部 件 浮点寄存 器文件 指令 译码 80486内部结构

  20. 微处理器80386/80486 Cache控制器 80387 (386微机) Cache 主存 CPU局部总线 总线控制器 集成外围控制器 扩展总线控制器 ISA 总线 实时时钟/日历 CMOS RAM 386/486机的基本结构

  21. 10.4 Pentium的体系结构 特点: • 80x86系列微处理器兼容 • 32位地址总线、64位数据总线 • RISC型超标量流水线:U浮点运算流水线,五级(指令预取,指令译码,地址生成,执行指令,回写),V定点运算流水线 • 重新设计的高性能浮点运算器 • 独立的指令Cache和数据Cache • 增强的错误检测和报告功能 • 分支指令预测 • 常用的指令固化:指令MOV INC DEC PUSH POP JMP CALL ADD NOP等固化

  22. Pentium的结构特点(1) • RISC型CPU采用超标量微结构实现,有两条指令流水线,即"U"流水线和"V"流水线。U和V流水线都执行整数指令,但只有U流水线执行浮点指令。 • 每条流水线在一个时钟内执行一条常用的指令,所以Pentium在每个时钟可以执行两条指令,或在一个时钟内执行一条浮点指令。 • Pentium片上有两个独立的超高速缓存,即指令和数据超高速缓存。它们分别为8KB,是80486的两倍。 • 数据超高速缓存有两个端口,分别用于两条流水线。它有一个专用的转换后援缓存器(TLB),用来把线性地址转换成数据超高速缓存用的物理地址。 • 指令超高速缓存,转移目标缓冲器和预取缓冲器负责将原始指令送入Pentium的执行部件。指令取自指令超高速缓存或外部总线。

  23. Pentium的结构特点(2) • 转移地址由转移目标缓冲器予以记录。 • 指令超高速缓存的TLB将线性地址转换成指令超高速缓存用的物理地址。 • 译码部件将预取的指令译码成Pentium可以执行的指令。 • 控制ROM含有控制实现Pentium体系结构必须执行的运算顺序微代码,控制ROM部件直接控制两条流水线。 • Pentium为了支持共享主存的多处理器系统。还改变了片上超高速缓存的主存改写方式。80486采用通写方式,而Pentium则改用回写方式,抑制了访问总线的使用次数 • Pentium还通过总线监测是否更新了与该超高速缓存相同的数据内容。如果在自身的超高速缓存中有同一主存地址的内容,则使其无效,以保持系统的一致性。

  24. 预取 地址 代码 Cache 8KB TLB 分支目标缓冲器 256位 分支检测和目标地址 预取缓冲存储器 指令译码部件 控制 ROM 指令 指针 总 线 接 口 部 件 64位数据总线 控 制 部 件 地址生成 (U流水线) 地址生成 (V流水线) 32位地址总线 浮点部件 分页部件 控制 寄存器组 控制 整数寄存器组 ALU (U流水线) ALU (V流水线) 加法器 桶形移位器 除法器 64位数据总线 32位 32位地址总线 32位 80 位 数据 Cache 8KB 乘法器 32位 32位 80位 TLB 32位 32位 Pentium微处理器内部结构

  25. Pentium寄存器 5个部分: • 基本结构寄存器:16个,通用,指令、标志、段 • 系统级寄存器: 9个,系统地址,控制 • 调试寄存器: 8个 • 模型专用寄存器:20个 • 浮点寄存器: 18个

  26. 32位通用寄存器 高16位扩展 16位通用寄存器 恢复标志 虚拟8086模式 对齐检查 虚拟中断位 虚拟中断挂起位 标识位 嵌套标志 I/O特权位 32位指令指针寄存器EIP 高16位扩展 16位的IP 这部分同8088 保 留 DF SF ZF AF PF OF IF TF VM VIP VIF AC RF IOPL ID NT CF 31……22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pentium基本结构寄存器(1) 1.通用寄存器:EAX, EBX, ECX, EDX, ESI, EDI, EBP、ESP 2.专用寄存器:EIP、EFLAGS • EFLAGS:17个标志位,分三类:状态9个,控制5个,系统3个

  27. Pentium基本结构寄存器(2) 3. 段寄存器:CS、DS、SS、ES、FS、GS • 实地址方式下:段地址,段地址*16+偏移量=物理地址 • 保护方式下:段选择符,即段描述符的索引值。 • 64位段描述符寄存器用户不可见。

  28. Pentium系统级寄存器(1) 1.系统地址寄存器 • GDT:全局描述符表,操作系统使用的段描述符和各项任务公用的段描述符放在一起组成的表。整个系统一个。 • LDT:局部描述符表,某项任务专用的所有的各种段描述符放在一起组成的表。每个任务各有一个。 • IDT:中断描述符表,一种特殊的表,它把每个中断向量与段描述符联系在一起,包含中断服务程序入口地址和特性。整个系统一个。 • TR:任务寄存器,保存当前正在执行的任务的状态。

  29. Pentium段描述符 • 段描述符:8个字节,共64位 • 段基址:32位 • 段长:20位 • 访问权(属性):12位 • P:存在位,P=1该段在物理存储器中, P=0不存在 • DPL:本段特权级,2位,编码00~11, 共4级,0最高 • S:本段是代码段或数据段吗, S=1本段是代码段或数据段的描述符, S=0不是,而是系统描述符。 • TYPE:段描述符的类型,3位,包括:E、ED、W E=1代码段描述符,E=0数据段描述符 ED=1数据段向下扩展,即偏移量应大于段长,ED=0数据段向上扩展,即偏移量应小于、等于段长 W=1数据段允许写入,W=0数据段可读不可写 • A:访问标志, A=1该段被访问过,A=0该段未被访问过 • G:段长单位, G=1该段的段长以页面为单位, G=0该段的段长以字节为单位 • D:本次寻址的操作数的位数(只用于代码段),D=1默认值为16位地址及16位或8位数据,D=0默认值为32位地址及32位或8位数据 • O及U都为0,系统保留,与以后CPU兼容。

  30. Pentium描述符表结构 • Pentium以段为单位分配内存。 • 描述符用于描述段的信息,由8个字节组成。 • 各个段的描述符作为一种数据结构,组合在一起,构成了描述符表。 • 描述符表的开始地址放在描述符表寄存器中,该首地址加上描述符表偏移量,就得到相应的描述符。

  31. 31 7 6 5 4 3 2 1 0 MCE TSD PSE DE PVI 0 CR4 保留,缺省为全0 VME 31 12 11 4 3 0 PCD CR3 页目录基地址寄存器 PWT 31 0 CR2 页故障线性地址寄存器 31 0 CR1 保 留 31 30 29 18 17 16 5 4 3 2 1 0 NE PG ET TS EM MP CD NW AM WP CR0 PE Pentium系统级寄存器(2) 2.控制寄存器 • 作用:保存全局性及其状态。

  32. 保护模式允许 浮点协处理器监控 模拟浮点协处理器 任务切换 处理器扩展类型 数值异常 写保护 定位屏蔽 允许分页 禁止Cache 不写贯穿 NE PG ET TS EM MP CD NW AM WP CR0 PE 31 30 29 18 17 16 5 4 3 2 1 0 Pentium控制寄存器CR0

  33. 31 12 11 4 3 0 PCD PWT CR3 页目录基地址寄存器 禁止Cache 页面写贯穿 Pentium控制寄存器CR3

  34. 31 7 6 5 4 3 2 1 0 MCE TSD PSE DE PVI 0 CR4 保留,缺省为全0 VME 允许机器检查 页大小扩展位 调试扩充位 禁止定时标志 保护模式虚拟中断 虚拟8086模式扩展 Pentium控制寄存器CR4

  35. Pentium的工作模式 1. 实地址模式 • 1MB空间,分段管理,全在0级 2. 保护模式 • 存储器采用虚拟地址空间、线性地址空间和物理地址空间三种方式来描述 • 虚拟地址空间64TB(246) • 4级管理,可以使用分页技术 3. 虚拟8086模式 4. 系统管理模式 (电源管理及为操作系统和正在运行的应用程序提供安全)

  36. Pentium的存储管理 • Pentium有3类地址空间: 虚拟地址空间:编写程序的地址空间,对应为虚地址、逻辑地址 主存地址空间:运行程序的地址空间,对应为实地址、物理地址 辅存地址空间:存放程序的地址空间,对应为辅存地址、磁盘地址 • 46位虚地址→32位物理地址 段选择符→描述符表→描述符→段基址→偏移量→物理地址 • 描述符分类: 1.程序段描述符 2.系统段描述符:TSS、LDT 3.门描述符:控制程序转换,任务转换,确定转移目标程序入口。包括:调用门、任务门、中断门、陷阱门。

  37. Pentium程序转移方法

  38. Pentium的分页 • 分页的管理对象是页,页是大小固定的存储块 • 整个线性空间和物理空间都分成大小相同的页,每页4KB,这样,32位的线性空间和物理空间中,低12位为页内地址,高20位为页面地址 • 地址映象关系 物理页内偏移量(低12位)=线性页内偏移量(低12位) 物理页号(高20位)=F[线性页号(高20位)] • Pentium采用二级页表结构:页目录表和页表 • 页描述符:描述页的信息,4个字节,提供页面基址的高20位,低12位自然为0(页的起始地址为页内偏移量为0的地址)。 • 页表:保存页描述符 • 页目录表:保存页表描述符(页表即页目录,所以又称页目录描述符) • CR3提供页目录表基址,页式寻址过程: CR3→页目录表→页表描述符→页表→页描述符→页面基址→偏移量→物理地址

  39. Pentium段页式结构寻址过程

  40. Pentium的中断机制(1) 1. 中断描述符表IDT(用于保护模式) • 描述符表长度:8字节,每个表项对应一个中断类型号。 • 表项类型:任务门、中断门、陷阱门。 • 通过特征位(位b40~b44)区分不同类型。

  41. Pentium的中断机制(2) • 描述符表长度:8字节×256=2KB。 • 描述符表位置:中断描述符表寄存器IDTR指向。 2.中断描述符指针 • 指向中断描述符表中的中断描述符的指针。 • 中断描述符指针=IDT基地址+中断类型号*8。 3.中断门/陷阱门 • 内容:段选择符、属性和偏移量。 • 中断门与陷阱门区别: (1)通过中断门处理时EFLAG的IF被清0。 (2)中断门的优先级比陷阱门高,是面向外部硬件中断的门。

  42. CS段描述符缓冲器 中断类型号 IDT GDT/LDT n IDTR 代码段 段描述符 中断门/陷阱门 基地址 ×8 CS 偏移 选择符 基地址 属性 属性 中断服务子程序 EIP 偏移 边界 线性地址 Pentium的中断机制(3) • 中断服务子程序入口地址的获取

  43. Pentium的中断机制(4) 4.任务门 • 内容:TSS选择符。 • TSS获取方法如图 • 优点:中断任务和被中断任务完全隔开。 TR描述符缓存器 中断类型号 IDT GDT n IDTR 任务门 TSS描述符 ×8 TR 基址 基址 TSS 选择符 段限 TSS 属性 线性地址

  44. Pentium的I/O保护 • I/O保护在保护模式下有效,在实地址模式下无效。 1.I/O特权级IOPL保护 • 保护通过比较当前任务的特权级CPL和标志寄存器的IOPL字段实现的。 • 若CPL<IOPL,可执行IN、OUT、INS、OUTS、CLI、STI等敏感指令(对IOPL敏感);否则不行。 • 每个任务都有自己的IOPL,0级特权的过程可通过POPF和IRET指令修改任务的IOPL。 2.I/O允许位映象保护 • I/O允许位映象用来修正IOPL对I/O敏感指令的影响,允许低特权的程序访问某些I/O端口。 • I/O允许位映象是一个位向量,每位对应一个端口的操作权限(0表示允许)。 • 操作系统可通过改变任务TSS中的I/O允许映象来为某任务分配端口。

  45. 82815EP MCH芯片 • 具有32位系统总线,66/100/133MHz系统总线频率 • 集成SDRAM控制器 • 支持包含4×AGP数据传送的AGP 2.0 • 符合ACPI电源管理规范- Full-on(S0,全开) - Stop Grant(S1,停允许) - Suspend to RAM(S3,挂起到RAM) - Suspend to Disk(S4,挂起到磁盘)- Soft-off(S5,软件关) • 具有APIC缓冲管理 • 支持82801AA(ICH)和82801BA(ICH2)两种芯片的桥电路

  46. 82801BA(ICH2)芯片 • 支持PCI2.2规范 • 集成了LAN(局域网)控制器 • 集成了IDE控制器 ,支持Ultra ATA/100/66/33 • 集成了USB控制器,符合USB1.1规范 • 为音频和电话编码解码器设置的AC’97链接 • 集成了中断控制器 • 基于82C54的时钟 • 拥有256字节电池供电的CMOS SRAM,硬件实现世纪变换 • 有两个级联的8237DMA控制器,支持PC/PCI和LPC DMA • 允许连接像Super I/O那样的传统的ISA和X总线设备 • 通过可选的外接PCI-ISA桥来支持ISA总线

  47. 82801BA PCI INTA 内部逻辑 两个 INTA# 82815EP CPU总线 INTA 中断类型号 主8259A 从8259A INTR PII/III CPU IRQ Pentium中断系统硬件结构

  48. Pentium II 微处理器 1. 特点 • Pentium Pro核心+MMX • 双独立总线结构后端总线连接到L2 Cache上 前端总线FSB主要负责主存储器的信息传送操作 • 借鉴了RISC技术来实现传统的x86指令系统每一条x86操作都转换成简单的微操作 • 采用动态执行技术和寄存器重命名技术 • 采用了最新的Slot1接口标准 2. 动态执行技术 • 多路分支预测允许程序的几个分支流向同时在处理器中执行 • 数据流分析处理器分析几条指令的数据相关性和资源可用性以优化的执行顺序高效地处理这些指令 • 推测执行尽量保持多端口、多功能的执行部件始终为“忙”

  49. 主 存 L2 Cache 前端总线 后端总线 总线接口单元BIU L1数据Cache 16KB 结果总线 L1代码Cache 16KB 存储器排序缓冲器MOB 存储数据单元 端口4 保留站RS 分支目标缓冲器BTB 指令预取单元IFU 存储地址单元 端口3 加载地址单元 x86指令译码器 端口2 微指令序列器MIS 译码器0 译码器1 译码器2 MMX移位器 MMX ALU 简单整数单元 转移执行单元 端口1 寄存器别名表RAT MMX ALU MMX乘法器 复杂整数单元 复杂浮点单元 简单浮点单元 端口0 指令重排缓冲器ROB Pentium II 的内部结构

  50. 物理地址扩展 页全局允许 性能计数器允许 31 7 6 5 4 3 2 1 0 8 TSD PSE DE PVI PAE CR4 MCE 保留,缺省为全0 PGE VME PCE 31 12 11 4 3 0 PCD PWT CR3 页目录基地址寄存器 31 0 CR2 页故障线性地址寄存器 31 0 CR1 保 留 31 30 29 18 17 16 5 4 3 2 1 0 PG CD NW AM WP CR0 NE ET TS EM MP PE Pentium II 的控制寄存器

More Related