计算机系统的组成
发布时间:2012.10.09  浏览次数:9286次   来源:尚邦公考
计算机系统的组成
1.2.1  计算机系统概述
现在,计算机已发展成为一个庞大的家族,其中的每个成员,尽管在规模、性能、结构和应用等方面存在着很大的差别,但是它们的基本结构是相同的。计算机系统包括硬件系统和软件系统两大部分。硬件系统由中央处理器、内存储器、外存储器和输入/输出设备组成。
软件系统分为两大类,即计算机系统软件和应用软件。
计算机通过执行程序而运行,计算机工作时,软、硬件协同工作,两者缺一不可。计算机系统的组成框架如图1-1所示。
1.硬件系统概述
硬件系统是构成计算机的物理装置,是指在计算机中看得见、摸得着的有形实体。在计算机的发展史上做出杰出贡献的著名应用数学家冯•诺依曼(Von Neumann)与其他专家于1945年为改进ENIAC,提出了一个全新的存储程序的通用电子计算机方案。这个方案规定了新机器由5个部分组成:运算器、逻辑控制装置、存储器、输入和输出。并描述了这5个部分的职能和相互关系。这个方案与ENIAC相比,有两个重大改进:一是采用二进制;二是提出了“存储程序”的设计思想,即用记忆数据的同一装置存储执行运算的命令,使程序的执行可自动地从一条指令进入到下一条指令。这个概念被誉为计算机史上的一个里程碑。计算机的存储程序和程序控制原理被称为冯•诺依曼原理,按照上述原理设计制造的计算机称为冯•诺依曼机。
 
 
图1-1  计算机的组成框架
概括起来,冯•诺依曼结构有3条重要的设计思想:
(1)计算机应由运算器、控制器、存储器、输入设备和输出设备5大部分组成,每个部分有一定的功能。
(2)以二进制的形式表示数据和指令。二进制是计算机的基本语言。
(3)程序预先存入存储器中,使计算机在工作中能自动地从存储器中取出程序指令并加以执行。
硬件是计算机运行的物质基础,计算机的性能如运算速度、存储容量、计算和可靠性等,很大程度上取决于硬件的配置。
仅有硬件而没有任何软件支持的计算机称为裸机。在裸机上只能运行机器语言程序,使用很不方便,效率也低。所以早期只有少数专业人员才能使用计算机。
2.计算机的基本工作原理
1)计算机的指令系统
指令是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一种操作。
一条指令通常由如下两个部分组成:
 
(1)操作码:它是指明该指令要完成的操作,如存数、取数等。操作码的位数决定了一个机器指令的条数。当使用定长度操作码格式时,若操作码位数为n,则指令条数可有2n条。
(2)操作数:它指操作对象的内容或者所在的单元格地址。操作数在大多数情况下是地址码,地址码有0~3位。从地址代码得到的仅是数据所在的地址,可以是源操作数的存放地址,也可以是操作结果的存放地址。
2)计算机的工作原理
计算机的工作过程实际上是快速地执行指令的过程。当计算机在工作时,有两种信息在流动,一种是数据流,另一种是控制流。
数据流是指原始数据、中间结果、结果数据、源程序等。控制流是由控制器对指令进行分析、解释后向各部件发出的控制命令,用于指挥各部件协调地工作。
下面,以指令的执行过程来认识计算机的基本工作原理。计算机的指令执行过程分为如下几个步骤:
(1)取指令。从内存储器中取出指令送到指令寄存器。
(2)分析指令。对指令寄存器中存放的指令进行分析,由译码器对操作码进行译码,将指令的操作码转换成相应的控制电信号,并由地址码确定操作数的地址。
(3)执行指令。它是由操作控制线路发出的完成该操作所需要的一系列控制信息,以完成该指令所需要的操作。
(4)为执行下一条指令作准备。形成下一条指令的地址,指令计数器指向存放下一条指令的地址,zui后控制单元将执行结果写入内存。
上述完成一条指令的执行过程叫做一个“机器周期”。指令的执行过程如图1-2       所示。
计算机在运行时,CPU从内存读取一条指令到CPU内执行,指令执行完,再从内存读取下一条指令到CPU执行。CPU不断地取指令,分析指令,执行指令,再取下一条指令,这就是程序的执行过程。
总之,计算机的工作就是执行程序,即自动连续地执行一系列指令,而程序开发人员的工作就是编制程序,使计算机不断地工作。
 
