I/O设备的概念和分类,I/O控制器

文章目录

  • 1.什么是I/O设备
  • 2.按使用特性分类
      • 1.人机交互类外部设备
      • 2.存储设备
      • 3.网络通信设备
  • 3.按传输速率分类
      • 1.低速设备:
      • 2.中速设备:
      • 3.高速设备:
  • 4.按信息交换的单位分类
      • 1.块设备:
      • 2.字符设备:
  • 5.I/O设备的机械部件
  • 6.I/O设备的电子部件(I/O控制器)
      • 1.接收和识别CPU发来的命令
      • 2.向CPU报告设备的状态
      • 3.数据交换
      • 4.地址识别
      • 5.I/O控制器的组成
            • 1.内存映射I/O
            • 2.寄存器独立编址。

1.什么是I/O设备

“I/O”就是“输入/输出”(Input/Output)
I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。

UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。

2.按使用特性分类

1.人机交互类外部设备

用于人机交互,如:鼠标,键盘,打印机等。
数据传输速度慢。

2.存储设备

用于数据存储,如:移动硬盘,光盘。
数据传输速度块。

3.网络通信设备

用于网络通信,如:路由器,调制调节器。
数据 传输速度介于上述二者之间。

3.按传输速率分类

1.低速设备:

鼠标、键盘等——传输速率为每秒几个到几百字节。

2.中速设备:

如激光打印机等—―传输速率为每秒数千至上万个字节。

3.高速设备:

如磁盘等一一传输速率为每秒数千字节至千兆字节的设备。

4.按信息交换的单位分类

1.块设备:

如磁盘等――数据传输的基本单位是“块’。
传输速率较高,可寻址,即对它可随机地读/写任一块。

2.字符设备:

鼠标、键盘等―—数据传输的基本单位是字符。
传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式。

5.I/O设备的机械部件

主要用来执行具体l/O操作。如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。

6.I/O设备的电子部件(I/O控制器)

CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。

这个电子部件就是I/O控制器,又称设备控制器
CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件。

1.接收和识别CPU发来的命令

如CPU发来的read/write命令,I/O控制器中会有相应的控制寄存器来存放命令和参数。

2.向CPU报告设备的状态

I/O控制器中会有相应的状态寄存器,用于记录I/O设备的当前状态。
如:1表示空闲,0表示忙碌。

3.数据交换

I/O控制器中会设置相应的数据寄存器
输出时,数据寄存器用于暂存CPU发来的数据,之后再由控制器传送设备。
输入时,数据寄存器用于暂存设备发来的数据,之后CPU从数据寄存器中取走数据。

4.地址识别

类似于内存的地址,为了区分设备控制器中的各个寄存器,也需要给各个寄存器设置一个特定的“地址”。
I/O控制器通过CPU提供的“地址”来判断CPU要读/写的是哪个寄存器。

5.I/O控制器的组成

在这里插入图片描述
注意:

  • ①一个I/O控制器可能会对应多个设备;
  • ②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/O专用地址,即寄存器独立编址
1.内存映射I/O

控制器中的寄存器与内存地址统一编址。
优点:简化了指令。可以对内存进行操作的指令来对控制器进行操作。

在这里插入图片描述

2.寄存器独立编址。

控制器中的寄存器使用单独的地址。
缺点:需要设置专门的指令来实现对控制器的操作,不仅要指明寄存器的地址,还要指明控制器的编号。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/103948.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue中的加密方式(js-base64、crypto-js、jsencrypt、bcryptjs)

目录 1.安装js-base64库 2. 在Vue组件中引入js-base64库 3.使用js-base64库进行加密 4.Vue中其他加密方式 1.crypto-js 2.jsencrypt 3.bcryptjs 1.安装js-base64库 npm install js-base64 --save-dev 2. 在Vue组件中引入js-base64库 import { Base64 } from js-ba…

快速排序(c语言代码实现)

交换排序:快速排序(不稳定的排序) 快速排序(Quick Sort)是一种常见的排序算法,它采用分治法的思想,对待排序序列进行划分,使得划分出的子序列可以分别进行排序,最终使整…

2、Linux权限理解

个人主页:Lei宝啊 愿所有美好如期而遇 目录 前言 Linux权限的概念 1.文件访问者的分(人) 2.文件类型和访问权限(事物属性) 3.文件权限值的表示方法 4.文件访问权限的相关设置方法 file指令 目录的权限 粘滞位 关于权限的总结 前言 在开始Linux权限理…

python二次开发Solidworks:读取样条曲线数据

目录 1、草图段对象 2、VBA代码分析 3、python代码实现 样条曲线(spline curve)是数学术语,是一种特殊的参数曲线,由一组控制点通过曲线拟合的方式生成。样条一词源于船舶建造中的一种临时性辅助支架,后来被引入计算…

Kettle循环结果集中的数据并传入SQL组件【或转换】里面

简介:在尝试使用了结果集的Demo循环后,进入到生产还是有一点问题的,以下是各个组件的分解解释、遇到的问题,以及解决问题的思路,最后文章的最后会把完整的Ktr文件放出来。记得收藏点赞喔! 先来看张图~来自…

MOTHERNEST双十一我们的目标是:不愁货——有!不愁钱——折!

