sdram接口 百思不得其解
有些32的cpu它的databus是32bit的为什么sdram接口是16bit的?就是用2片8bit位宽的内存扩展成16bit然后连接到cpu?照这样理解databus不就成了16bit宽度的了吗?
如果不是这样那就是内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据?
按照我的理解好像只能这么解释。 除非真是把databus变成16bit的了?
小弟求解惑.... 32的bus没叫你用完,你可以只用16也可以用32,外接sdram可以2片16组成一个32也可以只用一片32的sdram jiaowoxiaolu 发表于 2014-4-17 17:07
32的bus没叫你用完,你可以只用16也可以用32,外接sdram可以2片16组成一个32也可以只用一片32的sdram ...
也就是说32bit的databus也可以拿来当16bit的databus来用?这是不是有点浪费cpu...
还有32位的cpu处理16bit的数据? jz47xx rt5350 ar9331 mt7620这些是“内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据” zouzhichao 发表于 2014-4-17 17:55
jz47xx rt5350 ar9331 mt7620这些是“内存控制器将16bit的数据做了缓存,2个bit的组成一个32bit的数据” ...
那有没有直接把32bit的databus只是用16bit也就是当16bit的databus来用的?还是所有的外部接口不足32bit的都在内存控制器上做了缓存?
如果说做了缓存的话 cpu就无法一个周期访问到32bit的数据了吧?需要取2次数据? 一般都是两片16位的sdram,连接到32位的数据总线上,32位总线可以扩展一些外围设备,外围设备可以8位、16位、32位 看应用,有的时候小封装片子没那么多数据线的 外部接口的宽度和Local bus 宽度有啥关系?很多芯片内部为了达到高的数据吞吐量,local bus 设计成128bit 的宽度,也没见外面接上 128bit 的内存。
不够的时候多取几次就可以了,CPU要吗 cache match,要吗等。 认真看手册
页:
[1]