从零开始学编码9

       人生之所以有意义,是因为人的生活是连续的,不会出现每天起床以后,以前的事都忘记,没有记忆的人生是没有意义的。但是人的记忆也是有缺陷的,你并没有办法记住你所经历过的没件事,没有过目不忘的本领。而计算机如果容量足够大,它是可以的,所以人们从以前的利用纸笔来辅助记忆,过渡到以计算机存储来辅组记忆。小的时候日记写了一本又一本,而现在每天发一发朋友圈,等一些年以后翻看朋友圈的时候,会感叹道,哇!当年自己也是一枚小鲜肉啊!

       这篇文章是这个系列的最后一篇文章,我们前面说了加法器,计数器,今天再说一下存储器。当然这篇文章所说的并不是磁盘,而是随机访问存储器。

       上篇文章我们说过使用一个反向器、两个与门和两个或非门可以构成D型电平触发器,它可以保存1位信息,如果我们其时钟输入命名为写操作端,数据端命名为数据输入,Q端命名为数据输出。如下图所示:

1位锁存器电路图

      1位锁存器是多位锁存器的基础器件,为了后面方便方便搭建多位锁存器,我们将1位锁存器用一个符号代替,如下所示:

1位锁存器的符号

      如何连接成多位锁存器呢,一种容易的做法是,将多个1位锁存器的写操作信号连接在一起,这样,可以同时操作这几个锁存器,如下图所示:

8位锁存器

       上图所显示的8位锁存器,有8个输入,8个输出,一个写操作端,需要把一个8位二进制数存入这个锁存器时,需要写操作端置为1,然后置0,这样数被保存在这个锁存器,并且因为写操作又置0,不会再受8个输入数值变换的影响。这个图也可以用一个框图来表示,如下所示:

8位锁存器的简化画法

      当然我们也可以将它用一个符号来表示,如下所示:

8位锁存器的符号

     上面的8位二进制锁存器是我们能想到的最简单的连接方式。但是实际上还有其他需求,和上面存储1个8位二进制数所不同的时,希望存储8个独立的比特,可以找到8个中的一个进行写入和读取。而不是像上面一样,写操作端为1时,8个位都从新写入了。

       要实现8个独立的比特的锁存器,我们需要引入一个8-1选择器,这可以由三个开关、三个反向器、八个4端口输入与门、一个8端口输入或门,其联线方式如下所示:

8-1选择器电路

    通过S0,S1,S2三个输入来决定输出的是D0~D7间的哪个值,其真值表如下所示:

8-1选择器的真值表

   通过真值表可以看出,根据三个开关的闭合,输出的值从D0到D7。一般可以简化成下面的框图:

8-1选择器

     将8-1选择器和8个锁存器相连接,对8个锁存器的输出值进行选择操作,其电路结构图如下所示:

8-1选择器是对8个锁存器的输出值进行8选1操作

        通过8-1选择器我们已经可以操作锁存器的输出值,那么我们再引入一个电路对锁存器的输入值进行操作,它就是3-8译码器,它有三个输入端口,八个输出端口,在任何时刻,译码器只会有一个输出端口输出为1,其余的均为0。至于哪个输出端口输出1,是由三个输入决定的,其电路图如下所示:

3-8选择器电路

        根据其连线规则,可以得出3-8译码器的真值表,如下所示:

3-8译码器的真值表

      这时,我们将8个锁存器、8-1选择器和3-8译码器连城一个完整的系统。其电路图如下:

完整的电路图

      由上图可以看出,3-8译码器和8-1选择器有相同的选择信号,S0、S1、S2这三个信号一起称为地址端口。这长度为3位的地址决定了8个锁存器中的哪一个将被引用。3-8译码器的输入端,地址决定了哪个锁存器可以被写操作端的信号触发来保存数据;8-1选择器在输出端,通过地址来选择8个锁存器中的哪一个,并将其保存的值输出。

      这种配置的锁存器也被称为“读/写存储器”,通常我们叫做随机存储器(RAM)。 

      这种存储器可以存储8个独立比特的RAM,其简化后的框图如下:

8个1位的RAM

       如果我们通过特殊的方法将两个8*1RAM连接起来,就会形成一个8*2RAM,这个RAM阵列存储的二进制依然是8个,但是每个数的位宽为2位。其连接方式如下:

8个2位二进制数存储器的连接方式

  当然我们为了保存更多的信息,可以使用更多的地址输入开关和数据输入开关。例如我们使用16个地址输入开关,8给数据输入开关,16个地址输入开关可以寻址的范围是2^16=65536,大小差不多是64KB。其框图如下:

64KB存储器

    好了通过这篇文章,我们知道内存存储器是怎么个结构,通过扩大地址输入数量可以增加可寻址的范围,再加上前面学的加法器,锁存器,计数器。我们可以连接出来一个自动加法器,其连接方式如下:

自动加法器

    此系列文章结束了,学海无涯苦作舟,不进则退。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值