第二章 32位微处理器80386结构讲解
合集下载
新编16_32位微型计算机原理及应用(李继灿主编)课件第2章

2. I/O空间: 486利用低16位地址线访问I/O端口,所 以I/O端口最多有216=64K,I/O地址空间为 0000H~FFFFH。 注意:I/O地址空间不分段 I/O地址空间与存储空间不重叠 CPU有一条控制线M/IO,在硬件设计上用 M/IO=1,参与存储器寻址,用M/IO=0参与 I/O寻址。 从PC/XT~Pentium,基于Intel微处理器的 系统机,实际上只使用低10位地址线,寻址 210=1024个I/O端口。
指 代码流 预取 令 译 指令 码 24位 2*16 总线 器
数据总线 线性地址总线 32 32
A2~A31 BE0~BE3 系统 地址总线
D0~D31 系统 数据总线
控制 总线
控制ROM 控制部分
系统 控制总线
指令队列
译码部分 指令预取部分
总线接口部分
一. 7个功能块: 1.总线接口单元: 产生三总线信号,进行存储器和I/O端口 的访问。
地址(32位) A2~A31、BE0~BE3 地址驱动器 系统地址总线
数据(32位) 写缓冲器 4*80 D0~D31 数据(32位) 数据总线收发器 系统数据总线 控制总线 系统控制总线
2.高速缓冲存储器(CPU内部的Cache): 存放从存储器中取出的最近要执行的指 令和数据,这样CPU就只需从Cache中取指令, 不必经常访问存储器了。
指 运算部分 微指令 令 代码流 控制部分 指令 译 24位 码 总线 器
指 令 预 取 队 列
5.控制器: 控制器采用微程序设计,根据指令译码 器送来的信息产生微指令,对运算器、存储 器管理部分……发出控制信号。 存储管 指 控制与保护 理部分 令 微指令 部件 译 运算部分 码 控制ROM 器 控制器
《微机原理与接口技术(80386-Pentium)》-第2章 80386系统原理

版权所有 © 天津大学电子信息工程学院课件制作组
2005年1月
• 标志寄存器中的位11(OF位)是溢出标志位,用它表 示运算时出现的进位进入了结果的高序位,可是高序位 却没有进位输出,或是高序位并没有接受进位输入却产 生了进位输出。 • 标志寄存器中的位12、位13(IOPL位)是输入/输出特 权级位。 • 标志寄存器中的位14(NT位)是嵌套任务标志。 • 标志寄存器中的位16(RF位)是恢复标志位,也是 80386新增添的一位标志位。 • 标志寄存器中的位17(VM位)是虚拟8086方式标志位
2005年1月
版权所有 ©
天津大学电子信息工程学院课件制作组
• 3.控制寄存器 • 80386还定义了由4个32位的控制寄存器CR0~ CR3组成一个寄存器组,如图所示。
允许保护 监控协处理器 模拟协处理器
任务转换 允许分页
31 处理机扩展 4 3 2 1 0
PG
保留 机器状态字 MSW
ET TS EM MP PE CR0
版权所有 © 天津大学电子信息工程学院课件制作组
2005年1月
• 通用寄存器(General-Purpose Register)
• 8个通用寄存器是8086和80286寄存器的超集,它们 的名字和用途分别为: • EAX 通常用作累加寄存器(Accumulator) • EBX 通常用作基址寄存器(Base) • ECX 通常用来记数(Count) • EDX 通常用来存放数据(Data) • ESP 通常用作堆栈指针(Stack Pointer) • EBP 通常用作基址指针(Base Pointer) • ESI 通常用作源变址(Source Index) • EDI 通常用作目标变址(Destination Index)
2005年1月
• 标志寄存器中的位11(OF位)是溢出标志位,用它表 示运算时出现的进位进入了结果的高序位,可是高序位 却没有进位输出,或是高序位并没有接受进位输入却产 生了进位输出。 • 标志寄存器中的位12、位13(IOPL位)是输入/输出特 权级位。 • 标志寄存器中的位14(NT位)是嵌套任务标志。 • 标志寄存器中的位16(RF位)是恢复标志位,也是 80386新增添的一位标志位。 • 标志寄存器中的位17(VM位)是虚拟8086方式标志位
2005年1月
版权所有 ©
天津大学电子信息工程学院课件制作组
• 3.控制寄存器 • 80386还定义了由4个32位的控制寄存器CR0~ CR3组成一个寄存器组,如图所示。
允许保护 监控协处理器 模拟协处理器
任务转换 允许分页
31 处理机扩展 4 3 2 1 0
PG
保留 机器状态字 MSW
ET TS EM MP PE CR0
版权所有 © 天津大学电子信息工程学院课件制作组
2005年1月
• 通用寄存器(General-Purpose Register)
• 8个通用寄存器是8086和80286寄存器的超集,它们 的名字和用途分别为: • EAX 通常用作累加寄存器(Accumulator) • EBX 通常用作基址寄存器(Base) • ECX 通常用来记数(Count) • EDX 通常用来存放数据(Data) • ESP 通常用作堆栈指针(Stack Pointer) • EBP 通常用作基址指针(Base Pointer) • ESI 通常用作源变址(Source Index) • EDI 通常用作目标变址(Destination Index)
第二章80386CPU

