1、第五章第五章 I/OI/O接口与总线接口与总线5.1 5.1 I/OI/O接口概述接口概述5.2 5.2 I/OI/O端口的编址方式端口的编址方式5.3 5.3 I/OI/O同步控制方式同步控制方式5.4 5.4 有关总线的基本概念有关总线的基本概念5.5 5.5 总线操作控制总线操作控制5.6 804865.6 80486的基本总线操作时序的基本总线操作时序5.7 805.7 80X86X86系列微机系统的标准总线系列微机系统的标准总线15.1 I/O接口概述qI/OI/O设备与设备与I/OI/O接口接口q接口分类接口分类q接口的基本功能与基本结构接口的基本功能与基本结构5.1.1 I/O5
2、.1.1 I/O设备与设备与I/OI/O接口接口 通过硬件、软件结合,把通过硬件、软件结合,把I/O设备与设备与CPU连连接起来,以实现两者间正确通信的技术。接起来,以实现两者间正确通信的技术。(为什么?)(为什么?)(为什么?)(为什么?)I/OI/O设备是微机系统必不可少的组成部分设备是微机系统必不可少的组成部分I/OI/O接口技术接口技术 任何任何I/OI/O设备都必须通过设备都必须通过I/OI/O接口与接口与CPUCPU相连相连35.1.2 5.1.2 接口分类接口分类 按微机系统中接口所连外设的形式和功能按微机系统中接口所连外设的形式和功能的不同,通常可分为四种的不同,通常可分为四种
3、:微处理器微处理器MPUMPU只读存储器只读存储器ROMROMABDBCB电源电源随机存储器随机存储器RAMRAM传感器传感器软磁盘驱动器软磁盘驱动器控制台及控制台及显示终端显示终端蒸汽调节阀蒸汽调节阀打印机打印机用户交互接口用户交互接口UIIUII内务操作接口内务操作接口OOIOOI控制接口控制接口CICI传感接口传感接口SISI下节下节41.1.用户交互接口用户交互接口(UII)(UII)这类接口是指这类接口是指微机接收来自用户的信息微机接收来自用户的信息(数数据或命令据或命令)或向用户发送信息所需要的接口电路。或向用户发送信息所需要的接口电路。这类接口是任何应用系统不可缺少的。这类接口是
4、任何应用系统不可缺少的。其主要任务是完成信息表示方法的转换和其主要任务是完成信息表示方法的转换和数据传输速率的转换。数据传输速率的转换。5.1.2 5.1.2 接口分类接口分类back52.2.内务操作接口内务操作接口(OOI)(OOI)这类接口是这类接口是使微处理器能发挥最基本的处理使微处理器能发挥最基本的处理和控制功能所必需的接口电路。和控制功能所必需的接口电路。主要包括三大总线的驱动器、接收器或收发主要包括三大总线的驱动器、接收器或收发器,以及时钟电路、内存储器的接口等。器,以及时钟电路、内存储器的接口等。5.1.2 5.1.2 接口分类接口分类back63.3.传感接口传感接口(SI)
5、(SI)这类接口是这类接口是微型计算机检测和控制系统中必微型计算机检测和控制系统中必用的接口,有时也称模拟输入接口。用的接口,有时也称模拟输入接口。其主要任务是监视、感受外界被检测或控制其主要任务是监视、感受外界被检测或控制对象的变化,将这种变化转换成电压或电流的形对象的变化,将这种变化转换成电压或电流的形式,再进一步转换成微机所能接受的数字量。式,再进一步转换成微机所能接受的数字量。5.1.2 5.1.2 接口分类接口分类back74.4.控制接口控制接口(CI)(CI)这类接口是这类接口是微机控制系统所必用的,有时微机控制系统所必用的,有时也叫模拟输出接口。也叫模拟输出接口。其主要任务是解
6、决信号的功率放大和数模其主要任务是解决信号的功率放大和数模转换两个问题。转换两个问题。5.1.2 5.1.2 接口分类接口分类back85.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构总之,就是完成三大总线的转换和连接任务。总之,就是完成三大总线的转换和连接任务。1.1.接口的基本功能接口的基本功能作为微型机与外设传递数据的作为微型机与外设传递数据的缓冲站缓冲站;正确正确寻址寻址与微机与微机交换数据交换数据的外设;的外设;提供微型机与外设间交换数据所需的提供微型机与外设间交换数据所需的控控 制逻辑和状态信号制逻辑和状态信号。9I/OI/O接口示意图:接口示意图:注意:通
7、常所谓的注意:通常所谓的I/OI/O操作,是操作,是指指I/OI/O端口操作端口操作,而不是指,而不是指I/OI/O 设备操作,即设备操作,即CPUCPU访问的是与外设相连的访问的是与外设相连的I/OI/O端口,而不端口,而不 是笼统的是笼统的I/OI/O设备。设备。MPUABDBCB接接 I/O端口端口1 I/O端口端口2口口 I/O端口端口3数数据据状状态态控控制制I/O设设备备5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构102.2.接口的基本结构接口的基本结构外外设设内部控内部控制制逻辑逻辑系统系统数数据总据总线线数据总线数据总线缓冲器缓冲器系统地系统地址总线
8、址总线MPU地址总线地址总线缓冲与译码缓冲与译码中断请求中断请求控制控制寄存器寄存器输出缓冲输出缓冲寄存器寄存器状态状态寄存器寄存器输入缓冲输入缓冲寄存器寄存器联络联络控制控制逻辑逻辑I/OI/O数据数据总线总线准备好准备好选通选通联络线联络线控制控制总线总线5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构下节下节111)1)数据缓冲寄存器数据缓冲寄存器注意:输入缓存器的输出接在数据总线上,因此它注意:输入缓存器的输出接在数据总线上,因此它 必须有三态输出功能。必须有三态输出功能。输入缓存器输入缓存器-将外设送来的数据暂时存放,以便处理器将外设送来的数据暂时存放,以便处
9、理器 将它取走。将它取走。输出缓存器输出缓存器-用来暂时存放处理器送往外设的数据。用来暂时存放处理器送往外设的数据。数据缓存器在数据缓存器在高速工作的高速工作的MPUMPU与慢速工作的与慢速工作的 外设外设之间起协调、缓冲作用,实现数据传送之间起协调、缓冲作用,实现数据传送 的同步。的同步。又分为两种:又分为两种:5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构back122)2)控制寄存器控制寄存器 用于存放处理器发来的控制命令和其它用于存放处理器发来的控制命令和其它信息,以确定接口电路的工作方式和功能。信息,以确定接口电路的工作方式和功能。控制寄存器是写寄存器,其内
10、容一般只控制寄存器是写寄存器,其内容一般只能由处理器写入,而不能读出。能由处理器写入,而不能读出。5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构back13 用于保存外设现行各种状态信息,其内容可用于保存外设现行各种状态信息,其内容可被处理器读出。被处理器读出。当当CPUCPU以程序查询方式同外设交换数据时,以程序查询方式同外设交换数据时,状态寄存器必不可少。状态寄存器必不可少。3)3)状态寄存器状态寄存器 数据缓冲寄存器、控制寄存器、状态寄存器数据缓冲寄存器、控制寄存器、状态寄存器是接口电路中的核心部分是接口电路中的核心部分。通常所说的接口,大。通常所说的接口,大都
11、指这些寄存器,它们即为前面所说的都指这些寄存器,它们即为前面所说的I/OI/O端口。端口。5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构back145)5)地址总线缓冲与译码地址总线缓冲与译码 用于地址总线缓冲和正确选择接口电路内用于地址总线缓冲和正确选择接口电路内部各端口寄存器的地址。部各端口寄存器的地址。4)4)数据总线缓冲器数据总线缓冲器 用于实现接口芯片内部数据总线和外部处用于实现接口芯片内部数据总线和外部处理器数据总线的连接。理器数据总线的连接。5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构back156)6)内部控制逻辑内部控制逻
12、辑 用于产生一些接口电路内部的控制信号,实现系用于产生一些接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的变换。统控制总线与内部控制信号之间的变换。7)7)对外联络控制逻辑对外联络控制逻辑 用于产生用于产生/接收接口同接收接口同MPUMPU和外设之间交换数据的和外设之间交换数据的 外部同步信号。外部同步信号。5.1.3 5.1.3 接口的基本功能与基本结构接口的基本功能与基本结构back165.2 I/O5.2 I/O端口的编址方式端口的编址方式q存储器映象方式存储器映象方式q隔离隔离I/OI/O方式方式q8048680486的的I/OI/O端口编址方式端口编址方式5.2.1 5.
13、2.1 存储器映象方式存储器映象方式 1.1.特点:特点:将将I/OI/O端口与存储器单元同等看待,一起编端口与存储器单元同等看待,一起编址。所以也叫址。所以也叫统一编址方式统一编址方式。实现方法:实现方法:在存储器地址空在存储器地址空 间中,预先指定一部分作间中,预先指定一部分作 为为I/OI/O地址空间,然后给每地址空间,然后给每 个个I/OI/O端口分配一个地址。端口分配一个地址。读读/写写 16 AB64K存存储储空空间间存储器存储器I/O端口端口控制控制控制控制逻辑逻辑MPU8 DBRDWR182)2)为识别一个端口,必须对全部地址线译码,增加为识别一个端口,必须对全部地址线译码,增
14、加 了地址译码电路的复杂性,并使外设寻址时间增长。了地址译码电路的复杂性,并使外设寻址时间增长。1)1)占用了部分存储空间,使可用内存空间减少。占用了部分存储空间,使可用内存空间减少。3.3.缺点:缺点:2)2)I/OI/O端口数目几乎不受限(只受存储器容量限制);端口数目几乎不受限(只受存储器容量限制);2.2.优点:优点:1 1)I/OI/O操作与存储器操作完全相同,无需使用专用操作与存储器操作完全相同,无需使用专用I/OI/O指令。指令。3)3)使微机系统的读写控制逻辑简单。使微机系统的读写控制逻辑简单。5.2.1 5.2.1 存储器映象方式存储器映象方式195.2.2 5.2.2 隔离
15、隔离I/OI/O方式方式1.1.特点:特点:将将I/OI/O端口和存储器分开编址,互相端口和存储器分开编址,互相“隔离隔离”。端口端口控制控制逻辑逻辑存储器存储器(64KB)MPUMEMRMEMWIORIOWR/W控制控制(256个个)I/O20 采用这种编址方式,采用这种编址方式,MPUMPU访问访问I/OI/O端口必端口必须采用专用须采用专用I/OI/O指令。故也叫专用指令。故也叫专用I/OI/O方式。方式。由于系统需要的由于系统需要的I/OI/O端口寄存器一般比端口寄存器一般比存储器单元要少得多,故选择存储器单元要少得多,故选择I/OI/O端口只需端口只需用用8 81010根地址线即可。
16、根地址线即可。在隔离编址方式中,在隔离编址方式中,MPUMPU对对I/OI/O端口和存端口和存储单元的不同寻址是通过不同的读写控制信储单元的不同寻址是通过不同的读写控制信号号IOR/IOWIOR/IOW和和MEMR/MEMWMEMR/MEMW来实现的。来实现的。5.2.2 5.2.2 隔离隔离I/OI/O方式方式213)3)要求要求MPUMPU必须提供存储器和必须提供存储器和I/OI/O两组读写控制信号,两组读写控制信号,增加了控制逻辑的复杂性。增加了控制逻辑的复杂性。2)2)专用专用I/OI/O指令只能在规定的内部寄存器和指令只能在规定的内部寄存器和I/OI/O端口间端口间 交换信息,处理能
17、力和灵活性不及存储器映象式强;交换信息,处理能力和灵活性不及存储器映象式强;1)1)专用专用I/OI/O指令类型少,远不如存储器访问指令丰指令类型少,远不如存储器访问指令丰 富,使程序设计的灵活性较差;富,使程序设计的灵活性较差;3 3.缺点:缺点:3)3)使用专用使用专用I/OI/O指令和存储器访问指令有明显区指令和存储器访问指令有明显区 别,可使编制的程序清晰易懂,便于检查。别,可使编制的程序清晰易懂,便于检查。2)2)I/OI/O地址译码较简单,地址译码较简单,I/OI/O寻址速度较快;寻址速度较快;1)1)存储器全部地址空间都不受存储器全部地址空间都不受I/OI/O寻址影响;寻址影响;
18、2.2.优点:优点:5.2.2 5.2.2 隔离隔离I/OI/O方式方式225.2.3 804865.2.3 80486的的I/OI/O端口编址方端口编址方式式8048680486对存储器映象对存储器映象I/OI/O编址方式和隔编址方式和隔离离I/OI/O编址方式都提供了支持。编址方式都提供了支持。实际中一般使用隔离编址的实际中一般使用隔离编址的I/OI/O空间,空间,而将存储器映象编址的而将存储器映象编址的I/OI/O空间作为补充。空间作为补充。I/OI/O地址空间地址空间 I/OI/O指令指令I/OI/O保护保护与隔离与隔离I/OI/O编址方式有关的几个问题:编址方式有关的几个问题:231
19、.I/O1.I/O地址空间地址空间 实际的实际的80X8680X86系统中只用系统中只用A9A9A0A0这十根地址线对这十根地址线对I/OI/O寻址,即只使用了寻址,即只使用了1K1K字节的字节的I/OI/O空间。空间。对这对这1K1K字节的字节的I/OI/O地址空间大都按地址空间大都按ATAT系统的技术系统的技术标准作了分配。标准作了分配。80386/80486 80386/80486的的I/OI/O地址空间,由地址空间,由2 21616(64K)(64K)个可独立个可独立寻址的寻址的8 8位端口组成。位端口组成。任意两个相邻的任意两个相邻的8 8位端口可构成一个位端口可构成一个1616位端
20、口;位端口;4 4个个相邻的相邻的8 8位端口可构成一个位端口可构成一个3232位端口。位端口。5.2.3 804865.2.3 80486的的I/OI/O端口编址方式端口编址方式(1616、3232位端口的对准、不对准问题)位端口的对准、不对准问题)24q 为了保证为了保证DMADMA控制器访问存储器时,不会同时选通控制器访问存储器时,不会同时选通I/OI/O空间空间 中相同地址的端口,一般在中相同地址的端口,一般在I/OI/O端口地址译码电路中还要加端口地址译码电路中还要加 一个限定信号一个限定信号“AENAEN”,使得,使得DMACDMAC访问时,访问时,AEN=1AEN=1,禁止,禁止
21、I/OI/O 端口译码。端口译码。关于关于8048680486I/OI/O编址方式的两点说明:编址方式的两点说明:5.2.3 804865.2.3 80486的的I/OI/O端口编址方式端口编址方式q 10 10根根I/OI/O地址线并非专设的,而是借用存储器寻址的低地址线并非专设的,而是借用存储器寻址的低1010 位地址线位地址线A9A9A0A0。为了与存储器的访问相区别,就要在。为了与存储器的访问相区别,就要在I/OI/O 端口地址译码电路上加限定信号端口地址译码电路上加限定信号IORIOR或或IOWIOW,这两个信号是,这两个信号是在执行在执行ININ指令或指令或OUTOUT指令时自动产
22、生的。指令时自动产生的。25qDXDX间接寻址端口的间接寻址端口的I/OI/O指令:指令:IN AL,DX IN AL,DX 和和 OUT DX,ALOUT DX,AL AXAX,DXDX D DX,AXX,AX EAXEAX,DXDX D DX,EAXX,EAX;portport为为8 8位立即数,位立即数,故最多可直接寻址故最多可直接寻址 256 256个个I/OI/O端口。端口。;DXDX为为1616位,故可间接位,故可间接 寻址寻址64K64K个个I/OI/O端口。端口。2.I/O2.I/O指令指令 1)1)单项数据单项数据I/OI/O指令指令(IN(IN,OUT)OUT)分为两种:分
23、为两种:q立即数直接寻址端口的立即数直接寻址端口的I/OI/O指令:指令:IN AL,port IN AL,port 和和 OUT port,ALOUT port,AL AX,port AX,port portport,AX,AX EAX,port EAX,port portport,EAX ,EAX 5.2.3 804865.2.3 80486的的I/OI/O端口编址方式端口编址方式262)2)串数据串数据I/OI/O指令指令(INS,OUTS)(INS,OUTS)这类这类I/OI/O指令有以下几个特点:指令有以下几个特点:通常与通常与REPREP前缀连用,这时隐含前缀连用,这时隐含CXCX
24、作为重复次数计数器作为重复次数计数器 隐含隐含DXDX作为端口间接寻址寄存器作为端口间接寻址寄存器 隐含隐含DS:ESIDS:ESI作为作为OUTSOUTS指令的源操作数指令的源操作数 隐含隐含ES:EDIES:EDI作为作为INSINS指令的目的操作数指令的目的操作数 隐含隐含DFDF对对ESIESI或或EDIEDI中的内存地址偏移值进行增中的内存地址偏移值进行增/减控制减控制5.2.3 804865.2.3 80486的的I/OI/O端口编址方式端口编址方式273.I/O3.I/O保护保护1)1)用用EFLAGSEFLAGS中的中的IOPLIOPL字段控制使用字段控制使用I/OI/O指令访
25、问指令访问I/OI/O地址空间地址空间的权限。的权限。(操作系统可以为每个任务指定一个操作系统可以为每个任务指定一个I/OI/O特权级,特权级,存放在各任务的标志寄存器副本的存放在各任务的标志寄存器副本的IOPLIOPL字段中,与字段中,与I/OI/O操作操作有关的指令只有在其当前特权级高于指定的有关的指令只有在其当前特权级高于指定的I/OI/O特权级时才特权级时才允许执行。)允许执行。)2)2)用任务状态段的用任务状态段的“I/O“I/O允许位映象允许位映象”控制对控制对I/OI/O地址空间中各具地址空间中各具体端口的访问权限。体端口的访问权限。(8048680486为每个任务在内存中建立一
26、个任为每个任务在内存中建立一个任务状态段务状态段(TSS)(TSS),其中在,其中在TSSTSS高地址端专门有一个高地址端专门有一个I/OI/O允许位允许位映象区。映象区中每一位都与映象区。映象区中每一位都与I/OI/O空间中的一个字节端口地址空间中的一个字节端口地址 相对应,位值为相对应,位值为1 1,表示对应的端口字节不允许访问;位值,表示对应的端口字节不允许访问;位值 为为0 0,则允许访问。),则允许访问。)8048680486为为I/OI/O操作提供了两种保护机制:操作提供了两种保护机制:5.2.3 804865.2.3 80486的的I/OI/O端口编址方式端口编址方式28 基于上
27、述两种基于上述两种I/OI/O保护机制,保护机制,I/OI/O访问保护过程:访问保护过程:(1 1)CPUCPU先检查是否满足先检查是否满足CPLIOPLCPLIOPL,如满足,如满足,则可访问;如不满足,再则可访问;如不满足,再 (2 2)对相应于要访问端口的所有映象位进行测)对相应于要访问端口的所有映象位进行测试。若都为试。若都为0 0,则允许访问;若有任一位为,则允许访问;若有任一位为1 1,则发,则发出一般保护异常信号,拒绝访问。出一般保护异常信号,拒绝访问。(例如双字操作,要测试相邻的(例如双字操作,要测试相邻的4 4位。)位。)5.2.3 804865.2.3 80486的的I/O
28、I/O端口编址方式端口编址方式 这是保护虚地址方式下的这是保护虚地址方式下的I/OI/O保护机理。保护机理。在虚拟在虚拟80868086方式下,处理器不考虑方式下,处理器不考虑IOPLIOPL,只检查,只检查I/OI/O允许位映象。允许位映象。295.3 I/O5.3 I/O同步控制方式同步控制方式 MPUMPU与与I/OI/O外外设间的设间的数据传数据传送示意送示意图图 为什么要进行为什么要进行I/OI/O同步控制?同步控制?目的是要实现目的是要实现MPUMPU与与I/OI/O设备之间操作的同设备之间操作的同步,以实现两者之间正确有效的数据传送。步,以实现两者之间正确有效的数据传送。30q程
29、序查询式程序查询式q中断驱动式中断驱动式q直接存储器存取式直接存储器存取式q专用专用I/OI/O处理器式处理器式 还有一种最简单的无条件传送方式还有一种最简单的无条件传送方式-延时等待延时等待式式。它是一种无需控制的。它是一种无需控制的I/OI/O操作方式,只有在外部操作方式,只有在外部控制过程的各种动作时间是固定、且已知的条件下才控制过程的各种动作时间是固定、且已知的条件下才能使用,故不把它作为一种能使用,故不把它作为一种I/OI/O控制方式来介绍。控制方式来介绍。I/OI/O同步控制方式通常有四种:同步控制方式通常有四种:5.3 I/O5.3 I/O同步控制方式同步控制方式311.1.程序
30、查询式控制程序查询式控制2 2)硬件接口结构硬件接口结构1 1)特点:)特点:I/OI/O操作总是由操作总是由MPUMPU通过程序查询外设通过程序查询外设 的状态来启动,即总是的状态来启动,即总是MPUMPU主动,主动,I/OI/O被动。被动。5.3 I/O5.3 I/O同步控制方式同步控制方式输入状态信息输入状态信息数据就绪?数据就绪?输入数据输入数据状态位复位状态位复位(b)(b)工作流程工作流程N输输入入设设备备锁存锁存器器选选通通D Q三态缓冲三态缓冲器器(8(8位位)三态缓冲三态缓冲器器(1(1位位)&地地址址译译码码数数据据+5V准备就绪准备就绪触发器触发器PdDiDBABMPUI
31、ORREADY(状态状态信息信息)PsPs(a)(a)硬件结构硬件结构&R 输入接口输入接口32 输出接口输出接口输入状态信息输入状态信息忙否?忙否?输出数据输出数据状态位复位状态位复位Y YN N(b)(b)工作流程工作流程输输出出设设备备数数据据数据数据锁存器锁存器地址地址译码译码三态缓冲三态缓冲器器(1(1位位)&PdPsDBIOWMPU(a)(a)硬件结构硬件结构忙触发器忙触发器Q DQ DR RACK状态信息状态信息+5VBUSDiABIORq除数据端口外,必须有状态端口除数据端口外,必须有状态端口q状态端口和输入数据端口必须有三态输出功能状态端口和输入数据端口必须有三态输出功能说明
32、:说明:5.3 I/O5.3 I/O同步控制方式同步控制方式33 在在MPUMPU使用效率与响应实时性间有矛盾使用效率与响应实时性间有矛盾;软件软件开销大。开销大。4)4)缺点:缺点:q它是一种天然的同步控制机构,由于总是它是一种天然的同步控制机构,由于总是MPUMPU主主动,所有动,所有I/OI/O传送都与程序的执行严格同步,故能传送都与程序的执行严格同步,故能很好地协调很好地协调MPUMPU与外设之间的工作,数据传送可靠。与外设之间的工作,数据传送可靠。3)3)优点:优点:q接口简单,硬件电路不多,查询程序也不复杂。接口简单,硬件电路不多,查询程序也不复杂。5.3 I/O5.3 I/O同步
33、控制方式同步控制方式342.2.中断驱动式控制中断驱动式控制1)1)特点:特点:每次每次I/OI/O操作都是由操作都是由I/OI/O设备向设备向MPUMPU发中发中 断请求而启动的,即断请求而启动的,即I/OI/O主动,主动,MPUMPU被动。被动。具有中断控制方式的输入接口电路示意图具有中断控制方式的输入接口电路示意图2)2)接口电路结构接口电路结构输入输入设备设备状态状态信号信号数据数据锁存器锁存器中断请中断请求求触发器触发器三态三态缓存器缓存器系统数据总线系统数据总线数据数据RDYD D+5VQ&1地址译码MPUIORDBABINTCP5.3 I/O5.3 I/O同步控制方式同步控制方式
34、353)3)优缺点:优缺点:qI/OI/O设备较多时,硬件复杂,需以一系列中断逻辑设备较多时,硬件复杂,需以一系列中断逻辑 电路作为支持;电路作为支持;q因为中断方式本身是一种异步控制机构,中断请求因为中断方式本身是一种异步控制机构,中断请求 信号的出现完全是随机的,故软件开发和调试比程信号的出现完全是随机的,故软件开发和调试比程 序查询式复杂、困难。序查询式复杂、困难。缺点:缺点:鉴于上述原因,如不是实时性要求很高、非使用中鉴于上述原因,如不是实时性要求很高、非使用中断驱动式控制不可的地方,还是尽量用程序查询式控制断驱动式控制不可的地方,还是尽量用程序查询式控制为好,或者把两种控制方式结合起
35、来。为好,或者把两种控制方式结合起来。优点:优点:q能较好地解决能较好地解决CPUCPU效率与效率与I/OI/O响应实时性间的矛盾。响应实时性间的矛盾。5.3 I/O5.3 I/O同步控制方式同步控制方式36qI/OI/O端口都必须通过端口都必须通过MPUMPU中的中的A A累加器才能和累加器才能和存储器交换信息。存储器交换信息。q每次每次I/OI/O操作无论是软件查询引发还是硬件操作无论是软件查询引发还是硬件中断引发,引发后的具体数据传输过程则中断引发,引发后的具体数据传输过程则都是由都是由MPUMPU软件(软件(I/OI/O指令)控制完成的。指令)控制完成的。前两种方式共性:前两种方式共性
36、:5.3 I/O5.3 I/O同步控制方式同步控制方式其结果,必然使数据传输速度受到很大限制。其结果,必然使数据传输速度受到很大限制。373.3.直接存储器存取式控制直接存储器存取式控制(DMA(DMA控制控制)进入进入DMADMA工作状态后,工作状态后,I/OI/O设备和存储器间的数据交设备和存储器间的数据交 换完全是在硬件控制下完成,无需换完全是在硬件控制下完成,无需MPUMPU介入。介入。1)1)特点:特点:I/O I/O 端口直接与存储器交换信息,无需经过端口直接与存储器交换信息,无需经过A A累加器。累加器。这与前两种方式有本质不同。这与前两种方式有本质不同。因此速度可大大提高。因此
37、速度可大大提高。5.3 I/O5.3 I/O同步控制方式同步控制方式382)2)硬件接口硬件接口-DMAC-DMAC DMA DMA方式使用一种称之为方式使用一种称之为DMADMA控制器控制器(DMAC)(DMAC)的的专用硬件接口芯片来完成专用硬件接口芯片来完成I/OI/O与存储器之间的高与存储器之间的高速数据传送控制的速数据传送控制的。DMAC DMAC具有通过三大总线独立访问存储器与具有通过三大总线独立访问存储器与I/OI/O端口的能力。于是端口的能力。于是DMACDMAC与与MPUMPU通常要共享系统通常要共享系统中的三总线。中的三总线。5.3 I/O5.3 I/O同步控制方式同步控制
38、方式39DMACDMAC通常有三种从通常有三种从MPUMPU接管总线的方式:接管总线的方式:q窃取窃取MPUMPU空闲时间空闲时间 利用利用MPUMPU在指令周期的某些时间段在指令周期的某些时间段 不使用总线的间隙插入不使用总线的间隙插入DMADMA操作操作q使使MPUMPU暂时放弃总线控制权暂时放弃总线控制权 微机系统中普遍采用的方法微机系统中普遍采用的方法q暂停暂停MPUMPU时钟脉冲时钟脉冲 强迫强迫MPUMPU立即停止工作立即停止工作40 第一种方式下第一种方式下DMADMA操作过程示意操作过程示意:地址总线地址总线数据线数据线(a)DMAa)DMA请求阶段请求阶段存储器存储器外部设备
39、外部设备MPUDMACHOLDDMAREQ(c)(c)传送结束阶段传送结束阶段存储器存储器外部设备外部设备MPUDMACINTINT计数到计数到(b)DMAb)DMA响应和传数阶段响应和传数阶段MPUDMACHLDA存储器存储器外部设备外部设备DMAACKIOR/IOWMEMW/MEMR5.3 I/O5.3 I/O同步控制方式同步控制方式41DMACDMAC的典型结构的典型结构:系统系统AB,DBIOR/IOWMEMR/MEMWBUSRQBUSAKINT级级联联线线总线总线控制控制逻辑逻辑内内 总总 线线优先权优先权 编码编码 与与 总线总线 判决器判决器通道通道1 1地址寄存器地址寄存器字节
40、寄存器字节寄存器控制寄存器控制寄存器状态寄存器状态寄存器通道通道2 2通道通道3 3数据链接数据链接寄存器寄存器DMARQ1DACK1DMARQ2DACK2DMARQ3DACK3总线总线接口接口5.3 I/O5.3 I/O同步控制方式同步控制方式下节下节42DMACDMAC各组成部分的基本功能:各组成部分的基本功能:1)1)地址寄存器地址寄存器包括源地址和目的地址的寄存器,用于数包括源地址和目的地址的寄存器,用于数 据块传送时寻址。据块传送时寻址。地址寄存器具有自动修改地址的能力。地址寄存器具有自动修改地址的能力。DMADMA操作之前:操作之前:在在CPUCPU控制下将源地址和目的地址控制下将
41、源地址和目的地址 分别装入分别装入 DMACDMAC的源地址和目的地的源地址和目的地 址寄存器。址寄存器。进入进入DMADMA操作后:操作后:由这些地址寄存器提供源地址和由这些地址寄存器提供源地址和 目的地址,并在传送数据的同时,目的地址,并在传送数据的同时,由硬件自动修改地址寄存器的值。由硬件自动修改地址寄存器的值。5.3 I/O5.3 I/O同步控制方式同步控制方式back432)2)字节计数器字节计数器 用于控制传送数据块的长度用于控制传送数据块的长度3)3)控制控制/状态寄存器状态寄存器 控制寄存器用于选择控制寄存器用于选择DMADMA的操作类型、工的操作类型、工 作方式、传送方式和有
42、关参数。作方式、传送方式和有关参数。状态寄存器用于寄存状态寄存器用于寄存DMADMA传送前后的状态。传送前后的状态。这种选择通过这种选择通过CPUCPU在在DMADMA操作之前向控制寄操作之前向控制寄 存器写入相应的控制字来实现。存器写入相应的控制字来实现。5.3 I/O5.3 I/O同步控制方式同步控制方式这些状态供这些状态供CPU在在DMADMA操作完成后读取。操作完成后读取。back444)4)总线接口和总线控制逻辑总线接口和总线控制逻辑 主要用途:主要用途:DMADMA传送之前:接受来自传送之前:接受来自CPUCPU的控制字和根据外部的控制字和根据外部/内内 部部DMADMA请求向请求
43、向CPUCPU转发总线请求转发总线请求DMADMA操作期间:进行定时和发出读写控制信号操作期间:进行定时和发出读写控制信号DMADMA操作结束后:向操作结束后:向CPUCPU发出中断申请和状态信息发出中断申请和状态信息5.3 I/O5.3 I/O同步控制方式同步控制方式back455)5)优先权编码与总线仲裁器优先权编码与总线仲裁器用于解决用于解决DMACDMAC内部多通道间的总线访问冲突。内部多通道间的总线访问冲突。(对单通道芯片,不需要)(对单通道芯片,不需要)同种芯片各个通道中的结构和寄存器数目不完全相同种芯片各个通道中的结构和寄存器数目不完全相同,但一般都有地址寄存器、字节计数器、控制
44、、状态同,但一般都有地址寄存器、字节计数器、控制、状态寄存器等几个基本功能逻辑单元。寄存器等几个基本功能逻辑单元。6)6)数据链接寄存器数据链接寄存器 用于提供数据块传送的用于提供数据块传送的“链接链接”手段,实现数手段,实现数据自动链接再启动,达到大块数据连续传送的目的。据自动链接再启动,达到大块数据连续传送的目的。它一般包括地址寄存器、字节计数器、控制寄存器它一般包括地址寄存器、字节计数器、控制寄存器等单元,外加一个通道寄存器等单元,外加一个通道寄存器(当存在多通道时当存在多通道时)。5.3 I/O5.3 I/O同步控制方式同步控制方式back46DMACDMAC同步控制方式的优缺点:同步
45、控制方式的优缺点:优点:优点:qI/OI/O响应时间短响应时间短q数据传送速率高数据传送速率高qCPUCPU额外开销小额外开销小q硬件复杂,成本较高硬件复杂,成本较高缺点:缺点:5.3 I/O5.3 I/O同步控制方式同步控制方式474.专用专用I/O处理器式控制处理器式控制 对于有大量对于有大量I/O设备的微机系统,前述三设备的微机系统,前述三种种I/O同步控制方式都难以满足需要,这时常同步控制方式都难以满足需要,这时常采用专用采用专用I/O处理器控制方式。处理器控制方式。1)特点:特点:专门设置一个专门设置一个I/O处理器来完成与处理器来完成与I/O设设备有关的操作,负责控制与备有关的操作
46、,负责控制与I/O设备之间的设备之间的数据交换和必要的数据交换和必要的I/O数据处理数据处理(或预处理或预处理)。5.3 I/O5.3 I/O同步控制方式同步控制方式482)2)常用结构常用结构查询式查询式MPU1中央处理器中央处理器MPU2专用专用I/O处理器处理器查询式查询式查询式查询式低速低速I/O高速高速I/O(b)专用专用I/OI/O处理器控制方式处理器控制方式系统总线系统总线CPUIOPI/O1I/O2I/On(a)主存储器主存储器5.3 I/O5.3 I/O同步控制方式同步控制方式495.4 5.4 有关总线的基本概念有关总线的基本概念q总线和总线操作总线和总线操作q总线分组及功
47、能总线分组及功能q总线周期与指令周期、总线周期与指令周期、时钟周期的关系时钟周期的关系q总线时序总线时序总线总线 在收、发模块在收、发模块/设备间传送信息的一组设备间传送信息的一组 公用信号线。公用信号线。总线的特点在于其公用性,即它同时挂总线的特点在于其公用性,即它同时挂接多个模块或设备。接多个模块或设备。总线操作总线操作 在主控器(如在主控器(如CPUCPU、DMACDMAC等)控制下通过等)控制下通过各级总线进行的信息传送(数据读写)操作。各级总线进行的信息传送(数据读写)操作。微机系统中的各种操作大都是总线操作。微机系统中的各种操作大都是总线操作。5.4 5.4 有关总线的基本概念有关
48、总线的基本概念5.4.1 5.4.1 总线和总线操作总线和总线操作51 同一时刻,一套总线上只能允许在一个同一时刻,一套总线上只能允许在一个主控模块或设备控制下进行信息传送。主控模块或设备控制下进行信息传送。当有多个主控模块当有多个主控模块/设备都要求使用总设备都要求使用总线传输信息时,一方面要分时占用,另一方线传输信息时,一方面要分时占用,另一方面则要进行总线仲裁。面则要进行总线仲裁。5.4.1 5.4.1 总线总线和总线操作和总线操作总线操作周期总线操作周期 完成一次总线操作所需的时间。完成一次总线操作所需的时间。总线操作是按总线周期一个节拍一个节拍总线操作是按总线周期一个节拍一个节拍进行
49、的。进行的。52 总线请求与获准总线请求与获准寻址寻址传数传数结束(撤出总线)结束(撤出总线)总线总线操作操作四阶四阶段段总线操作四阶段及控制总线操作四阶段及控制 为了确保这为了确保这4 4个阶段正确推进,必须施加个阶段正确推进,必须施加总线操作控制。总线操作控制。总线握手总线握手总线仲裁总线仲裁5.4.1 5.4.1 总线总线和总线操作和总线操作53用于把数据送入或送出用于把数据送入或送出MPU,为双向总线。,为双向总线。用于指定数据送往或来自何处,为用于指定数据送往或来自何处,为MPU发发出的单向总线。出的单向总线。读写控制线读写控制线数据传输握手线数据传输握手线总线判决线总线判决线中断控
50、制线中断控制线DMA控制线控制线因因MPU型号的不同而型号的不同而不同,正是不同,正是CB的不同的不同特性决定了各种特性决定了各种MPU不同的接口特点。不同的接口特点。控制总线控制总线CB:地址总线地址总线AB:数据总线数据总线DB:5.4.2 5.4.2 总线总线分组分组及功能及功能5.4.2 5.4.2 总线总线分组分组及功能及功能545.4.3 5.4.3 总线周期与指令周期、时钟周期的关系总线周期与指令周期、时钟周期的关系 三种周期关系:三种周期关系:时钟周期时钟周期 总线周期总线周期 指令周期指令周期时钟周期时钟周期计算机定时工作的最小时间单位,主计算机定时工作的最小时间单位,主 频