第1章 计算机系统概论

2019-08-31 23:47

第1章 计算机系统概论

计算机系统是由硬件和软件两大部分组成的,其功能是完成数据的输入、传送、存储、处理和输出。本章介绍计算机系统的基本组成、层次结构和体系结构,认识计算机体系结构、组成和实现三者之间的关系。

1.1 计算机系统的基本组成

计算机系统的基本组成可以分为硬件和软件两部分。硬件是其物质基础,是软件的载体;软件则是计算机系统的灵魂。没有硬件,软件就不能运行;没有软件,硬件就发挥不了作用,从而失去存在的价值。因此二者紧密相关,缺一不可。

1.1.1 硬件组成

一般来说,计算机的硬件组成可以用图1-1来表示。对微型机来说,运算器和控制器集成在一块芯片上,称为中央处理部件(CPU)。CPU和内存储器统称为主机。输入设备和输出设备统称为外围设备。所谓输入与输出,是相对于主机系统而言的。磁盘系统既是输入设备,也是输出设备。当保存一个文档时,磁盘就是一个输出设备;当打开一个文档时,磁盘就作为输入设备使用。主机和外围设备组成了计算机的硬件系统。各部件之间使用三条总线连接,各部件之间就通过这三条总线实现信息传送。注意,所有外围设备都是通过接口线路和总线连接的。通常,CPU只与接口打交道(传递信息),而不与外围设备直接打交道。数据总线(DBUS)是双向总线,在不同时刻可以在不同方向上传递数据,但同一时刻只能在一个方向传递数据。地址总线(ABUS)用来选择发送数据或接收数据的地址。地址总线上的信息通常是由CPU提供的。当CPU将总线控制权转交给DMA控制器时,地址总线上的信息便由DMA控制器提供,这时CPU对外表现为高阻态。DMA控制器通常用于控制主机(内存)和高速外围设备(如磁盘)之间的数据传送。控制总线(CBUS)中的大部分信息由CPU提供,也有一些由内存或外围设备提供,但它不是双向总线;在大多数情况下,任何一条控制总线上的信息总是向着一个方向传递。

计算机的主要功能就是通过运行程序来完成数据处理。程序的运行是在主机中进行的。运行中的程序一定位于内存储器中。控制器依次从内存取出一条指令,由控制器解释执行(发送控制信号)。数据在CPU内部的传送一般要通过运算器,而加工数据则必须通过运算器。完成数据的传送、处理和存储所依靠的是控制器发出的控制信号。控制器发出的控制信号仅作用于CPU内部、内存和外围设备接口线路;外设本身有自己的控制系统;接口线路协调主机与外围设备之间的时序,从而实现二者可以进行并行异步操作。

图1-1 计算机硬件系统的组成

内存存取速度快,但容量是有限的,因为它取决于CPU上的地址线的条数。内存的价格也比较贵。内存由两部分构成:ROM和RAM。ROM是非挥发性存储部件;RAM是挥发性存储部件,当关闭主机电源后,其上的信息便丢失。计算机一旦开机就要运行程序,这部分程序是存放在ROM中的。通常所说的内存容量是指RAM的容量。在计算机系统中配备外存之所以必要,是因为外存容量大,不受CPU地址总线数的限制;外存上的信息可以长期保存,不会因关闭电源而挥发。外存是外围设备,必须通过接口与总线连接,所以外存上的程序不能直接运行。若要运行外存上的程序,必须先将其调入内存。

输入设备的基本功能是将人能识别的信息(文字、图形或声音)转变为计算机可以识别的二进制信息,从而对其进行加工和存储。输出设备的基本功能则是将计算机识别的二进制信息转变为人可以识别的信息(文字、图形或声音)。粗略地说,这种信息转换是在外围设备的接口中进行的。

1.1.2 软件组成

要让计算机完成数据的处理,必须事先在内存中放进程序和数据,然后计算机就按程序的要求来加工数据。程序和数据合称为软件。在计算机内部,程序和数据都是以二进制数据来表示的。为了表示一位二进制数,需要一个信息元素。这个信息元素有两个稳定的状态,用其中一个状态表示1,则另一个状态就表示0。可见,计算机系统中的信息是以硬件的物理状态存在的。我们常用的计算机,其内存的一个单元可以存放一个8位二进制数,这就需要8个信息元素;一个8位二进制数通常称为一个字节(Byte),可以表示256种状态。内存的容量可达512MB(或更大)。所谓二进制数就是,每位只能表示两个数字中的一个,要么是1,要么是0。当两个二进制数相加时,对应位按逢2进1处理。程序由若干指令构成,一条指令可以占有一个或多个字节。内存中的一个字节究竟表示一个数据(或数据的一部分),还是表示一条指令(或指令的一部分),这就只能由执行中的程序来识别了。当然,这是人们在存放程序和数据时就已经按照人的意志安排好了的。

