您的位置: 网站首页 > 公共课 > 新编计算机文化基础 > 第2章 计算机系统 > 【2.1 计算机系统概述】

2.1 计算机系统概述

 

自计算机诞生以来,经过五十多年的发展,计算机的功能不断增强、应用不断扩展,计算机系统也变得越来越复杂。本章将以计算机系统的组成、计算机硬件和计算机软件为主线,介绍计算机系统的相关知识。通过本章内容的学习,可以建立一个比较完整的计算机系统的概念,进一步了解计算机的基本工作原理。

2.1  计算机系统概述

在学习和使用计算机的过程中,必须建立正确的计算机系统观点。了解计算机系统,对于掌握计算机的基本工作原理、有效利用计算机的各种资源为工作目的服务会有很大帮助。

2.1.1  计算机系统的组成

1.计算机系统

计算机系统由计算机硬件系统和计算机软件系统两大部分组成。计算机硬件系统简称为计算机硬件或硬件,它是组成计算机系统的所有物理设备的总称,是组成计算机系统的物质基础。计算机软件系统简称为计算机软件或软件,它是计算机系统中所有程序、数据、文档的总和,是控制和操作计算机系统的核心。

计算机硬件和计算机软件是计算机系统的必不可少的组成部分,两者有机结合、互相渗透、互相促进,组成一个统一的整体。硬件是软件的工作基础,离开硬件,软件无法工作;软件是硬件功能的扩充和完善,有了软件的支持,硬件的功能才能得到充分发挥。如果将硬件比作计算机系统的躯体,那么软件就是计算机系统的灵魂。

从广义的角度来考虑,计算机系统还应包括使用计算机系统的人员和保障系统能够正常有效运行的各种规章制度。也就是说,广义的计算机系统包括人员、规章制度、机器设备以及程序数据和文档。计算机是人类发明的,是用来帮助人们解决各种实际问题的,有了人才能把系统的其他部分有机地结合在一起,所以人在广义的计算机系统中起着主导作用。

2.计算机系统的组成

计算机系统由硬件系统和软件系统两大部分组成。硬件系统包括主机和外部设备两部分,软件系统则由系统软件和应用软件两部分组成。

计算机系统的具体组成如图2-1所示。

2-1  计算机系统的组成

3.计算机硬件和计算机软件

计算机硬件是计算机系统中所有实际的物理装置的总称,主要由中央处理器、存储器、输入/输出接口、各种输入/输出设备等功能部件组成,各个功能部件各尽其责、协调工作。中央处理器是整个计算机的心脏,负责对数据进行运算和处理;存储器用来存放运行所需要的各种程序和数据;输入设备负责将程序和数据输入到计算机系统中;输出设备则将处理结果和各种文档从计算机中输出。

计算机软件是相对于计算机硬件而言的,它包括计算机运行所需要的所有程序、运行程序所需要的数据、软件开发文档(包括软件说明书、数据结构图、模块说明书、源程序清单等,供软件开发人员使用)、用户文档(包括使用手册、维护手册、程序测试用例,供用户使用)等。程序用来向计算机系统指出应如何进行规定的各种操作,数据则是程序的处理对象,文档是软件的设计报告、使用说明及相关的技术资料。计算机软件不仅为人们使用计算机提供方便,而且在计算机系统中起着指挥管理和调度协调的作用。

在计算机系统中,硬件是整个系统赖以运行的物质基础,相当于计算机系统的“躯体”,硬件系统的性能决定了整个计算机系统的性能;软件是人与硬件之间的界面,是计算机系统得以发挥作用的关键,相当于计算机系统的“灵魂”,计算机系统的功能在很大程度上是由所安装的各种软件来决定的,一套性能优良的计算机硬件能否发挥其应有的功能,很大程度上取决于所配置的软件是否完善和丰富。

从计算机系统的功能上来讲,硬件和软件之间没有一个明确的分界线。由硬件实现的功能可以用软件来实现,称为硬件软化,例如,多媒体计算机中进行视频信息处理的视频卡现在通常都由播放软件来实现;同样,由软件实现的功能也可以用硬件来实现,称为软件硬化或固化,例如,PC机的ROM芯片中就固化了系统的引导程序。系统的某些功能是用硬件还是用软件实现,与系统的速度、价格要求、存储容量及可靠性等诸多因素有关。一般来说,同一功能由硬件实现,通常速度快、存储要求低、成本较高,且灵活性和适应性较差;用软件实现,则可提高灵活性和适应性并降低成本,但通常要以降低速度和额外存储容量为代价。

4.计算机系统的层次结构

作为一个完整的计算机系统,各种硬件和软件是按照一定的层次关系组织起来的,也就是说,计算机系统是按照层次结构进行组织的。

计算机系统的层次结构如图2-2所示。

2-2  计算机系统的层次结构

