计算机如何与人沟通----存储器

上一章我们实现了计数器和改良版的8位加法器

那么我若想实现一个真正的存储器,该如何实现?

首先什么是真正的存储器,纸张就是一个真正的存储器,要存数据的时候,把数据写在纸上(数据被存储了),要读取数据的时候,看一眼数据(数据被读取),如果我想修改数据,只要将纸张上的内容用橡皮擦擦掉,再重新写即可。

 

这是一个D型触发器,这个触发器能记录一位数据,当时钟信号为1时则数据端的会变被输出到Q端,但是当时钟为0时,则数据端影响不了输出端,这时数据被存储。 

简化下,如下图:

W是写操作,DI是data input,DO是data output输出

这是一个真正的存储器吗?是的,要存数据,将W置为1,然后DO随之改变,再将W置为0,则DO被存储。

若想修改,则要将W重新置为1.再输入DI

 

这个1位锁存器,能存储1个比特的数据,即0和1

那么很容易想到,如何存储8个比特的数据,把八个锁存器连在一起:

简化下如下:

 

这个就是8位锁存器,我同时输入8位数据,然后记录8位数据。

 

OK,这是一种方式,输入8个数据,用8个灯泡来接受数据,(就是输入8个开关,输出8个灯泡)

 

我们换一种方式,假设我的输入只有一个开关,而且输出也只有一个灯泡

先看输出端:

 

如上图,输出只有一个灯泡,上面8个锁存器,左边有三个开关,为什么是3个,因为3个开关刚好有8种组合,000,001,010,011,100,101,110,111

 

那么下面这个装置的功能就是通过开关的组合,来输出那个锁存器的数据,即8-1选择器

 

看看这个8-1选择器是如何实现的?

如下图:有8个与门和一个或门

 

 注意:与门是4输入与门,而或门则是8输入或门。但是功能依旧是一样的

比如来看下D0,要想D0的输入被输出,那么需要S0,S1,S2都为0,因为这样第一个与门的下面三个输入就都是1,此时D0不管输入0和1,第一个与门输出会和D0保持一致。此时只要保证下面7个与门输出的都是0,那么右边或门输出就会和D0保持一致。

现在看下D1,因为S0为0,所以D1对应的与门输出是0,仔细看的话,你会发现在S0=S1=S2=0的情况下,剩下7个与门确实都是0

这样就是实现了8-1选择器,当s0,s1,s2三个排列组合时,刚好对于D0-D7的输入被输出

 

好了,现在电路图变成了这样:

 

OK,现在输出搞定了,那么输入端呢,现在还是8个输入,我们要把8个输入变成一个,因为只有一个灯泡

如下图:

现在把输入端连在了一起,那么输入端只需要一个开关了

上面问号的地方这是一个3-8译码器,就是有三个输入,8个输出。目的是将写入信号输出到我想要的锁存器上

即选择哪个锁存器此时处于写入状态,理解这个很关键

 

如下图:

这个3-8译码器的原理和上面8-1选择器的原理类似,通过S0,S1,S2三个开关的排列组合,来将数据输入 输出到对应的Q0-Q7中。

这里用Q来代替大写的O,因为O0会引起歧义

其逻辑表如下:

当S1,S2,S3都为0时,则数据输入被输出到了Q0,   QQ1-Q7都是0

也就是说,当S1,S2,S3都为0时,写入信号的数据被传递到了Q0所对应的锁存器中。根本目的就是我通过开关选择哪个锁存器

目前是能被操作的

 

OK,我们把完整的电路图画出来:

 数据输入只有一个开关,数据输出也只有一个灯泡,满足了我们之前的要求

然后3-8译码器和8-1选择器的三个开关被连接在一起。

 

我们可以把三个开关想象成地址,通过输入开关的值,如000,那么将控制Q0锁存器,此时若写入信号为1,那么Q0锁存器的写入信号也为1,然后数据输入就会被传递到D0输出端,输出到8-1选择器这边,由于S0-S2开关是连接的,此时8-1选择器会选择D0被输出。最后灯泡就是数据输入,也就是那个开关的值。

再解释一次:译码器和选择器的三个选择信号相同,现在这三个信号都记作地址A d d r e s s)。 就像信箱号一样, 3位地址决定了选择 8个锁存器中的哪一个。在输入端,地址输入决定写入 信号触发哪一个锁存器来存储输入的数据。在输出端(图的下部),地址输入控制 8 - 1选择器 选择8个锁存器中的一个进行输出。

 

简化下:

仔细看下这个存储器,它是一个真正的存储器吗?

是的,回想下纸张,过程如下:我想写如数据,先将写入信号置为1,然后选择地址如001,在数据输入端输入数据。再将写入端置为0。此时就是存储完毕(纸上已经有数据了)。

当我想 读取数据的时候,将地址置为001,那么我就能获取到之前的数据(数据被读取)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值