计算机组成原理之机器:输入输出系统
笔记来源:哈尔滨工业大学计算机组成原理(哈工大刘宏伟)
Chater3:输入输出系统
3.1 输入输出系统的发展概况
早期阶段
外部设备与主机之间采用分散连接,即每一个设备都有专门的控制线路,这些控制电路和CPU控制电路设计在一起,增加或删除设备很难
输人输出过程是穿插在CPU执行程序过程之中进行的,当I/O设备与主机交换信息时,CPU不得不停止各种运算,因此,I/O设备与CPU是按串行方式工作的,极浪费时间。
外部设备和主机的信息交换采用程序查询方式
接口模块和DMA阶段
外部设备通过接口模块与主机连接,计算机系统采用总线结构,CPU和I/O设备并行工作。
虽然这个阶段实现了CPU和I/O设备并行工作,但是在主机与I/O设备交换信息时,CPU要中断现行程序,即CPU与I/O设备还不能做到绝对的并行工作。为了进一步提高CPU的工作效率,又出现了直接存储器存取(Direct Memory Access,DMA)技术,其特点是I/O设备与主存之间有一条直接数据通路,I/O设备可以与主存直接交换信息,使CPU在I/O设备与主存交换信息时能继续完成自身的工作,故资源利用率得到了进一步提高。
具有通道结构的阶段
在小型和微型计算机中,采用DMA方式可实现高速I/O设备与主机之间成组数据的交换
在大中型计算机中,I/O设备配置繁多,数据传送频繁,若仍采用DMA方式会出现一系列问题,因此采用I/O通道方式进行数据交换
具有I/O处理机(外围处理机)的阶段
输入输出系统发展到第四阶段,出现了I/O处理机。I/O处理机又称为外围处理机(Peripheral Processor),它基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。具有I/O处理机的输入输出系统与CPU工作的并行性更高,这说明I/O系统对主机来说具有更大的独立性。
3.2 输入输出系统的组成
输入输出系统由I/O软件和I/O硬件组成
I/O软件
(1)I/O指令(CPU指令的一部分)
(2)通道指令(通道自身的指令)
通道程序即由通道指令组成,它完成某种外围设备与主存之间传送信息的操作。
I/O硬件
硬件组成一般包括接口模块以及I/O设备两部分
3.3 I/O设备与主机的联系方式
I/O设备是有地址的,若要与主机连接必须要给出I/O设备的地址
I/O设备编址方式
(1)统一编址
统一编址就是将I/O地址看做是存储器地址的一部分。例如,在64K地址的存储空间中,划出8K地址作为I/O设备的地址,凡是在这8K地址范围内的访问,就是对I/O设备的访问,所用的指令与访存指令相似。
(2)不统一编址
不统一编址就是指I/O地址和存储器地址是分开的,所有对I/O设备的访问必须有专用的I/O指令。
显然统一编址占用了存储空间,减少了主存容量,但无须专用的I/O指令。
不统一编址由于不占用主存空间,故不影响主存容量,但需设I/O专用指令。
设备选址
用设备选择电路识别是否被选中
传送方式
串行和并行
联络方式
不论是串行传送还是并行传送,I/O设备与主机之间必须互相了解彼此当时所处的状态,如是否可以传送、传送是否已结束等。
3.4 I/O设备与主机的连接方式
3.5 I/O设备与主机信息传送的控制方式
3.5.1 程序查询方式
程序查询方式是由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
3.5.2 程序中断方式
倘若CPU在启动I/O设备后,不查询设备是否已准备
就绪,继续执行自身程序,只是当I/O设备推备就绪并向
CPU发出中断请求后才予以响应
3.5.3 DMA方式
主存和I/O设备之间有一条直接数据通道,无需CPU参与
3.6 I/O设备
3.7 I/O接口
接口可以看做是两个系统或两个部件之间的交接部分,它既可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。