0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单利用锁存器做一个寄存器和内存(上)

jf_78858299 来源:北洋洋洋 作者:北洋 2023-02-02 13:47 次阅读

计算机需要 「”内存“来记录这些计算后的结果」 ,如果只是计算后就扔掉没有多大意义,我们需要将结果存储起来以便后面使用

RAM

当我们打游戏的时候如果停电或者电源不小心被拔掉,那么之前做的一切工作将丢失。损失数据的原因是因为电脑是用的:「”随机存取存储器“,简称“ROM”。他只能在有电的时候存储东西;另一种存储叫做持久存储,电源关闭时数据也不会丢失。」

存储一位的电路

之前说过的电路他们电流的流动方向总是向前流动,比如之前的八位加法器。但是也可以做**「回向电路,把输出连回输入」**

记录“1”

也即记录“true“,回想一下什么时候输出为true比较容易。答案是OR门,「只要有一个输入为true输出将永远为true。只要有一个1,输出将永远为1」

因此**「将输出的线路接回到两个输入线路中的其中一个即(输出=A/B)」** 。只要 「A/B其中一个输入1」 ,那么输出就是1,由于输出会链接到另一个输入, 「因此B/A也会为1」 。之后不管如何变化A/B,B/A始终都为1,因此这个电路就是存储1的电路。

图示:只要当A输入为1的时候,这个电路的输出将会一直是1(输出会链接到B因此B为1),不管A如何变化。

也即存储”1“

「存储之后将永远无法改变输出是1这个结果。」

图片

记录“0”

同样,用什么来存储false比较简单呢?答案是通过AND门,「因为」 「只要有一个为false输出就一直为false。」

「即只要有一个0,那么输出就会一直是0.」

和上面一样,替换1为0即可:

「将输出的线路接回到两个输入线路中的其中一个即(输出=A/B)」 。只要 「A/B其中一个输入0」 ,那么输出就是0,由于输出会链接到另一个输入, 「因此B/A也会为0」 。之后不管如何变化A/B,B/A始终都为0,因此这个电路就是永久存储0的电路。

图示:当A输入0时,AND的结果为0,B也为0.之后不管A如何变化,输出将永远为0

同样也是持久化的存储了之后就不会改变

图片

AND-OR锁存器

现在我们把上面的两个存储电路结合起来做成一个有用的存储:

图片图片

组合到一起之后:

变化:存储1的B线输入接至整体的最后输出,存储0的B线输入为存储1的输出

首先来看两个输入:设置和复位。先不纠结他们的作用,把他们看成普通的输入即可

SET,RESET都为1:最后输出为0

SET=0,RESET=1:最后输出为0

RESET,SET都为0:输出为0

重点来了:

**「SET=1RESET=0:输出为1,不管之后SET如何变化(设置为0也好1也好)最后的输出都为TRUE(他锁住了1位的信息),除非RESET设置为1输出才会重置为0因此这也是RESET的含义」**

观察规律可得出:复位为1不管输入是0还是1最终输出都是0;复位为0输出的值=SET的值。「当SET为1时他锁住了这个1」

锁存介绍

重点:「当SET为1RESET=0时他锁住了这个1(即SET不管如何变化最后的结果永远都是1)。」

「这叫“锁存”,因为他“锁定”了一个值,放入数据的动作叫做“写入”,拿出数据的动作叫做”读取“」

锁存器优化——门锁

两条线设置和复位太麻烦,为了更容易使用。通过**「一条输入线设置为0或1来存储值,还需要另外一根线去启用内存,让他存储。启用时允许写入,没有启动时就”锁定“这条线叫”允许写入线“」**

正如图中所说的,这叫”门锁“,因为门可以打开和关上。

接下来读者自己去做下面的规则运算吧,最终会发现只有当允许写入线打开数据输入才会进行存储(OUT才会改变),允许写入线关闭,不管数据输入如何变化最后的结果都不会变(OUT不会改变)

图片

抽象-门锁

将这个门锁放到一个盒子里面,「这个盒子可以存储一个Bit的信息。」

允许写入线关闭,数据输入线不管是0还是1输出都不会有变化。

允许写入线开启,输出随着数据输入的值进行改变。

图片

寄存器-存储一系列锁存器

经过上面介绍我们现在可以存储一个一位的数字了,不过存储一位的数字并不能做什么。

定义

如果我们可以 「并排放八个锁存器,就可以存八位的信」 息,比如一个8Bit的数字。

