本篇文章来看看计算机在硬件层面究竟是怎么表示二进制的,CPU究竟是怎么实现的?通过本文的学习,我们也可以反过来明白为什么计算机会采用二进制了。
开关
我们在生活中,处处都是开关,比如控制灯的开关!
我们可以发现一个很简单的现象:
- 串联的开关,只有2个开关都闭合,灯泡才亮。这也就是布尔代数中"逻辑运算与"
- 并联的开关,只要有1个开关闭合,灯泡就会亮。这也就是布尔代数中"逻辑运算或"
我们以最简单的2个数,0和1来举个例子,写出其布尔代数的真值表:
与 | 结果 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
1 | 0 | 0 |
或 | 结果 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 1 | 1 |
1 | 0 | 1 |
电报和继电器
在人类信息传递发展的历史上,长途信息传递一直是非常困难的时,当时常见的方式有,比如人骑马送信,训练信鸽、点燃烽火,但信息传递的效率都非常低效。直到电报的出现,电报思想的正式成形是在19世纪早期,它的让人类传递信息的效率得到极大的提升。
电报利用电的特性来传递信息,早期设计复杂且不稳定,传递的信息复杂度又比较低,1837年美国人摩尔斯通过电磁感应改良了发报机,并发明了 摩尔斯电码 。他将电报划分为2种信号,短促的"点信号"和长一点的"划信号", 将把“点”当成“1”,把“划”当成“0”(这不就是二进制嘛),并编写了个“字典”将字母及数字编码一一对应,这样就能传递复杂的信息,在未来产生了巨大影响力,意味着现代通信的开始。
由于早期的电报传输,需要铺设电线,但是随着电线越长,其电阻就越大,电信号常常传输过程中被消耗点,这样接受方就无法接收到信息了。幸运的是,工程师发明了 继电器 ,其原理就是 接收微弱的信号,然后不断地通过新的电源重新放大已经开始衰减的原有信号,最后把它增强后发送出去 。
当开关是打开的话,灯泡是不亮的;但当开关是闭合的话, 电流流过围绕在铁棒上的线圈,会发生电磁效应,铁棒就具有了磁性,会将弹簧片吸下来,右边电路就通了,灯泡就会亮了。这样通过继电器,一段段放大信号,电报就能长距离传输信息了。
虽然继电器有放大信号的作用,但和开关一样继电器也可以串联或并联以执行逻辑中的简单任务,
继电器比起普通的开关的优势在于继电器无需直接被输入者控制,可以被其他继电器控制,这样就可以组合完成更复杂的操作 。
比如我们可以通过继电器实现: 当我们闭合开关时,灯泡关闭;当我们打开开关时,灯泡去点亮这种灯泡的状态和开关的闭合状态相反的操作,普通开关是无法实现这种操作的。这些电路物理的表象下隐藏的逻辑关系,一直没有被人发现。
直到1938年,克劳德·香农在麻省理工学院所写的硕士论文《A Symbolic Analysis of Relay and Switching Circuits》中阐述了继电器和开关电路中的符号分析之间的关系,他将开关、继电器、二进制、布尔代数联系起来。也就是发现 人类可以通过开关和继电器这些普通的电路,直接就能实现布尔代数各种逻辑运算操作 。这些继电器的组合被称为 逻辑门 ,他们构造基本的逻辑电路,也叫 门电路 。
门电路
上面是3种最最基本的门:
- 与门,两个开关只有同时打开,电流才会通过,灯泡才会亮
- 非门,当开关闭合时,电流会通过,灯泡会亮;开关打开,电流不能通过反而,灯泡熄灭
- 或门,两个开关中只要有一个打开电流就能通过,灯就会点亮
这些门其实就是一个个"开关"的抽象, 以后我们需要的各种复杂的逻辑都可以通过这3个门来实现,真的是非常奇妙 我们再来看一个常见的门:异或门XOR
-
cpu
+关注
关注
68文章
10824浏览量
211088 -
二进制
+关注
关注
2文章
792浏览量
41592 -
计算机
+关注
关注
19文章
7409浏览量
87691
发布评论请先 登录
相关推荐
评论