文章目录

  • 前言
  • 输入/输出(I/O)系统的组成
  • 输入/输出(I/O)系统的控制方式
  • 程序查询方式的过程
  • 中断技术/系统的功能
  • 中断的流程
  • 中央处理器(CPU)响应中断的条件
  • 中断的优先级
  • 中断识别的类型
  • 向量中断/硬件向量法的过程
  • 单重中断的响应、处理过程
  • 中央处理器(CPU)能够多重中断的条件
  • 多重中断的响应、处理过程
  • 直接存储器访问(DMA)控制器(DMAC)的组成
  • 直接存储器访问(DMA)控制器(DMAC)的工作过程
  • 直接存储器访问(DMA)的传送方式
  • 直接存储器访问(DMA)的数据传送过程
  • 外部设备举例
  • 输入/输出(I/O)接口的功能
  • 输入/输出(I/O)接口的分类
  • 输入/输出(I/O)接口的结构
  • 输入/输出(I/O)端口的组成
  • 输入/输出(I/O)端口的编址方式
  • 总结
  • 参考资料
  • 作者的话

前言

计算机组成原理的知识抽象、晦涩、不易理解并记忆,在此对“输入/输出(I/O)系统”一章中重点知识总结成提纲。


输入/输出(I/O)系统的组成

  • 输入/输出(I/O)硬件
  • 输入/输出(I/O)软件

输入/输出(I/O)系统的控制方式

  • 程序查询方式
  • 程序中断方式
  • 直接存储器访问(DMA)方式
  • 通道方式

程序查询方式的过程

对中央处理器(CPU):

  1. 执行初始化程序,预置传送参数(计数器参数和数据首地址)
  2. 向输入/输出(I/O)接口发送命令字,启动输入/输出(I/O)设备
  3. 从输入/输出(I/O)接口接收输入/输出(I/O)设备的状态信息
  4. 不断查询输入/输出(I/O)设备的状态,直到设备准备就绪
  5. 与输入/输出(I/O)设备传送一次数据
  6. 修改传送参数(计数器参数和数据首地址)
  7. 判断数据传送是否结束(计数器参数是否归零),若未结束(未归零)则转第3步;若结束(归零)则结束相应程序

中断技术/系统的功能

  • 实现中央处理器(CPU)和输入/输出(I/O)设备的并行工作
  • 实现处理硬件故障和软件错误
  • 实现应用程序和操作系统的切换(软中断)
  • 实现人机交互
  • 实现多道程序、分时操作
  • 实现实时处理
  • 实现多处理器系统中各处理器之间的信息交流和任务切换

中断的流程

  1. 中断请求
  2. 中断响应
  3. 中断处理

中央处理器(CPU)响应中断的条件

  • 中央处理器(CPU)允许中断/开中断(不可屏蔽中断、异常不受限制)(中断屏蔽触发器置位)
  • 一条指令执行完毕(异常不受限制),且无更紧迫的任务
  • 中断源有中断请求(中断请求触发器、中断允许触发器置位)

中断的优先级

中断优先级=中断响应优先级(不易改变)+中断处理优先级(可由中断屏蔽字动态改变)

  • 不可屏蔽中断>内部异常>可屏蔽中断
  • 内部异常中,硬件故障>软件中断
  • 直接存储器访问(DMA)>输入/输出(I/O)设备
  • 输入/输出(I/O)设备中,高速设备>低速设备,输入设备>输出设备,实时设备>普通设备

中断识别的类型

  • 向量中断(硬件向量法)
  • 非向量中断(软件查询法)

向量中断/硬件向量法的过程

  1. 识别中断源
  2. 获取中断类型号
  3. 计算中断向量地址
  4. 依据中断向量地址从中断向量表中获取中断服务程序的入口地址(间接寻址)

单重中断的响应、处理过程

  1. 关中断
  2. 保存断点(硬件实现)
  3. 寻址中断服务程序
  4. 保存现场(软件实现)
  5. 执行中断服务程序
  6. 恢复现场和屏蔽字
  7. 开中断
  8. 中断返回

注意:中断的断点是下一条指令的地址,异常的断点是当前指令的地址
第1-3步由硬件/中断隐指令实现,4-8步由软件/中断服务程序实现


中央处理器(CPU)能够多重中断的条件

  • 中断服务程序中提前设置开中断指令
  • 优先级高的中断源有权中断优先级低的中断源

