1、1第第4 4章章 处理器总线时序和系统总线处理器总线时序和系统总线4.1 概述概述4.2 处理器总线处理器总线4.3 8086典型时序分析典型时序分析4.4 其它总线简介其它总线简介 24.14.1 概述概述4.1.1 4.1.1 指令周期、总线周期和指令周期、总线周期和T T状态状态 指令周期指令周期执行一条指令所需的时间。执行一条指令所需的时间。不同指令的指令周期是不同的。不同指令的指令周期是不同的。例例:最短指令最短指令:寄寄寄寄,只需要只需要2个时钟个时钟周期周期.最最长长指指令令:16位位乘乘、除除,约约需需200个个时时钟周期钟周期.3 有些指令周期可划分为一个个总线周期。有些指令
2、周期可划分为一个个总线周期。总线周期总线周期每当每当CPU与存储器或与存储器或I/O端口交端口交换一个字节换一个字节(或字、双字或字、双字)数据所需的时间称数据所需的时间称之为一个总线周期。之为一个总线周期。每每个个基基本本总总线线周周期期通通常常包包含含4个个T状状态态,一一个个T状状态态就就是是一一个个时时钟钟周周期期,是是CPU处处理理动动作作的的最小单位。最小单位。4时钟频率时钟频率一个一个T状态时间状态时间 5M 200ns(0.2s)50M 20ns(0.02s)100M 10ns(0.01s)200M 5ns(0.005s)基本的总线周期有:基本的总线周期有:存储器的读周期或写周
3、期存储器的读周期或写周期I/OI/O端口的读周期或写周期端口的读周期或写周期中断响应周期中断响应周期54.1.2 4.1.2 学习时序的目的学习时序的目的了解和熟练掌握指令的执行过程,有利于了解和熟练掌握指令的执行过程,有利于在编程时合理选用指令,提高编程质量,在编程时合理选用指令,提高编程质量,少占存储空间,缩短指令执行时间。少占存储空间,缩短指令执行时间。如编程时完成相同功能的程序,可选用如编程时完成相同功能的程序,可选用不同的指令,但指令的长度和执行时间可不同的指令,但指令的长度和执行时间可以有很大的不同,所以优选指令有利于提以有很大的不同,所以优选指令有利于提高程序质量高程序质量。例:
4、例:MOV AX,0 CLC XOR AX,AX6下面举例了解一条指令的执行过程和所需时间下面举例了解一条指令的执行过程和所需时间例例:ADD MASKBX+DI,AX 执行本指令需要几个总线周期?需要执行本指令需要几个总线周期?需要多少时钟周期?多少时钟周期?ADD 寄存器到内存寄存器到内存,访问内存次数:访问内存次数:2 所需的时钟周期数为:所需的时钟周期数为:16(24)+EA EA为为12个时钟周期个时钟周期.对对8088而言而言,执行本指令需要执行本指令需要36个时钟周期个时钟周期.2.实时控制的要求,当用微机实时监测、实时控制的要求,当用微机实时监测、控制时,必须估算执行有关程序所
5、需的时控制时,必须估算执行有关程序所需的时间,以便与测控过程相配合。间,以便与测控过程相配合。73.3.了解时序配合,有利于选用芯片和使用了解时序配合,有利于选用芯片和使用芯片。例如选用存储芯片时,要注意和芯片。例如选用存储芯片时,要注意和CPUCPU的时序配合;又例在使用液晶芯片时,的时序配合;又例在使用液晶芯片时,需编程产生图形,就需读懂液晶芯片的有需编程产生图形,就需读懂液晶芯片的有关时序。如某液晶模块的列驱动器关时序。如某液晶模块的列驱动器HD61202 HD61202 的读出时序如下:的读出时序如下:读写使能信号读写使能信号 E E读写选择信号读写选择信号R/W 数据、指令选择信号数
6、据、指令选择信号 D/ID/I芯片选择信号芯片选择信号 CS数据数据 DB7DB0注:注:D/I=1 D/I=1 为数据操作;为数据操作;D/I=0 D/I=0 为写指令或读状态为写指令或读状态84.2 4.2 处理器总线处理器总线4.2.1 8086微处理器的工作模式微处理器的工作模式n最小模式:最小模式:系统中只有一片系统中只有一片8086,8086,其存储其存储容量不大容量不大,所要连的所要连的I/OI/O端口也不多端口也不多,总线控总线控制逻辑电路被减到最小。制逻辑电路被减到最小。n最大模式:最大模式:构成的系统较大构成的系统较大,可能包含不可能包含不只一片微处理器只一片微处理器,或要
7、求有较强的驱动能力或要求有较强的驱动能力,带有一个总线控制器带有一个总线控制器82888288。4.2.2 8086的引脚和功能的引脚和功能9VCC8284RESDENDT/RCLKREADYRESETTOE82868282STBALE存储器存储器I/O芯片芯片 RDWRM/IOOE地址地址数据数据8086CPUBHEBHE(3)(2)1021354687911101214131517161819203940383637353334323031292728262425232221A14GNDA13A11A12A10A8A9AD7AD5AD6AD4AD2AD3AD1NMIAD0INTRCLKGN
8、DVCCMN/MXBHE/S7RDRQ/GT1(HLDA)RQ/GT0(HOLD)LOCK(WR)S1(DT/R)S2(M/IO)S0(DEN)QS1(INTA)QS0(ALE)TESTREADYRESETA15A17/S4A16/S3A18/S5A19/S6最大组态最大组态(最小组态最小组态)8086CPU11对应最小组态对应最小组态:M/IO本信号为高,表示本信号为高,表示CPU与内存进行数据交换与内存进行数据交换 为低,表示为低,表示CPU与与I/O进行数据交换进行数据交换 DMA传送时,传送时,M/IO置为高阻置为高阻 WR 低有效,表示处在存储器写或低有效,表示处在存储器写或I/O写
9、写 INTA 中断响应信号,低电平有效中断响应信号,低电平有效 ALE 地址锁存允许信号,高电平有效地址锁存允许信号,高电平有效,有效时将有效时将 地址信号锁存到地址锁存嚣中地址信号锁存到地址锁存嚣中 12 HOLD为总线保持请求信号为总线保持请求信号 HLDA为总线保持响应信号为总线保持响应信号 DT/R为数据发送为数据发送/接收信号接收信号,为增加数据总线为增加数据总线的驱动能力的驱动能力,采用数据总线收发器采用数据总线收发器(8286/8287)DEN为数据允许信号为数据允许信号,作为作为8286/8287的输出的输出允许信号允许信号 13对应最大组态对应最大组态:S2 S1 S0总线周
10、期状态信号总线周期状态信号其编码如下其编码如下S2 S1 S0 性能性能000 中断响应中断响应001 读读I/O010 写写I/O011 暂停暂停100 取指令取指令101 读内存读内存110 写内存写内存 111 无效状态无效状态14 RQ/GT0总线请求输入总线请求输入/总线请求允许输出总线请求允许输出 RQ/GT1总线请求总线请求/总线请求允许总线请求允许 每一脚为双向每一脚为双向,其中其中RQ/GT0的优先权高于的优先权高于RQ/GT1 LOCK总线封锁信号总线封锁信号,当其有效时当其有效时,别的总线主别的总线主 设备不能占用总线设备不能占用总线 QS1,QS0指令队列状态信号指令队
11、列状态信号,意义如下意义如下:QS1 QS0 0 0 无操作无操作 0 1 从指令队列中第一字节中取走代码从指令队列中第一字节中取走代码 1 0 队列空队列空 1 1 除第一个字节外除第一个字节外,还取走了后续字节中还取走了后续字节中 的代码的代码.15其它引脚:其它引脚:AD15 AD0 地址地址/数据复用线数据复用线A19/S6,A18/S5,A17/S4,A16/S3地址地址/状态状态复用线复用线 S6 始终为低始终为低,表示表示CPU当前与总线相连当前与总线相连 S5 是中断允许标志状态位是中断允许标志状态位,为为1允许中断允许中断 S4和和S3指定那一个段寄存器正在被使用指定那一个段
12、寄存器正在被使用.S4 S3 含义含义00当前正在使用当前正在使用ES01当前正在使用当前正在使用SS10当前正在使用当前正在使用CS或未用或未用 1 1当前正在使用当前正在使用DS16 NMI非屏蔽中断请求信号非屏蔽中断请求信号,边缘触发边缘触发 信号信号,不能由软件加以屏蔽。不能由软件加以屏蔽。INTR可屏蔽中断请求信号可屏蔽中断请求信号,高电平有效高电平有效,为为电平触发信号电平触发信号。BHE/S7 高高8位数据总线允许位数据总线允许/状态复用信号状态复用信号 为为0则则AD15AD8有效有效 为为1则则AD7AD0有效有效 RESET复位信号复位信号,当其有效当其有效CPU结束当前操
13、结束当前操作作,对对DS,SS,ES,IP及及标志寄存器清零标志寄存器清零,将将CS置置为为FFFFH。于是。于是CPU从从FFFF0H开始执行程开始执行程序序,FFFF0H处放有一条处放有一条JMP指令指令,转到系统程转到系统程序入口处序入口处,进行初始化进行初始化,引导到监控程序。引导到监控程序。17 RDRD 读信号读信号,低有效低有效,表示正在进行存储表示正在进行存储 器或器或I/OI/O读读.TESTTEST 测试信号测试信号(输入输入),),本信号与本信号与WAITWAIT指指 令结合起耒使用令结合起耒使用,执行执行WAITWAIT指令时指令时,CPUCPU等待等待,若若TESTT
14、EST有效有效,结束等待结束等待,执执 行下面指令行下面指令.READYREADY准备就绪信号准备就绪信号,一般由存储器或一般由存储器或I/OI/O 端口送来端口送来,当其有效当其有效,可进行数据传可进行数据传 送送,一般在一般在T T3 3开始时去采样它开始时去采样它,若为若为 低低,需插入等待状态需插入等待状态TwTw。18 4.2.3 PC/XT总线总线 总线上的信号除上面介绍过的外总线上的信号除上面介绍过的外,还有还有:IOR I/O读命令读命令 IOW I/0写命令写命令 MEMR 存储器读命令存储器读命令 MEMW 存储器写命令存储器写命令 IRQ2 IRQ7为中断请求信号为中断请
15、求信号,由外设送给中由外设送给中断控制器断控制器8259A的后的后6个引入总线。个引入总线。194.3 4.3 最小模式下的最小模式下的80868086时序时序4.3.1 80864.3.1 8086的读周期时序的读周期时序T1T2T3T4CLKM/IOA19A16/S6S3AD15AD0BHE/S7ALERDDT/RDEN高M 低IOA19A16S6S3地址输出DATA IN20TT1 1 后后M/IO变高表示存储器读变高表示存储器读,变低表示变低表示I/O读读给出地址给出地址,若若存储器则存储器则给出给出20位地址位地址,若为若为I/O端口端口,则给出低则给出低16位地址位地址(高高4位为
16、低位为低)ALE变为有效高电平变为有效高电平,将复用线上的地址将复用线上的地址锁存起来锁存起来 DT/R变低变低,表示表示CPU读读 BHE信信号号有有效效,表表示示高高8 8位位数数据据线线上上的的数数据据有效有效214.3.1 80864.3.1 8086的读周期时序的读周期时序T1T2T3T4CLKM/IOA19A16/S6S3AD15AD0BHE/S7ALERDDT/RDEN高M 低IOA19A16S6S3地址输出DATA IN22 T T2 2状态下状态下A19/S6A16/S3 引脚输出状态信号引脚输出状态信号S6S3AD15AD0转为高阻转为高阻RD变低变低,允许读出允许读出DE
17、N变低变低,开放总线收发器开放总线收发器8286,允许数据允许数据传送传送234.3.1 80864.3.1 8086的读周期时序的读周期时序T1T2T3T4CLKM/IOA19A16/S6S3A15A0ALERDDT/RDEN高M 低IOA19A16S6S3DATA IN地址输出BHE/S724 3.3.在在T T3 3状态状态,被选中的存储单元或被选中的存储单元或I/O端口端口把数据送到数据总线把数据送到数据总线,以备以备CPU来读取来读取.经过译码找到指定的存储单元或经过译码找到指定的存储单元或I/O端端口口,经过一段延迟经过一段延迟,指定单元内容出现在指定单元内容出现在AD15AD0上
18、。上。4.CPU4.CPU在在T T4 4下降沿采样数据线下降沿采样数据线,获取数据获取数据254.3.1 80864.3.1 8086的读周期时序的读周期时序T1T2T3T4CLKM/IOA19A16/S6S3A15A0ALERDDT/RDEN高M 低IOA19A16S6S3地址输出DATA INBHE/S7265.5.若到时数据出不来若到时数据出不来,可用一个产生可用一个产生READYREADY信号的电路信号的电路,使在使在T T3 3和和T T4 4之间产生一个或几之间产生一个或几个个TwTw来解决时序配合来解决时序配合27T1T2TWT4CLKM/IOA19A16/S6S3AD15AD
19、0ALERDDT/RDEN高M 低IOA19A16S6S3地址输出DATA INT3WAITREADYREADY插入插入TW状态的存储器读周期状态的存储器读周期28 4.3.2 80864.3.2 8086的写周期时序的写周期时序8088的写周期时序的写周期时序CLKM/IOA19A16/S6S3AD15AD0ALEWRDT/RDEN高M 低IOA19A16S6S3地址输出T1T2T3T4DATA OUT29写周期亦由写周期亦由4 4个个T T状态组成状态组成,与读周期时序类与读周期时序类似似,不同点为不同点为:当当A A1515A A0 0被锁存后被锁存后,在在T T2 2状态状态CPUCP
20、U要把要把写写入的数据入的数据放至放至ADAD1515ADAD0 0上上因要写入在因要写入在T T2 2用用WRWR来代替来代替RDRDDT/RDT/R应为应为高电平高电平,表示发送表示发送 同样当与同样当与CPUCPU速度不配时速度不配时,亦可插入亦可插入TwTw30 4.3.2 80864.3.2 8086的写周期时序的写周期时序CLKM/IOA19A16/S6S3AD15AD0ALEWRDT/RDEN高M 低IOA19A16S6S3数据输出8088的写周期时序的写周期时序T1T2T3T4DATA OUT31 初步了解了时序的一些基本概念后,初步了解了时序的一些基本概念后,再回过头来看一下
21、前面提到过的液晶摸再回过头来看一下前面提到过的液晶摸块中的块中的HD61202 的读出时序:的读出时序:读写使能信号读写使能信号 E E读写选择信号读写选择信号R/W 数据、指令选择信号数据、指令选择信号 D/ID/I芯片选择信号芯片选择信号 CS数据数据 DB7DB0注:注:D/I=1 D/I=1 为数据操作;为数据操作;D/I=0 D/I=0 为写指令或读状态为写指令或读状态324.4 4.4 其它总线简介其它总线简介4.4.1 总线概念总线概念 所谓总线,所谓总线,就是在设备就是在设备(或模块或模块)与设备与设备(或模块或模块)之间传送信息的一组公用信号线,之间传送信息的一组公用信号线,
22、它是一条公用的信号通路。它是一条公用的信号通路。总线主要包括总线主要包括地址总线、数据总线和控制总线地址总线、数据总线和控制总线。总线的总线的特点在于它的公用性,它允许多个设备与特点在于它的公用性,它允许多个设备与模块用总线来传输信息。但是两个设备或模块用总线来传输信息。但是两个设备或模块之间的专用信号连线,就不能称为总模块之间的专用信号连线,就不能称为总线。线。Intel 系列微机系统的主要总线如下:系列微机系统的主要总线如下:334.4.2 PC/XTPC/XT总线总线 XT总线是总线是 IBM PC/XT 个人计算机采用个人计算机采用的总线。的总线。XT总线有总线有62根线。包括根线。包
23、括8位数据线、位数据线、20位地址线、位地址线、6级中断请求线、级中断请求线、DMA通道控通道控制线、动态制线、动态RAM刷新控制线、时钟信号刷新控制线、时钟信号线和电源线等。线和电源线等。4.4.3 ISA总线总线 ISA(Industrial Standard Architecture)总线是总线是 IBM 公司为推出公司为推出 PC/AT微机而建立微机而建立的系统总线标准,多数的系统总线标准,多数80286、80386、80486微机都采用这种总线微机都采用这种总线.34 ISA总线是在原总线是在原 PC/XT总线的基础上,再总线的基础上,再扩充扩充36线,线,ISA总线与总线与 PC/
24、XT 总线兼容,以总线兼容,以适应适应8/16位总线要求,支持位总线要求,支持 16 M 存储空间。存储空间。4.4.4 4.4.4 PCI PCI 总线总线PCI(Peripheral Component Interconnect)总线性能优良,可同时支持多组外设,又不总线性能优良,可同时支持多组外设,又不受制于微处理器,并且兼容受制于微处理器,并且兼容 ISA、EISA等等总线,与它们共存于总线,与它们共存于 PC 系统中,它的规范系统中,它的规范确保了确保了“即插即用即插即用”的实现,极大的方便了的实现,极大的方便了用户,从而得到广泛的应用用户,从而得到广泛的应用,成为总线的主成为总线的
25、主流流。35 PCI总线的时钟为总线的时钟为 33MHz,与与CPU时钟时钟无关。它的总线宽度为无关。它的总线宽度为 32位,支持位,支持8位、位、16位、位、32位操作。速度快,是位操作。速度快,是 ISA的的10倍以上。倍以上。4.4.5 USB总线总线 随着随着PC机的普及,计算机的外部设备机的普及,计算机的外部设备也越来越多。但是由于主板上所能提供的外也越来越多。但是由于主板上所能提供的外部接口比较少,一般只有一个并口和两个串部接口比较少,一般只有一个并口和两个串口,所能连接的设备十分有限,而且拔插设口,所能连接的设备十分有限,而且拔插设备的时候要关机,传输速度也很慢,在要求备的时候要
26、关机,传输速度也很慢,在要求高传输率的场合无法满足要求高传输率的场合无法满足要求.于于是是36INTEL等七家公司为简化等七家公司为简化PC与外设之间的与外设之间的互连,而共同开发了一种通用串行总线互连,而共同开发了一种通用串行总线USB(Universal Serial Bus),这是一种快速的这是一种快速的、双向的、同步传输的、廉价的并可进行热、双向的、同步传输的、廉价的并可进行热插拔的串行接口,支持各种插拔的串行接口,支持各种PC与外设之间与外设之间的连接。的连接。当前大部分当前大部分PC机至少提供机至少提供2个个USB接口,接口,适用于传输大容量数据,例数码相机、数字适用于传输大容量数据,例数码相机、数字摄像机等。传输速度从摄像机等。传输速度从1.5MB到到48MB/S,但传输距离短,约但传输距离短,约5米之内。米之内。