《微机原理 第八章 输入输出.ppt》由会员分享,可在线阅读,更多相关《微机原理 第八章 输入输出.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 输入和输出8.1.1 8.1.1 概述概述-接口技术的基本概念接口技术的基本概念8.1.2 I/O8.1.2 I/O端口编址方式端口编址方式8.1.8.1.3 I/O3 I/O端口地址分配端口地址分配8.1.8.1.4 I/O4 I/O端口地址译码端口地址译码8.2 I/O8.2 I/O程序传送方式程序传送方式18.1.1 8.1.1 概述概述-接口技术的基本概念接口技术的基本概念一、一、接口的概念和功能接口的概念和功能二、二、接口电路的典型结构接口电路的典型结构三、三、外部设备特点外部设备特点四、四、I/OI/O接口和接口和 I/OI/O端口端口2一、接口的概念和功能1 1、接口和接
2、口技术、接口和接口技术2 2、为什么要用接口电路?、为什么要用接口电路?3 1 1、接口和接口技术、接口和接口技术接口接口 指指CPUCPU和存储器、外设之间通过总线进行连接的电路部分,和存储器、外设之间通过总线进行连接的电路部分,是是CPUCPU与外界进行信息交换的中转站。与外界进行信息交换的中转站。接口技术接口技术 是研究是研究CPU如何与外部世界进行最佳耦合与匹配,如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。是软件、硬件结合的体现,是微机应用的关键。4数据总线数据总线 DB控制
3、总线控制总线 CB地址总线地址总线 AB存存储储器器I/O接接口口输输入入设设备备I/O接接口口输输出出设设备备CPU微型计算机的结构示意图微型计算机的结构示意图5外设是用来实现人机交互的一些机电设备。外设是用来实现人机交互的一些机电设备。外设处理信息的类型、速度、通信方式与外设处理信息的类型、速度、通信方式与CPU不匹配不匹配,不能直接挂在总线上,必须通过接口和系统相连不能直接挂在总线上,必须通过接口和系统相连2、为什么要用接口电路?6二、接口电路的典型结构从编程角度看,接口内部主要包括从编程角度看,接口内部主要包括一个或多个一个或多个 CPU可以进行读可以进行读/写操作的写操作的寄存器寄存
4、器,又称为,又称为I/O端口端口。各各I/O端口由端口由端口地址区分端口地址区分。I/O端口端口1I/O端口端口2I/O端口端口3地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPU7按存放信息的不同,按存放信息的不同,I/O端口可分为三种类型端口可分为三种类型 数据端口数据端口:用于用于存放存放CPU与外设间传送的与外设间传送的数据信息数据信息 状态端口:状态端口:用于用于暂存外设的状态信息暂存外设的状态信息 控制端口控制端口:用于用于存放存放CPU对外设或接口的控制信息对外设或接口的控制信息,控制外设或接口的工作方式控制外设或接口的工作方式。1001 0101 (状态
5、状态端口端口)0110 1010(数据端口数据端口)1100 0110(控制端口控制端口)地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPU8CPU对外设输入对外设输入/输出的控制输出的控制,是通过是通过对接口电路中各对接口电路中各I/O端口的读端口的读/写操作完成。写操作完成。I/O端口端口1I/O端口端口2I/O端口端口3地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPU9三、外部设备特点由以上特点,对由以上特点,对I/O I/O 部分设计必须考虑两个问题:部分设计必须考虑两个问题:A A 外设如何与外设如何与CPUCPU连接连接-必须通过必
6、须通过I/OI/O接口接口.B CPUB CPU如何寻址相应的如何寻址相应的I/O I/O 设备设备-通过寻通过寻址与设备对应的址与设备对应的I/OI/O端口端口.(1 1)品种繁多。)品种繁多。(2 2)工作速度一般比)工作速度一般比CPUCPU慢,且速度的分布也相当宽。慢,且速度的分布也相当宽。(3 3)信号类型与电平种类多样化。)信号类型与电平种类多样化。(4 4)信息结构形式复杂。)信息结构形式复杂。10四、四、I/OI/O接口和接口和 I/OI/O端口端口 1.I/O接口接口 (1 1)I/OI/O接口是一电子电路接口是一电子电路(以以ICIC芯片或接口板形式出现芯片或接口板形式出现
7、 ),),其内有若干专用寄存器和相应的控制逻辑电路构成其内有若干专用寄存器和相应的控制逻辑电路构成.它是它是CPUCPU和和I/OI/O设备之间交换信息的媒介和桥梁设备之间交换信息的媒介和桥梁.(2 2)I/OI/O接口的基本功能为接口的基本功能为:进行端口地址译码进行端口地址译码设备选择设备选择 向向CPUCPU提供提供I/OI/O设备的状态信息和进行命令译码设备的状态信息和进行命令译码 进行定时和相应进行定时和相应时序控制。时序控制。对传送数据提供缓冲,以消除计算机与外设在对传送数据提供缓冲,以消除计算机与外设在“定时定时”或数据处理速度上的差异。或数据处理速度上的差异。提供计算机与外设间
8、有关信息格式的相容性变换。提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配提供有关电气的适配 还可以中断方式实现还可以中断方式实现CPUCPU与外设之间信息的交换与外设之间信息的交换11(3)CPU与与I/O之间的接口信号之间的接口信号数字:数字:如二进制表示的字母如二进制表示的字母.BCD码码.ASC2码或字符。码或字符。开关量:开关量:一些两个状态的量。一些两个状态的量。状态信号:状态信号:表示表示I/O装置状态的量。装置状态的量。控制信号:控制信号:如如CPU发出的发出的R/W信号和从外设发来信号和从外设发来的中断信号等。的中断信号等。CPUI/O设置设置数据状态控制12
9、对对CPU来说,外设状态信息须作为数据来说,外设状态信息须作为数据输入,而其控制命令作为数据输出,为使输入,而其控制命令作为数据输出,为使它们与数据相互区别它们与数据相互区别-这三者必须从各这三者必须从各自端口出入。自端口出入。132.I/O端口端口 是是 I/O接口中可通过编程实现寻址并进行读写的寄存器。接口中可通过编程实现寻址并进行读写的寄存器。CPU 与外设之间交换信息具体是通过与外设之间交换信息具体是通过I/O端口来进行的。端口来进行的。即即 端口端口 寄存器寄存器注意注意:1.一个外设与一个外设与CPU交换信息往往需要几个端口:交换信息往往需要几个端口:数据端口数据端口 控制端口控制
10、端口 状态端口状态端口有时可以合用14 2.在微机系统中,每个端口在微机系统中,每个端口 分配有唯一的地址码,称分配有唯一的地址码,称之为端口地址。之为端口地址。3.CPU对外设的访问实际上是通过对对外设的访问实际上是通过对I/O端口的访问来端口的访问来实现的实现的-因为端口与设备是一一对应的关系因为端口与设备是一一对应的关系 4.I/O通道也就是可以传送和暂存数据的实际通路通道也就是可以传送和暂存数据的实际通路,所以所以 I/O端口有时也称作端口有时也称作I/O通道。通道。15ABDBCBCPUI/O接口接口I/O设备设备 端口数据控制状态CPU与外设通过与外设通过I/O接口通信示意图接口通
11、信示意图:16 8.1.2 I/O端口编址方式 一、一、存储器映象存储器映象I/OI/O寻址寻址方式方式 二、二、独立独立I/O I/O 的寻址方式的寻址方式 三、三、80X8680X86的的I/OI/O指令指令寻址方式寻址方式17 一、一、存储器映象存储器映象I/O寻址寻址 1.基本结构基本结构 从存储器空间划出一部分地址空间给从存储器空间划出一部分地址空间给I/O设备,把设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专接口中的端口当作存储器单元一样进行访问,不设置专门的门的I/O指令。指令。182.特点特点(1)主存单元与主存单元与I/O端口一起编址。端口一起编址。(2)据地
12、址区分访问是据地址区分访问是I/O端口还是主存。端口还是主存。(3)系统中可以不设系统中可以不设I/O指令。指令。3.优缺点优缺点(1)指令兼容性,存储器指令也可用于)指令兼容性,存储器指令也可用于I/O数据。数据。(2)I/O接口有较大的编址空间。接口有较大的编址空间。(3)I/O部分的控制逻辑比较简单。部分的控制逻辑比较简单。但是,其指令功能不强,且处理机芯片有额外的对但是,其指令功能不强,且处理机芯片有额外的对I/O进行操作的控制引脚。进行操作的控制引脚。19 二、独立I/O 的寻址方式1.特点特点(1)主存单元与主存单元与I/O端口分开寻址端口分开寻址(2)设置设置I/O指令指令(3)
13、指明是访问指明是访问I/O端口,还是主存单元?端口,还是主存单元?2.基本结构基本结构:略略3.优缺点:优缺点:(1)独立的控制结构,使其可与存储器分开进行设计。独立的控制结构,使其可与存储器分开进行设计。20 但是,其指令功能不强,且处理机芯片有额外的对但是,其指令功能不强,且处理机芯片有额外的对I/O进行操作的控制引脚。进行操作的控制引脚。(2)单独的单独的I/O指令,可与访问存储器的指令区分。指令,可与访问存储器的指令区分。(3)指令地址较短,所需译码硬件较少。指令地址较短,所需译码硬件较少。(4)指令格式较短,执行时间也短。指令格式较短,执行时间也短。21三、三、80X8680X86的
14、的I/OI/O指令指令 1.输入指令输入指令 IN IN AL,n IN AX,n IN AL,DX IN AX,DX 2.输出指令输出指令 OUT OUT N,AL/AX;OUT DX,AL/AX;说明说明:两种指令均可传送一个字节或字,且只能通过两种指令均可传送一个字节或字,且只能通过AL或者或者AX传送。传送。如:如:IN指令中的目的操作数指令中的目的操作数必须必须是是AL(字节传送)或字节传送)或AX(字传送)字传送)22四、独立编址方式的端口访问四、独立编址方式的端口访问n1.I/O1.I/O指令中端口地址的宽度指令中端口地址的宽度 IBM-PCIBM-PC系列采用系列采用I/O(i
15、nput/output)I/O(input/output)指令访问端口,指令访问端口,实现数据的实现数据的I/OI/O传送。传送。在在I/OI/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作业端口地址,则最多可访问地址作业端口地址,则最多可访问256256个端口。其指令格式为:个端口。其指令格式为:IN AL,PORT IN AL,PORT ;输入输入OUT PORT,AL OUT PORT,AL ;输出输出这里,这里,PORTPORT是一个是一个8 8位的字节地址。位的字节地址。n例如:例如:nIN AL,60H IN A
16、L,60H ;60H60H为系统板为系统板8255A8255A的的PAPA端口地址端口地址nOUT 61H,AL OUT 61H,AL ;61H61H为系统板为系统板8255A8255A的的PBPB端口地址端口地址23双字节地址作为端口地址,则最多可寻址双字节地址作为端口地址,则最多可寻址2 21616=64K=64K个端口。个端口。MOV DX,MOV DX,H H IN AL,DX IN AL,DX ;8 8位传送位传送MOV DX,MOV DX,H H OUT DX,AL OUT DX,AL ;8 8位传送位传送这里,这里,H H 为为1616位的两字节地址。位的两字节地址。n 例如:例
17、如:nMOV DX,300H ;300HMOV DX,300H ;300H为扩展板为扩展板8255A8255A的的PAPA端口端口nIN AL,DX IN AL,DX nMOV DX,301H ;301HMOV DX,301H ;301H为扩展板为扩展板8255A8255A的的PBPB端端口口nOUT DX,ALOUT DX,AL242.I/O端口访问n所谓对端口的访问就是CPU对端口的读/写。将端口的数据传送存储器例如:输入时 MOV DX,300H ;I/O端口 IN AL,DX ;从端口读数据到AL MOV DI,AL ;将数据从AL存储器 输出时 MOV DX,301H ;I/O端口
18、MOV AL,SI ;从内存取数到AL OUT DX,AL ;数据从AL端口258.1.3 8.1.3 I/O端口地址分配一、一、I/OI/O接口硬件分类接口硬件分类二、二、I/OI/O端口地址分配端口地址分配n三、三、I/OI/O端口地址选用的原则端口地址选用的原则26 一、一、I/OI/O接口硬件分类接口硬件分类nI/O接口的硬件分成两类:接口的硬件分成两类:n1.系统板上的系统板上的I/O芯片芯片如定时如定时/计数器、中断控制器、计数器、中断控制器、DMA控制器、并行接口等。控制器、并行接口等。2.I/O扩展槽上的接口控制卡扩展槽上的接口控制卡如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行
19、通信卡等。如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。27 二、二、I/OI/O端口地址分配端口地址分配 PCPC微机是根据上述微机是根据上述I/OI/O接口的硬件分类,把接口的硬件分类,把I/OI/O空间空间分成两部分。分成两部分。PCPC微机微机I/OI/O地址线可有地址线可有1616根,对应的根,对应的I/OI/O端口编址可端口编址可达达64K64K字节,其端口地址译码是采用部分译码法,即只使字节,其端口地址译码是采用部分译码法,即只使用了低用了低1010位地址线一个位地址线一个A A0 0AA9 9,故其故其I/0I/0端口地址范围是端口地址范围是0000H003FFH,00
20、00H003FFH,总共只有总共只有10241024个端口。个端口。28表表1 1 系统板上接口芯片的端口地址系统板上接口芯片的端口地址nI/OI/O芯片名称芯片名称 端口地址端口地址nDMADMA控制器控制器1 00001FH1 00001FHnDMADMA控制器控制器2 0C00DFH 2 0C00DFH nDMADMA页面寄存器页面寄存器 08009FH08009FHn中断控制器中断控制器1 02003FH1 02003FHn中断控制器中断控制器2 0A00BFH 2 0A00BFH 定时器定时器 04005FH04005FHn并行接口芯片(键盘接口)并行接口芯片(键盘接口)06006F
21、H06006FHnRT/CMOS RAM 07007FHRT/CMOS RAM 07007FHn 协处理器协处理器 0F00FFH0F00FFH29表表2 2 扩展槽上接口控制卡的端口地址扩展槽上接口控制卡的端口地址nI/0I/0接口名称接口名称 端口地址端口地址n游戏控制卡游戏控制卡 20020020FH20FHn并行口控制卡并行口控制卡1 3701 37037FH37FHn并行口控制卡并行口控制卡2 2702 27027FH27FHn串行口控制卡串行口控制卡1 3F81 3F83FFH3FFHn串行口控制卡串行口控制卡2 2F02 2F02FFH2FFHn原型插件板(用户可用)原型插件板(
22、用户可用)30030031FH31FHn同步通信卡同步通信卡1 3A01 3A03AFH3AFHn同步通信卡同步通信卡2 3802 38038FH38FHn单显单显MDA 3B0MDA 3B03BFH3BFHn彩显彩显CGA 3D0CGA 3D03DFH3DFHn彩显彩显EGG/VGA 3C0EGG/VGA 3C03CFH3CFHn硬驱控制卡硬驱控制卡 1F01F01FFH1FFHn软驱控制卡软驱控制卡 3F03F03F7H3F7HnPCPC网卡网卡 36036036FH36FH30三、三、I/OI/O端口地址选用的原则端口地址选用的原则n凡是被系统配置占用了的地址一律不能使用;凡是被系统配置
23、占用了的地址一律不能使用;n未被占用的地址,用户可以使用,但申明保留的地址,未被占用的地址,用户可以使用,但申明保留的地址,不要使用。不要使用。n用户可使用用户可使用300H31FH地址。地址。31 8.1.4 8.1.4 I/O端口地址译码一、一、I/OI/O地址译码电路工作原理及作用地址译码电路工作原理及作用二、二、I/OI/O地址译码方法地址译码方法三、三、I/OI/O端口地址译码电路设计端口地址译码电路设计32一、一、I/OI/O地址译码电路工作原理及作用地址译码电路工作原理及作用n 译码电路的输入信号译码电路的输入信号 I/OI/O地址译码电路不仅仅与地址信号有关,而且与控制地址译码
24、电路不仅仅与地址信号有关,而且与控制信号有关。信号有关。二、二、I/OI/O地址译码方法地址译码方法 高位地址线与高位地址线与CPUCPU的控制信号进行组合,经译码电路的控制信号进行组合,经译码电路产生产生I/OI/O接口芯片接口芯片CSCS的片选。的片选。低位地址线不参加译码,直接连到低位地址线不参加译码,直接连到I/OI/O接口芯片,进行接口芯片,进行I/OI/O接口芯片的片内端口寻址,即寄存器寻址。接口芯片的片内端口寻址,即寄存器寻址。33三、三、I/O端口地址译码电路设计端口地址译码电路设计1.固定式端口地址译码固定式端口地址译码 固定式是指接口中用到的端口地址不能更改。固定式是指接口
25、中用到的端口地址不能更改。n例例1:使用:使用74LS20/30/32和和74LS04设计设计I/O端口地址为端口地址为2F8H的只读译码电路。的只读译码电路。n分析:若要产生分析:若要产生2F8H端口地址,则译码电路的输入地址线就端口地址,则译码电路的输入地址线就应具有如下所示的应具有如下所示的 值。值。n 译码电路输入地址线的值译码电路输入地址线的值n地址线地址线 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 n二进制二进制 0 0 1 0 1 1 1 1 1 0 0 0 n十六进制十六进制 2 F 8 34译码电路输入:译码电路输入:地址线地址线:10根根,地址值:
26、地址值:2F8H A9A0=1011111000B 控制线:控制线:AEN=0 IOR=0 译码电路输出:译码电路输出:Y=0 为译码选中。为译码选中。35A9A8A7A3A2A1A0AENIOR&Y36当执行指令:当执行指令:MOV DXMOV DX,2F8H2F8H I N AL I N AL,DX DX 时,时,Y=0 Y=0 ,对应端口被选中对应端口被选中372.2.可选式端口地址译码可选式端口地址译码-即即 采用比较器设计可选址的采用比较器设计可选址的译码电路译码电路 地址线:地址线:A1A0不参加译码。不参加译码。A4A3A2输入组合使输入组合使74LS138译码器输出八个片选信号
27、。译码器输出八个片选信号。A5=0,A9A8A7A6采用比较器和跳线开关变址。采用比较器和跳线开关变址。比较器为比较器为74LS85,A0A1A2A3和和B0B1B2B3为待比较的数据。为待比较的数据。输入输入“A=B”为高选择相等比较。为高选择相等比较。输出输出“A=B”为为1输入两组数据相等,否则输入两组数据相等,否则 输入两组数据不相等。输入两组数据不相等。38A0A1A2A3B0B1B2B3A=B A=BA B C /G2A/G2BG1A5A6A7A8SWLS138/Y0/Y1/Y2/Y3/Y4/Y5/Y6/Y7A2A3A4A5AENVCC39一、一、无条件传送方式无条件传送方式二、二
28、、有条件传送方式有条件传送方式三、三、中断传送方式中断传送方式四、四、DMADMA传送方式传送方式 8.2 I/O程序传送方式程序传送方式40一、一、无条件传送方式无条件传送方式 当外部设备的各种动作时间是固定的当外部设备的各种动作时间是固定的,且已知就可采用这且已知就可采用这种方式种方式,把软件延时时间设计大于这个固定动作时间把软件延时时间设计大于这个固定动作时间,不用不用状态判断。状态判断。这种方式一般只需一个数据端口这种方式一般只需一个数据端口 41 无条件传送的输入方式无条件传送的输入方式三三 态态缓冲器缓冲器数据总线数据总线DB地址总线地址总线数据数据来自来自外设外设RDIO/M地址
29、译码器地址译码器&无条件传送的输入方式无条件传送的输入方式842 无条件传送的输出方式无条件传送的输出方式锁存器锁存器数据总线数据总线DB地址总线地址总线到外设到外设WRIO/M地址译码器地址译码器&CE74LS237无条件传送的输出方式无条件传送的输出方式843 由于外设速度比较慢由于外设速度比较慢,要求输出数据在接口电要求输出数据在接口电路输出端维持一段时间路输出端维持一段时间,故必须加锁存器故必须加锁存器锁存器锁存器数据总线数据总线DB地址总线地址总线到外设到外设WRIO/M地址译码器地址译码器&CE74LS237844二、有条件传送方式二、有条件传送方式(又叫查询传送方式又叫查询传送方
30、式)无条件传送必须确认外设已经准备好才能用无条件传送必须确认外设已经准备好才能用,有条有条件传送采用查询外设状态件传送采用查询外设状态,这样接口部分除数据端口外这样接口部分除数据端口外,还须有状态信号端口。还须有状态信号端口。查询式输入查询式输入 其接口电路如下:其接口电路如下:45 查询式输入接口电路查询式输入接口电路ooooooooo+5VIO/MRDA7 A0Ready(D4)RDIO/MCSCS 输输 入入 装装 置置数据数据选通选通信号信号DQ锁锁存存器器缓缓冲冲器器缓缓冲冲器器地址译码地址译码地址地址译码译码状态口状态口数据口数据口数据数据去去DB状态信息状态信息&R数据端口数据端
31、口状态端口状态端口46 当输入装置数据准备好当输入装置数据准备好发出一个选通信号发出一个选通信号,一面把数据锁一面把数据锁存起来存起来,一面送一面送D D触发器的触发器的CLKCLK端端,将将D=1D=1打入打入Q Q端端,使使Q=1Q=1;CPUCPU读入状态信息读入状态信息READYREADY;当当READY=1,READY=1,输入数据;输入数据;读入数据同时读入数据同时,将状态信号清零。将状态信号清零。程序段如下:程序段如下:G0:G0:ININAL,STATUS-PORTAL,STATUS-PORT;读入状态信息读入状态信息TESTTEST AL,10HAL,10H;READY=1R
32、EADY=1?JZJZG0G0;未准备好未准备好,再查再查ININAL,DATA-PORTAL,DATA-PORT;准备好准备好,读入读入47 查询式输出查询式输出如图示如图示查询式输出接口电路查询式输出接口电路地址译码地址译码oooooooo输输入入装装置置数据数据锁锁存存器器缓缓冲冲器器缓缓冲冲器器中断矢量中断矢量去去DBINTA(中断响应信号中断响应信号)INTR去数据总线去数据总线DB地址总线地址总线选选通通IOR+5VDQ&RCS地址译码地址译码53 以输入为例以输入为例:输入装置输入一数据输入装置输入一数据,发出选通信号发出选通信号,一方面一方面把数据存入锁存器把数据存入锁存器,一
33、方面又使一方面又使DD触发器置触发器置1,1,在中断允许下在中断允许下,发出发出INTR,CPUINTR,CPU在现行指令执行完后在现行指令执行完后,发出发出INTA,INTA,把外设把外设送来的中断向量放到送来的中断向量放到DBDB上上,于是于是CPUCPU转入中断服务程序转入中断服务程序,读读入数据入数据,同时清除中断请求同时清除中断请求INTR,INTR,中断处理完中断处理完,CPU,CPU返回被返回被中断处理的程序继续执行。中断处理的程序继续执行。54四、四、DMADMA传送方式传送方式(直接数据通道传送直接数据通道传送)上述中断传送方式可大大提高上述中断传送方式可大大提高CPUCPU
34、效率效率,但仍是由但仍是由CPUCPU来传送来传送,要用不少指令要用不少指令,有些情况下仍嫌太慢有些情况下仍嫌太慢,例磁盘与内存间交换数据例磁盘与内存间交换数据,高速采集高速采集,高速数据块传送高速数据块传送(内存内存内存内存)等等,通常采用通常采用DMADMA传传送。送。下面简单介绍一下概念。进行下面简单介绍一下概念。进行DMADMA传送要用到传送要用到DMADMA控制器控制器(DMAC(DMAC)为实现为实现DMADMA方式而设计的专门接口。方式而设计的专门接口。55 DMACDMAC包括四个寄存器包括四个寄存器:状态控制寄存器状态控制寄存器,数据寄存器数据寄存器,地址地址寄存器和字节计数
35、器寄存器和字节计数器.这些寄存器在传送之前进行初始化。这些寄存器在传送之前进行初始化。DMACDMAC的传送步骤:的传送步骤:DMACDMAC向向CPUCPU发出总线请求发出总线请求HOLDHOLD信号信号CPUCPU收收到到HOLDHOLD后后,在在当当前前总总线线周周期期的的T T4 4 状状态态输输出出一一个个总总线线响响应应信信号号HLDA,HLDA,让让出出总总线线控控制制权权,DMAC,DMAC接接管管总总线线控控制制权权进入进入DMADMA方式方式56发出地址信息发出地址信息,能对存储器寻址能对存储器寻址发出读或写等控制信号发出读或写等控制信号,通过通过DBDB传送数据传送数据修
36、改地址指针、字节计数器修改地址指针、字节计数器,判断判断DMADMA传送是否结束传送是否结束若传送完若传送完,发出发出DMADMA结束信号结束信号,CPU,CPU恢复对总线的控制恢复对总线的控制 DMADMA可实现:可实现:存储器存储器外设外设 存储器存储器存储器存储器57 三态缓冲器和锁存器三态缓冲器和锁存器(一)三态缓冲器是微处理器并行总线接口中必须要使(一)三态缓冲器是微处理器并行总线接口中必须要使用的一种接口部件。用的一种接口部件。如图:oEN输入其中EN开门:输入为1时输出为1输入为0时输出为0其中EN关门:输入为1/0,输出为高阻 几个问题的讨论几个问题的讨论58(二)锁存器:功能
37、是把来自设备的输入信息锁存起来,并(二)锁存器:功能是把来自设备的输入信息锁存起来,并一直稳定地保持它,直到微处理器取走信息。一直稳定地保持它,直到微处理器取走信息。如图:18DDENCP.o59 CPUCPU对多个外设的选择对多个外设的选择当当CPU与多个外设通信时与多个外设通信时,CPU就需要对各外设对应的就需要对各外设对应的接口芯片进行逻辑选择。接口芯片进行逻辑选择。其中:其中:CPU利用译码器对高位地址译码产生相应的片选信号,利用译码器对高位地址译码产生相应的片选信号,因此选择外设所对应的接口芯片的方法,与因此选择外设所对应的接口芯片的方法,与CPU与与MEMORY相连时产生片选信号的
38、思想一样,也使用部分相连时产生片选信号的思想一样,也使用部分译码器,如:可使用译码器,如:可使用3-8译码器。译码器。60输入输入/输出的定时与协调输出的定时与协调 在输入在输入/输出的过程中,输出的过程中,CPU与外设之间如果没有时间与外设之间如果没有时间上的相互配合与协调,数据的传送过程无法正常进行。上的相互配合与协调,数据的传送过程无法正常进行。(一)采用查询的方法一)采用查询的方法 通常,这种方法安排有一对通常,这种方法安排有一对“握手握手”线,作为通信时线,作为通信时CPU与设备之间进行应答信号用。与设备之间进行应答信号用。其其输入输入“应答应答”过程一般分为以下几步过程一般分为以下
39、几步:61(1)外设通过数据线送到)外设通过数据线送到I/O接口,同时通过握手线接口,同时通过握手线1送送“数据数据准备好准备好”信号。信号。(2)CPU检查是否有检查是否有“数据准备好数据准备好”信号。信号。(3)若有)若有“数据准备好数据准备好”信号,则信号,则CPU 读数据。读数据。(4)CPU 将将“输入响应输入响应”信号通过握手线信号通过握手线2送往外设。该信送往外设。该信号表示上一个数据已取走,外设可再送下一个数据。号表示上一个数据已取走,外设可再送下一个数据。62(二)采用中断的方法(二)采用中断的方法(1)外设向)外设向CPU发出中断请求信号。发出中断请求信号。(2)CPU检查是否允许中断。检查是否允许中断。(3)若允许中断,则)若允许中断,则CPU发出中断响应信号。发出中断响应信号。(4)CPU读入中断类型码,执行中断服务子程序,传输数据。读入中断类型码,执行中断服务子程序,传输数据。(三)采用(三)采用DMA方法方法(1)外设向)外设向DMA控制器发出控制器发出DMA请求信号。请求信号。(2)DMA控制器向控制器向CPU发出总线请求信号。发出总线请求信号。(3)若)若CPU交出总线控制权,则由交出总线控制权,则由DMA控制器完成数据传送。控制器完成数据传送。63缓冲区的问题输入缓冲区输出缓冲区输入输出缓冲区多缓冲区end64本章结束,谢谢合作!65
限制150内