例4.3用一个512K×8位的Flash存储芯片组成一个4M×32位的半导体只读存储器。
试回答:
(1)该存储器的数据线数。
(2)该存储器的地址线数。
(3)共需几片这科存储芯片?
(4)说明每根地址线的作用。
(1)对于4M×32位的存储器,数据线为32位。
(2)对于4M×32位的存储器,按字寻址的范围是2,按字节寻址的范固是2“,故该存储器的地址线为24位A2s~Ab。
(3)4片512K×8位的Flash可组成512K×32位的存储器,4M×32位的存储器共需32片512K×8位的Flash。
(4)CPU的24根地址线中,最低2位地址A,A。为字节地址,Aa~A,这19根地址线与Flash 的地址线相连,最高3位地址AsA22A21可通过3线-8线译码器形成片选信号。每一个片选信号同时选中4片Flash,以满足32位的数据线要求。
例4.5设有8个模块组成的八体存储器结构,每个模块的存取周期为400ms,存储字长为32位。数据总线宽度为32位,总线传输周期50ns,试求顺序存储(高位交又)和交义存储(低位交叉)的存储器带宽。
在IT领域,存储器是计算机系统中的核心组件之一,它负责暂时存储计算所需的数据和指令。本题涉及了存储器的组成、寻址方式、存储带宽计算以及不同存储层次的速度比较。
我们来看存储器的组成。题目中提到了一个4M×32位的半导体只读存储器(ROM),其中的"512K×8位的Flash存储芯片"是用来构建这个ROM的基础。512K表示存储容量,即512 * 2^10 = 2^21字节,而8位则表示每一单元可以存储8位二进制数据。为了组成4M×32位的存储器,我们需要计算以下几点:
1. 数据线数:4M×32位的存储器意味着每行数据有32位,因此数据线数为32条。
2. 地址线数:4M表示2^22个地址,因为是32位存储器,所以按字寻址的地址线数为22位。考虑到按字节寻址,每32位为一个字,那么总共有22 / 2 = 11个字,因此地址线总数为22 + 11 = 23位。但在实际应用中,通常会使用字对齐,所以实际地址线数为24位(A23~A0)。
3. 芯片数量:512K×8位的芯片能提供2^19字节的存储空间,转换为32位字是2^19 / 4 = 2^17个32位字。要组成4M×32位的存储器,需要2^22 / 2^17 = 2^5 = 32片这样的芯片。
4. 地址线作用:地址线A19~A0与Flash芯片的地址线相连,用于选择特定的存储单元。A23~A21这3位通过3线-8线译码器生成片选信号,每个片选信号选中4片芯片,确保32位数据线的需求得到满足。
接着,我们讨论存储带宽的计算。在例4.5中,我们有一个八体交叉存储器结构,每个模块的存取周期为400ns,存储字长为32位。总线传输周期为50ns。顺序存储(高位交叉)的带宽计算是通过将所有模块的存取周期相加得到总时间,然后用总时间除以存储字长的位数。交义存储(低位交叉)的带宽计算则是考虑数据总线宽度和传输周期。在这种情况下,因为是低位交叉,所以在每个存取周期内,所有模块都能同时传输数据,从而提高带宽。
关于存储层次的速度比较:
- Cache(高速缓存)通常具有最快的存取速度,位于CPU内部,用于减少CPU等待数据的时间。
- 主存(RAM)速度次之,是计算机的主要工作区域,相比Cache容量更大,但速度较慢。
- 寄存器是CPU内部的高速存储单元,存取速度最快,但容量非常有限。
- 辅存(硬盘、SSD等)速度最慢,但容量巨大,用于长期存储大量数据。
存储周期是指存储器进行连续读或写操作所允许的最短间隔时间,不包括写入时间,也不限制连续写操作的间隔。
缓存(Cache)位于CPU和主存之间,其速度与CPU速度匹配,目的是提高数据访问效率。缓存的容量与命中率有关,命中率越高,性能提升越大。