输入/输出系统
输入输出系统(I/O系统)由I/O软件和I/O硬件两部分构成。
I/O软件:包括驱动程序、用户程序、管理程序等。采用I/O指令和通过指令实现CPU与I/O设备的信息交换
I/O硬件:包括外部设备、设备控制器、接口等。I/O设备通过设备控制器与抓捕你的系统总线相连。
I/O系统的功能
(1)完成计算机内部二进制信息和外部多种信息形式的交流。
(2)保证CPU能够正确选择输入输出设备并实现对其控制,传输大量数据、避免数据错误
(3)利用数据缓冲、选择合适的数据传送方式等,实现主机与外设间速度的匹配
I/O接口
I/O接口负责实现CPU通过系统总线把I/O电路和外部设备联系在一起,主机通过I/O接口与外部设备进行数据交换。
I/O接口由硬件电路和软件编程两部分组成,I/O的硬件为:I/O接口芯片和I/O接口控制卡。
接口的基本功能:
(1)设置数据缓冲以解决两者速度差异所带来的不协调问题。
(2)协调CPU和外设两者在信息的类型和电平的差异
(3)设置信息转换逻辑以满足对各自格式的要求。
(4)设置时序控制电路来同步CPU和外设的工作。
(5)地址译码和设备选择功能,识别 CPU 要访问的外设
(6)设置中断和DMA 控制逻辑
I/O端口
端口是指I/O接口内CPU能够访问的寄存器,端口主要包括数据端口、状态端口、控制端口。端口加上相应的控制逻辑即构成I/O接口。
I/O端口想被CPU访问,需要对端口进行编号,每个端口对应了一个端口地址。
I/O端口的编址方式
(1)统一编址:内存地址和端口地址统一在一个公共空间。在公共空间里划分一部分地址分配给端口使用,其余地址归内存单元使用。区分存储单元和I/O设备靠不同的地址码。
优点:不需要区分内或端口指令,使CPU访问I/O的操作更加灵活。
缺点:端口占用部分内存空间,影响内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加
(2)独立编址:内存地址和端口地址是完全独立的两个空间。
优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计。
缺点:需要有专用的I/O指令,程序设计的灵活性较差
I/O控制方式
常用的I/O方式有:直接程序控制、中断方式、DMA。
直接程序控制
外设数据的输入/输出过程在CPU执行程序的控制下完成的。分为无条件传送和程序查询方式
1、无条件传送
外设可以无条件随时接收CPU发来的输出数据,也能无条件随时向CPU提供需要输入的数据
2、程序查询方式
进行I/O操作时,先发出询问信号,读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传送还是等待。
缺点:降低了CPU的效率;对外部突发事件无法做出实时响应。
中断方式
I/O系统发出中断请求信号通知CPU,CPU接到中断请求信号后,保存当前正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,再返回被打断的程序继续执行。当I/O系统与外设交换数据时,CPU无须等待也必去查询I/O的状态,可以抽身去处理其他任务。
与程序控制方式相比,中断方式因为CPU无需等待而提高效率
中断处理方法:多中断处理法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法
1、多中断处理法
给每个中断源来一根属于自己的中断请求信号线
2、中断软件查询法
CPU收到中断后转到中断服务程序,由该程序来确认中断源
3、菊花链法
硬件查询法,所有的I/O模块共享一条共同的中断请求线,中断确认信号依次在I/O模块间传递
4、总线仲裁法
一个I/O设备在发出中断请求前,必须先获得总线控制权。由总线仲裁机制来决定谁有权发出中断信号
5、中断向量
中断向量用来保存各个中断源的中断服务程序入口地址,当外设发出中断请求信号(INTR),由中断控制器(INTC)确定其 中断号。
优先级控制
在进行优先级控制时解决以下两种情况。(1)当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。(2)当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出请求,CPU暂时中断正在执行的中断服务程序,对优先级更高的中断源服务(中断嵌套)
直接内存存取
直接内存存取(DMA),一种高速的数据传输方式,数据不经过CPU就直接在存储器及输入/输出设备之间进行传输,降低了PCUU在传送数据的开销。
DMA传送过程:(1)外设向DMA控制器(DMAC)提出DMA传送请求。(2)DMAC向CPU提出总线请求,请求信号通常加到CPU的请求输入端HOLD上。(3)在一个总线周期后,CPU响应请求,DMA接管总线控制权,进入DMA操作周期
(4)DMAC送出地址信号(内存地址及长度)和控制信号(自动修改主存地址计数和传送长度计数)
(5)规定数据在主存和外设的传送方向,发出控制指令,执行数据传送操作。(6)向CPU报告DMA操作的结束
输入/输出处理机
通道,又称IOP,分担CPU的部分功能,实现对外设的统一管理,完成外设与主存之间间的数据传送。通道方式极大程度地提高了CPU的工作效率。
IOP数据传送方式包括字节多路方式、选择传送方式和数据多路方式。