名人说:非学无以广才,非志无以成学。——诸葛亮
本篇笔记整理:Code_流苏(CSDN)
Last(在此处点击使用,直达文末)
First (在文末点击使用,返回文章首部)

目录

  • 1.输入/输出方式
  • 2.无条件I/O方式
  • 3.程序控制I/O方式
    • ①简介
    • ②程序查询的I/O原理
    • ②设备状态字寄存器
    • ③优缺点及应用场景
  • 4.中断I/O方式
    • ①简介
    • ②优缺点及应用场合
  • 5.DMA方式
    • ①简介
    • ②优缺点及应用场合
  • 6.通道和I/O处理机方式
    • ①简介
    • ②通道
    • ③I/O处理机
    • ④优缺点及应用场合

★观前提示:本专栏笔记内容适合有一定的基础或复习时观看,内容如有错,还请大家评论指出!非常感谢!

1.输入/输出方式

  • 无条件I/O方式

  • 程序控制I/O方式

  • 中断I/O方式

  • DMA(Direct Memory Access)方式

  • 通道方式

  • I/O处理机方式

2.无条件I/O方式

◆ 在程序的适当位置直接安排I/O指令,当程序执行到这些I/O指令时,CPU默认外设始终是准备就绪的(I/O总是准备好接收CPU的输出数据,或总是准备好向CPU输入数据),无需检查I/O的状态,就进行数据的传输;
◆ 硬件接口电路和软件控制程序都比较简单。输入时,必须确保CPU执行I/O指令读取数据时,外设已将数据准备好;输出时,必须确保外部设备的数据锁存器为空,即外设已将上次的数据取走,等待接收新的数据,否则会导致数据传送出错,但一般的外设难以满足这种要求。 数据、 避免数据出错;

3.程序控制I/O方式

①简介

◆ 程序控制I/O方式是一种早期计算机采用的输入/输出方式,数据在计算机和外设之间的传送全部靠计算机程序控制;计算机执行I/O指令时,先获取外设状态,并根据外设的状态决定下一步操作。

②程序查询的I/O原理

◆ 程序先向I/O设备发出I/O命令字
◆ 读取I/O设备工作状态信息;
◆ 检查状态字中的标志,看是否可以进行数据交换;
◆ 若设备未准备就绪,则返回到上步,重复查询;否则,发出设备准备就绪信号
◆ CPU与I/O接口的数据缓冲寄存器进行数据交换,与此同时,将接口中的状态标志复位。

②设备状态字寄存器

◆ 用来标志设备的工作状态,以便接口对外部设备进行监视。
◆ CPU通过程序查询设备状态位来判断设备的状态。
◆ 因此,设备状态寄存器是设备对主机的窗口,主机通过它了解设备的状态,并对设备设置操作方式
◆ 设备状态寄存器又叫设备状态字(DSW)是设备所有状态的集合,每种状态均用一个触发器来表示。

程序控制I/O方式特点:何时对何设备进行输入输出操作完全受CPU控制
外围设备与CPU处于异步工作关系,数据的输入/输出都要经过CPU

③优缺点及应用场景

1️⃣优点
计算机和外设之间能够同步,控制简单,硬件简单

2️⃣缺点
CPU的大量时间用来查询外设的状态。

3️⃣适用场景
适用于结构简单,只需少量硬件的电路。

4.中断I/O方式

①简介

当外设准备好后,主动通知CPU并进行接收或输出数据的方法;
CPU接到外设的通知后暂停现行的工作,转入中断服务程序,和外设交换数据,
等中断程序处理完毕后,再返回到被中断的原程序中继续以前被暂停的工作。

②优缺点及应用场合

1️⃣优点
节约CPU时间,实时性好。

2️⃣缺点
控制电路相对复杂,服务开销较大(现场和断点的保护)。

3️⃣应用场合
实时性要求高,且数据传输量又不大的场合。

5.DMA方式

①简介

是一种完全由硬件执行的I/O交换方式。
当外设准备好后,通知DMA控制器,DMA控制器从CPU接管总线,并完成外
设和内存之间的大量数据传输;传输完成后DMA控制器将总线控制权交还给
CPU,整个数据交换的过程不需要CPU参与

②优缺点及应用场合

1️⃣优点
既有中断的优点,同时又降低了服务开销

2️⃣缺点
控制电路更加复杂。

3️⃣应用场合
高速、大批量数据传输。

6.通道和I/O处理机方式

①简介

在复杂的计算机系统中,外围设备的台数一般比较多,设备的种类、工作方式
和工作速度的差别很大,为了把对外围设备的管理工作从CPU中分离出来,采
用通道或I/O处理机方式。

②通道

通道是能够专门执行I/O指令的处理机,它可以实现对外围设备的统一管理,
以及外设与主存之间的数据传输。