多重中断的响应、处理过程

  1. 关中断
  2. 保存断点(硬件实现)
  3. 寻址中断服务程序
  4. 保存现场和屏蔽字(软件实现)
  5. 开中断(允许多重中断/中断嵌套)
  6. 执行中断服务程序
  7. 关中断
  8. 恢复现场和屏蔽字
  9. 开中断
  10. 中断返回

第1-3步由硬件/中断隐指令实现,4-10步由软件/中断服务程序实现


直接存储器访问(DMA)控制器(DMAC)的组成

  • 直接存储器访问(DMA)请求触发器
  • 控制/状态逻辑电路
  • 主存储器(MM)地址计数器
  • 传送长度计数器
  • 数据缓冲寄存器(DBR)
  • 中断机构

直接存储器访问(DMA)控制器(DMAC)的工作过程

  1. 接收输入/输出(I/O)设备的直接存储器访问(DMA)请求(狭义)
  2. 向中央处理器(CPU)发送总线请求
  3. 中央处理器(CPU)响应总线请求,向直接存储器访问(DMA)控制器(DMAC)发送总线响应信号
  4. 接管总线控制权,进入直接存储器访问(DMA)操作周期
  5. 确定传送数据的主存储器地址和传送长度,自动修改地址和长度计数
  6. 规定数据在主存储器和输入/输出(I/O)设备的传送方向,发送读写等控制信号,执行数据传送操作
  7. 向中央处理器(CPU)报告直接存储器访问(DMA)操作结束

广义直接存储器访问(DMA)请求=输入/输出(I/O)设备向直接存储器访问(DMA)控制器(DMAC)发送的直接存储器访问(DMA)请求(狭义)+直接存储器访问(DMA)控制器(DMAC)向中央处理器(CPU)发送的总线请求


直接存储器访问(DMA)的传送方式

  • 停止中央处理器(CPU)访存
  • 中央处理器(CPU)和直接存储器访问(DMA)交替访存
  • 周期挪用/窃取

直接存储器访问(DMA)的数据传送过程

  1. 预处理
  2. 数据传送
  3. 后处理

外部设备举例

输入设备:

  • 键盘
  • 鼠标

输出设备:

  • 显示器

存在显示存储器(VRAM)

  • 打印机

外部存储器(辅存):

  • 磁表面存储器(磁盘、磁带、磁鼓存储器)
  • 光盘存储器
  • 固态硬盘(SSD)

输入/输出(I/O)接口的功能

  • 地址译码和设备选择
  • 通信联络控制
  • 数据缓冲
  • 信号格式转换
  • 控制命令和状态信息传送

或:

  • 设备选址
  • 命令传送
  • 数据传送
  • 输入/输出(I/O)设备的工作状态反馈

输入/输出(I/O)接口的分类

按数据传送方式(输入/输出(I/O)接口和外部设备一侧):

  • 串行接口
  • 并行接口

因为中央处理器(CPU)速度快,所以输入/输出(I/O)接口和主机一侧一定是并行接口

按主机访问输入/输出(I/O)设备的控制方式:

  • 程序查询接口
  • 程序中断接口
  • 直接存储器访问(DMA)接口
  • 通道接口

按功能选择的灵活性:

  • 可编程接口
  • 不可编程接口

输入/输出(I/O)接口的结构

  • 内部接口(输入/输出(I/O)接口和主机一侧)
  • 外部接口(输入/输出(I/O)接口和外部设备一侧)
  • 控制逻辑电路
  • 状态/控制寄存器
  • 数据缓冲寄存器(DBR)
  • 设备选择电路
  • 命令寄存器和命令译码器

输入/输出(I/O)端口的组成

注意:输入/输出(I/O)端口指接口电路中可以被中央处理器(CPU)直接访问、进行读/写的寄存器;输入/输出(I/O)接口=若干输入/输出(I/O)端口+控制逻辑电路

  • 控制端口,只写
  • 状态端口,只读
  • 数据端口,可读写

输入/输出(I/O)端口的编址方式

  • (与存储器)统一编址/存储器映射方式
  • (与存储器)独立编址/输入/输出(I/O)映射方式

总结

计算机组成原理的知识抽象、晦涩、不易理解并记忆,在此对“输入/输出(I/O)系统”一章中重点知识总结成提纲。


参考资料

  • 《2023年计算机组成原理考研复习指导》组编:王道论坛
  • 哔哩哔哩平台《王道计算机考研 计算机组成原理》视频课

