1. 输入输出系统概述

  • 组成:外设、接口、总线、管理软件
  • 基本功能
    • 完成计算机内外的信息传递
    • 保证CPU正确选择输出设备
    • 利用缓冲等,实现主机与外设的速度匹配
  • 特点:异步性、实时性、设备无关性
  • 输入过程:CPU把地址值放入总线 --> CPU等候设备数据有效 --> CPU从总线读入数据存入寄存器
  • 输出过程:CPU把地址值放入总线 --> CPU把数据值放入总线 --> 设备等数据有效取走数据
  • IO系统性能:存储IO、通信IO
    • 连接特性:哪些设备可以和IO相连
    • IO系统容量:IO系统可以容纳的设备数
    • 响应时间:从用户输入命令到得到结果所花的时间(s)
    • 吞吐率:单位时间完成的IO操作次数(用IOP表示)

2. 输入输出方式

  • 无条件IO方式:执行IO指令时,CPU默认外设已经准备就绪,外设很难满足这一点
  • 程序控制IO方式:执行IO指令时,先获取设备状态(设备状态寄存器),决定下一步操作(程序决定)
    • 数据要经过CPU,CPU还要浪费大量时间查询设备状态
  • 中断IO方式:外设主动通知CPU接收或输出数据,有实时性
  • DMA方式:由硬件执行IO,外设准备好后通知DMA,DMA接管总线,完成数据交换
    • 既有中断的优点,又降低了服务的开销
  • 通道和IO处理机方式:外设种类很多速度差别很大,将外设管理工作从CPU总分离出来
    • 通道本身就是个简单的CPU,执行IO指令的处理机
    • IO处理机是通道的进一步发展,更像一个CPU了

3. 中断请求与响应

  • 概念:CPU由内部外部事件引起CPU中断正在运行的程序,具有随机性(符合输入输出系统特性)
  • 作用:主机与外设并行;故障处理;实时处理
  • 类型
    • 内部中断(软件、异常)
    • 外部中断(可屏蔽中断INTR、不可屏蔽中断NMI)
  • 基本功能
    • 中断信号的保持与清除:通过寄存器存起来,处理完清零
    • 中断优先级:硬件响应优先序、软件服务优先序(中断服务程序开头,设置自己的中断屏蔽位)
    • 中断源识别:系统分配给每个中断源的代号(中断号),中断号获取可以用硬件或软件方式
    • 中断处理
      • 响应:每执行完一条指令,就会判断是否有中断请求
      • 处理:保存断点(返回地址)、执行中断程序、返回断点
    • 中断控制
      • 中断触发方式:指外设以什么逻辑信号去申请中断(边沿触发、电平触发)
      • 中断排队方式:按优先级、循环轮流排队
      • 中断嵌套:中断正在执行的中断程序,不可屏蔽中断不能嵌套
      • 中断屏蔽:处理器内部有个触发器,“1”时才会响应外部中断

4. DMA方式

  • 原理:数据传送不经过CPU,由DMA控制器实现内存和外设、外设和外设之间的直接快速传递
  • 系统构成
    • DMA作为主设备之一
    • DMA与IO接口集成
    • DMA提供专门IO总线
  • DMA的两种工作状态:被动态(未获得总线控制权,受CPU控制)、主动态(获得总线控制权)
  • 传输步骤
    • 申请:一个设备接口试图通过总线向另一个设备发送数据,先向CPU发送DMA信号
    • 响应:CPU收到DMA信号,当前总线周期结束后,按DMA信号优先级响应相应的DMA控制器
    • 数据传送:DMA收到CPU响应,获得总线控制权,开始直接数据传送
    • 传送结束:设备向CPU发送DMA结束信号,交换总线控制权
  • DMA操作类型
    • 数据传送:源地址数据传到目的地址
    • 数据校验:不传输,只校验某数据块内部的每个字节
    • 数据检索:不传输,只在制定内存区域内查找某个关键字或某几个数据位是否存在
  • DMA操作方式
    • 单字节传输模式:每次DMA操作传送一个字节
    • 块传输模式:每次传送多个字节,有个当前字节计数器,+1 +1 +1
    • 请求传输模式:DMA控制器询问外设,当外设请求信号无效时,暂停传输(不释放总线);再次有效再继续传输
    • 级联传输模式:多个DMA级联,分布式
  • DMA传输模式
    • 停止CPU访问内存:传输速率高的设备传输时有优势
    • 周期挪用:DMA挪用一个或几个内存周期。若此时CPU不需要访存则不冲突,若冲突则DMA优先
    • DMA与CPU交替访存:直接交替访存,不需要浪费时间

