300 likes | 453 Views
第六章 输入/输出系统与设备. 计算机技术教研室 王怀秀. 教学内容安排. 输入输出系统概述 常用的几种输入输出方式 计算机总线及总线举例 输入输出接口电路 计算机输入设备 计算机输出设备. 第六章 输入/输出系统与设备. 教学目的: 理解和掌握 CPU 对 I/O 设备的管理和控制方式,掌握常用 I/O 设备的工作原理。 教学要求: 掌握 I/O 设备的编址方式和设备控制器的基本功能。 熟悉查询传送、中断传送和 DMA 传送的基本工作原理。 掌握中断请求、中断判优、中断响应、中断处理和中断返回五个过程的原理。
E N D
第六章 输入/输出系统与设备 计算机技术教研室 王怀秀
教学内容安排 • 输入输出系统概述 • 常用的几种输入输出方式 • 计算机总线及总线举例 • 输入输出接口电路 • 计算机输入设备 • 计算机输出设备
第六章 输入/输出系统与设备 • 教学目的:理解和掌握CPU对I/O设备的管理和控制方式,掌握常用I/O设备的工作原理。 • 教学要求: • 掌握I/O 设备的编址方式和设备控制器的基本功能。 • 熟悉查询传送、中断传送和 DMA 传送的基本工作原理。 • 掌握中断请求、中断判优、中断响应、中断处理和中断返回五个过程的原理。 • 掌握总线的类型和几种常用标准总线 • 掌握I/O接口电路的功能和组成
6.1 I/O系统概述 输入输出系统包括外部设备(I/O 设备和辅存)及其与主机(CPU和主存)之间的控制部件。通常将后者称为设备控制器或接口、适配器等,其作用是控制并实现主机与外部设备之间的数据传送。本节主要介绍: • I/O设备的编址及设备控制器的基本功能 • I/O设备的数据传送控制方式
6.1.1 I/O设备的编址及设备控制器的基本功能 计算机在使用中,不可避免地要与外部设备打交道,输入和输出一些数据和信息。 输入——通过键盘、纸带读入机、卡片输入机、扫描仪、A/D(模/数)转换等; 输出——显示器、打印机、D/A(数/模)转换等,另外,在微机种,软、硬盘也作为输入输出设备。
CPU 接口 电路 I/O 设备 一、概述 由于 ①输入的信息的数据形式不同 (数字量、模拟量、开关量等); ②输入信息的速度不同 (键盘输入、磁盘输入); 所以,在CPU与外设进行数据传输时,需要通过 设备控制器(接口电路)来实现。
二、CPU与外设之间的接口信息 CPU与一个外设交换信息,通常需要以下一些信息: 1. 数据信息(Data) 数字量——键盘等输入的数据; 模拟量——如温度、压力、流量等; 开关量——如开关的合与断等。 2. 状态信息(Status) 输入时,输入设备的信息是否准备好(如ready信号); 输出时,输出设备是否有空等(如busy信号)。 3. 控制信息(Control) 控制输入输出设备的启动和停止等。
三、I/O 设备的端口及端口地址 • I/O 端口:为了将数据、状态、控制信息区分开,在接口电路中,设有不同的寄存器(即端口),如数据端口、状态端口、控制端口,以接收、存放、输出不同的信息。 • 端口地址:为了便于访问端口,每个端口都有一个编号,这个编号就是端口地址。 • 常用的I/O编址方式: I/O 与内存单元统一编址 I/O 独立编址
数据 数据 CPU 接口 电路 状态 状态 I/O 设备 控制 控制 端口1 端口——用于存放信息的8位或16位锁存器,缓冲器等。 在PC机中通常为8位 端口2 端口3 端口4
内存与外设 00000 00001 65 F3 02 00 24 E0 内 EFFFF F0000 Kou1 F0001 F0002 02 6D 外 FFFFF 四、 I/O设备的编址方式 1. I/O 设备与内存单元统一编址 将外设接口电路的一个端口作为存储器的一个单元。 优点:不需要专门的输入输出指令,可用全部的存储器操作指令(指令多且灵活) 如:mov kou1,bx 缺点:外设占用内存单元,相对减少了内存容量。
外设 内存 0000 00000 KOU1 11 32 32 01 65 F3 02 00 KOU2 KOU3 00FF KOU100 0100 11 22 33 44 KOU101 FFFF FFFFF 2. 外设端口单独编址 优点:不占用内存 缺点:CPU需设专门的I/O指令。 例如8086中: • 若端口地址在 0~FFH范围内,则用 IN AL,端口地址 (输入) OUT 端口地址 ,AL (输出) 如: IN AL, KOU1 OUT KOU2, AL • 若端口地址在 0100~FFFFH范围内,则用: MOV DX, 端口地址 IN AL, DX OUT DX, AL 如: MOV DX, KOU100 IN AL, DX
0000 001F 0000~000F 8237A—5 DMA控制器 32字节 0020 003F 0020~0021 8259A 中断控制器 32字节 0040 005F 8253A—5 定时/计数器 0040~0043 32字节 0060 007F 0060~0063 8255A—5 并行接口芯片 32字节 0080 009F 0080~0083 DMA 页面寄存器 32字节 00A0 00BF NMI 屏蔽寄存器 00A0~00BF 32字节 0080 01FF 320字节 附: 1. IBM PC/XT I/O 端口地址分配图
游戏控制口 0200~020F 扩展部件 0210~0217 未用 0218~02F7 异步通信卡(第二个) 02F8~02FF 实验卡 0300~031F 硬盘适配器 0320~032F 未用 0330~0377 并行打印机 0378~037F SPLC通信 0380~038F 未用 0390~03AF 单色显示器 / 打印机 03B0~03BF 未用 03C0~03CF 彩色/ 图形显示卡 03D0~03DF 未用 03E0~03EF 软盘适配器 03F0~03F7 异步通信卡(第一个) 03F8~03FF 03FF 0200
五、设备控制器(I/O接口)的基本功能 • 从表中可以看出,每一台设备都占用若干地址码,分别表示相应设备控制器中的寄存器的地址。 • I/O设备的基本功能是: • 实现主机和外围设备之间的数据传送控制(同步控制、设备选择、中断控制等)。 • 实现数据缓冲,以达到速度匹配。 • 接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。
六、输出接口的类型 • 按照数据传送的宽度分为: • 并行接口:将一个字节(字)的所有位同时传送。 • 串行接口:数据一位一位串行传送。 • 注:接口和主机之间是按字节或字并行传送。 • 按照数据传送的控制方式分为: • 程序控制输入输出接口 • 程序中断输入输出接口 • 直接存储器存取(DMA)接口等
6.1.2 I/O设备数据传送控制方式 • CPU与外设数据传送的方式有以下几种: • 程序直接控制(轮询) • CPU直接使用输入/输出指令来控制外部设备 • 程序中断 • 外部设备请求,CPU响应,CPU与外设并行工作 • 直接存储访问(DMA) • 专用输入/输出控制器 • 通道传输方式(IOP) • 外围处理机方式
一、程序直接控制方式 • 程序直接控制方式:CPU直接使用输入/输出指令来控制主机和外部设备之间传送信息。 • 特点:控制简单,但CPU的利用率低。 • 程序直接控制方式只适用于数据传输率比较低的外围设备 。
启动设备 查询设备状态 N 准备好? Y 传送数据 修改内存地址 修改计数器 N 传送完? Y 关闭设备 1. 程序直接控制方式工作过程
程序直接控制方式实例 A 2000 2000: MVRD R2, 000A MVRD R0, 0030 2004: OUT 80 PUSH R0 2006: IN 81 SHR R0 JRNC 2006 POP R0 INC R0 DEC R2 JRZ 200E JR 2004 200E: RET CPU方: 往接口送出要输出的字符 查询接口状态 循环等待,直到外设已经输出该字符 输出下一个字符 外设方: 接收接口中的字符 往外设中输出字符 处理完后,置状态寄存器 接收下一个字符
二、程序中断传送方式 由于CPU都是由高速的电子器件组成的,而外设大多是机电类型的产品,二者的工作速度不能比拟。在外设从启动到完成一个 I/O 操作所需的时间内,CPU可以执行几百到几千条指令。但在查询传送状态,外设在进行 I/O 操作时,CPU并未进行其它的工作而是处于长时间反复查询的等待状态,等待 I/O 设备完成前一次操作,回到准备好或不忙状态后,CPU才控制外设开始下一次操作。由此可见,在查询传送方式中,CPU与外设串行工作,这对CPU来说,当然是一极大的浪费、而且计算机速度越高,这种与外设低速度的矛盾就越突出。为了提高CPU的工作效率,现代计算机都引入了中断机构,让CPU以中断方式控制外设的工作。
基本概念 • 当系统内部发生某一事件时,CPU 暂时中断现行程序的运行,而自动转去执行处理该事件的子程序;当处理结束后 CPU 又返回到被中断程序的断点处继续往下执行。 • 中断实际上是CPU所具有的能打断当前执行的程序,转去为临时出现的事件服务,事后又能自动恢复执行原来程序的一种功能。 • 实现这种功能的软、硬件装置称中断系统。
2.中断传送方式的特点 中断传送方式最大的特点是CPU与外设并行工作,即CPU启动外设之后,不再等待外设工作的完成,而是执行另一个程序。当外设完成一次操作后,就向CPU发出中断申请,这时,CPU就暂停现行程序的执行而转去用很少的时间控制外设开始下一次I/O操作。然后CPU又恢复执行原来被中断的程序。这样,既提高了CPU的利用率,又可以使多台外部设备与CPU并行工作。
三、直接存储器存取方式(DMA) • DMA方式的基本思想是在外设和主存之间开辟直接的数据传送通路。 • DMA传送主要由硬件和DMA控制器实现传送功能; • 在这种方式中,当外围设备完成输入或输出数据的准备工作后,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组的数据。
DMA 方式的特点 (1)可在I/O设备与主存之间直接传送数据,以“周期窃取方式”暂停CPU对系统总线的控制,占用时间很少。 (2)传送时,源与目的均直接由硬件逻辑指定。 (3)主存中需要开辟相应的的数据缓冲区,指定数据块长,计数由硬件完成。 (4)在一批数据传送结束后,一般通过中断方式通知CPU进行后处理。 (5)CPU与I/O设备能在一定程度上并行工作,效率很高。 (6)一般用于高速、批量数据的简单传送。
四、I/O通道控制(I/O channel control)方式 • 在DMA控制方式中,DMA对外围设备的管理和某些操作的控制仍需由CPU承担。在大型计算机系统中,系统所配备的外围设备种类多、数量大,这样对外围设备的管理越来越多,且需使用大容量外存,这时主存和外存之间的数据交换量大幅增加,会引起访问主存的冲突增加。因此,在大型计算机系统中设置专门的硬件装置——通道。
I/O通道控制方式 • I/O通道是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O指令集合——通道命令的I/O处理机。 • I/O通道具有自己的指令系统,并能实现指令所控制的操作,但它仅是面向外围设备的控制和数据传送,其指令系统仅是几条与简单的与I/O操作有关的命令。它要在CPU的I/O指令指挥下启动、停止或改变工作状态。 • I/O通道不是一个完全独立的处理机,仅是一个从属于CPU的一个专用I/O处理机。在I/O处理过程中,有一些操作,如码字转换、数据块的错误检测与校正,一般仍由CPU来完成。
五、外围处理机方式 • 外围处理机基本上独立于主机工作,应用于大型高效率的计算机系统中。 • 功能:完成I/O通道所要完成的I/O控制、码字变换、格式处理、数据块的检错、纠错。
小结:几种传送方式应用 • 程序直接控制方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。 • 目前,小型机和微型机中大都采用程序直接控制方式、程序中断控制方式DMA方式。通道方式和PPU方式大都用在大、中型计算机中。
设计输入/输出系统 • 性能 • 考虑吞吐量和延迟 • 适应各种不同类别的设备的性能的差异 • 从操作系统、驱动程序等各方面综合考虑 • 考虑到设备性能的提高 • 可扩展性 • 允许更多的设备接入到输入/输出系统 • 可适应性 • 设备有无 • 设备故障