430 likes | 618 Views
微机原理、汇编与接口技术. 朱定华. 2008.8. 第四章 总线. 4 .1. 总线概述. 4 .2. 8086/8088 的 CPU 总线与时序. 4 .3. Pentium 的 CPU 总线. 4.1 总线概述. 总线是一种数据通道,系统各部件共享 总线可同时挂接多个部件 总线分为:内部总线、局部总线、外部总线 总线上任一部件发送的信息,系统内连接到总线上的部件均可收到 信息传输时,每次只能有一个发送部件可利用总线给一个接收部件发送信息. 第四章 总线. 总线概述. 4 . 1. 4 . 2.
E N D
微机原理、汇编与接口技术 朱定华 2008.8
第四章 总线 4.1 总线概述 4.2 8086/8088的CPU总线与时序 4.3 Pentium的CPU总线
4.1 总线概述 • 总线是一种数据通道,系统各部件共享 • 总线可同时挂接多个部件 • 总线分为:内部总线、局部总线、外部总线 • 总线上任一部件发送的信息,系统内连接到总线上的部件均可收到 • 信息传输时,每次只能有一个发送部件可利用总线给一个接收部件发送信息
第四章 总线 总线概述 4.1 4.2 8086/8088的CPU总线与时序 4.3 Pentium的CPU总线
4.2 8086/8088的CPU总线与时序 用8088微处理器构成系统时,有两种不同的组态: 最小组态→用8088微处理器构成一个较小系统,即所连 的存储器容量不大,I/O端口也不多,此时系统的控制 总线由8088直接提供. 最大组态→用8088构成一个较大系统时,系统的控制信 号不能由CPU直接提供,而必须由总线控制器控制产生. 4.2.1 8086/8088的CPU引线 8086/8088均为40条引线、双列直插式封装,某些引线有多重功能,其功能转换有两种情况:一种是分时复用,另一种是按组态定义.
8088CPU的引线信号: 1.地址和数据线 2.控制和状态线 3.电源和定时线 状态与 高4位地址 分时复用 控制 工作在 什么 组态 最大 (最小) 组态下 的控制 信号 数据与 低8位地址 分时复用 电源和定时线 与组态无关 的引线 8088 CPU引线的排列
1.地址和数据线 (1)AD7~AD0 低8位地址/数据线.利用内部的多路开关,数据与低8位地址分时复用这些引线.当CPU访问存储器或外设时,先输出访问地址,由外部锁存器锁存地址,再读/写所需要的数据 (2)A15~A8 中间8位地址线.8088内部锁存
1.地址和数据线 (3)A19~A16/S6~S3 高四位地址/状态线.地址与状态分时复用.访问外设时,4位地址线不用. 存储器的读/写和I/O操作时这些线用来输出状态信息: S6 S5 S4 S3 0 F的IF位 0 0 ES 0 1 SS 1 0 CS 1 1 DS
2.控制和状态线 分两种:一种8088组态有关的线,另一类是与组态无关的线 (1)MN/MX控制8088工作与什么组态.接电源(+5V),8088处于最小组态,接地,8088处于最大组态 (2)最小组态下的控制信号线 • IO/M 输入输出/存储器选择信号.输出低电平→访存;输出高电平→访问I/O端口 • WR 写信号.低电平有效,在执行存储器或I/O端口的写操作时输出的一个选通信号 • INTA 中断响应信号.低电平有效.是8088响应外部INTR而发出的中断响应信号
2.控制和状态线 • ALE 地址锁存允许信号. 是8088发出的选通脉冲,将AD7~AD0和A19/S6~A16/S3上出现的地址锁存到外部地址锁存器中 • DT/R 数据发送/接收信号. 低电平→接收数据,高电平→发送数据 • DEN 数据允许信号.低电平有效 • SSO 系统状态输出信号.与IO/M、DT/R一起,反映8088所执行的操作 • HOLD 保持请求信号.用于直接存储器存取操作,即DMA请求输入信号 • HLDA 保持响应信号.DMA响应回答信号
2.控制和状态线 (3)最大组态下的控制信号线 • S2,S1,S0 3个状态信号. 其译码输出作为8088工作在最大组态时,对存储器和I/O端的口读/写操作信号. 3个状态信号与CPU所执行的操作见P177,表4-1 • RQ/GT0、RQ/GT1总线请求/允许信号. 双向,低电平有效. 两个外设同时发出总线请求时,RQ/GT0优先权高于RQ/GT1 • LOCK 锁定信号.低电平有效.该信号由前缀指令LOCK使其有效;有效时,别的总线设备不能取得对系统3总线的控制权 • QS0,QS1队列状态信号.用于提供8088指令队列状态
2.控制和状态线 (4)与组态无关的引线 • RD 读选通信号.低电平时有效,表示正在进行存储器或I/O读操作 • READY 准备就绪信号.是CPU寻址的存储器或I/O口送来的响应信号 • TEST 测试信号.它是由WAIT指令测试的信号.低电平时,执行WAIT后面的指令;高电平时,CPU进入空转等待状态 • INTR 中断请求信号.它是外设发来的可屏蔽中断请求信号,可由标志寄存器中的中断允许标志位来屏蔽 • NMI 非屏蔽中断请求信号.它是边沿触发信号,是不可屏蔽的 • RESET复位信号
3.电源和定时线 • VCC 电源线.要求加5V±10%的电压 • GND 地线.8086/8088有两条地线,这两条地线都要接地 • CLK 时钟信号.一般由时钟信号发生器8284输出,它提供8088的定时操作.8088的标准时钟频率为5MHz
4.2.2 8088的CPU系统和CPU总线 1.地址锁存器 8088在访问存储器或I/O设备时,低8位/高4位地址与数据/状态分时复用,先输出地址,后输出数据/状态,为了不使先送出的地址丢失,用8088组建系统时,必须用地址锁存器 三态地址锁存器8282、74LS373
功能: 输出允许G 传送方向DIR操作 L H A→B L L B→A H ×隔离 2.双向总线驱动器 →增强8088的负载能力 74LS245→8总线传送器,引线排列如图:
3.时钟发生器8284A 8088内部没有时钟信号产生电路。而用8284向8088及系统提供符合定时要求的时钟信号CLK、准备好信号READY、复位信号RESET 其内部结构的框图如下图所示:
3.时钟发生器8284A 8284A的框图
4.总线控制器8288 • 作用:工作在最大组态时,8088不直接提供总线控制信号(如ALE、存储器读/写、I/O读写等),它只提供状态信号S0~S2,8288对状态信号译码转换为总线控制信号 • 电路: • 状态译码 • →对S0~S2译码 • 命令信号发生器 • →产生命令信号 • 控制信号产生器 • →产生总线控制信号; • 控制逻辑 • →控制8288工作方式。
4.总线控制器8288 • 命令信号 MRDC 存储器读命令.通知被选中单元,把数据发送到数据总线上 MWTC 存储器写命令.把数据线上的数据,写入被选中存储单元 IORC I/O读命令.通知被选中I/O口,把数据发送到数据总线上 IOWC I/O写命令.把数据线上的数据写入被选中I/O口 AMWC 存储器超前写.同MWTC,只是提前一个时钟脉冲
4.总线控制器8288 AIOWC I/O超前写.同IOWC,超前一个时钟脉冲 INTA 中断响应命令 • 总线控制信号 DT/R 数据发送/接收信号 DEN 数据允许信号 MCE/PDEN 设备级联允许/外部数据允许信号 ALE 地址锁存信号
8088工作于最小组态 系统控制总线 5.最小组态下的8088CPU系统 典型的最小组态下的8088 CPU系统如图 : 系统地址总线 系统数据总线
5.最小组态下的8088CPU系统 • A19~A16,A7~A0为分时复用线,必须用地址锁存器74LS373或8282把这12位地址锁存.A15~A8不用锁存.在此全部锁存 • 数据线可加双向驱动器,也可直接输出(小系统).用8088的数据允许信号DEN接245的OE, 8088的的收发控制DT/R接245的DIR • 8088的控制线可直接作系统 控制总线,RD、WR和IO/M经组 合形成存储器读/写信号和 I/O读/写信号.组合逻辑电路 如右图所示:
8088工作于最大组态 管理系统中断 8288控制形成 控制总线 8288工作在 系统总线方式 6.最大组态下的8088CPU系统 最大组态下的8088 CPU系统如图 : 系统地址总线 系统数据总线
4.2.3 8088的时序 1.指令周期、总线周期和T状态 计算机是在程序控制下工作的,每条指令的执行,都要经过取指,译码,执行三个阶段,这些操作都是在时钟脉冲CLK的统一控制下一步一步进行的,它们都需要一定的时间
T状态→CPU处理动作的最小单位,即一个时钟周期.T状态→CPU处理动作的最小单位,即一个时钟周期. 如:8088的时钟频率为5MHz,故时钟周期或1个T状态为200ns • 指令周期→执行一条指令所需要的时间. • 8088中不同指令的指令周期是不等长的.最短2个时钟周期,最长200个时钟周期(如:16位乘除法指令) • 总线周期→把指令周期划分为一个个总线周期.基本的总线周期有存储器读/写、I/O端口读/写和中断响应周期 如,从存储器存取一个字节就是一个总线周期
2.最小组态下的时序 (1)存储器读周期→由4个T状态组成 存储器读周期和输入周期时序
2.最小组态下的时序 (2)存储器写周期→由4个T状态组成 存储器写周期和输出周期时序
3.最大组态下的时序 (1)存储器读周期→由4个T状态组成 最大组态时存储器读周期时序
3.最大组态下的时序 (2)存储器写周期→由4个T状态组成 最大组态时存储器写周期时序
3.最大组态下的时序 (3)I/O读和I/O写周期→由5个T状态组成 最大组态时I/O读周期和I/O写周期时序
第四章 总线 总线概述 4.1 4.2 8086/8088的CPU总线与时序 4.3 Pentium的CPU总线
4.3.1 地址线及控制信号 • A31~A3 地址线.双向.低3位地址 A2~A0不对外,用于组合成字节允许信号BE7~BE0 • AP地址的偶校验码输出线 • ADS地址状态信号 • A20MA20以上的地址线屏蔽信号.与ISA总线兼容的计算机系统中必须有该信号 • APCHK地址校验出错信号. 在读取Cache时,Pentium会对地址进行偶校验,如有错,则该信号输出低电平
4.3.2 数据线及控制信号 • D63~DO数据线 • BE7~BE0分别为8个字节的允许信号 • DP7~DP0奇偶校验信号 • PCHK读校验出错 • PEN奇偶校验允许信号.若该信号输入为低电平,则在读校验出错时处理器会自动作异常处理
4.3.3 总线周期控制信号 • D/C 数据/控制信号.高电平→当前总线周期传输的是数据,低电平→当前总线周期传输的是指令 • M/IO存储器/输入输出访问信号.高电平访存,低电平访问I/O端口 • W/R读/写信号.高电平→写操作,低电平→读操作 • LOCK总线封锁信号.低电平有效 • BRDY突发就绪信号 • NA下一个地址有效信号 • SCYC分割周期信号
4.3.4 Cache控制信号 • CACHE Cache控制信号 • EADS外部地址有效信号 • KEN Cache允许信号 • FLUSH Cache擦除信号 • AHOLD地址保持请求信号 • PCD和PWT片外Cache控制信号 • WB/WT片内 Cache回写/通写选择信号 • HIT和HITM Cache命中信号和命中Cache的状态信号 • INV无效请求信号
4.3.5 系统控制信号 • INTR可屏蔽中断请求信号 • NMI非屏蔽中断请求信号 • RESET系统复位信号 • INIT 初始化信号 • CLK系统时钟信号
4.3.6 总线仲裁信号 • HOLD总线请求信号 • HLDA总线请求响应信号 • BREQ总线周期请求信号 • BOFF强制让出总线信号
4.3.7 检测与处理信号 • BUSCHK转入异常处理的信号 • FERR浮点运算出错的信号 • IGNNE忽略浮点运算错误的信号 • FRCMC和IERR功能冗余校验信号和冗余校验出错信号
4.3.8 系统管理模式信号 • SMI系统管理模式中断请求信号 • SMIACT系统管理模式信号
4.3.9 测试信号 • TCK测试时钟输入 • TDI 测试数据输入 • TDO测试数据输出 • TMS测试方式选择 • TRST测试复位
4.3.10 跟踪和检测信号 • BP3~BP0和PM1~PM0调试寄存器DR3~DR0中的断点匹配信号和性能监测信号 • BT3~BT0分支地址输出信号 • IU U流水线完成指令的执行过程信号 • IV V流水线完成指令的执行过程信号 • IBT指令发生分支信号 • R/S检测请求信号 • PRDY检测请求响应信号