计算机组成原理之I/O方式

350 阅读4分钟

1. I/O方式的基本概念

I/O即输入/输出,代表了计算机系统与外部世界进行交互的方式。具体来说,I/O涉及将数据从外部设备(如键盘、鼠标、磁盘、打印机等)读入到计算机内部,或者将计算机内部的数据发送到外部设备。

在计算机组成原理中,I/O方式是研究如何实现这种数据交互的技术和方法。

2. I/O方式的分类与特点

I/O方式主要分为程序查询方式、程序中断方式、DMA(直接内存访问)方式和通道方式。

程序查询方式:由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。这种方式简单但效率较低,主要用于数据传输率较低的外部设备。

程序中断方式:在I/O设备准备就绪并向CPU发出中断请求时,CPU才予以响应。这种方式提高了效率,能够实现CPU与I/O设备的并行工作。

DMA方式:主存和I/O设备之间有一条直接数据通路,交换信息时无须调用中断服务程序。这种方式传输速度快,但需要在传送开始前进行预处理,结束后进行后处理。

通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设。主机在执行I/O命令时,只需启动相关通道,通道将执行通道程序,从而完成I/O操作。这种方式进一步提高了系统的效率和并行性。

3. 主要I/O方式的工作原理

程序查询方式:CPU执行初始化程序,并预置传送参数,然后向I/O接口发出命令字,启动I/O设备。CPU不断查询I/O设备状态,直到外设准备就绪后进行数据传送。这种方式需要CPU不断轮询I/O设备状态,造成CPU资源的浪费。

程序中断方式:当外部设备处于就绪状态(如输入设备将数据准备好或输出设备准备好接收数据)时,通过相应的硬件电路向CPU发送中断请求信号。CPU在响应中断后,执行中断服务程序为外设服务,完成一次主机与外设之间的数据传送。这种方式实现了CPU与I/O设备的并行工作,提高了系统效率。

DMA方式:在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。DMA控制器包含主存地址计数器、传送长度计数器、数据缓冲寄存器等部件。当I/O设备准备好数据后,给出一个控制信号使DMA请求触发器置位,DMA控制器开始工作。在数据传送过程中,CPU可以继续执行其他任务。传送结束后,DMA控制器通过中断方式向CPU发出中断请求,CPU执行中断服务程序进行后处理。

通道方式:通道是一种特殊的处理机,具有自己的指令和程序,能够独立于CPU执行I/O操作。通道通过执行通道程序来控制和管理I/O设备与主存之间的数据传送。这种方式进一步提高了系统的并行性和效率。

4. I/O方式的选择与应用

在选择I/O方式时,需要考虑数据传输率、系统效率、硬件成本以及软件复杂度等因素。

对于数据传输率较低的外部设备,如键盘、鼠标等,可以采用程序查询方式或程序中断方式。

对于数据传输率较高的外部设备,如磁盘、打印机等,则更适合采用DMA方式或通道方式。

在实际应用中,不同的I/O方式可以相互结合使用,以充分发挥各自的优势。例如,在操作系统中,可以根据具体的应用场景和需求,灵活地选择和使用不同的I/O方式来提高系统的整体性能和效率。