任务描述
本关任务:根据提示完善右面的代码块,设计一个存储器(主存)的字和位同时扩展,并实现与 cpu 的连接,使其能够正常工作。要求: 1. 把两块 16 * 4 的存储器模块扩展成 16 * 8 的存储器模块。 2. 继续把两块 16 * 8 的存储器模块扩展成 32 * 8 的存储器模块。
相关知识
为了完成本关任务,你需要掌握:1.存储器的扩展,2.存储器和 CPU 的连接。
存储器的扩展
由于单个存储芯片的容量是有限的,存储器往往是由一定数量的芯片构成的,这使得存储器容量的扩展,通常有位扩展和字扩展两种方式。
位扩展
位扩展是指增加存储字长,而芯片的字数和存储器的字数是一致的。位扩展的连接方式是将各个存储芯片的地址线、片选线和读写线相应地并联起来,而将各芯片的数据线单独列出。 例如:利用 1K × 4 位的 SRAM 芯片,设计一个存储容量为 1K × 8 位的 SRAM 存储器,问:需要芯片,地址线,数据线的数量各为多少? 解析:显然从1K × 4 位 ——> 1k × 8 位,字长不变,只是位长发生了变化。所以使用位扩展。所以: (1)需要芯片数为: ( 1K × 8 )/(1K × 4) = 2 片 (2)需要地址线数为: 1k 表明存储单元个数,1k = 210,说明有 10 根地址线。 (3)需要的数据线数量: 需要组成 8 位的存储器,8 代表数据线的位数,每片芯片占 4 根线即可实现位扩展。