版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论1.1计算机的发展历史1.2计算机的基本组成1.3计算机的层次概念1.4计算机分类及性能描述
1.1计算机的发展历史
电子数字计算机无疑是人类社会科学技术发展史上最伟大的发明之一,它的出现深刻影响着人类精神文明和物质文明的发展。所谓电子数字计算机,是指能对离散逻辑符号表示的数据或信息进行自动处理的电子装置,简称计算机。
1.1.1发展历史
电子数字计算机的发展根据所使用的电子元器件划分为如下几个阶段。
1.第1代:电子管计算机(1946—1957年)
第一代计算机是由电磁继电器、电子管等器件构成的,直接使用机器语言编程。
2.第2代:晶体管计算机(1958—1964年)
第二代计算机由晶体管、磁芯存储器等构成。软件上采用监控程序对计算机进行管理,并且开始使用高级语言。
与电子管相比,晶体管体积更小,功耗更低,可靠性更高。晶体管计算机中的电子线路也随之更加小型化,具有更高的可靠性和更快的速度,成本也进一步降低。
3.第3代:中小规模集成电路计算机(1965—1971年)
第3代计算机由小规模及中规模集成电路芯片、多层印刷电路板及磁芯存储器等构成,具有更高的可靠性、更小的体积以及更低的成本。在软件上,高级语言迅速发展,出现了分时操作系统,具有分时共享和多道程序处理(即多个人同时使用一台计算机)的能力。在这个时期,计算机的应用领域不断扩展,开始向国民经济各部门及军事领域渗透。
4.第4代:大规模和超大规模集成电路计算机(1972—2010年)
第4代计算机由大规模、超大规模集成电路构成,在结构上有了很大的变化,得益于芯片集成度的提高,在性能上有了很大的提升。
这一代计算机所使用的电子元器件具有以下两方面的特点:
(1)计算机中的存储器由半导体存储器实现。
(2)微处理器的广泛使用。
5.第5代:巨大规模集成电路计算机(2010年至今)
如何定义第5代计算机,目前说法不一。由于计算机性能的持续提升,软件和通信变得与硬件同等重要。
第5代计算机具有如下特点:
(1)体积小,功耗低,性能高,无处不在。
(2)通过并行处理技术实现高性能。
(3)目前计算机的性能已经足够强,人工智能、机器学习技术快速发展,使得计算机更加人性化、智能化,能听,会看,会说,有感情。
(4)虚拟化技术广泛应用,使得各种开发工具软件也更加自动化、智能化。
1.1.2摩尔定律
1965年4月,《电子学》杂志刊登了戈登•摩尔(GordonMoore)撰写的一篇文章。摩尔当时是仙童半导体公司研发部门的主管。摩尔在该文中讲述了他如何将50个晶体管集成在一块芯片中,并且预言,到1975年,就可能将6.5万只这样的元件密植在一块芯片上,制成高度复杂的集成电路。
摩尔的预言不仅对他本人,而且对整个社会都是意义深远的。后来摩尔与其他人共同成立了英特尔(Intel)公司,并通过他所开创的技术创造了无数的财富。
摩尔定律并不是一个物理定律(物理定律是放之四海皆准的),而是一种预言,它鞭策着工业界不断地改进,并努力去实现它。从人们认识摩尔定律开始,无论是Intel公司、AMD公司,还是其他半导体器件公司,无一不是在不断地努力去实现摩尔定律,不断地推出集成度更高的产品。
图1.1为典型微处理器集成度随时间(年)的增长情况。由图1.1可见,到目前为止,微处理器芯片的集成度仍然随时间呈指数级增长。图1.1微处理器集成度的增长情况(1971—2018年)
随着芯片集成度的提高,计算机的性能及可靠性大大提高,价格大大降低。正是摩尔定律使得计算机日新月异地发展,其影响体现在如下几个方面:
(1)虽然芯片的集成度快速提高,但单个芯片的成本变化不大,这意味着可以用更少的芯片来实现计算机逻辑电路和存储电路,在相同性能的情况下,价格显著下降;在相同价格的情况下,新一代的计算机功能更强,性能更好。
(2)随着芯片集成度的提高,芯片中电路各部分之间的信号传输路径显著缩短,信号传输延时小,微处理器的主频得以提高,计算机的速度更快。
(4)通过提高芯片的集成度,降低工作电压,可显著降低芯片的功耗,使得便携式、嵌入式计算机用电池供电成为可能,也降低了高性能计算机对散热的要求。
(5)芯片内部电路各部分之间的连接比外部连接更加可靠。随着芯片集成度的增加,构成计算机所需的芯片数量越来越少,芯片之间所需的连线(焊点)也越来越少,计算机的可靠性越来越高。
1.2计算机的基本组成
1.2.1硬件系统硬件系统是指计算机中那些看得见、摸得着的物理实体。
1.硬件组成图1.2所示的计算机结构是冯·诺依曼在1946年提出的。他基于此硬件结构提出计算机是依据存储程序、程序控制的方式工作的。这就是冯·诺依曼计算机的设计思想。图1.2早期计算机(硬件)的组成
2.冯·诺依曼计算机的特点
冯·诺依曼计算机工作的基本思想就是:将计算机要处理的问题用指令编成程序,并将程序存放在存储器中,在控制器的控制下,从存储器中逐条取出指令并执行,通过执行程序最终解决计算机所要处理的问题。尽管经历了几十年的发展,也出现了新的设计思想,但冯·诺依曼的这种存储程序控制原理直到今天仍然在广泛地应用。
冯·诺依曼计算机的特点可归纳如下:
(1)计算机由运算器(算术逻辑部件ALU)、存储器、控制器、输入设备和输出设备五大部件组成。
(2)指令和数据以二进制形式表示,以同等地位存放在存储器中,并可按地址访问。用二进制不仅电路简单,使用方便,而且抗干扰能力强。
(3)指令由操作码和地址码组成。操作码指明指令的功能,地址码指明操作数与运算结果的存放位置(地址)。
(4)将计算机要处理的问题用指令编成程序。
(5)在控制器的控制下,指令被逐条(顺序)从存储器中取出来执行,产生控制流,在控制流的驱动下完成指令的功能。在此过程中,数据(流)则是被动地调用。
(6)在特定条件下,可由跳转类指令根据运算结果或设定的条件改变程序中指令的执行顺序。
(7)早期的冯·诺依曼计算机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。
3.计算机硬件结构的发展
目前,在冯·诺依曼体系结构思想的基础上,计算机硬件体系结构已经得到了很大的发展,主要有以下几个方面:
(1)不断扩充硬件及功能:增加了更多通用寄存器、多种寻址方式,支持浮点数据类型、中断和异步I/O结构。
(2)存储器分层:引入高速缓存(Cache)、虚拟存储器等,在程序执行之前,将程序与数据存放在速度慢、容量大、成本低的存储介质(比如磁盘)中;在程序执行时,将即将(或正在)执行的程序和所需的数据复制到速度快、容量小、成本高的存储介质(比如主存、高速缓存)中。
(3)总线结构:通过总线连接计算机系统中的各个模块。总线信号根据传输的信息类型,分为地址线、控制线、数据线。地址线用来选择要访问的存储单元或I/O接口,控制线传输相应的读写控制信号,数据线用来传输数据。总线大大简化了计算机系统各模块之间的连接,增强了计算机系统硬件的扩展能力。
图1.3为微型计算机(PC)的硬件结构框图。微处理器、主存、各种外部设备的接口通过系统总线连接在一起,构成了计算机系统的硬件。随着芯片集成度的进一步提高,图1.3中用虚线标出的A、B部分可以分别集成在两块芯片中,分别称为芯片组的北桥芯片(MemoryControllerHub,MCH)和南桥芯片(I/OControllerHub,ICH)。目前,北桥芯片的大部分电路和图形处理单元可以集成在微处理器中,北桥芯片余下的电路与原来的南桥芯片合为一块芯片,称为平台控制中枢(PlatformControllerHub,PCH)。图1.3的C部分称为主机;主机以外的称为输入/输出设备(I/O设备),也称为外部设备,简称外设。图1.3微型计算机(PC)结构框图
1.2.2软件系统
1.系统软件
系统软件是一系列保障计算机能很好地运行的程序集合。它们的功能是对系统的各种资源(硬件和软件)进行管理和调度,使计算机能有条不紊地工作,为用户提供有效的服务,充分发挥其效能。系统软件包括:
1)操作系统
操作系统是最重要的系统软件,它是管理计算机硬、软件资源,控制程序运行,改善人机交互并为应用软件提供支持的一种软件。通常,操作系统包括五大功能:处理器管理、存储管理、文件管理、设备管理及作业管理。
2)语言处理程序
每一台计算机都会配置多种语言以利于用户编程,从各种高级语言到汇编语言均会涉及。当用户使用某种语言编写程序后,在该语言编译程序的支持下,可将用户的源程序转换为计算机可执行的目的程序。
3)各种服务支持软件
各种服务支持软件是指一些帮助用户使用和维护计算机的软件,如各种调试程序、诊断程序、提示警告程序等。
2.应用软件
应用软件是指用户在各自的应用中,为解决自己的任务而编写的程序。这是一类直接以用户的需求为目标的程序。用户的多样性(各行各业、各种部门)和用户需求的多样性,使得这类软件也具有多样性。例如,应用软件包括用于办公自动化、视频编辑、图形图像处理、科学计算、信息管理、过程控制、武器装备等方面的软件。
1.2.3指令集体系结构
计算机系统底层硬件只能识别机器语言,也就是存储在主存中的指令。CPU从主存中取指令,执行指令,每条指令可实现计算机系统内最基本的操作,比如基本的算术运算(加、减)、逻辑运算(与、或、异或、移位)、数据传送(装载、存储)、跳转(条件转移、无条件转移),这些指令被编码为一个字或多个字节组成的二进制格式。
1.指令集体系结构(ISA)概述
处理器支持的指令和指令的字节级编码称为指令集体系结构(Instruction-SetArchitec-ture,ISA)。ISA是软件和硬件的分界面,软件(程序)是由ISA规定的“指令”组成的,指令通过二进制编码规定其功能、源操作数和目的操作数的位置等信息。计算机中的控制器在执行指令时,根据上述信息产生相应的控制信号,控制计算机系统各硬件模块完成指令要求的功能。
为了让程序员可以编写底层软件,ISA不仅要规定指令集,还要定义任何系统程序员需要了解的硬件信息。因此,ISA需要规定计算机中程序员可见的所有组件及操作,包括以下几方面的内容:
(1)指令集:处理器可执行的指令的集合。
①指令格式、操作种类以及每种操作对应的操作数的相应规定。
②数据类型,即指令可以接受的操作数的类型。
③寻址方式,即指令获取操作数的方式。
(2)软件可见的处理器状态:
①寄存器的个数、名称(编号)、长度和用途,包括通用寄存器和特殊用途寄存器。
②指令执行过程的控制方式,包括程序计数器、条件码定义以及每条指令对状态的影响。
(3)存储模型:
①主存组织,即主存最大寻址空间和编址方式。
②字节次序,即操作数在存储空间存放时按照大端还是小端方式存放。
③存储保护。
④虚拟存储器的管理方式。
⑤输入/输出接口的访问与管理方式
(4)系统模型:
①处理器状态。
②特权级别。
③中断和异常的处理方式。
2.典型的ISA
1)x86
x86由Intel公司推出,于1978年首次用于8086处理器。随着个人计算机的兴起和飞速发展,x86从最初的16位架构发展到32位、64位架构,越来越多的指令和功能被添加进来,使得x86越来越臃肿。但是,保持软件的向后兼容远比技术更重要,这使得x86拥有了广泛的软件资源和越来越多开发基于x86的软件的程序员。如今,x86已成为个人计算机的标准处理器架构,成为桌面计算机和高性能计算领域最成功的ISA。
2)ARM
ARM(AdvancedRISCMachines)公司诞生于英国,总部位于英国剑桥,主要业务是设计ARM架构的处理器,同时提供与ARM处理器相关的配套软件,以及各种SOC系统IP、GPU、物联网平台等。
3)POWER
POWER(PerformanceOptimizationWithEnhancedRISC,增强RISC性能优化)是IBM公司设计开发的指令集体系结构,最早于1990年推出,性能卓越。
4)MIPS
MIPS(MicroprocessorwithoutInterlockedPipedStages,无内部互锁流水线微处理器)是一款经典的精简指令集架构,由美国斯坦福大学的JohnL.Hennessy教授领导的研究小组于1981年开始设计。他们在1984年创立了MIPSComputerSystem公司,推出了商用的MIPS处理器。此后,MIPS指令集体系结构不断扩充与改进,从MIPSⅠ、MIPSⅡ、MIPSⅢ、MIPSⅣ、MIPSⅤ发展到了MIPS32、MIPS64。
5)SPARC
从1980年开始,美国加州大学伯克利分校的DavidA.Patterson教授领导了RISC-I的设计与实现工作,这是一台超大规模集成电路精简指令集计算机,为商业SPARC体系结构奠定了基础。
6)RISC-V
RISC-V架构是一款袖珍的、开源的ISA,于2011年推出,由美国加州大学伯克利分校的KrsteAsanovi'c教授、AndrewWaterman和YunsupLee等开发人员发明,并得到了DavidA.Patterson教授的大力支持。“RISC”表示精简指令集,“V”表示伯克利分校从RISC-I开始设计的第五代指令集。
基于上述原因,加州大学伯克利分校的研发人员决定发明一种全新、简单且开放免费的指令集架构,即RISC-V架构。计算机体系结构经过多年的发展,其技术日趋成熟,在发展过程中暴露的问题都已经被研究透彻并得以解决。所以,新的RISC-V架构能够规避曾经出现过的各种问题,并且没有背负向后兼容的历史包袱,做到简洁,低成本,高性能(或低功耗),架构和具体实现分离,并预留一定的扩展空间。
当前可用的RISC-V软件工具包括GNU编译器集合(GCC工具链和GDB调试器)、LLVM工具链、OVPsim仿真器(以及RISC-V快速处理器模型库)、Spike仿真器和QEMU模拟器。当前支持该指令集架构的操作系统包括Linux、FreeRTOS、SylixOS、RT-Thread等。
1.2.4高级语言程序的执行过程
程序员通常用某种高级语言(比如C语言)设计软件,而计算机硬件只能识别并执行其指令集体系结构(ISA)所规定的指令(也称作机器指令、机器码)。
图1.4为用C语言实现的插入排序函数源代码。该C语言程序可运行在基于x86处理器的Windows操作系统下,使用MicrosoftVisualC++2017编译,目标平台设置为Intelx86的32位指令集(IA-32),通过设置优化参数以减小输出代码,提高运行速度,同时使生成的代码更简洁,更容易理解。生成的机器语言代码如表1.1所示。图1.4插入排序的C语言源代码
指令“subeax,4”(表1.1第21行)的功能为:寄存器eax的内容与立即数4(符号位扩展至32位)相减,结果存入寄存器eax。该指令的机器语言代码为三个字节,内容为十六进制数83E804,其二进制编码各部分含义如图1.5所示。图1.5“subeax,4”的二进制编码含义
使用gcc编译器,将目标平台设置为RISC-VRV32I指令集,通过设置优化参数以减少输出代码的大小,使得生成的代码更简洁,更容易理解。插入排序的C语言源代码经过gcc编译后,生成的汇编语言及机器语言代码如表1.2所示。
指令“addia2,a2,-4”的功能为:源1(a2寄存器的内容)与源2(立即数“-4”,符号位扩展至32位)相加,结果存入目的寄存器a2。该指令的机器语言代码为十六进制数ffc60613,其二进制编码各部分含义如图1.6所示。图1.6“addia2,a2,-4”的二进制编码含义
图1.6中,操作码规定指令的基本功能与格式;功能码规定指令具体的操作类型;源1与目的寄存器编码为“01100”,即寄存器x12,其别名为a2(RISC-V基础指令集(RV32I)规定了32个寄存器(x0~x31),因此寄存器编号用5位二进制数进行编码。RISC-V汇编语言根据各寄存器的功能和使用方式的不同,规定了相应的别名);源2为立即数“-4”,直接存储在指令中,用补码表示。
1.3计算机的层次概念
1.3.1计算机系统的层次结构计算机系统的层次结构如图1.7所示。图1.7计算机系统的层次结构
1.3.2计算机体系结构、组成与实现
1.计算机体系结构
计算机体系结构的概念是在20世纪60年代提出的。计算机体系结构是程序员所看到的计算机系统的属性,即概念性结构及功能特性。不同层次上的程序员所看到的计算机系统的属性是不尽相同的,低的机器语言级上的概念性结构及功能特性,高级语言以上级别的程序员可能是看不见的。在定义计算机体系结构的年代里,计算机的属性、概念性结构及功能特性主要是指低层的硬件。今天的计算机体系结构所指的计算机的属性主要包括:
•数据的表示形式;
•寻址方式;
•内部寄存器组;
•指令集;
•中断系统;
•处理器工作状态及其切换;
•存储系统结构;
•输入/输出结构;
•信息保护及特权;
•高性能设计等。
2.计算机组成
计算机组成也被称为计算机组织,是计算机系统的逻辑实现,包括最底层内部算法、数据流、控制流的逻辑实现。利用这一概念可以对计算机进行逻辑设计。计算机组成的设计主要包括:
•数据通路的宽度;
•专用部件(如乘除法专用部件、浮点运算专用部件等)的设置;
•各功能部件的并行程度;
•各种操作的相容性与互斥性;
•控制器的组成方式;
•存储器使用的技术;
•缓冲与排队技术的应用;
•预估、预判方法;
•高可靠性技术等。
3.计算机实现
计算机实现就是指计算机组成的物理实现。在上述计算机体系结构及计算机组成的基础上,利用具体的集成电路芯片、电子元器件、部件、插头、插座等,根据计算机组成的逻辑设计,即可实现物理计算机。
综上可以看到,计算机体系结构、计算机组成与计算机实现三者在概念上是不同层次的,但是它们的联系是十分紧密的。体系结构决定了计算机的总体属性,组成是体现这些属性的逻辑设计,而实现则是用物理器件来实现逻辑设计。相同的体系结构可以有不同的组成,相同的组成可以有不同的实现。
1.4计算机分类及性能描述
1.4.1计算机分类1.按用途分类按照用途可将计算机分为通用计算机和嵌入式计算机(专用计算机)。
1)通用计算机
通用计算机的硬件系统及系统软件均由有关的计算机公司设计制造,其用途不是针对某一个或某一类用户的,而是可以满足许多用户的。例如,目前国内外广泛使用的台式PC或笔记本电脑,用户可直接在市场上购买,在厂家提供的软件支持下工作。也许用户只需配上少量的软件或硬件,即可满足用户的需求。
除了个人计算机(PC)外,具有更高性能的各种服务器或高性能计算机因可以适用于许多领域或部门,故也可以看作通用计算机。
(1)个人计算机。个人计算机也称为电脑,是一种面向个人使用的计算机,可以完成办公、上网、编程、看电影、玩游戏等。
(2)服务器。服务器是用于高性能实现某种服务的计算机,如Web服务器、FTP服务器、Mail服务器、文件共享服务器、数据库应用服务器、域名服务器、网关服务器、DNS服务器、流媒体服务器等。
(3)超级计算机。超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机,多用于国家高科技领域和尖端技术研究,对国家安全、经济和社会发展具有举足轻重的意义,是国家科技发展水平和综合国力的重要体现。目前的超级计算机是由几十万至上千万个处理器核组成的超大规模多处理器系统,其优势是具有超强的计算能力,运算速度已达到每秒1018次浮点运算的量级。
2)嵌入式计算机
嵌入式计算机可定义为:以应用为目标,以计算机技术为基础,软硬件可裁减,对功能、实时性、可靠性、安全、体积、重量、成本、功耗、环境、安装方式等方面有严格要求的专用计算机系统。
2.Flynn分类法
Flynn分种类信法息是流按:照计算机在执行程序的过程中信息流的特征进行分类的。在程序执行中存在三种信息流:
(1)指令流(IS):机器执行的指令序列,它由存储器流入控制单元(CU)。
(2)数据流(DS):指令流所使用的数据,包括输入数据、中间数据和结果。数据在处理单元(PU)中进行处理。
(3)控制流(CS):指令流进入CU,由CU产生一系列控制流(信号),在控制流的控制下完成指令的功能。
按照Flynn分类法,可将计算机分为四类,如图1.8所示。图1.8按照Flynn分类法的计算机分类
(1)单指令流单数据流(SingleInstructionSingleData,SISD):计算机结构如图1.8(a)所示。该计算机由单一控制单元、单一处理单元和单一主存储器组成。控制器控制从存储器逐条获取指令,对指令译码,产生控制信号,并控制处理单元完成指令规定的功能。这是最简单的一类计算机,但已充分展示了计算机的基本组成与工作原理,是本书后续章节的重点内容。
(2)单指令流多数据流(SingleInstructionMultipleData,SIMD):计算机结构如图1.8(b)所示。它由一个控制单元、多个处理单元和多个主存储器组成。控制器控制从存储器获取一条指令,对指令译码,产生控制信号,并用相同的控制信号控制多个处理单元,执行相同的操作,完成这条指令对多个数据的相同处理,最终实现一条指令所规定的功能。这类计算机将在本书第9章予以描述。
(3)多指令流单数据流(MultipleInstructionSingleData,MISD):实现的是多个控制单元同时执行多条指令对同一数据进行处理,其结构如图1.8(c)所示。这种计算机尚无实例。
(4)多指令流多数据流(MultipleInstructionMultipleData,MIMD):计算机结构如图1.8(d)所示。它由多个控制单元、多个处理单元和多个主存储器构成,实际上是由多处理机用各种方式连在一起构成的计算机系统,通常称为多处理机系统。这类计算机中各个处理机分别执行不同的指令,处理不同的数据,并行工作而实现某种功能。
1.4.2计算机系统性能描述
1.计算机系统配置
根据计算机系统的配置,可以了解计算机系统的基本性能。下面以高性能计算机为例做简单说明。不同时期,对高性能计算机有不同的解释。目前,高性能计算机是指能够在可接受的时间内处理一般个人计算机无法处理的大量数据,执行一般个人计算机无法完成的密集型运算的计算机,也称为超级计算机。高性能计算机的性能一般用其浮点数运算能力衡量,通常可达到或超过几百TFlops(1TFlops即每秒钟可进行1×1012次浮点运算)。
例如,超级计算机神威·太湖之光的配置如下:
•系统峰值性能:125.436PFLOPS(1PFLOPS即每秒钟可进行1×1015次浮点运算)。
•实测持续运算性能:93.015PFLOPS。
•处理器型号:“申威26010”众核处理器(260核,申威64指令集,主频为1.45GHz)。
•整机处理器个数:40960个。
•整机处理器核数:10649600个。
•系统总主存:1310720GB。
•操作系统:RaiseLinux。
•编程语言:C、C++、Fortran。
•并行语言及环境:MPI、OpenMP、OpenACC等。
•SSD存储:230TB。
•在线存储:10PB,带宽为288GB/s。
•近线存储:10PB,带宽为32GB/s。
•功耗:15.371MW。
神威·太湖之光超级计算机由中国国家并行计算机工程技术研究中心研制,安装在国家超级计算无锡中心,由40个运算机柜和8个网络机柜组成。
2.计算机系统性能计算
时间是测量计算机性能的重要指标。一个性能良好的计算机应是快速的,而最快的计算机则是完成相同任务用时最少的那一台。吞吐量和执行时间是描述计算机系统性能常用的参数,也是用户所关心的。
执行时间(ExecutionTime)也称响应时间,定义为一个任务从开始到完成所用的时间或计算机完成一个任务所用的总时间。
吞吐量(Throughput)定义为在给定时间内(并行)完成的总任务数。
在许多实际的计算机中,减少执行时间通常会改善吞吐量。对多处理机系统而言,虽然每个任务的完成并没有加快,但增加了吞吐量。在计算机系统中使用更快的CPU,可以改善执行时间和吞吐量。
如果用时间来定义计算机系统的性能,则有
这意味着,如果计算机X的性能好于计算机Y,则有
也即如果计算机X比计算机Y速度快,则在Y上的执行时间比X的长。从上述定义也可以得到
也即计算机的性能与其吞吐率成正比。
在设计计算机时经常要进行计算机性能比较,相对性能(RelativePerformance)或性能比(PerformanceRatio)被定义:
这意味着,计算机X的性能是计算机Y的n倍,或在Y上的执行时间是X的n倍。
例1.1计算机A的性能是计算机B的性能的4倍,B完成一个指定的任务用时20s,那么A完成该任务用时多长?
解因为
所以TA=5s,即A完成该任务用时5s。
3.用测试程序来测评计算机系统性能
以往对计算机的测试采用如下几种程序:
(1)实际应用程序,即计算机工作的真实程序。
(2)修正的实际应用程序,即对真实程序进行某些修改构成的测试程序。
(3)核心程序,即提取真实程序中的核心部分构成的测试程序。
(4)小测试程序,即具有特定目的的100行以内的测试程序。
(5)合成测试程序,即选择具有各种代表性的一系列测试程序,将它们组合在一起的测试程序,称为测试程序组件或基准测试程序。
1.4.3Amdahl定律
Amdahl定律是20世纪60年代由IBM360系列计算机的主要设计者Amdahl提出的。其内容为:计算机系统中某一部件采用某种更快的执行方式后,整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。Amdahl定律给出了加速比的定义:
从Amdahl定律所描述的内容可以看到,加速比即性能之比。对计算机的某一部分进行改进后,在处理相同任务的情况下,改进前总执行时间是改进后总执行时间的多少倍,就是加速比。计算机系统的加速比取决于下面两个因素:
(1)可改进部分在原系统总执行时间中所占的比例:称为可改进比例,用fe表示。例如,程序的总执行时间为100s,可改进的部分是其中的20s,则fe=0.2。可见,fe总是小于或等于1的。
(2)可改进部分改进后性能提高的程度:通常用部件加速比re来表示某部件改进后性能提高的比例。例如,某部件改进后,执行时间由原来的20s减少到5s,则部件加速比re=20/5=4。可见,re一般是大于1的。
根据上述分析,若假设改进前的系统总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园月教学计划模板
- 医院护士年度计划范本
- 大班表演游戏计划
- 农村综治宣传月的工作计划
- 度班组长工作计划
- 客服员工作计划
- 《GDP与GNP的区别》课件
- 医院医保年终工作计划总结
- 《行为应用分析》课件
- 2020版 沪教版 高中音乐 必修1 音乐鉴赏 下篇《第八单元 不忘初心》大单元整体教学设计2020课标
- 主题四 第1课 节气与我们的生活(教学设计)教科版五年级下册综合实践活动
- 二年级数学上册口算天天练
- 2024国家开放大学电大本科《液压气动技术》期末试题及答案
- 商务服务机器人技术现状与未来发展趋势研究
- 工业物联网(IIoT)行业发展全景调研与投资趋势预测研究报告
- 金融数据分析-以Python为工具 课件 一、金融数据分析概览
- 佛山市、三水区2022-2023学年七年级上学期期末地理试题【带答案】
- 2024届湖北高三元月调考数学试卷含答案
- DL∕T 1476-2023电力安全工器具预防性试验规程
- 西方园林史智慧树知到期末考试答案章节答案2024年内蒙古农业大学
- 学年上学期期末职业高中高二年级数学练习试卷2
评论
0/150
提交评论