组成原理 七 I/O系统

  • 1. I/O系统的组成
    • 1.1 I/O 编制方式
    • 1.2 设备寻址
    • 1.3 传送方式
    • 1.4 联络方式
    • 1.5 I/O与主机直接的连接方式
    • 1.6 I/O与主机信息传送的控制方式
  • 2. 外部设备
  • 3. I/O 接口
    • 3.1 总线的构成
    • 3.2 接口的功能和组成
  • 4. 程序中断方式
    • 4.1 中断服务程序的流程
    • 4.2 多重中断(中断嵌套)和单重中断
    • 4.3 程序中断方式
  • 5. DMA方式
    • 5.1 DMA方式与中断方式数据通路的比较
    • 5.2 DMA接口的功能和组成
      • 5.2.1 DMA接口组成原理图
      • 5.2.2 DMA工作过程
      • 5.2.3 DMA接口与系统的连接方式
    • 5.3 DMA接口类型
  • 6. 中断方式和DMA方式区别

1. I/O系统的组成


I/O系统软件的主要任务:

  • 如何将用户编制的程序或数据输入至主机内
  • 如何将运算结果输送给用户
  • 如何实现I/O系统与主机工作的协调

1.1 I/O 编制方式

通常情况下将I/O设备码视为地址码,对I/O设备码的编址可以采用两种方式

  • 统一编址
  • 不统一编址

统一编址:将I/O地址作为存储器地址的一部分.
不统一编址:将I/O地址和存储器地址分开,所有对I/O的访问必须由专用的I/O指令.

当设备通过接口和主机相连时,CPU可以通过接口地址来访问I/O设备

1.2 设备寻址

每一台设备都赋予一个设备号,因此当需要启动某一个设备时,可由I/O指令的设备码字段直接指出该设备的设备号.通过接口电路中的设备选择电路,便可以选中要交换的信息.

1.3 传送方式

并行传送:
在同一瞬间,N位信息同时从CPU输送至I/O设备,或由I/O设备输入到CPU的传送方式,这种方式传送速度快,要求数据线多.
串行传送:
同一瞬间只传送一位信息,在不同时刻连续逐位的传送一串信息. 传送速度较慢,但是由于它只需要一根数据线和底线,当I/O设备与主机距离很远时,采用串行传送较为合理.

1.4 联络方式

不论采用哪种传送方式,I/O设备和主机都必须互相了解彼此当时所处的状态.

  • 立即响应方式
    对于一些工作速度十分缓慢的I/O设备,CPU I/O指令一到,立即响应,无需特殊联络信号.
  • 异步工作采用应答信号联络
    当I/O设备与主机速度不匹配时,通常采用异步工作方式,这种方式在交换信息之前,I/O与CPU各自完成自身任务,一旦出现联络信号时,彼此才准备交换信息.
  • 同步工作采用同步时标联络
    I/O设备与CPU的工作速度完全同步,这时可以采用同步时标联络方式,但是这种联络之间互相还得配有专用的电路,用来产生同步时标来控制同步工作.

1.5 I/O与主机直接的连接方式

  • 辐射式

  • 总线式
    这种方式式现代大多数计算机系统所采用的方式.

1.6 I/O与主机信息传送的控制方式

2. 外部设备



3. I/O 接口

接口可以看作是两个系统或两个部件之间的交接部分,它既可以是两种硬件设备之间的连接电路,也可以是两个软件之间的共同逻辑边界.
I/O接口通常是指主机与外部设备之间设置的一个硬件电路及其相应的软件控制.

3.1 总线的构成

I/O总线包括 数据线,设备选择线,命令线和状态线.

3.2 接口的功能和组成

  • 选址功能
  • 传送命令的功能
  • 传送数据的功能
  • 反映I/O设备状态的功能

4. 程序中断方式

在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,这就是"中断" .

