「这是我参与2022首次更文挑战的第36天,活动详情查看:2022首次更文挑战」。
三种IO方式
程序查询:忙等
通过初始化、启动外设、取外设状态,如果外设未准备就绪则一直查询、准备就绪后传送一次数据,修改传送参数。这种方式接口设计简单、设备量少,但是效率极低,有独立查询和定时查询两种。
程序中断:利用中断系统
程序正常执行流中转而执行另一段程序,中断处理流程、中断响应、CPU响应中断时,由硬件自动处理的操作。关中断,保存断点,引出中断服务程序。有软件查询,硬件向量。
当中断屏蔽时,给中断设置优先级,中断屏蔽字表示中断优先次序的二进制代码。
DMA:完成一块主存的读写后再中断
通过预处理,指定外设地址、主存地址,传送数据个数,启动IO设备,数据写入寄存器,由总线传输入主存。
总线分配策略:
如果使用三总线结构二者同时访问有冲突。
停止CPU访问主存,完全停止CPU工作,简单粗暴。
DMA与CPU交替访存,硬件逻辑复杂,对主存利用不充分。
对比中断方式:
DMA用硬件控制,中断影响频率低,适合高速设备,优先级更高,只能传送数据。
程序中断方式需要在一条指令执行结束才能得到响应,DMA在指令周期内的任意存储周期结束时响应。
软件IO
IO指令:CPU执行的指令,控制IO接口或通道。
通道指令:通道执行的指令,与CPU机器指令不同。
汉明码
汉明码又叫海明码是计算机存储或移动数据时,用来检错纠错的一种方法,适用于内存。
其也采用了奇偶校验位的概念,在数据位后增加一些比特,来检验数据的有效性。其具体的检错与纠错方法也比较容易理解。
IO、IO系统、IO接口、IO流等是计算机中的常用术语,非常重要。