Presentation is loading. Please wait.

Presentation is loading. Please wait.

第2章 80x86/Pentium微处理器 x86/Pentium微处理器的内部结构 2.2 微处理器的主要引脚及功能

Similar presentations


Presentation on theme: "第2章 80x86/Pentium微处理器 x86/Pentium微处理器的内部结构 2.2 微处理器的主要引脚及功能"— Presentation transcript:

1 第2章 80x86/Pentium微处理器 2.1 80x86/Pentium微处理器的内部结构 2.2 微处理器的主要引脚及功能
2.3 系统总线与典型时序 2.4 典型CPU应用系统 2.5 CPU的工作模式 2.6 80x86/Pentium微处理器与协处理器

2 第2章 80x86/Pentium微处理器 本章重点: 自1978年Intel公司推出16位微处理器8086至今,微处理
器历经多次升级换代,构成了80x86/Pentium系列CPU。 芯片集成度提高了30多倍,主频提高了100多倍,运算速 度达100MIPS,性能已到达大、中型机水平。 本章重点: 8086/8088微处理器的内部结构 8086/8088微处理器的主要引脚及功能 8086/8088 系统总线与典型时序 典型CPU应用系统

3 大多数情况下,CPU取指、执指操作并行。 提高了系统总线的使用效率,改善了系统性能。
第2章 80x86/Pentium微处理器 x86/Pentium微处理器的内部结构 /8088 CPU基本结构 /8088 CPU结构框图 EU :执行部件(8086/8088) BIU:总线接口部件(8086的不同于8088的) 由两部分组成 (相互独立) 8086 BIU:指令队列6个字节, 外部数据总线16位。 8088 BIU:指令队列4个字节, 外部数据总线8位。 EU:执行指令。 BIU:取指、读操作数、 写结果。 大多数情况下,CPU取指、执指操作并行。 提高了系统总线的使用效率,改善了系统性能。 南京航空航天大学 电子信息工程学院

4 第2章 80x86/Pentium微处理器 6 5 3 1 2 4 数据总线 EU ALU 地址总线20位 地址加法 外部总线 指令队列
CH DH DI SP BP SI 6 5 标志 FR 3 EU 运算寄存器 ALU 1 2 4 DS SS ES 总线 控制 逻辑 IP CS 内部Reg BH AH DL CL AL BL 地址总线20位 地址加法 数据总线 外部总线 指令队列 通用寄存器 执行部件(EU) 总线接口部件(BIU) ALU数据总线 8088 8086 AX BX CX DX

5 (1) EU( Execution Unit,含有ALU及部分Reg.)
第2章 80x86/Pentium微处理器 (1) EU( Execution Unit,含有ALU及部分Reg.) 8个通用寄存器 ②算术逻辑运算部件ALU 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算。 ③标志寄存器FR 9个标志位,其中6个条件标志位用于存放结果状态。 ④暂存寄存器 ⑤EU控制系统 接收从BIU的指令队列中取来的指令代码, 译码并向 EU 内各有关部分发出时序命令信号, 协调执行指令规定的操作。 组成 AH,AL,BH,BL,CH,CL,DH,DL(8位) 指针寄存器: SP,BP 数据寄存器:AX,BX,CX,DX (16位) 变址寄存器: SI,DI 负责全部指令的执行; 向BIU输出(地址及结果)数据; 对Reg及PSW进行管理。 功能 南京航空航天大学 电子信息工程学院

6 (2)BIU(Bus Interface Unit,8086/8088同外部设备的接口部件)
第2章 80x86/Pentium微处理器 (2)BIU(Bus Interface Unit,8086/8088同外部设备的接口部件) 代码段Reg:CS 堆栈段Reg:SS 数据段Reg:DS 附加段Reg:ES 组成 ②指令指针寄存器IP(下一条将要执行的指令在当前 代码段内的地址偏移量) 4个段寄存器 ③指令队列Queue ④20位地址加法器Σ ⑤总线控制逻辑 ⑥内部通信寄存器 BIU使用指令队列实现流水线操作。 当Queue中有2/1个或2/1个以上的字节空间,且EU未申请读写存储器,BIU顺序预取后续指令代码→ Queue。 功能 完成所有外部总线的操作,提供总线控制信号。 具体为: 取指、指令排队、读写操作数、总线控制、 地址转换(将两个16位地址相加20位物理地址)。

7 从BIU的指令队列中取指 →译码电路分析→相应控制命令
第2章 80x86/Pentium微处理器 (3)EU的工作过程 从BIU的指令队列中取指 →译码电路分析→相应控制命令 → 控制数据经过“ALU数据总线”的流向: ① 若是运算操作:操作数 → 暂存器→ ALU; 运算结果→ 经“ALU总线” →相应Reg,并置FR 。 ② 若从外设取数:EU→ BIU→ 访问MEM 或 I/O →内部通信寄存器 → 向“ALU数据总线” 传送数据。 南京航空航天大学 电子信息工程学院

8 数据/地址总线: 复用,外部DB宽度16bit/8bit,AB宽度20bit 。 最大内存容量:1MB(220) 基本寻址方式:8种
第2章 80x86/Pentium微处理器 2. 性能及特点 (1)8086/8088 CPU 主要性能 字长: 位 / 准16位 时钟频率: /8088标准主频为5MHz, 8086/8088-2主频为8MHz。 数据/地址总线: 复用,外部DB宽度16bit/8bit,AB宽度20bit 。 最大内存容量:1MB(220) 基本寻址方式:8种 指令系统: 条基本指令。可以对位/字节/字/字节串/字串/ 压缩/非压缩BCD码 等多种数据类型进行处理。 端口地址: bit I/O端口地址,可寻址64K个端口地址, 每个地址对应一个字节宽的I/O端口。 中断功能: 支持的中断源(内部中断和外部硬件)达256个 支持单片CPU或多片CPU系统工作 南京航空航天大学 电子信息工程学院

9 执行当前指令时预取下一条(或多条)指令,指令在指令 队列中排队(指令流水线技术); 优点: 一条指令执行完成后,可以立即执行下一条指令,
第2章 80x86/Pentium微处理器 (2)特点 ① 取指执指重叠并行 执行当前指令时预取下一条(或多条)指令,指令在指令 队列中排队(指令流水线技术); 优点: 一条指令执行完成后,可以立即执行下一条指令, 减少CPU为取指令而等待的时间,提高CPU的利用率。 取指 得到数据 等待 执行 通常,IP中是将要执行的下一条指令在当前代码段内的偏移地址。 只要是顺序执行, 队列中的指令就是紧接当前指令的逻辑上的指令。 如果EU当前执行的是转移指令,则BIU清除队列,从新地址取 出指令立即送EU执行。再从后续的指令序列中取指令填满队列。 南京航空航天大学 电子信息工程学院

10 ②段寄存器和存储器分段 存储器空间 20根地址线 220 = 1M Byte 分段原因:
第2章 80x86/Pentium微处理器 ②段寄存器和存储器分段 8086/8088率先打破微处理器只能访问64KB存储空间的限制,可寻址1MB。 存储器空间  20根地址线 = 1M Byte 00000H FFFFFH …… A19 A0 1 972D5H 由存储器中存放的信息属性,分成4种段,存放3类信息: 代码、 数据、 中间结果和断点地址。 972D5H 12H [972D5H]=12H 分段原因: 8086 CPU有20根地址线,16位数据线。CPU内部寄存器是16位的。 → CPU内部存放地址的寄存器是16位的,只可表示16位的地址。 为了能寻址1MB地址空间,8086对存储器进行分段管理: 每个段最大为64KB(216),最小为16B。(此时最多64K个段)