在整个层次结构中,最基本的是计算机硬件,它处于系统的底层,然后是基本输入/输出系统,它是操作系统与硬件的接口,而操作系统则是软件系统的核心,对下层,操作系统通过BIOS实现对硬件的管理和调度,对上层,操作系统实现任务的调度、存储的管理等功能;用户所进行的各种操作,则在相应系统软件的支持下经由操作系统通过计算机硬件来实现。计算机系统的层次结构的组织形式为系统功能的扩充、计算机的应用、软件的开发提供了强有力的手段。

2.1.2  计算机的基本工作原理

1.存储程序和程序控制

计算机系统从诞生至今,硬件系统和软件系统都已经发生了翻天覆地的变化,计算机系统的性能指标也有了惊人的提高。但就其基本工作原理来说,仍然是以“存储程序和程序控制”原理为基础的冯·诺依曼型计算机。

冯·诺依曼原理是计算机系统采用的基本工作原理,它由美籍匈牙利科学家冯·诺依曼在1945年提出,其基本要点是“存储程序和程序控制”。冯·诺依曼提出的设计思想包括以下三个要点。

1)由运算器、控制器、存储器、输入设备、输出设备五大基本部件组成计算机,并规定了各个部件的基本功能。

2)所有指令和数据都用二进制形式表示,指令和数据在外形上没有显著区别,但各自代表的意义不同。

3)将程序和数据都事先存储在计算机的存储器中,以便于计算机能够自动高速地取出指令并加以执行。

把程序和数据存放在计算机的存储器内,当用户启动存放在存储器中的程序后,由程序去控制计算机的运行。计算机按照程序中规定的次序逐条地执行该程序中的指令。指令规定了计算机必须完成的操作,它包含了在何处取得数据、进行何种操作、操作结果存放在何处。计算机的控制器负责有序地取出指令,并对指令进行译码,将其转换为控制信号,控制相关部件去完成规定的操作。

2.指令和指令系统

使用计算机完成某个任务就必须运行相应的程序。在计算机内部,程序是由一系列指令组成的,指令是构成程序的基本单位。指令是告诉计算机执行各种操作的指示和命令,它用二进制表示。在大多数情况下,指令由操作码和操作数地址两个部分组成。操作码其实就是指令序列号,用来规定所执行操作的种类和性质,如加、减、乘、除、转移、输入/输出等;操作数地址则要复杂一些,主要包括源操作数地址、目的操作数地址等,具体情况由操作码决定。在某些指令中,操作数地址可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。

例如,某个指令的长度为32位,操作码长度为8位,地址长度也为8位,指令的内容是00000010000001000000000100000110。计算机执行时,先取出它的前8位操作码,即00000010,分析得出这是一个减法操作,有3个地址,分别是两个源操作数地址和一个目的地址。于是,CPU就到内存地址00000100处取出被减数,到00000001处取出减数,送到运算器中进行减法运算,然后把结果送到00000110处。当然,这只是一个相当简单化的例子,实际情况要复杂得多。

尽管计算机可以完成许多非常复杂的任务,运行多种多样的程序,但任何复杂程序的运行都是通过一条一条地执行指令来完成的。计算机每执行一条指令都分为若干步,每一步完成一个或几个简单操作(微操作)。指令的执行过程大致如下:

1)按照指令计数器的指示从存储器中读取一条指令并送入指令寄存器。

2)对指令寄存器中的指令进行译码,决定操作的性质和种类以及操作数的地址。

3)根据操作数地址从指定位置取出操作数。

4)由运算器按照操作码的要求,对操作数进行规定的操作,并根据操作的结果修改或设置一些状态标志。

5)将运算的结果保存到规定的寄存器,在需要时还要将结果传送到存储器中。

6)修改指令计数器(通常情况下是自动加1),以决定下一条指令的地址。

指令按照其功能可以分为数据传送指令、算术逻辑运算指令、输入/输出指令、转移控制指令、位操作指令、堆栈操作指令等类别。不同指令的操作要求不同,被处理的操作数的类型、个数、来源也不一样,所以在执行时的复杂程度和操作步骤就会有较大差别。

指令系统(Instruction Set)指的是CPU所能够处理的全部指令的集合,是一个CPU的根本属性。不同的CPU,所能识别执行的指令的数量和种类通常是不同的。比如我们现在所用的PC机的CPU都是采用x86指令集,它们都是同一类型的CPU,不管是PentiumPentium 或是Athlon。众所周知,世界上还有比Pentium Ⅳ和Athlon快得多的CPU,比如Alpha,但它不是用x86指令集,也不能使用数量庞大的基于x86指令集的程序。之所以说指令系统是一个CPU的根本属性,是因为指令系统决定了一个CPU能够运行什么样的程序。

对于不同种类的计算机(CPU)而言,指令系统会存在很大的不同,指令系统决定了计算机的能力,同时也决定了计算机的硬件组成和体系结构。一台计算机所拥有的指令总数总是有限的,但在软件设计师的精心设计下,可以设计出各种各样的复杂软件。

