输入输出的一般操作:
输入输出就是CPU将地址放在地址总线上,选择外设,之后如果是输入,则等候输入设备把数据放上去,然后去数据总线上读,如果是输出,则把数据放到数据总线上,设备把数据拿走。
由于,我们需要确定数据有效才能进行之后的操作,那么怎么确定数据有效呢?
对外围设备进行定时,首先就需要对外围设备进行分类:
一共三类,极慢和慢,慢和中等,高速。
对于这三类的外设而言,I/O接口与外设之间的数据传送方式有不同的方式。
首先速度极慢的设备,采用无条件传送方式,因为太慢了,所以CPU认为数据一直有效。
对于慢速和中速的设备,采用异步定时方式(也叫应答方式)
即由于还不在同一个数量级上,所以会安排若干个握手信号先,用来传递通知信息。
对于高速的外围设备,采用同步定时方式,即速度已经很快了,那我直接就按照固定的周期来读就行了。
之前的都是接口和外围设备之间数据传送的方式,接下来是CPU和I/O接口之间的数据传送方式。
CPU和I/O接口之间进行信息传输一共四种方式,分别是程序查询方式,程序中断方式,DMA方式,通道方式。
输入输出指令:
分别是置0置1,测试状态,数据传送。