如果你对arm的存储系统有兴趣,或者自认为很了解的话,请做下面几道题:
背景:现在有一块arm版,使用两个2个16bits位宽的32M字节容量的sdram组成一个32bits总线宽度,容量为64M字节的一个系统。
问题1、不限定总线宽度为32bits,请画出16bits总线宽度和32bits总线宽度、存储容量都为64M的框架草图;
问题2、请说明16位数据总线宽度和32位总线宽度哪种方式系统效率高,好,请说出为什么?请说出这两种总线方式读取一个word(4字节)的流程;
问题3、请问sdram的数据总线可以交叉吗?具体点说:我们一般连接数据总线一般都是从sdram的d0--->cpu的d0 ,d1-->d1.....d31--d31,请问,这个顺序可以打乱吗?那地址总线的顺序可以打乱吗?嘿嘿,sram的数据总线和地址总线可以打乱吗?
问题4、假如我们的系统中可以将32bits的总线随意设置为16bits,则可以成为两种系统,32bits的64M的系统,16bits的32M的系统,我们以16bits的总线向0x21f00000地址中写入了数据0x11223344,我们以32bits的总线来读取这个数据,那么读取的地址是多少,为什么?以小端存储格式为例,读回来的数据格式是什么样的,大端模式了?sdram的起始地址是0x20000000。
请告诉你的答案及原因!四个问题可任意回答一个问题. |