文章目录
本文章由公号【开发小鸽】发布!欢迎关注!!!
老规矩–妹妹镇楼:
![](https://i-blog.csdnimg.cn/blog_migrate/eac8cddaf63e8708f2618fc814be45dd.jpeg)
一. 设备管理
(一) 概述
设备管理不但要管理实际IO设备,还要管理诸如设备控制器,DMA控制器,中断控制器,IO控制器等支持设备。IO系统包括设备,控制器,通道,总线和IO软件。
(二) IO系统的结构
1. 微机IO系统
IO设备通常由机械和电子两部分组成,分开处理,电子部分称为设备控制器,可以通过印刷板电路的形式插入总线插槽中,如显卡。微机IO系统采用单总线架构。
2. 主机IO系统
当配备有高速设备时,如果没有控制器,而是直接将设备通过总线直接连接到CPU上,会使得CPU和总线的负担太重,因此在IO系统中添加了通道和控制器来分散压力。
(三) IO系统的控制方式
1. 程序控制IO
CPU根据用户进程的IO语句向IO设备或控制器发出一个IO命令,即IO操作。
2. 中断驱动IO
IO操作由程序发起,在操作完成时由外设向CPU发出中断,通知该程序,数据的每次读写通过CPU。优点是外设进行数据处理时,CPU不必等待,可以继续执行其他程序,CPU和IO是并行的,缺点是传输的数据量少。
3. 直接存储访问IO(DMA)
由程序设置DMA控制器中的若干寄存器值,然后发起IO操作,DMA控制器完成内存和外设的成批数据交换,操作完成时由DMA控制器向CPU发出中断。优点是CPU只需要干预IO操作的开始和结束,是用于高速设备。
4. 通道控制IO
通道又称为IO处理机,能够完成主存储器和外设之间的信息传输,并与CPU并行操作,解决了IO操作的独立性和各部件之间的并行性。一个CPU可以连接多个通道,一个通道可以连接多个控制器,一个控制器可以连接多个设备。
(四) IO软件的组成
1. 概述
分层构造,最高层向用户提供优化接口,最底层与硬件进行交互。
2. IO软件的目标
目标是设备独立性和统一命名。设备独立性是指除了与设备交互的底层软件之外,其他的软件不会依赖于硬件,即独立于特定的设备。统一命名指的是在系统中采取预先设计的,统一的逻辑名称,对各类设备进行命名,并应用在同设备相关的全部软件模块中。
3. IO软件分层
中断处理程序,设备驱动程序,与设备无关的系统软件,用户级软件。
(五) 中断处理程序
1. 中断
中断是指在计算机执行过程中,系统内发生任何非正常的紧急事件,使得CPU暂时中断当前正在执行的程序转而执行相应的事件处理程序。引起中断的时间称为中断源,中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到请求后转到的处理程序为中断响应。
如果CPU内部的处理器状态字PSW的中断允许位被清除,则为禁止中断,即关中断,如果重新设置该位,则为开中断。中断屏蔽指的是CPU有选择地封锁一部分中断而响应另一部分中断。
2. 中断分类
外中断指的是来自处理器和内存外部的终端,如IO中断,调试断点中断;
内中断指的是在处理器和内存中的发生的中断,称为陷阱或异常,包括程序运算中出现的各种错误;
硬中断指的是通过硬件产生的中断请求;
软中断指的是模拟硬中断实现的;
3. 中断优先级
中断源的优先级是在系统设计时指定的,而CPU的优先级则根据执行情况由系统程序动态指定,如果CPU中的PSW的优先级高于中断源,则屏蔽中断。
4. 中断处理过程
(1) 检查响应中断条件
如果有来自中断源的中断请求,并且CPU允许中断。
(2) CPU响应中断
CPU关中断,进入不可再次响应中断的状态。
(3) 保存中断现场
为了在中断结束后能够返回到被中断点,系统必须保存当前处理状态字PSW和程序计数器PC的信息。
(4) 执行中断处理程序
(5) 退出中断,恢复现场
(6) 开中断,CPU继续执行
(六) 设备驱动程序
1. 概述
驱动是直接和硬件交互的软件,其中都是依赖设备的代码。
2. 功能
向控制器发出控制命令;
对各种设备排队,挂起,唤醒等操作;
(七) 通道
1. 概述
通道的作用是使数据的传输独立于CPU,CPU只需要向通道发出IO指令,通道收到命令后,从内存中取出本次IO要执行的通道程序,当通道完成了IO任务后,才会向CPU发出中断信号。
2. 通道的类型
(1) 字节多路通道
含有多条非分配型子通道,每个子通道连接一台IO设备,主通道采用时间片轮转法,轮流为每个子通道服务。只要扫描子通道的速度足够快,且连接到子通道的设备速率不高,就不会丢失信息,因此是用于慢速的设备。
(2) 数组选择通道
可以连接多态高速设备,到那时仅有一个可分配通道,因此在某一段时间内之能够执行一个通道程序,为一台设备输入输出。这样,一个设备会独占通道,直到它自动释放通道,因此通道利用率很低。
(3) 数组多路通道
结合前两个通道特点,使各个子通道分时并行操作,该通道含有多个非分配子通道,因而有很高的的数据传输速率,且通道利用率也高,数据传输通过数组方式。
(八) 设备管理技术
1. DMA技术
直接内存存取(DMA)是指数据在内存和IO设备之间的直接成块传送,在传送一个块的过程中,不需要CPU的干涉,只需要CPU在开始时启动和结束时的处理,实际操作由DMA硬件直接执行完成,CPU此时在执行其他操作。
2. 缓冲技术
为了缓和CPU和IO设备之间速度的不匹配,减少对CPU的中断频率,提高CPU和IO设备之间的并行性。在所有的IO设备和内存之间,都使用了缓冲区来交换数据。
(1) 单缓冲
CPU和外设轮流使用一个缓冲,每当一个用户进程发出一个IO请求,系统便在内存中为它分配一个缓冲区。
(2) 双缓冲
在内存中设置两个缓冲区,一个接受IO的输入,一个向用户发送数据。
(3) 环形缓冲
多个缓冲区和多个指针组成。
(4) 缓冲池
提供多个缓冲,供多个进程共享,可用于输入也可以用于输出,其中至少有三种类型的缓冲区,空闲缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区。
3. 总线技术
(1) 概述
CPU和各种部件,外设之间需要连接起来,为了简化硬件电路设计,常用一组线路,配置适当的接口电路,与各个部件和外设连接起来,这组可以共享连接的传输通道称为总线,便于部件的扩充。
(2) 总线结构
单总线结构:用一条系统总线将各个组件连接起来,总线只能分时工作;
双总线结构:在CPU和主存之间专门搭了一组高速的存储总线,减轻了系统总线的负担,同时内存和外设至今可以通过系统总线交互,不经过CPU;
三总线结构:又增加了IO总线,是外设和通道的数据传输的公共通路,减轻了CPU的负担。