图1-2  指令的执行过程
3.软件系统概述
软件系统是指使用计算机所运行的全部程序的总称。软件是计算机的灵魂,是发挥计算机功能的关键。有了软件,人们可以不必过多地去了解机器本身的结构与原理,可以方便灵活地使用计算机,从而使计算机有效地为人类工作、服务。
随着计算机应用的不断发展,计算机软件在不断积累和完善的过程中,形成了极为宝贵的软件资源。它在用户和计算机之间架起了桥梁,给用户的操作带来极大的方便。
在计算机的应用过程中,软件开发是个艰苦的脑力劳动过程,软件生产的自动化水平还很低。所以,许多国家投入大量人力从事软件开发工作。正是有了内容丰富、种类繁多的软件,使用户面对的不仅是一部实实在在的计算机,而且还包含许多软件的抽象的逻辑计算机(称之为虚拟机),这样,人们可以采用更加灵活、方便、有效的手段使用计算机。从这个意义上说,软件是用户与计算机的接口。
在计算机系统中,硬件和软件之间并没有一条明确的分界线。一般来说,任何一个由软件完成的操作也可以直接由硬件来实现,而任何一个由硬件执行的指令也能够用软件来完成。硬件和软件有一定的等价性,例如,如图像的解压,以前低档微机是用硬件解压,现在高档微机则用软件来实现。
软件和硬件之间的界线是经常变化的。要从价格、速度、可靠性等多种因素综合考虑,来确定哪些功能用硬件实现合适,哪些功能由软件实现合适。
1.2.2  硬件系统的组成
计算机的硬件由主机和外设组成,主机由CPU、内存储器、主板(总线系统)构成,外部设备由输入设备(如键盘、鼠标等)、外存储器(如光盘、硬盘、U盘等)、输出设备(如显示器、打印机等)组成。计算机硬件结构如图1-3所示。
 
图1-3  计算机硬件的组成
微机与传统的计算机没有本质的区别,它也是由运算机、控制器、存储器、输入和输出设备等部件组成。不同之处是微机把运算器和控制器集成在一片芯片上,称之为CPU。下面以微机为例说明计算机各部分的作用。
1.CPU
CPU是计算机的核心部件,它完成计算机的运算和控制功能。运算器又称算术逻辑部件(Arithmetical Logic Unit,ALU),主要功能是完成对数据的算术运算、逻辑运算和逻辑判断等操作。控制器(Control Unit,CU)是整个计算机的指挥中心,根据事先给定的命令,发出各种控制信号,指挥计算机各部分工作。它的工作过程是负责从内存储器中取出指令并对指令进行分析与判断,并根据指令发出控制信号,使计算机的有关设备有条不紊地协调工作,在程序的作用下,保证计算机能自动、连续地工作。CPU外形如图1-4所示。
2.存储器
存储器(Memory)是计算机存储信息的“仓库”。所谓“信息”是指计算机系统所要处理的数据和程序。程序是一组指令的集合。存储器是有记忆能力的部件,用来存储程序和数据,存储器可分为两大类:内存储器和外存储器。内存储器简称内存,也叫随机存储器(RAM),这种存储器允许按任意指定地址的存储单元进行随机地读出或写入数据。由于数据是通过电信号写入存储器的,因此在计算机断电后,RAM中的信息就会随之丢失。内存条外形如图1-5所示,它的特点是存取速度快,可与CPU处理速度相匹配,但价格较贵,能存储的信息量较少。外存储器(简称外存)又称辅助存储器,主要用于保存暂时不用但又需长期保留的程序或数据。如软盘、硬盘、光盘等都叫外存储器。存放在外存中的程序必须调入内存才能运行,外存的存取速度相对来说较慢,但外存价格比较便宜,可保存的信息量大。常用的外存有磁盘、磁带、光盘等。
                    
