首页 > 其他分享 >IO设备综述

IO设备综述

时间:2022-08-26 17:49:24浏览次数:62  
标签:DMA 综述 中断 接口 IO 寄存器 CPU 设备

常见IO设备

鼠标键盘显示器打印机磁盘光盘,略述

 

IO接口/IO控制器

 

 IO设备千千万,只有接口不会变。

内置linux寄存器,体现了IO的本质和linux哲学:一切皆文件

状态/控制寄存器两个功能一次使用,因为两个是单向的,所以可以合在一起。读的时候是状态寄存器,写的是时候是控制寄存器。

编制方式可以统一编制和独立编制。统一编制使用内存访问指令,独立编制使用专门的IO指令。

 

IO执行方式

主要有两大类,不断查询方式和异步中断方式。

不断查询方式就是cpu一直持续关注IO接口进展,刷新后就得到并执行,适合低速设备,比如鼠标每秒30次这种对主频利用率占0.006%这种IO设备。对于高速访问设备很吃CPU利用率

异步中断方式

开始IO操作的时候发送一个中断指令(实际上是设置INTR寄存器里面的一位)当IO操作完成后向CPU发送一个中断指令,提醒CPU已完成。

 

细说中断

基本操作:开中断关中断通过PSW寄存器里面的一位IF实现(挡不住不可屏蔽中断,如断电、强制关机)。中断屏蔽字用硬件电路实现。中断优先逻辑用硬件电路实现。中断隐指令由CPU自己实现(包括关中断、保护断点、中断服务程序寻址)

 

单重中断:基础中断模型,关中断保护现场执行程序回归现场开中断

 

 

多重中断:添加了中断优先抢占功能,缩短了开关中断间的指令长度,只把保护和恢复现场部分设定为原语,实现了允许抢断的功能。中断向量实现了中断程序的入口地址。中断变换器实现了找到中断向量的地址。

 

 

DMA:一种特殊的IO接口

别的IO接口只能被动请求和等待CPU,但是DMA接口搭载了控制电路和寄存器,使得它可以主动传输数据。具体结构如下图。

 执行过程是CPU想告诉DMA从哪里取多少数据,放到哪个地址,然后DMA执行,执行完之后发送一个中断请求通知CPU任务完成。

DMA也可以接受IO设备的请求,将请求触发器置为1后开始工作。

具体流程如图

 

 DMA优先级比中断请求高,比CPU高,压着CPU打

当和CPU出现争论时候,具体有以下几种解决方法:
1、直接霸占控制权,知道任务完成

2、把每个时钟周期分为两部分,第一部分给DMA用

3、窃取某几个完整的时钟周期,来用

 

标签:DMA,综述,中断,接口,IO,寄存器,CPU,设备
From: https://www.cnblogs.com/EeiKo/p/16628315.html

相关文章