【重学计算机】机组D8章:输入输出系统的更多相关文章

  1. 【重学计算机】操作系统D3章:存储管理

    1. 存储管理的基本概念 逻辑地址:用户地址,从零开始编号 一维逻辑地址:(地址) 二维逻辑地址:(段号: 段内地址) 主存储器的复用方式 按分区:主存划分为多个固定/可变分区,一个程序占一个分区 按 ...

  2. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...

  3. 【重学计算机】机组D7章:总线

    1. 系统总线的特性及应用 总线概念:将计算机系统中各部件连接起来 总线分类:(外部/内部,系统/非系统,串行/并行,同步/异步...) 按用途分类: 存储总线:cpu与存储器 系统总线:连接存储总线 ...

  4. 【重学计算机】机组D4章:存储系统

    1. 存储系统层次结构 主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存 主存容量不足的原因: 存在制约主存容量的技术因素:如由CPU.主板等相关技术指标规定了主存容量 应用对主存 ...

  5. 【重学计算机】机组D6章:中央处理器

    1. CPU的组成与功能 2. 数据通路 概念:执行部件间传送信息的路径,分共享通路(总线)和专用通路 抽象模型:时钟驱动下,A --> 组合逻辑 --> B D触发器定时模型: 时钟触发 ...

  6. 【重学计算机】机组D5章:指令系统

    1. 指令系统基本概念 指令集:一台机器所有指令的集合.系列机(同一公司不同时期生产):兼容机(不同公司生产) 指令字长:指令中包含的二进制位数,有等长指令.变长指令. 指令分类 根据层次结构:高级. ...

  7. 【重学计算机】计组D2章:数据表示

    1.基本概念 真值:+0101,-0100:机器数: [x]原=0101 2.几种机器数 原码:x = -0101,[x]原 = 1101 反码:x = -0101,[x]反 = 1010 补码:x ...

  8. 【重学计算机】计组D1章:计算机系统概论

    1.冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2.计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层 ...

  9. 【重学计算机】操作系统D4章:设备管理

    1. IO的控制方式 演进过程:轮询 --> 中断 --> DMA --> IO通道 经典布局:南北桥 PS:详见<计算机组成原理> 2. IO的实现 软件实现层次:硬件 ...

随机推荐

  1. CentOS6.5 安装Python2.7后, yum出现“No module named yum”错误

    安装如下方法安装python2.7: yum install –y python27 python27-devel python-docutils cd /usr/bin/ rm -rf python ...

  2. 【最小生成树】Bzoj1232 [Usaco2008Nov]安慰奶牛cheer

    Description Farmer John变得非常懒, 他不想再继续维护供奶牛之间供通行的道路. 道路被用来连接N (5 <= N <= 10,000)个牧场, 牧场被连续地编号为1. ...

  3. 国内第一本micropython的书出版《机器人Python极客编程入门与实战》

    第一本micropython的书<机器人Python极客编程入门与实战>. 购买地址:https://item.taobao.com/item.htm?spm=2013.1.w4018-1 ...

  4. 在 Less 中写 IE 的css hack

    Less中直接在属性后面加hack写法会编译报错的.那么怎么解决呢? 第一种方式: IE7 以display:inline-block为例: less的hack写法: .box{ display: i ...

  5. STM32基于固件库新建MDK工程模板(精简版)

    上个博文理论讲解的东西太多,太复杂,这里把所有步骤全部贴出 1.新建一个工程文件夹LED 2.LED文件夹下建立如下文件夹 3.Project –>New Uvision Project 到US ...

  6. FTRL(Follow The Regularized Leader)学习总结

    摘要: 1.算法概述 2.算法要点与推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的 ...

  7. .net core Entity Framework 与 EF Core

    重点讲 Entity Framework Core ! (一)Entity Framework 它是适用于.NET 的对象关系映射程序 (ORM),现在的EF6已经是久经沙场,并经历重重磨难,获得一致 ...

  8. asp.net core系列 48 Identity 身份模型自定义

    一.概述 ASP.NET Core Identity提供了一个框架,用于管理和存储在 ASP.NET Core 应用中的用户帐户. Identity添加到项目时单个用户帐户选择作为身份验证机制. 默认 ...

  9. javascript入门篇(三)

    字符串属性和方法 原始值字符串,如'liang', 没有属性和方法(因为他们不是对象). 原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值 ...

  10. .net MVC +EF+VUE做回合制游戏(一)

    刚毕业的新人,工作的时候试过用.net 框架,但是我发现写的前端代码都非常多,要写很多很多的原生,然后最近在看vue.js觉得还不错,可以减少前端很多dom操作. 至于做的东西我是想做一个游戏,一个回 ...