第二章 32位微处理器80386结构讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
段地址不再象在实方式下那样由段寄存器提供。 这时,段寄存器中包含有选择子(Selector),它 用于从描述符表中选择一个描述符(descriptor), 描述符描述了一个存储器的段的起始地址、界限 值和属性,依据此种数据结构来实现对存储单元 的访问。
虚拟8086是一种特殊的保护方式,一种运行在 保护方式下的8086方式,即既有保护功能又能执 行8086的应用程序。
32位微处理器80386
1. 有关技术名词简介 2. 80386 的体系结构 3. 80386 的三种工作方式 4. 80386 的寄存器 5. 80386 的虚拟存储机制与片内两级存储管理 6. 80386 的中断 7. 80386 的信号和总线
1
32位机为了支持多任务操作及提高处理速度,普 遍采用了一些现代先进计算机硬、软件技术,如 流水线技术、虚拟存储器技术、高速缓冲存储器 技术、内存管理技术及分支预测技术等。
物理地址
总线接口部件BIU 总线请求判优 数据和地址驱动 控制信号驱动 协处理器控制
MMU
存储器 接口 协处理器
17
3. 80386的三种工作方式
80386共有三种工作方式:即实地址方式、 保护虚拟地址方式和虚拟8086方式。
实 地 址 方 式 与 8086/8088 工 作 原 理 类 似 , CPU只能访问存储空间的最低1MB,采用段地 址和偏移地址相结合的方法来寻址存储单元,即 将段地址左移4位再加上偏移地址,每段最大可 为64K,各段允许重叠。存储区中保留中断区中
三种模式之间的转换见图:
RESET 对CPU复位
实模式REAL
※LMSW指令 ※修改CR0指令 的PE位=1
RRESET位后修改CR0的PE=0
通
过
中
RESET信号
断
PROTECTED 保护模式
执行 IRETD指 令
VIRTUAL 虚拟8086
22
4. 80386的寄存器结构
80386的寄存器按功能可分成四类,它们是 基本寄存器、控制寄存器、系统地址寄存器、 调试及测试寄存器。我们主要介绍第一种--基本 寄存器,简要介绍其他寄存器。
9
所谓超流水线结构是把一个时钟周期再细分为多 个子周期,每个子周期发出一条指令;而超标量结 构是在每个时钟周期内发射多条指令,这就要求在 微处理器片内集成两条或两条以上的流水线,如 Pentium和Pentium Pro就采用这种超标量结构设 计技术。若把超标量与超流水线结合起来,就称为 超标量超流水线结构。
5
当前,Intel公司的CISC产品80X86仍占有极 大的优势,其原因是在80X86/MS-DOS平台上 开发的应用软件有上亿个,远比RISC机器的软 件丰富。CISC机器上的软件不能在RISC系统上 运行。为了保持与这么多的应用软件兼容, Intel公司采取了逐步向RISC技术过渡的策略, 现已在80486和Pentium中采用了RISC技术。
3
如果高档机要求增加功能更强的、更复杂的指令, 则只需要扩充这个核,增加相应的微程序,即可 做到从低档机到高档机的软件向上兼容。
RISC--精简指令集计算机(Reduced Instruction Set Computer)是指采用简化了的 指令系统和硬连线控制器的计算机。它是在高效 的流水线技术的基础上,充分利用指令并行执行 和编译优化技术的计算机。
10
•虚拟存储器(Virtual Memory)
虚拟存储器允许用户运行一个比主存储器容量 大得多的可随机访问的存储空间。通常在存储系 统中有一个速度较快、容量比较小的内部主存储 器,还有一个速度较慢、容量很大的外存储器, 通过操作系统和硬件的配合,使二者构成一个有 机的整体。对用户来说,好像有一个容量比实际 主存大得多的主存可供使用,但它并不是真正的 物理上的主存,因此称为虚拟存储器。
7
•计算机流水线(Computer Pipeline)
把计算机的指令或操作分解成一系列可独立执行 的步,并将多条指令或多个操作的步,按流水线方 式重叠执行的一种工作方式。其特点是多条指令或 多个操作并行处理,虽然每条指令或每个操作的执 行步骤并未减少,但从整体看却加快了指令流进程, 提高了整体处理速度。
16
80386 的功能部件
指令预取部件 IPU
16字节指令预取队列
指令
指令译码部件IDU 逻 指 辑令
指令译码器
地字
译码指令队列
址节
译好码的指令
执行部件 EU
ALU 64位移位加法器
操作数和结果 8个32位通用寄存器
控制和保护测试
CPU
分段部件 逻辑地址
线性地址
线性地址 分页部件 线性地址
物理地址
18
保留中断向量区(地址为00000~003FFH)和初 始化向量区(地址为FFFFO~FFFFFH)两个固定 区域。
在上电和复位时,80386(包括80486, Pentium等)便进入实地址方式,实地址方式是一 种为建立保护方式作准备的方式.
保护虚拟地址方式是80386最常用的方式,该方 式引入了虚拟存储器概念。虚拟地址空间达64TB, CPU可访问的物理存储空间为4GB。在这种方式下, 对存储单元的寻址址不同于8086/8088,
13
这样,如果大部分针对高速缓存的访问都能成功, 则在主存储器容量保持不变的情况下,访存速度可 接近高速缓存的存取速度,这无疑可提高微机的运 行速度。
高速缓存的工作机制,是基于一种所谓局部性 原则,即指程序在访问代码和数据时,如果某位置 已被访问,该位置在短时间内可能还要再被访问; 如果某位置已被访问,该位置的邻近位置可能还要 再被访问。这是因程序中相关的数据块大都按顺序 存放,且一般都存在相邻的存储单元中。
… ID VIP VIF AC VM RF
NT IOPL OF DF IF TF SF ZF AF
210
PF
CF
80X86 ~
Pentiu m Pro 的标志
寄存器
8086/8088/80186/80188 80286
80386 80486
Pentium/Pentium Pro
EFLAGS为32位标志寄存器,80386实际占有14位标志,分为三类:状态标志、控 制标志和系统方式标志。其中状态标志与控制标志的含义在8086/8088中已作介绍, 系统方式标志则是表示系统处于什么方式的标志。
6
RISC结构是对计算机体系结构的一次重大变革, 它可使微型计算机、工作站、小型计算机、大型 计算机甚至超级计算机都由同一类型的处理机组 成,这些不同机型的软件可做到二进制兼容。经 过多年的发展,RISC已成为一种体系结构的设 计思想,它与CISC的差别已不再是指令集的多 少,远远超出了原来的含义和概念。
80386DX的数据总线和地址总线都是32位,直 接 寻 址 的 内 存 空 间 达 到 4GB , 虚 拟 地 址 空 间 为 64TB 。 芯 片 上 集 成 了 27.5 万 个 晶 体 管 , 主 频 为 16~33MHz,在16MHz主频下,运行速度为3~ 4MIPS(即每秒可执行300万到400万条指令)。 由于采用了全32位体系结构,它能提供真正的多任 务处理和建立虚拟系统的能力。
25
(2)指令指针寄存器EIP
用来存放要执行的下一条指令的地址偏移量, 工作在32位下的EIP,寻址范围4GB(4千兆字节)。 它的低16位与8086/8088兼容,称为IP,寻址 范围为64KB。
26
(3)标志寄存器EFLAGS
80X86和Pentium Pro的标志寄存器的各位标志名。
31 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3
4
RISC出现在80年代,它的含义是简化指令系 统的计算机,它舍弃不常用的复杂指令,并充分 改进频繁使用的基本指令的实际执行效率,把微 程序控制器改为硬连线控制器,加强寄存器-寄 存器操作指令,从而简化了计算机结构,提高了 性能。后来,RISC技术强调优化流水线技术, 使在一个机器周期内完成一个基本指令的执行。
12
•高速缓冲存储器(Cache)
位于CPU与主存储器之间,对程序员透明的一种 高速小容量存储器。所谓透明是指不必程序员自己 去加以操作和控制。
高速缓冲存储器简称高速缓存,它是用最快速的 SRAM构成。在配备有高速缓存的微型机中,每次 访问存储器时,都先访问高速缓存,若访问的内容 在高速缓存中,访问到此为止;否则,再访问主存 储器,并把有关内容及相关数据块取入高速缓存。
27
新增的标志位含义如下:
IOPL:I/O特权级标志,仅适用于保护方式,由13位和12位指明I/O操作的 级别(0~3级,IOPL=00为最高级,IOPL=11为最低级)。只有当任务的现行 特权级IOPL,I/O指令才能顺利执行,否则产生中断,使任务挂起。
1. 有关技术名词简介
• CISC和RISC CISC是复杂指令集计算机(Complex
Instruction Set Computer)的英文缩略 语。是指以微程序为基础、具有较复杂指令 系统的计算机
2
在60年代到80年代初期这一阶段中,以微程序控 制器为基础的处理机占主流地位,IBM公司从60 年代初开始把计算机产品系列化并做到软件兼容后, 处理机体系结构设计中采用微程序技术作为控制指 令执行的控制器的基础,在当时是比较适合的。因 为在一个产品系列中,低档机指令系统中的指令的 基本操作,可以以微程序方式存放在微存储器中 (只读存储器),这个微存储器称为“核”。
如下图所示,基本寄存器包括通用寄存器、 指令指针寄存器、标志寄存器和段寄存器。
23
32 位 寄存器名:
31 EAX EBX 通 ECX 用 EDX 寄 ESP 存 EBP 器 ESI EDI
EIP EFLAGS
15 AH BH CH BP SI DI
8
计算机流水线一般分为指令流水线和运算流水线 两种。
80年代初出现RISC后,即把流水线技术作为首选 技术,在RISC中最初的目标是每个时钟周期执行1 条指令,后来提出在1个时钟周期执行多条指令的 目标,于是便出现了超流水线 (Superpipelined)、超标量(Superscalar)等 体系结构。
20
在80386保护方式下,支持多任务操作。此时, 某一个任务可能运行在虚拟8086方式,而另一 些任务运行在保护方式,操作系统为每个任务分 配一定量的时间,使得系统看上去好象在同时执 行多个任务,对每个任务好象独用一台完整的计 算机。
21
Intel80X86微处器三种工作模式关系:
实模式、保护模式和虚拟86模式
IP FLAGS
CS DS SS ES FS GS
0 AL 累加器 BL 基址寄存器 CL 计数器 DL 数据寄存器
堆栈指针 基址指针 源变址 目的变址
指令指针 标志寄存器
代码段 数据段 堆栈段 附加段 附加段 附加段
80386~Pentium Pro 的基本寄存器
24
(1)通用寄存器
8个32位通用寄存器EAX、EBX、ECX、EDX、 ESP、EBP、ESI、EDI都是由8086/8088中的8个 16位通用寄存器扩展位数而来,它们的低16位可以 独立存取,以便与8086/8088兼容,名称分别称为 AX、BX、CX、DX、SP、BP、SI和DI。其中前4 个寄存器还可进一步分别分为两个8位寄存器,分别 称为AH、AL,BH、BL,CH、CL,DH和DL。
11
虚拟存储器的地址称为虚地址或逻辑地址,与 之对应的称为实地址或物理地址。虚地址是程序 员所看到的地址,是在程序中可使用的地址;实 地址是CPU可访问的地址。在使用虚拟存储器的 系统中,CPU实际访问的仍然是主存储器,通常 程序放在磁盘等外存中,借助于存储管理部件将 其映射到主存而被CPU访问。在80386/80486 等微处理器中,虚拟存储器容量可高达 246=64TB ( 64 兆 兆 字 节 ) , 主 存 容 量 为 232=4GB(4千兆字节)。
14
访问存储器时,若能在高速缓存中找到所需内 容,称为“命中”,否则就是“不命中”。不命 中的原因与高速缓存容量不足等有关。为了弥补 片上高速缓存的不足,以及高速缓存与主存间的 速度差距,通常采用多级高速缓存的方案。即在 片上高速缓存与主存之间增加1级或多级速度稍 慢但容量较大的高速缓存。
15
2. 80386 的体系结构
段地址不再象在实方式下那样由段寄存器提供。 这时,段寄存器中包含有选择子(Selector),它 用于从描述符表中选择一个描述符(descriptor), 描述符描述了一个存储器的段的起始地址、界限 值和属性,依据此种数据结构来实现对存储单元 的访问。
虚拟8086是一种特殊的保护方式,一种运行在 保护方式下的8086方式,即既有保护功能又能执 行8086的应用程序。
32位微处理器80386
1. 有关技术名词简介 2. 80386 的体系结构 3. 80386 的三种工作方式 4. 80386 的寄存器 5. 80386 的虚拟存储机制与片内两级存储管理 6. 80386 的中断 7. 80386 的信号和总线
1
32位机为了支持多任务操作及提高处理速度,普 遍采用了一些现代先进计算机硬、软件技术,如 流水线技术、虚拟存储器技术、高速缓冲存储器 技术、内存管理技术及分支预测技术等。
物理地址
总线接口部件BIU 总线请求判优 数据和地址驱动 控制信号驱动 协处理器控制
MMU
存储器 接口 协处理器
17
3. 80386的三种工作方式
80386共有三种工作方式:即实地址方式、 保护虚拟地址方式和虚拟8086方式。
实 地 址 方 式 与 8086/8088 工 作 原 理 类 似 , CPU只能访问存储空间的最低1MB,采用段地 址和偏移地址相结合的方法来寻址存储单元,即 将段地址左移4位再加上偏移地址,每段最大可 为64K,各段允许重叠。存储区中保留中断区中
三种模式之间的转换见图:
RESET 对CPU复位
实模式REAL
※LMSW指令 ※修改CR0指令 的PE位=1
RRESET位后修改CR0的PE=0
通
过
中
RESET信号
断
PROTECTED 保护模式
执行 IRETD指 令
VIRTUAL 虚拟8086
22
4. 80386的寄存器结构
80386的寄存器按功能可分成四类,它们是 基本寄存器、控制寄存器、系统地址寄存器、 调试及测试寄存器。我们主要介绍第一种--基本 寄存器,简要介绍其他寄存器。
9
所谓超流水线结构是把一个时钟周期再细分为多 个子周期,每个子周期发出一条指令;而超标量结 构是在每个时钟周期内发射多条指令,这就要求在 微处理器片内集成两条或两条以上的流水线,如 Pentium和Pentium Pro就采用这种超标量结构设 计技术。若把超标量与超流水线结合起来,就称为 超标量超流水线结构。
5
当前,Intel公司的CISC产品80X86仍占有极 大的优势,其原因是在80X86/MS-DOS平台上 开发的应用软件有上亿个,远比RISC机器的软 件丰富。CISC机器上的软件不能在RISC系统上 运行。为了保持与这么多的应用软件兼容, Intel公司采取了逐步向RISC技术过渡的策略, 现已在80486和Pentium中采用了RISC技术。
3
如果高档机要求增加功能更强的、更复杂的指令, 则只需要扩充这个核,增加相应的微程序,即可 做到从低档机到高档机的软件向上兼容。
RISC--精简指令集计算机(Reduced Instruction Set Computer)是指采用简化了的 指令系统和硬连线控制器的计算机。它是在高效 的流水线技术的基础上,充分利用指令并行执行 和编译优化技术的计算机。
10
•虚拟存储器(Virtual Memory)
虚拟存储器允许用户运行一个比主存储器容量 大得多的可随机访问的存储空间。通常在存储系 统中有一个速度较快、容量比较小的内部主存储 器,还有一个速度较慢、容量很大的外存储器, 通过操作系统和硬件的配合,使二者构成一个有 机的整体。对用户来说,好像有一个容量比实际 主存大得多的主存可供使用,但它并不是真正的 物理上的主存,因此称为虚拟存储器。
7
•计算机流水线(Computer Pipeline)
把计算机的指令或操作分解成一系列可独立执行 的步,并将多条指令或多个操作的步,按流水线方 式重叠执行的一种工作方式。其特点是多条指令或 多个操作并行处理,虽然每条指令或每个操作的执 行步骤并未减少,但从整体看却加快了指令流进程, 提高了整体处理速度。
16
80386 的功能部件
指令预取部件 IPU
16字节指令预取队列
指令
指令译码部件IDU 逻 指 辑令
指令译码器
地字
译码指令队列
址节
译好码的指令
执行部件 EU
ALU 64位移位加法器
操作数和结果 8个32位通用寄存器
控制和保护测试
CPU
分段部件 逻辑地址
线性地址
线性地址 分页部件 线性地址
物理地址
18
保留中断向量区(地址为00000~003FFH)和初 始化向量区(地址为FFFFO~FFFFFH)两个固定 区域。
在上电和复位时,80386(包括80486, Pentium等)便进入实地址方式,实地址方式是一 种为建立保护方式作准备的方式.
保护虚拟地址方式是80386最常用的方式,该方 式引入了虚拟存储器概念。虚拟地址空间达64TB, CPU可访问的物理存储空间为4GB。在这种方式下, 对存储单元的寻址址不同于8086/8088,
13
这样,如果大部分针对高速缓存的访问都能成功, 则在主存储器容量保持不变的情况下,访存速度可 接近高速缓存的存取速度,这无疑可提高微机的运 行速度。
高速缓存的工作机制,是基于一种所谓局部性 原则,即指程序在访问代码和数据时,如果某位置 已被访问,该位置在短时间内可能还要再被访问; 如果某位置已被访问,该位置的邻近位置可能还要 再被访问。这是因程序中相关的数据块大都按顺序 存放,且一般都存在相邻的存储单元中。
… ID VIP VIF AC VM RF
NT IOPL OF DF IF TF SF ZF AF
210
PF
CF
80X86 ~
Pentiu m Pro 的标志
寄存器
8086/8088/80186/80188 80286
80386 80486
Pentium/Pentium Pro
EFLAGS为32位标志寄存器,80386实际占有14位标志,分为三类:状态标志、控 制标志和系统方式标志。其中状态标志与控制标志的含义在8086/8088中已作介绍, 系统方式标志则是表示系统处于什么方式的标志。
6
RISC结构是对计算机体系结构的一次重大变革, 它可使微型计算机、工作站、小型计算机、大型 计算机甚至超级计算机都由同一类型的处理机组 成,这些不同机型的软件可做到二进制兼容。经 过多年的发展,RISC已成为一种体系结构的设 计思想,它与CISC的差别已不再是指令集的多 少,远远超出了原来的含义和概念。
80386DX的数据总线和地址总线都是32位,直 接 寻 址 的 内 存 空 间 达 到 4GB , 虚 拟 地 址 空 间 为 64TB 。 芯 片 上 集 成 了 27.5 万 个 晶 体 管 , 主 频 为 16~33MHz,在16MHz主频下,运行速度为3~ 4MIPS(即每秒可执行300万到400万条指令)。 由于采用了全32位体系结构,它能提供真正的多任 务处理和建立虚拟系统的能力。
25
(2)指令指针寄存器EIP
用来存放要执行的下一条指令的地址偏移量, 工作在32位下的EIP,寻址范围4GB(4千兆字节)。 它的低16位与8086/8088兼容,称为IP,寻址 范围为64KB。
26
(3)标志寄存器EFLAGS
80X86和Pentium Pro的标志寄存器的各位标志名。
31 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3
4
RISC出现在80年代,它的含义是简化指令系 统的计算机,它舍弃不常用的复杂指令,并充分 改进频繁使用的基本指令的实际执行效率,把微 程序控制器改为硬连线控制器,加强寄存器-寄 存器操作指令,从而简化了计算机结构,提高了 性能。后来,RISC技术强调优化流水线技术, 使在一个机器周期内完成一个基本指令的执行。
12
•高速缓冲存储器(Cache)
位于CPU与主存储器之间,对程序员透明的一种 高速小容量存储器。所谓透明是指不必程序员自己 去加以操作和控制。
高速缓冲存储器简称高速缓存,它是用最快速的 SRAM构成。在配备有高速缓存的微型机中,每次 访问存储器时,都先访问高速缓存,若访问的内容 在高速缓存中,访问到此为止;否则,再访问主存 储器,并把有关内容及相关数据块取入高速缓存。
27
新增的标志位含义如下:
IOPL:I/O特权级标志,仅适用于保护方式,由13位和12位指明I/O操作的 级别(0~3级,IOPL=00为最高级,IOPL=11为最低级)。只有当任务的现行 特权级IOPL,I/O指令才能顺利执行,否则产生中断,使任务挂起。
1. 有关技术名词简介
• CISC和RISC CISC是复杂指令集计算机(Complex
Instruction Set Computer)的英文缩略 语。是指以微程序为基础、具有较复杂指令 系统的计算机
2
在60年代到80年代初期这一阶段中,以微程序控 制器为基础的处理机占主流地位,IBM公司从60 年代初开始把计算机产品系列化并做到软件兼容后, 处理机体系结构设计中采用微程序技术作为控制指 令执行的控制器的基础,在当时是比较适合的。因 为在一个产品系列中,低档机指令系统中的指令的 基本操作,可以以微程序方式存放在微存储器中 (只读存储器),这个微存储器称为“核”。
如下图所示,基本寄存器包括通用寄存器、 指令指针寄存器、标志寄存器和段寄存器。
23
32 位 寄存器名:
31 EAX EBX 通 ECX 用 EDX 寄 ESP 存 EBP 器 ESI EDI
EIP EFLAGS
15 AH BH CH BP SI DI
8
计算机流水线一般分为指令流水线和运算流水线 两种。
80年代初出现RISC后,即把流水线技术作为首选 技术,在RISC中最初的目标是每个时钟周期执行1 条指令,后来提出在1个时钟周期执行多条指令的 目标,于是便出现了超流水线 (Superpipelined)、超标量(Superscalar)等 体系结构。
20
在80386保护方式下,支持多任务操作。此时, 某一个任务可能运行在虚拟8086方式,而另一 些任务运行在保护方式,操作系统为每个任务分 配一定量的时间,使得系统看上去好象在同时执 行多个任务,对每个任务好象独用一台完整的计 算机。
21
Intel80X86微处器三种工作模式关系:
实模式、保护模式和虚拟86模式
IP FLAGS
CS DS SS ES FS GS
0 AL 累加器 BL 基址寄存器 CL 计数器 DL 数据寄存器
堆栈指针 基址指针 源变址 目的变址
指令指针 标志寄存器
代码段 数据段 堆栈段 附加段 附加段 附加段
80386~Pentium Pro 的基本寄存器
24
(1)通用寄存器
8个32位通用寄存器EAX、EBX、ECX、EDX、 ESP、EBP、ESI、EDI都是由8086/8088中的8个 16位通用寄存器扩展位数而来,它们的低16位可以 独立存取,以便与8086/8088兼容,名称分别称为 AX、BX、CX、DX、SP、BP、SI和DI。其中前4 个寄存器还可进一步分别分为两个8位寄存器,分别 称为AH、AL,BH、BL,CH、CL,DH和DL。
11
虚拟存储器的地址称为虚地址或逻辑地址,与 之对应的称为实地址或物理地址。虚地址是程序 员所看到的地址,是在程序中可使用的地址;实 地址是CPU可访问的地址。在使用虚拟存储器的 系统中,CPU实际访问的仍然是主存储器,通常 程序放在磁盘等外存中,借助于存储管理部件将 其映射到主存而被CPU访问。在80386/80486 等微处理器中,虚拟存储器容量可高达 246=64TB ( 64 兆 兆 字 节 ) , 主 存 容 量 为 232=4GB(4千兆字节)。
14
访问存储器时,若能在高速缓存中找到所需内 容,称为“命中”,否则就是“不命中”。不命 中的原因与高速缓存容量不足等有关。为了弥补 片上高速缓存的不足,以及高速缓存与主存间的 速度差距,通常采用多级高速缓存的方案。即在 片上高速缓存与主存之间增加1级或多级速度稍 慢但容量较大的高速缓存。
15
2. 80386 的体系结构