如何使用与门或门和非门设计一个电脑内存

无论多么复杂的芯片,内部其实都是由这几种门电路相互连接构成的。今天我们就用其中的货门与门和非门来制作一块电脑内存,并实现数据的高速存储。先来说语门,语门是只有输入端都输入1,输出端才输出1,其他任何情况都是输出0。而货门是只要输入端有一个输入1,输出端就会输出一,两个输入端都输入0时,输出端才会输出0。飞门的输入端和输出端刚好相反,当输入端输入1时,输出端输出0,输入端输入0时,输出端输出1。有个问题,这种电路怎么就能用来存储数据呢?这是户门电路,我们将货门电路的输出端与电路的一个输入端连接起来,最开始输入端都是0,所以输出结果也为零。现在我们将上面的输入端输入1,所以输出端结果为1,这时结果1会立即回传到下面的这个输入端,得到的输出结果还是1。由于下面。但输出端已经为1了,这时无论我们在上面的输入端输入0还是1,输出端的最终结果只会是1,也就是说我们用这样的一个电路就能储存1了。现在我们将与门电路也像前面一样连接,最开始输入端默认都输入1,所以输出结果也为1。现在我们将上面的输入端输入0,所以输出端结果也为0,这时结果0会立即回传到下面的这个输入端,使得两个输入端都为0,最终输出结果得到0。这时无论我们在上面的输入端输入1还是0,最终的输出结果都会是0,所以0也被储存进来了。现在我们把这两种电路如图所示连接起来,然后在下面再添加一个飞门电路,当我们在输入端分别输入1和0,由于飞门的输入和输出刚好相反,所以飞门输出为1,由于货门的输入为1,所以不管上面这部分输入什么,货门的输出都为11和1经过雨门得到结果为11接着会回传到货门的输入端。由于输入端有这个。第一,这时候不管这里输入1还是0,得到的最终结果都是1。如果想要输出0,该怎么做呢?很简单,直接将非门的输入变成1,那么输出就为0。由于0会作为与门的一个输入,所以上面这部分电路的输入不管是1还是0,最终的输出结果都为0。如果没看懂没关系,现在我们将电路封装起来,如果我们想要电路存储1,只需要在输入端分别输入1和0,如果想要储存0,不管上面的输入端输入什么,只要下面的输入端输入1即可。但是这种存储还是有点麻烦,能不能改成输入1就存储1,输入0就存储0呢?当然可以,但是需要重新增加一个输入线作为一个写入标志,还需要再添加一部分电路进来。完成后,当写入标志为0时,代表不允许写入,所以不管在数据端输入1还是0,数据都是存不进来的,只有将写入标志激活为1,数据端输入的0和1才能被储存进来。现。在我们将这个电路再进行封装,写入标志为0时,无论数据端输入什么,输出端都为0,只有写入标志为1,数据端无论输入1和0都能存储进来。到这里,其实我们已经设计出了一个所存器,只不过它只能存出一位的二进制数据。如果我们准备8个这样的所存器,像这样连接起来就能存储8个一位的二进制数据了。当然,我们可以连接更多的锁存器来存储更多的数据,但是如果存储的数据非常大,就不能用这种线性排列了。我们可以改成这种4×4的矩阵排列,然后添加4根纵向线和4根横向线。现在只需要激活横向第二根线和纵向第二根线,就能定位到这个锁存器。问题是怎么激活纵向和横向线呢?这是一个解码器,当输入00时,输出端0被激活,当输入01时,输出端1被激活,以此类推,输入不同的值就能激活不同的输出端。现在我们将四根。纵向线和四根横向线分别连接到两个解码器,根据解码器的地址值会分别激活第一列的横向线和第4列的纵向线,所以最终会锁定纵向线和横向线交叉处的锁存器。找到所存器后,那该如何向所存器存储数据呢?我们需要将所存器再改进一下,首先在输出端添加一个晶体管,接着将输出端返回去,与输入端共用一根线。同时为了读取存储的数据,需要在晶体管的山级再引出一根读取标志线。当我们将写入标志激活同时,数据端输入11就会被存储到所存器。由于读取标志未被激活,所以晶体管的积极不通电,那晶体管就导通不了,数据也不会传送出去。现在我们来读取这个存储的1首先将写入标志关闭,激活读取标志,这会导致晶体管的积极通电,所以晶体管被导通,这会激活输出线,从而读取到1。现在我们将所存器换成改进后的并。当所有的输入输出端连接到一个公共的输入输出线,所有的写入标志线也连接到一个公共的标志线,读取标志线也是一样的操作,这样一来,我们只需要3根公共线就能操作读取和写入了。但是现在解码器的线还没接到所存器。现在我们将解码器的两条线分别连接到一个与门电路,与门电路的输出端再分别连接到另外两个雨门的输入端。这样一来,只要有一根线没被激活,就算读取和写入标志被激活,数据也无法进行读取和写入。然后将所有的所存器都这么连接。现在我们将写入标志打开,但是到达这些与门电路时会被阻挡,因为还没有找到具体要给哪个所存器写入数据,所以解码器必须先提供地址,比如地址为1001最终会定位到第二排第二列的所存器,这时我们在输入端输入1,那么这个1就会存到第二排第二列的所存器了。如果我们想读取刚才存储的数据,只需要将读取标志。打开,然后根据地址值1001定位到第二排第二列的所存器,从而将数据从该锁存器返回来。现在我们将这些所存器继续进行封装,根据地址值的不同,我们就能进行数据的读取和写入了。其实到这里我们还是只能进行一味的二进制读取和写入。现在我们将8个这样的大锁存器依次排列,然后四根线连接到地址码,用来定位每一个锁存器。比如地址码111会定位到每个大锁存器的第一列、第4排这个小锁存器改变地址码定位会进行相应改变,接着再加上读取标志和写入标志线,最后再引出每条数据输入线。当我们要写入10111100这个二进制数,先根据编码器的地址1011找到对应的小锁存器,然后将写入标志打开,这是8位的二进制值,就能写入到每一个所存器内了。如果我们想要读取到这个8位二进制,只需要将读取标志激活8位的二进制值就能。读取并返回了。为了更容易理解,我们现在不要关注电路了,而是将每个所存器的只看作一个连续的序列号,这些序列号被放入到一个抽象的字节列表中,列表中的每个数据都有一个索引,通过解码器的地址码就能获取到索引,然后定位到数据。我们再将数据端、写入标志和读取标志都引入进来,一个内存模型就打造完成了。其中数据端和解码器统称为总线,这种内存也被称为静态随机存储器。其中地址总线的宽度决定了我们可以处理多大的数据。比如我们将解码器的地址总线扩大到8根,那么每个解码器就能处理16个不同的输出,如果是32位宽的地址总线,那么就能处理4GB的数据。需要注意的是,由于这种内存速度非常快,所以它其实更多的是用于CPU的缓存,然后缓存与主内存进行配合,从而提高CPU的工作效率。

我司专注于 线路板ERP线路板生产系统线路板ERP系统线路在线下单系统线路板下单系统PCB下单系统PCB小批量系统

线路板厂家。多年来一直专于线路板生产,PCB生产系统,多层板生产系统等。


Latest Blog Post

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int