作者的话

  • 感谢参考资料的作者/博主
  • 作者:夜悊
  • 版权所有,转载请注明出处,谢谢~
  • 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
  • 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
  • 文章在认识上有错误的地方, 敬请批评指正
  • 望读者们都能有所收获

“输入/输出(I/O)系统”学习提纲相关推荐

  1. systemverilog中输入/输出系统任务和系统函数---$sformat和$sformatf使用方法及其区别

    文件I/O任务和函数(IEEE Standard for SystemVerilog-21) 将数据格式化为字符串(IEEE Standard for SystemVerilog-21.3.3) va ...

  2. Java I/O系统学习系列二:输入和输出

    编程语言的I/O类库中常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象."流"屏蔽了实际的I/O设备中处理数据的细节. 在这个系列的第一篇 ...

  3. 计算机组成原理 | 第八章《计算机的外围设备》、第九章《输入/输出系统》 学习笔记

    计算机组成原理 | 第八章<计算机的外围设备>.第九章<输入/输出系统> 学习笔记 引言 & 声明 第一章 计算机系统概论 第二章 计算机中数据的表示方法 第三章 运算 ...

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

    名人说:非学无以广才,非志无以成学.--诸葛亮 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) First (在文末点击使用,返回文章首部) 目录 1.输入/输出方式 ...

  5. C语言再学习 -- 输入/输出

    一.缓冲区 输入字符的立即回显是非缓冲或直接输入的一个实例,它表示你说键入的字符被收集并存储在一个被成为缓冲区的临时存储区域中.按下回车可使你所键入的字符块对程序变成可用. 为什么需要缓冲区?首先,将 ...

  6. 【计算机原理与接口技术(UNIX)⑮】——输入/输出系统【查询方式、中断控制方式、DMA 、8237A】

    ✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...

  7. 计算机组成原理第7章-输入/输出系统

    写在前面:本文参考王道论坛主编的 计算机组成原理单科教材. 文章目录 7.1I/O系统基本概念 7.2 外部设备 7.3 I/O接口 7.4 I/O方式 7.4.1 程序查询方式 7.4.2 程序中断 ...

  8. 第7章 输入/输出系统

    总览 I/O系统基本概念 外部设备 输入设备:键盘.鼠标 输出设备:显示器.打印机 外存储器:硬盘存储器.磁盘阵列.光盘存储器 I/O接口 I/O接口的功能和基本结构 I/O端口及其编址 I/O方式 ...

  9. 13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口

    文章目录 1 I/O接口 1.1 接口定义 1.2 I/O接口的功能(以单总线为例) 1.3 I/O接口的基本结构 1.4 接口与端口 1.5 I/O端口及其编址 1.6 I/O接口的类型 1.7 I ...

最新文章

  1. 一致性哈希(Consistent Hashing)
  2. linux系统进程的内存布局
  3. 光流(Optical Flow)简介
  4. Exchange Powershell查看用户最后登陆邮箱时间
  5. 【HBase从入门到精通系列】如何避免HBase写入过快引起的各种问题
  6. commonjs 和 es6模块化开发入门
  7. matlab积分使用
  8. 网页制作之CSS超级技巧
  9. 想为 iPhone X 做交互设计?你需要读这篇文章
  10. socket read time out解决方法_深入浅出讲解:php的socket通信
  11. Android开发学习路线图
  12. win10好用的C语言软件,9款超级实用的Win10软件,一定要收藏,简直不要太好用
  13. 入门OJ:最短路径树入门
  14. ESXI 6.5安装详细步骤
  15. 南审计算机科学与技术学什么,南京审计大学是几本?是一本、二本还是三本?
  16. Vue2 - 网易云音乐项目笔记(基于Vant UI组件库)
  17. STM32开发基础知识——定时器
  18. 太原学院计算机科学与技术在哪个校区,太原学院有几个校区及校区地址
  19. 【Vue】后台管理系统
  20. 每月两个小小项目——CSS3简易照片墙

热门文章

  1. linux less跳转命令,linux命令之less命令
  2. 永磁同步电机学习日志总结Day4-1
  3. 3每天Python小例-爬取淘宝网页商品
  4. html如何做本地链接,如何创建本地连接,小编教你电脑如何创建本地连接
  5. ffmpeg学习日记605-指令-获取视频的总帧数
  6. 老赵点滴 - 追求编程之美
  7. 【vscode】image view插件 用于预览图片
  8. 获取cookie的几种方式
  9. 《三体》三部曲 读后杂记
  10. 三星note20u计算机功能,打开这些隐藏功能 你的三星Galaxy Note20系列会更强大