「一组这样的锁存器叫做寄存器,寄存器能存一个数字,这个数字有多少位,叫做位宽。」

早期的电脑是用的八位寄存器,然后发展16位,32位,现在许多计算机都有64位宽的寄存器

8位寄存器需要多少线?

数据输入需要有八根线,对应的八个锁存器对应存储的数字

数据输出线也是需要八根线,每个锁存器输出各自存储的位

最后只需要 「用一条启用写入线连接所有的允许输入线即可」 .当设置为1时,这个八位的寄存器才会进行存储之后输出的时候会发生变化;当设置为0时,不会影响数据的输出。

可见八位的寄存器所需的线的数量时17根(8+8+1)

由此可推断出我们**「现如今使用的64位寄存器所需要多少线:(64+64+1)=129根线」**


「寄存器是一块比较小的内存用于存储一个值,而RAM是一大块内存能在不同地址(矩阵中的行列。地址多少取决于矩阵中行列数量)存大量数字」

「那么我们如果要用锁存器存256位就需要129X4=513条线!!!因此后面换了一种组合方式存储RAM」

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16557

    浏览量

    244775
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162003
  • ROM
    ROM
    +关注

    关注

    4

    文章

    525

    浏览量

    84824
收藏 人收藏

    评论

    相关推荐

    的工作原理

    在LED和数码管显示方面,要维持数据的显示,往往要持续的快速的刷新。尤其是在四段八位数码管等这些要选通的显示设备。在人类能够接受的刷新频率之内,大概每三十毫秒就要刷新次。这就大
    发表于 03-26 20:41

    、触发寄存器和缓冲的区别

    的数据和运算结果,它被广泛的用于各类数字系统和计算机中。其实寄存器就是种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由
    发表于 10-09 16:19

    为什么寄存器的速度比内存

    如此,内存的设计相对简单,每个位就是电容和晶体管,而
    发表于 12-27 10:19

    寄存器内存内存储器)与外设寄存器

    寄存器:指的是CPU内核里的寄存器,如r0,r1等内存内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与
    发表于 03-11 20:11

    寄存器和触发的区别

    ,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由或触发构成的,因为
    发表于 07-03 11:50

    触发寄存器三者的区别

    公共的控制信号来控制,而各个数据端口仍然是各处独立地接收数据。这样所构成的能次传送或存储多位数据的电路就称为“”。寄存器:在实际的数
    发表于 09-11 08:14

    【转】数字电路三剑客:、触发寄存器

    的时钟端口连接起来就能构成存储n位二进制码的寄存器是电平触发的存储单元,数据存储的动
    发表于 10-27 22:38

    的缺点和优点

    ASIC设计中应该说比ff要简单,但是在FPGA的资源中,大部分器件没有这个东西,所以需要用
    发表于 04-23 03:35

    寄存器应用

    存储电路。寄存器的存储电路是由或触发构成的,因为
    发表于 06-27 04:20

    【答疑】关于问题的讨论

    关于问题的讨论很多同学提问到的相关问题,说明大家对这方面知识还不是很了解,今天我们就
    发表于 03-02 00:25

    的相关资料分享

    前言在学习了基本原理后,剩下就是对各个外设以及对单片机寄存器的相关学习,如果没有看过之前对
    发表于 12-03 08:05

    什么是寄存器?什么是寄存器映射

    .什么是寄存器?什么是寄存器映射?给有特定功能的内存单元取别名,这个别名就是我们常说的
    发表于 12-10 08:14

    寄存器的功能是什么

    寄存器寄存器的功能是存储二进制代码,它是由具有存储功能的触发组合起来构成的。触发可以存
    发表于 02-24 06:35

    请问与缓冲有何作用呢

    就是把当前的状态起来,使CPU送出的数据在接口电路的输出端保持段时间
    发表于 03-01 07:00

    简单利用锁存器做一个寄存器内存(下)

    当我们打游戏的时候如果停电或者电源不小心被拔掉,那么之前做的一切工作将丢失。损失数据的原因是因为电脑是用的:**「”随机存取存储器“,简称“ROM”。他只能在有电的时候存储东西;另一种存储叫做持久存储,电源关闭时数据也不会丢失。」**
    的头像 发表于 02-02 13:47 791次阅读
    <b class='flag-5'>简单利用</b>锁存器<b class='flag-5'>做一个</b><b class='flag-5'>寄存器</b>和<b class='flag-5'>内存</b>(下)