计算机组成原理(7)输入输出系统 DMA 程序中断
信息交换
CPU管理外设有一下方式:
- 程序查询方式
- 程序中断方式
- 直接内存访问(DMA)方式
- 通道方式
- 外围处理机(PPU)方式
这四种方法对应上述四种方式 - 程序查询
数据在CPU与外设之间 全靠计算机控制
浪费CPU - 程序中断
外围设备主动通知CPU。就是一致学习的中断请求
比系统查询好,但是开销大 - DMA直接内存访问
完全由硬件执行IO交换。DMA完全接管总线控制。数据交换不仅过CPU,直接在内存与外设之间。传输速度受内存访问时间限制,适用于内存与高速外围设备之间的大批次交换场景 - 通道
CPU将权力下放给通道。通道时特殊的处理器,其中有应用称为输入输出处理器(IOP),实现对外围设备统一管理。提高CPU效率但是硬件代价增加。 - 外围处理机
ppu时通道的进一步发展。ppu独立于主机工作,类似于微小的计算机。这种系统变成了分布式多机系统
程序查询与程序中断适合传输速率小的设备,单片机,微型计算机。而DMA,通道,ppu适用于传输速率高设备,大中型计算机中。
程序中断方式
中断PC就保存之前的信息,子程序就保护CPU现场。
DMA方式
完全由硬件执行,DMA控制器完全接管总线控制。数据不经过CPU,直接内存与外设访问
操作过程:
- 程序发送DMA请求
- CPU切换为DMA工作模式,DMA控制器接管总线
- DMA对内存操作
- 向CPU报告DMA的结束
DMA方式 数据传送前,结束后的管理工作均有管理程序完成,DMA控制器仅负责数据传送工作
DMA与CPU分时使用内存的三种方式
-
停止CPU访问内存
整个过程CPU放弃总线控制,交给DMA控制器。数据传输完毕后DMA通知CPU可是使用内存 。并把控制权交还CPU -
周期挪用
IO设备没有DMA请求,CPU按程序要求访问内存。一旦有了DMA请求,IO挪用内存周期。
产生IO于CPU冲突后,IO优先,因为IO有访问时间要求 -
DMA与CPU交替进行
如果CPU工作周期比内存存取周期长很多,交替的方式可以提高DMA,CPU两者的效率