第4章80868088的总线与时序-资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/6/1
15
8288总线控制器逻辑框图
S0
S1 S2
状态 译码器
CLK AEN CEN IOB
控制 逻辑
命令 信号 产生器
控制 信号 产生器
MRDC(MEMR) MWTC(MEMW) AMWC IORC (IOR) IOWC (IOW) AIOWC INTA (INTA)
DT/ R DEN MCE/PDEN ALE
MCE/PDEN: PIC主控级连 / IO设备数据输出控制信号
2020/6/1
IOB=0时,PIC主控级连;否则,用于允许I/O总线收1发6 器
二、8086CPU的引线及功能
2020/6/1
17
2020/6/1
18
二、8086CPU的引线及功能
引脚定义的方法可大致分为:
• 每个引脚只传送一种信息(如RD) • 电平的高低代表不同的含义(如M/IO) • 在不同模式下有不同的名称和定义(如WR/LOCK) • 分时复用引脚(如AD15~AD0) • 引脚的输入、输出分别传送不同的信息(如RQ/GT0)
从IPQ中取指令代码
译码 完成指定的操作 结果保存到目的操作数 运算特征保存在标志寄存器FLAGS(仅对影响标志的指令)
2020/6/1
31
总线接口单元
功能:
• 从内存中取指令到指令预取队列IPQ;
• 负责与内存或I/O接口之间的数据传送 ;
• 在执行转移指令时,BIU将清除IPQ,
然后从转移的目的地址处开始取指令并
7
并行工作方式
• 8086CPU采用并行工作方式
CPU 取指令1 执行1
取指令2 执行2
取指令3 执行3
取指令4 执行4
BUS 忙碌
t0
2020/6/1
忙碌
t1
忙碌
t2
忙碌
t3
取指令5
忙碌
t4
执行5
忙碌
t5
➢6个周期 执行了5条 指令
8
并行操作的前提
• 取指令部件和指令执行部件要能够并 行工作;
• 解决:分支预测、推测执行
• 超标量结构 – 对流水线中的关键“岗位”设置多个相同的执行单 元——多个工人完成一道工序
• P4:倍频ALU×2, FPU×2(其中一个为并行FPU) • Athlon XP:ALU×6,并行FPU×3组
2020/6/1
10
8086 CPU的特点
• 采用并行流水线工作方式:
– 逻辑0:≤0.8V – 逻辑1:≥2.0V • 输出特性: – 逻辑0:≤0.45V,最大2.0mA – 逻辑1:≥2.4V,最大-0.4mA – 输出引脚负载能力:
• 74HC、74ALS、74AS、74F负载≤10个 • 74LS负载≤5个 • 74、74S负载≤1个
2020/6/1
4
一、指令流水线
通过设置指令预取队列(IPQ)实现
执行部件
取指部件
• 对内存空间实行分段管理:
将内存分段并设置地址段寄存器,以实
现对1MB空间的寻址。
• 2020/6/1 支持多处理器系统:8087 FPU
11
8086 CPU的两种工作模式
• 8086可工作于两种模式下,即:
最小模式和最大模式。
• 最小模式不支持8087。存储器和I/O控制 信号全部由CPU产生。
• HLDA:输出
– 总线保持响应。CPU对HOLD信号的响应信号。指示CPU已进入保 持状态。
2020/6/1
28
其他信号
• TEST:输入
– 测试信号。执行WAIT指令时将测试此引脚 的状态。
• =0时,WAIT指令相当于空操作(NOP)。 • =1时,WAIT指令将重复测试直到它变为0。
– 通常此引脚与8087算术协处理器相连。
• 各部件执行时间基本相同,否则需再 细分;
• 取指令部件取出的指令要能暂存在 CPU内部某个地方;
• 指令执行部件在需要时总能立即获得 暂存的指令;
• 2020/6/1 需要解决转移指令问题。
9
*超级流水线和超标量结构
• 超级流水线 – 指令的执行步骤分得更细,流水线长度更长 例如,PIII为14个阶段,P4为20个阶段 – 有利于提高主频 – 转移分支时的效率?
ALE BHE/S7
A19-A16 /S6-S3
AD15-AD0
STB OE
BHE A19 - A0
地址总线
2020/6/1
DEN DT/ R
8286或’245
OE DIR
D15 - D0 数据总线
24
最小模式下的主要引线
• RESET:输入
– 复位信号,保持4个以上时钟周期的高电平时将引起CPU进 入复位过程(IF清0,并从存储单元FFFF0H开始执行指令) ;
重新填充IPQ。
2020/6/1
32
8086结构特点小结
• 有EU和BIU两个独立的、同时运行的 部件
• 二者通过IPQ构成一个两工位流水线 • 指令被EU和BIU按流水线方式处理:
– 提高了CPU的运行速度; – 提高了CPU的执行效率; – 降低了对存储器存取速度的要求。
2020/6/1
33
4.3 8086的工作时序
• RD:输出,三态 –读信号,表示CPU正在从总线上读来自于MEM或I/O设 备的数据。
• M/IO:输出,三态 –区分是读写存储器还是读写I/O端口(即地址总线上 的地址是存储器地址还是I/O端口地址)。
2020/6/1
22
最小模式下的主要引线
• DEN:输出,三态 –数据总线允许信号。用来打开外部数据总线缓 冲器。
CLK 地址 地址/数据 WR
总线周期
总线周期
T1
T2
T3
T4
T1
T2
T3
T4
①由ALE信号将地址锁存到地址锁存器
有效地址
地址
写入存储器的数据
地址
有效地址 写入存储器的数据
②DEN=0并且DT/R=1时打开总线
③此信号与M/IO信号共同构成存储
2020缓/6冲/1 器,将其放到系统数据总线上
器写控制信号,将数据写入存储器
➢ CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。
数据和程 序指令
控制器的 调度分配
ALU等 功能部件
处理后的 数据
存储器
输出
原料
调度分配
生产线
成品
仓库
出厂
取指令
2020/6/1
指令 译码
取操 作数
执行 指令
存放 结果
5
指令流水线
• 指令流水线有两种运作方式: – 串行方式: 取指令和执行指令在不同的时刻按顺序执行。
CPU DT/R
DEN
数据总线 缓冲器
8286(或 74LS245)
数据总线
• •
控制总线
2020/6/1
13
最大模式下的连接示意图
时钟发 生器
8284A
8088 CPU
MN/MX
GND
2020/6/1
ALE 地址 锁存器
8282
数据总线 缓冲器
8286
总线 控制器
8288
CLK
地址总线 数据总线 控制总线
• 工作时序分为很多小的时间片:
– 时钟周期
一个时钟脉冲所持续的时间。时钟周期越短, CPU执行速度越快。
– 总线周期
通过总线对存储器或I/O接口进行一次访问所需要 的时间。一般包括4个时钟周期。
在5MHz的工作频率时,一个标准总线周期为0.8μs。
2020/6/1
34
总线周期中各时钟周期的操作
• T1周期 – CPU向存储器或I/O发送地址 – CPU向地址/数据分离器(地址锁存器)发送ALE信号
–传送地址时为输出,传送数据时为双向。
• A19-A16/S6-S3:输出,三态
– 地址/状态复用引脚。ALE=1时作为地址线 A19~A16,ALE=0时作为控制信号。
2020/6/1
21
最小模式下的主要引线
控制信号:
• WR:输出,三态 –写选通信号,表示CPU正在写数据到MEM或I/O设备。
14
8288总线控制器
• 最大模式下, 8288总线控制器产生某些 CPU不再提供的控制信号。
• 8288产生的信号包括:
– 独立的I/O控制命令:IORC、IOWC – 独立的存储器控制命令:MRDC、MWTC – 中断响应信号和总线控制信号
• 以上三组信号取代了最小模式的:
– ALE、WR、IO/M、DT/R、DEN、INTA
• CLK:输入
– 时钟引脚。为CPU提供基本的定时信号。 – 占空比必须为33%(高1/3,低2/3)。
2020/6/1
29
三、8086CPU的内部结构(第一 章已讲述,回顾一下)
• 8086内部由两部分组成:
执行单元(EU) 总线接口单元(BIU)
结构
2020/6/1
30
执行单元
• 功能:执行指令,具体操作如下
• 最大模式支持8087。 CPU的部分信号线
被用作8087的控制,因此需要由8288总
注:线8控028制6以器后来的C产PU生不这再区些分控这制两种信工号作。模式。
2020/6/1
12
最小模式下的连接示意图
时钟发 生器 8284A
MN/MX
Vcc
ALE 地址/数据
8086
地址 锁存器
地址总线
8282(或74LS373)三片
36
数据从存储器读出的总线操作 ——读总线周期
CLK 地址 地址/数据
总线周期
总线周期
T1
T2
T3
T4
T1
T2
T3
T4
①由ALE信号将地址锁存到地址锁存器
有效地址,BHE
地址
来自存储器的数据
有效地址,BHE
地址
来自存储器的数据
RD
②此信号与M/IO信号共同构成存
2020/6/1储器读控制信号
③DEN=0并且DT/R=0时打开总线缓冲器,
• INTA:输出 – 中断响应信号,表示CPU已进入中断响应周期。 – 此信号常用来选通中断向量号。
2020/6/1
27
总线保持信号
• HOLD:输入
– 总线保持请求。用来直接存储器存取(DMA)。当CPU以外的其他设 备要求占用总线以便访问存储器时,通过此引脚向CPU发出请求 。
– HOLD=1时,CPU停止执行指令,并将地址/数据总线和控制总线 中的所有三态控制线置为高阻状态。
将其放到CPU总线上,供CPU读入
T4
标准总 线周期
时钟周期
总线周期
采样
T1
T2
T3
Twait
T4
增加了等待 状态的总线
周期
总线周期
若在T3周期上升沿检测到READY=0,将插入等待周期,插入的个数取决于READY何时变为1。
2020/6/1
26
中断请求和响应信号
• INTR:输入 – 可屏蔽中断请求输入端,CPU要检查IF状态
• NMI:输入 – 非屏蔽中断请求输入端, CPU不检查IF状态
• T2周期 – 给存储器或I/O发送写入的数据 – 测试READY引脚状态,以决定是否插入等待周期 – 发出RD或WR信号
• T3周期 – 等待存储器或I/O存取数据完成 – 使数据在CPU与存储器或I/O之间传输
• T4周期 – 写入数据
2020/6/1读/写总线周期的信号波形见下页图。
35
数据写入存储器时的总线操作 ——写总线周期
– 并行方式: 取指令和执行指令可同时执行,需要有能并行工作的
硬件的支持。
2020/6/1
6
串行工作方式
• 8086以前的CPU采用串行工作方式
CPU 取指令1 执行1 取指令2 执行2 取指令3 执行3
BUS
忙碌
忙碌
t4
空闲
t5
➢6个周期执行了3条指令
2020/6/1
• DT/R:输出,三态 –表明CPU正在传送还是接收数据,用来作为外部 数据总线缓冲器的方向控制;
• ALE:输出 –地址锁存允许信号,表示地址/数据总线上传输 的是地址信号。
➢以上三个信号的用法见下页图
2020/6/1
23
数据/地址分离电路(最小模式)
8086
CPU总线 8282或’373 系统总线
2020/6/1
19
最小模式下的主要引线
• MN/MX 工作模式控制
–=0(接地):工作于最大模式; –=1(接Vcc):工作于最小模式。
2020/6/1
20
最小模式下的主要引线
地址总线、数据总线:
• AD15~AD0:三态
–地址/数据复用引脚。ALE=1时作为地址线 A16~A0,ALE=0时作为数据线D16~D0。
2020/6/1
1
主要内容
• 8086微处理器的组成、引脚功能; • 8086的CPU系统; • 8086的时序。
2020/6/1
2
§4.1 8086微处理器
主要内容:
• 指令流水线 • 8086外部引线及功能; • 8086的工作时序。
2020/6/1
3
8086的硬件特性(补充)
• 16位微处理器,CMOS型,40引脚DIP封装 • 16位数据总线,20位地址总线 • 功耗:+5V,360mA(低功耗型80C86仅需10mA) • 输入特性:输入电流≤0.01mA
• BHE/S7:输出
– 高8位数据总线允许。在读/写操作期间允许高8位数据总线 D16~D8有效(即读/写数据的高8位)。
• READY:输入
– 准备就绪。用于与存储器或I/O接口的同步。 – =0时CPU进入等待状态(插入1个或多个等待周期)。
2020/6/1
25
READY引脚的作用
T1
T2
T3