11 逻辑地址 段地址 0000H~FFFFH(由段寄存器提供 ) 偏移地址 段内某个单元到段基地址的距离
第2章 80x86/Pentium微处理器 4个段寄存器CS、 DS 、SS 、ES 分别指示存储区的段地址,用来识别当前可寻址的四个段,不可互换使用。 段起始地址的高16位,段起始地址又称为段基地址。 存储单元的逻辑地址和物理地址 逻辑地址 段地址 H~FFFFH(由段寄存器提供 ) 偏移地址 段内某个单元到段基地址的距离 (0000H~FFFFH,由指令提供 ) 物理地址:CPU访问存储器时, 送出的20位地址(00000H~FFFFFH) + 物理地址=段地址×10H+偏址 段地址 CS、DS、ES、SS 16 偏址 指令地址 CS×10H +IP 数据地址 DS×10H + EA(偏移地址也称为有效地址EA, 出现在指令中) 堆栈地址  SS×10H +SP 附加段地址 ES×10H + EA

12 物理地址与逻辑地址的关系: 物理地址=段地址×16+偏移量 物理地址的形成 逻辑地址与物理地址 南京航空航天大学 电子信息工程学院 段地址
第2章 80x86/Pentium微处理器 物理地址与逻辑地址的关系: 物理地址=段地址×16+偏移量 物理地址的形成 段地址 偏移地址 基址加法器 物理地址 15 19 ...... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段地址 段内偏移地址 5F62H 逻辑地址与物理地址 南京航空航天大学 电子信息工程学院

13 段缺省和段替换规则(CPU对段访问时应遵循这个原则) : 段缺省:段寄存器名不出现在指令和机器码中,由CPU对存储器 的操作性质隐含指定;
第2章 80x86/Pentium微处理器 段缺省和段替换规则(CPU对段访问时应遵循这个原则) : 段缺省:段寄存器名不出现在指令和机器码中,由CPU对存储器 的操作性质隐含指定; 搭配规则:段寄存器和寄存器(指针、变址)有较固定的配用关系; 替换(超越)规则:在指令之前可加上“CS”,”DS”,”SS”等前缀, 以指定的段寄存器替代隐含的段寄存器。 表2-1 访问存储器类型与逻辑地址来源关系 访问存储器类型 约定段寄存器 可代换段寄存器 偏移量 物理地址计算式 取指令 CS IP CS×16+IP 堆栈操作 SS SP SS×16+SP 访问变量 DS CS,ES,,SS 有效地址EA DS×16+EA 源字符串 CS,ES,SS SI DS×16+SI 目的字符串 ES DI ES×16+DI BP用作基地址寄存器 CS,DS,ES SS×16+EA

14 段寄存器和其他寄存器组合指向存储单元示意图
第2章 80x86/Pentium微处理器 代码段 数据段 堆栈段 CS IP DS SI , DI BX SS SP BP 段寄存器和其他寄存器组合指向存储单元示意图 南京航空航天大学 电子信息工程学院

15 如:数据段和附加段完全重叠,堆栈段和附加段部分重叠。 因此,对一个具体的存储单元,可以属于一个逻辑段, 也可以同时属于几个逻辑段。
第2章 80x86/Pentium微处理器 存储器分段的一般规律: 可独立分开(最大不重叠16个段) 连续 重叠(部分重叠或完全重叠) 如:数据段和附加段完全重叠,堆栈段和附加段部分重叠。 因此,对一个具体的存储单元,可以属于一个逻辑段, 也可以同时属于几个逻辑段。 ③ 部分管脚功能双重定义以适用多处理器 南京航空航天大学 电子信息工程学院

16 3. 寄存器配置 寄存器组(Register Set) 第2章 80x86/Pentium微处理器 控制寄存器 8位寄存器 IP FLAG
CS DS SS ES 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器 AH AL BH BL CH CL DH DL AX BX CX DX SP BP SI DI 累加器 基地址寄存器 计数器 数据寄存器 堆栈指针寄存器 源变址寄存器 目的变址寄存器 (PC) 指令指针寄存器 (PSW) 状态标志寄存器 段寄存器 16位寄存器 通用寄存器 寄存器组(Register Set)

17 (1)通用Reg.(分为两组:一组可用于字、字节;一组仅可用于字)
第2章 80x86/Pentium微处理器 (1)通用Reg.(分为两组:一组可用于字、字节;一组仅可用于字) ① 数据Reg.(AX,BX,CX,DX) 用途:存放8位或16位操作数或中间结果, 以提高CPU的 运算速度(减少存取MEM的时间) 其中,AX是CPU使用最多的一个寄存器,功能最强。 AX的作用 算术逻辑运算之前保存一个操作数,之后保存结果 。 CPU与 I/O、MEM交换数据所用到的最多的寄存器。 特殊用法: AX — 算术运算、I/O传输的主要寄存器(Accumulator) BX — 计算地址时用作基址Reg. (Base) CX — 计数器,循环或移位时用。(Counter) DX— I/O 操作时用于保存I/O端口地址, 或字的乘除法运算时用来存放高16位。(Data) 南京航空航天大学 电子信息工程学院

18 ② 指示器和变址Reg.(SP,BP,SI,DI,仅能用于字) SP — 堆栈指针 BP — 基地址指针 SI — 源变址寄存器
第2章 80x86/Pentium微处理器 ② 指示器和变址Reg.(SP,BP,SI,DI,仅能用于字) SP — 堆栈指针 BP — 基地址指针 SI — 源变址寄存器 DI — 目的变址寄存器 指针寄存器 变址寄存器 用途:缩短指令代码的长度; 建立可变的地址; 寄存偏移量, 与段寄存器的内容相加以获得物理地址。 说明: SP中存放的偏移量被认为是在堆栈段中(堆栈访问)。 DI、SI中的偏移量,通常被认为是在数据段中。 BP通常用于存放当前堆栈段的一个数据区“基址”的偏移 量(这为随机访问堆栈提供了手段),BP也可用于 通用Reg.。 南京航空航天大学 电子信息工程学院

19 通用寄存器的特殊用法(默认用法) 第2章 80x86/Pentium微处理器 寄存器 特 殊 用 法 AX,AL
乘法/除法指令,作累加器;I/O操作时,作数据寄存器 AH 在LAHF指令中用作目的寄存器(AH←标志) AL 在BCD码及ASCII码运算指令中作为累加器; 在XLAT指令中作为累加器(AL←AL+BX) BX 在间接寻址中作为基址寄存器 CX 在循环程序中,作循环次数计数器 CL 在移位和循环移位指令中,作为移位位数和循环移位次数的计数寄存器 DX I/O指令间接寻址时,作为地址寄存器; 在乘法指令中作为辅助累加器(当乘积或被除数为32位时,存放高16位数) BP 在间接寻址中,作为基址寄存器 SP 在堆栈操作中,作为堆栈指针 SI 间接寻址时,作为地址寄存器或变址寄存器; 在串操作指令中作为源变址寄存器 DI 在间接寻址时,作为地址寄存器或变址寄存器; 在串操作指令中作为目的变址寄存器

20 DS+指令中的偏移量,为数据段内的某单元地址。 SS+SP,为堆栈段内的某单元地址。 ES+指令中的偏移量,为附加段内的某单元地址。
第2章 80x86/Pentium微处理器 (2)段Reg.(CS,DS,SS,ES) CS+IP,为下一条指令的地址。 DS+指令中的偏移量,为数据段内的某单元地址。 SS+SP,为堆栈段内的某单元地址。 ES+指令中的偏移量,为附加段内的某单元地址。 (3)指令指针IP (用来存储代码段中的偏移地址) 程序运行过程中,IP中总是包含着将要执行的下一条指令在当前代码段内的偏移地址。 或称:IP和CS一起指向下一条指令的物理地址。 物理地址=CS × 16+IP 用户不能通过MOV指令直接修改IP的内容,但转移、调用等指令可引起它的改变。 南京航空航天大学 电子信息工程学院

