I/O数据传输控制的方式
对于计算机来说,CPU会去执行进程,进程不可能什么都有,进程可能要从外部接收数据,也可能要把数据输出去,所以cpu在执行过程中肯定要和外设进行打交道,这个时候会存在一个问题,外设的速度是比较慢的,而cpu是极快的,那cpu在执行某一个需要用到外设的进程的时候,cpu是等待外设执行后进行执行吗?这种方式叫做程序控制(查询方式)
,它是一种串行
的方式,它是可以的,只是销量很低。
程序控制(查询)方式
:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。
那CPU和外设并行
执行的方式有哪些呢?
软件
的方式
程序中段方式
:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
硬件
的方式
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系统的数据交换
- 返回被打断的程序继续执行(恢复现场)
总线系统
总线是连接多个设备的信号传送通道,实际上是一组信号线。广义的讲,任何连接两个以上电子元器件的导线都可以称为总线。
总线的分类
总线通常分为以下几类
芯片内总线
:用于集成电路芯片内部各部分的连接元件级总线。用于一块电路板内各个元器件的连接。系统总线,又称内总线
。(主板上部件和部件)用于计算机各组成部分(CPU、内存和接口等)的连接。外总线,又称通信总线
。用于计算机与外设或计算机与计算机之间的连接或通信。
按通信方式分为:串行总线
(数据按位依次传输)和并行总线
(多位数据同时并行线传输)