=====================================================
在讲义里面:
【培训讲义】-->【硬件设计】-->【存储器】-->【DSP系统外部存储电路的设计】
-----------------------------------------------------------------
里面说了如下存储器可以数据、地址线等效交换(原文):
1、异步存储器SRAM
SRAM的数据和地址线可以等效交换。
2、异步存储器Flash
Flash的数据和地址线不可以等效交换。
3、同步静态存储器SBSRAM/ZBTRAM组织/封装
地址线A[1:0]必须对应,其余地址线可以打乱。而数据线只要字节对应,字节内可以打乱。
4、同步动态存储器SDRAM组织/封装
SDRAM的地址线不可以打乱,而数据线只要字节对应,字节内可以打乱。
=====================================================
各位老师是否可以对“等效交换”做一个解释。
---------------------------------------
我对“地址线等效交换”的理解如下:
因为对存储器单元的访问可以“随机”,所以,当作了“地址线等效交换”交换了之后,从程序员的角度来说,地址逻辑上还是可以看作连续的;只不过是造成了在物理上对存储器单元的访问先后顺序发生了变化。
不知理解是否正确?(前提是该地址线只传送地址信号,而不传送控制信号)
如果如此,是否会造成存储器访问性能的下降?
---------------------------------------
我对“数据线等效交换”的理解如下:
假设数据宽度是一个字。如果做了“数据线等效交换”,原来一个字物理位排序是[D0~D15],结果交换之后物理位变成一个乱序[D10D8D2D14D6……]。但是从程序员的角度来说,因为存时就是按这个顺序存的,取出来也按这个顺序取,所以,没有影响——也就是说逻辑上是连续的,【字】还是那个【字】,而不论具体物理存储是按什么顺序存的。
---------------------------------------
综合一下,我的问题如下:
1、如果做了相应的地址等效交换,在软件上面或者硬件上面需要做什么改变?(不知我的理解是否正确)
2、如果做了“等效交换”,是否影响存储性能?
谢谢
你的理解基本正确,对软件可一当作没有这回事即可