《IO端口地址译码技术.ppt》由会员分享,可在线阅读,更多相关《IO端口地址译码技术.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 3 章I/O端口地址译码技术本章内容提要:I/O接口与CPU如何交换数据?I/O端口及其编址方式 I/O端口地址分配 I/O端口地址译码 I/O端口地址译码电路设计3.1 I/O3.1 I/O数据的传输控制方式数据的传输控制方式 无条件传送方式(同步传送)条件传送方式(查询方式);中断传送方式 直接存储器存取(DMA)传送方式 条件是己知的情况;外部设备是准备好的;不用查询外设的状态信息;直接使用IN或OUT指令完成数据传送一、无条件传送方式(同步传送)缓冲器CE地址译码器IO/MRD数据总线数据来自外设8位地址总线(a)(a)无条件输入无条件输入8位缓冲器CE地址译码器IO/MWR数据总
2、线数据到外设地址总线(b)无条件输出先查询外设的状态信息是否准备好先查询外设的状态信息是否准备好;准备好准备好,就传送数据就传送数据;否则否则,继续查询继续查询.二、条件传送方式(查询方式)准备好为“1”三、中断传送方式由外设向由外设向由外设向由外设向CPUCPUCPUCPU发出中断请求;发出中断请求;发出中断请求;发出中断请求;CPUCPUCPUCPU暂停原程序执行,转入中断服务;暂停原程序执行,转入中断服务;暂停原程序执行,转入中断服务;暂停原程序执行,转入中断服务;完成后返回原程序继续执行。完成后返回原程序继续执行。完成后返回原程序继续执行。完成后返回原程序继续执行。主程序执行子程序转向
3、返回继续执行优点:CPU不用等待外设,提高CPU的利用率。四、DMA传送方式 由外设与计算机内存直接进由外设与计算机内存直接进行数据交换,而不是通过行数据交换,而不是通过CPUCPU,即,即DMADMA传送;传送;在在DMADMA传送期间,传送期间,DMADMA控制器控制器接管了总线控制权,而接管了总线控制权,而CPUCPU处在停机方式,即处于等待处在停机方式,即处于等待状态;状态;在在DMADMA传送完成后,传送完成后,CPUCPU再恢再恢复对总线的控制权,进入工复对总线的控制权,进入工作状态。作状态。RAMCPU外设DMA控制器I/ODMACRAMCPUDREQHRQHLDADACKDMA
4、R/W一、一、I/OI/O端口端口1.1.端口是接口电路中能被端口是接口电路中能被CPUCPU直接存取访问的寄存器的地直接存取访问的寄存器的地址。址。2.CPU2.CPU通过端口地址向接口电路中的寄存器发送命令,通过端口地址向接口电路中的寄存器发送命令,读取状态和传送数据。读取状态和传送数据。3.3.一个接口可以有几个端口。一个接口可以有几个端口。如命令口、状态口和数据口,分别对应于命令寄存器、如命令口、状态口和数据口,分别对应于命令寄存器、状态寄存器和数据寄存器,一一对应,不能错位。特状态寄存器和数据寄存器,一一对应,不能错位。特殊情况如串行接口芯片殊情况如串行接口芯片8251A8251A的
5、命令口和状态口共用一的命令口和状态口共用一个端口。个端口。3.2 I/O端口及其编址方式状态寄存器数据寄存器命令寄存器CPU发送传送读取30h31h32hCPU与I/O端口举例:1.1.统一编址统一编址 从存储器空间划出一部分地址空间给从存储器空间划出一部分地址空间给I/OI/O设设备,把备,把I/OI/O接口中的端口当作存储器单元一样进接口中的端口当作存储器单元一样进行访问。行访问。优点优点:不设置专门的不设置专门的I/OI/O指令指令,指令类型多,功能齐全。指令类型多,功能齐全。缺点缺点:1 1、占用了存储器的地址空间,使存储器容量减小。、占用了存储器的地址空间,使存储器容量减小。2 2、
6、另外指令长度比专门、另外指令长度比专门I/OI/O指令要长,因而执行指令要长,因而执行速度较慢。速度较慢。二、端口地址编址方式2.独立编址 这种方式是接口中的端口地址单独编址,而不与存这种方式是接口中的端口地址单独编址,而不与存储空间合一起。储空间合一起。如:如:IBM-PCIBM-PC系列、系列、Z-80Z-80系列机系列机主要优点主要优点:1 1、I/OI/O端口地址不占用存储器空间;端口地址不占用存储器空间;2 2、I/OI/O指令短,执行速度快;指令短,执行速度快;3 3、I/OI/O操作和存储器操作层次清晰,程序的可读性强。操作和存储器操作层次清晰,程序的可读性强。缺点缺点:1 1、
7、I/OI/O指令类型少,指令类型少,PCPC微机只使用微机只使用ININ和和OUTOUT指令,对指令,对 I/OI/O的处理能力不如统一编制方式。的处理能力不如统一编制方式。2 2、需增加、需增加IORIOR和和IOWIOW控制信号引脚,增加开销。控制信号引脚,增加开销。三、独立编址方式的端口访问1.I/O指令 IBM-PCIBM-PC系列采用系列采用I/O(input/output)I/O(input/output)指令访问指令访问端口,实现数据的端口,实现数据的I/OI/O传送。传送。单字节地址指令单字节地址指令单字节地址指令单字节地址指令 其指令格式为:其指令格式为:IN AL,0F4H
8、 IN AL,0F4H ;输入;输入 IN AX,0F4H IN AX,0F4H ;输入;输入 IN EAX,0F4H IN EAX,0F4H ;输入;输入 IN EAX,DX IN EAX,DX ;输入;输入 OUT DX,EAX OUT DX,EAX ;输出;输出 所谓对端口的访问就是所谓对端口的访问就是CPUCPU对端口的读对端口的读/写,将写,将端口的数据传送存储器。端口的数据传送存储器。例如:例如:输入时输入时 MOV DX,300H ;I/OMOV DX,300H ;I/O端口端口 IN AL,DX ;IN AL,DX ;从端口读数据到从端口读数据到ALAL MOV DI,AL ;
9、MOV DI,AL ;将数据从将数据从ALAL存储器存储器输出时输出时 MOV DX,301H ;I/OMOV DX,301H ;I/O端口端口 MOV AL,SI ;MOV AL,SI ;从内存取数到从内存取数到ALAL OUT DX,AL ;OUT DX,AL ;数据从数据从ALAL端口端口I/OI/O端口寻址:直接寻址;间接寻址。端口寻址:直接寻址;间接寻址。寻址是时是否经过寻址是时是否经过DXDX寄存器。寄存器。例如:例如:输入时输入时 IN AX,0E0H ;IN AX,0E0H ;直接寻址直接寻址 MOV DX,300H MOV DX,300H IN AX,DX ;IN AX,DX
10、 ;间接寻址间接寻址输出时输出时 OUT 0E0H,AX ;OUT 0E0H,AX ;直接寻址直接寻址 MOV DX,300H ;MOV DX,300H ;OUT DX,AX ;OUT DX,AX ;间接寻址间接寻址2.I/O2.I/O端口寻址方式端口寻址方式3.3 I/O端口地址分配一、I/O接口硬件分类 I/OI/O接口的硬件分成两类:接口的硬件分成两类:1.1.系统板上的系统板上的I/OI/O芯片芯片 如:如:定时定时/计数器、中断控制器、计数器、中断控制器、DMA DMA 控制控制器器,并行接口等。并行接口等。2.I/O2.I/O扩展槽上的接口控制卡扩展槽上的接口控制卡 如:如:软驱卡
11、、硬驱卡、图形卡、声卡、软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。打印卡、串行通信卡等。表3.1 系统的I/O接口芯片端口地址 I/O I/O芯片名称芯片名称芯片名称芯片名称 端口地址端口地址端口地址端口地址DMADMA控制器控制器1 00001FH1 00001FHDMADMA控制器控制器2 0C00DFH 2 0C00DFH DMADMA页面寄存器页面寄存器 08009FH08009FH中断控制器中断控制器1 02003FH1 02003FH中断控制器中断控制器2 0A00BFH 2 0A00BFH 定时器定时器 04005FH04005FH并行接口芯片(键盘接口)并行接口芯片(
12、键盘接口)06006FH06006FHRT/CMOS RAM 07007FHRT/CMOS RAM 07007FH 协处理器协处理器 0F00FFH0F00FFH表表表表3.2 3.2 3.2 3.2 系统的外设接口卡系统的外设接口卡系统的外设接口卡系统的外设接口卡端口地址端口地址端口地址端口地址 I/0 I/0 I/0 I/0接口名称接口名称接口名称接口名称 端口地址端口地址端口地址端口地址游戏控制卡游戏控制卡 20020020FH20FH并行口控制卡并行口控制卡1 3701 37037FH37FH并行口控制卡并行口控制卡2 2702 27027FH27FH串行口控制卡串行口控制卡1 3F8
13、1 3F83FFH3FFH串行口控制卡串行口控制卡2 2F02 2F02FFH2FFH原型插件板(用户可用)原型插件板(用户可用)30030031FH31FH同步通信卡同步通信卡1 3A01 3A03AFH3AFH同步通信卡同步通信卡2 3802 38038FH38FH单显单显MDA 3B0MDA 3B03BFH3BFH彩显彩显CGA 3D0CGA 3D03DFH3DFH彩显彩显EGG/VGA 3C0EGG/VGA 3C03CFH3CFH硬驱控制卡硬驱控制卡 1F01F01FFH1FFH软驱控制卡软驱控制卡 3F03F03F7H3F7HPCPC网卡网卡 36036036FH36FH二、二、I/
14、OI/O端口地址分配端口地址分配1.1.PCPC微机微机I/OI/O地址线有地址线有1616根,对应的根,对应的I/OI/O端口编址可达端口编址可达64K64K字节。字节。(0000H(0000HFFFFH)FFFFH)2.其端口地址译码是采用非完全译码方式,即只考虑其端口地址译码是采用非完全译码方式,即只考虑了了低低1010位地址线位地址线A A0 0AA9 9,而没有考虑高,而没有考虑高6 6位地址线位地址线A A1010AA1515。3.I/0I/0端口地址范围是端口地址范围是0000H03FFH0000H03FFH,总共只有总共只有10241024个个端口。端口。三、三、I/OI/O端
15、口地址选用的原则端口地址选用的原则凡是被系统配置占用了的地址一律不能使用;凡是被系统配置占用了的地址一律不能使用;未被占用的地址,用户可以使用。但申明保留的地未被占用的地址,用户可以使用。但申明保留的地址,不要使用。址,不要使用。用户可使用用户可使用300H-31FH300H-31FH地址。地址。3.4 I/O3.4 I/O端口地址译码端口地址译码 CPU CPU通过通过I/OI/O地址译码电路把来自地址总地址译码电路把来自地址总线上的地址代码翻译成为要访问的端口。线上的地址代码翻译成为要访问的端口。一、地址译码方法:一、地址译码方法:1 1、全译码、全译码2 2、部分译码、部分译码3 3、开
16、关式译码、开关式译码部分译码:部分译码:高位地址线与高位地址线与CPUCPU的控制信号进行组合,经译的控制信号进行组合,经译码电路产生码电路产生I/OI/O接口芯片接口芯片CSCS的片选。的片选。低位地址线不参加译码,直接连到低位地址线不参加译码,直接连到I/OI/O接口芯接口芯片,进行片,进行I/OI/O接口芯片的片内端口寻址,即寄接口芯片的片内端口寻址,即寄存器寻址。存器寻址。二、二、I/OI/O地址译码电路原理地址译码电路原理 译码电路的输入信号译码电路的输入信号 I/OI/OI/OI/O地址译码电路不仅仅与地址地址译码电路不仅仅与地址地址译码电路不仅仅与地址地址译码电路不仅仅与地址信号
17、有关,而且与控制信号有关信号有关,而且与控制信号有关信号有关,而且与控制信号有关信号有关,而且与控制信号有关 .例如,例如,例如,例如,用用用用AENAENAENAEN信号控制非信号控制非信号控制非信号控制非DMADMADMADMA传送;传送;传送;传送;用用用用IOR_IOR_IOR_IOR_和和和和IOW_IOW_IOW_IOW_信号控制对端口的读信号控制对端口的读信号控制对端口的读信号控制对端口的读/写等。写等。写等。写等。用用用用I/OCSI/OCSI/OCSI/OCS16161616信号控制信号控制信号控制信号控制8 8 8 8位或位或位或位或16161616位位位位I/OI/OI/
18、OI/O端端端端口口口口GND32RESDRV33+5V34IRQ935-5V36DREQ237-12V38-0WS39+12V40GND41-SMEMW42-SMEMR43-IOW44-IOR45-DACK346DREQ347-DACK148DREQ149-REFSH50SYSCLK51IRQ752IRQ653IRQ554IRQ455IRQ356-DACK257TC58ALE59+5V6014.3MHZ61GND62-IOCHCK1D72D63D54D45D36D27D18D09IOCHRDY10AEN11A1912A1813A1714A1615A1516A1417A1318A1219A11
19、20A1021A922A823A724A625A526A427A328A229A130A031J?PC62A0 译码电路的输出信译码电路的输出信号号 I/OI/O地址译码电路的输地址译码电路的输出信号中只有出信号中只有1 1根根/CS,/CS,且且低电平有效。低电平有效。GND32RESDRV33+5V34IRQ935-5V36DREQ237-12V38-0WS39+12V40GND41-SMEMW42-SMEMR43-IOW44-IOR45-DACK346DREQ347-DACK148DREQ149-REFSH50SYSCLK51IRQ752IRQ653IRQ554IRQ455IRQ356-
20、DACK257TC58ALE59+5V6014.3MHZ61GND62-IOCHCK1D72D63D54D45D36D27D18D09IOCHRDY10AEN11A1912A1813A1714A1615A1516A1417A1318A1219A1120A1021A922A823A724A625A526A427A328A229A130A031J?PC62A01.固定式端口地址译码 固定式是指接口中用到的端口地址不能更改。固定式是指接口中用到的端口地址不能更改。例例1 1:设计设计I/OI/O端口地址为端口地址为2F8H2F8H的只读译码电路。的只读译码电路。3.5、I/O端口地址译码电路设计分析
21、:分析:若要产生若要产生2F8H2F8H端口地址,则译码电路的输入地址端口地址,则译码电路的输入地址线就应具有如表线就应具有如表3.43.4所示的值。所示的值。3.5、I/O端口地址译码电路设计 表3.4 译码电路输入地址线的值地址线 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 二进制 0 0 1 0 1 1 1 1 1 0 0 0 十六进制 2 F 8 固定式端口地址译码123U3A74LS321274LS0412345611128U474LS3012345611128U474LS301274LS0474LS0412VCCA9A1A2A3A4A5A6A7A0A8AEN
22、IOR-VCCVCC2F8H例例2 2:使用74LS138设计一个系统板上接口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。分析:分析:由于系统板上的由于系统板上的I/OI/O端口地址分配在端口地址分配在0000FFH0000FFH范范围内,只使用低围内,只使用低8 8位地址线。位地址线。表表3.5 3.5 译码电路输入地址线的值译码电路输入地址线的值地址线地址线 0 0 A0 0 A9 9 A A8 8 A A7 7 A A6 6 A A5 5 A A4 4 A A3 3 A A2 2 A A1 1 A A0 0 二进制二进制 控控 制制 片片 选选 片内端口寻址片
23、内端口寻址 十六进制十六进制 0 H 0 7 H 0 1F H 0 H 0 7 H 0 1F H I/O芯片名称芯片名称 端口地址端口地址DMA控制器1 00001FHDMA控制器2 0C00DFH DMA页面寄存器 08009FH中断控制器1 02003FH中断控制器2 0A00BFH 定时器 04005FH并行接口芯片(键盘接口)06006FHRT/CMOS RAM 07007FH 协处理器 0F00FFHA1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U374LS13874LS138译码电路2.可选式端口地址译码例3:设计扩展板上的设计扩展板上的
24、I/OI/O端口地址译码电路,要求让扩展板上端口地址译码电路,要求让扩展板上每个接口芯片的内部端口数目为每个接口芯片的内部端口数目为4 4个,并且,端口地址可个,并且,端口地址可选。例如,选择地址范围为选。例如,选择地址范围为300H31FH.300H31FH.分析:分析:对于对于DIPDIP开关,有两种状态:合(开关,有两种状态:合(ONON)和断()和断(OFFOFF)。)。对于比较器有两点要考虑,一是比较的对象,二是比较对于比较器有两点要考虑,一是比较的对象,二是比较的结果。的结果。教材,教材,3131页。页。补充:74LS688查阅硬件使用说明书:TTL 8位比较器,双列直插(贴片)20管脚封装,5v直流供电。管脚1(G)为使能端,低电平有效。当P(P0P7)=Q(Q0Q7),管脚19(P=Q)输出低电平,否则输出高电平。补充:74LS688