计算机组成与体系结构-I/O数据传输
I/O设备与主机数据传输
早期计算机的I/O种类比较少,与主存交换信息都是通过CPU,而现代计算机的I/O种类较多,如果使用这种方式会使CPU的效率大大降低,如果想要提高资源利用率,那么我们就必须引入一些机制,来让整个机器工作效率变高
程序查询方式
由CPU通过程序不断查询1/0设备是否已做好准备,从而控制I/O设备与主机交换信息;CPU要一个字一个字的从I/O设备取出,经CPU送至主存,CPU工作效率低
中断查询方式
在启动I/O设备后,CPU不查询I/O设备是否已准备就绪,而是继续执行自身程序,只有当I/O设备准备就绪并向CPU发出中断请求后才予以响应
DMA方式
在DMA方式中,主存与I/O设备之间有一条数据通路,DMA通过通路把数据传送到主存储器,无需CPU的参与
指令周期(Instruction Cycle):取出并执行一条指令的时间。
总线周期(BUS Cycle):也就是一个访存储器或IO端口操作所用的时间。DMA响应过程为:DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知IO接口开始DMA传输。
时钟周期(Clock Cycle):又称震荡周期,是处理操作的最基本单位.
指令周期、总线周期和时钟周期之间的关系:一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。一个总线周期包会一个(只有取址周期)或多个机器周期。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期
I/O通道方式
通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件可以视为一种具有特殊功能的处理器
总结
工作方式 | 特点 |
---|---|
程序查询方式 | CPU必须不停地测试I/O设备的状态端口。CPU与I/O设备是串行工作的, |
程序中断方式 | 某个进程要启动某个设备时,CPU就向相应的设备 控制器发出一条设备I/O启动指令,然后CPU又返回 做原来的工作。CPU与I/O设备可以并行工作。 |
DMA通道方式 | 通过DMA控制器直接进行批量数据交换,除了在数 据传输开始和结束时,整个过程无须CPU的干预。 |
考点
当用户操作设备(如键盘、鼠标)时,硬件会发出中断信号,操作系统会调用相应的中断处理程序来处理这些输入,
中断是管理键盘输入最适合的方式。当键盘有输入时,会产生一个中断信号,CPU会立即停止正在执行的任务,转而处理键盘输入,处理完成后再返回原任务,这样可以及时响应键盘输入而又不会占用过多的CPU时间。