操作系统基础:IO管理概述【下】

本文详细介绍了I/O控制器的基础知识,包括其功能、组成、CPU接口、编址方式以及不同控制方式如程序直接控制、中断驱动、DMA和通道控制的原理、流程和优缺点。通过这些内容,读者可以理解操作系统如何管理和优化硬件与软件的交互,提升计算机性能。
摘要由CSDN通过智能技术生成

在这里插入图片描述

在这里插入图片描述

🌈个人主页:godspeed_lucip
🔥 系列专栏:OS从基础到进阶

🏆🏆本文完整PDF源文件请翻阅至文章底部下载。🏆🏆



🧲1 I/O控制器

⛸️1.1 什么是IO控制器?

image1

⛸️1.2 IO控制器的功能

image2

⛸️1.3 IO控制器的组成

🎄1.3.1 CPU与控制器的接口

(1)该部分实现的功能
用于实现CPU与控制器之间的通信。CPU通过控制线发出命令;通过地址线指明要操作的设备;通过数据线来取出(输 入)数据,或放入(输出)数据
(2)基本组成
①数据寄存器
当设备输入时,存放设备输入的数据(比如键盘键入的字符);当CPU对设备输出时,存放CPU输入的数据。是双向的。

②控制寄存器
CPU发出的IO指令中可能包含一些其他的参数,放在控制寄存器中。是单向的。

③状态寄存器
存放各设备的状态,比如1表示空闲,0表示忙碌,CPU从其中读取。是单向的。

🎄1.3.2 IO逻辑

(1)该部分实现的功能
负责接收和识别CPU 的各种命令(如地址译码),并负责对设备发出命令

🎄1.3.3 控制器与设备机器设备的接口

(1)该部分实现的功能
用于实现控制器与设备之间的通信
(2)基本组成
①与各设备连接的接口
各接口都要实现传输
Ⅰ 数据信息(传送输入/ 输出数据)
Ⅱ 状态信息(设备向控制器反馈自己的状态)
Ⅲ 控制信息(控制器向设备发出控制信息)。

🎄1.3.4 总体示意图

image3

🎄1.3.5 注意

image4

🎄1.3.6 编址方式

(1)内存映像编址
①解释
内存映射 I/O。控制器中的寄 存器与内存地址统一编址
image5
②优点
简化了指令。可以采用对内存进行操作的指令来对控制器进行操作

(2)寄存器独立编址
①解释
寄存器独立编制。 控制器中的寄存器使用单独的地址
image6
②缺点
需要设置专门的指令来实现对控制器的操作,不仅要指明寄存器的地址,还要指明控制器的编号

⛸️1.4 总结

image7

🧲2 I/O控制方式

⛸️2.1 总览

image1

⛸️2.2 程序直接控制方式

🎉2.2.1 什么是程序直接控制方式?

已键盘向CPU键入数据为例:

(1)CPU向控制器发出读指令。 于是设备启动,并且状态寄存器设为 1(未就绪)
(2)CPU轮询检查控制器的状态 (其实就是在不断地执行程序的循环,若 状态位一直是 1,说明设备还没准备好要输入的数据, 于是CPU会不断地轮询,知道状态为为0(设备已经完成输入)
(3)输入设备准备好数据后将数据传给控制器,并报告自身状态(已就绪)
(4)控制器将输入的数据放到数据寄存器中, 并将状态改为0 (已就绪)
(5)CPU发现设备已就绪,即可将数据寄存器中的内容读入CPU的寄存器中,再把CPU寄存器中的内容放入内存
(6)若还要继续读入数据,则CPU 继续发出读指令

🎉2.2.2 完成一次读写操作的流程

image2

🎉2.2.3 CPU干预的频率

image3

🎉2.2.4 数据传送的单位?

每次读写一个字

🎉2.2.5 数据的流向?

image4

🎉2.2.6 优缺点

image5

⛸️2.3 中断驱动方式

🎖️2.3.1 什么是中断驱动方式

image6

🎖️2.3.2 注意

image7

🎖️2.3.3 完成一次读写操作的流程

image8

🎖️2.3.4 CPU干预的频率

image9

🎖️2.3.5 数据传送的单位

每次读/写一个字

🎖️2.3.6 数据的流向

与程序直接控制方式类似
image10

🎖️2.3.7 主要优缺点

image11

⛸️2.4 DMA控制器方式

🏉2.4.1 DMA控制器的基本组成

image12
DR、MAR、DC、CR都是操作系统中的寄存器:
image13

🏉2.4.2 DMA方式的工作流程

以键盘键入数据为例:
CPU将数据存放在内存中的地址存入MAR,DMA负责读取键盘键入的字符,将其存放在DR中,待键入结束后,再将DR中的数据存入MAR中显示的内存地址,并发出中断请求,使CPU进行处理。

🏉2.4.3 完成一次读/写操作的流程

image14

🏉2.4.4 CPU干预的频率

仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。

🏉2.4.5 数据传送的单位

image15

🏉2.4.6 数据的流向

不再经过CPU

image16

🏉2.4.7 主要优缺点

image17

🏉2.4.8 注意

(1)DMA读取数据的过程中,是一次读入一个字,再将读取的字存入DR中,但对于CPU来说,好像是一次读入了一块的数据。
(2)每次读写的只可以是连续的块,如果想读写离散的块,就必须发送多次中断。

⛸️2.5 通道控制方式

🏸2.5.1 基本工作流程

(1)CPU向通道发出I/O指令。指明通道程序(可以理解为CPU下派的任务清单)在内存中的位置,并指明要操作的是哪个I/O设备。之后CPU就切换到其他进程执行了。
(2)通道执行内存中的通道程序,它其中指明了要读入/写出多少数据,读/写的数据应放在内存的什么位置等信息
(3)通道执行完规定的任务后,向CPU发出中断信号,之后 CPU对中断进行处理

🏸2.5.2 通道程序的基本组成

image18
在通道程序中,CPU可以指派一堆任务,同时读/写的数据也不必是连续的,只要指定了内存中的位置就可以。这是对DMA控制方式的改进。

🏸2.5.3 完成一次读/写操作的流程

image19

🏸2.5.4 CPU干预的频率

image20

🏸2.5.5 数据传送的单位

每次读/写一组数据块

🏸2.5.6 数据的流向

数据是在通道的控制下进行的。
image21

🏸2.5.7 优缺点

image22

⛸️2.6 总结

image23

🧲3 总结

本文PDF文件下载链接:提取码:ikun

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

在这里插入图片描述

在这里插入图片描述

  • 34
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值