2440中的存储管理器

来源:互联网 发布:r2v32软件 编辑:程序博客网 时间:2024/06/06 02:44




想访问一个芯片需要做哪些事情

(1)地址总线

(2)数据总线  8/16/32数据宽度

(3)时钟频率

(4)芯片相关的一些特性,比如说SDRAM,他有行地址,列地址和bank,需要知道行地址是多少位,列地址是多少位,bank是多少位,数据位宽。


要使用SDRAM的步骤

(1)配置存储管理器




程序的启动过程(NAND启动)

(1)上电,nand前4K复制到片上RAM

(2)关看门狗,初始化存储管理器

(3)把代码拷贝到SDRAM,继续执行




链接地址:运行时程序应该位于哪里




MMU

作用:权限管理;地址映射。

Windows每一时刻只能有一个程序在跑



每个程序都有他们自己的地址空间,各不相同。权限管理使得A程序不能访问B程序的内存。



什么叫地址映射呢?




两个程序同时运行

为什么会出现这种情况呢?

运行hello程序的时候 ,CPU要访问a变量,编译的时候确定了虚拟地址是0x442d8c,CPU发出地址信号,地址信号到达了MMU,MMU经过了某种转换,转换成真正的a变量所在的地址,取到值值之后返回给CPU,CPU打印出来。


当运行hello2程序的时候,CPU发现也用的是这个地址,同样也发出这个地址信号给MMU,之后MMU把这个地址转换成第2个程序a变量的物理地址,之后返回值给处理器。




虚拟地址怎样转换成物理地址?