图1-4  CPU外形图                               图1-5  内存条外形图
CPU和内存储器构成计算机主机。外存储器通过专门的输入/输出接口与主机相连。外存与其他的输入输出设备统称外部设备。如硬盘驱动器、软盘驱动器、打印机、键盘都属外部设备。
现代计算机中内存普遍采取半导体器件,按其工作方式不同,可分为动态随机存取器(DRAM)、静态随机存储器(SRAM)、只读存储器(ROM)。对存储器存入信息的操作称为写入(Write),从存储器取出信息的操作称为读出(Read)。执行读出操作后,原来存放的信息并不改变,只有执行了写入操作,写入的信息才会取代原先存入的内容。所以RAM中存放的信息可随机地读出或写入,通常用来存入用户输入的程序和数据等。计算机断电后,RAM中的内容随之丢失。DRAM和SRAM两者都叫随机存储器,断电后信息会丢失,不同的是,DRAM存储的信息要不断刷新,而SRAM存储的信息不需要刷新。ROM中的信息只可读出而不能写入,通常用来存放一些固定不变的程序。计算机断电后,ROM中的内容保持不变,当计算机重新接通电源后,ROM中的内容仍可被读出。
为了便于对存储器内存放的信息进行管理,整个内存被划分成许多存储单元,每个存储单元都有一个编号,此编号称为地址(Address)。通常计算机按字节编址。地址与存储单元为一对一的关系,是存储单元的惟一标志。存储单元的地址、存储单元和存储单元的内容是3个不同的概念。地址相当于旅馆的房间编号,存储单元相当于旅馆的房间,存储单元的内容相当于房间中的旅客。在存储器中,CPU对存储器的读写操作都是通过地址来进行的。
外存储器目前使用得zui多的是磁表面存储器和光存储器两大类。磁表面存储器是将磁性材料沉积在盘片基体上形成记录介质,并在磁头与记录介质的相对运动中存取信息。现代计算机系统中使用的磁表面仪器有磁盘和磁带两种。硬盘结构如图1-6所示。
用于计算机系统的光存储器主要是光盘(Optical Disk),现在通常称为CD(Compact Disk)。光盘用光学方式读写信息,存储的信息量比磁盘存储器存储的信息量大得多,因此受到广大用户的青睐。所有外存的存储介质(盘片或磁带)都必须通过机电装置才能存取信息,这些机电装置称之为“驱动器”,如常用的软盘驱动器、硬盘驱动器和光盘驱动器等。目前外存储器的容量不断增大,从MB级到GB级,还有海量存储器等。
 
图1-6  硬盘内部结构图
3.输入设备
输入设备是将外界的各种信息(如程序、数据、命令等)送入到计算机内部的设备。常用的输入设备有键盘、鼠标、扫描仪、条形码读入器等。
4.输出设备
输出设备是将计算机处理后的信息以人们能够识别的形式(如文字、图形、数值、声音等)进行显示和输出的设备。常用的输出设备有显示器、打印机、绘图仪等。
由于输入/输出设备大多是机电装置,有机械传动或物理移位等动作过程,相对而言,输入/输出设备是计算机系统中运转速度zui慢的部件。
1.2.3  软件系统的组成
计算机软件由程序和有关的文档组成。程序由一系列的指令按一定的结构组成。文档是软件开发过程中建立的技术资料。程序是软件的主体,一般保存在存储介质中,如软盘、硬盘或光盘中,以便在计算机上使用。现在人们使用的计算机都配备了各式各样的软件,软件的功能越强,使用起来越方便。软件可分为两大类:一类是系统软件,另一类是应用软件,软件系统组成如图1-7所示。
1.系统软件
系统软件是管理、监控和维护计算机资源的软件,是用来扩大计算机的功能,提高计算机的工作效率,方便用户使用计算机的软件。系统软件是计算机正常运转所不可缺少的,是硬件与软件的接口。一般情况下系统软件分为4类:操作系统、语言处理系统、数据库管理系统和服务程序。
 
