计组_输入输出系统

2024.08.05:计算机组成原理输入输出学习笔记


  • 输入输出系统控制着计算机和外设之间的交流,计算机(主机)与外设之间交流走的这条路叫做(IO接口),它是一个硬件设备,用来连接外设和主机
  • IO接口就是外设和主机之间进行数据交流的媒介

5.1 IO基本职能

主机侧的称为内部接口:通过IO总线和内存、CPU相连
外设侧的通常称为外部IO接口:通过IO接口电缆(USB线、网线)连接到外设上

在这里插入图片描述

  1. 数据缓冲:主存和CPU寄存器的存取速度非常快,外设速度较低,所以在IO接口中引入数据缓冲寄存器,匹配主机、外设的工作速度
  2. 错误或状态检测:在IO接口中提供状态寄存器保存各种状态信息
  3. 控制和定时:提供控制、定时逻辑,以接受系统总线来的控制命令和定时信号
  4. 数据格式转换:提供数据格式转换部件,使通过外部接口得到的数据转换为内部接口需要的格式或者反着转换

5.2 IO接口的通用结构

在这里插入图片描述


IO接口在主机侧通过IO总线与内存、CPU相连

  • 通过数据线,在数据缓冲寄存器与内存或CPU的寄存器之间进行数据传送 在这里插入图片描述

同时接口和设备的状态信息被记录在状态寄存器中
状态信息就是供CPU去检查一下外设是否准备号去传数据

  • 通过数据线将(状态信息)送到CPU,以供查用

CPU对外设的(控制命令)也通过数据线传送,一般将其送到IO接口的控制寄存器
控制命令走数据线,一般将这些控制命令送到IO接口里面的控制寄存器

  • 因为(状态寄存器)和(控制寄存器)传送方向相反,CPU对他们的访问时间一般都是错开的,所以有的IO接口将它们合二为一
    在这里插入图片描述

地址线用于给出要访问的IO接口中寄存器的地址,它和(读/写控制信号)一起被送到IO接口中的控制逻辑部件中


5.3 IO数据传送控制方式

从刚才我们分析IO接口它的结构的过程中,我们发现如果想要实现外设和CPU之间的数据传输的话,你需要去协调CPU与外设它们彼此之间应该如何配合,那么输入输出系统里面会有三种去控制数据传输的方式

5.3.1 程序直接控制(程序查询控制)

通过程序来定时或持续查询接口方式

  • 优点:简单易控制,外围接口控制逻辑少
  • 缺点:CPU需要从外设接口读取状态,并在外设未就绪时一直处于忙等待(独占查询),由于CPU速度比外设快得多,CPU在等待外设完成任务过程中浪费了很多时间

在这里插入图片描述

(1)独占查询

一旦设备被启动,CPU就一直持续查询接口状态,CPU花费全部时间用于IO操作,此时外设和CPU完全串行工作


(2)定时查询

CPU周期性地查询接口状态,每次总是等到条件满足才进行一个数据的传送,传送完成后返回到用户程序。定时查询的时间间隔与数据传输速率有关


5.3.2 中断控制(程序中断IO方式)

让CPU完全释放出来!

基本思想:外设和CPU并行工作,外设向CPU发出中断请求,在可以响应中断的条件下,CPU再暂时中止正在执行的程序,转去执行中断服务程序为外设服务

在这里插入图片描述
在这里插入图片描述


(1)中断响应步骤

中断响应步骤学习笔记

  1. 关中断
  2. 保存断点
  3. 引出中断服务程序

(2)中断响应的条件

中断响应条件学习笔记

  • CPU要处于开中断的状态
  • 至少要有一个未被屏蔽的中断请求
  • 当前指令刚执行完

5.3.3 DMA控制

DMA是可以跨国CPU直接和内存进行交互的
DMA即直接存储器存取,让外设和内存直接去进行一个数据交换,不需要去通过CPU

通常把专门用来控制总线进行DMA传送的接口硬件称为DMA控制器

DMA传送时,CPU让出总线控制权,由DMA控制器控制总线,通过“挪用”一个主存周期完成和主存之间的一次数据交换,或独占若干个主存周期完成一批数据的交换
在这里插入图片描述
主要用于磁盘等高速设备数据传送:这类设备大多采用成批数据交换方式

采用“请求-响应”方式:中断IO方式请求的是处理器的时间,DMA方式请求的是总线控制权


(1)三种DMA方式

由于DMA控制器和CPU共享主存,所以可能出现二者争用主存的现象,通过这三种方法来让他们协调使用内存

CPU停止法

  • DMA传输的时候,由DMA控制器发一个停止信号给CPU,使得CPU脱离总线,停止访问主存,直到DMA传送一块数据结束

周期挪用法

  • DMA传输时,CPU让出一个总线事物周期,由DMA控制器挪用一个主存周期来访问主存,传送完一个数据后立即释放总线,是一种单字传输方式

交替分时访问法

  • 每个存储周期分成两个时间片,一个给CPU,另一个给DMA控制器,这样在每个存储周期内,CPU和控制器都可以访问存储器

(2)DMA操作步骤

在这里插入图片描述
在这里插入图片描述


(3)DMA与存储系统

没有DMA控制器的,所有对存储器的访问都来自CPU,通过MMU中的地址转换和cache访问来进行存储器存取
在这里插入图片描述
有了DMA后,系统中就有了另一个访问存储器的路径,它不通过地址转换机制和cache层次。这样,在虚拟存储器和cache系统中就会产生一些问题。这些问题的解决通常要结合硬件和软件两方面的技术支持
在这里插入图片描述


(4)DMA以虚拟地址还是以物理地址工作?

  • 如果使用虚拟地址,在DMA接口中就必须将虚实地址转换
    在这里插入图片描述

  • 如果使用物理地址,每次DMA传送就不能跨页
    在这里插入图片描述


(5)DMA&Cache

具有DMA的cache系统也会产生问题。DMA控制器直接向存储器发出访存请求而不通过cache,DMA看到的主存单元值和CPU看到的cache中的副本可能不同
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StepByByte

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值