下面我们进入第七章的第三节,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接口的更多相关文章

  1. 【知识强化】第七章 输入/输出系统 7.1 I/O系统基本概念

    那么下面,我们将要进入计算机组成原理的最后一章,也就是我们的第七章,输入输出系统的学习.那么这一部分内容呢,我们之前呢一直在提,但是并没有详细地讲解,那么进入到我们第七章输入输出系统这一部分,我们就要 ...

  2. 输入/输出系统的四种不同工作方式对CPU利用率比较

    程序控制工作方式:输入/输出完全由CPU控制,整个I/O过程中CPU必须等待其完成,因此对CPU的能力限制很大,利用率较低 程序中断工作方式:CPU不再定期查询I/O系统状态,而是当需要I/O处理时再 ...

  3. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  4. 【知识强化】第五章 输入/输出(I/O)管理 5.1 I/O管理概述

    这门课的最后一个章节——设备管理. 操作系统它作为系统资源的管理者,既需要对上层的软件进行管理,也需要对下层的硬件进行管理.操作系统它需要对处理机还有存储器这些硬件进行管理,但是这些硬件其实是在计算机 ...

  5. 【知识强化】第五章 输入/输出(I/O)管理 5.2 I/O核心子系统I

    学习I/O核心子系统相关的一系列功能. 设备独立性软件.设备驱动程序.中断处理程序这三层其实是属于操作系统的内核部分的,所以它们也称作“I/O核心子系统”,又可以简称为“I/O系统”.在考研当中我们需 ...

  6. 【知识强化】第二章 数据的表示和运算 2.4 算术逻辑单元ALU

    从本节开始我们就进入到本章的最后一节内容了,也就是我们算术逻辑单元的它的实现.这部分呢是数字电路的一些知识,所以呢,如果你没有学过数字电路的话,也不要慌张,我会从基础开始给大家补起.那么在计算机当中, ...

  7. 第15章-输入/输出 --- File类

    (一) Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入.输出两种IO流. 每种输入.输出流又分为字节流和字符流两大类: (1)字节流以字节为单位来处理输入.输出 ...

  8. JAVA输入/输出系统中的其他流学习笔记

    一.字节数组流 字节数组流类能够操作内存中的字节数组,它的数据是一个字节数组.字节数组流类本身适配器设计模式,它把字节数组类型转为流类型使得程序能够对字节数组进行读写操作. 1.ByteArrayIn ...

  9. 第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介

    PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云.存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的 ...

随机推荐

  1. [luogu]P1053 篝火晚会[数学][群论]

    [luogu]P1053 篝火晚会 题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同 ...

  2. 《SQL Server 2012 T-SQL基础》读书笔记 - 2.单表查询

    Chapter 2 Single-Table Queries GROUP BY之后的阶段的操作对象就是组(可以把一组想象成很多行组成的)了,HAVING负责过滤掉一些组.分组后的COUNT(*)表示每 ...

  3. Hyperledger交易流程

    Hyperledger Fabric Network中的角色 在Hyperledger中,由三种类型的角色: Client:应用客户端,用于将终端用户的交易请求发送到区块链网络: Peers:负责维护 ...

  4. 微信小程序 input 组件

    输入框:该组件是原生组件,使用的时候要注意相关的设置 属性: value:类型 字符串 输入框的初始内容 type:类型 字符串 input类型 属性值:text 文本输入键盘 number 数字输入 ...

  5. js 父子标签同时设置onclick,子标签触发父标签onclick解决办法

    js 父子标签同时设置onclick,子标签触发父标签onclick 或 子标签为a 先触发onclick 再触发 a 的 href: 解决方案:在子标签的onclick里写 var ev = win ...

  6. node.js安装和配置(windows系统)

    node.js安装和配置(windows系统) node javasript vscode  node是javascript的管理工具,所以开发javasript项目都要下载安装和配置node. 传送 ...

  7. Eclipse设置控制台日志输出位置

    1.选择服务器配置 2.设置输出文件路径

  8. Linux_文件系统&磁盘分区

    目录 目录 前言 文件系统 目录结构 File文件标识符 文件系统修复指令 两种磁盘格式 MBR格式 GPT格式 磁盘分区 查看分区 分区的类型 分区最小存储单元 查看当前分区的block的大小 GP ...

  9. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第4节 ArrayList集合_18-练习三_按指定格式打印集合的方法

    主要锻炼用集合作为参数 使用if判断语句

  10. git总览

    git客户端官网:https://git-scm.com/ 下载对应版本安装 服务器安装git 安装依赖:yum install -y curl-devel expat-devel gettext-d ...