§2.2 80386CPU寄存器结构 寄存器结构
假定以字母A、B、C定义了三个64KB段,而 当前的数据段DS指向B,为此这一部分存储 地址空间必须是可读/写的存储单元,能被指 令进行访问。存储段E作为当前的代码段CS, 正是从这个存储段读取程序中的指令并进而 执行。H段用作堆栈,由SS选定。数据段J、 K、L分别作为ES、FS和GS的数据段。
存储器分段
代 码 段 堆 栈 段 CS SS DS ES FS GS D数 据 段 E数 据 段 F数 据 段 G数据段
§2.2 80386CPU寄存器结构 寄存器结构
段寄存器功能:段寄存器是用户可以直接 段寄存器功能 访问的寄存器,这就是说,可以通过软件编 程来改变段寄存器中的值。因此,一个程序 要想访问另一个部分存储器,只要改变相应 的段寄存器中的值即可实现。
§2.2 80386CPU寄存器结构 寄存器结构
(3) ZF(Zero Flag)—零标志位。当运算结果为0时, ZF置位,否则复位。 (4) SF(Sign Flag)—符号标志。当运算结果的最高有 效位是1时,SF=1,否则SF=0 (5) OF(Overflow Flag)—溢出标志位,当运算结 果超出了有符号数的范围,即溢出时,OF置位,否 则OF复位。 (6) TF(Trap Flag)—陷阱标志,主要用于控制单 步跟踪,当TF置位,则允许单步跟踪,否则禁止单 步跟踪。
§2.2 80386CPU寄存器结构 寄存器结构
数据寄存器组
1) 累加器A(accumulator), 2) 基址寄存器B(base register), 3) 计数寄存器C(count register) 4) 数据寄存器D(data register)。 这些数据寄存器可以用作32位的双字操作数,低16 位可以作字操作,低16位可以进一步分成两个字节 操作,亦可以进行32个独立的位操作。
32位微处理器

