微机原理及接口技术第6章输入/输出技术6.1I/O接口概述2本章内容:计算机如何与外设进行信息交换。外部世界计算机接口结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型不同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率相差很大。3基本的输入/输出方法:程序控制I/O方式无条件传送方式:输入接口、输出接口查询方式:单外设、多外设中断方式中断的概念8088/8086中断系统中断控制器8259DMA(直接存储器存取)方式DMA的工作过程DMA控制器8237控制简单控制复杂效率高效率低46.1.1I/O接口功能一、为何引入I/O接口电路I/O接口:把外设连接到总线上的一组逻辑电路的总称。实现外设与主机间的信息交换。CPURAMROMI/O接口I/O设备ABDBCB接口56.1.1I/O接口功能一、为何引入I/O接口电路I/O接口:把外设连接到总线上的一组逻辑电路的总称。实现外设与主机间的信息交换。I/O接口要解决的问题:速度匹配(Buffer、握手)-接口与CPU速度差异。信号电平和驱动能力(电平转换、驱动)。信号形式匹配(A/D、D/A)。信息格式(字节流、块、数据包、帧)。时序匹配(定时关系)。总线隔离(三态门)-选中与总线连接;未选中隔离。66.1.1I/O接口功能二、I/O接口电路能做什么?提供信息传递通道——利用接口中的寄存器实现,通常将某个端口地址分配给这个寄存器。进行数据格式转换。模/数转换串并转换数位转换速度匹配——缓冲器负载匹配提供中断、DMA能力76.1.2基本I/O接口模型一、接口信号CPU外设接口数据寄存器状态寄存器控制寄存器数据状态信息控制信息数据总线地址总线控制总线I/O接口I/O端口86.1.2基本I/O接口模型一、接口信号数据信息:数字量、模拟量状态信息:例:对于输入设备的Ready对于输出设备的Busy外设接口→CPU,可读不可写。控制信息:CPU→外设接口,可写不可读。96.1.2基本I/O接口模型二、外设接口与端口CPU对外设的访问实质上就是对I/O接口电路中相应端口进行访问。需要译码电路形成I/O端口的地址。不同端口可以是同一个I/O地址(一个输入端口、一个输出端口共同使用一个I/O地址)。内存地址、I/O地址:统一编址、独立编址。寄存器I/O接口……I/O端口数据口状态口控制口106.1.3I/O接口地址及编码方式统一编址的优点:CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。内存与外设地址的分配,可以用统一的分布图。不需要专门的输入、输出操作指令。116.1.3I/O接口地址及编码方式统一编址的缺点:内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直接寻址的内存单元数减少。给检修、维护增加了难度。一般情况下,系统中I/O端口数远小于内存单元数,所以在用直接寻址方式来寻址这些端口时,要表示一个端口地址,必须用与表示内存单元地址相同的字节数,使得指令代码较长,相应地读/写执行时间也较长,这对提高系统的运行速度是不利的。Mortorola公司的M68系列CPU采用统一编址方式;Intel公司的80x86系列CPU采用独立编址方式。微机原理及接口技术第6章输入/输出技术6.2I/O端口地址译码13I/O端口地址译码举例【例6.1】使用8位I/O地址5CH选择输入端口。用逻辑门器件实现。【地址分析】A6&A4A3A2IORA7A5A1A0CH5≥1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0000000000101110014【例6.2】使用16位I/O地址A0D8H~A0DFH选择I/O端口。用译码器件实现。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01010000011011xxx&&≥1全地址译码部分地址译码A15A13A7A6A4A3A14A12A11A10A9A8A5≥1IORIOW74LS138+5V0Y1Y2Y3Y4Y5Y6Y7YA2GB2GH8D0ADFH0A~CBAA2A1A0H8D0AH9D0ADAH0ADBH0ADCH0ADDH0ADEH0ADFH0AG1微机原理及接口技术第6章输入/输出技术6.3基本的并行输入/输出接口三态门锁存器16≥1IORA3A4A5A6A7A0A1A21Y11Y21Y31Y42Y12Y22Y32Y41A11A21A31A42A12A22A32A4E12E80HD0D1D2D3D4D5D6D774LS2448k10+5VINAL,80H6.3.1并行输入接口17&≥1≥1≥1≥1≥1A6A7A8A9A10A15A4A5A14A13A12A11A074LS138IOWG1A3A2A1BHEG2AG2BCBA2YD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7CPQ0Q1Q2Q3Q4Q5Q6Q7D8D9D10D11D12D13D14D15D0D1D2D3D4D5D6D7CPQ0Q1Q2Q3Q4Q5Q6Q774LS273330+5V330+5V74LS273利用74LS273设计的8/16位输出端口MOVDX,3804HMOVAL,00HOUTDX,ALMOVDX,3805HMOVAL,0FFHOUTDX,ALMOVDX,3804HMOVAX,0FFFFHOUTDX,AX6.3.2并行输出接口186.3.2并行输出接口利用74LS374设计的32位输出端口≥1&A7A4A6A3A5A2IOWD0D7~D0D7~CPQ0Q7~EN74LS374×450HD0D7~D8D15~CPQ0Q7~EN51HD0D7~D16D23~CPQ0Q7~EN52HD0D7~D24D31~CPQ0Q7~EN53H