当前位置:首页 > 嵌入式 > 玩转嵌入式
[导读]计算机是什么呢?——简而言之,可以看成是一个“自动干活的设备”。说起来并不复杂,我们一一拆解一下这句话。

计算机是什么呢?——简而言之,可以看成是一个“自动干活的设备”。说起来并不复杂,我们一一拆解一下这句话。首先“设备”很好理解,不用多解释。“干活”也好理解,就是要能实现一定的功能。“自动”是啥意义呢?——就是在初始人为干预结束后,设备能自动运行,也就是说,机器能自己存储并执行某种预设的“指令”。按照这个理解,我们基本就可以得到计算机的组成了:负责干活的设备和负责存储的设备。我们把前者叫做CPU,后者叫做RAM。当然还需要一些辅助设备将这两个东西连接起来,简要模型如下:

前面说了,RAM的作用是存储数据,我们知道,要存储信息,至少要有两个状态,且都必须是稳定的,我们把这样的器件称为双稳态器。最简单的双稳态器组成非常简单——两个非门串联反馈在一起,如下图所示:

经过简单分析这个电路,很容易发现:上图中红色部分信号既可以是高电平,也可以是低电平!也就是说,原来电路上是高电平的话,就一直维持在高电平,原来低电平的话,就一直维持在低电平-----这个电路有两个稳定状态,也就是有最简单的记忆功能
大家都知道,触发器是现代电子技术中一个非常核心的器件,其实触发器的本质就是通过两个非门串联反馈在一起的双稳态器
但是呢,基于两个非门串联反馈在一起的双稳态器有一个缺点:
状态一旦确定了之后就不再变化了,也就是说,我们没有办法改变这个系统的记忆,因为没有控制接口。
这当然难不倒我们,我们可以自己加上,比如,可以用两个与非门来代替非门,这样就可以增加两个控制端:

当然,也可以用或非门来代替非门,感兴趣的可以自己试一下。
如果将上图的与非门翻转180°,就会变成下面的图:

有没有一种似曾相识的感觉?没错,这就是RS触发器,它有四种状态:
a=1,b=1,为保持状态,也就是退化为两个非门的反馈串联;
a=0,b=1a=1,b=0,就会控制记忆和输出;
a=0,b=0oō 都是1,应避免出现该种状态,我们称之为非法态。(o表示输出(output)ō 表示反向输出)
有两个bug:
能够控制记忆,但是有非法状态;
整个系统不受控,一直在工作,当输入端变化时,输出端也跟着变化。
我们可以在输入端再增加两个或门,这样的话,中间这个输入引脚为1的话,电路处于保持状态,就自动屏蔽外部输入,也就是老子不干活了。只有中间这个引脚为0的时候,才工作。

这样就就解决了第二个bug,但是依然有存在非法态的可能,怎么干掉呢?
既然中间引脚解决了保持记忆的问题,那我们最后只要保证输入的两个引脚不同,就可以避免全0的情况,加个非门不就完事了?两个输入永远不会同时为0

这就是电平型D触发器
前面我们说了,只有当s=0时,输出才等于输入,系统才开始干活,我们更习惯s=1时干活,这样也好办,再加一个非门。同时,我们把表示a改为i,意为input

这样显得略臃肿,我们知道:

即:
这样左上方的或门就可以变为与非门,所以有:

同时,我们又知道:

所以,此时:
可以进一步简化成4个与非门的形式。

这就是1位寄存器了。简写形式如下:

1位寄存器
其功能是:
s=1时,o=i;当s=0时,o保持原来的状态。

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