③I/O处理机

I/O处理机通道方式的进一步发展,它的结构更接近于一般处理机。

④优缺点及应用场合

1️⃣优点
一个通道可以控制多台外设,且与CPU并行工作时间最长

2️⃣缺点
价格较高,不宜过多使用。

3️⃣应用场合
适用于以字节为单位的干预同时实现CPU、通道和I/O设备三者并行操作的场合。

Last (一键到达文章末尾)
First(一键返回到文章目录)

笔记内容学习资料:计算机组成原理微课版(谭志虎、秦磊华等编著)
课件资料及视频学习:MOOC计算机组成原理(华中科大)
计算机组成原理专栏——笔记及测验练习都在这
如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心。

计算机组成原理学习笔记第8章I/O系统 8.2 输入/输出方式相关推荐

  1. 计算机组成原理学习笔记第1章 1.3——实验一 计算机性能测试

    计算机组成原理学习笔记第1章 1.3--实验一 计算机性能测试 本篇笔记整理:Code_流苏(CSDN) 目录 计算机组成原理学习笔记第1章 1.3--实验一 计算机性能测试 0️⃣思维导图(自制) ...

  2. 计算机组成原理学习笔记第5章指令系统 5.6——MIPS指令详解

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) First (在文末点击使用,返回文章首部) 目录 0.思维导图 1.R型指令 ...

  3. 计算机组成原理学习笔记第6章中央处理器CPU 6.2——数据通路DataPath

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) First (在文末点击使用,返回文章首部) 目录 0.思维导图 1.数据通路 ...

  4. 计算机组成原理学习笔记第5章指令系统 5.3——操作数寻址方式

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) First (在文末点击使用,返回文章首部) 目录 0.思维导图 1.立即数寻 ...

  5. 计算机组成原理学习笔记第4章 4.2——主存中的数据组织

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) 目录 0.思维导图 1.存储字长 2.数据存储与边界的关系 ①按边界对齐的数据存储 ②未按边界对齐的数据存储 ③边界 ...

  6. 计算机组成原理学习笔记第4章 4.9——Cache地址映射与变换方法

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) 目录 0. 思维导图 1. 主存与Cache地址映射概述 2. 全相联映射的工作原理 3. 直接映射的工作原理 4. ...

  7. 计算机组成原理学习笔记第4章 4.10——替换算法

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) Frist (在文末点击使用,返回文章首部) 目录 0. 思维导图 1. 需要 ...

  8. 计算机组成原理学习笔记第4章 4.8——相联存储器

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) 目录 0. 思维导图 1. 相联存储器的作用 2. 判断的基本思路 3. 相联存储器的基本结构及工作原理 4. 相联 ...

  9. 计算机组成原理学习笔记第4章 4.12——虚拟存储器

    有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) Frist (在文末点击使用,返回文章首部) 目录 0. 思维导图 1. 虚拟 ...

最新文章

  1. java map深拷贝_java 实现Map的深复制
  2. vista——最恰当的中文译名应该是“喂死它”
  3. Mycat常见问题与解决方案
  4. OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
  5. python3 configparse 配置模块
  6. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) A. Bear and Three Balls 水题
  7. 两难!到底用 Spring BeanUtils 还是 Apache BeanUtils?
  8. 通俗解释优化的线性感知机算法:Pocket PLA
  9. pycharm新建python file没有默认头_Pycharm 设置默认头的图文教程
  10. 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏(C#解法)
  11. python写sql语句_如何在Python脚本中执行多个SQL语句?
  12. 解决npm下载包慢的方法
  13. pycharm代码删除恢复
  14. Node-RED使用指南:28:撤销与删除恢复
  15. 简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作
  16. scrapy框架爬取斗鱼女主播照片,依据颜值排行榜
  17. 电脑键盘打字错乱怎么办?按键混乱的5种解决方法
  18. 【免费赠送源码】Springboot科研项目管理系统3lk11计算机毕业设计-课程设计-期末作业-毕设程序代做
  19. 软件工程——Alpha(2/3)
  20. Mac之如何查看已用端口

热门文章

  1. 计算机vb实验感想,VB学习心得体会
  2. python 微服务框架 知乎_今日头条Go建千亿级微服务的实践
  3. Python与C语言的区别
  4. OpenCV2.4.9在Win7+VS2010下的配置过程
  5. Wine 的安装和配置,以及wine下运行金山词霸和中文输入法!(转)
  6. 秒杀系统 安全优化 秒杀接口地址隐藏
  7. centos升级内核版本
  8. 【SDCC讲师专访】专访京东杨超:出色的架构师应具备的素质
  9. XDOJ-172构造表达式
  10. 通过程序实现斗地主过程中的洗牌,发牌和看牌(简约版)