🧲1 I/O控制器
⛸️1.1 什么是IO控制器?
⛸️1.2 IO控制器的功能
⛸️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 总体示意图
🎄1.3.5 注意
🎄1.3.6 编址方式
(1)内存映像编址
①解释
内存映射 I/O。控制器中的寄 存器与内存地址统一编址
②优点
简化了指令。可以采用对内存进行操作的指令来对控制器进行操作
(2)寄存器独立编址
①解释
寄存器独立编制。 控制器中的寄存器使用单独的地址
②缺点
需要设置专门的指令来实现对控制器的操作,不仅要指明寄存器的地址,还要指明控制器的编号
⛸️1.4 总结
🧲2 I/O控制方式
⛸️2.1 总览
⛸️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 完成一次读写操作的流程
🎉2.2.3 CPU干预的频率
🎉2.2.4 数据传送的单位?
每次读写一个字
🎉2.2.5 数据的流向?
🎉2.2.6 优缺点
⛸️2.3 中断驱动方式
🎖️2.3.1 什么是中断驱动方式
🎖️2.3.2 注意
🎖️2.3.3 完成一次读写操作的流程
🎖️2.3.4 CPU干预的频率
🎖️2.3.5 数据传送的单位
每次读/写一个字
🎖️2.3.6 数据的流向
与程序直接控制方式类似
🎖️2.3.7 主要优缺点
⛸️2.4 DMA控制器方式
🏉2.4.1 DMA控制器的基本组成
DR、MAR、DC、CR都是操作系统中的寄存器:
🏉2.4.2 DMA方式的工作流程
以键盘键入数据为例:
CPU将数据存放在内存中的地址存入MAR,DMA负责读取键盘键入的字符,将其存放在DR中,待键入结束后,再将DR中的数据存入MAR中显示的内存地址,并发出中断请求,使CPU进行处理。
🏉2.4.3 完成一次读/写操作的流程
🏉2.4.4 CPU干预的频率
仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。
🏉2.4.5 数据传送的单位
🏉2.4.6 数据的流向
不再经过CPU
🏉2.4.7 主要优缺点
🏉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 通道程序的基本组成
在通道程序中,CPU可以指派一堆任务,同时读/写的数据也不必是连续的,只要指定了内存中的位置就可以。这是对DMA控制方式的改进。
🏸2.5.3 完成一次读/写操作的流程
🏸2.5.4 CPU干预的频率
🏸2.5.5 数据传送的单位
每次读/写一组数据块
🏸2.5.6 数据的流向
数据是在通道的控制下进行的。
🏸2.5.7 优缺点
⛸️2.6 总结
🧲3 总结
本文PDF文件下载链接:提取码:ikun
操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。
它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。
操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。
在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。
渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