关于设备控制器和 I/O 通道的理解
设备控制器
设备控制器是CPU 与 I/O 设备之间的接口,它接收 CPU 发来的命令,去控制 I/O 设备工作,使 CPU 从繁杂的设备控制事务中解放出来。
当 CPU 要操作 I/O 设备时,首先要启动这个设备,一方面将启动命令发送给设备控制器,另一方面通过地址线将 I/O 设备的地址发给设备控制器,设备控制器的 I/O 逻辑对收到的地址进行译码,再根据所译出的命令对相应的设备进行操作。
由此看来,I/O 设备控制器的作用是 译码器+执行器。
CPU 对 I/O 的操作命令并不是只有一条,而是多条的,因此操作一次 I/O 设备,首先 CPU 向设备控制器发送一条条命令,设备控制器接收到一条条命令,然后译码、执行。因此设备控制器一定程度上使 CPU 从 I/O 控制上解脱了出来,但并未完全解脱。这就有了 I/O 通道的产生。
I/O通道
关于 I/O 通道的工作流程详见这篇博文。
I/O 通道实际上是一种特殊的处理机,并且其与 CPU 共享内存。
当 CPU 要操作某个 I/O 设备时,它并不需要一条条将 I/O 指令(称为通道程序)发送给设备控制器,只需要向通道发出 I/O 指令,指明这一条条指令在内存的什么地方,并且指明要操作的是哪个设备,然后 CPU 就可以去忙别的事情了。
I/O 通道接收要 CPU 发送来的这些信息之后,就可以从内存中找到并执行这个通道程序,即发送启动命令和一条条 I/O 命令给设备控制器;当对 I/O 设备的操作完成之后,通道向 CPU 发出中断信号,告诉 CPU 相应的操作已经完成。
由此看出,I/O 通道作为一种特殊的处理机(实际上就相当于早期的外围机),承担了原来 CPU 处理 I/O 操作的一部分功能,使得 CPU 从 I/O 操作种解放出来,CPU 和对 I/O 操作可以并行。
在引入 I/O 通道之后,I/O 系统结构形成了四级结构:
- 最低级为I/O设备,
- 次低级为设备控制器,
- 次高级为I/O通道,
- 最高级是 CPU。
关于设备控制器和 I/O 通道的理解的更多相关文章
- 操作系统-I/O(1)设备控制器
I/O设备通常是物理上相互独立的设备,它们一般通过通信总线(电缆)与I/O控制器连接. 例如,图中IDE接口是通信总线而非I/O总线. I/O控制器(I/O接口)在扩展卡或者南桥芯片内,通过I/O总线 ...
- s3c2440存储控制器和地址以及启动的理解
转自:http://blog.sina.com.cn/s/blog_5ddb672b0100fkcf.html 1.首先应该先了解Flash ROM的种类 NOR FLASH地址线和数据线分开,来了地 ...
- 学习OpenCV2——Mat之通道的理解
本文详细介绍了opencv中涉及通道的知识,包括图像类型转换,通道合成分解,图像的显示. 来源:http://blog.csdn.net/GDFSG/article/details/50927257 ...
- 操作系统原理2——OS结构
操作系统原理2——OS结构 计算机系统是由硬件系统和软件系统两部分组成, 操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个 ...
- OS复习
提纲 一 操作系统的定义,各章节名词定义. 分时多道- OS四大特征,五大功能. 二 进程 创建终止挂起激活 PCB 原语:创建终止挂起激活唤醒 互斥和同步,临界资源,临界区 信号量的基础概念,受保护 ...
- 操作系统原理之I/O设备管理(第六章上半部分)
一.I/O系统的组成 I/O系统不仅包括各种I/O设备,还包括与设备相连的设备控制器,有些系统还配备了专⻔⽤ 于输⼊/输出控制的专⽤计算机,即通道.此外,I/O系统要通过总线与CPU.内存相连. I/ ...
- 设备驱动与控制器 I/O
控制器是对硬件发起控制命令,负责给系统提供接口,想要正常使用该硬件功能系统中必须安装相应驱动 I/O设备 cpu和存储器并不是操作系统唯一需要管理的资源,I/O设备也是非常重要的一环. I/O设备一般 ...
- usb设备驱动描述,王明学learn
usb设备驱动 本章主要内容包含以下:USB总线介绍,USB协议分析,USB系统架构 一.USB总线介绍 1.1USB发展史 USB(Universal Serial Bus)通用串行总线,是一种外部 ...
- 计算机原理学习(2)-- 存储器和I/O设备和总线
前言 前一篇文章介绍了冯诺依曼体系结构的计算机的基本工作原理,其中主要介绍了CPU的结构和工作原理.这一篇主要来介绍存储区,总线,以及IO设备等其他几大组件,来了解整个计算机是如何工作的. 这些东西都 ...
随机推荐
- DDD从入门到精通:基础篇
这篇文章主要还是表述清楚DDD相关的基础概念,因为DDD入门有一定的专业名词,还是得有个基本的了解. 先讲解下领域模型作用: 对软件需求进行设计,维持其内在逻辑的一致性 1)划分边界.也是一种高内聚. ...
- gin框架中的重定向
重定向redirect func someRedirect(context *gin.Context) { context.Redirect(http.StatusMovedPermanently, ...
- react diff算法浅析
diff算法作为Virtual DOM的加速器,其算法的改进优化是React整个界面渲染的基础和性能的保障,同时也是React源码中最神秘的,最不可思议的部分 1.传统diff算法计算一棵树形结构转换 ...
- Ali云组件概念
- python16day
昨日回顾 自定义模块 模块的两种执行方式:脚本方式.调用方式 name 模块导入的方式 相对导入 random:获取随机数相关 今日内容 常用模块的介绍 time:和时间相关 datetime os ...
- Three.js 实现2022冬奥主题3D趣味页面 🐼
背景 迎冬奥,一起向未来!2022冬奥会马上就要开始了,本文使用 Three.js + React 技术栈,实现冬日和奥运元素,制作了一个充满趣味和纪念意义的冬奥主题 3D 页面.本文涉及到的知识点主 ...
- ApacheCN Java 译文集 20211012 更新
Effective Java 中文第三版 1. 考虑使用静态工厂方法替代构造方法 2. 当构造方法参数过多时使用 builder 模式 3. 使用私有构造方法或枚类实现 Singleton 属性 4. ...
- Linux中3个文件查找相关命令详解
源于:https://mp.weixin.qq.com/s/VPs-IXY6RoxbltHIxtIbng which命令 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令 ...
- 自定义的类实现copy操作
1.自定义类实现copy操作 让类遵守NSCopying协议 实现 copyWithZone:方法,在该方法中返回一个对象的副本即可. 在copyWithZone方法中,创建一个新的对象,并设置该对象 ...
- python日志装饰器实现
问题出自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184355 ...