Download presentation
Presentation is loading. Please wait.
Published byἨλύσια Σπανού Modified 5年之前
1
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能 8086/8088系统结构 堆栈概念
2
EU负责指令的执行,从BIU的指令队列中取指令和数据,不直接与外部总线相连
/8088微处理器的内部结构 /8088 CPU的内部结构 CPU的组成 16位通用寄存器组 (AX、BX、CX、DX、SP、BP、SI、DI) 算术逻辑单元——ALU EU控制器 标志寄存器——FLAG EU负责指令的执行,从BIU的指令队列中取指令和数据,不直接与外部总线相连 EU CPU 段寄存器组 (CS、DS、SS、ES) 指令指针——IP 地址加法器 指令队列 总线接口控制逻辑 BIU根据EU的请求,完成CPU与存贮器或I/O设备之间的数据传送 BIU
3
内存 组成 功能 工作 2 8086/8088CPU的内部结构 BIU EU 4或6字节指令队列 1 2 3 4 5 6 16位 AH AL
CS DS SS ES IP 内部通讯 总线接口控制逻辑 地址加法器 20位地址 16位 16位寄存器组 16位内部总线 AH AL BH BL CH CL DH DL SP BP SI DI EU控制器 运算寄存器 ALU 标志寄存器 16位通用寄存器组 内存 外部总线(三总线) 组成 功能 工作 BIU EU
4
取指 执指 BIU动作 EU动作 …
5
3 8086与8088 CPU的区别 (1)86 CPU的数据外总线宽度为16位,因此设有BHE;而88 CPU的数据外总线宽度为8位,把BHE引脚改为SSO; (2)86CPU中的指令预取队列为6个字节,而88CPU为4个字节; (3)86CPU选通存储器或I/O接口的信号是M/IO ,低电平时选中I/O设备,高电平时选中存储器;而88CPU是IO/M信号 ,低电平时选中存储器,高电平时选中I/O接口。
6
2.1.2 8086/8088 内部寄存器 微处理器一般编程结构 处理器 寄存器 控制器 控制逻辑 运算器 主存 取指 指 令 寄 存 器
AX BX CX DX 状态寄存器 控制逻辑 指 令 寄 存 器 IP BP SI DI SP CS DS SS ES 取指 运算器 寄存器 控制器 主存
7
通用寄存器组 AX:累加器。可分成两个八位寄存器AH、AL使用。 BX:基址寄存器。可分成两个八位寄存器BH、BL使用。 CX:为计数器。可分成两个八位寄存器CH、CL使用。 DX:数据寄存器 。可分成两个八位寄存器DH、DL使用。
8
2. 指针与变址寄存器组 SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基地址指针寄存器 SI(Source Index):源变址寄存器 DI(Destination Index):目的变址寄存器
9
3 段寄存器与指令指针寄存器 CS:代码段寄存器 DS:数据段寄存器 SS:堆栈段寄存器 ES:附加段寄存器 IP:指令指针寄存器 注意:DS、SS和ES寄存器的内容可由程序设置,而CS寄存器的内容不能用程序设置
10
4.标志寄存器FLAG 用于存放CPU工作过程中的状态,其中9位有定义, 9位中6位表示状态,3位表示控制标志。 (1)状态标志位 CF:进位标志(Carry Flag)。 两个数相加时,最高位(D15或D7)有进位,或当两个数相减时,最高位有借位,进位标志位置1,即CF=1;否则CF=0。
11
PF:奇偶标志位(Parity Flag)。
8086/8088 CPU中采用奇校验 当运算结果低8位中“1”的个数为偶数时,PF=1;否则PF=0。 AF:辅助进位标志(Auxiliary Carry Flag)。 当两个数相加(减)时,当D3有向D4进(借)位时,AF=1,否则AF=0。
12
ZF:零标志位(Zero Flag)。运算结果每位都为0时,ZF=1;否则ZF=0。
SF:符号标志位(Sign Flag)。当运算结果的最高位为1时,SF=1;否则SF=0。 OF:溢出标志位(Overflow Flag )。当两个带符号数进行运算产生溢出时,OF=1;否则OF=0。
13
例:十六进制数0CCCCH与十六进制数5115H相加,请写出运算后六个标志状态位的值。
从运算结果看出: 最高位D15位往前有进位,所以CF=1; 运算结果不全为0,所以ZF=0; 由于D15=0,所以SF=0; 运算结果的低8位中有4个“1”,所以PF=1; D3有向D4进位,因此AF=1; 两个异号数相加,不可能发生溢出,所以OF=0。
14
(2) 控制标志位 TF:陷阱标志位(Trap Flag)。 当TF=1时,将使CPU进入单步执行工作方式, 主要用于程序调试;
IF:中断标志位(Interrupt Flag)。 控制微处理器响应或禁止外部中断。 DF:方向标志位(Direction Flag)。 控制字节串或字串重复操作指令地址调整的步进方向。
15
… 源数据串 DS:SI 1 SI+1 2 SI+1 3 ES:DI 目的数据串 DI+1 DI+1
16
/88的引脚与功能 8086/8088CPU外形
17
8086/88的引脚 8088 GND AD NMI INTR CLK V AD16/S3 /S SS (HIGH) MN/MX RD
14 13 12 11 10 9 8 7 6 5 4 3 2 1 NMI INTR CLK V CC 15 AD16/S3 17 /S 18 19 SS (HIGH) MN/MX RD HOLD(RQ/GT ) HLDA(RQ/GT WR(LOCK) M/IO(S DT/R(S DEN(S ALE(QS INTA(QS TEST READY RESET 8086 BHE/S
18
2.2 8086/88的引脚与功能 2.2.1 CPU的引脚与功能 最小模式下的引脚
(1)A16~A19/S3~S6:分时复用的地址/状态线 (2)AD15~AD0:8086 地址和数据总线的分时复用 AD7~AD0:8088 地址和数据总线的分时复用 (3)BHE:总线高位使能信号,三态输出线 (4)M/IO(IO/M):CPU区分当前操作是访问存贮器还是访问I/O端口的三态输出控制线
19
(5)WR:写控制信号,输出 (6)RD:读控制信号,输出 (7)DT/R:数据传送方向控制信号,输出 (8)DEN:数据总线有有效数据控制信号,输出 (9)ALE:地址锁存信号,输出 (10)READY:准备就绪信号,输入
20
(11)INTR:可屏蔽中断请求输入信号,高电平有效
(12)NMI:非屏蔽中断请求输入信号,边沿触发,正跳变有效 (13)INTA:中断响应信号,CPU对的INTR的响应 (14)TEST:可用WAIT指令对该引脚进行测试的输入信号,低电平有效 (15)RESET:CPU的复位输入信号,高电平有效 (16)HOLD:向CPU提出保持请求信号,高电平有效
21
(17)HLDA:CPU对HOLD请求的响应信号,高电平有效
(18) CLK:时钟信号输入端 (19) VCC:+5V电源输入引脚。GND:接地端 (20) MN/MX:工作模式选择输入线 当MN/MX=1时,选择最小模式; 当MN/MX=0时,选择最大模式
22
2. 最大模式下的引线 (1)S2、S1、S0:最大模式下经三态门输出的状态信号。这些状态信号加到总线控制器(8288)上,可以产生系统总线所需要的各种控制信号。 (2)RQ/GT0、RQ/GT1:总线请求允许引脚,具有双向功能,既是总线请求输入也是总线响应输出。 (3)LOCK:总线封锁信号,低电平有效
23
(4)QS1、QS0:CPU输出的队列状态信 (5)HIGH:在最大模式时始终输出高电平
24
2.2.2 总线周期 1. 基本概念 (1) 时钟周期:为CPU工作主频的时钟周期:T=1/f(f为主频)
总线周期 1. 基本概念 (1) 时钟周期:为CPU工作主频的时钟周期:T=1/f(f为主频) (2) 总线周期:CPU通过总线对存储器或I/O端口进行一次访问(读/写操作)所需的时间称为一个总线周期;一个总线周期至少包括4个时钟周期,即T1、T2、T3、T4。 (3)指令周期:指计算机完成一条指令的执行所需要的时间,它包含一个或多个总线周期。 通常采用MIPS(Million Instructions Per Second)单位,即每秒执行百万条指令的含义。
25
2. 最小模式读/写操作总线周期 图 8088 读总线周期 一个总线周期 T1 T2 T3 T4 CLK ALE IO/M RD DT/R
2. 最小模式读/写操作总线周期 一个总线周期 T1 T2 T3 T4 CLK A19/S6~A16/S3 地址输出 状态输出 A15~A8 地址输出 AD7~AD0 地址输出 数据输入 ALE IO/M RD DT/R DEN 图 读总线周期
26
图 8088 写总线周期 一个总线周期 T1 T2 T3 T4 CLK ALE IO/M WR DT/R DEN A19/S6~A16/S3
一个总线周期 T1 T2 T3 T4 CLK A19/S6~A16/S3 地址输出 状态输出 A15~A8 地址输出 AD7~AD0 地址输出 数据输出 ALE IO/M WR DT/R DEN 图 写总线周期
27
总线接口器件 1.地址锁存器 功能:将CPU中的地址/数据复用引脚区分出独立的地址总线。与8086/8088配套的地址锁存器是8282芯片,是一个8位的数据锁存器。 2.双向三态门驱动器 数据总线采用双向三态驱动器,在8086/88系统中常用8286芯片,其中OE是输出允许控制,T是三态门传送方向控制。 当OE=0、T=0时,数据由B向A传送; 当OE=0,T=1时,数据由A向B传送。
28
8282
31
3.总线控制器8288 8086 CPU在最大模式下工作时,要借助于总线控制器8288来形成系统的控制总线。
32
2.3 8086/8088系统结构 2.3.1 系统存储器结构 地址线20根,直接寻址空间为220=1M字节,
/8088系统结构 系统存储器结构 地址线20根,直接寻址空间为220=1M字节, 用00000H~FFFFFH表示 1.8086系统中存储器的组织 偶体:存储体中的单元都是偶地址; 奇体:存储体中的单元都是奇地址。 两个存储体之间采用字节交叉编址方式
33
D7~D0 D15~D8 A19~A1 D7~D0 D7~D0 SEL SEL BHE A0 图 奇偶存储体与总线的连接
34
读/写操作过程 (1)从偶地址读/写1个字节 偶地址(A0=0),控制电路自动使BHE=1,选中偶地址存储体。由地址A19~A1指定具体单元,CPU发出读/写信号,通过数据总线的低8位对该单元进行1个字节的读/写操作。 (2)从奇地址读/写1个字节 奇地址(A0=1),控制电路自动使BHE=0,奇地址存储体被选中。
35
(3)从偶地址开始读/写1个字 访问的两个字节单元的地址A19~A1共19位均相同,系统自动发出BHE=0的信号,使奇偶两存储体同时被选中。CPU发出读/写信号后,两个存储单元同时通过低8位和高8位数据线完成读/写操作。 (4) 从奇地址开始读/写1个字 两个字节单元不能同时选中。 首先自动发出BHE=0信号,选中奇地址存储体,通过D15~D8完成低字节的操作。 紧接着,系统自动令A0=0,BHE=1,选中偶地址存储体,通过D7~D0完成高字节的操作。
36
逻辑段:每个逻辑段容量不超过64K字节,可用16位地址码直接寻址。
3.存储器的分段 逻辑段:每个逻辑段容量不超过64K字节,可用16位地址码直接寻址。 段间关系:各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。 物理地址定位:通过段地址和相对地址确定。 段基址:段的首地址的高16位。段首地址的低4位二进制码总是0000,高16位可变。在8086系统中,把16字节的存储空间称作一节(Paragraph)
37
逻辑段1≤64KB 逻辑段2≤64KB 00000H 逻辑段1的起点 逻辑段2的起点 逻辑段3的起点 逻辑段3≤64KB 逻辑段4、5的起点
FFFFFH 图 灵活的分段方式
38
存储器分段 低地址 段基址 段i-1 最大64KB,最小16B 段基址 段i 段基址 段i+1 段基址 高地址
39
例:段基址:偏移地址分别为1200H:0345H和1110H:1245H的两个逻辑地址对应同一个物理地址12345H。
4.逻辑地址和物理地址 物理地址:存储单元的实际地址编码。 物理地址=段基址×16+段内偏移地址 逻辑地址:由段基址和偏移地址两部分组成。段基址和偏移地址都是16位的无符号数。不同的逻辑地址可能是同一个物理地址。 例:段基址:偏移地址分别为1200H:0345H和1110H:1245H的两个逻辑地址对应同一个物理地址12345H。
40
物理地址 . 60000H 60001H 60002H 60003H 60004H F0H 存储器的操作完全基于物理地址。 12H 问题:
8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段 12H 1BH 08H
41
逻辑地址 物理地址=段基地址×16+偏移地址 段基地址和段内偏移组成了逻辑地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址
段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 物理地址=段基地址×16+偏移地址 60000H 偏移地址=0002H 段首地址 60002H 00H 12H × × × • • • × × × 段基地址(16位)
42
+ 16位 段基址 0000 段内偏移 物理地址 20位 BIU中的地址加法器用来实现逻辑地址到物理地址的变换
8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址
43
2.3.2最小与最大模式总线形成 1. 最小模式下的系统总线 系 统 总 线 信 号 D7~D0 A7~A0
8088 系 统 总 线 信 号 时 钟 发生器 8284 MN/MX IO/M CLK RD READY WR RESET ALE DT/R DEN 8282 STB OE STB OE A B 8286 T OE A19~A16 A15~A8 AD7~AD0 A7~A0 D7~D0 IO/M RD WR 图 最小模式下总线形成
44
2. 最大模式下的系统总线 图 8088 最大模式下总线形成 时 钟 发生器 8284 A19~A16 8282 8282 A15~A8
AIOWC AMWC IOWC IORC MRDC 时 钟 发生器 8284 MN/MX S0 S1 CLK S2 READY RESET 8088 A B 8286 T OE S0 S S2 DT/R DEN ALE A19~A16 AD7~AD0 A15~A8 A7~A0 D7~D0 8282 STB OE 8282 STB OE 8282 STB OE 图 最大模式下总线形成
45
2. 堆栈结构 堆栈位置:8086/8088的堆栈在存储器中实现,并由堆栈段寄存器SS和堆栈指针寄存器SP来定位。 堆栈大小:一个系统中可以有多个堆栈,每个堆栈的空间最大为64K字节。 堆栈个数:若有多个堆栈,只有一个现行堆栈。SS寄存器存放现行堆栈的基址,SP寄存器指向栈顶。 堆栈操作:进栈操作和出栈操作。8086/8088 CPU的堆栈操作必须以字为单位。
46
堆栈: 存储器一个连续区域。这个区域数据的存取原则为:先进后出(FILO),即从栈底开始存放,从栈顶取信息。一般存放暂时不用的信息。
SS:FFFFH FFFCH 堆栈 … FFFEH FFFAH FFFDH FFFBH 栈底:堆栈的最低部 栈顶:最后放进的信息所在地址 SP=FFFAH 栈顶 SP=FFFCH 栈顶 栈顶 SP=FFFEH 栈底 SP始终指向栈顶
47
2.5 微机系统中的总线结构 2.5.1 总线的分类与总线标准 1.总线分类 总线:各模块间传送信息的通道。
2.5 微机系统中的总线结构 总线的分类与总线标准 1.总线分类 总线:各模块间传送信息的通道。 芯片级总线:如CPU芯片内的总线,这种总线常称内部总线。 板级总线:用于连接印刷电路板中的各个部件。 系统级总线:连接系统中的各个电路板。 2. 总线标准 标准中对插件引线的几何尺寸、引线数、各引线的定义、时序及电气参数等都作出了明确的规定。
48
微机总线的主要性能指标 总线宽度: 数据总线的数目,用位表示。 总线传输率:在总线上每秒钟传输的最大字节数,用Mb/s表示每秒钟传输多少字节。 总线传输率Q:Q=f×w/n(Mb/s),其中f是总线工作频率,单位为MHZ;w为总线宽度,单位是字节,n是每传送一次数据所需的时钟周期个数。 总线工作频率: 总线工作时的时钟频率,它与CPU的主频是不同的。 时钟同步/异步:总线上的数据传输与时钟同步工作的总线称为同步总线;与时钟不同步工作的总线称为异步总线 。
49
数据/地址总线的多路复用与非多路复用 非多路复用总线:地址与数据总线分开的总线。 多路复用总线:共用一条总线,在某一时刻传输地址 另一时刻传输数据或命令 信号线数:地址总线(AB)数、数据总线(DB)数和控制总线(CB)数的总和
50
PC系列微机总线 1. PC/XT总线 以Intel 8088CPU为核心,其数据总线宽度为8位。 2. ISA与EISA总线 以80286 CPU为核心,形成的标准总线称工业标准体系结构ISA(Industry Standard Architecture)其数据总线宽度为16位。 EISA(Extend Industry Standard Architecture)随80386/486等微机出现而诞生,其数据总线32位。 3. 局部总线 PCI总线:由外围部件互连行业组制定的一种局部总线。
51
(一)8086/8088的工作模式 (二)引脚复用技术 (三)引脚功能(最小模式) 最大工作模式 : 多CPU工作, MN/MX=0
最小工作模式 : 单CPU, MN/MX=+5V (二)引脚复用技术 1. 采用分时复用,即同有引脚在同一总线周期的不同时钟周期内其功能不同; 2. 根据工作模式定义引脚功能,同一根引脚在最小模式和最大模式下输出不同的信号。 (三)引脚功能(最小模式) 1. AD15~AD0(16条) 地址/数据复用线 双向 T1时作为地址线 T2~T3时作为数据线 AD0~AD15
52
/2/3全体同学:大家好 让我们携手共同完成本课程学习! 谢谢大家
Similar presentations