计算机计算原理(计算机计算的简单历史演变过程)(1)

早期的计算机

如今,计算机给我们的生活带来了无限的方便。比如你现在可能正在电脑前一边吃鸡一边看我的文章。计算机的应用,使得人类社会进入更快更便捷的发展时期,你可以在某宝上看着矿卡,口里念着矿难;你也可能正在用计算机计算你这个月该换多少钱;你也可能正在用手机和女票聊天。总之,计算机是如此神奇,但是你知道它是怎么运行的吗? 现代化的计算机拥有两个主要功能—可编程和可计算,但是对于早期的计算机来说,能完成计算已经是相当不易的。 最早的计算机【笔记本电脑???】来源于东方,对了我想你猜到了,那当然是算盘啦。楼主看我奶奶打过算盘,我没学会。但我知道算盘具有两大特点—1是可以计算,2是可以储存中间值。这已经具备现代CPU的雏形了,虽然运算过程还需要人来完成。 17世纪带来了许多问题,随着文艺复兴,越来越多的学者出现了【不是神学是科学】然后一堆人开始研究什么数学啊【值得一提的是微积分在这个时候被发明了】天文啊,而天文嘛,天文数字大家都知道,那就是你算,算不完。算,还要算错。这时候人类就需要寻找一种机械来代替手工运算。 开端:帕斯卡的加法计算器 帕斯卡,就是那个压强上的人,极有可能是发明了第一台机械式计算器的人,虽然这个计算器只能做加法和减法【卖菜算账估计可以】 计算机原理很简单,类似于钟表,分针转60圈时针转1圈【等等我都糊了】就是这个原理搞成了加法器/减法器

计算机计算原理(计算机计算的简单历史演变过程)(2)

计算机计算原理(计算机计算的简单历史演变过程)(3)

​下一阶段:莱布尼兹的机械计算器 在帕斯卡的基础上增加了乘法功能,很不错。

计算机计算原理(计算机计算的简单历史演变过程)(4)

​现代计算机的开端/机械计算机的顶峰 巴贝奇的第一个贡献是制作了一台"差分机"。所谓"差分"的含义,是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。1812年,20岁的巴贝奇从法国人杰卡德发明的提花编织机上获得了灵感,差分机设计闪烁出了程序控制的灵光──它能够按照设计者的旨意,自动处理不同函数的计算过程。巴贝奇耗费了整整十年光阴,于1822年完成了第一台差分机,它可以处理3个不同的5位数,计算精度达到6位小数,当即就演算出好几种函数表。 由于当时工业技术水平极低,第一台差分机从设计绘图到机械零件加工,都是巴贝奇亲自动手完成。成功的喜悦激励着巴贝奇,他连夜奋笔上书皇家学会,要求政府资助他建造第二台运算精度为20位的大型差分机。然而,第二台差分机在机械制造过程中,因为主要零件的误差达不到每英寸千分之一的高精确度,以失败告终,但他把全部设计图纸和已完成的部分零件送进伦敦皇家学院博物馆供人观赏。 1834年,巴贝奇就已经提出了一项新的更大胆的设计。他最后冲刺的目标,不是仅仅能够制表的差分机,而是一种通用的数学计算机。巴贝奇把这种新的设计叫“分析机”,它能够自动解算有100个变量的复杂算题,每个数可达25位,速度可达每秒钟运算一次。 巴贝奇的分析机大体上有三大部分: 其一 是齿轮式的"存贮库",巴贝奇称它为"仓库"(Store),每个齿轮可贮存10个数,齿轮组成的阵列总共能够储存1000个50位数。 第二个部件 是所谓"运算室",它被巴贝奇命名为"作坊"(Mill),其基本原理与帕斯卡的转轮相似,用齿轮间的啮合、旋转、平移等方式进行数字运算。为了加快速度,他改进了进位装置,使得50位数加50位数的运算可完成于一次转轮之中。 第三部 分巴贝奇没有为它具体命名,其功能是以 杰卡德穿孔卡中的"0"和"1"来控制运算操作的顺序,类似于电脑里的控制器。他甚至还考虑到如何使这台机器处理依条件转移的动作,比如,第一步运算结果若是"1",就接着做乘法,若是"0"就进行除法运算。此外,巴贝奇也构思了送入和取出数据的机构,以及在"仓库"和"作坊"之间不断往返运输数据的部件。 机械计算机的原理嘛,楼主也不知道。因为现在没有什么资料可以帮我获得更多信息,不过只需要知道这些机械的存在就可以了。后面的重头戏是电子计算机。

