卖菜老汉 发表于 2014-4-17 17:02:10

sdram接口 百思不得其解

有些32的cpu它的databus是32bit的为什么sdram接口是16bit的?就是用2片8bit位宽的内存扩展成16bit然后连接到cpu?
照这样理解databus不就成了16bit宽度的了吗?
如果不是这样那就是内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据?
按照我的理解好像只能这么解释。 除非真是把databus变成16bit的了?
小弟求解惑....

jiaowoxiaolu 发表于 2014-4-17 17:07:55

32的bus没叫你用完,你可以只用16也可以用32,外接sdram可以2片16组成一个32也可以只用一片32的sdram

卖菜老汉 发表于 2014-4-17 17:12:22

jiaowoxiaolu 发表于 2014-4-17 17:07
32的bus没叫你用完,你可以只用16也可以用32,外接sdram可以2片16组成一个32也可以只用一片32的sdram ...

也就是说32bit的databus也可以拿来当16bit的databus来用?这是不是有点浪费cpu...
还有32位的cpu处理16bit的数据?

zouzhichao 发表于 2014-4-17 17:55:52

jz47xx rt5350 ar9331 mt7620这些是“内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据”

卖菜老汉 发表于 2014-4-17 18:03:15

zouzhichao 发表于 2014-4-17 17:55
jz47xx rt5350 ar9331 mt7620这些是“内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据” ...

那有没有直接把32bit的databus只是用16bit也就是当16bit的databus来用的?还是所有的外部接口不足32bit的都在内存控制器上做了缓存?

如果说做了缓存的话 cpu就无法一个周期访问到32bit的数据了吧?需要取2次数据?

jingzhongyue 发表于 2014-4-24 21:56:48

一般都是两片16位的sdram,连接到32位的数据总线上,32位总线可以扩展一些外围设备,外围设备可以8位、16位、32位

canspider 发表于 2014-4-24 22:37:20

看应用,有的时候小封装片子没那么多数据线的

mangocity 发表于 2014-4-28 18:02:55

外部接口的宽度和Local bus 宽度有啥关系?很多芯片内部为了达到高的数据吞吐量,local bus 设计成128bit 的宽度,也没见外面接上 128bit 的内存。
不够的时候多取几次就可以了,CPU要吗 cache match,要吗等。

diskcopy 发表于 2014-4-28 18:23:07

认真看手册
页: [1]
查看完整版本: sdram接口 百思不得其解