一直不明白DMA(直接内存存储)
资料上在介绍直接
有这样一段话
"数据直接在源地址和目的地址之间传送,
不需要中间媒介。
如果通过CPU把一个字节从适配卡传送至内存,
需要两步操作。
首先,CPU把这个字节从适配卡读到内部寄存器中,
然后再从寄存器传送到内存的适当地址。
DMA控制器将这些操作简化为一步,
它操作总线上的控制信号,
使写字节一次完成。
这样大大提高了计算机运行速度和工作效率"
关键是这句话
"
如果通过CPU把一个字节从适配卡传送至内存,
需要两步操作。
首先,CPU把这个字节从适配卡读到内部寄存器中,
然后再从寄存器传送到内存的适当地址
"
确实我有些晕拉,如果按我平时理解的处理流程应该是
"
数据从外围设备读入内存,然后cpu从内存读取数据,开始相应的计算
控制单元负责译码,转发指令,中间的操作数才放在(通用)寄存器,计算完毕
才回写到内存,然后传送至硬盘,显示器等外围设备
"
既然如此,为何"
首先,CPU把这个字节从适配卡读到内部寄存器中,
然后再从寄存器传送到内存的适当地址
"为何这时采取一个相反的流程呢?
我的理解肯定有误,但是问题在哪里阿??
这里提个更幼稚的问题,不要笑阿,我是蔡鸟:
在现实中这个适配卡通常适用与显卡,而非硬盘的的IDE口
所有的接口都是可以插适配卡的吗
硬盘其实就应该叫作硬盘适配卡???