【计算机组成原理】寄存器的本质——锁存器

article/2025/3/1 18:34:48

一.逻辑门电路 

        逻辑门的与门知道吧

        

        逻辑门的或门听说过吧

        

         逻辑门中的非门简单吧

        

        基础知识就复习到这里(—...—)

二.AND—OR锁存器

        如果把与门的其中一个输入与输出连接在一起会发生什么?

       我们可以观察到,激活状态后无论IN1输入“1”或者“0”,OUT都总是“0”,因此我们就有了一个可以存储“0”的电路了!

        那如果把非门的其中一个输入与输出连接在一起会发生什么?

       我们可以观察到,激活状态后无论IN1输入“1”或者“0”,OUT都总是“1”,因此我们就有了一个可以存储“1”的电路了!

        如果把我们两个电路同时连接起来,就可以组成一个名为“AND-OR锁存器”的电子器件:

         当INPUT1=1,RESET=0时,输出如下(深色部分意味着电路通):

        当INPUT1=1,RESET=1时,输出如下(深色部分意味着电路通):

         如图上所示,在“与”逻辑电路中,由于两个输入“1”和“0”导致条件没有成立,所以“AND”这个电路没有通,这也意味着电路的输出(OUTPUT)1为上次锁保存到的1,也就意味着电路记住了1个bit的信息。

        我们再来,当INPUT1=0,RESET=1时,输出如下(深色部分意味着电路通):

        这样可能很难发现问题所在,我们把前面三个图的输出汇总成一个表格:

        发现问题了吗?其实RESET线是起到开关的作用!当RESET=1时,锁存器电路关闭数据输入,这时候不管INPUT1输入什么数据,OUTPUT端都是保存了上一次保存到的数据。当RESET=0时,锁存器电路打开数据输入,这时候INPUT1输入什么就会把上一次保存的数据替换掉,不信吗?那你尝试下把RESET打开,INPUT1输入0,不出意外你会得到以下表格:

 

         PS:要是问最后两个结果为什么和之前不一样,请认真看看上面的文字

        总结下:之所以叫锁存器,是因为它将1个值锁住保持不变,输入该值的操作被称为写入,输出该值的操作被称为读取

三.门控锁存器

        只要了解了前面的AND-OR锁存器,门控锁存器其实很容易理解,因为使用INPUT1和RESET这两个端口来储存数据一般人很难理解,所以在AND-OR锁存器基础上加多一个门锁电路,来控制数据是否允许被写入,这就叫做门控锁存器。电路图如下:

        这个电路看起来似乎很复杂,其实你只要知道,只有当“允许写入线”打开时(输入为1),才允许电路放入需要保存的数据,而当“允许写入线”关闭时(输入为0),数据输入线输入啥都不会被储存(原理)

四.寄存器

        以上的锁存器只能保存一位数据,但用一排锁存器组成的电路就叫寄存器。多少位的寄存器就有多少个锁存器,比如以下有个八位的寄存器:

        (这里借用B站宝藏课程:计算机速成课Crash Course Computer Science 的图片) 

        这八个寄存器用一个线来连接所有的“允许写入线”,当需要写入一个八位数据时,先接通“允许写入线”,紧接着就可以在“数据输入线”里把所要保存的数字传输进去。现今计算机中有很多名称的寄存器(PC计数寄存器、地址寄存器等等),但其实本质只是一个可以存N位数据的锁存器而已,至于怎么用就是人为定义的了。

         当然,采用以上并排连接的方式在少位数的寄存器中或许可行,但在一些多位数的寄存器里就是耗费巨多线路的事情了(比如256bit寄存器,需要513根线),解决的办法就是矩阵

         (继续借用B站宝藏课程:计算机速成课Crash Course Computer Science 的图片)

         将并排放置的寄存器改为网格,对于256位寄存器,我们将其放置为16x16的网格,如果启用某个寄存器,仅需要打开对应行和列的线:

         真方便!


http://chatgpt.dhexx.cn/article/JQ83TSvU.shtml

相关文章

数字电路基础---锁存器

目录 锁存器 1、简介 2、实验任务 3、程序设计 3.1、缺少 else 分支的锁存器代码 3.2、补齐 else 分支 3.3、缺少 default 的 case 语句的锁存器代码 3.3、补齐 default 的 case 语句 4、本章总结 锁存器 锁存器(俗称 Latch)是数字电路中的一种…

硬件基础——锁存器

双稳态 在电子电路中。双稳态电路的特点是:在没有外来触发信号的作用下,电路始终处于原来的稳定状态。在外加输入触发信号作用下,双稳态电路从一个稳定状态翻转到另一个稳定状态。由于它具有两个稳定状态,故称为双稳态电路。双稳态…

锁存器、触发器和寄存器

锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时&#…

锁存器的使用

实际举例&#xff1a; GPIO_Write(GPIOC,~(1<<(leds7))); //写入c端口为000000001 GPIO_SetBits(GPIOD,GPIO_Pin_2); //使输出有效 GPIO_ResetBits(GPIOD,GPIO_Pin_2); //进行锁存 先开锁存器还是先给IO数据呢&#xff1f; 其实两个照现象来看的话都…

【FPGA】锁存器、触发器和寄存器

目录 一丶锁存器1.什么是锁存器2.锁存器工作原理3.锁存器优缺点 二丶触发器1.什么时触发器2.触发器工作原理3.代码实现 三丶寄存器四丶锁存器与触发器的区别 一丶锁存器 1.什么是锁存器 锁存器&#xff08;latch&#xff09;—对脉冲电平敏感&#xff0c;在时钟脉冲的电平作用…

