解释计算机的基本工作原理。
电脑有很多种。事实上,计算机一般是处理信息的工具。根据图灵机理论,一台具备最基本功能的计算机应该可以做其他计算机能做的任何事情。因此,不考虑时间和存储因素,所有个人数字助理(PDA)和超级计算机应该能够完成相同的工作。也就是说,即使是设计相同的计算机,也要用于各种任务,从公司工资管理到无人飞船控制,只要做相应的修改。由于科学技术的快速进步,下一代计算机在性能上总能显著超越前辈,这有时被称为“摩尔定律”。
计算机在组成上有不同的形式。早期的计算机有一所房子那么大,但是今天一些嵌入式计算机可能比一副扑克牌还小。当然,即使在今天,仍然有大量的巨型超级计算机为大型组织服务于特殊的科学计算或事务处理需求。为个人应用而设计的相对较小的计算机叫做微型计算机,或简称为微型计算机。当我们在今天的日常生活中使用“计算机”这个词时,我们通常会提到这一点。然而,现在计算机最常见的应用形式是嵌入式。嵌入式计算机通常相对简单,体积小,用于控制其他设备-无论是飞机,工业机器人还是数码相机。
电子计算机的上述定义包括许多能计算或具有有限功能的专用设备。但说到现代电子计算机,其最重要的特点是,任何电子计算机只要给它正确的指令(只受电子计算机本身的存储能力和执行速度的限制),就可以模拟任何其他计算机的行为。因此,与早期的电子计算机相比,现代电子计算机也被称为通用电子计算机。
历史
ENIAC是计算机发展史上的一个里程碑。计算机的英文单词“computer”原指从事数据计算的人。而且他们经常需要使用一些机械计算设备或者模拟计算机。这些早期计算装置的祖先包括算盘和安提基西拉机制,可以追溯到公元前87年,古希腊人用它来计算行星的运动。随着中世纪末期欧洲数学和工程的繁荣,威廉·席卡德(Wilhelm Schickard)于1623年率先研制出欧洲第一台计算设备。
1801年,Joseph Marie Jacquard改进了织布机的设计,其中他使用了一系列穿孔纸卡作为程序来编织复杂的图案。虽然提花织机不被认为是真正的计算机,但它的出现确实是现代计算机发展的重要一步。
查尔斯。巴比奇是1820年第一个构思和设计完全可编程计算机的人。然而,由于技术条件、资金限制,以及难以忍受的对设计的不断修补,这台计算机在他的有生之年从未问世。到19世纪末,许多被证明对计算机科学有重大意义的技术相继出现,包括穿孔卡片和真空管。赫尔曼·霍尔瑞斯(Hermann Hollerith)设计了一台用于制表的机器,它利用穿孔卡片实现了大规模自动数据处理。
20世纪上半叶,为了满足科学计算的需要,发展了许多用途单一、日益复杂的模拟计算机。这些计算机是基于它们所针对的特定问题的机械或电子模型。在20世纪30年代和40年代,计算机的性能变得更强,通用性得到提高,并不断增加现代计算机的关键功能。
克劳德?1937年,克劳德·香农发表了他的伟大论文《继电器和开关电路中的符号分析》,其中首次提到了数字电子技术的应用。他向人们展示了如何使用开关来实现逻辑和数学运算。此后,他通过研究万尼瓦尔·布什的微分模拟器进一步巩固了自己的想法。这是一个重要的时刻,标志着二进制电子电路设计和逻辑门应用的开始。作为这些关键思想诞生的先驱,应该包括:阿尔蒙·史端乔(Almon Strowger),他为一种包含逻辑门的装置申请了专利;尼古拉斯?尼古拉·特斯拉,早在1898就申请了带逻辑门的电路设备;德·福雷斯特,在1907中,他用真空管代替了继电器。
沿着这么长的距离来定义所谓的“第一台电子计算机”是相当困难的。1941 12年5月,康拉德·楚泽完成了他的机电设备“Z3”,这是第一台具有自动二进制数学计算和可行编程功能的计算机,但它不是“电子”计算机。此外,其他值得注意的成果主要有:1941年夏天诞生的Atanasoff-Berry计算机,是一台有特定用途的计算机,但它使用了真空管计算器、二进制值和可重复使用的存储器;1943在英国展出的神秘巨像计算机,确实告诉人们,使用真空管是可靠的,可以实现电气化重编程,虽然其编程能力极其有限。哈佛马克一世;哈佛大学的;以及基于二进制的“ENIAC”(ENIAC,1944),这是第一台具有通用目的的计算机,但其结构设计不够灵活,所以每次重新编程都意味着重新连接电气和物理电路。
开发埃尼的团队根据其缺陷进一步改进设计,最终推出了冯?诺依曼架构(程序存储架构)。这个系统是今天所有计算机的基础。40年代中后期,大量基于该系统的计算机开始被开发出来,其中英国是最早的。虽然研制并投入运行的第一台机器是“小型实验机”(SSEM),但真正研制出的实用机器很可能是EDSAC。
在整个20世纪50年代,真空管计算机占主导地位。20世纪60年代,晶体管电脑取而代之。晶体管更小、更快、更便宜、更可靠,这使得它们可以商业化。70年代,集成电路技术的引入大大降低了电脑的生产成本,电脑开始走向千家万户。
[编辑]原则
个人电脑的主要结构:
指示器
主板
中央处理器(微处理器)
主存储器
扩展卡
电源
光盘驱动器
辅助存储器(硬盘)
键盘
老鼠
虽然自20世纪40年代第一台电子通用计算机诞生以来,计算机技术发展迅速,但今天的计算机仍然基本采用存储程序结构,即冯?诺依曼建筑。这种结构实现了实用的通用计算机。
存储程序结构将计算机描述为四个主要部分:算术逻辑单元(ALU)、控制电路、存储器和输入/输出设备(I/O)。这些元件由一组扁平电缆(特别是当一组导线用于不同意图的数据传输时,也称为总线)连接,并由时钟驱动(当然,一些其他事件也可能驱动控制电路)。
从概念上讲,计算机的内存可以看作是一组“细胞”。每个“细胞”都有一个称为地址的号码;而且可以存储较小的定长信息。这些信息可以是指令(告诉计算机做什么)或数据(指令的处理对象)。原则上,每个“单元”可以存储其中任何一个。
算术逻辑单元(ALU)可以被称为计算机的大脑。它可以做两种运算:第一种是算术运算,比如两个数的加减。算术运算器在ALU中的作用非常有限。事实上,有些alu根本不支持电路级的乘除运算(因为用户只能通过编程进行乘除运算)。第二种是比较运算,即给定两个数,ALU进行比较,确定哪个更大。
输入输出系统是计算机接收外界信息并向外界反馈运算结果的手段。对于一台标准的个人计算机,输入设备主要是键盘和鼠标,而输出设备是显示器、打印机和许多其他可以连接到计算机的I/O设备。
控制系统连接上述计算机的所有部分。它的功能是从存储器和输入/输出设备中读取指令和数据,解码指令,将符合指令要求的正确输入传送给ALU,并告诉ALU如何处理这些数据以及将结果数据返回到哪里。控制系统中的一个重要部件是一个计数器,用来记录当前指令的地址。通常,该计数器随着指令的执行而累积,但是有时如果指令指示跳转,则不遵循该规则。
自20世纪80年代以来,ALU和控制单元(两者都集成到中央处理器(CPU))逐渐集成到一个集成电路中,称为微处理器。这种计算机的工作模式非常直观:在一个时钟周期内,计算机先从存储器中获取指令和数据,然后执行指令,存储数据,再获取下一条指令。重复该过程,直到获得终止指令。
按照控制器的解释,运算单元执行的指令集是一组精心定义的简单指令,数量非常有限。一般可以分为四类:1)、数据移动(例如将一个数值从存储单元A复制到存储单元B)2)、数与逻辑运算(例如计算存储单元A和存储单元B的和并将结果返回到存储单元C)3)、条件验证(例如如果存储单元A中的数值是100,那么下一条指令。
指令和数据一样,在计算机中用二进制表示。比如10110000就是Intel x86微处理器的一个复制指令代码。计算机支持的指令集是计算机的机器语言。因此,使用流行的机器语言将使已建立的软件更容易在新计算机上运行。所以对于开发商业软件的人来说,通常只关注一种或几种不同的机器语言。
更强大的小型计算机、大型计算机和服务器可能与上述计算机不同。它们通常与不同的CPU共享任务来执行。如今,微处理器和多核个人电脑也在朝这个方向发展。
超级计算机通常具有与基本存储程序计算机明显不同的体系结构。它们通常由数千个CPU组成,但这些设计似乎只对特定的任务有用。在各种计算机中,有一些微控制器使用哈佛架构来分离程序和数据。