2009年4月5日星期日

内存是外设?

内存是外设?体系结构教科书上不是这么说的,事实是,体系结构教材根本不讲外设,但讲内存;而讲外设的书,一般也不讲内存。

但是从模拟器实现的角度讲,内存是外设。实际情况是,所有以物理地址访问的模块都是外设。内存RAM、ROM、ARM的TCM、UART、网络控制器,等等,全是接受物理地址,它们的实现方式,是一致的(继承自同一个类)。不同的是,内存不会产生中断,而有些外设也不产生中断,比如Frame Buffer,是无须产生中断的。

从CPU角度来看,内存的大延迟也足以把它当作外设了。

把内存不当作外设的理由是,没有内存,计算机没法工作,毕竟现代的计算机是存储程序式的计算系统,没有了内存,计算系统必须用其它方式保存状态,而其它方式都不如内存效率高、成本低。这样看,内存又是计算机系统本质内在的东西,和其它外设有根本不同,甚至极端地看,CPU里的寄存器也是存储,也是内存。内存之于计算,如同质量之于能量,在一定条件下,互相转化。比如,在图灵机里,计算是用一系列存储状态代表的。

所以,从计算的角度看,内存不是外设,没它不行;但从实现的角度看,内存是外设,因为它用物理地址访问。

没有评论:

发表评论