打印

[考题]arm系统的32位总线和16位总线

[复制链接]
2560|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
avr32|  楼主 | 2009-5-28 22:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果你对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。


请告诉你的答案及原因!四个问题可任意回答一个问题.

相关帖子

沙发
lelee007| | 2009-5-29 02:29 | 只看该作者

第三个问题

32位数据线可以乱接,因为存进去和读出来都是通过同一套总线,所以在CPU端写到SDRAM里边某一个地址中某一个数据,虽然此时存储的数据与实际数据不一定一样,但是如果CPU需要读入这个数据的时候,读进去的结果会和写入的是一样的,因为要通过交换连接的总线再逆变换一次,比如我们将DB[5]和DB[11]交换,我们将数据
0000 0000 0000 0000 0000 0000 0010 0000
写入SDRAM某一个地址,写入后,该地址存储的结果实际将会是
0000 0000 0000 0000 1000 0000 0000 0000
即数据中的第六位的1将会写在第12位上,而第12位的0将会写在第六位上

靠,有点无聊,冇的耐心写下去了

LZ琢磨琢磨俺说的对与否

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

1189

帖子

0

粉丝