世界足球俱乐部杯

为什么2440与SDRAM地址线错两位相连?

出处:eefocus 引用地址://www.eeworld.com.cn/mcu/2018/i 发布于:2018-07-24 14:14:55

  为什么2440与SDRAM地址线错两位相连?

  网上说,错两位是为了32位对齐(地址为8位数据地址,2440位宽为32,错两位,跳4byte)。

  下面是听南方大哥的教程时记录的:

  由于两个合起来“数据位宽”是32位。32时,地址的地址LADDR0和LADDR1不需要使用。

  内存是32位数据宽度,2440的 LADDR0和LADDR1就不用接,从LARRD2开始接到内存的A0一直往下接。     内存是16位数据宽度,2440的LADDR0不用接,从LADDR1开始接到内存的A0一直往下接。     内存是8位数据宽度,2440就从LADDR0开如接到8位位宽的内存的A0一直往下接。

  原因:2440的地址单位是“字节”。如果内存位宽是32位(即读或写内存都是得到4字节),这时发出0,1,2,3这4个地址,都是访问到这个的同一个单元,返回则都是返回同一个4字节的数据(CPU访问内存某些地址上的数据,访问内存上某地址后取到地址上的数据)。这样CPU发出的0,1,2,3这4个地址就对应了内存上的同一块。      CPU发出0~3这4个地址去访问内存中数据,而内存只能够以32位来访问,返回的永远是4字节,接收的也永远是4字节。这样对于CPU发出的0~3这4个地址,都是返回4个字节给CPU。而CPU如何处理返回的数据则是CPU 的事情,假如CPU其实只是想要返回4字节中的1个字节,则这就要CPU内部的存储管理器去把返回4字节中想要的1字节挑出来。那去“硬件连线”上来看就是把0,1这两个地址(LADDR0-1)忽略掉,因为不管LADDR0和 LADDR1如何变化,访问到32位位宽内存的都是同一个地址,起作用的都是LADDR2之后的地址。 只是我不知道如何计算,这里 忽略 LADDR0-1,是如何计算出来的?

  回复:为什么2440与SDRAM地址线错两位相连?

  你把一个地址代进去试试看,比如CPU发出0X10000、0X10001这两个地址,ADDR1、ADDR0分别为00、01,但是由于ADDR0、ADDR1不接到外部的芯片上,所以访问到的都是芯片上第(0x10000 >> 2)个单元


关键词:2440,SDRAM,地址线

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,//domainnameq.cn,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
 一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
 9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!