21 这些标志可作为条件,用于判断是否控制程序转移。
第2章 80x86/Pentium微处理器 (4)标志寄存器FR 用途:存放ALU运算结果的特征标志。 这些标志可作为条件,用于判断是否控制程序转移。 CF PF AF ZF SF TF IF DF OF 反映指令对数据作用之后,结果的状态(不是结果本身)。 这些状态将控制后续指令的执行; 有些运算操作将影响全部状态标志,如加法、减法运算; 有些操作影响部分状态标志,如移位操作; 有些指令的操作不影响任何状态标志,如数据传送指令。 南京航空航天大学 电子信息工程学院

22 进位标志CF(Carry Flag):当结果的最高位(D15 或D7)产生一个进位或借位, 则CF=1,否则CF=0。
第2章 80x86/Pentium微处理器 CF PF AF ZF SF TF IF DF OF 进位标志CF(Carry Flag):当结果的最高位(D15 或D7)产生一个进位或借位, 则CF=1,否则CF=0。 溢出标志OF(Overflow Flag): 当带符号数的运算结果超出-2n-1~ 2n-1-1 时,溢出,OF=1,否则OF=0。 符号标志SF(Sign Flag): 结果的最高位(D15 或D7)为1,则SF=1,否则 SF=0. 零标志ZF(Zero Flag): 若运算的结果为0,则ZF=1,否则ZF=0。 奇偶标志PF(Parity Flag): 若运算结果的低8位中‘1’的个数为偶数,则 PF=1,否则,PF=0。 辅助进位标志AF(Auxiliary Flag):在进行8位或16位数运算时,由低4位向 高4位(D3向D4)有进位或借位,则AF=1,否则AF=0. 方向标志DF(Direction Flag): DF=1 ,串操作时地址自动减量; DF=0,串操作时地址自动增量。 中断允许标志IF(Interrupt Enable Flag):IF=1,允许CPU接收外部中断 请求,IF=0,屏蔽外部中断请求。 追踪标志TF(Trace Flag): TF=1,使处理进入单步方式,以便于调试。

23 次高位向最高位没有进位 ,最高位向前没有进位 ∴OF=0
第2章 80x86/Pentium微处理器 例1:执行2345H+3219H,分析对FR的影响。 1 + 标志: 运算结果最高位为 ∴SF=0 运算结果本身≠ ∴ZF=0 低8位中1的个数为奇数个 ∴PF=0 最高位没有进位 ∴CF=0 D3位向D4位无进位 ∴AF=0 次高位向最高位没有进位 ,最高位向前没有进位 ∴OF=0 南京航空航天大学 电子信息工程学院

24 最高位没有进位(无进位,有借位) ∴CF=1 D3位向D4位无进位(无进位,有借位 ) ∴AF=1
第2章 80x86/Pentium微处理器 例2:执行2345H-3219H,分析对FR的影响。 1 + F12CH 补 = -0ED4H 标志: 运算结果最高位为 ∴SF=1 运算结果本身≠ ∴ZF=0 低8位中1的个数为奇数个 ∴PF=0 最高位没有进位(无进位,有借位) ∴CF=1 D3位向D4位无进位(无进位,有借位 ) ∴AF=1 次高位向最高位没有进位 ,最高位向前没有进位 ∴OF=0 南京航空航天大学 电子信息工程学院

25 2.2 微处理器的主要引脚及功能 2.2.1 8086/8088 CPU引脚功能
第2章 80x86/Pentium微处理器 2.2 微处理器的主要引脚及功能 8086/8088 均为40PIN 、双列直插式(DIP)封装的芯片。 8086/8088 CPU内部设置了若干多路开关,使某些引脚具有多种功能(解决功能强与引脚少的矛盾)。 引脚功能的转换分两种情况—— ① 分时复用:在不同时钟周期内其功能不同; ② 工作模式不同引脚功能不同:同一引脚在单CPU(最小模式)和多CPU(最大模式)下,加接不同信号。 /8088 CPU引脚功能 ① 地址/数据线20根 ② 控制和状态线16根 ③ 定时信号线1根 ④ 电源和地线3根 40PIN按功能分: 每个 信号 方向(单、双) 电平(三态、二态) 南京航空航天大学 电子信息工程学院

26 8088 南京航空航天大学 电子信息工程学院 最小模式:
第2章 80x86/Pentium微处理器 8088 最小模式: 系统中只有1个微处理器,系统中的所有总线控制信号都直接由8086/8088产生(整个系统中的控制线路最简单)。 最大模式: 系统中含有两个或两个以上微处理器,其中8086/8088为主处理器,其它是协处理器。 如:数值运算协处理器8087 输入输出协处理器8089。 引脚33 MN/MX决定工作模式: 接+5V, 最小模式; 接地,最大模式(括号内引脚) 南京航空航天大学 电子信息工程学院

27 指令周期 — 一条指令从取出到执行完毕所持续的时间。 机器周期 — CPU完成某个独立操作所需要的时间。 (取指,存储器读、写,I/O读写)
第2章 80x86/Pentium微处理器 补 充 指令周期 — 一条指令从取出到执行完毕所持续的时间。 机器周期 — CPU完成某个独立操作所需要的时间。 (取指,存储器读、写,I/O读写) 一个指令周期由若干个机器周期构成。 在8086/8088 中,机器周期称为总线周期。 时钟周期 — CPU的基本时间计量单位,由CPU的主频决定。 例:主频5MHz,则T=200ns 一个基本总线周期由4个时钟周期 T 构成,称为T1、T2、T3和T4。 T1:CPU经多路复用总线发地址信息,指出寻址单元或端口地址。T2:CPU从总线上撤消地址,成浮空状态(16位),而A19~A16 用来输出本总线周期状态信息。 T3:连续提供状态信息,传送数据。 T4:结束状态。

28 AD7~AD0:地址/数据总线,双向、三态。 分时复用。
第2章 80x86/Pentium微处理器 8088 8088 CPU引脚功能 AD7~AD0:地址/数据总线,双向、三态。 分时复用。 ① 在每个总线周期T1,作地址总线低8位A7~A0,用于寻址MEM或I/O端口。 ② 之后,经转换开关→数据总线D7~D0,传送数据,直到总线周期结束。 ③ 在DMA方式时,这些引脚成浮空状态。 A8~A15:地址总线,输出、三态。 ① 这些地址在整个总线周期内保持有效(即输出稳定8位地址)。 南京航空航天大学 电子信息工程学院 ② DMA方式时,这些引脚成浮空。

29 DMA(Direct Memory Access)方式
第2章 80x86/Pentium微处理器 补 充 DMA(Direct Memory Access)方式 CPU让出总线(悬浮状态),使外部设备和存储器之间直接传送(不通过CPU)数据的方式。 MEM CPU I/O DMAC 通常在如下的情况使用: 外设与存储器之间有大量的数据需要传送。 外设的工作速度很快。 南京航空航天大学 电子信息工程学院

30 A19/S6~A16/S3:地址/状态线,输出、三态。分时复用。
第2章 80x86/Pentium微处理器 A19/S6~A16/S3:地址/状态线,输出、三态。分时复用。 ① 在T1状态,若访问MEM,作地址总线高4位。 若访问I/O口,全为低电平(I/O端口只用16位地址)。 ②在T2~T4期间,输出状态信息: S6总是低电平,表示CPU连在总线上;S5是可屏蔽中断允许标志; S4和S3表示当前访问存储器所用的段寄存器, S4和S3编码与段寄存器对应关系如表所示。 S4 S3 性 能 对应段寄存器 数据交换 使用附加段寄存器ES 堆栈操作 使用堆栈段寄存器SS 代 码 使用代码段寄存器CS 数 据 使用数据段寄存器DS ③DMA方式时,这些引脚成浮空。 地址线A19~A0,1M内存;地址线A15~A0,64K个端口地址。

