1、第第5章章 输入输出接口输入输出接口v5.1 微机接口及接口技术微机接口及接口技术v5.2 I/O端口及其编址方式端口及其编址方式v5.3 端口地址译码端口地址译码v5.4 CPU与外设之间的数据传送方式与外设之间的数据传送方式5.1 微机接口及接口技术微机接口及接口技术 5.1.1 为什么要设置接口电路为什么要设置接口电路 5.1.2 接口电路中的信息接口电路中的信息 5.1.3 接口的基本功能接口的基本功能 5.1.4 接口的基本结构接口的基本结构返返 回回数字化存储数字化存储示波器、数示波器、数字化万用表字化万用表终端、调制终端、调制解调器解调器 A/D转换器转换器 开关量输入开关量输入
2、 D/A转换器转换器 开关量输出开关量输出键盘、鼠标、数键盘、鼠标、数字化字化 仪、光笔、仪、光笔、图形输入仪麦克图形输入仪麦克风、扫描仪风、扫描仪 打印机打印机显示器显示器磁盘磁带磁盘磁带软盘光盘软盘光盘智能仪器接口智能仪器接口通信接口通信接口过程控制接口过程控制接口输入接口输入接口输出接口输出接口外存接口外存接口CPU内存内存 DB AB CB图图1-11-1微机系统各类接口框图微机系统各类接口框图 返返 回回5.1.1 5.1.1 为什么要设置接口电路为什么要设置接口电路v CPUCPU与外设两者的信号线不兼容,在信号线功能定义、逻与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时
3、序关系上都不一致辑定义和时序关系上都不一致 v 两者的工作速度不兼容,两者的工作速度不兼容,CPUCPU速度高,外设速度低速度高,外设速度低 v 若不通过接口,而由若不通过接口,而由CPUCPU直接对外设的操作实施控制,就直接对外设的操作实施控制,就会使会使CPUCPU处于穷于应付与外设打交道之中,大大降低处于穷于应付与外设打交道之中,大大降低CPUCPU的的效率效率 v 若外部设备直接由若外部设备直接由CPUCPU控制,也会使外设的硬件结构依赖控制,也会使外设的硬件结构依赖于于CPUCPU,对外设本身的发展不利。,对外设本身的发展不利。5.1.2 5.1.2 接口电路中的信息接口电路中的信息
4、 v数据信息数据信息v状态信息状态信息v控制信息控制信息习惯上把分别传送这三种信息的端口称为习惯上把分别传送这三种信息的端口称为 数据口、状态口、控制口数据口、状态口、控制口 1数据信息数据信息v(1)数字量:数字量:通常以通常以8位或位或16位的二进制数以及位的二进制数以及ASCII码的形式传码的形式传输,主要指由键盘、磁盘、光盘等输入的信息或主输,主要指由键盘、磁盘、光盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息。机送给打印机、显示器、绘图仪等的信息。v(2)模拟量:模拟量:模拟的电压、电流或者非电量。对模拟量输入而言,模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器
5、转换成电信号,再经需先经过传感器转换成电信号,再经A/D转换器变成转换器变成数字量;如果需要输出模拟控制量的话,就要进行数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换。上述过程的逆转换。v(3)开关量:开关量:用用“0”和和“1”来表示两种状态,如开关的通来表示两种状态,如开关的通/断、电断、电机的转机的转/停、阀门的开停、阀门的开/关等。关等。2状态信息状态信息CPU在传送数据信息之前,经常需要先了解外在传送数据信息之前,经常需要先了解外设当前的状态。如输入设备的数据是否准备好设当前的状态。如输入设备的数据是否准备好、输出设备是否忙等。、输出设备是否忙等。v用于表征外设工作状态
6、的信息就叫做状态信息,用于表征外设工作状态的信息就叫做状态信息,它总是由外设通过接口输入给它总是由外设通过接口输入给CPU的。的。v状态信息的长度不定,可以是状态信息的长度不定,可以是1个二进制位或个二进制位或多个,含义也随外设的具体情况不同而不同多个,含义也随外设的具体情况不同而不同。3控制信息控制信息v用来发布控制命令、控制外设工作的用来发布控制命令、控制外设工作的信息,例如信息,例如A/D转换器的启停信号。转换器的启停信号。v控制信息总是控制信息总是CPU通过接口发出的通过接口发出的。返返 回回5.1.3 接口的基本功能接口的基本功能v1 1 数据缓冲功能数据缓冲功能v2 2 端口选择功
7、能端口选择功能v3.3.信号转换功能信号转换功能v4 4 接收和执行接收和执行CPUCPU命令的功能命令的功能v5.5.中断管理功能中断管理功能 v6 6 可编程功能可编程功能v7.7.返回外设状态的功能返回外设状态的功能 v8.8.数据宽度与数据格式转换的功能数据宽度与数据格式转换的功能1.1.数据缓冲功能数据缓冲功能v接口电路中一般都设置有数据寄存器或锁存器数据口,以解决高速的主机与低速的外设之间的速度匹配问题,避免因主机与外设的速度不匹配而丢失数据。2 2 端口选择功能端口选择功能v微机系统中常有多个外设,而CPU在任一时刻只能与一个端口交换信息,因此需要通过接口的地址译码电路对端口进行
8、寻址。3.3.信号转换功能信号转换功能v外设所提供的数据、状态和控制信号可能与微机的总线信号不兼容,所以接口电路应进行相应的信号转换。4 4 接收和执行接收和执行CPUCPU命令的功能命令的功能vCPU对外设的控制命令一般以代码形式输出到接口电路的控制端口,接口电路对命令代码进行识别、分析,分解成若干控制信号,传送到I/O设备,并产生相应的具体操作。5.5.中断管理功能中断管理功能v当外设需要及时得到CPU的服务,特别是出现故障需要CPU立即处理时,就要求接口中设置中断控制器,以便于CPU处理有关中断事务(如中断请求、中断优先级排队、提供中断向量等)。6 6 可编程功能可编程功能v由于I/O接
9、口电路大多由可编程接口芯片组成,因此就有可能在不改变硬件电路的情况下,只要修改接口驱动程序就可以改变接口的工作方式,提高了接口的灵活性和可扩充性,使接口向智能化方向发展。7.7.返回外设状态的功能返回外设状态的功能v接口电路在执行命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,包括正常工作状态和故障状态。v“忙”、“闲”、“准备就绪”、“未准备就绪”、“满”、“空”、“溢出错”、“格式错”等v接口中一般都设置状态寄存器,称“状态口”。状态信号以状态代码形式存放在接口电路的状态寄存器中。vCPU从状态口读取状态信息,供CPU作出判断与处理。8.8.数据宽度与数据格式
10、转换的功能数据宽度与数据格式转换的功能vCPU所处理的是并行数据,而有的外设只能处所处理的是并行数据,而有的外设只能处理串行数据,接口应具有数据理串行数据,接口应具有数据“并串并串”、“串串并并”的转换能力。的转换能力。vCPU与有些外设交换数据时,要求按照一定的与有些外设交换数据时,要求按照一定的数据格式传送,所以在数据格式传送,所以在CPU与通信设备之间进与通信设备之间进行数据格式转换。行数据格式转换。返返 回回5.1.45.1.4接口的基本结构接口的基本结构v1端口v2地址译码电路v3数据缓冲器与锁存器1端口端口vI/O接口通常设置有若干个寄存器,用来暂存CPU和外设之间传输的数据、状态
11、和控制信息。v一般有三类寄存器,分别是数据寄存器、状态寄存器、控制寄存器。v接口内的寄存器通常被称为端口。根据寄存器内暂存信息的类型,分别称为数据端口、控制端口和状态端口。v每个端口有一个独立的地址,CPU可以用端口地址代码来区别各个不同的端口,并对它们分别进行读/写操作。2地址译码电路地址译码电路v 它由译码器或能实现译码功能的其它芯片它由译码器或能实现译码功能的其它芯片构成。构成。v它的作用是进行设备选择,是接口中不可它的作用是进行设备选择,是接口中不可缺少的部分。这部分电路不包含在集成接缺少的部分。这部分电路不包含在集成接口芯片中,要由用户自行设计。口芯片中,要由用户自行设计。3数据缓冲
12、器与锁存器数据缓冲器与锁存器v在微机系统的数据总线上,连接着许多能够向在微机系统的数据总线上,连接着许多能够向CPU发送数据的设备,如内存储器、外设的数据输入端发送数据的设备,如内存储器、外设的数据输入端口等。口等。v为了不使系统数据总线的信号传输发生为了不使系统数据总线的信号传输发生“信息冲信息冲突突”,要求所有的这些连接到系统数据总线的设备,要求所有的这些连接到系统数据总线的设备具有三态输出的功能。具有三态输出的功能。v也就是说,在也就是说,在CPU选中该设备时,它能向系统数据选中该设备时,它能向系统数据总线发送数据信号,而在其它时刻,它的输出端必总线发送数据信号,而在其它时刻,它的输出端
13、必须呈高阻状态。为此,所有接口的输入端口必须通须呈高阻状态。为此,所有接口的输入端口必须通过三态缓冲器与系统数据总线相连。过三态缓冲器与系统数据总线相连。返返 回回5.2 I/O5.2 I/O端口及其编址方式端口及其编址方式5.2.1 I/0端口5.2.2 I/O端口的编址方式5.2.3 I/O端口地址分配返返 回回5.2.1 I/05.2.1 I/0端口端口v 端口(端口(portport)是接口电路中能被)是接口电路中能被CPUCPU直接访问的寄存器的直接访问的寄存器的地址。地址。v 计算机给接口电路中的每个寄存器分配一个端口,因计算机给接口电路中的每个寄存器分配一个端口,因此此,CPU,
14、CPU在访问这些寄存器时,只需指明它们的端口,不需在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。指出是什么寄存器。v CPUCPU对数据端口进行一次读或写操作,也就是与该接口连对数据端口进行一次读或写操作,也就是与该接口连接的外设进行一次数据传输接的外设进行一次数据传输v CPUCPU对状态端口进行一次读操作,就可以获得外设或接口对状态端口进行一次读操作,就可以获得外设或接口自身的状态代码自身的状态代码v CPUCPU把若干位控制代码写入控制端口,则意味着对该接口把若干位控制代码写入控制端口,则意味着对该接口或外设发出一个控制命令,要求该接口或外设按规定的要或外设发出一个控制命
15、令,要求该接口或外设按规定的要求工作求工作返返 回回5.2.2 I/O端口的编址方式端口的编址方式v1 端口地址和存储器地址统一编址,也称存储器端口地址和存储器地址统一编址,也称存储器映射方式映射方式v2 I/O端口地址和存储器地址分开独立编址,也称端口地址和存储器地址分开独立编址,也称I/O映射方式映射方式 1 统一编址方式统一编址方式v从存储器空间划出一部分地址空间给从存储器空间划出一部分地址空间给I/O设备,把设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置接口中的端口当作存储器单元一样进行访问,不设置专门的专门的I/O指令指令v优点:优点:v访问访问I/O端口可实现输入端口
16、可实现输入/输出操作,还可以对端口内输出操作,还可以对端口内容进行算术逻辑运算、移位等等;容进行算术逻辑运算、移位等等;v 能给端口有较大的编址空间,这对大型控制系统和能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的;数据通信系统是很有意义的;v 缺点:缺点:v 端口占用了存储器的地址空间,使存储器容量小;端口占用了存储器的地址空间,使存储器容量小;v 指令长度比专门指令长度比专门I/O指令要长,因而执行速度较慢;指令要长,因而执行速度较慢;2 独立编址方式独立编址方式vI/O端口地址空间和存储器地址空间是独立的、分开端口地址空间和存储器地址空间是独立的、分开的,即的,即I
17、/O端口地址不占用存储器地址空间。端口地址不占用存储器地址空间。v优点优点vI/O端口地址不占用存储器空间;端口地址不占用存储器空间;v使用专门的使用专门的I/O指令对端口进行操作,指令对端口进行操作,I/O指令短、执指令短、执行速度快;行速度快;v并且由于专门并且由于专门I/O指令与存储器访问指令有明显的区指令与存储器访问指令有明显的区别,使程序中别,使程序中I/O操作和存储器操作层次清晰,程序操作和存储器操作层次清晰,程序的可读性强。的可读性强。v缺点缺点v这种编址方式中,微处理器对存储器及这种编址方式中,微处理器对存储器及I/O端口是采端口是采用不同的控制线进行选择的,因而接口电路比较复
18、杂。用不同的控制线进行选择的,因而接口电路比较复杂。MEMRMEMWCPU控制逻辑控制逻辑存储器存储器(1MB)I/O端口端口(64K个)个)R/W 控制控制20 AB 2016 DB 16168IORIOW图图5-2 独立编址方式独立编址方式 图解图解v 访问存储单元用地址总线访问存储单元用地址总线A19A0,全译码后得到,全译码后得到00000HFFFFFH共共1MB地址空间地址空间.v I/O端口只利用其中的一部端口只利用其中的一部分地址线,即分地址线,即A15A0地地址线,可译出址线,可译出0000HFFFFH共共64KB个个I/O端口端口地址地址.v 由于端口是与存储器隔离由于端口是
19、与存储器隔离的,所以用户可扩展存储的,所以用户可扩展存储器到最大容量,而不必为器到最大容量,而不必为I/O端口留出地址空间端口留出地址空间.返返 回回5.2.3 I/O端口地址分配端口地址分配v 表表5-1中分配给每个中分配给每个接口芯片的接口芯片的I/O端口端口地址,在实际使用中地址,在实际使用中并未全部用完。并未全部用完。v 中断控制器中断控制器8259A,只使用了前面只使用了前面2个端个端口地址,口地址,20H、21H(主片)和(主片)和A0H,A1H(从片)。(从片)。v 并行接口芯片并行接口芯片8255A,只使用了前面只使用了前面4个端个端口地址口地址60H63H。v 使用端口地址最
20、多的使用端口地址最多的DMA控制芯片控制芯片8237A,也只用了前面的也只用了前面的16个个地址(地址(0FH)。)。04004005FH05FH06006006FH06FH07007007FH07FH0F00F00FFH0FFH定时器定时器并行接口芯片(键盘接口)并行接口芯片(键盘接口)RT/CMOS RAMRT/CMOS RAM协处理器协处理器02002003FH03FH0A00A00BFH0BFH中断控制器中断控制器1 1中断控制器中断控制器2 200000001FH01FH0C00C00DFH0DFH08008009FH09FHDMADMA控制器控制器1 1DMADMA控制器控制器2
21、2DMADMA页面寄存器页面寄存器端口地址端口地址I/OI/O芯片名称芯片名称表表5-15-1系统板上接口芯片的端口地址系统板上接口芯片的端口地址 表表5-2扩展槽上接口控制卡的端口地址扩展槽上接口控制卡的端口地址I/O接口名称接口名称端口地址端口地址游戏控制卡游戏控制卡20020FH并行口控制卡并行口控制卡1 1并行口控制卡并行口控制卡2 237037FH27027FH串行口控制卡串行口控制卡1 1串行口控制卡串行口控制卡2 23F83FFH2F02FFH原型插件板原型插件板30031FH同步通信卡同步通信卡1 1同步通信卡同步通信卡2 23A03AFH38038FH单显单显MDAMDA彩显
22、彩显CGACGA彩显彩显EGA/VGAEGA/VGA3B03BFH3D03DFH3C03CFH硬驱控制卡硬驱控制卡软驱控制卡软驱控制卡1F01FFH3F03F7HPCPC网卡网卡36036FHv 从表从表5-2中,可以看到允中,可以看到允许用户使用的端口地址许用户使用的端口地址是是300H31FH。这一段。这一段地址是留给用户在开发地址是留给用户在开发IBM-PC系列机功能模块系列机功能模块(插板)时使用的端口(插板)时使用的端口地址,系统是不会占用地址,系统是不会占用它的。它的。v 除在表除在表5-1和表和表5-2中已经中已经分配了的分配了的I/O地址之外,地址之外,其余的地址均由厂商保其余
23、的地址均由厂商保留使用。留使用。I/O端口地址选用的原则端口地址选用的原则v凡是被系统配置所占用了的地址一律不能使用凡是被系统配置所占用了的地址一律不能使用v原则上讲,未被占用的地址,用户可以选用,但原则上讲,未被占用的地址,用户可以选用,但对计算机厂家申明保留的地址,不要使用,否则对计算机厂家申明保留的地址,不要使用,否则会发生会发生I/O地址重叠和冲突,造成用户开发的产品地址重叠和冲突,造成用户开发的产品与系统不兼容而失去使用价值与系统不兼容而失去使用价值v一般,用户可使用一般,用户可使用30031FH地址地址返返 回回5.3 5.3 端口地址译码端口地址译码5.3.1 门电路译码5.3.2 译码器译码5.3.3 比较器译码返返 回回