任务四 计算机系统组成
任务描述
通常所说的计算机实际上指的是计算机系统,一个完整的计算机系统由硬件系统和软件系统两大部分组成。本任务主要了解硬件系统和软件系统相关知识。
任务实施
1.计算机系统组成及层次结构
通常所说的计算机实际上指的是计算机系统,一个完整的计算机系统由硬件系统和软件系统两大部分组成。硬件是软件工作的基础,软件是硬件功能的扩充和完善,两者相辅相成,协同工作,缺一不可;只具有硬件系统,却没有安装任何软件的计算机称为裸机,裸机是不能正常工作的。计算机系统的硬件和软件是按一定的层次关系组织起来的,最内层是计算机的硬件(即裸机),硬件的外层是操作系统,而操作系统的外层是其他软件,最外层是用户程序,如图1-3所示。
图1-3 计算机系统的层次结构
操作系统是整个层次结构的核心,操作系统向下管理和控制硬件系统,向上支持应用软件的运行,并提供友好的操作平台,用户正是通过操作系统实现计算机使用的,这种层次关系为软件开发、扩充和使用提供了强有力的手段。
2.计算机的硬件系统
计算机硬件系统是构成计算机的所有实体部件的总称,是计算机系统中能看得见,摸得着的部分。计算机发展到今天,在性能指标、运算速度、工作方式、应用领域和价格等方面都有了长足的发展,但计算机的体系结构始终没有改变,依然采用冯·诺依曼结构,其硬件系统包括:运算器、控制器、存储器、输入设备和输出设备5个部分,各部分之间通过相应的信号线进行相互联系,在控制器指挥下,按“程序控制工作方式”自动高速执行程序的指令,完成指令指定的工作。它们的功能及相互关系如图1-4所示。
图1-4 计算机硬件系统基本结构
(1)运算器
运算器是计算机中负责数据运算的部件,其核心部件是加法器和寄存器,工作时从内存中读取数据,并在加法器中进行运算,运算后的结果送到寄存器存储,运算器对内存的读写操作是在控制器控制下进行的。
(2)控制器
控制器是计算机的指挥中心,负责从内存中读取指令、翻译指令代码、识别指令要求后将控制信号送达各部件,并控制各部件有条不紊地完成指令所指定的操作。
控制器和运算器都是计算机系统的核心部件,集成在同一块芯片上,称为中央处理器(Center Process Unit,CPU),又称微处理器。基于CPU是微型计算机的核心,人们习惯用CPU表示微型计算机的规格,如Core i7和AMD Phenom Ⅱ X4等。
(3)存储器
存储器是计算机中可以存储程序和数据的部件,从存储器中取出信息,称为“读”,把信息存入存储器,称为“写”。存储单位一般用B、KB、MB、GB来表示,其中一位二进制数0(或1),为一比特(byte),又称位,它是计算机最小的存储单位;8位为一个字节(B);1024B=1KB(千字节),1024KB=1MB(兆字节),1GB(吉字节)=1024MB。
存储器通常分为内存储器和外存储器,内存储器简称内存(又称主存),与运算器和控制器相连接,可与CPU直接交换信息,主要用来存放当前执行的程序及相关数据,内存由半导体存储器芯片组成,其特点是体积小、耗电低、存取速度快、可靠性好,但内存存储单元造价高,容量比外部存储器小。内部存储器与CPU一起称为计算机的主机。
内存又分为只读存储器(Read Only Memory,ROM)和随机存取存储器(Random Access Memory,RAM)。只读存储器(ROM)中的信息只能“读”不能“写”,主要用来存放一些专用固定的程序、数据和系统配置软件,如磁盘引导程序、自检程序、驱动程序等,由厂家在生产时用专门设备写入,用户无法修改,只能读出使用,计算机断电后,ROM中的信息不会丢失。随机存取存储器(RAM)既可读又可写,通常说的“内存”一般是指随机存储器,计算机断电后,RAM中的信息立即消失,所以操作过程中要注意信息的保存。由于CPU速度越来越快,而内存的速度提高较慢,以至于CPU在与内存交换数据时不得不等待,影响了整机性能的提高,因此,奔腾以后的微型计算机在RAM和CPU之间设置了一种速度较快、容量较小、造价较高的随机存储器,即高速缓冲存储器(Cache),预先将RAM中的数据存放到Cache中,CPU大部分对RAM的读写操作由对Cache的读、写操作代替,这样可以大大提高计算机的性能。Cache通常集成在CPU内部或主板上,容量可达12MB。
外存储器简称外存,又称辅助存储器,主要存放大量计算机暂时不执行的程序以及目前尚不需要处理的数据。外存储器不能与CPU直接交换信息,存放在外存储器中的程序及相关数据要先调入内存,才能被CPU使用,所以外存存取速度慢,但造价较低,容量远比内存大,计算机断电后,外存储器的程序和数据仍可保留,适合存储需要长期保存的数据和程序,常见的外存主要有磁盘、光盘、U盘等。
(4)输入/输出设备
输入/输出设备简称I/O设备,是负责计算机信息输入和输出的部分,通过输入设备可将程序、数据、操作命令等输入计算机,计算机通过输出设备可将处理的结果显示或打印出来。计算机最常用的输入设备有键盘、鼠标、扫描仪、数码照相机等,最常用的输出设备有显示器、打印机。而磁盘既是输入设备又是输出设备。以上所述的计算机硬件系统组成如图1-5所示。
图1-5 计算机硬件系统组成
3.计算机的软件系统
计算机软件系统是相对于硬件系统而言的,它是各种程序和文档的总和。为了更好地了解计算机的软件系统,先来了解几个与软件相关的基本概念。
(1)指令与指令系统
指令是指示计算机执行某种操作的命令,计算机能实现的操作是由计算机内存储的几十条到上百条基本指令决定的,基本指令的集合构成了计算机的指令系统。从程序设计的角度来说,基本指令和它们的使用规则(语法)构成了这台计算机的机器语言。在没有给指令指定具体的操作数之前,每一条指令相当于机器语言的一个句型。指定具体的操作数地址码之后,一条指令就是机器语言的一个语句。指令都是能被计算机识别并执行的二进制代码,不同类型的计算机其指令的编码规则是不同的,但一条指令通常由操作码进制和操作数地址码两部分组成,如图1-6所示。
图1-6 指令组成
操作码规定计算机进行何种操作(如取数、加、减、逻辑运算)等。操作数地址码指出参与操作的数据在存储器的哪个地址中,操作的结果存放到哪个地址。一般都有以下几种类型的指令:用于算术和逻辑运算的运算指令、用于取数和存储的传送指令、用于转移和停止执行的控制指令、用于输入和输出的输入/输出指令等。
(2)程序
对于机器语言而言,程序是指令的有序集合。也就是说,程序是由有序排列的指令组成的。这里所说的指令,是已经指定具体的操作数地址码的,相当于语句。对于汇编语言和高级语言而言,程序是语句的有序集合。用汇编语言或高级语言编写的程序称为源程序。源程序不能直接被机器执行。用机器语言编写的程序可以由计算机直接执行,称为目标程序。源程序必须经过翻译,转换为目标程序才能被机器执行。可以说,程序是机器语言的指令或汇编语言、高级语言的语句的有序集合。分析要求解的问题,得出解决问题的算法,并用计算机的指令或语句编写成可执行的程序,就称为程序设计。
(3)程序设计语言
程序设计语言是进行程序设计的工具,是编写程序、表达算法的一种约定。它是人与计算机进行对话(交换信息)的一种手段。程序设计语言是人工语言,相对于自然语言来说,程序设计语言比较简单,但是很严格,没有二义性。程序设计语言一般可分为三大类:机器语言、汇编语言及高级语言。
①机器语言。机器语言是以二进制形式的0、1代码串表示的机器指令以及其使用规则的集合。一种机器语言只适用于一类特定的计算机,不能通用。所以机器语言是面向机器的程序设计语言。用机器语言编制程序,计算机可直接执行,运行速度快、执行时间短,但直观性差,不便于阅读理解和记忆,编写程序难度大,容易出错。早期的计算机只能接受机器语言编写的程序。
②汇编语言。汇编语言是一种符号语言,它由基本字符集、指令助记符、标号以及一些规则构成。汇编语言的语句与机器语言的指令基本对应,转换规则比较简单。与机器语言相比,汇编语言编写的程序较好阅读和理解,容易记忆,编程速度大大提高,出错少。但汇编语言仍为面向机器的语言,不具有通用性。汇编语言编写的程序要由汇编程序“翻译”成机器语言程序才能被计算机执行。
③高级语言。高级语言是一种接近于人们自然语言的程序设计语言。程序中所用的运算符号与运算式都接近于数学采用的符号和算式。它不再局限于计算机的具体结构与指令系统,而是面向问题处理过程,是通用性很强的语言。高级语言比汇编语言更容易阅读和理解,语句的功能更强,编写程序的效率更高。但是执行的效率则不如机器语言。高级语言编写的程序也要由编译程序或解释程序“翻译”成机器语言程序才能被计算机执行。
高级语言主要有DOS平台常用的高级语言(BASIC、Fortran、Pascal、C、FoxBASE)等;Windows平台常用的高级语言(Visual Basic、Visual C、Visual FoxPro、Java)等。
4.计算机软件系统
计算机软件系统是为运行、维护、管理、应用计算机所编制的所有程序和支持文档的总和,它分为系统软件及应用软件两大类。应用软件必须在系统软件的支持下才能运行,没有系统软件,计算机无法运行;有系统软件而没有应用软件,计算机就无法解决实际问题。
(1)系统软件
系统软件是运行、管理、维护计算机必备的最基本的软件,一般由计算机生产厂商提供,它主要包括操作系统、语言处理程序、实用程序3种。
①操作系统。操作系统是控制与管理计算机硬件与软件资源,合理组织计算机工作流程以及提供人机界面供用户使用计算机的程序的集合。操作系统的主要功能是:处理器管理、存储管理、文件管理、设备管理。
②语言处理程序。计算机只能识别机器语言,而不能识别汇编语言与高级语言。因此,用汇编语言与高级语言编写的程序必须“翻译”为机器语言才能为计算机接受和处理,这个“翻译”工作是由语言处理程序来完成的。语言处理程序分为汇编程序、解释程序和编译程序3种,3种语言处理程序的处理过程如图1-7所示。
图1-7 语言处理程序的处理过程
汇编程序将汇编语言写的源程序翻译为目标程序的翻译程序。解释程序将高级语言书写的源程序按动态执行的顺序逐句翻译处理的程序。翻译一句,执行一句,直到程序执行完毕,这种语言处理方式称为“解释方式”,相当于口译。编译程序将高级语言书写的源程序整个翻译为目标程序的程序,这种语言处理方式称为“编译方式”,相当于笔译。
③实用程序。实用程序又称支撑软件,是机器维护、软件开发所必需的软件工具。它主要包括:编辑程序它是软件维护、开发的基本工具、连接装配程序、调试程序、诊断程序。
(2)应用软件
应用软件是为解决各类应用的专门问题而开发的,用户要解决的问题不同,需要使用的应用软件也不同。大体可分为:
①用户程序面向特定用户,为解决特定的具体问题而开发的软件。
②应用软件包是为了实现某种功能或专门计算而精心设计的结构严密的独立程序的集合。它们是为具有同类应用的许多用户提供的软件,软件包种类繁多,每个应用计算机的行业都有适合于本行业的软件包,如计算机辅助设计软件包、辅助教学软件包、财会管理软件包等。
③通用应用工具软件用于开发应用软件所共同使用的基本软件,其中特别重要的是数据库管理系统,此外还有文字处理、电子表格处理等软件。
5.计算机的主要性能指标
一台计算机的性能如何,一般可参考下面主要指标:
(1)主频(时钟频率)
主频即计算机CPU的时钟频率,是CPU在单位时间内的平均操作次数。在很大程度上,主频决定了计算机的运算速度。主频的单位是兆赫兹(MHz)。例如,一般来说Intel 80586的主频为75~100MHz,Pentium Ⅱ的主频为166~500MHz,Pentium III的主频为450~1000MHz,Pentium 4的主频可达3.4GHz等。
(2)基本字长
“字”是计算机一次存取、处理和传送的数据长度,是计算机处理信息的基本单位,一个字由若干个字节组成,通常情况下将组成字的位数称为字长,一般计算机的基本字长有16位、32位、64位等。
基本字长越长,操作数的位数越多,计算精度也就越高,但相应部件如CPU、主存储器、总线和寄存器等的位数也要增多,使硬件成本也随着增高。基本字长也反映了指令的信息位的长度和寻址空间的大小。16位字长的处理器其物理寻址空间是64KB,32位处理器的寻址空间是4GB。足够的信息位长度能保证指令的处理能力。
为了较好地协调计算精度与硬件成本的制约关系,大多数计算机允许采用变字长运算,即允许硬件实现以字节为单位的运算、基本字长(如16位)运算及双字长(如32位)运算,并通过软件实现多字长运算。