NE:数据异常中断控制位。NE=1表示执行浮点运算指令时发生故障,产生异常 中断16。NE=0同MS DOS系统中以前所用的所有协处理器的控制之间保持兼容。
WP:写保护控制位。WP=1表示表示禁止来自管理程序级的写操作写到用户级的 页面上。WP=0通过管理进程可以对用户级的只读页面进行写操作。
15
TSD:禁止定时标志。TSD=1且当前特权级不为0时,禁止RDTSC指令(读时 间标志计数器指令)且执行这一指令时将产生故障。TSD=0表示在任何特权级 上都允许RDTSC指令执行。
DE:调试扩充位。DE=1表示允许调试扩充。DE=0禁止调试扩充。实际上该位 控制是否支持I/O断点。
18
1.1 32位微处理器的寄存器组
GDTR和IDTR必须在转入保护模式之前进行初始值设定,这两个 寄存器在实地址模式下可以访问。LDTR和TR只能在保护模式下使 用,程序只可以访问段选择寄存器,其他的缓冲部分是在任务切换 时由LDT描述符和TSS描述符中自动装入的。
10
1.1 32位微处理器的寄存器组
系统地址寄存器和系统段寄存器
任务寄存器TR:是一个16位的寄存器,用来存放任务状态段表(TSS)的 段选择字。
11
1.1 32位微处理器的寄存器组
32位微处理器为了控制管理的需要,配备了控制寄存器。在80386 中配备了3个32位的控制寄存器(CR0,CR2,CR3),发展到Pentium微 处理器时,就有5个控制寄存器(CR0~CR4),不过,控制寄存器中的 一些位被重新定义了。这些控制寄存器中保存着全局性的和任务无 关的机器状态,供应用程序读取,而写这些控制寄存器的操作被大 多数系统禁止。
CR3:页因为Pentium的页目录表是按页排列的。 PWT:页面写贯通。PWT=1表示对当前所访问的页实现通写。PWT=0则实现
WP:写保护控制位。WP=1表示表示禁止来自管理程序级的写操作写到用户级的 页面上。WP=0通过管理进程可以对用户级的只读页面进行写操作。
15
TSD:禁止定时标志。TSD=1且当前特权级不为0时,禁止RDTSC指令(读时 间标志计数器指令)且执行这一指令时将产生故障。TSD=0表示在任何特权级 上都允许RDTSC指令执行。
DE:调试扩充位。DE=1表示允许调试扩充。DE=0禁止调试扩充。实际上该位 控制是否支持I/O断点。
18
1.1 32位微处理器的寄存器组
GDTR和IDTR必须在转入保护模式之前进行初始值设定,这两个 寄存器在实地址模式下可以访问。LDTR和TR只能在保护模式下使 用,程序只可以访问段选择寄存器,其他的缓冲部分是在任务切换 时由LDT描述符和TSS描述符中自动装入的。
10
1.1 32位微处理器的寄存器组
系统地址寄存器和系统段寄存器
任务寄存器TR:是一个16位的寄存器,用来存放任务状态段表(TSS)的 段选择字。
11
1.1 32位微处理器的寄存器组
32位微处理器为了控制管理的需要,配备了控制寄存器。在80386 中配备了3个32位的控制寄存器(CR0,CR2,CR3),发展到Pentium微 处理器时,就有5个控制寄存器(CR0~CR4),不过,控制寄存器中的 一些位被重新定义了。这些控制寄存器中保存着全局性的和任务无 关的机器状态,供应用程序读取,而写这些控制寄存器的操作被大 多数系统禁止。
CR3:页因为Pentium的页目录表是按页排列的。 PWT:页面写贯通。PWT=1表示对当前所访问的页实现通写。PWT=0则实现
第二章 2.2 80x86

2.80386内部结构
测试部件
32位 寄 存 器 组 桶形移位器 NPX 接口 中断 复位 控制 部件 指令译码
分段描述符超 高速 缓存器 分段部件
分页描述符 超高速 缓存器 分页部件 32位 地 址总线 总线 接口 部件 32位 数 据总线 控制总线
ALU
指令队列
预取 队列
预取 单元
3.80386的寄存器结构
• 表2-7显示的就是x86-64架构中的模式结 构图,并标示了适用情况。
返回本节
2.3.2 基本执行环境
(1)存储器地址空间(8086)
220=1MB, 地址由00000-FFFFF(H)编码 若存放的信息是字节,则按顺序存放 若存放的信息是字,则将字的低位字节 存放在低地址,高位字节存放在高地址 若存放的信息是双字,则将双字的低位 字存放在低地址,高位字存放在高地址
图2-24 Intel的64位CPU-Itanium
(1)IA-64架构的特点
•1)更改现有工业标准体系,建立IA-64架构后 将采用并行运算方式的体系; •2)单指令简化,即每条指令执行的功能减少, 但执行效率变高; •3)由于运行指令并行化,并且采用了程序控制 指令,使分支预测更加准确,提高运算的利用效 率; •4)增加程序运行时的并行运算预测能力,使内 存中需要的数据更容易在Cache中命中;
80386微处理器简介
1.80386的主要特性
(1)灵活的32位微处理器,提供32位的指令。 (2)提供32位外部总线接口,最大数据传输速率为32Mbps。 (3)具有片内集成的存储器管理部件MMU,可支持虚拟存 储和特权保护 。 (4)具有实地址方式、保护方式和虚拟8086方式。 (5)具有极大的寻址空间。 (6)通过配用数值协处理器可支持高速数值处理。 (7)在目标码一级与8086、80286芯片完全兼容。
80386微处理器共64页PPT资料

