• 欢迎访问起航教学!
当前位置:起航教学资源网范文写作电脑学习电脑技巧计算机(electronic computer)工作原理 -[专业知识]

计算机(electronic computer)工作原理 -[专业知识]

12-14 18:34:03   分类:电脑技巧   浏览次数: 190
标签:电脑技巧大全,http://www.qihang56.com 计算机(electronic computer)工作原理 -[专业知识],
  
  20世纪80年代以来ALU和控制单元(二者合成中央处理器,CPU)逐渐被整合到一块集成电路上,称作微处理器。这类计算机的工作模式十分直观:在一个时钟周期内,计算机先从存储器中获取指令和数据,然后执行指令,存储数据,再获取下一条指令。这个过程被反复执行,直至得到一个终止指令。
  
  由控制器解释,运算器执行的指令集是一个精心定义的数目十分有限的简单指令集合。一般可以分为四类:1)、数据移动(如:将一个数值从存储单元A拷贝到存储单元B)2)、数逻运算(如:计算存储单元A与存储单元B之和,结果返回存储单元C)3)、条件验证(如:如果存储单元A内数值为100,则下一条指令地址为存储单元F)4)、指令序列改易(如:下一条指令地址为存储单元F)
  
  指令如同数据一样在计算机内部是以二进制来表示的。比如说,10110000就是一条Intel x86系列微处理器的拷贝指令代码。某一个计算机所支持的指令集就是该计算机的机器语言。因此,使用流行的机器语言将会使既成软件在一台新计算机上运行得更加容易。所以对于那些机型商业化软件开发的人来说,它们通常只会关注一种或几种不同的机器语言。
  
  更加强大的小型计算机,大型计算机和服务器可能会与上述计算机有所不同。它们通常将任务分担给不同的CPU来执行。今天,微处理器和多核个人电脑也在朝这个方向发展。
  
  超级计算机通常有着与基本的存储程序计算机显著区别的体系结构。它们通常有着数以千计的CPU,不过这些设计似乎只对特定任务有用。在各种计算机中,还有一些微控制器采用令程序和数据分离的哈佛架构(Harvard architecture)。
  
  计算机的数字电路实现