31 ALE:地址锁存允许信号,输出,高电平有效。
第2章 80x86/Pentium微处理器 ALE:地址锁存允许信号,输出,高电平有效。 地址锁存进锁存器(8282/8283,74LS373)的锁存控制信号。 ① 在T1期间,ALE高电平,其下跳沿将使地址锁存入锁存器。 ② 在DMA方式中,ALE不能浮空。 INTR:可屏蔽中断请求,输入、高电平有效。 CPU在每条指令的最后一个时钟周期对INTR采样: ① 若INTR引脚信号为高电平,同时CPU内部IF=1时,CPU就进入了中断响应周期。 ② 若IF=0,即使有INTR引脚信号为高,CPU对此中断请求不予理睬。因此可以通过软件的方法使IF=0,以达到屏蔽中断请求INTR的目的。 入口地址 中断服务程序 断点 CPU响应中断时,暂停正在执行的主程序,由中断源提供的中断类型码从中断向量表中找到相应中断服务程序的入口地址,转去执行中断服务程序。 中断结束后,再返回断点继续执行主程序。

32 NMI:非屏蔽中断请求,输入,上升沿有效。
第2章 80x86/Pentium微处理器 NMI:非屏蔽中断请求,输入,上升沿有效。 ① NMI 不能用软件进行屏蔽。 只要该引脚上出现一个从低到高的电脉冲,CPU在当前指令结束后立刻进入中断响应。 ②NMI的中断类型码为2,其服务程序入口地址在中断向量表的08H/09H(IP)和0AH/0BH(CS)单元中。 可屏蔽中断INTR与非屏蔽中断NMI属于系统的外部(硬件)中断 INTA:中断响应信号,输出,低电平有效。 CPU响应外部中断后,会发应答信号给请求中断的设备。 CLK:时钟信号,输入。 为CPU和总线控制器提供定时基准。 占空比0.33(1/3周期高电平,2/3周期低电平)。 南京航空航天大学 电子信息工程学院

33 RESET:复位信号,输入,高电平有效。
第2章 80x86/Pentium微处理器 RESET:复位信号,输入,高电平有效。 复位后 CPU内部 内 容 标志位 清除 指令指针(IP) 0000H CS寄存器 FFFFH DS寄存器 SS寄存器 ES 寄存器 指令队列 ① RESET信号宽度至少保持4个时钟周期。 ② 复位时CPU各寄存器的状态见表2-7。 可见,CS=FFFFH,IP=0000H, ③ 复位后,CPU从FFFF0H单元开始执行。 通常在FFFF0H~FFFFFH这16个单元中存放转移指令。 READY:准备好信号,输入, 高电平有效。 是被访问的MEM和I/O设备数据准备好发回来的应答信号。 ① 当被访问部件无法在CPU规定的时间内完成数据传送时,应使READY信号处于低电平,这时CPU进入等待状态,插入一个或几个等待周期TW来延长总线周期。 ② 当被访问的部件可以完成数据传送时,READY为高电平,CPU继续运行。 南京航空航天大学 电子信息工程学院