计算机计算原理(计算机计算的简单历史演变过程)(5)

电子计算

关于历史上第一台电子计算机,众说纷纭。 电子计算机可以分为两种,一种是数字式另外一种是模拟式。 如果你现在还不懂模拟和数字有什么区别,建议你百度模拟信号和数字信号。 模拟计算机往往可以通过模拟量来解决两个变化的函数的交点,但是问题很大,那就是不能编程!它只能按照电路设计的样子去模拟特定的函数而不能通过数字化的方法去解决问题。 数字计算机要好很多,早期的控制电路通断的元件是继电器,很多很多早期的计算机都用它作为构成逻辑门的主要元件。 期间有很多很多采用继电器的计算机问世了,在这里就不讲述。 而后来有了真空管,双极型晶体管,场效应管,现在的计算机都用的场效应管。因为【此处省略很多字】要搞电子计算,我们需要搞懂二进制。毕竟对于电路,通和断是最容易表现出来的,现在请你忘记十进制,来搞搞二进制题【汇编大佬请不要嘲笑】 二进制中只有1和0,那么,如何用1和0来表示数字呢?【注意!10D代表十进制的10,10B代表二进制的10】 1D当然是1B,没问题。那么2D呢?二进制中没有2啊,咋办? 对了你很聪明,当然是向前进位啦,于是2D变成了10B【读作一零,在我们四川又叫幺零】 于是你在想3D是什么,当然是11B啊! 于是你尝试开始制作你的二进制-十进制表。 很好你已经入门了,恭喜你! 二进制加法也很简单,到2D进位到。

这是一个由与门和或门非门组成的加法器单元。可以完成1bit 1bit的操作并进位。 如果将这个单元封装到一个芯片里,就是一个1bit加法器

计算机计算原理(计算机计算的简单历史演变过程)(6)

二进制加法的操作和十进制下的列式做加法是一样的。而且进位和相加的过程可以由机械进行完成。所以我们可以参考这个特点将加法器一级一级连接起来形成可以将更多比特相加的加法器。 如图的加法器可以完成2bit数据相加。A输入端输入A数据,B输入端输入B数据,右边对齐然后最上面显示出来的数字就是加法器完成后的结果。

计算机计算原理(计算机计算的简单历史演变过程)(7)

对于更加现代化的芯片,一个2bit加法器只能完成十进制中3 3的工作。这是远远不够的,所以机智的科学家把更多更多加法器封装到一个芯片里形成一个大的加法器。就是如图的8bit加法器,这个加法器也带有进位线,所以呢,可以与其他更多8bit加法器相连

计算机计算原理(计算机计算的简单历史演变过程)(8)

刚才我们尝试完成了一个多位加法器,很好现在我们可以处理绝大多数的数学问题了(通过加法),然后呢假设经过图拉丁聪明伶俐的吧友们的探讨我们又有了减法器。 嗯嗯这很好,计算机的核心部件之一ALU(算术运算单元)已经被我们解决了,这个算术运算单元里面有加法器和减法器,可以对输入端的两个数据进行加法和减法操作。 不过在庆祝之前我们还需要对ALU进行一些改造。如下图 加法溢出位:表示加法的结果超过了加法器最大输出值。 减法负数位:表示减法操作减出来是负的 控制位:控制ALU是进行减法还是加法。 这样一来我们的ALU就完善了,这就是现代计算机的ALU

计算机计算原理(计算机计算的简单历史演变过程)(9)

​​​

,