www.qihang56.com   
  以上所说的这些概念性设计的物理实现是多种多样的。如同我们前述所及,一台存储程序式计算机既可以是巴比奇的机械式的,也可以是基于数字电子的。但是,数字电路可以通过诸如继电器之类的电子控制开关来实现使用2进制数的算术和逻辑运算。香农的论文正是向我们展示了如何排列继电器来组成能够实现简单布尔运算的逻辑门。其他一些学者很快指出使用真空管可以代替继电器电路。真空管最初被用作无线电电路中的放大器,之后便开始被越来越多地用作数字电子电路中的快速开关。当电子管的一个针脚被通电后,电流就可以在另外两端间自由通过。
  
  通过逻辑门的排列组合我们可以设计完成很多复杂的任务。举例而言,加法器就是其中之一。该器件在电子领域实现了两个数相加并将结果保存下来—在计算机科学中这样一个通过一组运算来实现某个特定意图的方法被称做一个算法。最终,人们通过数量可观的逻辑门电路组装成功了完整的ALU和控制器。说它数量可观,只需看一下CSIRAC这台可能是最小的实用化电子管计算机。该机含有2000个电子管,其中还有不少是双用器件,也即是说总计合有2000到4000个逻辑器件。
  
  真空管对于制造规模庞大的门电路明显力不从心。昂贵,不稳(尤其是数量多时),臃肿,能耗高,并且速度也不够快—尽管远超机械开关电路。这一切导致20世纪60年代它们被晶体管取代。后者体积更小,易于操作,可靠性高,更省能耗,同时成本也更低。
  
  集成电路是现今电子计算机的基础20世纪60年代后,晶体管开始逐渐为将大量晶体管、其他各种电器元件和连接导线安置在一片硅板上的集成电路所取代。70年代,ALU和控制器作为组成CPU的两大部分,开始被集成到一块芯片上,并称为“微处理器”。沿着集成电路的发展史,可以看到一片芯片上所集成器件的数量有了飞速增长。第一块集成电路只不过包含几十个部件,而到了2006年,一块Intel Core Duo处理器上的晶体管数目高达一亿五千一百万之巨。
  
  无论是电子管,晶体管还是集成电路,它们都可以通过使用一种触发器设计机制来用作存储程序体系结构中的“存储”部件。而事实上触发器的确被用作小规模的超高速存储。但是,几乎没有任何计算机设计使用触发器来进行大规模数据存储。最早的计算机是使用Williams电子管向一个电视屏或若干条水银延迟线(声波通过这种线时的走行速度极为缓慢足够被认为是“存储”在了上面)发射电子束然后再来读取的方式来存储数据的。当然,这些尽管有效却不怎么优雅的方法最终还是被磁性存储取而代之。比如说磁芯存储器,代表信息的电流可在其中的铁质材料内制造恒久的弱磁场,当这个磁场再被读出时就实现了数据恢复。动态随机存储器(DRAM)亦被发明出来。它是一个包含大量电容的集成电路,而这些电容器件正是负责存储数据电荷—电荷的强度则被定义为数据的值。
  
  输入输出设备
  
  输入输出设备(I/O)是对将外部世界信息发送给计算机的设备和将处理结果返回给外部世界的设备的总称。这些返回结果可能是作为使用者能够视觉上体验的,或是作为该计算机所控制的其他设备的输入:对于一台机器人,控制计算机的输出基本上就是这台机器人本身,如做出各种行为。
  
  第一代计算机的输入输出设备种类非常有限。通常的输入用设备是打孔卡片的读卡机,用来将指令和数据导入内存;而用于存储结果的输出设备则一般是磁带。随着科技的进步,输入输出设备的丰富性得到提高。以个人计算机为例:键盘和鼠标是用户向计算机直接输入信息的主要工具,而显示器、打印机、扩音器、耳机则返回处理结果。此外还有许多输入设备可以接受其他不同种类的信息,如数码相机可以输入图像。在输入输出设备中,有两类很值得注意:第一类是二级存储设备,如硬盘,光碟或其他速度缓慢但拥有很高容量的设备。第二个是计算机网络访问设备,通过他们而实现的计算机间直接数据传送极大地提升了计算机的价值。今天,国际互联网成就了数以千万计的计算机彼此间传送各种类型的数据。
  
  程序
  
  简单说,计算机程序就是计算机执行指令的一个序列。它既可以只是几条执行某个简单任务的指令,也可能是可能要操作巨大数据量的复杂指令队列。许多计算机程序包含有百万计的指令,而其中很多指令可能被反复执行。在2005年,一台典型的个人电脑可以每秒执行大约30亿条指令。计算机通常并不会执行一些很复杂的指令来获得额外的机能,更多地它们是在按照程序员的排列来运行那些较简单但为数众多的短指令。
  
  一般情况下,程序员们是不会直接用机器语言来为计算机写入指令的。那么做的结果只能是费时费力、效率低下而且漏洞百出。所以,程序员一般通过“高级”一些的语言来写程序,然后再由某些特别的计算机程序,如解释器或编译器将之翻译成机器语言。一些编程语言看起来很接近机器语言,如汇编程序,被认为是低级语言。而另一些语言,如即如抽象原则的Prolog,则完全无视计算机实际运行的操作细节,可谓是高级语言。对于一项特定任务,应该根据其事务特点,程序员技能,可用工具和客户需求来选择相应的语言,其中又以客户需求最为重要(美国和中国军队的工程项目通常被要求使用Ada语言)。
www.qihang56.com   
  计算机软件是与计算机程序并不相等的另一个词汇。计算机软件一个较为包容性较强的技术术语,它包含了用于完成任务的各种程序以及所有相关材料。举例说,一个视频游戏不但只包含程序本身,也包括图片、声音以及其他创造虚拟游戏环境的数据内容。在零售市场,在一台计算机上的某个应用程序只是一个面向大量用户的软件的一个副本。这里老生常谈的例子当然还是微软的office软件组,它包括一些列互相关联的、面向一般办公需求的程序。
  
  利用那些极其简单的机器语言指令来实现无数功能强大的应用软件意味着其编程规模注定不小。Windows XP这个操作系统程序包含的C++高级语言源代码达到了4000万行。当然这还不是最大的。如此庞大的软件规模也显示了管理在开发过程中的重要性。实际编程时,程序会被细分到每一个程序员都可以在一个可接受的时长内完成的规模。
  
  即便如此,软件开发的过程仍然进程缓慢,不可预见且遗漏多多。应运而生的软件工程学就重点面向如何加快作业进度和提高效率与质量。
  
  函数库与操作系统
  
  在计算机诞生后不久,人们发现某些特定作业在许多不同的程序中都要被实施,比如说计算某些标准数学函数。出于效率考量,这些程序的标准版本就被收集到一个“库”中以供各程序调用。许多任务经常要去额外处理种类繁多的输入输出接口,这时,用于连接的库就能派上用场。
  
  20世纪60年代,随着计算机工业化普及,计算机越来越多地被用作一个组织内不同作业的处理。很快,能够自动安排作业时续和执行的特殊软件出现了。这些既控制硬件又负责作业时序安排的软件被称为“操作系统”。一个早期操作系统的例子是IBM的OS/360。

上一页  [1] [2] [3] [4] [5] [6]  下一页

相关热词搜索:

分享到: 收藏
评论排行