【知识强化】第七章 输入/输出系统 7.3 I/O接口
下面我们进入第七章的第三节,I/O接口。

I/O接口呢就是解决了外设和主机之间的一个连接的问题。那么我们这一节就要来看一下I/O接口它有哪些功能,以及它是怎么组成的,还有就是我们主机如何来定位到那样一个外设也就是包括I/O端口和它的编址方式。我们这一部分内容呢相较于前两节来说还是比较重要的。

那么我们在第一节当中就已经说过了,I/O接口,这个接口啊就可以看成是任何两个部件之间的一个交接的部分。就比如硬件和硬件的交接部分呢,可以把它看成是一个接口,不仅如此,硬件和软件之间的交接部分,也可以把它看成是一个接口。软件和软件之间,大家应该也听说过这个接口,所以呢接口就是两个部件之间的交接部分,而I/O接口就是说,主机和外部设备这样的一个交接部分。那么这个外设啊,如果再把它细分的话,又可以把分为设备控制器和这样的一个机械部分。反正就是说主机和外设之间的一个交接部分,它就是一个I/O接口。大家要注意和我们操作系统那门课当中做一个区别,操作系统那门课当中我们说了,就是说它把整个接口和I/O控制器把它统称为设备控制器。但是呢在我们计组里面,我们就把I/O接口把它单拎出来了,也就是说把主机和外设之间的一个交接的部分把它称为I/O接口。好的,这个定义大家知道了。

那么I/O接口有哪些功能呢?我们以一个单总线的方式给大家看一下。这个单总线方式我们在第六章就看过了,那么就是说I/O接口它就是实现了主机和外设之间的一个信息交换,那么这个主机想和我们的外设进行一个信息交换的话,必须要通过我们的这个I/O接口然后来实现这样的一个信息交换。

所以I/O接口有哪些功能呢,它要解决哪些问题呢?首先,我们知道啊,第一大功能肯定是为了实现主机和外设之间的一个信息的交换,所以就是要实现主机和外设之间的一个通信的联络控制。还有呢,我们要找到这样的外设,所以我们要进行地址译码和设备选择。那么之后呢要进行信息交换我们知道,我们的主机和外设之间的这样一个传输速度肯定是不一样的,所以还要解决一个速度匹配的问题,所以它就要实现数据缓冲。还有就是说,我们的主机和我们的外设之间要进行一个信息交换的话,它的这样的格式也是可能不同的,所以接口还要解决信息格式转换的一个问题。最后,我们的主机和外设要进行一个信息交换,它要向我们的设备、外设啊传输一个控制的信息,而我们的外设收到主机的控制信息之后,还要给主机一个反馈,所以接口它还有一个作用就是传送控制信息、控制命令和状态信息。那么这是按照要解决的问题来划分的,那么显然这样划分的话有一些碎,就是有一些不太系统,就是想到哪儿说到哪儿,这个记忆起来是不太方便的。

那么我们换一种角度。我们按照这样的一个具体操作的这样的角度呢,它的功能呢有4个。

第一个就是说我要对我们的数据进行一个传送的话,首先我们的主机要对我们的设备进行一个选择。

【知识强化】第七章 输入/输出系统 7.3 I/O接口的更多相关文章
- 【知识强化】第七章 输入/输出系统 7.1 I/O系统基本概念
那么下面,我们将要进入计算机组成原理的最后一章,也就是我们的第七章,输入输出系统的学习.那么这一部分内容呢,我们之前呢一直在提,但是并没有详细地讲解,那么进入到我们第七章输入输出系统这一部分,我们就要 ...
- 输入/输出系统的四种不同工作方式对CPU利用率比较
程序控制工作方式:输入/输出完全由CPU控制,整个I/O过程中CPU必须等待其完成,因此对CPU的能力限制很大,利用率较低 程序中断工作方式:CPU不再定期查询I/O系统状态,而是当需要I/O处理时再 ...
- 第15章-输入/输出 --- 理解Java的IO流
(一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...
- 【知识强化】第五章 输入/输出(I/O)管理 5.1 I/O管理概述
这门课的最后一个章节——设备管理. 操作系统它作为系统资源的管理者,既需要对上层的软件进行管理,也需要对下层的硬件进行管理.操作系统它需要对处理机还有存储器这些硬件进行管理,但是这些硬件其实是在计算机 ...
- 【知识强化】第五章 输入/输出(I/O)管理 5.2 I/O核心子系统I
学习I/O核心子系统相关的一系列功能. 设备独立性软件.设备驱动程序.中断处理程序这三层其实是属于操作系统的内核部分的,所以它们也称作“I/O核心子系统”,又可以简称为“I/O系统”.在考研当中我们需 ...
- 【知识强化】第二章 数据的表示和运算 2.4 算术逻辑单元ALU
从本节开始我们就进入到本章的最后一节内容了,也就是我们算术逻辑单元的它的实现.这部分呢是数字电路的一些知识,所以呢,如果你没有学过数字电路的话,也不要慌张,我会从基础开始给大家补起.那么在计算机当中, ...
- 第15章-输入/输出 --- File类
(一) Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入.输出两种IO流. 每种输入.输出流又分为字节流和字符流两大类: (1)字节流以字节为单位来处理输入.输出 ...
- JAVA输入/输出系统中的其他流学习笔记
一.字节数组流 字节数组流类能够操作内存中的字节数组,它的数据是一个字节数组.字节数组流类本身适配器设计模式,它把字节数组类型转为流类型使得程序能够对字节数组进行读写操作. 1.ByteArrayIn ...
- 第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介
PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云.存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的 ...
随机推荐
- k8s登录harbor报错:Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request cance
[root@k8s-node02 ~]# docker login 192.168.180.105:1180 Username: admin Password: Error response from ...
- ecshop 除去版权信息
ECSHOP 2.73彻底去版权的方法 前台部分: 1. 去掉头部TITLE “- Powered by ecshop” 后者打开includes/lib_main.php $page_title = ...
- 「LibreOJ β Round #2」计算几何瞎暴力
https://loj.ac/problem/517 题解 首先我们如果没有排序这个骚操作的话,可以直接记一下各个数位的前缀和,然后异或标记给全局打,查询的时候先把区间信息提取出来然后整体异或就好了. ...
- Redis的消息订阅/发布 Utils工具类
package cn.cicoding.utils; import org.json.JSONException; import org.json.JSONObject; import redis.c ...
- onload in JavaScript
https://www.w3schools.com/tags/ev_onload.asp Example Execute a JavaScript immediately after a page h ...
- mysql依据某一张表的字段,查询出对应的表所在的数据库
表太多,只记得这个表有一个mygame的字段,但是并不知道这张表在那个数据库下,只能根据这个字段查找对应的表和所在数据库 select table_schema,table_name from inf ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_3_转换流的原理
FileReader源码的构造方法.底层使用FileInputStram读取 编码不一样占用的字节大小也不一样.GBK一个汉字占用 2个字节. utf-8一个汉字占用三个字节 转换流InputStre ...
- vue 常用插件,保存
UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 mint-ui- Vue 2的移动UI元素 iview- 基于 Vuejs 的开源 UI ...
- gitee.ZC_blog快速方案
1. 1.1.改 hexo的配置文件中 gitee的路径 复制URL,到hexo的配置文件_config.yml …… deploy: type: git # type为git repo: https ...
- Eigen的aligned_allocator
今天看ORBSLAM2中的OptimizeEssentialGraph()函数时,对一句代码中的aligned_allocator不太清楚: vector<g2o::Sim3,Eigen::al ...