计算机组成原理 - 输入输出系统(1)
输入输出系统
概述
发展概况
- 早期阶段:I/O 设备与主存交换信息都必须通过CPU
- 接口模块和DMA阶段:I/O 设备通过接口模块与主机连接,计算机系统采用了总线结构
- 具有通道结构的阶段:依赖通道管理的I/O设备在与主机交换信息时,CPU不直接参与管理,故提高了CPU的资源利用率
- 具有I/O处理机的阶段:它基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作,具有I/O处理机的输入输出系统与CPU工作的并行
输入输出系统的组成
I/O软件
- I/O指令(机器指令的一种)
- 操作码字段可作为I/O指令与其他指令(如访存指令、算逻指令、控制指令等)的判别代码
- 命令码体现I/O设备的具体操作
- I/O指令的设备码相当于设备的地址
- 通道指令(通道自身的指令):对具有通道的I/O系统专门设置的指令,这类指令一般指出数据组的首地址、传送字数、操作命令
- 上述两者的区别
- 通道指令是通道自身的指令,用来执行I/O操作,如读、写、磁带走带及磁盘找道等
- 而I/O指令是CPU指令系统的一部分,是CPU用来控制输入输出操作的指令,由CPU译码后执行
I/O硬件(了解)
计算机系统中用于与外部设备进行数据传输的物理设备。这些硬件组件使得计算机能够与用户、存储设备、网络以及其他计算机进行交互
I/O 设备和主机的联系方式
I/O 设备编址方式
- 统一编制(用取数、存数指令):就是将 I/O 地址看做是存储器地址的一部分
- 不统一编址(有专门的 I/O 指令):指 I/O 地址和存储器地址是分开的,所有对 I/O设备的访问必须有专用的 I/O 指令
显然统一编址占用了存储空间,减少了主存容量,但无须专用的 I/O 指令。不统一编址由于不占用主存空间,故不影响主存容量,但需设 I/O 专用指令
设备寻址
用设备选择电路识别是否被选中
传送方式
- 串行:若在同一瞬间只传送一位信息,在不同时刻连续逐位传送一串信息
- 并行:在同一瞬间,n 位信息同时从CPU输出至 I/O 设备
联络方式
- 立即响应:主要事对于一些工作速度十分缓慢的 I/O 设备,当他们与 CPU 发生联系的时候,通过都已经处于等待的状态,只要 CPU 的 I/O 指令一到就会立即响应
- 异步工作采用应答信号,主要应对一些 I/O 设备与主机工作速度不匹配的时候,通常采用异步工作方式
- 同步工作采用同步时标联络:同步工作要求 I/O 设备与 CPU 的工作速度完全同步
I/O设备与主机的连接方式
辐射式连接
采用辐射式连接方式时,要求每台 I/O 设备都有一套控制线路和一组信号线,因此所用的器件和连线较多,对 I/O 设备的增删都比较困难(计算机发展的初级阶段)
总线连接
通过一组总线(包括地址线、数据线、控制线等),将所有的 I/O 设备与主机连接(现代大多数计算机系统所采用的方式)
I/O设备与主机信息传送的控制方式
I/O 设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、直接存储器存取方式(DMA)、I/O 通道方式、I/O 处理机方式
程序查询方式
程序查询方式是由CPU通过程序不断查询 I/O 设备是否已做好雅备,从而控制 I/O 设备与主机交换信息
缺少:CPU 和 I/O 处于串行传输,CPU 的工作效率不高
程序中断方式
徜若CPU在启动I/O设备后,不查询设备是否已准备就绪,继续执行自身程序,只是当I/O设备准备就绪并向CPU发出中断请求后才予以响应,这将大大提高CPU的工作效率
DMA方式
在DMA方式中,主存与 I/O 设备之间有一条数据通路,主存与 I/O 设备交换信息时,无须调用中断服务程序。若出现 DMA 和 CPU 同时访问主存,CPU 总是将总线占有权让给 DMA,通常把 DMA 的这种占有称为窃取或挪用。窃取的时间一般为一个存取周期,故又把DMA占用的存取周期窃取周期或挪用周期
而且,在DMA窃取存取周期时,CPU尚能继续作内部操作(如乘法运算)。可见,与程序查询和程序中断方式相比,DMA方式进一步提高了CPU的资源利用率
三种方式区别示意图
I/O设备
概述
中央处理器和主存构成了主机,除主机外的大部分硬件设备都可称为 I/O 设备或外部设备,或外围设备,简称外设
I/O设备的结构框图
外部设备大致分三类
- 人机交互设备:能将人体五官可识别的信息和机器可识别的信息相互转换的(如键盘、鼠标、扫描仪、摄像机、语音识别器等)
- 计算机信息存储设备:系统软件和各种计算机的有用信息,其信息量极大,需存储保留起来(如磁盘、光盘、磁带等等)
- 机-机通信设备:用来实现一台计算机与其他计算机或与其他系统之间完成通信任务的设备(如调制解调器等等)
输入设备(了解)
- 键盘:用于输入文本和命令
- 鼠标:用于导航和选择屏幕上的项目
- 触摸屏:允许用户通过直接触摸屏幕来与计算机交互
- 扫描仪:用于将物理文档转换成数字格式
- 摄像头:捕捉图像和视频
- 条形码阅读器:读取条形码并将其转换成数字信息
- 数码化仪:如图形板,用于绘制和输入图形
输出设备(了解)
- 显示器:显示计算机生成的图像和文本
- 打印机:将计算机生成的文档打印成纸质形式
- 音响设备:播放计算机产生的声音
- 投影仪:将计算机屏幕上的内容投射到其他平面上
其他 I/O 设备(了解)
计算机的I/O设备中有一类既是输入设备,又是输出设备
- 磁盘驱动器:包括硬盘驱动器和固态驱动器,用于存储和检索数据
- USB闪存驱动器:便携式存储设备,用于数据传输
- 网络接口卡:用于连接到计算机网络,实现数据的发送和接收
- 读卡器:读取各种类型的存储卡,如SD卡、CF卡等
I/O接口
概述
I/O 接口通常是指主机与 I/O 设备之间设置的一个硬件电路及其相应的软件控制
为啥要设置接口?
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串-并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备的状态(忙、等待、中断请求)
接口的功能和组成
总线连接方式的 I/O 接口电路
每一台 I/O 设备都是通过 I/O 接口挂到系统总线上的
补充:I/O 总线包括数据线、设备选择线、命令线以及状态线
- 数据线:数据线是 I/O 设备与主机之间数据代码的传送线,其根数一般等于存储字长的位数或字符的位数,它通常是双向的,也可以是单向的
- 设备选择线:设备选择线是用来传送设备码的,它的根数取决于 I/O 指令中设备码的位数。如果把设备码看做是地址号,那么设备选择线又可称为地址线
- 命令线:命令线主要用以传输 CPU 向设备发出的各种命令信号,如启动、清除、屏蔽、读、写等
- 状态线:状态线是将 I/O 设备的状态向主机报告的信号线,例如,设备是否准备就绪等等
接口的功能和组成
功能组成
- 选址功能 设备选择电路
- 传送命令的功能 命令寄存器、命令译码器
- 传送数据的功能 数据缓冲寄存器
- 反映设备状态的功能 设备状态标记(完成触发器 D 工作触发器 B 中断请求触发器 INTR 屏蔽触发器 MASK)
接口类型
I/O接口的基本组成
- 按数据传送方式分类,有并行接口和串行接口(并行接口是将一个字节/一个字的所有位同时传送(如Intel8255);串行接口是在设备与接口间一位一位传送(如Intel8251))
- 按功能选择的灵活性分类,有可编程接口和不可编程接口(可编程接口的功能及操作方式可用程序来改变或选择(如Intel8255、Intel8251)不可编程接口不能由程序来改变其功能,但可通过硬连线逻辑来实现不同的功能(如Intel8212))
- 按通用性分类有通用接口和专用接口(通用接口可供多种I/O设备使用(如Intel8255、 Intel8212)专用接口是为某类外设或某种用途专门设计的(如Intel8279、Intel8275))
- 按数据传送的控制方式分类,有程序型接口和DMA型接口(程序型接口用于连接速度较慢的 I/O 设备,如显示终端、键盘、打印机等(如Intel8259)DMA型接口用于连接高速 I/O 设备,如磁盘、磁带等(如Intel8257))