第1页:计算机系统结构的基本概念封面
计算机系统结构的基本概念封面
计算机系统结构的基本概念
第2页:计算机系统结构的基本概念目录
计算机系统结构的基本概念目录
- 1.1 引言
- 1.2 计算机系统结构的概念
- 1.3 定量分析技术
- 1.4 计算机系统结构的发展
- 1.5 计算机系统结构中并行性的发展
第3页:第一台通用电子计算机诞生于1946年
第一台通用电子计算机诞生于1946年
- 第一台通用电子计算机诞生于1946年2.计算机技术的飞速发展得益于两个方面
- 计算机制造技术的发展
- 计算机系统结构的创新3.经历了4个发展过程
第4页:每年的性能增长原因时间25%两种因素都起
每年的性能增长原因时间25%两种因素都起
- 每年的性能增长原因时间25%两种因素都起着主要的作用1946年起的25年约35%大规模集成电路和微处理器出现,以集成电路为代表的制造技术的发展20世纪70年代末-80年代初50%以上维持了约16年RISC结构的出现,系统结构不断更新和变革,制造技术不断发展20世纪80年代中开始约20%3个(见下页)2002年以来
第5页:功耗问题(已经很大)
功耗问题(已经很大)
- 功耗问题(已经很大)。
- 可以进一步有效开发的指令级并行性已经很少。
- 存储器访问速度的提高缓慢。
第6页:从单纯依靠指令级并行转向开发线程级并行和
从单纯依靠指令级并行转向开发线程级并行和
- 从单纯依靠指令级并行转向开发线程级并行和数据级并行。计算机系统结构在计算机的发展中有着极其重要的作用。
第7页:计算机系统=硬件/固件+软件
计算机系统=硬件/固件+软件
- 计算机系统=硬件/固件+软件
- 计算机语言从低级向高级发展高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。
- 从计算机语言的角度,把计算机系统按功能划分成多级层次结构。
- 每一层以一种语言为特征
第8页:软件硬件或固件
软件硬件或固件
第9页:计算机系统结构的概念:虚拟机
计算机系统结构的概念:虚拟机
- 虚拟机
- 由软件实现的机器
- 语言实现的两种基本技术
- 翻译:先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
- 解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。解释执行比编译后再执行所花的时间多,但占用的存储空间较少。
第10页:计算机系统结构的经典定义程序员所看到的计
计算机系统结构的经典定义程序员所看到的计
- 计算机系统结构的经典定义程序员所看到的计算机属性,即概念性结构与功能特性。
- 按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。
- 透明性在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
第11页:Amdahl提出的系统结构传统机器语言级
Amdahl提出的系统结构传统机器语言级
- 广义的系统结构定义
- 指令集结构、组成、硬件(计算机设计的3个方面)
- Amdahl提出的系统结构传统机器语言级程序员所看到的计算机属性。
- 对于通用寄存器型机器来说,这些属性主要是指
- 指令系统包括机器指令的操作类型和格式、指令间的排序和控制机构等。
- 数据表示硬件能直接识别和处理的数据类型。
- 寻址规则包括最小寻址单元、寻址方式及其表示。
第12页:计算机系统结构的概念:寄存器定义
计算机系统结构的概念:寄存器定义
- 寄存器定义(包括各种寄存器的定义、数量和使用方式)
- 中断系统(中断的类型和中断响应硬件的功能等)
- 机器工作状态的定义和切换(如管态和目态等)
- 存储系统(主存容量、程序员可用的最大存储容量等)
- 信息保护(包括信息保护方式和硬件对信息保护的支持)
第13页:I/O结构包括I/O连结方式
I/O结构包括I/O连结方式
- I/O结构包括I/O连结方式、处理机/存储器与I/O设备之间数据传送的方式和格式以及I/O操作的状态等计算机系统结构概念的实质:确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1.2.3计算机组成和计算机实现1.计算机系统结构:计算机系统的软、硬件的界面即机器语言程序员所看到的传统机器级所具有的属性。
第14页:计算机系统结构的概念:计算机组成
计算机系统结构的概念:计算机组成
- 计算机组成
- 计算机系统结构的逻辑实现
- 着眼于
- 物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。3.计算机实现:计算机组成的物理实现
- 着眼于
- 器件技术(起主导作用)、微组装技术。
- 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
- 包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
第15页:有多种组成。一种组成可以有多种物理实现
有多种组成。一种组成可以有多种物理实现
- 有多种组成。一种组成可以有多种物理实现。4.系列机由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。例如,IBM公司的IBM 370系列,Intel公司的x86系列等。结构分类法有两种:Flynn分类法、冯氏分类法
第16页:计算机系统结构的概念:冯氏分类法
计算机系统结构的概念:冯氏分类法
- 最大并行度
- 计算机系统在单位时间内能够处理的最大的二进制位数。用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。m×n就表示了其最大并行度。2.Flynn分类法
- 指令流
- 计算机执行的指令序列。
- 冯氏分类法
- 用系统的最大并行度对计算机进行分类。
- 按照指令流和数据流的多倍性进行分类。
第17页:计算机系统结构的概念:数据流
计算机系统结构的概念:数据流
- 数据流
- 由指令流调用的数据序列。
- 多倍性
- 在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。
- 4类计算机的基本结构IS
- 指令流,DS:数据流,CS:控制流,CU:控制部件,PU:处理部件,MM和SM:存储器。
- Flynn分类法把计算机系统的结构分为4类
- 单指令流单数据流(SISD)
- 单指令流多数据流(SIMD)
- 多指令流单数据流(MISD)
- 多指令流多数据流(MIMD)
第18页:
第19页:4个定量原理
4个定量原理
- 4个定量原理
- 1.以经常性事件为重点
- 对经常发生的情况采用优化方法的原则进行选择,以得到更多的总体上的改进。
- 优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。
第20页:Amdahl定律加快某部件执行速度所能获
Amdahl定律加快某部件执行速度所能获
- Amdahl定律加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:加速比=系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后=
第21页:加速比依赖于两个因素
加速比依赖于两个因素
- 加速比依赖于两个因素
- 可改进比例:在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。它总是小于等于1。例如:一个需运行60秒的程序中有20秒的运算可以加速,那么这个比例就是20/60。
- 部件加速比:可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加速比是大于1的。例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。
第22页:改进后程序的总执行时间总执行时间改进后=
改进后程序的总执行时间总执行时间改进后=
- 改进后程序的总执行时间总执行时间改进后=不可改进部分的执行时间+可改进部分改进后的执行时间总执行时间改进后=(1-可改进比例)×总执行时间改进前+=[ (1-可改进比例) + ]×总执行时间改进前可改进比例部件加速比可改进比例×总执行时间改进前部件加速比
第23页:后总执行时间之比加速比=总执行时间改进前
后总执行时间之比加速比=总执行时间改进前
- 后总执行时间之比加速比=总执行时间改进前总执行时间改进后=(1-可改进比例)+可改进比例部件加速比1
第24页:例1.1 将计算机系统中某一功能的处理速
例1.1 将计算机系统中某一功能的处理速
- 例1.1将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?解由题可知,可改进比例= 40% = 0.4,部件加速比= 20根据Amdahl定律可知:采用此提高性能的方法后,能使整个系统的性能提高到原来的1.613倍。总加速比=10.6 +0.420= 1.613
第25页:例1.2 某计算机系统采用浮点运算部件后
例1.2 某计算机系统采用浮点运算部件后
- 例1.2某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。解由题可知,部件加速比= 20,系统加速比= 5根据Amdahl定律可知由此可得:可改进比例= 84.2%即程序中浮点操作所占的比例为84.2%。
第26页:Amdahl定律
Amdahl定律
- Amdahl定律
- 一种性能改进的递减规则
- 重要推论
- 如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过1/(1-可改进比例)
第27页:CPU性能公式
CPU性能公式
- CPU性能公式
- 执行一个程序所需的CPU时间CPU时间=执行程序所需的时钟周期数×时钟周期时间其中,时钟周期时间是系统时钟频率的倒数。
- 每条指令执行的平均时钟周期数CPI(Cycles Per Instruction)CPI=执行程序所需的时钟周期数/ICIC:所执行的指令条数
- 程序执行的CPU时间可以写成CPU时间=IC×CPI×时钟周期时间
第28页:CPU的性能取决于3个参数
CPU的性能取决于3个参数
- 对CPU性能公式进行进一步细化假设
- 计算机系统有n种指令;CPIi:第i种指令的处理时间;ICi:在程序中第i种指令出现的次数;则CPU时钟周期数=(CPIiICi)ni=1
- CPU的性能取决于3个参数
- 时钟周期时间:取决于硬件实现技术和计算机组成。
- CPI:取决于计算机组成和指令集结构。
- IC:取决于指令集结构和编译技术。
第29页:=执行程序所需的时钟周期数×时钟周期时间
=执行程序所需的时钟周期数×时钟周期时间
- =执行程序所需的时钟周期数×时钟周期时间=(CPIi×ICi)×时钟周期时间CPI可以表示为CPI= = =其中,(ICi/IC)反映了第i种指令在程序中所占的比例。i=1n时钟周期数IC(CPIi×ICi)i=1nIC(CPIi×)i=1nICiIC
第30页:例1.3 考虑条件分支指令的两种不同设计
例1.3 考虑条件分支指令的两种不同设计
- 例1.3考虑条件分支指令的两种不同设计方法
- CPUA:通过比较指令设置条件码,然后测试条件码进行分支。
- CPUB:在分支指令中包括比较过程。在这两种CPU中,条件分支指令都占用2个时钟周期,而所有其他指令占用1个时钟周期。对于CPUA,执行的指令中分支指令占20%;由于每条分支指令之前都需要有比较指令,因此比较指令也占20%。由于CPUA在分支时不需要比较,因此CPUB的时钟周期时间是CPUA的1.25倍。问:哪一个CPU更快?如果CPUB的时钟周期时间只是CPUA的1.1倍,哪一个CPU更快呢?
第31页:所以可用CPU性能公式
所以可用CPU性能公式
- 所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的20%,剩下的指令占用1个时钟周期。所以CPIA= 0.2×2 + 0.80×1 = 1.2则CPUA性能为总CPU时间A= ICA×1.2×时钟周期A根据假设,有时钟周期B= 1.25×时钟周期A在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例为
第32页:定量分析技术数据表
定量分析技术数据表
本页含数据表/图示,源文件文字与数字粘连,未能安全切分为表格,以下为原文提取文字,具体数值请对照原课件图片核对。
20%/80% = 25%这些分支指令占用2个时钟周期,而剩下的75%的指令占用1个时钟周期,因此CPIB= 0.25×2 + 0.75×1 = 1.25因为CPUB不执行比较,故ICB= 0.8×ICA因此CPUB性能为总CPU时间B= ICB×CPIB×时钟周期B= 0.8×ICA×1.25×(1.25×时钟周期A)= 1.25×ICA×时钟周期A
第33页:下,尽管CPUB执行指令条数较少
下,尽管CPUB执行指令条数较少
- 下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。如果CPUB的时钟周期时间仅仅是CPUA的1.1倍,则时钟周期B= 1.10×时钟周期ACPUB的性能为总CPU时间B= ICB×CPIB×时钟周期B= 0.8×ICA×1.25×(1.10×时钟周期A)= 1.10×ICA×时钟周期A因此CPUB由于执行更少指令条数,比CPUA运行更快。
第34页:程序的局部性原理程序执行时所访问的存储器
程序的局部性原理程序执行时所访问的存储器
- 程序的局部性原理程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。
- 常用的一个经验规则程序执行时间的90%都是在执行程序中10%的代码。
- 程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。
- 程序的空间局部性程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。
第35页:执行时间和吞吐率如何评测一台计算机的性能
执行时间和吞吐率如何评测一台计算机的性能
- 用户关心的是
- 单个程序的执行时间(执行单个程序所花的时间很少)
- 数据处理中心的管理员关心的是
- 吞吐率(在单位时间里能够完成的任务很多)
- 执行时间和吞吐率如何评测一台计算机的性能,与测试者看问题的角度有关。
第36页:X比Y快的意思是
X比Y快的意思是
- X比Y快的意思是
- 对于给定任务,X的执行时间比Y的执行时间少。X的性能是Y的n倍,即而执行时间与性能成反比,即执行时间Y执行时间X=nn= = =执行时间Y执行时间X性能Y1性能X1性能X性能Y
第37页:执行时间可以有多种定义
执行时间可以有多种定义
- 用户CPU时间
- 用户程序所耗费的CPU时间。
- 系统CPU时间
- 用户程序运行期间操作系统耗费的CPU时间。
- 执行时间可以有多种定义
- 计算机完成某一任务所花费的全部时间,包括磁盘访问、存储器访问、输入/输出、操作系统开销等。
- CPU时间:CPU执行所给定的程序所花费的时间,不包含I/O等待时间以及运行其他程序的时间。
第38页:基准测试程序
基准测试程序
- 基准测试程序
- 用于测试和比较性能的基准测试程序的最佳选择是真实应用程序。(例如编译器)
- 以前常采用简化了的程序,例如
- 核心测试程序:从真实程序中选出的关键代码段构成的小程序。
- 小测试程序:简单的只有几十行的小程序。
- 合成的测试程序:人工合成出来的程序。Whetstone与Dhrystone是最流行的合成测试程序。从测试性能的角度来看,上述测试程序就不可信了。
第39页:定量分析技术
定量分析技术
- 这些程序比较小,具有片面性;
- 系统结构设计者和编译器的设计者可以“合谋”把他们的计算机面向这些测试程序进行优化设计,使得该计算机显得性能更高。
- 性能测试的结果除了和采用什么测试程序有关以外,还和在什么条件下进行测试有关。
- 基准测试程序设计者对制造商的要求
- 采用同一种编译器;
- 对同一种语言的程序都采用相同的一组编译标志。
第40页:定量分析技术:一个问题
定量分析技术:一个问题
- 一个问题
- 是否允许修改测试程序的源程序三种不同的处理方法:
- 基准测试程序套件
- 由各种不同的真实应用程序构成。(能比较全面地反映计算机在各个方面的处理性能)
- SPEC系列
- 最成功和最常见的测试程序套件(美国的标准性能评估公司开发)
第41页:台式计算机的基准测试程序套件可以分为两大
台式计算机的基准测试程序套件可以分为两大
- 台式计算机的基准测试程序套件可以分为两大类
- 处理器性能测试程序,图形性能测试程序
第42页:12个(CINT2006)9个是用C写的
12个(CINT2006)9个是用C写的
- 12个(CINT2006)9个是用C写的,3个是用C++写的浮点程序17个(CFP2006)6个是用FORTRAN写的,4个是用C++写的,3个是用C写的,4个是用C和FORTRAN混合编写的。
- SPEC测试程序套件中的其他一系列测试程序组件
- SPECSFS:用于NFS(网络文件系统)文件服务器的测试程序。它不仅测试处理器的性能,而且测试I/O系统的性能。它重点测试吞吐率。
- SPECWeb:Web服务器测试程序。
第43页:SPECviewperf
SPECviewperf
- SPECviewperf
- 用于测试图形系统支持OpenGL库的性能。
- 事务处理(TP)性能测试基准程序
- 用于测试计算机在事务处理方面的能力,包括数据库访问和更新等。
第44页:定量分析技术:用于
定量分析技术:用于
- 用于测试基于Microsoft公司的Windows系列操作系统平台的测试套件
- PCMark04:中央处理器测试组、内存测试组、图形芯片测试组、硬盘测试组等。
- Business Winstone 2004:主要用于测试计算机系统商业应用的综合性能。
- Multimedia Content Creation Winstone 2004:主要用于测试计算机系统多媒体应用的综合性能。
- SiSoft Sandra Pro 2004:一套功能强大的系统分析评比工具,拥有超过30种以上的分析与测试模块。主要包括:CPU、存储器、I/O接口、I/O设备、主板等。
第45页:定量分析技术数据表
定量分析技术数据表
本页含数据表/图示,源文件文字与数字粘连,未能安全切分为表格,以下为原文提取文字,具体数值请对照原课件图片核对。
3.性能比较W(3)W(2)W(1)C机B机A机0.9990.9090.5020.0010.001.00程序10.0010.0910.5020.0010.001000.00程序220.0010.00500.50加权算术平均值Am(1)20.0010.0091.91加权算术平均值Am(2)20.0010.002.00加权算术平均值Am(3)两个程序在A、B、C三台计算机上的执行时间
第46页:3台计算机的性能呢?从该表可以得出
3台计算机的性能呢?从该表可以得出
- 3台计算机的性能呢?从该表可以得出
- 执行程序1:
第47页:定量分析技术:总执行时间
定量分析技术:总执行时间
- 总执行时间
- 计算机执行所有测试程序的总时间
- 平均执行时间
- 各测试程序执行时间的算术平均值其中,Ti:第i个测试程序的执行时间n:测试程序组中程序的个数
第48页:加权执行时间
加权执行时间
- 加权执行时间
- 各测试程序执行时间的加权平均值其中,Wi:第i个测试程序在测试程序组中所占的比重Ti:该程序的执行时间
第49页:冯·诺依曼结构存储程序计算机的结构
冯·诺依曼结构存储程序计算机的结构
第50页:存储程序原理的基本点
存储程序原理的基本点
- 存储程序原理的基本点
- 指令驱动程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。2.冯·诺依曼结构的主要特点
- 以运算器为中心。
- 在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。
- 存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。
第51页:指令的执行是顺序的
指令的执行是顺序的
- 指令的执行是顺序的。
- 一般是按照指令在存储器中存放的顺序执行。
- 程序的分支由转移指令实现。
- 由指令计数器PC指明当前正在执行的指令在存储器中的地址。
- 指令由操作码和地址码组成。
- 指令和数据均以二进制编码表示,采用二进制运算。
第52页:对系统结构进行的改进
对系统结构进行的改进
- 对系统结构进行的改进
- 输入/输出方式的改进
- 采用并行处理技术
- 如何挖掘传统机器中的并行性?
- 在不同的级别采用并行技术。例如,微操作级、指令级、线程级、进程级、任务级等。
第53页:存储器组织结构的发展
存储器组织结构的发展
- 存储器组织结构的发展
- 相联存储器与相联处理机
- 通用寄存器组
- 高速缓冲存储器Cache
- 指令集的发展两个发展方向
- 复杂指令集计算机(CISC)
- 精减指令集计算机(RISC)
第54页:软件的可移植性
软件的可移植性
- 软件的可移植性
- 一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。我们称这两台计算机是软件兼容的。
- 实现可移植性的常用方法采用系列机,模拟与仿真,统一高级语言。
第55页:`1.系列机由同一厂家生产的具有相同的系
`1.系列机由同一厂家生产的具有相同的系
- `1.系列机由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
- 较好地解决软件开发要求系统结构相对稳定与器件、硬件技术迅速发展的矛盾。
- 软件兼容
第56页:向上(下)兼容
向上(下)兼容
- 向上(下)兼容
- 按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。
- 兼容机
- 由不同公司厂家生产的具有相同系统结构的计算机。
第57页:计算机系统结构的发展:模拟和仿真
计算机系统结构的发展:模拟和仿真
- 模拟
- 用软件的方法在一台现有的机器(称为宿主机)上实现另一台机器(称为虚拟机)的指令集。
- 模拟和仿真
- 使软件能在具有不同系统结构的机器之间相互移植。
- 在一种系统结构上实现另一种系统结构。
- 从指令集的角度来看,就是要在一种机器上实现另一种机器的指令集。
第58页:计算机系统结构的发展:仿真
计算机系统结构的发展:仿真
- 仿真
- 用一台现有机器(宿主机)上的微程序去解释实现另一台机器(目标机)的指令集。
第59页:摩尔定律集成电路芯片上所集成的晶体管数目
摩尔定律集成电路芯片上所集成的晶体管数目
- SMP
- 对称式共享存储器多处理机MPP:大规模并行处理机
- 摩尔定律集成电路芯片上所集成的晶体管数目每隔18个月就翻一番。2.计算机的分代主要以器件作为划分标准。
- 它们在器件、系统结构和软件技术等方面都有各自的特征。
第60页:典型实例软件特征结构特征器件特征分代普林
典型实例软件特征结构特征器件特征分代普林
- 典型实例软件特征结构特征器件特征分代普林斯顿ISA,ENIAC,IBM 701机器语言汇编语言存储程序计算机程序控制I/O电子管和继电器第一代(1945—1954年)Univac LAPC,CDC 1604,IBM 7030高级语言和编译批处理监控系统浮点数据表示寻址技术中断、I/O处理机晶体管、磁芯印刷电路第二代(1955—1964年)IBM 360/370,CDC 6600/7600,DEC PDP-8多道程序分时操作系统流水线、Cache先行处理系列机SSI和MSI多层印刷电路微程序第三代(1965—1974年)Cray-1,IBM3090,DEC VAX9000,Convax-1并行与分布处理向量处理分布式存储器LSI和VLSI半导体存储器第四代(1975—1990年)SGI Cray T3E,IBM SP2,DECAlphaServer8400大规模、可扩展并行与分布处理超标量、超流水SMP、MP、MPP机群高性能微处理器高密度电路第五代(1991年—)
第61页:不同的应用对计算机系统结构的设计提出了不
不同的应用对计算机系统结构的设计提出了不
- 一些特殊领域
- 需要高性能的系统结构
- 不同的应用对计算机系统结构的设计提出了不同的要求
- 应用需求是促使计算机系统结构发展的最根本的动力
- 高结构化的数值计算气象模型、流体动力学、有限元分析
- 非结构化的数值计算蒙特卡洛模拟、稀疏矩阵
- 实时多因素问题语音识别、图像处理、计算机视觉
第62页:大存储容量和输入输出密集的问题数据库系统
大存储容量和输入输出密集的问题数据库系统
- 大存储容量和输入输出密集的问题数据库系统、事务处理系统
- 图形学和设计问题计算机辅助设计
- 人工智能面向知识的系统、推理系统等4.计算机性能随时间下移
第63页:系统结构的生命周期
系统结构的生命周期
- 系统结构的生命周期
- 从诞生、发展、成熟到消亡
- 从硬件成熟到系统软件成熟大约需要5~7年的时间
- 从系统软件成熟到应用软件成熟,大约也需要5~7年时间。
- 再过5~7年的时间,这种系统结构就不会作为主流系统结构存在了。2.Intel的x86系列微处理器中32位系统结构的发展
第64页:计算机系统结构的发展
计算机系统结构的发展
第65页:计算机系统结构中并行性的发展:并行性
计算机系统结构中并行性的发展:并行性
- 并行性
- 计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。
- 同时性
- 两个或两个以上的事件在同一时刻发生。
- 并发性
- 两个或两个以上的事件在同一时间间隔内发生。1.5.1并行性的概念
第66页:从处理数据的角度来看
从处理数据的角度来看
- 字串位串
- 每次只对一个字的一位进行处理。最基本的串行处理方式,不存在并行性。
- 字串位并
- 同时对一个字的全部位进行处理,不同字之间是串行的。开始出现并行性。
- 字并位串
- 同时对许多字的同一位(称为位片)进行处理。具有较高的并行性。
- 全并行
- 同时对许多字的全部位或部分位进行处理。最高一级的并行。
第67页:从执行程序的角度来看
从执行程序的角度来看
- 指令内部并行
- 单条指令中各微操作之间的并行。
- 指令级并行
- 并行执行两条或两条以上的指令。
- 线程级并行
- 并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。
- 任务级或过程级并行
- 并行执行两个或两个以上的过程或任务(程序段)以子程序或进程为调度单元。
- 作业或程序级并行
- 并行执行两个或两个以上的作业或程序。
第68页:1.时间重叠引入时间因素
1.时间重叠引入时间因素
- 1.时间重叠引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。2.资源重复引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。
第69页:资源共享这是一种软件方法
资源共享这是一种软件方法
- 资源共享这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
第70页:在发展高性能单处理机过程中
在发展高性能单处理机过程中
- 在发展高性能单处理机过程中,起主导作用的是时间重叠原理。实现时间重叠的基础:部件功能专用化
- 把一件工作按功能分割为若干相互联系的部分;
- 把每一部分指定给专门的部件完成;
- 按时间重叠原理把各部分的执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。
第71页:对于解释指令的5个过程
对于解释指令的5个过程
- 对于解释指令的5个过程,就分别需要5个专用的部件:取指令部件(IF)、指令译码部件(ID)、指令执行部件(EX)、访问存储器部件(M)和写结果部件(WB)。
第72页:在单处理机中,资源重复原理的运用也已经十
在单处理机中,资源重复原理的运用也已经十
- 在单处理机中,资源重复原理的运用也已经十分普遍。
- 多体存储器
- 多操作部件
- 通用部件被分解成若干个专用部件,如加法部件、乘法部件、除法部件、逻辑运算部件等,而且同一种部件也可以重复设置多个。
- 只要指令所需的操作部件空闲,就可以开始执行这条指令(如果操作数已准备好的话)。
- 这实现了指令级并行。
第73页:阵列处理机(并行处理机)更进一步
阵列处理机(并行处理机)更进一步
- 阵列处理机(并行处理机)更进一步,设置许多相同的处理单元,让它们在同一个控制器的指挥下,按照同一条指令的要求,对向量或数组的各元素同时进行同一操作,就形成了阵列处理机。3.在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。
第74页:多机系统遵循时间重叠、资源重复
多机系统遵循时间重叠、资源重复
- 紧密耦合系统(直接耦合系统)
- 在这种系统中,计算机之间的物理连接的频带较高,一般是
- 多机系统遵循时间重叠、资源重复、资源共享原理,发展为3种不同的多处理机:同构型多处理机、异构型多处理机、分布式系统2.耦合度反映多机系统中各机器之间物理连接的紧密程度和交互作用能力的强弱。
第75页:或高速开关互连,可以共享主存
或高速开关互连,可以共享主存
- 松散耦合系统(间接耦合系统)
- 一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行的。表现为两种形式:
第76页:功能专用化(实现时间重叠)
功能专用化(实现时间重叠)
- 功能专用化(实现时间重叠)
- 专用外围处理机例如,输入/输出功能的分离。
- 专用处理机如数组运算、高级语言翻译、数据库管理等,分离出来。
- 异构型多处理机系统由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
第77页:计算机系统结构中并行性的发展:机间互连
计算机系统结构中并行性的发展:机间互连
- 机间互连
- 容错系统
- 可重构系统对计算机之间互连网络的性能提出了更高的要求。高带宽、低延迟、低开销的机间互连网络是高效实现程序或任务一级并行处理的前提条件。
- 同构型多处理机系统由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。