锁存器原理/门电路/寄存器
大一小菜鸟还没学过模电数电,对电路的理解过于肤浅,对计算机存储特性的本质也是懵懵懂懂。看完B站上这期视频(哔哩哔哩计算机科学速成课06寄存器),感觉自己对计算机的存储原理又有了进一步的理解。
锁存器,门关时输出上次的结果,门开时输出=输入端。
但是究竟最开始发明这种神奇好用的元件时是怎么想的呢?
本文尝试以逻辑门一步步剖析RAM的创造原理。(纯理论无软件要求,本文验证结果使用的是Multisim 14.0)
最原始的电路仅仅是AND和OR两个逻辑门
AND门
A | B | C |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
当AC相连:
以下是两个重点:
1)不论之前两端是什么只要B一朝变为0则之后再改变B值out始终为零,B低电平触发使这个逻辑门输出结果始终为0,可以说,AND逻辑门“锁住”表格中粗体的三个状态。
2)静态分析:我们试着保持B=1,将目光放到输出。由AND逻辑门特性可以认为当B=1时的输出全靠之前的输出决定
OR门
A | B | C |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
同样的,当AC相连
1)OR逻辑门使得1被“锁住”当B端一朝为1,输出就一直为1
2)静态分析:我们试着保持B=0,将目光放到输出。又由OR电路特性可以认为B=0时,输出靠之前的输出决定
AND和OR合体
就成了AND-OR锁存器
这个“AND-OR锁存器”怎么实现锁存?
A=0,B=0的情况下,B取反后过AND门为1。所以AND门后即是OR电路输出结果相同。
回顾之前OR门的静态分析。
也就是全靠上一次输出结果决定本次输出结果,实现了锁存
验证逻辑关系
A | B | C |
---|---|---|
0 | 0 | 保存上次输出结果 |
0 | 1 | 0(复位) |
1 | 0 | 1 |
1 | 1 | 0 |
但是这些规则使用起来未免太不方便
我们想要一个输入In和一个门锁Door,使得Door=1时OUT=In,Door=0时保存上次输入的内容。
也就是说In Door经过一系列变换达到下表的结果.
我们看到上面的AND-OR锁存器有两个输出结果为0的情况:分别是A=0 B=1和A=1 B=1我们选择哪个进行转换呢?别急稍微分析一下就能得到最优解
In | Door | A | B | out |
---|---|---|---|---|
- | 0 | 0 | 0 | 上次输出结果 |
1 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
只考虑前半部分转换,则In door看成输入,A、B看成两个输出
先分析没有争议的前两行:
In Door 对A是不是很像AND门的输入与输出?如果我们使用第四行刚好能配合AND门的结果皆大欢喜,电路元件的使用能大大减少之后也更好维护和查错,故我们在In Door选择AND门连接再好不过。
In | Door | A | B | out |
---|---|---|---|---|
- | 0 | 0 | 0 | 上次输出结果 |
1 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
如下图:
In Door 对B
In | Door | B |
---|---|---|
0 | 0 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
0 | 1 | 1 |
看B和AND门两输入的输出结果好像,把In取反刚好和两输入AND门电路一毛一样
所以是In先取反再与Door并。
如图:
使用Multisim验证
发生器和示波器演示
蓝色是门
可见蓝色为高时,out=In
蓝色为低out=最后的In
如图就构造了一个最最简单的可以锁存1bit的锁存器。
当然这么小的锁存器是远远不够我们使用的
我们将八个锁存器并排放到一起,用一根线控制Door线,就成了寄存器,寄存器能存储的数的位数叫做位宽。当寄存器位宽不大时可以采用这种并行连接的方法,当位宽变大,并行连接就显得过于浪费线了。
我们通过矩阵来实现。
之后的实现从锁存器到到RAM的变换。移步哔哩哔哩计算机科学速成课06寄存器
5:30之后的内容,实现了基于锁存器的更高一级抽象。
锁存器原理/门电路/寄存器相关推荐
- RTC实时时钟原理+BKP寄存器
RTC (Real Time Clock):实时时钟 RTC是个独立的定时器.RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能.修改计数器的值可以重新设置当前时间和日期. ...
- STM32——RTC实时时钟原理+BKP寄存器原理
一.RTC实时时钟特征与原理 1.RTC(Real Time Clock):实时时钟 2.RTC是个独立的BCD定时器/计数器.RTC提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性 ...
- 锁存器 D触发器 寄存器区别 详细区别解释 Latch D Flipflop register
1. 锁存器 定义: 对脉冲电平敏感,在时钟脉冲的电平作用下改变状态. 优点: 面积小.锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常 ...
- vim粘贴复制及其原理(寄存器)
复制粘贴指令 动作命令d和y的左边紧接着的数字表示行数 u相当于ctrl+z!取消上一个动作,使用u倒退后,还可以使用ctrl+r来恢复之前的修改 如下例子 添加一行数据 使用u即倒退回来,删掉这行数 ...
- FPGA笔录(2)-触发器与锁存器原理
- 模块DIY——基于DDS直接数字频率合成技术自制的可编程任意波形发生器模块(DDS原理、寄存器解读、原理图设计、驱动程序-适用于AD9833/AD9834/AD9838)
[系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发>
- FPGA锁存器、触发器、寄存器和缓冲器的区别
一.锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才 ...
- jk触发器改为四进制_锁存器、触发器、寄存器和缓冲器的区别
一.锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才 ...
- 寄存器,锁存器,触发器,储存器 区分
触发器:flipflop 锁存器:latch 寄存器:register 触发器:包括锁存器和寄存器. 锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据. 优点 ...
最新文章
- 理解向日葵甘特之六——定义数据列
- vue2.0+stylus实现商品增加减少控制按钮组件
- Qt-在控件上绘图的方式
- 80% 的 Java 焦虑,都可以被这张图解决
- 第四次c语言实验报告模板,C语言实验报告模板.doc
- 【模板】ISAP最大流
- iis7网站可用php吗,在IIS7下面添加对PHP网页的支持
- imdisk虚拟光驱安装linux,ImDisk Virtual Disk Driver
- lg相乘公式_lg函数(log的公式大全)
- 计算机未来的发展趋势和现状,计算机发展现状跟未来发展趋势.docx
- 常见3种视频加密原理知多少
- Spark清华镜像下载
- 基于ZYNQ的开源CANopen协议栈CANFestival移植
- 华为交换IP POOL地址池使用情况查询
- 求不定积分的系列题型(一)
- 1000个微信小程序源码分享
- IT人人际交往篇—战胜害羞的心态
- R语言ggplot2 柱状图(条形图)xy轴翻转,及排序
- 华为服务器怎么查看cpu型号,华为RH2288H V2处理器性能测试_华为 FusionServer RH2288 V2_服务器评测与技术-中关村在线...
- Vue实现离线创建项目
热门文章
- Windows电脑如何查询系统版本教程
- oracle中分区与索引区别,oracle表分区与索引分区
- Python自动点击鼠标脚本
- 从零搭建仿抖音短视频APP-后端开发短视频业务模块(1)
- Linux服务器上创建新用户
- serverless-knative serving安装实战
- RabbitMQ消费端报:delivery acknowledgement on channel 5 timed out. Timeout value used: 1800000 ms. This t
- Android 接入网易易盾 SDK (文本检测)
- 艾美捷 IgM (大鼠) ELISA试剂盒实验原理
- 时间格式区别之YYYY/MM/dd HH:mm 与 yyyy/MM/dd HH:mm