计算机是一种可以接收指令集或程序的电子设备,并通过执行数字计算或操作其他形式的信息来运行这些程序。
计算机的发展催生现代高科技的产生。从国家机密文件,到银行交易事物,到家庭与私人账户,各种各样的计算机在数据存储和数据处理方面得到使用。通过自动化技术,计算机开启了制造工业的新时代。同时计算机还加强了现代通讯系统。从构建宇宙模型,到天气预报,计算机都是研究与应用科技领域必不可少的工具,他们的使用开辟了全新的推测领域。数据库服务和计算机网络是各种各样的信息源可供使用。同时,高科技也使个人和企业机密信息遭受到侵害的可能,计算机犯罪也成为众多犯罪的一项。
第一台算数计算机—数字计算机的先驱,由法国数学家,物理学家,哲学家布莱斯.帕斯卡发明。该设备采用了一系列的十齿轮,每个齿轮代表从0到9的数字,这些齿轮相互连接,以此通过推进齿轮到一个正确的齿轮数,这些数字可以相互相加。17世纪70年代,德国数学家,哲学家戈特弗里德.威廉.莱布尼茨改进了该计算机以完成乘法计算。
法国发明家约瑟夫-玛丽.雅卡尔设计了一种自动的织机,采用很薄的穿孔木板来控制很复杂的编织工作。在19世纪80年间,与雅卡尔类似的,美国统计学家赫尔曼想出了采用穿孔卡片来处理数据。采用穿孔卡片在电触点上,他为美国1890年人口普查,编制了统计信息。
1 分析机
在19世纪,英国数学家,发明家查尔斯.巴比奇提出现代数字计算机的工作原理。他设想用很多很多机器来工作,比如被设计用于处理复杂数据问题的差分机。许多历史学家都认为巴比奇和他的数学家同事阿达.拜伦是现代数字计算机的先驱。巴比奇设计的分析机具备现代计算机的很多特点,它以穿孔卡片组的形式作为输入流,一个保存数据的仓库,一个进行算数运算的工厂和一个产生永久性记录的打印机。即使当时在技术上能够实现,巴比奇依然没有把该想法付诸实践。
2 早期计算机
模拟计算机出现于19世纪晚期。早期的模型通过旋转轴和齿轮的方式来实现计算。很难用其他方式解决的近似运算采用了此种方式。开尔文勋爵创造出了一种潮汐推算机的特殊的模拟计算机。在一战和二战期间,机械和后来的电子模拟计算机系统在潜艇中被用于鱼雷路线预测器,在飞机中作为瞄准器控制器。另一个系统被设计用于预防密西西比河的洪水。
3 电子计算机
在二战期间,一批科学家和数学家在伦敦北部的布莱奇利创造了第一台全电子化得数字计算机:Colossus. 到1943年12月,包含了1,500个真空管的Colossus还在正常运作。该计算机由成功破译了加密为恩尼格码的德国无线电报的老大艾伦.图灵使用。
除此之外,在美国,早在1939年约翰和贝里在艾奥瓦州立学院设计了电子计算机的原型。该原型和随后的研究已赶不上在1945年出现的电子数字积分计算机(ENIAC)。 ENIAC被授予了专利,但是后来被废除了。在1973年发现,该机器与Atanasoff-Beffy 计算机有很多相同的原理。
ENIAC包含了18,000个真空管,每分钟可执行数百次乘法运算。其程序最初是通过导线传送到处理器内,还需人工进行转换。后来基于冯.诺依曼的想法,计算机引进了程序存储功能。数据指令存储在内存上,从此计算机在运行程序的过程中,不再受限于纸带阅读器那样的速度,同时还可以在不重新布线的前提下解决实际问题。
二十世纪50年代后期,晶体管在计算机中的使用标志着比真空管计算机更小,更快,以及更多用的逻辑元件出现了。晶体管由于更省电,使用时间更长,它的出现改进了第二代电子计算机。因为计算机中的内部元件以及元件间间距都在变小,所以计算机也变得便宜了许多。
4 集成芯片
在二十世纪60年代后期,集成芯片(IC)的引进使很多晶体管制作在一张硅衬底元器件上,晶体管之间用覆镀在适当位置的导线相连接。集成芯片进一步降低了价格,缩小了尺寸,减少了计算机生产的失败率。二十世纪70年代中后期,大规模以及超大规模的集成芯片的引进,使得成千上万的晶体管通过相互内连的方式集成在硅片上。
70年代的计算机通常能够同时处理8位数据,即能在每个周期内传输8位二进制数据。8个位被称一个字节,每个字节都由0或者1组成,每种组合模式都等同于一个指令或者指令的一部分,或者是一种特殊的数据类型,比如表示一个数字,字符,或符号。如“11010010”可能是二进制数据,在这种情况下,就表示把十进制数210与内存中的某个数据做比较。
从处理16位,32位,64位的处理器的发展已经提高了计算机运行速度。计算机能够处理的一系列可识别的操作符集合叫指令集。随着现代数字计算机的持续发展,计算机处理的数据位数和指令集也在不断增加。
现代数字计算机除了大小外,在概念是都是相似的。然而,在价格和性能上他们可以被分为如下几类:个人计算机(PC),笔记本,掌上电脑,工作站(企业中专用于处理图像或者通讯的计算机),小型计算机(适用于企业,学校,实验室),大型机(大型计算机,用于企业,政府机构,科研机构),超级计算机。
数字计算机由五个不同的部分组成,1中央处理器(CPU),2输入设备,3存储器,4,输出设备,总线(负责计算机的内部和外部数据传送)。
iv. 计算机程序
计算机程序是通过硬件来操作数据的指令序列。程序也可以构建在硬件之中,或者以软件的形式独立存在。在一些特殊硬件里,计算机指令嵌入在电路里面,比如计算器,手表,汽车引擎,微波炉。一台通用的计算机,包含了内置的程序或者指令,同时依靠外部程序来执行一些有用的任务。可通过编程让计算机做很多事,各种各样的应用程序可让计算机完成各种各样的事情。
v. 未来的发展趋势
计算机在未来会更倾向于微小型化发展,芯片上会嵌入更多的电路元件。研究人员正在不断尝试通过超导性(在低温条件下特殊材料的电阻会减少)来改进电路功能。
第五代计算机的一个发展趋势是人工智能,另一方面是通过采用多个芯片同时处理多个任务来实现并行计算。一个很重要的并行处理方式是神经网络,它模仿了神经系统的体系结构。另外一个趋势就是计算机全球网络化。也有大量的研究表明光学计算机出现的可能性(硬件采用的不是电脉冲而是更加快速的光脉冲)。
I. 简介
计算机科学是一种理论研究,实验科学,让计算机完成自动化信息处理的工程科学。计算机科学可追溯到英国数学家查尔斯.巴比奇时代,他在1837年首先提出了可编程的机械计算器。直到二十世纪40年代,数字电子计算机的出现,计算机科学才和数学工程区别开来。因此衍生了很多分支科研学科。
II. 计算机科学的发展
在二十世纪四五十年代,计算机科学领域里早期的工作主要关注科学和工程中的自动化处理。科学家和工程师建立了很多计算的理论模型,用于分析并执行繁多的计算任务。计算机科学在这个时期和用于精确分析计算的数值分析学科几乎是重叠于一起的。
在二十世纪50到70年代,计算机不断的发展,计算机科学涉及的范围不断变大,计算机可执行很多由编程语言实现的程序,计算机通过操作系统为用户提供了非常有用的操作界面和入口。在这个时期,计算机用于实践一下新颖的应用软件,设计工作,同时还率先创造了计算机网络,探索着计算机和人脑间的关系。
二十世纪70年代,芯片制造业开始大规模的生产处理器,这种电子电路芯片充当了计算机的信息处理中心。这种新技术通过降低计算机生产成本和不断的提高处理速度为计算机工业带来了全新的革命。由于处理器的发展以及使用,个人计算机的出现,导致出现了大量的计算机应用软件。在70、80年代后期,计算机科学快速的发展着个人计算机中的应用程序,并不断的提高着计算机工业中的技术发展。许多来源于早期的系统概念通过个人计算机也传播到了公众里面。
计算机科学持续的发展成了一门前言科学,并创造出了更复杂,可靠和很功能强大的计算机系统。人们通过计算机网络,有效的传输着大量的信息,并不断的探寻着使计算机更加智能的途径。由于计算机成为了现代社会不可分割的一部分,计算机科学也努力解决发展过程中遭遇的各种新难题。
几十年来,从启蒙人们怎样使用计算机到理论转变为具体的技术和方案实践,计算机科学不断的变化。一直以来,改善人们的生活条件和提高信息的利用效率是计算机科学不断发展并实现这些目标的基础。
III. 理论与试验
计算机科学是结合了学术理论,工程实践,和科学试验的学科。在某些情况下,计算机科学家提出了一种理论,然后工程师就基于该理论通过计算机硬件和软件来实践并运用它。这种理论驱动方式开发软件工程的工具并在实际中评估该软件。在另一些情况下,预先的试验可形成一些新的理论知识,比如神经网络的发现就与人脑的神经元很类似,以此还形成了神经生理学。
由于计算机的性质是预先知晓的,所以一些试验结果是可以提前预测的。但是,在真实世界中计算机系统内部间的交互是极其复杂的,常常出现无法预料的结果,所以试验和一些传统的科学方法也是计算机科学关键的一部分。
IV. 计算机科学的主要分支
计算机科学可以分为四个主要的领域:软件开发,计算机体系结构(硬件),人机交互和人工智能。软件开发主要关注创造计算机程序并使之高效执行。计算机体系结构主要关注特殊计算机的最佳硬件配置。人工智能和人机交互通常涵盖于硬件和软件中的特定问题。
1. 软件开发
在软件开发领域,计算机科学家和工程师研究出了很多软件设计的技术,比如编程语言的选型和特殊问题的算法选用,怎样高效存储和检索信息,还有某种程式组合机的计算限制。当开发程序时,软件设计师必须考虑很多因素,有些时候为了满足软件的通用性能,就要牺牲某些特定性能。比如,计算机内存有限,所以就必须限制计算机不能负担的功能。
软件工程师科学家和工程师提出的一系列工具和方法,用于提高程序的正确性,可靠性,健壮性。计算机科学的分支学科软件工程包含了软件生命周期的所有阶段,有需求说明文档,方案设计的进度控制,有开发,测试,还有维护。软件工程师通过搭建开发环境,利用一些工具集来开发软件。工具可以用于管理开发人员参与的程序模块。
2. 计算机体系结构
计算机体系结构用于设计和分析新的计算机组成系统,通过提高执行速度,存储容量,可靠性,减少成本和电耗来改进计算机。同时计算机体系结构还构建软件和硬件模型,分析执行性能和原有的设计,并用这些分析结果来指导新的计算机的开发。除此之外,还涉及到计算机工程,由于需要精确控制计算机模型,故还很依赖计算机电子电路的设计。许多计算机设计师还对得设计一些特殊化功能的计算机,如图像处理,信号处理,机械系统控制。按照特定任务对计算机体系结构进行的优化,常常带来性能的提高、成本的降低或者两者兼具。
3. 人工智能
人工智能(AI)探寻着让计算机和机器模仿人类的智力和感官能力,以及行为能力。人工智能的分支研究包括了机器学习,推理,认知,知识表达,解决问题,案例推理,自然语言理解,语音识别,计算机视觉,人工神经网络。
4. 机器人技术
另一个很有用的计算机科学领域是机器人技术,它通过计算机设计和开发来控制机器设备。机器人的复杂度范围就像普通玩具到自动化工厂生产线那样,它用于帮助人们减轻枯燥繁闷而且危险的工作。机器人从事需要速度和精度以及需要一致性的工作,还有一些人们不能完成的清洁工作。
机器人技术包含了控制机器人的方方面面的技术,包含了机器人物理属性建模,环境建模,行动规划,控制机制(通过传感器来提供反馈到控制程序,并确保其行为的安全性),以及一些简化控制程序的研究技术。还有一些研究,用于为机器人提供更多的灵敏性和人类的适应性,并通过人工智能与人类紧密相处。
5. 人机交互
人机交互为人们提供很多操作计算机的方式,比如键盘可以输入命令给计算机和文字内容到特殊的应用程序中。人机交互的多样性于计算机用户和应用程序有关,然而,两者联合起来可以建立更好的交互体验。比如为残障人士提供交互方式,简洁化程序使用,为虚拟现实提供三维的输入和输出设备,改进手写和语音识别功能,在飞机上,一些显示关键信息的地方比如速度,海拔高度,航向等,在飞行员的前面提供前导式显示器。另一个研究被称为可视化,即图形化显示大量的数据,旨在帮助人们理解他的重要特征。
V. 计算机科学与其他学科的连接
理论上,计算机科学借鉴了数学和逻辑学的许多地方,数值计算与数学上的数值分析相重叠,计算机设计师常常都是设计电路的电子工程师。除这些外,人工智能还与心理学、神经生理学、语言学紧密联系。人机交互也于心理学相关,机器人学还与机械工程和生理学相关。计算机科学还间接的使用计算机的所有学科相关。应用程序的开发包括了科学家间的相互协作,涉及到算法,数据结构,软件工程和其他已有的技术。于是,科学家才有机会进一步对计算机应用程序有更深的见解。这些联系使得计算机科学成为显著的跨学科的研究领域
注:本文翻译自《计算机英语第四版》Unit1
浅薄之言,欢迎指正。登高作赋,有望于群公
-- 谢乐 2015.4.12