微机原理及接口技术80486
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二节 Intel80X86微处理器体系结构
继78年8086之后,Intel公司与81年推出了80286CPU,它也是16位微 机,与8086向上兼容。
而在85年和89年,Intel又分别推出了80386和80486CPU,这 两者均为32位微处理器。
80286CPU是在8086的基础上改进和发展而来,其主要特色是:
2018/10/14 9
⒉ 基本结构寄存器 8个32位的通用寄存器,6个16位的段寄存器,1个32位的指令 指针,1个32位的标志寄存器 ⒈ 80486的工作模式 80486 有两种工作模式,一种是实地址模式,一种是保护 虚拟模式。 80486 实地址模式与它的前辈 16 位的 8086 完全兼容,在 8086 和 80286编写的程序不需作任何修改,就可以在80486的实地址模 式下运行。 保护虚拟模式为多用户操作系统的设计提供必要条件,在保护 虚拟模式下, 80486 可为每一个任务提供 4GB 的物理空间,并 允许程序在64TB的虚拟空间内运行。 2018/10/14 10 80486虚地址、线性地址和物理地址的关系图:
(16位)
高速缓冲寄器
1。段位置:由16位的段R 和64位的描述符在高速 80386新增加了两个数据 缓冲寄存器中构成。
CS DS SS ES FS GS
段,以满足程序和任务对 程序不可访问 多数据段的需要。 (64位)
20
2018/10/14
3.标志寄存器 (EFR)
31 EFR 15 0
4。指令指示器(EIP)
31 15 0
FR
EIP
IP
CPU可以使用它的低16位/32位。
2018/10/14
21
关于标志R(32位) 8086比8位微机,增加了3个控制标志和1个算术运算标志: 分别为DF、IF和OF。 80286比8086又增加了2个控制标志: NT—— 嵌套(14位) NE 行 完当前任务后需返回原任务。 0— 表示无效。 有IOPL—— 特权标志(位12、13) 用以指定I/O操作处于0~3特权层中的那一层。 80386、80486公使用了15个标志,占用16位(IOPL占2位) 1— 表示当前任务嵌套于另一任务中,执
AB: 32条 AB: 32条 DB: 32条 DB: 32条
2018/10/14
17
§2 80X86的内部结构
一、80X86的内部各部件及其功能
80X86CPU由多个部件构成—— 多个部件在CPU内部分别同步 独立并行地进行操作,避 免了顺序处理,实现了高效的流水化作业,最大限度地 发挥了CPU的性能,使总线的利用率达到最佳状态。
16
偏移地址
20位物理地址
偏移地址由IP ,SP或寻址方式提供
2018/10/14
7
三。 80486 微处理器结构框图
2018/10/14
8
⒈ 基本部件 运算部分:进行定点运算时需要算术逻辑运算单元、移位器 和寄存器组;进行浮点运算时需要浮点运算单元和浮点寄存 器组。 高速缓存:用来存放最近运行程序所需要的指令代码和数据。 减少访问内存次数从而提高CPU运行速度。 存储器段页管理:为实现虚以存储器而设置。 指令译码与控制:根据指令的信息产生微指令对CPU内部进 行控制。 80486外部地址线有32根,主存空间为4GB。数据线有32根, 同时可访问4个字节的内存数据。
2018/10/14
22
31 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AC VM RF × NT IP PL OF DF IF TF SF IF AF DF C
S AF D4 S CF D0
所有标志位分 为三类:
S PF D2 S SF D7 S IF D6 C DF D10 C IF D9
16
四、80X86有大的存贮器空间:
实地址空间 —— 可直接寻址的地址空间为2 =4千兆(4GB) 虚拟存贮空间—— 可直接寻址的地址空间为2 =64MM字节 (14+32= 2
46 46
32
=64MM)
80286 —— 68条
80486 —— 168条 Pentium —— 273条
AB: 24条 DB:16条
EU
AH BH CH DH AL BL CL DL SP BP SI DI ES DS SS CS IP
20位地址
加法器
BIU
总线 控制 逻辑
数据
算逻部件
标志寄存器
执行 部件 控制 系统
1 2 3 4 5 6
指令队列
8086微处理器的内部结构
2018/10/14 1
微处理器的三总线
① 地址总线传输地址信息,用来寻址存储器单元和I/O接口。 地址总线”宽度”决定系统内存的最大容量。 8086有20根地址线,可寻址1M内存。 80486有32根地址线,可寻址4G内存。 奔腾有64根地址线,可寻址内存。
2018/10/14
18
二、80X86的内部寄存器 1。通用R
D31
“E”—— Expand 8086的16位 通用R扩展为32位,他们可 以按8 位、16位和32位使用。
D0
EAX EBX ECX EDX ESP EBP ESI EDI
2018/10/14
19
注意:在进行8位或16位R 运算操作时,只影响FR 中的相应位,如8位加法 进行,起进位不是送到 第19位,而是送到FR中 的CF位。
2018/10/14 5
⒋ 标志寄存器FLAG 16 位标志寄存器用来保存在一条指令执行之后,CPU所处 状态的信息及运算结果的特征。如有进位/借位CF=1、运算 溢出OF=1、运算结果为零ZF=1等9个标志。
2018/10/14
6
二。8086的物理地址的形成
(段寄存器)
(CS)
(DS)
(SS பைடு நூலகம் (ES)
※TSS(Task State Segment)任务状态段
2018/10/14
24
系统地址R:表R为
GDTR LDTR IDIR TR 分别用来指定 GDT LDT IDT 的大小在M中的位 置。
——用以指定TSS任务状态段,只用来存放 任务环境的,其在M中的位置和大小 由TR指定。
其中: GDTR和IDTR共48位:32位的表基地址字段+16位的表 边界字段。
1. 片内具有存贮器管理和保护机构 2. 正式的在存贮器中引入虚拟地址的概念 3. CPU内部的硬件结构支持了CPU采用了快速的并行 流水线操作方式。
80286的这些特点在80386/80486中体现的更加完善和进 一优化,而奔腾CPU的内部结构又是在80486的基础上 有更进一步的发展。
2018/10/14 11
2018/10/14
27
5。控制R(CR0~CR3)(32位)(8086CPU中无)
其中:CR1—— 备用 CR3—— 用于提供页目录的基地址 CR2—— 用于提供页故障线性地址。
奔腾CPU数据线是64位。 ③ 控制总线对于不同的CPU来讲,其条数是不一样 控制线向系统各部件发出(或接收)控制信号。 的。控制线向系统各部件发出(或接收)控制信号。
2018/10/14
3
⒈ 通 用寄存器 有8个16位通用寄存器 AX、BX、CX、DX、 SI、DI、BP、SP。这些寄存器可以存放数据和 地址,并能进行16位运算。其中AX、BX、CX、 DX的低位字节或高位字节也可作为独立的8位寄 存器使用,低位字节的寄存器分别称作AL、BL、 CL和DL,高位字节的寄存器分别称作AH、BH、 CH和DH。
31
2018/10/14
0 15
表基址 表限
0
25
可在实模式方式下,通过编程对GDTR和IDTR加载,以实现对 GDT和IDT在保护方式下的初始化操作。 15 0 15 0 31 0 表基址字段 15 0 边界字段 选择器字段 属性字段
LDTR和TSR共80位:32位的表基址字段+20位的边界字段
2018/10/14 12
2.片上设有高速缓冲寄存器/存储器(CACHE)
可用于进行快速的实、虚地址转换—— 一个段R(选择器)
对应于一个64位(8个字节)的段描述符缓冲寄存器。
可用于暂时存放数据和指令于高速缓存中,以加快CPU执行指令的 速度。
2018/10/14
13
3。采用高速流水线结构
CPU由多个部件组成,各部件在CPU内部分别同步的, 相互 独立 的并 行 操作。 (实现了高效的流水作业,避免了顺序处理,最大限度地发 挥了CPU的性能,是总线利用率达到最佳状态。 BIU 总线接口部件 EU 执行部件 SU PU 段管理部件 页管理部件 CPU IDU 代码予取部件 指令译码部件
8080 所用 标志
8086所用 标志
80286 所用标 80386所 80486所 用标志 用标志 志
S— 状态标志
C— 控制标志 X—系统标志
S OF D11
X TF D8 X NT D14 X IOPL D12
X RF
D16
23
X VM D17
2018/10/14 X AC D18
4 。 系统表R:
2018/10/14
15
三、具有对存贮器及特权层的保护功能
CPU内部具有保护机构: 1。对特权层的保护功能:禁止程序的非法操作如:向代码段进行写入操 作,访问段限以外的存贮区域等。
2。对特权层的保护功能:
特权层分为4级:
1级
0级
OS核 系统服务程序 应用服务程序
2018/10/14
2 级
3 级
应用程序
80X86的体系结构特点
一。有关大型机的优化的体系结构
1。片内集成有存贮器管理部件(MMU) 可支持对存贮器进行分页管理:将指令指定的逻辑地址变换为线性地址。 (段长度可变,但不好管理。所以引入了分页管理) 可支持对存贮器进行分页管理:将线性地址变换为物理地址。 由OS进行具体管理,但CPU内部有硬件支持这种管理。 存贮器管理的具体含义: 80X86支持多任务、多道程序运行,每个任务、每道程序均需占用一 定字节的存贮空间,如何将有限的物理空间有效地分配给多个任务—— 即 实现虚、实空间的转换,这就是存贮器管理要解决的问题。
·指令流水线技术:总线接口、指令予取 、指令予译码。 ·地址流水线技术: 采用流水线地址寻址—— 两个连续的总线 周期部分重叠。
2018/10/14
超标量流水线技术:多条指令并行执行。
14
二、80X86是灵活的全32位微处理器(MP VP)
数据总线DB32位—— 可处理8位、16位和32位数据类型, 通用 寄存器及操作数为32位。 支持动态总线宽度控制(动态切换16/32位数据总线)通过引脚 BS16, 由 外部送来信号通知80X86总线改变情况: 0 1 —— 以16位数据总线操作 —— 以32位数据总线操作
+12位的访问权字段 +16位的选择器字段。
对LDTR和TR的说明:
※这两个寄存器只能在保护方式下使用。 ※在保护模式下程序可访问字段仅限于段选择器字段,
即只能用指令加载段选择器。
2018/10/14 26
用LLDT和LT指令可设置成改变相应的选择器字段,依 选择器字段可 从全局描述符表中找到指定的基地址描述符和 任务状态段描述符,在将描述符中的32位段基址和16位的段 限及16位的属性字段加载到 LDTR和TR的64位高速缓冲寄存 器中。
2018/10/14
4
⒉ 段寄存器 有4个16位段寄存器 CS、DS、ES、SS。段寄存器主要解决 20位地址形成和程序中指令代码与数据分开存放。此4个段 寄存器名称为代码段、数据段、附加数据段、堆栈段。除 CS是用于指示指令代码的地址空间之外,其它段寄存器都 用于指示数据的地址空间。 ⒊ 指令指针IP 16位的IP总是保存着下一次将要从主存中取出指令的偏移地 址,其值为该指令到所在段首址的字节距离
存储容量单位 1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024字节 1字节=二进制8位
2018/10/14
2
② 数据总线传输数据,用来与存储器单元和 I/O接 口交换数据。
8086/80286CPU内/外数据线都是16位。
80386/80486CPU数据线是32位。
用于进行从虚拟地址向实际物理地址的转换。
1。功能: 主要用于在保护模式下,管理 4个系统表,这4个系统表为:
※GDT(Global Descriptor Table)全局描述符表
※LDT(Local Descriptor Table)局部描述符表 ※IDT(Interrupt Descriptor Table)中断描述符表