80386 微处理器
(参考 郁慧娣书第9章9.2、9.3、9.4和第3版教材第8章 8.2 )
8.2 80386微处理器
80386是一种与16位的80286相兼容的第一个高性能全 32位微处理器,它代表了体系结构的重要进步——从16位 体系结构过渡到32位体系结构。
80386采用高速CHMOSⅢ1.5μm技术,132条引出 线用网格阵列式封装在陶瓷片内,其耗散功率在1.5w到 3.0w之间。
一、 80386 的特点
1. 80386芯片在硬件结构上由6个逻辑单元组成。它 们按流水线方式工 作,运行速度可达到4MIPS。 2. 80386有三种方式:实方式、保护方式、V86方式 。 3. 硬件支持段式管理和页式管理,易于实现虚拟存储 系统。 4. 硬件支持多任务,一条指令可以完成任务切换。 5. 特权保护机制 4级特权级:0级最优先,其次为1,2和3级。
80386中有一个32位的指令指针(EIP)和一个32位的 标志寄存器(EFLAGS)。
80386工作在实模式时采用16位的指令指针IP。 EFLAGS的低12位与8086标志寄存器FLAGS完全相同。 高20位中设置了4个新的标志。
图9.8 保护方式标志寄存器 (P288)
(四) 系统地址寄存器和系统段寄存器
实地址模式
3. CR3 ——控制寄存器3 CR3称为页组目录基址寄存器,用于存放页目录表
的物理基地址。如下图所。(分页时用到)
四、80386 的三种工作模式
80386有3种工作模式: 实地址模式(Real Address Mode),简称为 实模式; 保护虚拟地址模式(Protected Virtual Address Mode),也叫保护模式; 虚拟8086模式(Virtual Address 8086 Mode),简称为V86模式。
(参考 郁慧娣书第9章9.2、9.3、9.4和第3版教材第8章 8.2 )
8.2 80386微处理器
80386是一种与16位的80286相兼容的第一个高性能全 32位微处理器,它代表了体系结构的重要进步——从16位 体系结构过渡到32位体系结构。
80386采用高速CHMOSⅢ1.5μm技术,132条引出 线用网格阵列式封装在陶瓷片内,其耗散功率在1.5w到 3.0w之间。
一、 80386 的特点
1. 80386芯片在硬件结构上由6个逻辑单元组成。它 们按流水线方式工 作,运行速度可达到4MIPS。 2. 80386有三种方式:实方式、保护方式、V86方式 。 3. 硬件支持段式管理和页式管理,易于实现虚拟存储 系统。 4. 硬件支持多任务,一条指令可以完成任务切换。 5. 特权保护机制 4级特权级:0级最优先,其次为1,2和3级。
80386中有一个32位的指令指针(EIP)和一个32位的 标志寄存器(EFLAGS)。
80386工作在实模式时采用16位的指令指针IP。 EFLAGS的低12位与8086标志寄存器FLAGS完全相同。 高20位中设置了4个新的标志。
图9.8 保护方式标志寄存器 (P288)
(四) 系统地址寄存器和系统段寄存器
实地址模式
3. CR3 ——控制寄存器3 CR3称为页组目录基址寄存器,用于存放页目录表
的物理基地址。如下图所。(分页时用到)
四、80386 的三种工作模式
80386有3种工作模式: 实地址模式(Real Address Mode),简称为 实模式; 保护虚拟地址模式(Protected Virtual Address Mode),也叫保护模式; 虚拟8086模式(Virtual Address 8086 Mode),简称为V86模式。
微机原理第2章-IA32微处理器的功能结构
2.3.4 基本程序执行寄存器
0
15
16
31
0
15
0
15
16
31
7
8
AL
BL
CL
DL
AH
BH
CH
DH
EAX
EBX
ECX
EDX
ESP
EBP
ESI
EDI
1.通用寄存器
EAX 累加器寄存器:存放操作数和结果 EBX 基址寄存器:在DS段中的数据指针;存放操作数 ECX 计数寄存器:串和循环操作的计数器 EDX 数据寄存器:I/O指针
逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。
物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。 物理地址=段基址×16+段内偏移地址。
1
2
存储器物理地址的形成
【例】各独立段的分配情况示例。
设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。
基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。
指针和变址寄存器
ESI 串操作的源指针 EDI 串操作的目标指针 ESP 堆栈指针 EBP 堆栈上数据指针
通用寄存器的特殊用途和隐含性质
6个段寄存器,保存16位段基址: CS 代码段 SS 堆栈段 DS 数据段 ES 附加段 FS 数据段F GS数据段G
指令的重叠操作
2.2.2 80386的功能结构
0
15
16
31
0
15
0
15
16
31
7
8
AL
BL
CL
DL
AH
BH
CH
DH
EAX
EBX
ECX
EDX
ESP
EBP
ESI
EDI
1.通用寄存器
EAX 累加器寄存器:存放操作数和结果 EBX 基址寄存器:在DS段中的数据指针;存放操作数 ECX 计数寄存器:串和循环操作的计数器 EDX 数据寄存器:I/O指针
逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。
物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。 物理地址=段基址×16+段内偏移地址。
1
2
存储器物理地址的形成
【例】各独立段的分配情况示例。
设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。
基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。
指针和变址寄存器
ESI 串操作的源指针 EDI 串操作的目标指针 ESP 堆栈指针 EBP 堆栈上数据指针
通用寄存器的特殊用途和隐含性质
6个段寄存器,保存16位段基址: CS 代码段 SS 堆栈段 DS 数据段 ES 附加段 FS 数据段F GS数据段G
指令的重叠操作
2.2.2 80386的功能结构
80386微处理器
•
•
•
每当任务切换时,处理器将把TS置为1。 MP——监控协处理器位 MP为1时,表示有协处理器在工作。 EM——模拟协处理器控制位 EM为1时,表示用软件仿真协处理器。 ET ——协处理器扩展类型 0:80287协处理器;1:80387协处理器;
2.CR2 ——控制寄存器2 CR2称为页面故障线性地址寄存器,用于发生页面 访问异常时报告出错信息。 3. CR3 ——控制寄存器3 CR3称为页组目录基址寄存器,用于存放页目录表 的物理基地址。如下图所示。(分页时用到)
•
物理地址 页式管理机构不工作时,物理地址 = 线性地址;
页式管理机构工作时,物理地址 = F(线性地址)
分段管理
为了实现分段管理,80386把有关段的 信息存放在一个称为段描述符(简称描述
符)的8个字节长的数据结构中,并把系统
中所有的描述符编成一张表,以便硬件查 找和识别。 80386共设置了3种描述符表,即全局 描述符表GDT、局部描述符表LDT和中断
四、80386 的三种工作模式
80386有3种工作模式:
实地址模式(Real Address Mode),简称为 实模式; 保护虚拟地址模式(Protected Virtual Address Mode),也叫保护模式; 虚拟8086模式(Virtual Address 8086 Mode),简称为V86模式。
任务寄存器(TR) (图9.6)
例3.假设GDT的基地址为00011000h,TR = 3208h,问TSS 描 述符的地址范围?
解:TR = 0011001000001000 TI = 0, TSS描述符在GDT中 索引 = 0011001000001 TSS描述符的起始地址: GDT的基地址+索引×8 = 00011000h+ 0011001000001×8 = 00014208h TSS描述符的地址范围(占8字节): 00014208h ~ 0001420Fh
第2章8086微处理器硬件结构.ppt
❖ 执行单元EU 8个通用寄存器 ❖ 1个指令指针寄存器 ❖ 1个标志寄存器 ❖ 4个段寄存器
第2章 80X86计算机组织
1. 8086的通用寄存器
➢ 8086的16位通用寄存器是:
AX BX CX DX
SI
DI BP SP
➢ 其中前4个数据寄存器都还可以分成高 8位和低8位两个独立的寄存器
➢ 8086的8位通用寄存器是:
En d表ia达n时”。, 用 它 的 低 地 址 表 示 多 字 节 数 据 占 据
的地址空间。
图1.7中2号“字”单元的内容为: [0002H] = 1234H
2号“双字”单元的内容为: [0002H] = 78561234H
第2章 80X86计算机组织
数据的地址对齐
视具体情况来确定
➢ 同一个存储器地址可以是字节单元地址、字单元地址、 双字单元地址等等 ➢ 字单元安排在偶地址(xxx0B)、双字单元安排在模4 地址(xx00B)等,被称为“地址对齐(Align)” ➢ 对于不对齐地址的数据,处理器访问时,需要额外的 访问存储器时间 ➢ 应该将数据的地址对齐,以取得较高的存取速度
AH BH CH DH
AL BL CL DL
➢ 对其中某8位的操作,并不影响另外对 应8位的数据
第2章 80X86计算机组织
数据寄存器
➢ 数据寄存器用来存放计算的结果和操作数, 也可以存放地址
➢ 每个寄存器又有它们各自的专用目的
AX--累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等;
3AH + 7CH=B6H,没有进位:CF = 0 AAH + 7CH=(1)26H,有进位:CF = 1
第2章 80X86计算机组织
第2章 80X86计算机组织
1. 8086的通用寄存器
➢ 8086的16位通用寄存器是:
AX BX CX DX
SI
DI BP SP
➢ 其中前4个数据寄存器都还可以分成高 8位和低8位两个独立的寄存器
➢ 8086的8位通用寄存器是:
En d表ia达n时”。, 用 它 的 低 地 址 表 示 多 字 节 数 据 占 据
的地址空间。
图1.7中2号“字”单元的内容为: [0002H] = 1234H
2号“双字”单元的内容为: [0002H] = 78561234H
第2章 80X86计算机组织
数据的地址对齐
视具体情况来确定
➢ 同一个存储器地址可以是字节单元地址、字单元地址、 双字单元地址等等 ➢ 字单元安排在偶地址(xxx0B)、双字单元安排在模4 地址(xx00B)等,被称为“地址对齐(Align)” ➢ 对于不对齐地址的数据,处理器访问时,需要额外的 访问存储器时间 ➢ 应该将数据的地址对齐,以取得较高的存取速度
AH BH CH DH
AL BL CL DL
➢ 对其中某8位的操作,并不影响另外对 应8位的数据
第2章 80X86计算机组织
数据寄存器
➢ 数据寄存器用来存放计算的结果和操作数, 也可以存放地址
➢ 每个寄存器又有它们各自的专用目的
AX--累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等;
3AH + 7CH=B6H,没有进位:CF = 0 AAH + 7CH=(1)26H,有进位:CF = 1
第2章 80X86计算机组织
第 2 章 IA-32结构微处理器
2.1.1 Intel 8086微处理器
从历史的观点看,IA-32结构微处理器 同时包括16位微处理器和32位微处理器。 目前,对于许多操作系统和十分广泛的应用 程序,32位IA-32结构是最流行的计算机结 构。 IA-32结构的最重要的成就之一,是在 从1978年开始的那些处理器上建立的目标 程序仍然能够在IA-32结构系列的最新的处 理器上执行。
5. EU控制电路:它是控制、定时与状态逻辑电路,接收
从BIU中指令队列取来的指令,经过指令译码形成各种定时控
制信号,对EU的各个部件实现特定的定时操作。
8088CPU内部结构与8086基本相似,两者的执行单元EU完
全相同,其指令系统,寻址方式及程序设计方法都相同,所以
两种CPU完全兼容。区别仅在于总线接口单元BIU,归纳起来 主要有以下几个方面的差异:
3.20位地址加法器 8086/8088CPU在对存储单元进行访问以读取指令或读/写 操作数时,必须在地址总线上提供20位的地址信息,以便选中
对应的存储单元。那么,CPU是如何产生20位地址的呢?
CPU提供的用来对存储单元进行访问的20位地址是由BIU
中的地址加法器产生的。
存储器中每个存储单元的地址可有以下两种表示方式: 逻辑地址:其表达形式为“段地址:段内偏移地址”。段 内偏移地址又称为“有效地址EA(Effective Address)。在读指令
1. 8086/8088 CPU的内部结构
执行部件EU 16 寄存器阵列 ALU及 标志寄存器 控制电路 数据及操作数 地址加法器 总线控 制电路 指令流队列 指令码 多路复用 地址/数据总线 指令译码器 8086:16位 8088:8位 段寄存器及指 令指针 总线接口部件BIU
- 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
段地址不再象在实方式下那样由段寄存器提供。 这时,段寄存器中包含有选择子(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