一种型号的CPU具有确定数量的指令,这些指令的全体称为机器语言。计算机硬件能识别机器语言。人们如果要与计算机直接打交道就必须使用机器语言。但这是很不方便的。于是人们就用机器语言编写了一个非常复杂的程序,将其一小部分放在内存ROM中,而2

第1章 计算机系统概论 大部分则放在磁盘上。当打开机器电源的时候,先运行ROM中的程序(不挥发,关机后依然存在),然后再将磁盘上的一部分调入RAM,并运行RAM中的这部分程序,这就是我们看到的Windows系统。Windows系统提供了人和机器交互的界面。我们在计算机上的工作就变成了在Windows系统所提供的界面上进行。这个复杂的程序叫做操作系统,它具有资源管理和调度功能,使用户使用计算机更为简便。操作系统是系统软件中最重要的软件。用户为了解决某些专业问题而编写的软件称为应用程序,如文字处理软件、辅助设计软件、财务会计软件等。应用程序建立在系统软件之上。系统软件和应用程序构成了软件系统。

1.2 计算机系统的层次结构

下面从与用户直接打交道的操作系统界面开始,到人们并不与之直接打交道的计算机硬件,来分析一下计算机系统的层次结构,如图1-2所示。

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

第一个层次是数字逻辑层。通常所说的计算机一般是指电子数字计算机。组成电子数字计算机的主机部件(包括外设接口)主要是数字集成电路。数字集成电路包括门电路和记忆电路两大类。数字逻辑层解决的问题是,使用何种线路和如何存储信息,使用何种线路和如何传送信息,使用何种线路和如何加工信息。

第二个层次是微体系结构层。本层的任务是,为了执行指令,在计算机中设置哪些功能部件(如存储、运算、输入和输出、接口、总线和控制部件等)以及这些功能部件如何布局、连接,如何运行和协调工作。

第三个层次是指令系统层。本层的任务是,需要确定使用哪些指令、指令能够处理的数据类型和对其运算所用的算法,每一条指令的格式和完成的功能,包括如何表示要对其进行读操作或写操作的存储器的一个存储单元,如何表示要对其执行输入或输出操作的一

3

个外围设备。

第四个层次是操作系统层。它主要承担计算机系统中的资源管理与分配,把一些常用的功能以操作命令或系统调用的方式提供给使用者,并通过友好的界面为使用者和程序设计人员提供简单、方便和高效的服务。由此可以说,操作系统进一步扩展了原来的指令系统,提供了新的可用指令(命令),从而构成了一台比纯硬件系统功能更加强大的计算机系统。

第五个层次是汇编语言层。它建立在操作系统之上。汇编语言大体上是对计算机语言符号化处理的结果,再增加一些为方便程序设计而实现的扩展功能。与机器语言相比,汇编语言有两大优点:实现了用英文单词或其缩写形式替代二进制的指令代码,容易为人们记忆和理解;可以选用含义明确的英文单词来表示程序中用到的数据(常量和变量),避免程序设计人员为这些数据分配具体的存储单元。汇编语言依然是面向计算机硬件的。汇编语言程序必须经过一个叫做汇编程序的系统软件的翻译,将其转化为计算机机器语言后,才能在计算机的硬件系统上执行。

第六个层次是高级语言层。它建立在汇编语言层次之上。高级语言也称算法语言,和汇编语言不同,它不再过分地靠拢计算机硬件的指令系统,而是面向解决实际问题所用的算法,为程序设计人员编写程序提供方便。目前常用的高级语言有Basic、C、C++、Pascal、Java、Prolog等几百种。用这些语言设计出来的程序,通常需要经过一个叫做编译程序的软件编译成机器语言程序,或者首先编译成汇编源程序,再经过汇编程序的翻译,得到机器语言程序。机器语言程序直接在计算机上运行(当然可以运行多次)而不需要编译程序和汇编程序的存在。此外,还存在另一种高级语言。任何时候,只要执行这种高级语言程序,就必须要有相应的专门针对这种高级语言的解释程序同时存在。显然,执行这种解释性高级语言程序,效率要低得多。

