I/O技术

43 阅读3分钟

I/O数据传输控制的方式

对于计算机来说,CPU会去执行进程,进程不可能什么都有,进程可能要从外部接收数据,也可能要把数据输出去,所以cpu在执行过程中肯定要和外设进行打交道,这个时候会存在一个问题,外设的速度是比较慢的,而cpu是极快的,那cpu在执行某一个需要用到外设的进程的时候,cpu是等待外设执行后进行执行吗?这种方式叫做程序控制(查询方式),它是一种串行的方式,它是可以的,只是销量很低。

  • 程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。

那CPU和外设并行执行的方式有哪些呢?

  1. 软件的方式
  • 程序中段方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
  1. 硬件的方式
  • DMA方式:DMN方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。 (DMAC向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/O接口开始DMA传输。)
  • 通道方式
  • I/O处理机

总线周期

CPU对存储器和I/O接口的访问,是通过总线实现的。通过把CPU通过总线对微处理器外部(存储器或I/O接口)进行一次访问所需时间称为一个总线周期

总线: 计算机的部件有很多,每个部件和每个部件之间搞一条专门的线显然是不现实的,所以它就搞出一个公共的线路,这个公共线路就是总线。并行执行CPU和外设的时候,数据传输需要使用总线。

中断处理过程

  • CPU在不断的处理进程,有一些进程在处理一些比较耗时的I/O操作,所以CPU会把这些进程挂起来,挂起来总得找一个数据结构存储,这样的数据结构就叫做中断向量表
  • CPU在执行A进程的过程中,B进程的I/O处理已经完成,中断处理(本质是一个软件)检测到I/O处理已经完成,它就向CPU发送一个中断请求信号。
  • CPU接到中断请求后,保存正在执行的现场(保护现场),打断的程序当前位置即为断点,目的是为了返回回来可以继续执行。
  • (通过中断向量表)转入I/O中的服务程序的执行,完成I/O系统的数据交换
  • 返回被打断的程序继续执行(恢复现场)

截屏2024-07-26 15.46.15.png

截屏2024-07-26 15.48.34.png

总线系统

总线是连接多个设备的信号传送通道,实际上是一组信号线。广义的讲,任何连接两个以上电子元器件的导线都可以称为总线。

总线的分类

总线通常分为以下几类

  • 芯片内总线:用于集成电路芯片内部各部分的连接元件级总线。用于一块电路板内各个元器件的连接。
  • 系统总线,又称内总线。(主板上部件和部件)用于计算机各组成部分(CPU、内存和接口等)的连接。
  • 外总线,又称通信总线。用于计算机与外设或计算机与计算机之间的连接或通信。

按通信方式分为:串行总线(数据按位依次传输)和并行总线(多位数据同时并行线传输)

截屏2024-07-26 16.08.40.png

截屏2024-07-26 16.07.56.png

截屏2024-07-26 16.11.34.png