本次笔记内容:
P49 计算机组成原理(49)
P50 计算机组成原理(50)

我的计组笔记汇总:计算机组原理成笔记

视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完

幻灯片见我的 GitHub 仓库:计算机组成原理 src/slides

本节课幻灯片:组成原理41 io.pptx

文章目录

  • 教学内容安排
  • 主要教学内容
  • 计算机系统作用与功能
  • 个人计算机的组成
    • I/O 设备
    • 要解决的问题
  • 输入输出方式
    • 程序直接控制
      • 程序直接控制方式特点
    • 程序中断方式
      • 中断的一些概念
      • 中断的完整过程
      • 中断设备接口组成
      • 8259A中断控制器
      • 程序中断方式应用场景
      • 中断控制方式特点
    • 直接存储访问(DMA)
      • DMA控制器组成
      • DMA数据传送过程
      • DMA方式的问题
      • DMA方式的特点
    • 通道控制方式
      • 通道的功能
      • 通道的类型
      • 外围处理机
  • 设计输入/输出系统
  • 输入/输出系统

教学内容安排

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

主要教学内容

  • 输入输出系统的作用、功能及与其他系统的关系
  • 输入/输出系统组成
  • 要解决的问题
  • 输入/输出方式
    • 程序直接控制
    • 中断
    • 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 // 状态位非零可读进入读
nop
j .TESTR // 检测验证
nop
.RSERIAL:
lui t1, %hi(SerialData)
lb v0, %lo(SerialData)(t1) // 读出
jr ra
nop

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资源
  • 操作系统管理
  • 硬件直接支持
  • 与不同的设备有直接的依赖关系(驱动程序)
  • 尽量使设备使用统一的标准——虚拟设备

【Computer Organization笔记25】I/O:程序直接控制,程序中断方式,直接存储访问(DMA),通道控制方式相关推荐

  1. 【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

    资源Bilibili AV58129929 计算机组成原理 清华大学 刘卫东 本次笔记内容: P1 计算机组成原理(01) P2 计算机组成原理(02) 文章目录 课程信息 预热内容-课程介绍 学习目 ...

  2. 【Computer Organization笔记23】非易失性存储:磁表面存储设备,磁盘的访问过程,RAID技术

    本次笔记内容: P45 计算机组成原理(45) P46 计算机组成原理(46) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

  3. 【Computer Organization笔记15】清华计组大作业布置:奋战二十天,做台计算机!

    本次笔记内容: P29 计算机组成原理(29):第25分钟起 P30 计算机组成原理(30) 我的计组笔记汇总:计算机组成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 108 ...

  4. 【Computer Organization笔记28】总复习

    本次笔记内容: P55 计算机组成原理(55) P56 计算机组成原理(56) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

  5. 【Computer Organization笔记24】光盘,FLASH MEMORY,本单元总结

    本次笔记内容: P47 计算机组成原理(47) P48 计算机组成原理(48) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

  6. 计算机组成原理中flashmemory,【Computer Organization笔记24】光盘,FLASH MEMORY,本单元总结...

    本次笔记内容: P47 计算机组成原理(47) P48 计算机组成原理(48) 我的计组笔记汇总:计算机组原理成笔记 本节课幻灯片:无 本节课在 2019 年系列中,被替换成了"MIPS异常 ...

  7. 【Computer Organization笔记05】运算器基本功能,定点运算器,Am2901的组成与功能,VHDL硬件描述语言

    本次笔记内容: P9 计算机组成原理(09) P10 计算机组成原理(10) 本节课对应幻灯片:组成原理15 AM2901,第1页起. 文章目录 P4 CPU示例 P5 运算器的基本功能 执行一次运算 ...

  8. 【Computer Organization笔记29】大作业展示

    本次笔记内容: P57 计算机组成原理(57) P58 计算机组成原理(58) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

  9. 【Computer Organization笔记16】大实验任务详细说明:支持指令流水的计算机系统设计与实现

    本次笔记内容: P31 计算机组成原理(31) P32 计算机组成原理(32) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

最新文章

  1. Python中按指定长度分割字符串并反转
  2. 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架iview
  3. 安卓JNI开发-01
  4. C++ - 深入理解new
  5. 系统安装05-Xenserver 7.0安装
  6. 解决css引用字体跨域问题
  7. 强化学习——从最简单的开始入手
  8. 在ubuntu16.04上安装suitecrm
  9. int转byte数组以及相关原理
  10. matlab gpa排名,GPA如何决定申请排名多少的大学?(附TOP100大学要求)
  11. this指向详解,思维脑图与代码的结合,让你一篇搞懂this、call、apply。系列(一)
  12. LeetCode通关:听说链表是门槛,这就抬脚跨门而入
  13. python与按键精灵哪个好_UiBot和按键精灵哪个强大,有什么区别?
  14. mysqlReport 详细解析
  15. oracle ocm认证概述
  16. 数字化时代-16:生意人 商人 企业家 资本家 区别
  17. 如何计算STM32定时器、独立看门狗和窗口看门狗
  18. 输出阶乘20∑n! 1!+2!+3!+…+20!阶乘定义:n! = 1 * 2 * 3 * … * n
  19. 期望值、方差、标准差、协方差
  20. 懒人体育销售系统开发总结

热门文章

  1. safari浏览器中的菜单栏中,显示[开发]按钮
  2. 【Oracle】表级别分区操作对索引(本地分区索引,全局分区索引,非分区索引)的影响
  3. 【Oracle】跟踪文件目录(User_Dump_Dest)生成脚本(11g/9i).txt
  4. 解决web网站被挂马清除方法
  5. 解决使用vue-awesome-swiper组件分页器pagination样式设置失效问题
  6. 在nodeJs的Express框架下用TypeScript编写router路由出现import关键字错误的解决方案
  7. 如何使用Angular JS设置bootstrap navbar活动类?
  8. JAVA编程思想——读书笔记 对象的容纳
  9. Python基础-函数,高阶函数
  10. 更改项目project名称,与项目名称;