第七个层次是应用层。它建立在高级语言层之上,由解决实际问题的处理程序组成。这部分内容不在本书讨论的范围之内。

在这7个层次中,第一层和第二层应该划分到计算机硬件范围内;指令系统则介于硬件与软件之间,是设计和实现计算机硬件系统最基本和最重要的依据,与计算机实现的复杂程度、设计程序的难易程度、程序占用硬件资源的多少、程序运行的效率等都直接相关。指令系统与计算机软件的关系当然也十分密切,因为计算机的全部软件最终都是由指令系统所提供的指令代码组成的。毫无疑问,软件系统是建立在硬件系统层次之上的,它的存在是以已有硬件系统为前提,且必须在已有硬件系统上运行。显然,第一至第三层属于实际机器层,而第四至第七层则属于虚拟机器层。

在图1-2给出的层次结构中,上面一层的实现是建立在下面一层基础上的。实现的功能越强大,就意味着越接近于人们解决实际问题的思维方式和处理问题的具体过程,对使用人员就越方便,在使用这一层的功能时,不必关心下面一层的实现细节。

下面一层是实现上面一层的基础,更接近计算机硬件实现的细节,尽管实现的功能相对简单,但人们使用这些功能却感到更困难。在实现这一层的功能时,可能尚无法了解其上一层的目标和将要解决的问题,也不必理解其更下一层实现中的有关细节问题,只要使用下一层所提供的功能来完成本层次的功能即可。

采用这种分层次的方法来分析和解决某些问题,有利于简化处理问题的难度。在某一4

第1章 计算机系统概论 段时间,处理某一层中的问题时,只需集中精力解决当前最需要关心的核心问题,而不必牵扯上下层中的其他问题。

图1-3采用同心圆方式突出了计算机的逐层功能扩展的层次结构。从图可见,外面的一层都是对其内层的一种功能扩展,内部的一层都是实现其外一层的基础。越靠近内层,其功能越简单,使用却更困难;越靠近外层,其功能越强大,使用却更方便。

汇编语言层 操作系统层 指令系统层 微体系结构层 数字逻辑层 高级语言层 应用层 图1-3 计算机的逐层功能扩展

1.3 软、硬件界面与逻辑上的等价

计算机系统以硬件为基础,通过软件扩充其功能,并以执行程序的方式体现其功能。一般来说,硬件只完成最基本的功能,而复杂的功能则通过软件实现。但是,硬件与软件之间的界面,如功能分配关系常随技术的发展而变化。有许多功能可以直接由硬件实现,也可以在硬件支持下靠软件实现,对用户来说在功能上是等价的,称为软、硬件在功能上的逻辑等价。例如乘法运算,可由硬件乘法器实现,也可在加法器与移位器支持下由乘法子程序实现。

从设计者角度看,指令系统是硬件与软件之间的界面。硬件的基本任务是识别与执行指令代码。因此,指令系统所规定的功能一般可由硬件实现。指令系统是编程的基础(直接或间接)。问题是如何设计指令系统,选择恰当的软、硬件功能分配,这取决于所选定的设计目标、系统的性能价格比等因素,并与当时的技术水平有关。

早期曾采用的一种技术策略是硬件软化。刚出现数字计算机时,人们依靠硬件实现各种基本功能,随后为了降低造价,就只让硬件实现较简单的指令系统,如加、减、移位与基本逻辑运算功能,依靠软件实现乘、除、浮点运算等更高级一些的功能。这导致了在当时条件下小型计算机的出现,它们结构简单而又具有较强的功能,推动了计算机的普及与应用。

随着集成电路技术的飞速发展,可以在一块芯片上集成相当强的功能模块,于是又出现了另一种技术策略:软件硬化。即将原来依靠软件才能实现的一些功能,改由大规模、超大规模集成电路直接实现,如浮点运算、存储管理等。这样系统将有更高的处理速度,在软件支持下具有更强的功能。

与此同时,人们又采取了另一种策略:固件化。即采用微程序控制技术使计算机结构

5


第1章 计算机系统概论.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版六年级语文上册第12课《用心灵去倾听》教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: