博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Computer Organization笔记25】I/O:程序直接控制,程序中断方式,直接存储访问(DMA),通道控制方式
阅读量:2019 次
发布时间:2019-04-28

本文共 2718 字,大约阅读时间需要 9 分钟。

本次笔记内容:

P49 计算机组成原理(49)
P50 计算机组成原理(50)

我的计组笔记汇总:

视频地址:

幻灯片见我的 GitHub 仓库:

本节课幻灯片:

文章目录

教学内容安排

  • 第一讲:输入/输出系统概述和输入/输出方式
  • 第二讲:总线
  • 第三讲:接口电路和外部设备
  • 大实验答辩
  • 第四讲:课程总结
  • 期末考试

主要教学内容

  • 输入输出系统的作用、功能及与其他系统的关系
  • 输入/输出系统组成
  • 要解决的问题
  • 输入/输出方式
    • 程序直接控制
    • 中断
    • DMA
    • 通道
    • 外围处理机

计算机系统作用与功能

与计算机外部交换信息的通道:

  • 早期
    • 穿孔机、纸带
  • 中期
    • 键盘、显示器、打印机、鼠标
  • 现在
    • 语音、图象、图形等多媒体数据(扫描仪、DC)
    • 计算机网络
  • 将来
    • 无所不在的计算、普适计算
    • 人机交互、脑机交互

个人计算机的组成

如上,主机在变小,外部设备越来越多。

I/O 设备

  • 繁多的输入/输出设备
    • 功能多样
      • 满足各种要求
    • 服务对象不同
      • 人、计算机、其他设备
    • 数据传输率差别很大
      • 键盘、鼠标
      • 显示器、网卡
  • 多:种类繁多
  • 杂:功能繁杂
  • 异:速度不一

如何管理外部设备?

要解决的问题

控制方式:

  • CPU如何控制输入/输出?(输入/输出方式)

传输方式:

  • 传输通道、方式、速率等(总线、接口)

数据识别和转换:

  • 数/模转换、语音识别等,转换为字符、数据等计算机能识别的格式(设备)

输入输出方式

  • 程序直接控制:
    • CPU直接使用输入/输出指令来控制外部设备
  • 程序中断:
    • 外部设备请求,CPU响应,CPU与外设并行工作
  • 直接存储访问(DMA):
    • 专用输入/输出控制器
  • 通道
  • 外围处理机

程序直接控制

READSERIAL: // 读串口:将读到的数据写入v0低八位lui t1, %hi(SerialStat).TESTR:lb t0, %lo(SerialStat)(t1) // 查看串口状态andi t0, t0, 0x0002 // 截取读状态位bne t0, zero, .RSERIAL // 状态位非零可读进入读nopj .TESTR // 检测验证nop.RSERIAL:lui t1, %hi(SerialData)lb v0, %lo(SerialData)(t1) // 读出jr ranop

CPU方:

  • 查询接口状态(循环等待)
  • 直到外设已经接收到该字符
  • 读字符

外设方:

  • 往接口数据缓冲中送字符
  • 处理完后,置状态寄存器
  • 等待下一个字符

但是此时,CPU一直在循环,什么也干不了。

程序直接控制方式特点

  • 成本低
  • 效率低
  • 严重占用CPU资源
  • 适用情况
    • 早期计算机中高速设备

程序中断方式

  • CPU和外部设备同时工作:
    • 外部设备发起请求
    • CPU暂停正在执行的程序,进行响应
    • 处理完成后,继续执行原来的程序
  • 提高CPU的效率
  • 可以同时管理多个外部设备

中断的一些概念

  • 中断源
    • 外中断:I/O设备等
    • 异常(内中断):处理器硬件故障、程序“出错”,Trap
    • 中断触发器
    • 中断状态寄存器
  • 中断优先级
    • 响应中断的顺序
  • 禁止中断与中断屏蔽
    • 中断允许触发器(EI、DI)
    • 有选择封锁

中断的完整过程

  • 中断请求
    • 中断源设备设置中断触发器
      • 每个中断源有1个中断触发器
      • 同时可设置1个中断屏蔽触发器
  • 中断响应
    • 响应条件
      • 允许中断、当前指令结束、优先级
    • 响应实现
      • 硬件实现的中断隐指令,保存断点
  • 中断处理
    • 保存现场信息
    • 运行中断服务程序
    • 中断返回

中断响应时:除了保存下一条指令PC,还需要保存程序状态的寄存器。

中断设备接口组成

  • 中断请求寄存器
  • 中断屏蔽寄存器
  • 优先级排队线路
  • 数据缓冲寄存器
  • 中断控制和工作状态逻辑
  • 设备选择器
  • 中断向量表

8259A中断控制器

如上,在图右侧,表示可以接 8 个中断设备。

