美国dma博士啥时候有的?
DMA是Direct Memory Access的缩写,意为“直接内存访问”,是一种能够解决CPU与内存间数据交换速度困难的编程方式。通过这种方式,程序能够直接读取和写入任意指定地址单元的内容(不需要经过操作系统或芯片组的干预)。
虽然操作系统的缓存、TCP/IP中的数据报文缓存等很多方面都用到了这种技术,但是最著名的要数Intel的SSDT技术在芯片组中实现对系统内存的直接读写。 当然要实现这种功能,必须以损失部分性能为代价。为了尽可能降低这种损耗,硬件设计者想出了许多方法来优化这个性能瓶颈:例如,有些设备会允许同时存在多个读写任务,并且这些任务之间不需要任何的同步操作就能自动执行——这就是所谓的多路复用(multiplexing)机制;另外有些处理器会在内部实现一些软件算法来提升性能,比如Intel的SSDT就采用了类似散列表的数据结构。
由于这种技术能够极大提高内存和数据的处理效率,因此现在已经成为各种设备的标准配置之一了。 虽然DMA这种概念最早出现于70年代,但是直到个人计算机普及之后这种技术才渐渐进入人们的视野。而等到人们意识到这种技术的巨大作用时,Intel的微架构设计师们已经早早地在芯片组中实现了这种功能。所以在当时的情况下,无论是操作系统还是应用层都是无能为力的。 直到后来互联网的出现,随着网络流量的暴增和数据量的爆发式增长,这种限制才慢慢显露出来。这时候人们才想起要对这种传统的设计进行变革了,而这也是现代操作系统及网络协议栈的基础。