完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
我们知道,计算机的功能,都是通过计算来完成的,而这个计算是怎样完成的呢?答案是:威廉希尔官方网站
。
在前面的文章中,我们深入探讨了编码的本质以及计算机的工作原理,重点讲了二进制的表示和加法,并且留了一个“神秘威廉希尔官方网站 ”待实现。在本文中,我们主要来聊聊计算机加法的威廉希尔官方网站 原理和proteus仿真,顺便会搞定之前文章提到的“神秘威廉希尔官方网站 ”: 上图中,用9v表示高电平,用0v表示低电平。为了方便,后续我们在画威廉希尔官方网站 图时,都默认用5v表示高电平(对应二进制的数字1),用0v表示低电平(对应二进制的数字0)。 读初二时,在陈老师的物理课堂上,第一次听到了“大到太阳系、银河系,小到分子、原子、电子”。从那一刻起,我知道了电子是很小很小很小的东西。我们每天吃着分子、原子和电子,喝着分子、原子和电子,也拉着分子、原子和电子,而电子在现代计算机中非常重要,所以才叫电子计算机。在本文中,我们不讲分子、原子和电子,也不讲导体为什么能导电,绝缘体为什么难导电,也不细聊欧姆定律。附一图,是为念: 下面,我们用proteus来进行威廉希尔官方网站 仿真。福特、安培、欧姆附体,灯泡亮了。电源电压为5v, 灯泡电阻为20欧,电流为0.25A, 这正是欧姆定律要揭示的内容。 读初三时,卢老师是我们的物理老师,他提到过二极管,并且说二极管具有单向导电性,后来读大学才知道二极管单向导电性的原因:P型N型半导体形成了PN结。 我们无需纠结于PN结原理,还是直接看二极管的单向导电性吧。很显然,单向导电性决定了下图中的灯泡L1亮,灯泡L2不亮: 二极管还有一个特性:二极管两端的电压差相对稳定。我们仿真中用到的二极管,两端的电压差基本在0.7v到0.8v左右,验证如下: 为了方便显示,在后续仿真中,我们用黄颜色的发光二极管,来表示高低电平(即二进制数字1和0),下图表示11101: 有了对二极管的基本认识,我们一起来看如下有趣的威廉希尔官方网站 。根据二极管的单向导电性和两端相对恒定的电压差,不难分析出威廉希尔官方网站 的特点。动图如下: 其中,D4和D5显示输入电压,D3显示输出电压。亮着表示高电平(5v, 可以表示二进制数字1),熄灭了表示低电平(0v, 可以表示二进制数字0)。可以看出,只有当D4和D5都亮时,D3才会亮,很显然,这是“与”逻辑,即: 这不就是二进制的乘法吗?简单。我们把上述这个威廉希尔官方网站 叫作与门威廉希尔官方网站 ,简称与门。 与门逻辑其实就是:爸妈双方都同意你恋爱,你才能恋爱。 继续来看另外一个有趣的威廉希尔官方网站 。根据二极管的单向导电性和两端相对恒定的电压差,也不难分析出威廉希尔官方网站 的特点。动图如下: 可以看到,D4和D5只要有一个亮,D3就亮。很显然,这是“或”逻辑,即: 我们把上述这个威廉希尔官方网站 叫作或门威廉希尔官方网站 ,简称或门。 注意,看仔细,上面的逻辑不是二进制加法,因为“1或1=1”,而二进制加法中是1+1=10(0左边的1表示进位)。 或门逻辑其实就是:爸妈只要有一方同意你恋爱,你就可以恋爱。 还有一个重要的威廉希尔官方网站 ,即非门威廉希尔官方网站 ,简称非门。意思是,当输入是高电平时,输出是低电平,而当输入是低电平时, 输出是高电平,简直就是跷跷板。即: 我想了很久,也没有想出怎么用二极管来实现这个非门威廉希尔官方网站 。如果有朋友想到了,请不吝赐教。既然暂时实现不了非门逻辑,那就只能请出三极管这个东西了: 我们不对三极管的原理进行详细介绍,但可以粗略近似理解一下: a. 开关SW1相当于一个水闸开关,控制着三极管Q1,当SW1接高电平时(5v),水闸打开,三极管通畅无阻,此时D1左边就好像是接地一样(0v),显然,D1是不会亮的。 b.当开关SW1接低电平时(0v),三极管Q1堵塞住了,此时可以认为三极管断开了,直接从上图中摘掉三极管,于是乎,D1和灯泡L1形成了串联,自然D1就会亮。 可以看到,D1和D2的值是相反的,正所谓:东方不亮西方亮,西方不亮东方亮。这就是非门逻辑。 到此为止,我们学习了与门、或门、非门威廉希尔官方网站 。但是,如果一直沉浸在这种底层的二极管和三极管中,感觉我们要造的加法器遥遥无期,何时是个头呢? 上面的与门、或门、非门,太繁琐了,二极管三极管都是什么玩意儿!我们需要屏蔽掉这些底层细节和复杂性,怎么办?解决办法是:抽象。在之前文章中,我们讲过,抽象是计算机中重要的思想。嗯,找来一只大象,然后抽它,用力狠狠抽。 直接来看抽象后的与门,即下图中的U1器件(U1下面那个灰色的AND, 就是与的意思),是不是简化了很多?这就是抽象的威力: 再来看抽象后的或门,即下图中的U1器件(U1下面那个灰色的OR, 就是或的意思): 再来看抽象后的非门,即下图中的U1器件(U1下面那个灰色的NOT, 就是非的意思): 天若有情天亦老,人间正道是沧桑。你若耐烦你亦烦,解决正道是抽象。通过抽象,我们脱离了分子、原子和电子这些微观层面的玩意儿,也忘记了福特、安培和欧姆,然后忘记了二极管和三极管,这就对了。我们的思维,要站在更高的维度上,要站在更高的抽象度上。 与门、或门和非门是三种最基本的威廉希尔官方网站 逻辑器件,通过不断组合、集成和抽象,可以形成功能更强大的器件。可以近似地认为,集成威廉希尔官方网站 和芯片,就是功能不断组合、集成而来的,抽象度非常高。 我们来看如下威廉希尔官方网站 图,它由基本的与门、或门和非门组成(先不要管为什么这样设计威廉希尔官方网站 ): 可以看到,当D1和D2都亮或者都熄灭时, D3熄灭; 而当D1和D2有且仅有一个亮时,D3亮。这种逻辑叫异或, 这种威廉希尔官方网站 叫异或门威廉希尔官方网站 ,简称异或门。来看看异或的具体逻辑: 这不就是二进制的加法吗?但是,貌似少了出进位,我们期待的二进制加法逻辑是: 现在终于明白了,不考虑出进位时,二进制加法其实就是异或门逻辑。考虑出进位时,出进位的这一位其实就是与门逻辑。来看下威廉希尔官方网站 ,用D4表示出进位,D3表示结果位: 可以看到,上图的逻辑是: 很显然,这样就实现了二进制的加法。再来对比下我们要实现的“神秘威廉希尔官方网站 ”---“半加器”: 这个“神秘威廉希尔官方网站 ”---“半加器”,不就我们上个动图中的加法威廉希尔官方网站 吗?终于,我们实现了“半加器”。 半加器已经不再神秘,在后面的叙述中,我们就不再专门加引号了。回头看看上面的半加器威廉希尔官方网站 ,感觉有一点点复杂,究其原因是:没有对异或门威廉希尔官方网站 进行抽象,那就来抽象吧。抽象后的半加器如下图所示(U1下面那个灰色的XOR, 就是异或的意思): 威廉希尔官方网站 简化了很多,抽象的威力,再次可见。 半加器已经搞定,可是,我们还是高兴不起来,因为半加器是半成品,从名字上就可以看出来。为什么呢?你看,上面的半加器只能处理两个二进制数字的相加,如果此时有一个从低位进位而来的二进制数字,那就是三个二进制的数字相加,想一下,是不是?以7+3为例: 这就尴尬了,半加器显然无法满足条件,我们继续优化威廉希尔官方网站 (设计如下威廉希尔官方网站 需要一些数字威廉希尔官方网站 知识,但我们无需了解设计方法): 这就是二进制全加器,它能算出三个二进制位的和,如下: 上图的二进制全加器还是有点复杂,我们对它进行抽象,如下图: 这就简单多了。可是,当我进行proteus仿真时, proteus提示没有74LS183这个全加器。好吧,这是proteus本身出现了一些问题,不纠结了。你不提供,我们自己也能造。 上面介绍的二进制全加器,是1位二进制全加器,只能在1个二进制位上进行操作,最大能计算1+1=2,如果我们把两个1位二进制全加器级联起来,就形成了一个2位二进制全加器,最大能计算3+3=6. 在介绍2位二进制全加器之前,我们先来简要了解一下数码管及其显示。在很多公共场合,我们都可以看见数码管的身影。 数码管中有很多条形灯管,通过控制条形灯管的亮与熄,可以显示不同的数字。数码管的形式有很多,上图的数码管显示数字的范围是0-9. 而我们在本文中要介绍的数码管的显示范围是0-F, 也即十六进制的16个数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 十进制、二进制和十六进制的对应关系如下表所示: 很容易看出, 四个二进制数位,可以“浓缩”为一个十六进制的数位。顺便地,可以看到,10个二进制数位,表示的数的范围是0-1023,共1024个数字,刚好是2的10次方,对于熟悉二进制的程序员来说,1024才是整数(而不是1000),所以,10月24日被称为程序员节。 来看下十六进制数码管的显示,0到9大家都认识,A-F长得有点丑,但足够表示数了: 十六进制的好处是:便于人类描述二进制。毕竟,二进制“膨胀”太快了,数位太多,不方便描述, 而一个十六进制数位,刚好可以对四个二进制数位进行“浓缩”。 我们常在二进制数字后面加一个B, 用于区分十进制。同理,在十六进制数字后面,我们约定俗成地加一个H, 以便和十进制进行区分。 我们继续来制作2位二进制全加器。把两个1位二进制全加器级联后得到如下动图中的威廉希尔官方网站 : 上面动图实现2位二进制数的加法,最大可以计算3+3=6, 我们来具体看看上面动图完成的计算: 我们的威廉希尔官方网站 图越来越复杂了,得抽象一下了,直接使用封装好了的2位二进制全加器,如下面动图所示: 通过抽象,可以看到,威廉希尔官方网站 图简单多了。抽象后的威廉希尔官方网站 也完成了下表的计算: 一个2位二进制全加器,最多计算3+3=6,要计算更大值的加法,该怎么办呢?继续级联:把两个2位二进制全加器级联在一起,就形成了一个4位二进制二进制全加器。最大可以计算15+15=30,我们看下9+8=11H=17,如下图所示: 上图这两个2位二进制全加器的级联,还是有点复杂,我们来抽象一下,直接使用封装好的4位二进制全加器,如下图所示: 很显然,也完成了9+8=11H=17的计算。 同理,我们可以用两个4位二进制全加器级联,形成一个8位二进制全加器。也可以用两个8位二进制全加器的级联,形成一个16位二进制全加器,道理都类似,故不再赘述。 到此为主,我们一步一步地用威廉希尔官方网站 实现了加法。貌似大功告成了,但是,还有个疑问:计算机怎么计算1+2+3+4+5呢?这是个连续加法的问题。 我们来尝试用威廉希尔官方网站 图实现,看下图: 计算结果: 1+2+3+4+5=FH=15 这种设计,能正确计算出结果,但是,非常搞笑,也很业余。去市场买这么多器材,然后找老板报销,老板估计要火冒三丈,要揍人的。这里的问题就在于:全加器太多,资源浪费。其实,一个4位二进制全加器貌似就足够了, 要懂得循环利用资源,避免浪费。来看看怎么设计: 可是,上图这个威廉希尔官方网站 仍然是没法正常工作的,因为它产生了死循环,在proteus中,强制让上述威廉希尔官方网站 执行,结果proteus报错。 思考一下,问题出在哪里?嗯,缺少了控制开关,于是,我们来进一步尝试,加入控制开关,如下图所示: 然而,令人失望的是,还是会产生死循环,看一下上述动图就知道了:全加器的输出结果立即导入到了输入端。值得说明的是:我在做gif动图时,采用每秒1桢的帧率,所以上图看起来变化得不快。但在实际仿真时,上图的数码管在飞快地变动和闪烁,因为还是出现了死循环。 连续加法器的尝试,还是失败了。所谓巧妇难为无米之炊,连续加法器失败的原因就在于:它需要特殊的器件,而我们现在还没有接触到这种特殊器件,没办法做连续加法器。 别着急,我们将在后续文章中,来实现这个连续加法器,而且是全自动的连续加法器,不需要人为去掰弄任何开关。那时,我们会顺便体会到“编程”的感觉: 我们最后来总结一下本文内容: 首先,通过二极管和三极管,我们实现了与门、或门和非门这三个最基本的威廉希尔官方网站 逻辑器件。 然后,我们不断构造出更复杂的威廉希尔官方网站 逻辑器件,如半加器和全加器,顺便搞定了之前文章提到的“神秘威廉希尔官方网站 ”, 其实一点也不神秘,很简单的东西。 最后,我们利用全加器的级联,构造了4位二进制全加器,能完成加法运算,达到了本文的目的。 好的,今天先聊到这里。期待全自动的连续加法器,那时,我们会体会到“编程”的感觉。 不见不散。 |
|
|
|
只有小组成员才能发言,加入小组>>
4524个成员聚集在这个小组
加入小组3339 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4268 浏览 1 评论
4295 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 16:56 , Processed in 0.550146 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号