随着技术的发展,计算机的性能在不断提高。新计算机的指令系统所包含的指令也越来越多,这使得指令系统朝着两个方向发展:CISCRISC

·    复杂指令系统计算机 Complex Instruction Set ComputerCISC

一开始,计算机的指令系统只有很少的一些基本指令,而其他的复杂操作全靠软件编译时通过简单指令的组合来实现。由于那时的计算机部件相当昂贵,而且速度很慢,为了提高速度,人们通过改变指令长度、扩展指令寻址方式、增强指令功能来扩展指令系统中的指令,越来越多的复杂指令被加入了指令系统中。在计算机的升级换代过程中,为了“向下兼容”,通常保留原系统的所有指令,同时扩充功能更强的指令。就这样,CISC指令系统就形成了大量的复杂指令、可变的指令长度、多种寻址方式是CISC的特点,也是CISC的缺点。因为这些都大大增加了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升不及在解码上浪费的时间。

·    精简指令系统计算机 Reduced Instruction Set ComputerRISC

1975年,IBM的设计师John Cocke研究了当时IBM370CISC系统,发现其中占总指令数仅20%的简单指令却在程序调用中占了80%,而占指令数80%的复杂指令却只有20%的机会用到。由此,他提出了RISC的概念。RISC的特点是通过简化指令使计算机的结构更加简单合理,从而提高计算机的运算速度,达到计算机整体性能的优化。事实证明,RISC是成功的。20世纪80年代末,各公司的RISC计算机如雨后春笋般大量涌现,占据了大量的市场。到了20世纪90年代,x86CPUPentiumK5也开始使用先进的RISC核心。RISC的最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。

2.1.3  计算机系统的主要技术指标

对计算机系统的性能作全面评价,要考虑各种因素,所以有多项指标。而且,根据用户的不同用途,对性能指标要求也可能存在差异。计算机系统的技术指标分为软件和硬件两方面。软件方面主要考虑计算机所安装的操作系统、系统软件、应用软件应该能够发挥系统硬件的最大效能,能够满足用户的各种需求,还要能够方便用户的使用。硬件方面的主要性能指标如下:

1)字长。

计算机单条指令所处理的基本信息单位称为计算机字(机器字)。字长是计算机字所包含的二进制数的位数,它表示了计算精度和处理信息的能力。字长越长,计算精度越高,处理能力越强。通常有32位、64位、128位等多种。

2)主频。

通常也称为时钟频率,指计算机系统的中央处理器(CPU)内数字电路的工作频率。时钟频率越高,表示工作节奏越快,运算速度也就越快。时钟频率以兆赫(MHz)为单位,通常为几百到几千MHz

3)运算速度。

计算机系统的运算速度主要取决于指令的执行时间,不同的指令所需要的执行时间是不同的。所以有两种不同的表示方法:一种是表明计算机系统每秒所能够进行的基本运算的次数,目前通常在每秒几千万次到每秒几十亿次之间;另一种则给出每秒能够执行的指令(一般指加法指令)的百万条数(MIPS)。

4)主存的容量和速度。

主存容量指主存储器所能够存储的二进制信息的总量,它反映计算机处理时容纳数据量的能力。由于计算机进行处理时所有的程序和数据都必须进入主存储器,所以主存容量越大,计算机处理时与辅助存储器交换数据的次数越少,处理速度也就越快。主存容量以字节(Byte)为单位。主存储器的速度表示存储器读写数据所需要的时间。主存速度越快,表示计算机处理时读取或保存操作数据所需要的时间越少,运行速度越快。主存速度以平均读写时间来衡量,以纳秒(ns)为单位。

5)系统总线的传输速率。

计算机系统中的各种硬件设备都是通过系统总线互相连接起来的,系统工作时各个部件之间传递数据的速度受到系统总线的传输速率的限制。一般来说,总线传输速率越高,系统工作速度越快。总线传输速率用每秒兆字节(Mbps)为单位。

6)辅助存储器的性能。

在计算机系统中,只有正在运行的程序和数据才存储在主存储器中,其他安装在系统中的各种软件都保存在硬盘、光盘等辅助存储器中,在需要的时候才调入主存并执行。因此辅助存储器的容量、速度、读写可靠性等性能也对整个技术系统的性能产生较大的影响。辅助存储器的容量使用吉字节(1GB=230B)为单位,速度用平均存取时间(ms)来衡量。

7)输入/输出设备的性能。

计算机系统所配置的输入/输出设备的种类和数量是由用户的实际需求决定的,主机与输入/输出设备交换数据的速率同样也会影响到计算机系统的工作速度。由于各种设备的工作速度差异很大,在某些情况下可能会成为系统工作的“瓶颈”。常用计算机系统主机所能支持的数据输入/输出最大速率来表示输入/输出设备的性能。

8)系统的平均无故障工作时间。

平均无故障工作时间用来表示计算机系统工作的可靠程度。目前计算机系统的平均无故障工作时间都可达到几万至几十万小时。