计算机组成原理 存储器设计

2024-01-01 10:43:52

目录

一、把8×8 位的RAM存储器模块扩展为 8×32 位RAM存储空间;

二、把8×8 位的RAM存储器模块扩展为32×8位RAM存储空间;

三、把256×4 位的RAM存储器模块扩展为1K×8b的RAM存储空间。


PS:先说说存储器是什么样的小玩意:

? ? ? ? ? ? ? ? ? ? ? ? A x B 位XXX(RAM或者ROM)存储器的意思就是说这个存储器一共有A个存储单元,每个存储单元都是保存B位数字的,RAM就是内存或称主存,RAM就是外存或称硬盘;? ? ? ? ??

????????举个例:8 x 8 位的RAM意思就是说这是一个能存储8个位宽位8的数字的内存存储器;

? ? ? ? 再例如:256 x 4 位的ROM的意思就是说这是一个总共可以能保存256个位宽位4的数字的硬盘存储器。? ?

????????提醒!!!电路嘛,只有高频和低频,也就是说这里说的数字只能是0或者1(低频代表0,高频代表1)比如01、101、1000、0000000001、01010101、01010100011、0011101……01011010这样的数字;

就这……已经很 ok 了,已经可以开始设计各式各样的存储器了。

一、把8×8 位的RAM存储器模块扩展为 8×32 位RAM存储空间;

????????第一步:给的存储器只有8位,而现在需要的是保存32位,那就用4个串在一起呗,第一个保存0~7位,第二个保存8~15位,第三个保存16~23位,第四个保存24~31位不就行了。

? ? (logism里8 x 8位RAM长下图这样)

存储器位置以及下方工具栏里选项的选择:

?

大概设计成这样子就非常OK了

(恭喜,核心已经完成了)? ? ? ? ?

????????第二步:设计输入输出,先用一个分离器把一个32位的数分成4个八位数,分别保存在上面的四个存储器中,再设计一个分离器反用,取数时把分开的四个数再合并成一个数后再给出)

?分离器长这样 :

??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

分离器位置以及下方工具栏里选项的选择: (第二个反向的,在工具第一栏里多个操作:?朝向 —>西)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

输入输出长这样:

? ?输入:?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?输出:??

输入和输出的位置以及下方工具栏里选项的选择:

加起来要这样的结果:

? ? ? ? ? ? ? ? ? ? ? ? ? 输入的的样子? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 输出的样子?

?第三步:写入开关,读数开关,时钟信号,以及存储单元选择的输入开关

?注意:时钟开关在这里

?好嘞,连起来,大功告成

二、把8×8 位的RAM存储器模块扩展为32×8位RAM存储空间;

原理基本差不多,直接上图:(解释在下面)

?解码器:(工具栏里自己在调一下就能和上图里一样了)

?与门:(同样工具栏需要自己调一下,不调也行)

?至于原理,自己研究,比如为什么 address的位宽变成5位了,为什么多了这么多与门,解码器Decd又是啥……………………

太懒,不想解释,评论区问 or 自己研究吧

三、把256×4 位的RAM存储器模块扩展为1K×8b的RAM存储空间。

(这就是前两个的结合体而已)

?分离器的工具栏设置如下:

?存储器扩展基本上就是这样,其实这只是很小的一部分而已,对于学校而言,掌握到这已经差不多了。

文章来源:https://blog.csdn.net/QENGFENG/article/details/124874578
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。