凡是能够向CPU提出中断请求的各种因素统称为中断源.当多个中断源向CPU提出中断请求时,CPU必须坚持一个原则,即在任何瞬间只能接收一个中断源的请求.所以,当多个中断源同时提出请求时,CPU必须对各种断源的请求进行排队,且只能接受级别最高的中断源的请求,不允许级别低的中断源中断正在运行的中断服务程序. 所以在I/O接口中需设置一个中断触发请求器和中断屏蔽触发器在I/O接口中是成对出现的.

CPU一旦响应了I/O中断,就要暂停现行程序,转去执行该设备的中断服务程序,不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址.

4.1 中断服务程序的流程

中断服务程序的处理流程:

  • 保护现场
    保存程序的断点,保存通用寄存器和状态寄存器的内容.
  • 中断服务
    中断服务程序的主体部分.
  • 恢复现场
    在退出中断服务程序之前,将原程序中断时的"现场"恢复到原来的寄存器中.
  • 中断返回
    返回到原程序的断点处,一遍执行原程序.

4.2 多重中断(中断嵌套)和单重中断

计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象叫做多重中断(中断嵌套) .

倘若CPU在执行中断服务程序时,对新的中断不予理睬,这种中断叫做单重中断.

4.3 程序中断方式

程序中断方式克服了程序查询方式中的CPU原地踏步的现象,实现了宏观上CPU 和I/O并行工作,提高了CPU的资源利用率,但从微观操作分析,CPU在处理中断服务程序时,仍然需要暂停原程序的正常运行,尤其是当高速I/O设备或辅助存储器需要频繁地,成批量性的与主存交换信息时,不断的打断CPU执行主程序而执行中断服务程序. 为了解决这个问题,人们探索出了新的程序执行方式:DMA

5. DMA方式

5.1 DMA方式与中断方式数据通路的比较


由此可见,由于主存和DMA接口之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场的动作,因此CPU的工作速度比程序中断方式要快. 这一特点特别特别适合与高速I/O或辅存与主存之间的信息交换.

此外,在DMA方式中,由于DMA接口与CPU共享主存,这就有可能出现两者争用主存的所带来的冲突问题,为了有效地分时使用主存,DMA通常与主存交换数据时可采用如下三种方式:

  • 停止CPU访问主存
  • 周期挪用(周期窃取)
  • DMA与CPU交替访问

5.2 DMA接口的功能和组成

DMA接口应该具备以下几个功能

  • 向CPU申请DMA传送
  • 向CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正常活动或引起总线竞争
  • 在DMA期间管理系统总线 控制数据传送
  • 确定数据传送的起始地址和数据长度,修正数据传送过程中数据的地址和数据长度
  • 在数据块传送结束时,给出DMA操作完成的信号

5.2.1 DMA接口组成原理图

AR:主存地址寄存器
WC:字计数器
BR:数据缓冲寄存器
DMA控制逻辑:负责管理DMA传送过程
中断机构:报告一批数据传送结束
DAR:设备地址寄存器

5.2.2 DMA工作过程

  • 预处理

    • 给DMA控制逻辑指明数据的传送方向
    • 向DMA设备地址寄存器送入设备号,并启动设备
    • 向DMA主存寄存器送入交换数据的主存起始地址
    • 对字计数器赋以交换数据的个数
  • 数据传送
    DMA方式是以数据块为单位传送的
  • 后处理
    当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作.

5.2.3 DMA接口与系统的连接方式

  • 独立的DMA请求方式

  • 公共请求线的DMA请求方式

5.3 DMA接口类型

  • 选择型DMA接口
  • 多路型DMA接口

6. 中断方式和DMA方式区别

  • 从CPU响应时间来看,程序中断方式是在一条指令执行结束时响应,而DMA方式可以在指令周期内的任一存取周期结束时响应
  • 程序中断方式有处理异常事件的能力,DMA方式没有这种能力,它主要用于大批量的传送,可以提高数据的吞吐量
  • 程序中断方式要中断现行程序,故需要保护现场,DMA方式不中断现行程序,无需保护现场
  • DMA的优先级比程序中断高

