ARM中的RAM是怎么被瓜分的呢?谈谈没有操作系统时的情况吧。。。。。我先说说我的理解,不对之处还请大侠们多多拍砖!
1.RAM是一片空白的处女地,需要你的开垦。它速度比较快,可以和CPU匹配,但它的价格比较的高,所以就弥足珍贵,不能乱开垦,那就存放需要频繁操作的数据吧,把占用空间多的代码放在FLASH中,当然现在的ARM也可以搬运代码到RAM中。
2.我们发现数据有不同的特点,有的像老婆,要厮守终生,有的像路人,只是擦肩而过,怎么合理的分配RAM空间呢?把RAM打造成出租屋吧,老婆(全局变量,静态数据)长期占据,房客(局部变量)到期就赶走(再涨租金),当然还要有储物间(STACK),或自己开辟私人空间。
3.出租屋规划好了,可发现没有老婆,也没有租客。没关系,我们是垄断经营,FLASH会把它的亲戚朋友转给我们!怎么转了,老婆能随便给别人?法制社会按协议办事!我们的一把手(编译器)会按我的命名(用户代码)给事情办好!
4.一把手办事(编译器)我放心。(1)给我们圈出我们看中的地盘,并强拆地盘上的违章建筑。(2)迎接FLASH的亲戚朋友入住。(3)开辟储物间(STACK)。(4)制定好敢走到期房客的规划。当然,如果我的出租屋够大,可以把FLASH中的所有的东东都给搬过来!
以上全是个人无聊是的遐想,如有大侠觉得是在胡言乱语,别留恋您手边的板砖!:lol |