34 DEN:数据允许,输出,三态,低电平有效。
第2章 80x86/Pentium微处理器 TEST:测试信号,输入,低电平有效。 当执行WAIT指令时,CPU对TEST进行监视(每隔5个T采样一次,若TEST为高,就使CPU重复执行WAIT指令而处于等待状态。若TEST为低,CPU则脱离等待状态,继续执行下一条指令。(常用于多CPU系统) DEN:数据允许,输出,三态,低电平有效。 ① 在单CPU系统中,DEN作为数据总线双向驱动器的选通信号。 ② 在每个MEM或I/O访问周期以及中断响应周期,DEN为低电平。 ③ DMA方式时,它处于浮空状态。 DT/R:数据发送/接收控制,输出,三态。 在单CPU系统中,用DT/R来控制数据总线双向驱动器的数据传送方向: ① DT/R=1时,CPU发送数据; ② DT/R=0时,CPU接收数据。 南京航空航天大学 电子信息工程学院

35 IO/M、 WR 、RD决定了CPU访问MEM或I/O的方式
第2章 80x86/Pentium微处理器 IO/M:外设/内存访问控制,输出,三态。 ① 输出高电平时,表示总线周期为I/O访问周期; ② 输出低电平时,表示总线周期为MEM访问周期。 ③ DMA工作方式时,它为浮空状态。 WR:写信号,输出,三态,低电平有效。 ① WR信号有效时,表示CPU正做写MEM(或I/O口)的操作: 由IO/M的状态决定是写MEM(IO/M=0); 还是写入I/O(IO/M=1) 。 ② DMA方式时,它处于浮空状态。 RD:读信号,输出,三态,低电平有效。 RD信号有效时,由IO/M决定是对I/O读(IO/M=1); 还是对MEM(IO/M=0)读。 IO/M、 WR 、RD决定了CPU访问MEM或I/O的方式 DT/R在写WR或读RD时电平不同

36 HOLD:保持请求信号,输入,高电平有效。 当DMA操作或外部处理器要求通过总线传送数据时,
第2章 80x86/Pentium微处理器 MEM CPU I/O DMAC HOLD HLDA HOLD:保持请求信号,输入,高电平有效。 当DMA操作或外部处理器要求通过总线传送数据时, HOLD信号为高,表示外界请求主CPU让出对总线的控制权。 HLDA:保持响应信号,输出,高电平有效。 ①当CPU同意让出总线控制权时,输出HLDA高电平信号,通知外界可以使用总线。同时,现有主CPU所有具“三态”的线,都进入浮空状态; ②当HOLD变为低电平时,主CPU也把HLDA变为低电平,此时它又重新获得总线控制权。

37 ①用在单CPU系统中,与IO/M、DT/R一起表示当前的系统总线周期状态,如表2-8所示。 ②在多CPU系统下,SS0总是输出高电平。
第2章 80x86/Pentium微处理器 SS0:状态信号,输出,三态。 ①用在单CPU系统中,与IO/M、DT/R一起表示当前的系统总线周期状态,如表2-8所示。 ②在多CPU系统下,SS0总是输出高电平。 IO/M DT/R SS0 操作 1 中断响应 读IO/口 写I/O口 暂停 取指令 读存储器 写存贮器 无效 南京航空航天大学 电子信息工程学院

38 MN/MX:单CPU/多CPU方式控制,输入。
第2章 80x86/Pentium微处理器 MN/MX:单CPU/多CPU方式控制,输入。 ①当MN/MX=1(接VCC)时,单CPU模式(最小模式) ,8088的24~31引脚功能如上面所述; ②若MN/MX=0(接GND),多CPU模式(最大模式),8088的24~31引脚定义如图2-38(b)括号内所示。 以下介绍多CPU模式(最大模式)下引脚的功能(PC机为多CPU模式) S2、S1、S0:总线周期状态标志,输出、三态,低电平有效。 ①多CPU模式下,它们的不同组合,表示CPU总线周期的状态。 ② 此组信号→ 8288总线控制器,8288利用它们的不同组合,产生访问MEM或I/O的控制信号或中断响应信号。 S2 S1 S0 操作类型 1 中断响应 读I/O口 写I/O口 暂停 取指令 读存储器 写存储器 无效状态

39 RQ/GT0:请求/允许控制信号,双向、三态、低电平有效。 RQ/GT1 供外部主控设备(如协处理器)用来请求总线控制权。
第2章 80x86/Pentium微处理器 RQ/GT0:请求/允许控制信号,双向、三态、低电平有效。 RQ/GT1 供外部主控设备(如协处理器)用来请求总线控制权。 由外部主控设备向8088输入请求总线控制权的信号(HOLD),若8088可以让出控制权,则在同一条线上输出允许使用总线的回答信号(HLDA)。 RQ/GT0的优先权 > RQ/GT1的优先权 。 LOCK:封锁信号,输出,三态,低电平有效。 ① 用来封锁外部主控设备的请求。当LOCK信号为低时,外部主控设备不能占用总线。 ② 这个信号配合指令来实现。若某条指令加上前缀 LOCK,则CPU执行这条指令时,LOCK引脚为低,并保持 到指令结束。 QS1、QS0:指令队列状态,输出,高电平有效。 QS1和QS0的编码反映了CPU内部当前的指令队列状态,以便外部主控设备对8088进行跟踪。见P60 表2-10。 南京航空航天大学 电子信息工程学院

40 8086 CPU引脚功能 与8088引脚功能的区别: (1) 8086:16条地址/数据复用 (2)8086的PIN34:BHE/S7
第2章 80x86/Pentium微处理器 8086 CPU引脚功能 与8088引脚功能的区别: (1) 8086:16条地址/数据复用 AD15~AD0 8088:只有AD7~AD0 (2)8086的PIN34:BHE/S7 8088中为 SS0 PIN34 — 高8位数据总线的 允许/状态信息 复用引脚。 对8086 用BHE作为访问存储器高字节(高8位)的选通信号; 用A0作为访问存储器低字节(低8位)的选通信号。

41 BHE、 A0组合编码与数据总线传送数据的关系如下:
第2章 80x86/Pentium微处理器 BHE、 A0组合编码与数据总线传送数据的关系如下: BHE A0 数据传送状态 传送16位 D15~D0 传送高8位 D15~D8 传送低8位 D7~D0 无操作 ① T1时,CPU输出BHE有效(低电平)信息; ② T2、T3、TW和T4期间,CPU输出S7状态信息。S7低电平有效。 ③ DMA工作方式,它为浮空状态。 (3)8086的PIN28为M/IO,存贮器/输入输出信号,输出、三态。 当M/IO=1时,表示访问存贮器。 当M/IO=0时,表示访问I/O端口。 它和8088的PIN28(IO/M)意义正好相反。 南京航空航天大学 电子信息工程学院

42 2.3 系统总线与典型时序 … 处理器子系统 南京航空航天大学 电子信息工程学院 第2章 80x86/Pentium微处理器 I/O接口
2.3 系统总线与典型时序 处理器子系统 DB数据总线 CB控制总线 I/O接口 存储器 AB地址总线 南京航空航天大学 电子信息工程学院

43 2.3.1 CPU系统总线及其操作 微机系统中的各种操作 总线操作周期:系统中模块间完成一次信息交换的时间片。 ① 取指令
第2章 80x86/Pentium微处理器 2.3.1 CPU系统总线及其操作 ① 取指令 ② 将数据写入存储器 ③ 从存储器读出数据 ④ 将数据写入输出端口 ⑤ 从输入端口读入数据 ⑥ DMA访问操作 等。 微机系统中的各种操作 本质上都是通过总线进行信息交换,这些操作统称为总线操作。 总线操作周期:系统中模块间完成一次信息交换的时间片。 (数据传输周期) ① 总线请求和仲裁(模块对总线的使用权) ② 寻址阶段(取得使用权的模块发出要访问 对象的地址) ③ 数据传输阶段(完成模块间的数据交换) ④ 结束阶段(模块的有关信息从系统总线上 撤除,让出总线) 完整的总线操作 周期包括4个阶段

44 2.3.2 基本总线操作时序 1. 微处理器时序的概念 CPU执行指令时送出一系列的控制信号,这些控制信号在时 间上的关系称为CPU时序。
第2章 80x86/Pentium微处理器 对于只有一个主模块的单CPU系统,总线始终归它所有,不存 在总线的请求、分配和撤除等。 8086/8088 系统总线操作周期只需要寻址和传输数据两个阶段。 2.3.2 基本总线操作时序 8086/8088 CPU的操作都是在系统时钟CLK控制下严格定时的 1. 微处理器时序的概念 CPU执行指令时送出一系列的控制信号,这些控制信号在时 间上的关系称为CPU时序。 从时序角度考虑,CPU的执行工作可分作三种类型的周期 (1)时钟周期(Clock Cycle) 时钟周期又称为T状态,是CPU动作处理的最小时间单位。 时钟周期值的大小由系统时钟(晶振频率)来确定,T=1/f 南京航空航天大学 电子信息工程学院

45 (2)总线周期(Bus Cycle, 由若干时钟周期组成, 也称机器周期)
第2章 80x86/Pentium微处理器 (2)总线周期(Bus Cycle, 由若干时钟周期组成, 也称机器周期) 指CPU对MEM或I/O端口完成一次读或写所需要的时间。 8086/8088的一个基本总线周期由4个T(时钟周期)构成。 T1:CPU从地址/数据线上送出地址。 T2:地址撤消。若是CPU读:地址/数据线是高阻; 若是CPU写:地址/数据线是数据。 T3:数据稳定在总线上, 在T3与T4交界处采样数据, 进入T4状态。 T4:结束状态。 (3)指令周期(Instruction Cycle) 指令周期反映了执行一条指令所需要的时间。 一个指令周期通常由若干个总线周期构成。 不同指令的执行时间不同,即周期长短不一样。简单指令只需要一个总线周期,复杂指令就需要较多的 总线周期。 南京航空航天大学 电子信息工程学院

46 2. 8086/8088基本总线操作时序 (1)8086 存储器/IO 读 周期时序 南京航空航天大学 电子信息工程学院
第2章 80x86/Pentium微处理器 /8088基本总线操作时序 8086存储器读周期时序 (1)8086 存储器/IO 读 周期时序 南京航空航天大学 电子信息工程学院

47 第2章 80x86/Pentium微处理器 8086 存储器/IO 读 周期时序 南京航空航天大学 电子信息工程学院

48 T2状态 南京航空航天大学 电子信息工程学院 T1状态 ① M/IO信号确定CPU是要从MEM还是I/O端口读数据且一直保持
第2章 80x86/Pentium微处理器 T1状态 ① M/IO信号确定CPU是要从MEM还是I/O端口读数据且一直保持 到本总线周期结束。 ② CPU在T1通过地址线输出地址,这些地址值要保持到T2状态。 ③ 地址值必须锁存,锁存信号用ALE。 ④ BHE信号也要锁存。 ⑤ DT/R输出为低电平,表示本总线周期的数据总线方向是由外向 CPU内传送数据。 T2状态 ① 在T2状态,地址信号消失,AD15-AD0进入高阻状态,为数据读 入作准备;A19/S6-A16/S3及BHE/S7引脚输出状态信号S7-S3。 ② RD输出低电平信号表示读操作,数据送往数据总线。 ③ DEN信号也在T2状态变低,表示数据允许。 南京航空航天大学 电子信息工程学院

49 T3状态 南京航空航天大学 电子信息工程学院 执行读操作时,系统就要根据READY信号进行采样。
第2章 80x86/Pentium微处理器 T3状态 在T3状态,来自MEM或I/O的数据被送到数据总线,CPU在T3状态 结束时读取数据总线上的数据。 TW状态 当系统中采用的MEM或I/O接口速度较慢,不能用基本总线周期 执行读操作时,系统就要根据READY信号进行采样。 ①如果READY为高电平,则下一个状态为正常的T4状态; ② 如果READY为低电平,表示数据还未有效,则下一个 为插入的TW状态,在TW状态的前沿继续采样READY信号, 以决定是否还要插入等待状态TW。 T4状态 在T4状态和前一个状态交界的下降沿处,CPU对数据总线进行采 样,从而获得数据。 南京航空航天大学 电子信息工程学院

50 (2)8086 存储器/IO 写 周期时序 (3)8088访问存贮器/IO时序 基本上同8086, 不同之处
第2章 80x86/Pentium微处理器 (2)8086 存储器/IO 写 周期时序 (3)8088访问存贮器/IO时序 基本上同8086, 不同之处 ①地址/数据复用线8根AD7~AD0; ②没有BHE信号; ③访问存储器与IO的控制信号是IO/M 。

51 2.3.3 特殊总线操作时序 1. 中断响应周期 则,CPU在执行完当前指令后响应中断,进入中断响应。这包含两个中断响应周期:
第2章 80x86/Pentium微处理器 特殊总线操作时序 1. 中断响应周期 则,CPU在执行完当前指令后响应中断,进入中断响应。这包含两个中断响应周期: ①INTR 脚为高电平 ②IF=1 中断类型码 INTA CLK AD7~AD0 T1 T2 T3 T4 第 一 个 中断响应周期 第 二 个 第一个周期:送INTA, ①表示响应中断, ②外设取消INTR信号用。 第二个周期:又送INTA,通知外设送中断类型码到数据线上,以 便CPU取得该中断服务程序入口地址, 转入中断服务。

52 在任何时刻,当CPU检测到READY引脚为低电,则在 T3~T4之间插入等待周期Tw,直至READY为高。
第2章 80x86/Pentium微处理器 /8088等待(WAIT)状态时序 在任何时刻,当CPU检测到READY引脚为低电,则在 T3~T4之间插入等待周期Tw,直至READY为高。 T1 T T Tw T4 CLK READY 3. 总线空闲周期 CPU不与MEM或I/O之间传送数据时,则不执行总线周期, BIU不和总线打交道,此时进入总线空闲周期T。 总线空闲周期,是CPU总线空操作,BIU对EU的等待。 南京航空航天大学 电子信息工程学院

53 2.4 典型CPU应用系统 2.4.1 8086/8088支持芯片 CPU 完整的微机系统 支持芯片 1. 8284时钟发生器
第2章 80x86/Pentium微处理器 2.4 典型CPU应用系统 时钟电路、地址锁存器、 总线驱动器、存贮器、 I/O接口及基本外围设备 CPU 完整的微机系统 支持芯片 /8088支持芯片 时钟发生器 是Intel公司为8086/8088系统配套设计的单片时钟发生器 向CPU提供—— CLK、READY、RESET 向外部设备提供—— OSC 、 PCLK 信号

54 对于地址/数据线复用的芯片,电路设计时应该有将地址与数据分离的手段。
第2章 80x86/Pentium微处理器 /8283 8位三态输出锁存器 对于地址/数据线复用的芯片,电路设计时应该有将地址与数据分离的手段。 8288锁存器用于系统中,在ALE的下跳变启动锁存地址码。功能同74LS373 OE:输出允许,低电平有效。 在系统中,OE接地,保 证总是允许输出。 STB:输入选通信号, 高电平有效。 ① STB=1,输出DO7~DO0随输入 DI7~DI0而变,起传输作用; ②STB由‘1’变到‘0’时,将输入数据锁存。

55 3. 8286/8287(反相)8位并行双向总线驱动器 功能同74系列的244/245芯片。 增强数据总线的带负载能力;
第2章 80x86/Pentium微处理器 /8287(反相)8位并行双向总线驱动器 功能同74系列的244/245芯片。 增强数据总线的带负载能力; 在CPU与访问对象之间做隔离。 T:传输方向控制,输入。 OE:允许输出,输入。 1 A → B(发送) T= 0 B → A(接收) 1 高阻 OE= 0 允许输出

56 CPU在最大模式(PIN33=0)时,不能直接提供总线控制信号。 8288总线控制器专门为此而设计。
第2章 80x86/Pentium微处理器 总线控制器 CPU在最大模式(PIN33=0)时,不能直接提供总线控制信号。 8288总线控制器专门为此而设计。 CPU的S2、S1、S0与8288状态信号连接,译码产生各种总 线信号,使多个CPU接在同一组系统总线上。 8288的组成: 状态译码器; 命令信号发生器; 控制信号发生器; 控制逻辑。 典型信号: ①正常的MEM/IO读写 ②超前的MEM/IO写 ③ DEN是高电平有效 南京航空航天大学 电子信息工程学院

57 第2章 80x86/Pentium微处理器 补 充 8086多CPU系统 存贮器/IO 读 时序

58 8086多CPU系统 存贮器/IO 写 时序 8088多CPU系统存贮器/IO 读写时序 与8086不同之处 ① 仅AD7~AD0复用
第2章 80x86/Pentium微处理器 8086多CPU系统 存贮器/IO 写 时序 超前的MEM/IO 写信号 8088多CPU系统存贮器/IO 读写时序 ① 仅AD7~AD0复用 ② 无BHE 与8086不同之处

59 第2章 80x86/Pentium微处理器 /8088单CPU(最小模式)系统 单CPU系统 8086/8088 CPU工作在最小模式时,引脚直接提供总线信号 系统设计时,8088引脚与总线连接关系必须遵循以下原则: (1)MN/MX引脚接高电平; (2)IO/M、RD、WR 和INTA引脚直接接在存储器和I/O端口 的相应控制线上; (3)地址线、地址/数据线接到锁存器上(CPU的ALE→STB); (4)数据线有两种接法: ①直接接到数据总线上 ②经数据总线驱动器接到数据总线上(DEN、DT/R) (5)由8284时钟发生器提供CPU的CLK时钟。 常用方式 南京航空航天大学 电子信息工程学院

60 图2-55 8088单CPU(最小模式)系统结构 南京航空航天大学 电子信息工程学院 注意:RD + IO/M = MEMR MEM读
第2章 80x86/Pentium微处理器 注意:RD + IO/M = MEMR MEM读 WR + IO/M = MEMW MEM写 RD + IO/M = IOR IO读 WR + IO/M = IOW IO写 南京航空航天大学 电子信息工程学院 图 单CPU(最小模式)系统结构

61 8086是真16位CPU,系统设计时,要注意存储器的连接。
第2章 80x86/Pentium微处理器 单CPU系统 8086是真16位CPU,系统设计时,要注意存储器的连接。 (1)需两片8286。 (2)需两块8位的存储体并成一个16位的存储体,即: 将1MB的存储体分为两个512KB的存储体。 奇存储体:奇地址单元组成,用于存储16位数据的高字节。 偶存储体:偶地址单元组成,用于存储16位数据的低字节。 对8086,BHE、 A0组合编码与数据总线传送数据的关系为: BHE A0 数据传送状态 传送16位 D15~D0 同时对两个存储体访问 传送高8位 D15~D8 奇地址访问 传送低8位 D7~D0 偶地址访问 无操作 无存储器操作

62 依据CPU的设计作如下连接: 存储器地址空间分配 存储体与总线的连接
第2章 80x86/Pentium微处理器 依据CPU的设计作如下连接: ① CPU地址中A19-A1作奇偶存储块的片内寻址( A19-A1 → A18-A0 )。 ② A0作偶地址存储体片选信号:A0=0选中偶;A0=1不选中偶。 ③ BHE作奇地址存储体片选信号:BHE=0选中奇;BHE=1不选中奇。 存储器地址空间分配 FFFFEH 偶地址存储体 512K*8 bit A0=0 奇地址存储体 BHE=0 FFFFFH 00002H 00003H 00000H 00001H 地址 内容 D7 ~D0 D15 ~D8 A0 A19 ~A1 DB AB BHE CS A18 ~ A0 CS A18 ~ A0 存储体与总线的连接

63 图2-56 8086单CPU(最小模式)系统结构 南京航空航天大学 电子信息工程学院 注意:RD + IO/M = MEMR MEM读
第2章 80x86/Pentium微处理器 注意:RD + IO/M = MEMR MEM读 WR + IO/M = MEMW MEM写 RD + IO/M = IOR IO读 WR + IO/M = IOW IO写 南京航空航天大学 电子信息工程学院 图 单CPU(最小模式)系统结构

64 2.4.3 8086/8088多CPU(最大模式)系统 在一个系统中存在两个或两个以上的处理器
第2章 80x86/Pentium微处理器 /8088多CPU(最大模式)系统 在一个系统中存在两个或两个以上的处理器 作为一个多CPU系统,应该要处理好以下几方面问题: (1)多处理器并行处理时,各处理器之间同步; (2)各处理器任务协调,并保证协调操作; (3)多处理器系统共用设备的共享和分配; (4)系统总线使用权的占用问题。 以PC为例: (1)8088、8087(协处理器)、8089(I/O处理器)不是 并行操作,而是8088主处理器控制下的协调操作。 (2)两个处理器不可能同时访问系统总线,只有主处理器同 意后才可能。 (3)主、协处理器之间采用异步通信方式交换数据。 南京航空航天大学 电子信息工程学院

65 1. 以8088为核心构成的多CPU系统 8086/8088工作在最大模式时,系统总线信号由8288提供 采用8288:
第2章 80x86/Pentium微处理器 1. 以8088为核心构成的多CPU系统 8086/8088工作在最大模式时,系统总线信号由8288提供 系统设计时: (1)MN/MX引脚接低电平; (2) 8088必须通过总线控制器8288提供总线控制信号。 采用8288: (1)产生系统总线控制信号; MRDC、MWTC、IORC、IOWC(MEM/IO读写)、 INTA、ALE、DEN、DT/R (中断应答/地址锁存等) (2)提供慢速存储器读/写控制信号AMWC和AIOWC; (3)产生简单/级联中断控制信号 MCE/PDEN 等; (4)可使总线浮空,允许DMA操作。 南京航空航天大学 电子信息工程学院

66 第2章 80x86/Pentium微处理器 图 多CPU模式系统结构 南京航空航天大学 电子信息工程学院

67 第2章 80x86/Pentium微处理器 2. 80 86 CPU

68 2.5 CPU的工作模式 2.5.1 实地址模式(最基本的工作方式) 实地址模式、保护模式、虚拟8086模式和系统管理模式。
第2章 80x86/Pentium微处理器 2.5 CPU的工作模式 80x86/Pentium CPU共有多种工作模式: 实地址模式、保护模式、虚拟8086模式和系统管理模式。 8086/8088工作于实地址模式; 80286工作于实地址模式、保护模式; 80386~80486可工作于实地址模式、保护模式和虚拟8086模式; Pentium及其以上的CPU可以工作在全部4种模式下。 实地址模式(最基本的工作方式) 实地址模式:将8086/8088的工作模式称为实地址模式。 在实地址模式下—— 任何CPU地址线中只有低20位起作用,即: 能寻址的物理存储空间为1MB。 存储器的管理方式与8086/8088 CPU存储器的管理方式相同。 系统复位时,进入实地址模式。 南京航空航天大学 电子信息工程学院

69 2.5.2 保护模式 保护模式与实地址模式之间可以相互切换 保护模式:一种建立在虚拟存储器和保护机制基础上的工作模式. 在保护模式下——
第2章 80x86/Pentium微处理器 保护模式与实地址模式之间可以相互切换 保护模式 保护模式:一种建立在虚拟存储器和保护机制基础上的工作模式. 在保护模式下—— 可最大限度地发挥CPU的存储管理功能: 80286可直接寻址224=16MB,可使用1024MB(1GB)虚拟内存; 80386及以上CPU可直接寻址232=4GB,可使用64TB虚拟内存; 为多用户多任务的保护机制提供硬件支持: 任务之间完全隔离(给每个任务分配不同的虚拟地址空间); 任务内部的保护机制(保护操作系统存储空间及特别的寄存 器,使其不被其他应用程序破坏)。 存储暂不执行的程序和数据 通过设立0~3级4个特权级,实现应用程序之间、应用程序与 操作系统之间的隔离:0级(最高),分配给操作系统内核; 1级,操作系统的系统服务程序; 2级,应用系统服务程序; 3级(最低),分配给应用程序。

70 2.5.3 虚拟8086模式(一种特殊的保护模式) 虚拟8086模式:CPU工作在保护模式,但对逻辑地址的解释
第2章 80x86/Pentium微处理器 保护模式下的虚拟地址空间被分为全局地址空间和局部地址空间 局部地址空间:指每个任务各自占有的虚拟地址空间。 局部地址空间内的代码和数据是任务私有的, 需要和系统中的其他任务相隔离。 全局地址空间:各任务共用的一部分虚拟地址空间。 操作系统存储在全局地址空间中。全局地址空 间可以被所有任务共享,而且任务对全局地址 空间的访问不会破坏其内容。 虚拟8086模式(一种特殊的保护模式) 虚拟8086模式:CPU工作在保护模式,但对逻辑地址的解释 是按照8086/8088的方式。 在虚拟8086模式,CPU不仅可以执行8086/8088的程序,而且 支持多个8086/8088实模式程序的运行,其实质是为运行于32位微处理器上的8086程序提供独立的虚拟机。 南京航空航天大学 电子信息工程学院

71 2.5.4 系统管理模式(SMM) 系统管理模式:高级的系统功能。 如,对电源管理、对操作系统和正在运行的程序实行管理
第2章 80x86/Pentium微处理器 系统管理模式(SMM) 系统管理模式:高级的系统功能。 如,对电源管理、对操作系统和正在运行的程序实行管理 等,提供透明的安全性。它不是应用程序或系统级特性。 进入SMM模式,CPU的状态被保存,且有其特定的存储空间,这时系统可以进入休眠状态。 有键按下或鼠标移动时能自动唤醒,并使系统从原先的中断点开始继续工作。 4种模式之间的转换关系 南京航空航天大学 电子信息工程学院

72 2.6 80x86/Pentium微处理器与协处理器 2.6.1 80x86/Pentium的内部结构
从1978年Intel设计的8086一直发展到80x86/Pentium, 在基本结构设计上采用了向下兼容的方法,内部结构各单 元均采用并行处理技术。 本节主要介绍80386/Pentium CPU的内部结构、寄存器组织等。 x86/Pentium的内部结构 /8088CPU 真/准 16位CPU 由执行单元EU和总线接口单元BIU组成,仅有一种工作模式(称为实地址模式)。 16/8 位DB 位AB 寻址范围:1MB CPU 位CPU 由:EU(执行单元)、BU(总线单元)、IU (指令单元)、 AU(地址单元)4个并行单元组成。 16位DB 位AB 支持实地址与保护两种工作模式 南京航空航天大学 电子信息工程学院

73 第2章 80x86/Pentium微处理器 南京航空航天大学 电子信息工程学院

74 3. 80386 32位CPU(寄存器扩展为32位) 有6个并行处理单元:执行单元,分段单元,分页单元, 总线单元,指令预取单元和译码单元。
第2章 80x86/Pentium微处理器 位CPU(寄存器扩展为32位) 有6个并行处理单元:执行单元,分段单元,分页单元, 总线单元,指令预取单元和译码单元。 32位DB 32位AB 支持实地址模式、保护模式和虚拟8086模式 3种地址:逻辑地址、线性地址和物理地址。 物理地址的形成: 首先,将逻辑地址→线性地址; 然后: ①禁止分页时,线性地址就是物理地址; ②允许分页时,线性地址再经分页转换产生物理地址。

75 7类32个寄存器: 南京航空航天大学 电子信息工程学院 通用寄存器 段寄存器 指令指针和标志寄存器 控制寄存器 系统地址寄存器 调试寄存器
第2章 80x86/Pentium微处理器 80386 CPU 的寄存器 7类32个寄存器: 通用寄存器 段寄存器 指令指针和标志寄存器 控制寄存器 系统地址寄存器 调试寄存器 测试寄存器 南京航空航天大学 电子信息工程学院

76 (1)通用寄存器 (2)段寄存器 6个段寄存器:CS、DS、SS、ES 南京航空航天大学 电子信息工程学院 8个32位通用Reg:
第2章 80x86/Pentium微处理器 (1)通用寄存器 8个32位通用Reg: EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI 8个Reg的低16位可单独使用,AX、BX、CX、DX的高、低8 位又可分别作为8位Reg使用。 (2)段寄存器 6个段寄存器:CS、DS、SS、ES + FS和GS 两个附加数据段寄存器 实模式下,物理地址的产生同8086/8088。 保护模式下, ①存储单元的逻辑地址=段基地址(32位):段内偏移地址(32位) ②线性地址=段基地址+段内偏移地址 线性地址(不使用分页) 或 将线性地址经页管理部件转换 以16位段寄存器(段选择符)为索引,从描述表中找到所指向的描述符,再从描述符中找到段基地址。 ③物理地址= 南京航空航天大学 电子信息工程学院

77 用于给出系统使用的和各任务共用的段描述符; LDT是局部描述符表(LDT):
第2章 80x86/Pentium微处理器 段描述符的格式。 段基地址31~24 G D 段界限19~16 P DPL S TYPE 段基地址23~16 段基地址15~0 段界限15~0 高32bit 低32bit 低48位是80286的描述符,从低到高顺序为: 16位段界限(或段边界)、24位段基地址和8位属性。 80386扩充了16位:8位段基地址、4位界限和4位属性。 共32位段基地址 GDT是全局描述符表(GDT): 用于给出系统使用的和各任务共用的段描述符; LDT是局部描述符表(LDT): 存放着某个任务专用的段描述符,用于管理任务用到的局部存储器地址空间。 南京航空航天大学 电子信息工程学院

78 指令指针EIP:存放下一条要执行指令在代码段的偏移地址 80386在实模式时采用16位的指令指针IP
第2章 80x86/Pentium微处理器 (3)指令指针和标志寄存器 指令指针EIP:存放下一条要执行指令在代码段的偏移地址 80386在实模式时采用16位的指令指针IP 标志寄存器EFLAGS:低16位中比8086/8088增加了IOPL (第12、13位)和NT(第14位),高16 位中只使用了2个标志位(RF 第16位, VM 第17位)。 (4)控制寄存器 控制寄存器CR0、CR1、CR2、CR3,用于保存全局机器状态。

79 —— 保存操作系统所需要的保护信息和地址转换表信息。
第2章 80x86/Pentium微处理器 (5)系统地址寄存器 —— 保存操作系统所需要的保护信息和地址转换表信息。 全局描述符表寄存器GDTR: 48位,保存全局描述符表的32位线性地址和16位段界限。 中断描述符表寄存器IDTR: 48位,保存中断描述符表的32位线性地址和16位段界限。 局部描述符表寄存器LDTR: 16位,保存当前局部描述符表的16位选择符。 任务状态寄存器TR: 16位,保存当前任务的任务状态段的16位选择符。 南京航空航天大学 电子信息工程学院

80 余见P41 南京航空航天大学 电子信息工程学院 GDTR保存全局描述符表GDT的32位线性地址和16位段界限。
第2章 80x86/Pentium微处理器 GDT中是系统使用的和各任务共用的段描述符 GDTR保存全局描述符表GDT的32位线性地址和16位段界限。 GDTR最低2字节是段界限,规定了GDT按字节计算的大小。 长16位,表明GDT最大可达65535字节。 GDTR的余32位(高4字节)指示物理 存储器中GDT的起始位置。 余见P41 南京航空航天大学 电子信息工程学院

81 8个调试寄存器DR0~DR7,为程序调试提供了硬件支持。
第2章 80x86/Pentium微处理器 (6)调试寄存器 8个调试寄存器DR0~DR7,为程序调试提供了硬件支持。 DR0~DR3:线性断点寄存器,保存4个断点地址,方便程 序设计人员按照调试意图组合指令的执行。 DR4和DR5:保留。 DR6:保存断点状态。 DR7:用于控制断点设置。 (7)测试寄存器 两个32位的测试寄存器TR6和TR7。 TR6:测试命令寄存器,用于对RAM和相关寄存器进行 测试。 TR7:用于保留测试后的结果。 南京航空航天大学 电子信息工程学院

82 4. Pentium 32位CPU(寄存器32位,外部数据总线宽度32位)
第2章 80x86/Pentium微处理器 4. Pentium 位CPU(寄存器32位,外部数据总线宽度32位) 内部有:执行单元,指令预取单元和译码单元,总线单元, 地址转换与管理单元,控制单元等。 64位/32位DB 32位AB 支持实地址、保护、V86以及SMM模式 3种地址:逻辑地址、线性地址和物理地址。 Pentium处理器的特点 (1)片内高速缓存采用分离式结构 8KB指令Cache(存放程序) 8KB数据Cache(存放数据) 减少等待及搬移数据的次数和时间。 南京航空航天大学 电子信息工程学院

83 Pentium仍属于CISC处理器,但在执行单元的设计中采用了 较多的RISC技术。如,具有超标量指令流水线功能。
第2章 80x86/Pentium微处理器 (2)采用RISC技术 Pentium仍属于CISC处理器,但在执行单元的设计中采用了 较多的RISC技术。如,具有超标量指令流水线功能。 处理器内设计的两条指令流水线: U指令流水线(Upipeline)、V指令流水线(Vpipeline) U/V并行但功能独立,可有条件并行执行两条指令。 (3)高性能的浮点运算部件 Pentium中的浮点运算部件完全重新设计,浮点操作已高度 流水线化,速度是486中FPU的两倍。 (4)具有分支指令预测功能 在Pentium中设立了能预测分支指令的分支目标缓冲器BTB: 如预测无分支指令,则预取将继续按顺序执行; 如预测到分支指令,则在分支指令进入指令流水线之前, BTB记住分支目的地址,并允许分支 发生前预取新指令。 南京航空航天大学 电子信息工程学院

84 内部数据总线32位,但与内存进行数据交换的外部数据总 线为64位,在一个总线周期内将数据传输量增加了一倍。
第2章 80x86/Pentium微处理器 (5)数据总线位宽增加 内部数据总线32位,但与内存进行数据交换的外部数据总 线为64位,在一个总线周期内将数据传输量增加了一倍。 (6)常用指令固化 将一些常用指令(如MOV、INC、DEC、PUSH等)改用硬件 实现,不再使用微码进行操作,使指令的运行速度进一步 加快。 (7)系统管理模式(SMM) SMM最显著的应用就是电源管理,使处理器和系统外围 部件在暂不工作时休眠,然后再按下一键唤醒它们。 南京航空航天大学 电子信息工程学院

85 2.6.2 80x87数学协处理器 80x87数学协处理器配合80x86微处理器来完成浮点运算 数学协处理器的内部结构
第2章 80x86/Pentium微处理器 x87数学协处理器 80x87数学协处理器配合80x86微处理器来完成浮点运算 数学协处理器的内部结构 主要有两个部分:控制单元和数字执行单元。 负责执行所有协处理器的任务。含: ①8个数据寄存器 ②标记寄存器 ③状态寄存器 ④控制寄存器 负责与微处理器总线连接,监视指令流,若是ESC扩展指令,则由协处理器执行。

86 数据寄存器(编号0~7)组成头尾相接的堆栈,用于 存储算术指令的操作数和结果。
第2章 80x86/Pentium微处理器 ①8个数据寄存器 数据寄存器(编号0~7)组成头尾相接的堆栈,用于 存储算术指令的操作数和结果。 ②标记寄存器 表明数据寄存器堆栈中每个单元的内容是否合法、是否为零、是否非法或为无穷大以及是否为空。 ③状态寄存器 表明协处理器当前的运行状态。 ④控制寄存器 包括精度控制、舍入控制和无穷大控制,还可以屏蔽或开放与状态寄存器最右边6位对应的异常位。


Download ppt "第2章 80x86/Pentium微处理器 x86/Pentium微处理器的内部结构 2.2 微处理器的主要引脚及功能"

Similar presentations


Ads by Google