【组成原理 七 I/O系统】相关推荐

  1. 计算机组成原理 输入输出系统,计算机组成原理(第七章输入输出系统

    计算机组成原理(第七章输入输出系统 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 第七章输入输出系统第一节基本的输入输出方式一. 外围 ...

  2. 七号信令系统在GSM中的应用

    本文摘自:<通信技术> 1 引言 七号信令系统是现代通信网的关键技术之一,是通信网的神经中枢,在电话网.移动网.智能网等通信网中已成为不可缺少的一部分.七号信令网作为现代网络通信的神经中枢 ...

  3. 连续系统的复频域分析 matlab,实验七连续信号与系统复频域分析的MATLAB实现1

    实验七 连续信号与系统复频域分析的MATLAB 实现 一.实验目的 1. 掌握连续时间信号拉普拉斯变换的MATLAB 实现方法: 2. 掌握连续系统复频域分析的MATLAB 实现方法. 二.实验原理 ...

  4. 七、Linux系统_VMware下载及安装

    七.Linux系统_VMware下载及安装 1.下载 2.安装 1.下载 ① 官网地址: VMware - Delivering a Digital Foundation For Businesses ...

  5. 游戏开发入门(七)特效系统

    视频链接:游戏开发入门(七)特效系统(6节课 时常:约2小时20分钟) 该视频课程与其他本系列的课程不太一样,因为在很多游戏或者很多引擎中并没有一个专门的"特效系统",而是把各种特 ...

  6. 47-Java编程案例七:双色球系统开发

    案例七:双色球系统开发[拓展案例] 需求: 随机生成一组中奖号码 投注号码由6个红色球号码和1个蓝色球号码组成. 红色球号码从 1-33 中选择:蓝色球号码从 1-16 中选择. 分析: 中奖号码由6 ...

  7. 计算机原理与应用第七章——中断系统与Cortex-M微处理器的异常

    第七章--中断系统与Cortex-M微处理器的异常 文章目录 第七章--中断系统与Cortex-M微处理器的异常 一.异常和中断的基本概念 (一)中断源 (二)中断管理 (三)中断优先级管理 (四)中 ...

  8. 基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库 ...

  9. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候,问题也是大大的存在,没有用上设计模式,什么触发器,存储过程,都没有用上,看看其她小伙伴的,七层实现登录?那是什么东东,相比较我的三层而言,多了两倍 ...

最新文章

  1. mysql文件查看工具_OpenDBViewer
  2. 0074 几道面试题
  3. Postgresql kill用户进程
  4. listview item里面的控件点击事件
  5. LeetCode 121买卖股票的时机
  6. 第3章 控制程序流程(1)
  7. Tensflow的equal函数
  8. iOS:选择器控件UIPickerView的详解和演示
  9. 在vue中实现锚点定位功能
  10. B站视频下载及本地文件名修正
  11. python关于二手房的课程论文_用python分析链家二手房信息
  12. Azure - AD B2C自定义策略和身份体验框架
  13. 用html简单做一个课程表。
  14. 2022-2028年中国电磁兼容产品行业市场发展前景及投资风险评估报告
  15. ntp计算机系统时间总是跳,电脑时间老是自动跳的解决方法 电脑时间每小时自动校准方法的图文教程...
  16. 【Python】_1.Python基础语法
  17. 实验五 循环结构(python)
  18. 计算机画大熊猫教学设计,画大熊猫教案
  19. 申请美国访问学者签证的具体流程?
  20. STM32按键检测程序整理

热门文章

  1. java getproperty_「getproperty」getProperty()用法 - seo实验室
  2. 皮尔逊相关系数丨Pearson’s correlation coefficient
  3. Elasticsearch - Indices stats 获取索引级别的统计信息之六 【segments】段的内存使用情况
  4. 不就隔个视图嘛,你怎么看不到我啊?
  5. 西安交大轴承加速寿命实验数据
  6. 图文详解Windows下安装最新版Git
  7. C++ enum class枚举类
  8. 《前端从傻逼到牛逼》序章
  9. sarscape5.6.2 结果在arcgis中制图(1简洁版)
  10. .NET Framework有什么用(详解)