图1-7  软件系统的组成
1)操作系统
系统软件的核心是操作系统。操作系统是由指挥与管理计算机系统运行的程序模板和数据结构组成的一种大型软件系统,其功能是管理计算机的硬件资源和软件资源,为用户提供高效、周到的服务。操作系统与硬件关系密切,是加在“裸机”上的第yi层软件,其他绝大多数软件都是在操作系统的控制下运行的,人们也是在操作系统的支持下使用计算机的。操作系统是硬件与软件的接口。
常用的操作系统有UNIX/Xenix、MS-DOS、Windows XP、Linux和OS/2。下面简单介绍这些操作系统的发展过程和功能特点。
(1)DOS操作系统
DOSzui初是为IBM PC开发的操作系统,因此它对硬件平台的要求很低。即使对于DOS 6.22这样的高版本,在640KB内存、60MB硬盘、80286微处理器的环境下,也能正常运行。DOS操作系统是单用户、单任务、字符界面和16位的操作系统。因此,它对于内存的管理仅局限于640KB的范围内。DOS有3种不同的品pai,它们是Microsoft公司的MS-DOS、IBM公司的PC-DOS和Novell公司的DR-DOS。这3种DOS都是兼容的,但也有一些区别。
(2)Windows操作系统
Windows是Microsoft公司在1985年11月发布的第yi代窗口式多任务系统,它使PC机开始进入了所谓的图形用户界面时代。在1995年,Microsoft公司推出了Windows 95操作系统;在1998年,Microsoft公司又推出了Windows 95的改进版Windows 98。Windows 98的一个zui大特点就是把Microsoft公司的Internet浏览器技术集成到了Windows 98里面,使得访问Internet资源就像访问本地硬盘一样方便,从而更好地满足了人们越来越多的访问Internet资源的需求。Windows 95、Windows 98操作系统是一种单用户、多任务、32位的操作系统。
在2000年到来之际,Microsoft公司又推出了Windows 2000版本。它不仅吸取了Windows 98和Windows NT的许多精华之处,而且是Windows 98和Windows NT的更新换代产品。此后,Windows将不会再有单用户和网络版之分,使用户能够在相同操作系统中,使用相同的、友好的操作系统界面处理不同的事务。Windows 2000是一个多用户、多任务操作系统。
现在,Microsoft公司又推出了Windows XP。Windows XP采用了Windows 2000的源代码作为基础,使其有可靠的稳定性, 继续保持其安全性、可靠性的优点。对于网络时代,Windows XP更受人欢迎。
(3)UNIX系统
UNIX系统是1969年问世的,zui初是在中小型计算机上运用。zui早移植到80286微机上的UNIX系统,称为Xenix。现在Xenix已发展成十分成熟的系统,zui新版本的Xenix是SCO UNIX和SCO CDT。UNIX系统的特点是短小精干、系统开销小、运行速度快。目前主要的版本是UNIX 3.2 V4.2以及ODT 3.0。UNIX系统是一个受人青睐的系统。
UNIX系统是一个多用户系统,一般要求配有8MB以上的内存和较大容量的硬盘,对于高档微机也适用。
(4)OS/2系统
OS/2系统正是PS/2系列机开发的一个新型多任务操作系统。OS/2克服了640KB主存的限制,具有多任务功能。1987年IBM公司在激烈的市场竞争中推出了PS/2(Personal System/2)个人计算机。PS/2系列计算机大幅度突破了现行PC机的体系,采用了与其他总线互不兼容的微通道总线MCA,并且IBM自行设计了该系统的大部分零部件,以防止其他公司的仿制。
OS/2的特点是采用图形界面,它本身是一个32位系统,不仅可以处理32位OS/2系统的应用软件,也可以运行16位DOS和 Windows软件。OS/2系统通常要求在4MB内存和100MB硬盘或更高的硬件环境下运行。如果硬件更高档,则系统运行就更加稳定。
2)语言处理系统
随着计算机技术的发展,计算机经历了由低级向高级发展的历程,不同风格的计算机语言不断出现,逐步形成了计算机语言体系。用计算机解决问题时,人们必须首先将解决该问题的方法和步骤按一定序列和规则用计算机语言描述出来,形成计算机程序,然后输入计算机,计算机就可按人们事先设定的步骤自动地执行。
语言处理系统包括机器语言、汇编语言和高级语言。这些语言处理程序除个别常驻在ROM中可独立运行外,都必须在操作系统支持下运行。
(1)机器语言
计算机中的数据都是用二进制表示的,机器指令也是用一串由“0”和“1”不同组合的二进制代码表示的。机器语言是直接用机器指令作为语句与计算机交换信息的语言。
不同的机器,指令的编码不同,含有的指令条数也不同。因此,机器指令是面向机器的。指令的格式和含义是设计者规定的,一旦规定好之后,硬件逻辑电路就严格根据这些规定设计和制造,所以制造出的机器也只能识别这种二进制信息。
用机器语言编写的程序,计算机能识别,可直接运行,但程序容易出错。
(2)汇编语言
汇编语言是由一组与机器语言指令一一对应的符号指令和简单语法组成的。汇编语言是一种符号语言,它将难以记忆和辨认的二进制指令码用有意义的英文单词(或缩写)作为辅助记符,使之比机器语言编程前进了一大步。例如“ADD A,B”表示将A与B相加后存入B中,它能与机器语言指令01001001直接对应。但汇编语言与机器语言的一一对应,仍需紧密依赖硬件,程序的可移植性差。
用汇编语言编写的程序称为汇编语言源程序。经汇编程序翻译后得到的机器语言程序称为目标程序。由于计算机只能识别二进制编码的机器语言,因此无法直接执行用汇编语言缩写的程序。汇编语言程序要由一种“翻译”程序来将它翻译为机器语言程序,这种翻译程序称为编译程序。汇编程序是系统软件的一部分。
(3)高级语言
高级语言比较接近日常用语,对机器依赖性低,是适用于各种机器的计算机语言。用机器语言或汇编语言编程,因与计算机硬件直接相关,编程困难且通用性差。因此人们需创造出与具体的计算机指令无关,其表达方式更接近于被描述的问题、更易被人们掌握和书写的语言,这就是高级语言。
用高级语言编写的程序称为高级语言源程序,经语言处理程序翻译后得到的机器语言程序称为目标程序。高级语言程序必须翻译成机器语言程序才能执行,计算机无法直接执行用高级语言编写的程序。高级语言程序的翻译方式有两种:一种是编译方式,另一种是解释方式。相应的语言处理系统分别称为编译程序和解释程序。
在解释方式下,不生成目标程序,而是对源程序按语句执行的动态顺序进行逐句分析,边翻译边执行,直至程序结束。在编译方式下,源程序的执行分成两个阶段:编译阶段和运行阶段。通常,经过编译后生成的目标代码尚不能直接在操作系统下运行,还需经过连接阶段为程序分配内存后才能生成真正可运行的执行程序。
高级语言不再面向机器而是面向解决问题的过程以及面向现实世界的对象。大多数高级语言采用编译方式处理,因为编译方式执行速度快,而且一旦编译完成后,目标程序可以脱离编译程序独立存在反复使用。面向过程的高级语言种类很多,比较流行的高级语言有Basic、Pascal和C语言等。某些适合于初学者的程序,如Basic语言及许多数据库语言则采用解释方式。
1980年左右开始提出的“面向对象(Object-Oriented)”概念是相对于“面向过程”的一次革命。专家们预测,面向对象的程序设计思想将成为今后程序设计语言发展的主流。如C++、Java、Visual Basic、Visual C等都是面向对象的程序设计语言。“面向对象”不仅作为一种语言,而且作为一种方法贯穿于软件设计的各个阶段。
3)数据库管理系统
数据库是将具有相互关联的数据以一定的组织方式存储起来,形成相关系列数据的集合。数据库管理系统就是在具体计算机上实现数据库技术的系统软件。随着计算机在信息管理领域中日益广泛深入的应用,产生和发展了数据库技术,随之出现了各种数据库管理系统(Data Base Management System,DBMS)。
DBMS是计算机实现数据库技术的系统软件,它是用户和数据库之间的接口,是帮助用户建立、管理、维护和使用数据库进行数据管理的一个软件系统。
目前已有不少商品化的数据库管理系统软件,例如DBase、Visual FoxPro等都是在不同的系统中获得广泛应用的数据库管理系统。
4)服务程序
现代计算机系统提供多种服务程序,它们是面向用户的软件,可供用户共享,方便用户使用计算机和管理人员维护管理计算机。
常用的服务程序有编辑程序、连接装配程序、测试程序、诊断程序、调试程序等。
(1)编辑程序(Editor):该程序能使用户通过简单的操作就可以建立、修改程序或其他文件,并提供方便的编辑环境。
(2)连接装配程序(Linker):用该程序可以把几个分别编译的目标程序连接成一个目标程序,并且要与系统提供的库程序相连接,才得到一个可执行程序。
(3)测试程序(Checking Program):该程序能检查出程序中的某些错误,方便用户对错误的排除。
(4)诊断程序(Diagnostic Program):该程序能方便用户对计算机维护,检测计算机硬件故障并对故障定位。
(5)调试程序(Debug):该程序能帮助用户在程序执行的状态下检查源程序的错误,并提供在程序中设置断点、单步跟踪等手段。
2.应用软件
应用软件是为了解决计算机各类问题而编写的程序。它分为应用软件包与用户程序。它是在硬件和系统软件的支持下,面向具体问题和具体用户的软件。随着计算机应用的日益广泛深入,各种应用软件的数量不断增加,质量日趋完善,使用更加方便灵活,通用性越来越强。有些软件已逐步标准化、模块化,形成了解决某类典型问题的较通用的软件,这些软件称为应用软件包(Package)。它们通常是由专业软件人员精心设计的,为广大用户提供方便、易学、易用的应用程序,帮助用户完成各种各样的工作。目前常用的软件包有字处理软件、表处理软件、会计电算化软件、绘图软件、运筹学软件包等。
(1)用户程序
用户程序是用户为了解决特定的具体问题而开发的软件。充分利用计算机系统的种种现成的软件,在系统软件和应用软件包的支持下可以更加方便、有效地研制用户专用程序。如各种票务管理系统、事管理系统和财务管理系统等。这都属于用户程序。
(2)应用软件包
应用软件包是为实现某种特殊功能,而精心设计、开发的结构严密的独立系统,是一套满足同类应用的许多用户所需要的软件。如Microsoft公司生产的Office 2003应用软件包,包含Word 2003(字处理)、Excel 2003(电子表格)、PowerPoint 2003(幻灯片)等,是实现办公自动化的很好的应用软件包。
系统软件和应用软件之间并不存在明显的界限。随着计算机技术的发展,各种各样的应用软件中有了许多共同的东西,把这些共同的部分抽取出来,形成一个通用软件,它就逐渐成为系统软件了。


声明:本网站部分内容来源于网络,由本站编辑整理发布,仅用于学习交流,如涉及侵权请联系本站管理员进行删除或修改。

尚邦公考

微信号:dxgwyedu

让学员带着“?”来,带着“!”踏上成“公”之路

立即关注
友情链接