程序中断方式应用场景

  • CPU与外部设备并行工作
  • 硬件故障处理
  • 人机交互
  • 多道程序和分时操作
  • 实时处理(监控)
  • 应用程序和操作系统之间的联系
  • 多处理机中各处理机之间联系

中断控制方式特点

  • 适用情况
    • 传输速度不高
    • 传输量不大
  • 对CPU干扰较大

直接存储访问(DMA)

  • I/O设备和主存储器之间的直接数据通路,为专设的硬件,用于高速I/O设备和主存储器之间成组传送数据。
  • 数据传输过程由DMA自行控制
  • 主存储器需要支持成组传送
  • 数据传送开始前和结束后通过程序或中断方式对 DMA进行预处理和后处理
  • DMA工作方式
    • 独占总线方式
    • 周期窃取方式

DMA控制器组成

由中断,发现缺页:

  • DBR ,需要换一页出去,方向寄存器;
  • ADR 记录内存的起始地址;
  • WC 描述这页有多大;
  • MAR 描述哪个设备接收;
  • CSR 描述状态。

DMA数据传送过程

不会很打扰 CPU 。

DMA方式的问题

虚拟地址和实地址:

  • DMA采用实地址:虚拟地址连续,但实地址不连续
  • 采用虚拟地址:DMA进行虚实地址转换

Cache一致性:

  • 主存中的数据可能不是最新的
  • 采用直接写会带来性能的降低
  • DMA查询Cache,降低性能
  • 直接设计硬件控制

DMA方式的特点

  • 与设备一对一服务
    • 多DMA控制器同时工作可能发生冲突
  • 对CPU打扰适中
    • 初始化
    • 周期挪用
  • 无法适用大量高速设备的管理(矛盾在于 DMA卡是一对一工作)

通道控制方式

  • I/O通道是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O指令集合——通道命令的I/O处理机。
  • 一对多的连接关系
  • 适应不同速度、不同种类的外部设备,可并行工作

通道的功能

  • 根据CPU要求选择某一指定外设与系统相连,向该外设发出操作命令,进行初始化
  • 指出外设读/写信息的位置以及与外设交换信息的主存缓冲区地址
  • 控制外设与主存之间的数据交换
  • 指定数据传送结束时的操作内容,检查外设的状态

通道的类型

  • 字节多路通道
    • 简单的共享通道,分时处理,面向低、中速字符设备
  • 选择通道
    • 选择一台外设独占整个通道,以成组传送方式传送数据块,效率高,适合快速设备
  • 数组多路通道
    • 上两种方式的结合,效率高,控制复杂

外围处理机

  • 通道型处理机
    • 共享内存
  • 外围处理机
    • 通用计算机
    • 独立完成输入/输出功能
    • 通过通道方式与主机进行交互

设计输入/输出系统

  • 性能
    • 考虑吞吐量和延迟
    • 适应各种不同类别的设备的性能的差异
    • 从操作系统、驱动程序等各方面综合考虑
    • 考虑到设备性能的提高
  • 可扩展性
    • 允许更多的设备接入到输入/输出系统
  • 可适应性
    • 设备有无
    • 设备故障

输入/输出系统

  • 输入/输出设备多,功能复杂,速度不一
  • 多种控制方式,解决速度不一的问题,尽量少地占用CPU资源
  • 操作系统管理
  • 硬件直接支持
  • 与不同的设备有直接的依赖关系(驱动程序)
  • 尽量使设备使用统一的标准——虚拟设备

转载地址:http://stlxf.baihongyu.com/

你可能感兴趣的文章
MySQL学习笔记——慢查询
查看>>
PL/SQL学习笔记之触发器
查看>>
iOS 版本更新(强制更新)检测问题
查看>>
Struts2(1)简介
查看>>
leetcode算法 111. 二叉树的最小深度
查看>>
实现string toHex(int)把一个十进制转换成十六进制。(完全用算法实现)
查看>>
覃仙球- 时装品牌Chilly Chin创始人 | 到「在行」来约见我
查看>>
我眼中的领域驱动设计 - richiezhang - 博客园
查看>>
新风系统可取代空调吗? - 知乎
查看>>
rootsongjc/kubernetes-handbook: Kubernetes中文指南/实践手册
查看>>
高龄“潮男”优衣库老板柳井正_榜样_奢华主义_YOKA时尚网
查看>>
私人定制!13个在线纹理生成资源网站
查看>>
HTML 一行显示
查看>>
JS 获取图片、文件数据并封装在json中
查看>>
Win10 快捷键
查看>>
Sublime Text 快捷键
查看>>
读『开发App常见的九大错误』
查看>>
Freeline - Android平台上的秒级编译方案
查看>>
美股课堂:美国银行开户亲历记
查看>>
逆生长_百度百科
查看>>