文章目录

  • 前言
  • 输入/输出(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. CSP 201909-2 小明种苹果(续)Python实现+详解
  2. 收藏这8个windows神级工具,你的办公效率也会提高
  3. shell学习之常用命令总结
  4. 定义结构体的时候,里面的变量可以同时初始化吗?(不可以)
  5. github:已经提交并push后再次追加提交
  6. boost::mp11::mp_find_if相关用法的测试程序
  7. 315. Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
  8. java与java ee_Java EE 8怎么了?
  9. python中os模块里有哪些类_python-os模块的常用方法
  10. mysql判断可用性,MySQL -- 主從復制的可靠性與可用性
  11. 在SharePoint Server 2007中创建定制的用户管理模块
  12. 探讨下在Delphi里面进程之间的数据共享
  13. Teststand 界面打不开问题解决
  14. Lucene的各中文分词比较
  15. 一个简单的(基于redisson的)分布式同步工具类封装
  16. NLP中的词性标注方法
  17. Java在Quant应用_GitHub - tigerfintech/tiger_quant: Java 实盘量化框架
  18. bad SQL grammer []; nested exception is java.sql.SQLSyntaxErrorException:ORA-00918:未明确定义列
  19. Android 屏幕常亮 背景常亮
  20. 从明天起,做一个幸福的人

热门文章

  1. 计算两个经纬度的距离
  2. 干货 | 基于开源体系的云原生微服务治理实践与探索
  3. 再生龙教程——对于Centos7进行备份和还原
  4. 大数据技术原理与应用第4讲:分布式数据库HBase
  5. qq for linux安装教程,Ubuntu 12.04安装QQ for Linux
  6. cocos creator 2.4.3cc.assetManager.loadRemote 加载不了微信头像
  7. Mac小技巧 强制退出程序的六种方法
  8. vim快速复制当前行到下一行
  9. Java基础——递归实现归并排序和快速排序
  10. B站季报图解:营收58亿净亏收窄36% 日活突破9000万