喜迎双十一,MOTHERNEST进入开抢模式,水飞蓟护肝片,牛初乳粉,液体钙维生素D3胶囊将进行抢购模式,每人限购4件。 开抢时间: 2023.10.31 20:00-2023.10.31 23:59 2023.11.03 20:00-2023.11.03 23:59 限量每…

目标检测的方法

目标检测大致分为两个方向:基于传统的目标检测算法和基于深度学习的目标检测算法。 1.基于传统的目标检测算法 在利用深度学习做物体检测之前,传统算法对于目标检测通常分为3个阶段:区域选取、特征提取和体征分类。 2.基于深度学习的目标检测…

win10安装spark

一、进入spark下载页面 连接 Downloads | Apache Spark 二、解压下载后的.tgz文件 直接解压即可 三、运行 运行bin目录下的 spark-shell.cmd 提示 Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.hom…

NSSCTF做题第9页(3)

[GKCTF 2020]CheckIN 代码审计 这段代码定义了一个名为ClassName的类,并在脚本的最后创建了一个ClassName类的实例。 在ClassName类的构造函数中,首先通过调用$this->x()方法获取了请求参数$_REQUEST中的值,并将其赋值给$this->code属性…

短视频矩阵系统软件源码

短视频矩阵系统软件源码 视频成为获得免费流量最便宜的渠道,平台给所有视频最基础的保底流量。如果按照一个视频最低500流量计算,5个账户就是2500的流量,200个视频就是50W流量,如果从其他渠道获得50W流量是个很困难的事情。短视频…

kubeadm初始化的k8s集群证书续期—— 筑梦之路

脚本自动化方式 这个是一个开源的项目:https://gitee.com/ximy/update-kube-cert 该项目可以自动化更新k8s集群的证书,使用也很简单。 该脚本可将 kubeadm 生成的证书有效期更新为 10 年。 git clone https://github.com/yuyicai/update-kube-cert.g…

Notepad++正则查询替换操作

Notepad编辑器查找功能非常强大,本处记录一些实战中常用到复杂查询替换操作。 注意:如果是重要文件,替换操作前最好备份;当前一个操作后也可以用ctrlz恢复。 查找重复行 用查找(ctrlf)功能,用正则表达式模式匹配。 查…

PyCharm改变代码背景图片的使用教程

一个好的集成环境是学习和使用一门编程语言的重中之重,这次我给大家分享如何改变PyCharm软件的代码背景图片。 说明:本教程使用的是汉化版PyCharm软件。 打开PyCharm软件。 点击软件最上方导航栏的文件,然后找到设置。 打开设置然后点击外观…

【离散数学必刷题】命题逻辑(第一章 左孝凌)刷完包过!

复习16题: 【1】下列哪个语句是真命题() A、今天天气真好! B、我正在说谎。 C、如果7 2 10 ,那么4 6 5。 D、如果7 2 9 , 则 4 6 5。 对于A,只有具有确定真值的陈述句才是命题&#xf…

酷开科技 | 酷开系统沉浸式大屏游戏更解压!

随着家庭娱乐需求日益旺盛,越来越多的家庭消费者和游戏玩家开始追求大屏游戏带来的沉浸感。玩家在玩游戏的时候用大屏能获得更广阔的视野和更出色的视觉包围感,因此用大屏玩游戏已经成为了一种潮流。用酷开系统玩大屏游戏,过瘾又刺激&#xf…

C语言每日一题(19)回文素数

牛客网 BC157 回文素数 题目描述 描述 现在给出一个素数,这个素数满足两点: 1、 只由1-9组成,并且每个数只出现一次,如13,23,1289。 2、 位数从高到低为递减或递增,如2459,87631。 请你判断一下&am…

HCIP-MGRE实验

实验拓扑图 需求 1 R5为ISP ,只能进行IP地址配置;其所有地址均配为公有IP地址 2 R1和R5间使用PPP的PAP认证,R5为主认证方; R2于R5之间使用ppp的chap认证,R5为主认证方; R3于R5之间使用HDLC封装。 3 R1/R2/R3构建一个MGRE环境,R1为…

idea 基础设置

1、设置 IDEA 主题 2、自动导包和优化多余的包 3、同一个包下的类,超过指定个数的时候,导包合并为* 4、显示行号 , 方法和方法间的分隔符: 5、忽略大小写,进行提示 6、多个类不隐藏,多行显示 7、设置默认的…

城市正视图(Urban Elevations, ACM/ICPC World Finals 1992, UVa221)rust解法

如图5-4所示,有n(n≤100)个建筑物。左侧是俯视图(左上角为建筑物编号,右下角为高度),右侧是从南向北看的正视图。 输入每个建筑物左下角坐标(即x、y坐标的最小值)、宽度…

(完全解决)如何输入一个图的邻接矩阵(每两个点的亲密度矩阵affinity),然后使用sklearn进行谱聚类

文章目录 背景输入点直接输入邻接矩阵 背景 网上倒是有一些关于使用sklearn进行谱聚类的教程,但是这些教程的输入都是一些点的集合,然后根据谱聚类的原理,其会每两个点计算一次亲密度(可以认为两个点距离越大,亲密度越…
最新文章