寄存器与锁存器

一 原理解析 在数字电路中&#xff0c;通常采用存储单元与组合逻辑相结合的方式实现特定功能。这种存储单元一般采用双稳态原件构成。首先明确一下概念&#xff0c; 寄存器&#xff1a;边沿触发的存储元件 锁存器&#xff1a;电平敏感的器件 触发器&#xff1a;一般来说&#x…

锁存器,D触发器和寄存器的关系与区别

锁存器&#xff0c;D触发器和寄存器的关系与区别 文章目录 锁存器&#xff0c;D触发器和寄存器的关系与区别前言一、锁存器和D触发器二、锁存器构建D触发器三、什么是寄存器&#xff1f;四、总结五、参考资料 前言 数字IC设计里&#xff0c;常会出现锁存器&#xff0c;D触发器…

锁存器相关

2-1】基本双稳态电路 将两个非门G1和G2接成如图5.1.1所示的交叉耦合形式&#xff0c;则构成最基本的双稳态电路。 从图5.1.1所示电路的逻辑关系可知&#xff0c;若 Q0 &#xff0c;经非门G2反相&#xff0c;则 Q 1。Q反馈到G1输入端&#xff0c;又保证了 Q0 。 由于两个非门首…

数字电路中D触发器和D锁存器分别有什么作用?

用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路&#xff0c;或数字系统。由于它具有逻辑运算和逻辑处理功能&#xff0c;所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存…

锁存器

出处 http://blog.csdn.net/metalseed/article/details/8259255 by MetalSeed 本文要点 1&#xff1a;锁存器的主要作用 2&#xff1a;74HC573引脚图 3&#xff1a;74HC573电路连接及使用说明 锁存器辨析 所谓锁存器&#xff0c;就是输出端的状态不会随输入端的状态变化而变…

锁存器Latch和触发器Flip-flop的区别

锁存器Latch概述 锁存器&#xff08;Latch&#xff09;是一种对脉冲电平敏感的存储单元电路&#xff0c;它们可以在特定输入脉冲电平作用下改变状态。锁存&#xff0c;就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存&#xff0c;其次完成高速的控制器与慢速的外…

Python 官方研讨会:彻底移除 GIL 真的可行么?

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 忽见陌头杨柳色&#xff0c;悔教夫婿觅封侯。 作者&#xff1a;Łukasz Langa 译者&#xff1a;豌豆花下猫&#xff0c;来源&#xff1a;Python猫 原文…

吴恩达:告别,大数据

编译丨维克多、王晔 来源丨AI科技评论 吴恩达是人工智能&#xff08;AI&#xff09;和机器学习领域国际最权威的学者之一&#xff0c;最近一年里&#xff0c;他一直在提“以数据为中心的AI”&#xff0c;希望将大家的目光从以模型为中心转向以数据为中心。 最近&#xff0c;在接…

2017年Python从入门到实战教程-徐培成-专题视频课程

2017年Python从入门到实战教程—5702人已学习 课程介绍 通过《2017年Python从入门到实战教程》这系列课程&#xff0c;大家可以掌握python开发。适合任何初级或者转行的人学习。 课程收益 徐培成老师通过通俗易懂的方式&#xff0c;让你彻底掌握Python&#xff0c;本教程适…

入门深度学习——基础知识总结(python代码实现)

入门深度学习——基础知识总结&#xff08;python代码实现&#xff09; 目前&#xff0c;AI基本上可以说是烂大街了。几乎什么都可以说使用了AI技术&#xff0c;听起来很拉风&#xff0c;很nb的样子。而其中目前最为火热的非深度学习&#xff08;Deep Learning&#xff09;莫属…

程序员现状思考及Python教程

经常听到一些同行说&#xff1a; 某个公司薪资上调30-50%&#xff0c;我可以跳槽入吗&#xff1f; 最近收到几个比较好的offer&#xff01;该去哪家&#xff1f;纠结&#xff01; 目前岗位和环境对自己成长非常慢&#xff01;更看不到公司的前景特别迷茫&#xff01; 想成为…

大数据因果推理与学习入门综合概述

在《原因与结果经济学》的开篇&#xff0c;给读者回答以下几个问题。 定期接受代谢综合征体检就能长寿吗&#xff1f;看电视会导致孩子学习能力下降吗&#xff1f;上录取分数高的大学收入就会更高吗&#xff1f;想必很多人的回答都是肯定的。 不过&#xff0c;经济学的权威研…

2018 大数据学习入门必备规划

大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数据分析师 03.大数据科学家 04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧) 一、大数据工程师的技能要求 二、大数据学习路径 三、学习资源推荐(书籍、博客、网站)…

Python 数据分析师必备的入门学习路线和技能

最近几年&#xff0c;做的这些项目&#xff0c;大多与数据分析与算法应用相关。岗位虽然是算法工程师&#xff0c;但是与数据分析打得交道也很多&#xff0c;双管齐下&#xff0c;最后才能确保算法的落地。在几年前&#xff0c;我还想当然地认为做算法的就应该偏重算法研究与应…

Python入门经典(2K超清)

我在多次python培训时&#xff0c;对学员讲解编程对人生具有重大影响。曾经大学毕业时也迷茫过&#xff0c;不知道以后要干嘛。面对招聘会上密密麻麻的人群&#xff0c;经不知所措。自从接触python编程后&#xff0c;我对这门快速&#xff0c;高效程序语言表示惊讶&#xff0c;…