计算机硬件系统概述.docx
《计算机硬件系统概述.docx》由会员分享,可在线阅读,更多相关《计算机硬件系统概述.docx(24页珍藏版)》请在冰豆网上搜索。
计算机硬件系统概述
第2章计算机硬件系统概述
随着科学的发展,计算机在我们的学习和工作中应用越来越广泛,那是因为计算机有着运算速度快、记忆能力强和有逻辑判断能力的优点。
要想知道为什么计算机能具有这些优点,就要求我们了解计算机的基本构成和工作原理——在硬件系统实现数学运算和逻辑运算的基础上,通过软件程序的控制,实现各种复杂的运算和控制功能,了解计算机进行数据处理的基本过程,掌握与计算机构成有关的各种概念及其中所含的意义。
本章就以基本概念、基本理论、典型例题和习题解答的形式来复习计算机的工作原理及其硬件和软件系统,并为后面章节的学习打下牢固的基础。
2.1基础知识
2.1.1计算机的发展
世界上第一台电子数字计算机是1946年2月问世的ENIAC(ElectronicNumericalIntegratorAndComputer)。
自1946年第一台电子数字计算机问世以来,根据计算机使用的电子元器件的更新阶段,电子数字计算机的发展已经历了4代。
(1)第一代计算机(1946〜1957年)——电子管时代。
主要特点:
以电子管作为开关元件:
使用机器语言;可以存储信息;运行速度慢。
(2)第二代计算机(1958〜1964年)——晶体管时代。
主要特点:
以晶体管代替电子管:
采用磁心存储器;用汇编语言取代机器语言。
(3)第三代计算机(1965〜1971年)——中小规模集成电路时代。
主要特点:
以集成电路取代晶体管;采用半导体存储器;使用了操作系统等。
(4)第四代计算机(1972年〜现在)——超大规模集成电路时代。
主要特点:
采用集成度很高的电路。
随着大规模集成电路技术的发展,微型计算机的发展又可划分为以下几代:
(1)采用Intel8088处理器的微型计算机IBMPC和IBMPC/XT为第一代微型计算机;
(2)采用Intel80286处理器的微型计算机IBMPC/AT为第二代微型计算机(简称286机);
(3)采用Intel80386处理器的微型计算机为第三代微型计算机(简称386机);
(4)釆用Intel80486处理器的微型计算机为第四代微型计算机(简称486机);
(5)采用Pentium处理器的微型计算机为第五代微型计算机。
2.1.2计算机的特点及应用
1.计算机的特点
计算机的特点如下:
(1)快速性
电子计算机采用了高速电子器件,这是快速处理信息的物质基础:
另外,存储程序技术也使电子器件的快速性得到充分发挥。
(2)通用性
计算机处理的信息不仅可以是数值数据,也可以是非数值教据。
另外,软件越丰富,计算的通用性越强。
(3)准确性
计算机运行的准确性也包括两方面含义:
◆计算精度高。
计算精度取决于运算中数的位数,位数越多越精确;
◆计算方法科学。
计算方法由程序体现,一个算法正确且优质的程序,再加上高位数的计算功
能,才能确保计算结果的准确性。
(4)逻辑性
逻辑判断与逻辑运算是计算机的基本功能之一。
通过执行能体现逻辑判断和逻辑运算的程序,使整个系统具有逻辑性。
2.计算机的应用
计算机的应用体现在科学技术计算、数据信息处理、计算机控制、计算机辅助技术和家庭电脑化上。
其中,计算机辅助技术包含计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助教学(CAI)等。
2.1.3计算机的类型及发展方向
电子计算机从总体上来说可以分为两大类:
电子模拟计算机和电子数字计算机。
计算机按用途可分为专用计算机和通用计算机。
通用计算机又可分为巨型机、大型机、中型机、小型机、图形工作站、微型机和单片机7类。
计算机的发展方向:
(1)巨型化;
(2)微型化;
(3)网络化;
(4)智能化;
(5)多媒体化;
2.1.4计算机系统的组成
一台完整的计算机系统包括硬件系统和软件系统。
计算机系统的组成结构如图2.1所示。
图2.1计算机系统的组成结构
2.1.5计算机系统的层次结构
现代计算机是一个十分复杂的硬、软件结合而成的整体。
它通常由5个以上不同的级组成,每一级都能进行程序设计,如图2.2所示。
第1级是微程序设计级。
这是一个实在的硬件级,它由机器硬件直接执行微指令。
第2级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统,这一级也是硬件级。
第3级是操作系统级,它由操作系统程序实现。
第4级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。
这一级由汇编程序支持和执行。
第5级是高级语言级,这级是面向用户的,为方便用户编写应用程序而设置。
在如图2.2所示的多级结构中,将除硬件系统(第1层和第2层)之外的上面3个层次称为虚拟计算机。
所谓虚拟计算机是指这个计算机只对该级的观察者存在。
对某一层次的观察者来说,他只能是通过该层次的语言来了解和使用计算机,至于下层是如何工作和实现的就不必关心了。
简而言之,虚拟计算机即是由软件实现的机器。
计算机系统各层次之间的关系紧密,上层是下层功能的扩展,下层是上层的基础。
另外,层次划分也不是绝对的。
2.1.6计算机的硬件系统
计算机的硬件是指计算机中的电子线路和物理装置。
(1)存储程序的概念
存储程序的概念简要地概括为以下几点:
●计算机(指硬件)由运算器、存储器、控制器、输入设备和输出设备5大基本部件组成;
●计算机内部采用二进制来表示指令和数据;
●将编好的程序和原始数据事先存入存储器中,然后再由计算机自动执行,使计算机在不需要人工干预的情況下,自动、告诉地从存储器中取出指令加以执行,这就是存储程序的基本含义。
(2)计算机的硬件组成
前面介绍的四代计算机都是建立在存储程序概念的基础上的,按照这个基本原理建立起来的计算机统称为冯·诺依曼结构型计算机。
它具有共同的棊本配置,即5大部件:
存储器、运算器、控制器、输入设备和输出设备。
在现代计算机中,将运算器、控制器及缓存(Cache)合在一起,称为中央处理器(CPU),而将CPU、存储器、输入输出接口和系统总线组装在一个机壳内,称为主机。
输入设备和输出设备统称输入输出设备,有时也称外部设备。
计算机硬件系统基本组成框图如图2.3所示。
1存储器
存储器的主要功能是存放程序和数据。
2运算器
运算器是对信息进行处理和运算的部件。
运算器一次运算二进制的位置,称为字长。
寄存器、累加器及存储单元的长度应与ALU(算术逻辑运算部件)的字长相等或者是它的整数倍。
3控制器
控制器是全机的指挥中心,它使计算机各部件自动协调地工作。
计算机中有两种信息在流动:
一种是控制信息,即操作指令,其发源地是控制器,它分散流向各个部件;一种是数据信息,它受控制信息的控制,从一个部件流向另一个部件,边流动边加工处理。
指令和数据统统放在内存中。
一般来讲,在取指周期从内存读出的信息流是指令流,它流向控制器,由控制器解释从而发出一系列微操作信号:
而在执行周期从内存读出成送入内存的信息流是数据流,它由内存流向运算器,或者由运算器流向内存。
④输入设备
输入设备是将人们熟悉的信息形式变换成计算机能接收并识别的信息形式的设备。
⑤输出设备
输出设备是将计算机运算结果的二进制信息转换成人类或其他设备能接收和识别的形式的设备。
外存储器也是计算机中重要的外部设备,它既可以作为输入设备,也可以作为输出设备。
2.1.7计算机的软件系统
—台计算机中全部程序的集合,称为这台计算机的软件系统。
1.软件系统的分类
软件按其功能分,有成用软件和系统软件两大类。
应用软件是用户为解决某种应用问题而編制的一些程序;系统软件用于实现计算机系统的管理、调度、监视和服务等功能,其目的是方便用户,提高计算机使用效率,扩充系统的功能。
通常将系统软件分为以下6类。
(1)操作系统
操作系统是控制和管理计算机各种资源、自动调度用户作业程序、处理各种中断的软件。
其作用是控制和管理系统资源,它是用户与计算机的接口。
(2)语言处理程序
程序设计语言一般可分为3类:
机器语言、汇编语言和高级语言。
用二进制代码表示的计算机语言称为机器语言,用机器语言编写的程序可以直接执行:
用助记符表示的语言称为汇编语言,用汇编语言编写的程序需要通过汇编程序翻译成目标程序后才可执行;用高级语言编写的程序称为源程序。
不同语言的源程序,对应有不同的语言处理程序。
语言处理方式有汇编程序、编译程序、解释程序3种。
汇编程序的功能是把用汇编语言编写的源程序翻译成二进制代码的目标程序,其翻译过程称为汇编。
高级语言的处理程序,按其翻译方法的不同,可分为解释程序与编译程序两大类。
解释程序对源程序的翻译采用边解释、边执行的方法,并不生成目标程序;而编译程序必须先将源程序翻译成目标程序后,才能开始执行。
(3)标准库程序
通常将一些常用的程序段按照标准的格式先编制好,组成一个标准程序库,存入计算机系统中,需要时由用户选择合适的程序段嵌入自己的程序中。
(4)服务性程序
服务性程序(也称工具软件)扩展了机器的功能,一般包括诊断程序、调试程序等功能。
(5)数据库管理系统
数据库和数据库管理软件一起,组成数据库管理系统。
(6)计算机网络软件
计算机网络软件是为计算机网络配置的系统软件。
它负责对网络资源进行组织和管理,实现相互之间的通信。
2.软件与硬件的关系
软件系统是在硬件系统的基础上,为有效地使用计算机而配置的。
没有系统软件,现代计算机系统就无法正常地、有效地运行;没有应用软件,计算机就不能发挥效能。
任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,同样也可以由软件来完成。
计算机系统的软件与硬件可以互相转化,它们之间互为补充。
将程序固定在ROM中组成的部件成为固件。
固件是一种具有软件特性的硬件,它既具有硬件的快速性特点,又有软件的灵活性特点。
这是软件和硬件互相转化的典型实例。
2.1.8冯•诺依曼结构及特点
在计算机的各个基本部件中,通常把运算器和控制器合在一起称为中央处理器(CPU),还把CPU、存储器和输入输出接口电路合在一起构成的处理系统称为主机。
外围设备一般包含一些难以与主机集成的机械部件,所以它们常常与主机分离。
这种计算机结构是著名计算机科学家冯•诺依曼等人在早期计算机设计中采用的结构,而且在后来的计算机中不断沿用,被称为冯•诺依曼结构。
通常情况下它有如下主要特点:
采用5个基本部件,采用二进制的数据表示方式,采用存储程序的工作方式,程序中的各条指令按顺序串行地执行。
存储程序方式是指计算机完成指定功能之前,先将实现该功能的程序(即软件)装入内存,然后根据程序的规定一步一步地完成操作。
计算机中存储的程序和数据都是二进制形式的代码。
2.1.9运算器的基本功能
运算器是完成运算功能的部件,主要包括算术逻辑单元和寄存器。
其功能如下:
(1)算术逻辑单元:
一个组合数字电路,一般有两个数据信号输入端和一个数据信号输出端,可同时输入两个参加运算的操作数。
算术逻辑单元能执行各种数据运算操作,包括算术运算和逻辑运算。
●算术运算:
对二进制表示的数据进行算术计算,如加减乘除四则运算。
●逻辑运算:
主要是一些布尔运算和移位运算,布尔运算按位对数据进行运算。
●按位运算:
同时对数据的各个二进制位进行相同的与、或、非运算,运算数据的每一个位是相互无关的,没有进位或者借位的操作。
●移位运算:
按一定的规律移动数据的位,改变数据的二进制位的位置。
(2)寄存器:
为了保存运算中所需要的数据,在运算器中一般都有一些临时存放数据的寄存器。
寄存器由若干个触发器构成,一个寄存器可存故一个宇的数据。
2.1.10存储器的类型和操作
存储器是存储程序和数据的部件,包括主存储器和辅助存储器。
(1)主存储器:
计算机主机内部的存储器,可以被CPU直接访问,用于存放运行的程序和数据。
(2)辅助存储器:
主机外部的存储器,CPU不能直接访问。
当CPU需要访问存放在外存中的数据或者程序时,需要通过输入输出部件先将程序和数据传输到内存中。
为了确定存储器中的某个存储位置,需要给每个存储单元指定一个地址。
一般用一个二进制编码表示每个存储单元的地扯。
地址可分为字地址和字节地址两种。
如果一个字等于4个字节,那么每个字单元包含4个字节的存储单元,将字地址乘以4就得到这个字的宇节地址。
存储器的操作有两种:
●写操作:
将数据放入某个存储单元中,称为写操作。
●读操作:
将存储单元中的数据取出,称为读操作。
读操作和写操作统称为对存储器的访问。
2.1.11计算机硬件系统研究的内容
计算机硬件系统研究的内容如下:
(1)计算机实现
研究计算机的物理设计,包括器件的设计与选择、各模块的机械参数设计、印刷电路板的设计与制作、机箱物理特性的设计和选择,以及组装技术的设计和选择,还有电源、冷却方式的设计和选择等。
⑵计算机组成
从逻辑角度研究计算机系统中各个组成部分的构成方法,包括数据通路的构成、存储系统的设计、运算功能部件的设计、控制器的控制方式以及输入输出接口的设计等。
(3)计算机系统结构
对程序员所能看到的计算机的基本属性进行研究,研究计算概念性结和功能特性。
这些特性构成计算机系统的外特性。
计算机外特性包括计算机的指令系统、数据表示、寻址方式、寄存器定义、中断机构,以及输入输出系统和保护机制等的定义。
此外,系统结构还研究计算机软硬件界面的设计,新型计算机系统的设计和计算机系统的性能、成本和可靠性的分析及评价。
2.1.12冯•诺依曼结构计算机主要的外特性
冯•诺依曼结构计算机的主要特性有以下几点:
(1)指令和数据都以字的方式存放在同一存储器中,然后才能运行,从数据和指令本身看不出相互间的区别,程序需要对指令和数据加以区别。
(2)指令按顺序串行地执行,并由控制器集中控制,采用一个PC计数器构成指令在存储器中的地址。
(3)存储器是一个一维的空间,二维或者多维的数据要映射到这个一维的存储空间。
(4)使用低级及其语言,指令和数据以二进制形式表示。
(5)单CPU结构,以运算器为中心,采用单指令流单数据流模式。
2.1.13影响计算机系统结构的因素
影响计算机系统结构的因素有程序设计语言、软件、应用需求、部件。
(1)程序设计语言
不同的程序书籍语言代表着不同的计算模型,不同的计算模型需要不同机构的计算机系统来支持。
(2)软件需求
不同的编译程序产生不同特征的程序结构和数据结构,不同的操作系统采用不同的策略记性系统管理,这些都需要系统结构提供相应的支持。
同时,系统结构的设计也需要系统软件提供相应的配合,如编译优化等。
(3)应用需求
不同的应用需求也对不同的系统结构产生影响,适合于应用需求的计算机系统必将得到广泛的应用。
(4)器件
器件的发展使得硬件的成本不断降低,从而影响硬件界面的划分,同时器件发展速度之间的不平衡性也导致了系统结构的变化。
如CPU何存储器速度之间的差异导致了高速缓存(Cache)的出现。
此外,器件的发展还影响到计算机系统的开发手段。
2.1.14计算机性能评价的方法
计算机性能评价的方法有分析、模拟和测试3种:
(1)分析的方法
采用数学模型,通常采用概率论、排队论和随机过程等数学方法进行分析。
分析结果的精度比较低。
(2)模拟的方法
用软件建立系统的逻辑模型,并对该模型的行为进行研究,模拟结果的精度可以较高,但建立和验证模拟模型一般需要较长的时间。
(3)测试的方法
用工作负载对计算机的性能进行实际衡量。
测试过程在实际计算机系统或者物理模型机中进行,可得到跟实际的运算性能,但它只能在计算机建成之后进行,而且测试结果与选择的工作负载无关。
2.1.15简单的计算机性能分析
程序在CPU上运行所需的时间TCPU为:
其中IN表示要执行程序中的指令总数,CPI表示执行每条指令所需的平均时钟周期数,而TC则表示时钟周期的时间长度。
CPI是各种指令CPI的加权平均,可由下式表示:
其中Ii表示第i类指令在程序中执行的次数,而CPIi表示执行一条第i类指令所需的平均时钟周期数,n为程序中所有的指令种类数,RC为TC的倒数。
(1)MIPS指标
上式假定TE=TCPU,即计算机的指令时间就是CPU的执行时间。
RC为TC的倒数,上式还反映了MIPS值与CPI的关系。
(2)MFLOPS指标
其中IFN指程序中浮点运算的数量。
由于程序中浮点运算所占的比例各不相同,MFLOPS值也会不同,所以MFLOPS指标与程序中浮点操作的数量有关。
由于各种浮点运算的复杂性不同,为了公正地评价浮点运算性能,通常对程序中每种实际浮点操作乘以一个正则化值,然后再求MFLOPS值。
2.1.16计算机性能评价
对于计算机性能的好坏,主要由以下几个方面来衡量:
(1)计算机系统性能的衡量尺度是响应时间和吞吐率
①响应时间
从用户向计算机系统发送一个请求后,到系统对该请求做出相应并获得它所需要的结果的等待时间成为响应时间。
其中包括访问磁盘和访问主存储器时间、CPU运算时间,输入输出动作时间以及操作系统工作的时间开销等。
②吞吐率
吞吐率是指系统响应用户请求的速率。
对于CPU,吞吐率可表示为每秒钟可执行的指令数,或每秒执行的浮点操作次数。
(2)计算机的性能评价有峰值性能和持续性能两个指标
①峰值性能
此指标反映出在理想情况下计算机可获得的最高性能。
实际上由于程序运行时的资源冲突等因素使得计算机不能充分发挥其最大的计算能力。
②持续性能
此指标是实际性能指标。
它是计算机运行程序时能测量到的性能。
(1)事务处理
它是指计算机在商业、金融、证券、贸易等应用场合的处理方式。
一般运行大型数据库,进行大量运算简单的事务处理。
计算机系统的事务处理性能指标是每秒处理的事务数(TPS)。
2.1.17计算机性能测试方法
用于测试计算机性能的方法如下:
(1)用于测试计算机性能的工作负载类型有指令混合、核心程序、合成程序和应用测试程序
指令混合
将各种指令按其使用频率混合而成。
核心程序
从实际应用程序中提取出的运行时间最长的核心部分,代表应用程序中的常用操作。
合成程序
人为合成的对计算机系统的各方面性能进行测试的程序,用参数反映实际应用程序特征,设置不同的参数可以构成具有不同特征的测试程序。
应用测试程序
从实际应用的程序中选取的典型程序。
(2)基准测试程序
标准化的性能测试程序,通常由一组核心程序、合成程序和应用测试程序构成,如SPEC制定的SPEC95。
其中每个程序代表不同的应用程序特征。
用基准测试程序中的这些程序进行运行测试可得到一组测试数据,对这些数据进行统计的方法有算术平均、几何平均和调和平均3种求平均值的方法。
●算术平均值Am
●几何平均值Gm
●调和平均值Hm
●加权的算术平均值Am
●加权的几何平均值Gm
●加权的调和平均值Hm
上述加权平均值表达式中
。
不同的基准测试程序采用不同的统计方法,如SPEC采用调和平均,iCOMP采用几何平均等。
2.1.18计算机主要性能指标
计算机的主要性能指标有以下几项:
基本字长
基本字长是指参与运算的数的基本位数,它是由加法器、寄存器、数据总线的位数决定的。
字长标志着精度,字长越长,计算的精度越高。
数据通路宽度
数据总线一次所能并行传送的位数,称为数据通路宽度。
主存容量
一个主存储器所能存储的全部信息称为主存容量。
运算速度
它是用每秒能执行的指令条数来表示,单位是条数/秒。
MIPS表示每秒百万条指令。
主频率
在每台计算机内部,均有一个不断地产生固定频率的时钟脉冲的装置,称为主时钟。
主时钟的频率通常就是机器的主频率,主频率是衡量一台计算机速度的重要参数。
2.2典型例题
例2.1表2-1列出了用两个基准测试程序对3台计算机进行测试所得到的运行速度值。
(1)以计算机X为参考机,用算术平均和几何平均比较这3台计算机的相对性能。
(2)以计算机Y为参考机,用算术平均和几何平均比较这3台计算机的相对性能。
表2-1用两个基准测试程序对3台计算机进行测试所获得的运行速度值
基准测试程序
计算机X
计算机Y
计算机Z
B1
20
10
40
B2
40
80
20
【解】
(1)由表2-1可见,对基准测试程序B1,Y机的速度为X机的一半,但对基准测试程序B2,Y机速度为X机的一倍。
类似的,对B1,Z机速度为X机的一倍,对B2,Z机的速度则为X机的一半。
如果将这些测试值以X机为基准进行折算,就得到如表2-2所示的相对性能值。
从表2-2课件,根据算术平均值Am,Y机和Z机速度均比X机要快25%;而根据几何平均值,3台计算机的性能一样。
表2-2以X机为基准进行折算得到的相对性能值
基准测试程序
计算机X
计算机Y
计算机Z
B1
1.00
0.50
2.00
B2
1.00
2.00
0.50
Am
1.00
1.25
1.25
Gm
1.00
1.00
1.00
(2)如果以Y机作为标准来计算相对性能值,将得到如表2-3所示的结果值。
由该结果
值可知,根据算术平均值Am,现在X机速度比Y机快25%,Z机似乎更快;而根据几何平均值,3台计算机的性能仍然一样。
显然,选用不同的参考计算机,将会得到不同的Am值。
表2-3以Y机为标准来计算相对性能值所得到的结果
基准测试程序
计算机X
计算机Y
计算机Z
B1
2.00
1.00
4.00
B2
0.50
1.00
0.25
Am
1.25
1.00
2.13
Gm
1.00
1.00
1.00
例2.2用一台40MHz的处理机执行标准测试程序,它所包含的混合指令数和相应所需的时钟周期如表2-4所示。
求有效CPI,MIPS速率和程序的执行时间。
表2-4包含的混合指令数和响应所需的时钟周期
指令类型
CPI
指令混合比
算术和逻辑
1
60%
高速缓存命中的访存
2
18%
转移
4
12%
高速缓存失效的访存
8
10%
【解】
CPI的计算采用加权平均的方法,权重就是每种指令出现的概率,即指令混合比。
有效CPI=1×60%+2×18%+4×12%+8×10%=2.24
MIPS速率=40/2.24=17.9
TCPU=IN×CPI×Tc=IN×CPI/Rc=IN×2.24/(40×106)=5.6×10-10×IN(秒)
例2.3用一台40MHz处理机执行标准测试程序,它所包含的混合指令数和相应所需的时钟周期数如表2-5所示。
求有效CPI,MIPS速率和程序的执行时间。
表2-5包含的混合指令数和响应所需的时钟周期
指令类型
指令数
时钟周期数
整数运算
45000
1
数据传送
32000
2
浮点运算
15000
2
控制传送
8000
2
【解】
上述指令总数为45000+32000+15000+8000=100000条,4种指令的使用比例分别为45%、32%、15%和8%。
有效CPI=1×45%+2×32%+2×15%+2×8%=1.55
MIPS速率=40/1.55=25.8
程序的执行时间=1000001×1.55/(40×106)=3.875×10-3(秒)
例2.4某工作站采用时钟频率为15MHz、处理速率为10MIPS的处理机来执行一个已知混合程序。
假定每次存储器存取周期为1的延迟,试问:
(1