首页 > 其他分享 >计算机简史第三章 机电时代之数字电路

计算机简史第三章 机电时代之数字电路

时间:2024-06-09 11:44:21浏览次数:18  
标签:逻辑 第三章 二进制 数字电路 我们 简史 布尔代数 电路 实现

电路的发明,使得计算机的速度大幅提高

布尔代数、二进制与电路的关系

20 世纪,随着继电器电路的发展,许多科学家开始将二进制、布尔代数和电路联系到一起,最终,由美国一位名为克劳德·香农(Claude Shannon)的数学家做出了完整阐释。

1938 年,就读于麻省理工学院的香农发表了他那篇著名的硕士论文《继电器与开关电路的符号分析》( A Symbolic Analysis of Relay and Switching Circuits),奠定了数字电路的理论基础,这篇论文至今仍占据着重要的地位。

克劳德·艾尔伍德·香农(Claude Elwood Shannon),美国数学家、电气工程师、信息论创始人

布尔代数和电路的关系

布尔代数里有真和假两个值;而开关电路也有两种状态:接通和断开。如果我们将真表示为接通,假表示为断开,我们就可以用电路实现布尔运算了!

继电器电路就是一种典型的开关电路。当我们用 A、B 等字母表示开关电路,将两者串联就可以表示逻辑与,将两者并联就可以表示逻辑或,逻辑非的实现也容易表示。

我们看一个简单的例子,如下图:

  • 图(a)电路中,只有两个开关都闭合的时候,指示灯才会亮;
  • 图(b)电路中,只要有任何一个开关闭合,指示灯都会亮
  • 图(c)电路中,开关断开时灯泡才亮,开关闭合时灯泡反而不亮

有了与、或、非 3 种基础逻辑电路,异或等复杂逻辑电路也就不难搭建了。

如此一来,电路就彻底数字化了,原本物理的连接可以用数学来表示,是为数字电路。

香农认为,基于布尔代数,再复杂的电路都可以用表达式条理清晰地设计出来,更重要的是可以等效化简。

香农的研究成为后来二进制机电计算机和电子计算机强大的理论支柱。

逻辑门

我们将布尔运算中常用的电路,作为一个基础的器件使用,称为元器件(也就是最基础的器件了)。例如实现与运算的就是与门,实现或运算的就是或门。

工程师们不关心这些元器件的内部实现,更关注当代表 0 或 1 的信号从它们的输入端进去,从输出端出来的是 0 还是 1。这种通过逻辑电路实现二进制信号转换的元器件称为逻辑门(logic gate)。

门的概念很形象,二进制数据可以从门通过,也可能被门挡住。下图为 IEEE 和 IEC 标准中规定的逻辑门符号,统一的矩形表示更有利于绘制复杂的集成电路,信号从矩形左侧进入,从矩形右侧输出:

图片来自《数字电子技术基础》阎石.第5版,下同。

逻辑门和二进制运算的关系

我们知道,二进制只有 0 和 1 两种数字;而用逻辑门,可以很好的实现二进制的加减乘除。

例如,我们将二进制数中的 0 代表布尔代数中的 false, 二进制数的 1 代表布尔代数的 true。

我们来看看二进制的加减乘除:

假设我们要实现加法(加法最简单),如何用逻辑门实现呢?我们先实现只有一位二进制数的两两相加。我们假设两个加数为 A,B,本位和为 S,进位为 CO,那么我们可以得到电路的真值表(真值表列出了输入和输出的关系。用于设计电路用的,数字电路中会讲到):

然后,我们就可以用几个逻辑门,实现这个加法的逻辑(更多细节后续会在《数字电路》专栏里展开讲):

我们可以把上述电路,作为一个新的逻辑门,称之为半加器:

有了半加器,我们可以将多个半加器组合起来,就可以实现多位二进制数的加法了。

我们继续来看看减法、乘法和除法:

我们可以看到二进制算术运算的两个特点:

  • 二进制数的乘法运算,可以通过若干次的“被乘数(或零)左移 1 位”和“被乘数(或零)与部分积相加”这两种操作完成
  • 二进制数的除法运算能通过若干次的“除数右移 1 位”和“从被除数或余数中减去除数”这两种操作完成

原理:

在二进制下,(0001)2 左移一位,就是 (0010)2, 从 1 变成了 2,放大了 2 倍。相当于小数点往右移动。

就好比十进制下,100.00 的小数点往右移一位,就变成了 1000.0,放大了十倍。

所以,如果我们能完成减法的电路实现,那么加、减、乘、除运算就全部可以用“移位”和“相加”两种操作实现了。还记得我们学过的补码吗?它可以将减法转化为加法。

所以,我们只用加法器,就可以完成二进制的加减乘除,这使运算电路的结构大为简化。这也是数字电路中普遍采用二进制算术运算的重要原因之一。

组合逻辑电路

逻辑门像一块块标准化的积木,我们可以用这些积木灵活地搭建出实现各种功能的组合逻辑电路。例如,我们可以实现加法器,乘法器,减法器,除法器;

然后,如果我们要解决数学问题,例如解方程,就可以先设计电路,然后实现电路。庞杂的计算机电路正是靠着一扇扇这样的门组合而成的。

开关电路仅仅是逻辑电路的实现途径之一,其实不论任何材料,所组成的基础元件只要能表达出两种状态、能在两种状态之间切换,并能将状态传递给其他基础元件,都可以用来实现逻辑电路以及逻辑门

  • 我们可以用齿轮和按钮等材料组成的,纯机械的继电器来制作逻辑门
  • 在小说《三体》中,有提到用士兵实现逻辑门的例子
  • 到后期我们会讲到真空管,它开关起来比继电器更快
  • 最后我们会讲到晶体管,也是我们现在用的计算机内部采用的技术。

逻辑门一旦实现,二进制计算机的建造就像搭积木一样简单了。这种基础元件的等效性,是可以用不同材料来建造计算机的本质原因。

小结

由于布尔代数 跟二进制非常类似,例如可以用 true 代表 1, false 代表 0, 很多运算也可以用电路来实现,因此也将布尔代数成为逻辑代数或者开关代数。

标签:逻辑,第三章,二进制,数字电路,我们,简史,布尔代数,电路,实现
From: https://www.cnblogs.com/PeterJXL/p/18239399

相关文章

  • 计算机简史第三章 机电时代之布尔代数
    布尔运算,使得计算机开始有了处理逻辑的能力。‍莱布尼茨坚信,人类的思想和数字一样可以化繁为简——所有思想都可以分解为数量不多的简单思想。这些简单思想通过一些既定规律,可以组成任意的复杂思想,就像数学运算一样。当两个人发生了争执,他们可以把自己的观点通过数学计算的方式......
  • 计算机简史第三章 机电时代之机电式计算机
    电、电路形成了机电式计算机‍制表机:穿孔时代的到来从1790年开始,美国每十年进行一次人口普查。百年间,随着人口繁衍和移民的增多,从1790年的400万不到,到1880年的5000多万,人口总数呈爆炸式地增长。1880年开始的第10次人口普查,历时8年才最终完成,也就是说,他们在休息......
  • 福州大学苏立超老师《大数据库系统》第三章复习提纲“redis”
    第三章(考点:3.3-3.7数据类型与操作(会写会熟练使用)消息订阅持久化主从复制运维和哨兵怎么配,作用)一.通用命令设置setkeyvalue查询keyskey(*)支持模糊查询*任意多个字符;[]括号内某个字符;?单个字符randomkey随机keyexistskey判断是否存在typekey返回类型delke......
  • 计算机简史 第1章 手动计算时代
    ‍手指计数我们在数字出现之前,人们怎么计数呢?如何统计人口,统计今天打到了多少猎物?最开始,人们曾尝试过用手指和脚趾,一指/趾就是1,双手就是10,一人就是20,为此史上有诸多民族曾使用二十进制。藏文中,「人」字有20的意思;法语中,80为quatre-vingts(4个20)。除了计数,人们也用手指......
  • 计算机简史-概述
    讲解计算机发展的历史,人类如何从手工计算,发明工具,最后演变成如今的计算机。‍‍为什么要了解计算机发展历史简单说说我的看法:了解计算机发展历史,对我们掌握计算机底层的原理是非常有帮助的,能为我们后期学习计算机基础知识打下坚实的基础,在日后学习更多计算机课程的时候......
  • C语言入门 第三章 数据和变量
    目录3.1数据3.1.1整数3.1.2浮点数3.2变量与常量3.2.1定义变量 3.2.2变量分类3.2.3变量的作用域与生命周期 3.2.4常量 3.3基本数据类型 3.3.1int类型 3.3.2其他整数类型3.3.3char类型3.3.4_Bool类型 3.3.5float、double和longdouble类型 3.......
  • 【C语言从入门到入土】第三章流程控制
    第三章流程控制正式开始对流程控制语句的学习不是你的能力,决定了你的命运,而是你的决定,改变了你的命运。想,都是问题,做,才是答案。站着不动,永远是观众,想到做到,才是王道控制类语句帮助理解1.if()…else…条件语句,层层递进的if(条件){表达式01}else{表......
  • 第三章 AI 创世纪(中)真假世界 1
    林亦伸手捏住卡片,把球雷从工具里面拿了出来,心想,这玩意顶个球用?球雷被唤醒,身体从透明变身成了蓝色,用电子声叫唤了一声“thunderball...”“球雷不是哑炮吗,我以为是给我解闷的,难道不是么?”问着,林亦又把球雷抛到天上去了。“球雷是一个不错的道具,没有使用次数限制,具体的使用......
  • 现代操作系统第三章读书笔记
    现代操作系统第三章读书笔记***3.3.1分页3.4页面置换算法3.5分页系统中的设计问题前面讨论了分页系统如何工作,介绍了基本的页面置换算法。当然,只了解基本机制是不够的。要设计一个系统,必须知道如何是这个系统工作的更好,需要从全局考虑一些问题。下面是一些能过使得整个系统......
  • 《计算机网络微课堂》第三章 链路层
    3.1:概述---本节课我们对数据链路层进行概述,我们首先来看看数据链路层在网络体系结构中的地位。如图所示主机H1给主机H2发送数据,中间要经过三个路由器和电话网、局域网以及广域网等多种网络。​​从五层协议原理体系结构的角度来看,主机应具有体系结构中的各个层次,而路由器......