Download presentation
Presentation is loading. Please wait.
1
计算机系统结构 第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统 第五章 标量处理机 第六章 向量处理机 第七章 互连网络 第八章 并行处理机 第九章 多处理机
2
第一章 基本概念 1.1 计算机系统结构 1.2 计算机系统设计技术 1.3 系统结构的评价标准 1.4 计算机系统结构的发展
3
为什么要研究系统结构? 1. 提高处理机运算速度:MIPS=Fz IPC 其中: Fz为处理机的工作主频
IPC(Instruction Per Cycle)为 每个时钟周期平均执行的指令条数 提高IPC:依靠先进系统结构 过去,几个或几十个周期完成一条指令 现在,一个周期完成几条指令 提高Fz:缩短门电路延迟,依靠技术进步 流水线技术等,依靠先进系统结构 从指令串行执行,到P4的20级流水线
4
1.1 计算机系统结构 计算机的更新换代 第一代 电子管计算机 第二代 晶体管计算机 第三代 中小规模集成电路 第四代 大或超大规模集成电路 第五代 VLSI(超大规模集成电路) 计算机性能的大幅度提高或更新换代,一方面依靠器件的不断更新,同时也依赖系统结构的不断改进。
6
2. 计算机性能提高的几个阶段 20世纪70年代末之前,大型机和小型机计算机性能每年提高25%~30%。 20世纪80年代初,出现微处理机,依靠集成电路技术,性能每年提高35% 20世纪80年中期,出现RISC技术、高级语言和操作系统等,性能每年提高50% 1995年,先进系统结构对微处理器性能的贡献是单纯技术进步的5倍。 3. 近几年及将来,计算机性能按摩尔定理发展。 4. 计算机系统的设计者们要不断创新。
7
从使用语言的角度,把计算机系统按功能划分成多级层次结构
1.1.1计算机系统的层次结构 从使用语言的角度,把计算机系统按功能划分成多级层次结构 从面向机器的语言(如操作系统、汇编语言),到面向过程的高级语言(如Fortran,, C),到面向问题的应用语言(如prolog)。每一种语言都比它的前一种语言功能更强,更便于人们应用,但又都以它的前一种语言为基础。对于用某一种语言编写程序的程序员来说,他一般是不管程序在机器中是如何执行的。这样,对这种语言的程序员来说,他们似乎有了一种新的机器,这一语言就是这种机器的机器语言,该机器能执行用该语言写的全部程序。实际上,这一语言再逐层地经翻译或解释直到最低一层,最后经硬件实现。一般来讲,越是上层的语言,语义越高级,所以当其由下一级语言来实现时,往往要用好几条指令或语句 按功能把计算机系统划分成多级层次结构有什么好处呢? 首先,有利于正确地理解计算机系统的工作,明确软件、硬件和固件在计算机系统中的地位和作用。 其次,有利于理解各种语言的实质及其实现。高一层的语言经翻译或解释成低一层的语言。 再次,有利于探索虚拟机的新的实现方法和新的计算机系统结构的设计。 最后,有利于理解计算机系统结构的定义。
8
第0级由硬件实现 第1级由微程序实现 第2级是传统指令系统(机器语言)机器 第3级是操作系统机器 第4级是汇编语言机器 第5级是高级语言机器 第6级是应用语言机器 第2级至第6级由软件实现 由软件实现的机器称为:虚拟机 从学科领域来划分 第0和第1级属于计算机组成与系统结构 第3至第5级是系统软件 第6级是应用软件
9
汇编语言程序员所看到的计算机属性,即硬件子系统的概念结构及其功能特性。 研究任务: 主要研究软件、硬件功能分配和对软硬件界面的确定。 实质:
1.1.2计算机系统结构的定义 定义: 汇编语言程序员所看到的计算机属性,即硬件子系统的概念结构及其功能特性。 研究任务: 主要研究软件、硬件功能分配和对软硬件界面的确定。 实质: 外特性——实际上定义了系统的软、硬件功能界面; 系统结构内特性——计算机系统的设计人员看到的基本属性,是外特性的逻辑实现。 对用汇编语言编写程序的程序员来说,他需知道的机器属性包括: (1) 指令系统。包括机器指令的操作类型和格式、指令间的排序和控制机构。 (2) 数据表示。硬件能直接辩认和处理的数据类型。 (3) 操作数的寻址方式。包括最小寻址单元、寻址方式和寻址方式的表示。 (4) 寄存器定义。包括操作数寄存器、变址寄存器和控制寄存器等的定义、数量和使用方式。 (5) 中断机构和例外条件。表示中断的类型、分级和响应的硬件功能以及例外条件。 (6) 存储系统。包括主存容量、程序员可用的最大存储容量等。 (7) I /O结构。包括I/O设备的连接方式,处理机、存储器与I/O设备间的数据传递方式和格式、传递的数据量及传递操作结束的表示及出错指示等。 (8) 信息保护。包括信息保护方式及有关的硬件支持。 (9) 机器工作状态的定义和切换。如系统态和管理态等。 从汇编语言的程序员看,PC机和SUN工作站有不同的属性,即有不同的计算机系统结构。高级语言的程序员所看到计算机的主要属性是该机所配置的高级语言所具有的功能特性。因此对高级语言的程序员来说,PC机和SUN工作站几乎没有什么差别,它们具有相同的属性,即有相同的计算机系统结构。
10
一种本来存在的事物或属性,但从某种角度来看似乎不存在的概念,称为透明性。
在一个计算机系统中,低层机器的属性往往对高层机器的程序员是透明的。计算机组成设计的内容,对传统机器程序员来讲一般是透明的。 在多级层次结构的计算机系统中,传统机器级的概念性结构和功能特性,对高级语言的程序员来说是透明的,而对汇编语言的程序员来说不是透明的。这说明高级语言的程序员不必知道机器的指令系统、中断机构等,这些本来存在的属性,对高级语言的程序员来说好象不存在一样,所以说是透明的。 对计算机系统结构来说,存储器采用交叉存取还是并行存取、CPU内部的数据通路的宽度是8位还是16位,这些都是透明的,而对计算机组成来说这些不是透明的。 指令执行采用串行、重叠还是流水控制方式,对系统结构来说是透明的,但对计算机组成来说不是透明的。 乘法指令采用专用乘法器实现。对系统结构来说是透明的,而对计算机组成来说不是透明的。 存储器采用哪种芯片,对计算机系统结构和组成来说是透明的,而对计算机实现来说不是透明的。
11
1.1.3计算机组成与实现 定义: 研究硬件系统各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。目标是最合理地方式将各种设备和部件连接为计算机,以达到最优的性价比,从而实现所确定的系统结构。计算机组成是系统结构的逻辑实现。 一般计算机组成设计要确定的内容包括: (1) 数据通路宽度。指处理机中信息能并行传送的位数。 (2) 各种操作功能部件的共享程度。如果使不同功能的操作共享一个部件,增加了共享程度,但这些操作即使在逻辑上互不相关,也只能分时使用。限制了速度。如果设置多个部件,这降低了共享程度,用提高操作并行度来提高速度,但价格也将提高。 (3) 专用部件的设置。设置哪些专用部件,如乘除法专用部件、浮点运算部件 、字符处理部件、地址运算部件等,每种专用部件个数等等,这些取决于所需达到的机器速度、专用部件的使用频度及允许的价格等。 (4) 功能部件的并行性。指功能部件的控制和处理方式是采用顺序串行,还是采用重叠、流水、分布处理。 (5) 缓冲和排队技术。缓冲技术要确定如何设置缓冲器,以弥补不同部件之间速度的差距,缓冲容量的确定等;排队技术要确定对等待处理的事件如何安排其处理次序,如先进先出、后进先出、优先数法等。 (6) 控制机构的组成方式。指事件、操作的排序机构是采用硬联控制还是微程序控制,是采用单机处理还是用多机处理或功能分布处理。 (7) 预测技术。指采用什么原则来预测未来的行为,以优化性能和优化处理。 (8) 可靠性技术。指采用何种硬件冗余技术提高计算机的可靠性。 对主存储器系统,其容量和寻址方式的确定属于计算机系统结构,而为要达到所定的性能价格比,主存的速度应多高,在逻辑结构上需要采用什么措施(如多体交叉存储),则属于计算机组成。
12
计算机实现 计算机实现: 研究各部件的物理结构、机器的制造技术和工艺等,是计算机组成的物理实现。它着眼于器件技术和微组装技术。 主存的物理实现,如存储器采用什么样器件,逻辑电路设计和微组装技术均属计算机实现
13
系统结构设计不要对组成、实现技术的采用与发展有过多或不合理的限制; 计算机组成与实现是可以折衷权衡的; 三者的内容不同时期会有所变化。
系统结构、组成和实现三者的关系 关系: 关系举例: 注意: 系统结构设计不要对组成、实现技术的采用与发展有过多或不合理的限制; 计算机组成与实现是可以折衷权衡的; 三者的内容不同时期会有所变化。 系统结构的设计与硬件的设计不可混淆。 1 : n 外特性 ----- 内特性 物理实现 外特性 内特性 实现 乘法功能 是否有乘法指令 乘法器/加法+移位 物理实现 主存系统 容量、编址方式 速度、措施 器件、电路 为什么要研究系统结构?好处是什么?
14
系统结构、组成和实现三者的关系 计算机组成是计算机系统结构的逻辑实现,计算机实现是计算机组成的物理实现,三者各自包含不同的内容,但又有着紧密的联系。 一种系统结构可以有多种组成,同样,一种组成可以有多种物理实现 IBM系列机有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。 它们有相同的系统结构,但采用不同的组成和实现技术。 如它们有相同的指令系统, 在低档机上采用指令的分析和指令的执行顺序进行的方式,而在高档机上采用重迭、流水和其它并行处理方式。 从程序设计者看,各档机器的字长都是32位, 机器内部的数据通路的宽度不一样,低档机器只有8位,而高档机器32位甚至64位。 各档机器都采用通道方式进行输入输出, 在计算机组成上,低档机器采用结合型通道,即让通道的功能借用中央处理机的某些部件去完成,而高档机器上则采用独立型通道,即让通道独立设置硬件,与中央处理机并行工作。
15
1.1.4 计算机系统结构的分类 1 Flynn分类法 指令流(Instruction stream,IS) 数据流(Data stream,DS) 多倍性(Multiplicity) SISD(Single Instruction stream single Data Stream) 传统的顺序处理机(串行机) SIMD(Single Instruction stream Multiple Data stream) 阵列处理机,并行处理机 MISD(Multiple Instruction stream Single Data stream) 采用流水结构的计算机 MIMD(Multiple Instruction stream Multiple Data stream) 多处理机
16
CU PU MM CU PU1 PU2 PUn MM1 MM2 MMn IS SIMD SISD SIMD IS DS SISD DS1
DSn SIMD
17
MISD CU1 CU2 CUn PU1 MM1 MM2 MMn IS1 IS2 ISn DS1 DSn
18
MIMD MM1 MM2 MMn CU1 CU2 CUn PU1 DS1 DS2 DSn IS1 IS2 ISn
19
2 冯氏分类法 Pm: 最大并行度,指单位时间内能处理的最大二进制位数 字串位串WSBS(Word serial and bit setial) 字并位串WPBS(Word parallel and bit serial) 字串位并WSBP(Word serial and bit parallel ) 字并位并WPBP(Word parallel and bit parallel)
20
按最大并行度的冯氏分类法 最大并行度:横坐标纵坐标 16384 288 256 64 位片宽(m) 32 16 字宽(n)
16384 288 256 64 32 16 MPP (1,16384) STARAN (1,256) Cmmp (16,16) PDP-11 (16,1) EDVAC (1,1) IBM 370/168 (32,1) PEPE (32,288) ILLIAC-IV (64,64) TI-ASC (64,32) 字宽(n) 位片宽(m) (1)字符串位串 WSBS (Word Serial and Bit Serial) 串行计算机; m=1,n=1;例如:EDVAC(1,1) (2)字并位串 WPBS (Word Parallel and Bit Serial) 传统的单处理机;m=1,n>1;例如:Pentium(32,1) (3)字符串位并 WSBP (Word Serial and Bit Parallel) 并行计算机、 MPP、相联计算机;m>1,n=1; 例如:MPP(1,16384),STARAN(1,256),DAP (4)字并位并 WPBP (Word Parallel and Bit Parallel) 全并行计算机;m>1,n>1; 例如:IILIAC IV(64,64),ASC(64,32),PEPE,Cmmp
21
算术逻辑部件(ALU)或处理部件(PE)的个数d; 每个算术逻辑部件包含基本罗辑线路(ELC)的套数w。如加法器位数
3 Händler分类法 根据并行度和流水线提出的一种分类法。 程序控制部件(PCU)的个数k; 算术逻辑部件(ALU)或处理部件(PE)的个数d; 每个算术逻辑部件包含基本罗辑线路(ELC)的套数w。如加法器位数 t(系统型号)=(k,d,w) 例如: t(Pentium)=(1,1,32) t(STARAN)=(1,8192,1) t(ILLIAC Ⅳ)=(1,64,64) t(Cmmp)=(16,1,16) 为了表示流水线,采用: t(系统型号)=(k×k',d×d',w×w') 其中:k'表示宏流水线中程控部件的个数 d'表示指令流水线中算术逻辑部件的个数 w'表示操作流水线中基本逻辑线路的套数 例如:Cray1有1个CPU,12个相当于ALU或PE的处理部件,最多8级流水线,字长为64位,可以实现1~14位流水线。 表示为:t(Cray1)=(1,12×8,64(1~14)) 又例如:t(PEPE)=(1×3,288,32) t(TI ASC)=(1,4,64×8)
22
1.2 计算机系统设计技术 1.2.1计算机系统设计的定量原理 1 加快经常性事件的速度 这是计算机设计中最重要也最广泛采用的设计准则。使经常性事件的处理速度加快能明显提高整个系统的性能。 在CPU中两个数进行相加运算时,相加结果可能出现溢出现象,也可能无溢出发生,显然经常出现的事件是不发生溢出的情况,而溢出是偶然发生的事件。因此,在设计时应优化不发生溢出的情况,使这个经常性事件的处理速度尽可能快,而对溢出处理则不必过多考虑优化。因为发生溢出的概率很小,即使发生了,处理得慢一些也不会对系统性能产生很大的影响。
23
2 Amdahl定律 Amdahl定律 Amdahl定律认为:系统中改进某一部件对整个系统性能的提高与这种部件的使用频率或占总执行时间的比例有关。
24
加速比
25
假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?
例1.1 假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少? 解:由题意可知:Fe=0.4, Se=10,根据Amdahl定律 Amdahl定律可以告诉我们一项改进措施可以使整个系统的性能提高多少,同时还能告诉我们为了改进性能价格比,如何合理分配系统的资源。
26
例1.2 采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大。假设FPSQR操作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一种实现方法是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍,还假设FP指令占整个执行时间的50%。请比较这两种设计方案。 解:分别计算出这两种设计方案所能得到的加速比:
27
一个程序所花的CPU时间(T)可以用两种方式来表示: CPU时间(T)=CPU时钟周期数(CPI×IC)*时钟周期长(t)
①时钟频率f(或时钟周期t); ②每条指令所花的时钟周期数CPI; ③指令条数IC 一个程序所花的CPU时间(T)可以用两种方式来表示: CPU时间(T)=CPU时钟周期数(CPI×IC)*时钟周期长(t) 每条指令的平均时钟周期数: CPU性能公式把CPU的执行时间分解成三个独立的部分。如果知道某种方案对这三部分是如何影响的,那么就能知道采用这种方案时整个系统的性能了。
28
CPU时钟周期数= (CPIi*Ii ) CPU时间(T)=时钟周期长度* CPI= IC = (CPIi*Ii /IC)
n CPU时间(T)=时钟周期长度* CPI= IC = (CPIi*Ii /IC) Ii是第i种指令的执行次数 Ii/IC是第I种指令所占比例
29
例1.3 如果FP操作的比例为25%,FP操作的平均CPI=4.0,其它指令的平均CPI为1.33,FPSQR操作的比例为2%, FPSQR的CPI为20。假设有两种设计方案,公别把FPSQR操作的CPI和所有FP操作的CPI减为2。试利用CPU性能公式比较这两种设计方案哪一个更好(只改变CPI而时钟频率和指令条数保持不变)。 解:原系统的CPI=25%×4+75%×1.33=2 方案1(使FPSQR操作的CPI为2)系统 CPI=CPI原-2%×(20-2)=2-2%×18=1.64 方案2(提高所有FP指令的处理速度)系统 CPI=CPI原-25%×(4-2)=2-25%×2=1.5 我们也可以根据以下公式计算出方案2系统的CPI CPI= 75%× %×2=1.5 显然,提高所有FP指令处理速度的方案要比提高FPSQR处理速度的方案要好。 方案2的加速比=2/1.5= 1.33
30
例1.4 假设这两台机器的指令系统中,执行条件转移指令需2个时钟周期,而其它指令只需1个时钟周期。 CPUA:采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行测试,以确定是否进行转移。显然实现一次条件转移要执行比较和测试两条指令。条件转移指令占总执行指令条数的20%。由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。 CPUB采用比较功能和判别是否实现转移功能合在一条指令的方法,这样实现一条件转移就只需一条指令就可以完成。由于CPUB在转移指令中包含了比较功能,因此它的时钟周期就比CPUA要慢25%。 现在要问,采用不同转移指令方案的CPUA和CPUB,那个工作速度会更快些?
31
例1.4 解 解:CPIA=0.2×2+0.8×1=1.2 TCPUA=ICA×1.2×tA CPUB转移指令为20%÷80%=25% CPIB = 0.25×2+0.75×1=1.25 由于CPUB中没有比较指令,因此ICB = 0.8×ICA。 t B = 1.25tA TCPUB = ICB×CPIB×tB = 0.8 ICA×1.25×1.25tA = 1.25 ICA×tA 可见TCPUA比TCPUB小,所以CPUA比CPUB运行得更快些。
32
例1.5 在例1.4中,如果CPUB的时钟周期只比CPUA的慢10%,那么哪一个CPU会工作得更快些? 解:TCPUA = 1.2ICA ×tA , 因tB = 1.10tA,所以 TCPUB = 0.8 ICA×1.25×1.10tA= 1.10 ICA ×tA,由于CPUB所需时间较少,所以CPUB比CPUA运行得更快些。
33
4 访问的局部性原理 局部性分时间上的局部性和空间上的局部性。 时间上的局部性是指最近访问过的代码是不久将被访问的代码。 空间上的局部性是指那些地址上相邻近的代码可能会被一起访问。 存储器体系的构成就是以访问的局部性原理为基础的。
34
1.2.2 计算机系统设计者的主要任务 1 根据用户要求进行需求分析 2 进行软硬件平衡 3 设计出符合今后发展方向的系统结构
35
软硬件实现在功能上等效 软件与硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 发展趋势 硬件实现的比例越来越高,硬件所占的成本越来越高
36
发展 不可编程 目前计算机 最少硬件 软件 硬件 软 硬 件 比 例
37
七十年代 硬件 软件 成本 年代
38
1.2.3计算机系统设计的主要方法 1 由上往下设计 设计过程: 由上向下 面向应用的数学模型 面向应用的高级语言 面向这种应用的操作系统 面向操作系统和高级语言的机器语言 面向机器语言的微指令系统和硬件实现 应用场合: 专用计算机的设计(早期计算机的设计) 特点: 对于所面向的应用领域,性能和性能价格比很高,随着通用计算机价格降低,目前已经很少采用
39
2 由下往上设计 设计过程: 根据当时的器件水平,设计微程序机器级和传统机器级。 根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等。 最后设计面向应用的虚拟机器级。 应用场合: 在计算机早期设计中(60~70年代)广为采用 特点: 容易使软件和硬件脱节,整个计算机系统的效率降低。
40
3 由中间开始设计 设计过程: 首先定义软硬件的分界面, 包括:指令系统、存储系统、输入输出系统、中断系统、硬件对操作系统和编译系统的支持等 然后各个层次分别进行设计: 软件设计人员设计操作系统、高级语言、汇编语言、应用出现等;硬件设计人员设计传统机器、微程序、硬联逻辑等 应用场合: 用于系列机的设计 特点: 软硬件的分界面在上升;硬件价格下降,软件价格上升;软硬件人员结合共同设计;器件设计占领硬件设计
41
1.3 系统结构的评价标准 评价一个计算机系统结构好坏的标准主要是性能和成本这两个指标。 1.3.1性能 衡量机器性能的唯一固定而且可靠的标准就是真正执行程序的时间。 1主要标准 (1) MIPS MIPS 表示每秒百万指令条数。对于一个给定的程序,MIPS 定义为: 程序的执行时间为: 愈快的机器其MIPS愈高
42
例:计算Pentium II 450处理机的运算速度
解:由于Pentium II 450处理机的IPC=2 (或CPI=0.5), Fz=450MHz,因此, MIPSPentium II 450=Fz×IPC=450×2=900(MIPS)
43
等效指令速度 对于用户来说,MIPS有三个方面的缺陷: 1)MIPS依赖于指令集。 2)在同一台机器上,MIPS因程序不同而变化。 3)MIPS可能与性能相反。 等效指令速度:吉普森(Gibson)法 Wi:指令使用频度,i:指令种类 静态指令使用频度:在程序中直接统计
44
例 我国最早研制的小型计算机DJS-130,定点16位,加法每秒50万次,但没有硬件乘法和除法指令,用软件实现乘法和除法,速度低100倍左右。求等效速度。 解:定点等效速度为: 即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。
45
例 假设在程序中浮点开平方操作FPSQR的比例为2%,它的CPI为100;其他浮点操作FP的比例为23%,它的CPI= 4.0;其余75%指令的CPI=1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。 解: 等效CPI=100*2%+4*23%+1.33*75% =3.92 等效CPI2=4*25%+1.33*75%=2.00
46
(2) MFLOPS MFLOPS即每秒百万次浮点操作次数。 MFLOPS取决于机器和程序两个方面。 MFLOPS 仅仅只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。例如编译程序,不管机器的性能有多好,它的MFLOPS不会太高。 MFLOPS是基于操作而非指令的,所以它可以用来比较两种不同的机器。 MFLOPS依赖于操作类型。例如100%的浮点加要远快于100%的浮点除。 单个程序的MFLOPS值并不能反映机器的性能。
47
(3)用基准测试程序来测试机器性能 按评价准确性递减的顺序列出足几种测试程序: 1)实际的应用程序方法。运行例如C编译程序、Tex 正文处理软件、CAD工具等等。 2)核心程序方法。从实际的程序中抽取少量关键循环程序段,并用它们来评价机器的性能。 3)玩具基准测试程序。玩具基准测试程序通常只有10-100行而且运行结果是可以预知的。 4)综合基准测试程序。是为了体现平均执行而人为编制的,类似于核心程序,没有任何用户真正运行综合基准测试程序。
48
2 性能的比较 A机 B机 C机 程序1 1 10 20 程序2 1000 100 总时间 1001 110 40
49
Ti (1)总执行时间 一致的衡量标准 平均执行时间是各执行时间的算术平均值。
如果性能是用速度(例如MFLOPS)表示,那么平均时间是调和平均 1 n Am= Ti i=1 平均执行时间 Hm= i=1 n 1 Ri 调和平均时间 MFLOPS Ri=1/ Ti
50
WiTi (2)加权执行时间 将权因子和执行时间的积相加,这叫做加权算术平均值。 加权调和平均所体现的性能和加权算术平均相同。 Am=
n Am= WiTi i=1 加权平均执行时间 Hm= i=1 n Wi Ri 1 加权调和平均时间 MFLOPS
51
例子:如下表所示 A B C W1 W2 W3 程序1 1.00 10.00 20.00 0.50 0.909 0.999 程序2 0.091 0.001 加权平均W1 500.50 55.00 加权平均W2 91.82 18.18 加权平均W3 2.00 10.09
52
G= G(Xi ) G(Yi ) = G( ) 平均标准化时间
将一个任务的执行时间标准化为一个参考机器的执行时间,称为平均标准化时间,可以用算术平均和几何平均来表示 几何平均公式: 性质: ETR是程序标准化为参考机器后的时间 G= n ETRi i=1 G(Xi ) G(Yi ) = G( Xi Yi ) 加权平均不仅要受在任务中使用的频度的影响,而且还要受具体机器及输入量的制约,而标准化执行时间的几何平均是和程序的执行时间无关,与具体机器无关。
53
1.3.2 成本 1 成本指标 计算机系统的成本是指软件和硬件两方面的成本 当前软件成本由于其复杂性和长度的增加而不断增长,硬件成本则由于科技的发展尤其是VLSI的发展而快速下降。 计算机系统的成本主要包括以下两部分: (1)一次性开发成本; (2)每个部件的生产成本。 对于软件来说,其成本主要是指开发成本,软件的生产成本即复制费是很低的。 对于硬件,其成本既包括一次性开发成本,又包括生产成本,硬件的生产成本是远远高于软件的。
54
2 硬件考虑 1)系统结构的效率影响着产品的竞争能力。 2)器件技术(集成度和芯片价格)影响着产品的竞争能力。 3)在评价系统结构的效率时,须考虑实际应用中的负载情况,并要从不同的应用场合出发。 场合一:所有机器运行同一个1MB的程序,系统A需要占有1000MB的内存,系统B仅需占有1MB的内存。 场合二:所有机器运行各不相同的1MB程序,系统A的运行效率要超过系统B。
55
例 例:系统A的逻辑结构复杂度是系统C的100倍,而系统B的复杂度则系统C的10倍,若系统A和系统B的性能相同,那么由于系统A的低效率导致的高成本使得其商品价格的竞争能力要低于系统B。 例:上例中若系统A所使用芯片的集成度是系统B的10倍,且其每块芯片的价格也是系统B的十分之一,那么尽管系统A的复杂度是系统B的10倍,由于系统A选择的器件优于系统B,使系统A的产品成本反而低于系统B。 例:系统A是一个没有共享存储器的多处理机系统(1000台处理机),系统B是一个具有共享存储器的多处理机系统(1000台处理机)。
56
1.4 计算机系统结构的发展 1.4.1冯.诺依曼结构 以存储程序原理为基础,由指令驱动,由输入、输出设备、运算器、控制器和存储器构成。 1.4.2软件对系统结构的影响 软件兼容性(可移植性):同一软件可不经修改或只须少量修改即可由一台机器移植到另一台机器上运行,即同一软件可应用于不同环境。
57
解决软件可移植性的方法 1 系列机: 同一个厂家生产的具有相同系统结构,不同的组成和实现技术的一系列不同型号的机器。 兼容机: 不同厂家生产的具有相同系统结构,不同的组成和实现技术的性价比不同的机器。 2 模拟: 用软件方法在一台现有机器上实现另一台机器的指令系统。模拟方法速度低 仿真: 用硬件、固件或软件/硬件/固件混合实现的方法 用微程序直接解释另一台机器的指令系统为仿真。仿真方法速度高,但需要较多的硬件(包括控制存储器) 系统结构差别大的机器难于完全用仿真方法来实现 3 采用统一的高级语言 可实现在结构相同或完全不同的机器上的软件移植。
58
PC系列机 PC系列机: 8088、8086、80186、80286、80386、80484、Pentium、Pentium II、Pentium III 不同工作主频; 不同扩展功能:Pentium、Pentium Pro、Pentium MMX 不同的Cache:Pentium II、Celeron、Xeon 不同的字长:8位(8088)、16位(80286)、32位、64位。 时间 机器档次 当前机器 向上兼容 向下兼容 高 低 向后兼容 向前兼容
59
采用系列机方法的主要优缺点 采用系列机方法的主要优点: 系列机之间软件兼容,可移植性好; 插件、接口等相互兼容; 便于实现机间通信; 便于维修、培训; 有利于提高产量、降低成本 采用系列机方法的主要缺点: 限制了计算机系统结构的发展
60
三种方法比较: 采用统一高级语言最好,是努力的目标 系列机是暂时性方法,也是目前最好的方法 仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容 1/10~1/2的芯片面积用于仿真
61
1.4.3,1.4.4 价格和应用对系统结构的影响 要全面评价一个系统结构,既要考虑性能又要考虑价格。 当两个系统的功能类似或性能接近时,性价比的比较才有意义。 改进系统结构应使性能或价格产生较小变化,以获得更好的性价比。 改进系统结构可提高系统的绝对性能,并使价格的增加比较合理。 针对特殊负载(特殊应用)的专用计算机系统结构往往具有高效率,但缺乏通用性,市场面小。 通用系统结构可适应各种应用场合,市场面大,但效率低。 设计的出发点是使专用系统结构的高效率与通用系统结构的广泛市场成均势。
62
1.4.5 VLSI对系统结构的影响 由于VLSI的发展,使计算机系统的价格发上很大变化,系统结构的设计者不再把注意力放到如何利用每一个机器周期上,从而使系统结构也发生新的变化。
63
本章重点 1、计算机系统结构的定义及研究对象 2、计算机系统的层次结构 3、评价计算机系统的常用方法 4、冯 · 诺依曼结构及其发展 5、透明性、系列机、兼容性、模拟与仿真等概念 6、了解计算机系统的分类方法
64
习题1.2 每一级为了执行一条指令需要下一级的N条指令解释,若执行第一级的一条指令需kns,那么执行第2级、第3级、第4级的指令需要多少时间? 第1级 k ns 第2级 ·N·k ns = Nk ns 第3级 ·N·N·k ns = N2k ns 第4级 ·N·N·N·k ns = N3k ns
65
习题1.4 每一级指令能完成下一级的M条指令的工作量,且每一级指令需要下一级的N条指令解释,若执行第一级的一条指令需kns,那么执行第2级、第3级、第4级的指令需要多少时间?
66
习题1.6 试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与相互影响。 系统结构、组成和实现是三个不同的概念,它们各自包含不同的内容,但又有紧密的关系。 以存储系统为例,主存储器容量和寻址方式的确定属计算机系统结构,主存的速度应多高,在逻辑结构上采用什么措施属计算机组成,而主存的物理实现,如存储器采用什么样器件,逻辑电路设计和微组装技术则属计算机实现。
67
习题1.7 什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的? 存贮器的模m交叉存取;透明(组成) 浮点数据表示;不透明(系统结构) I/O系统是采用通道方式还是I/O处理机方式;不透明 数据总线宽度;透明(组成) 阵列运算部件;透明(组成) 通道是采用结合型的还是独立型的;透明(组成) PDP-11系列中的单总线结构;不透明(系统结构) 访问方式保护;不透明(系统结构) 程序性中断;不透明(系统结构) 串行、重叠还是流水控制方式;透明(组成) 堆栈指令;存贮最小编址单位;不透明(系统结构) Cache存贮器。透明(组成)
68
习题1.8 从机器(汇编)语言程序员看,以下哪些是透明的? 指令地址寄存器;指令缓冲器;时标发生器;条件码寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。
69
习题1.12 如果某一计算任务用向量方式求解比用标量方式求解要快到20倍,称可用向量方式求解部分所花费时间占总的时间的百分比为可向量化百分比。请画出加速比与可向量化比例两者关系的曲线。 解:可向量化百分比为Fe, Se=20,根据Amdahl定律
70
习题1.13 在题1.12中,为达到加速比2, 可向量化的百分比应为多少? 则可向量化的百分比Fe=0.526
71
习题1.14 在题1.12中,为获得采用向量方式最大加速比的半值(即10)时,所需可向量化的百分比为多少。 则可向量化的百分比Fe=0.947
72
习题1.15 在题1.12中,如果某程序可向量化部分为70%,硬件设计组认为可以通过加大工程投资,使向量处理速度加倍来进一步增加性能;而编译程序编写组认为只需设法增加向量工作方式的百分比就同样可使性能得到相同的提高,问:此时需使可向量化成分再增加多少百分比就可实现。你认为上述硬、软件两种方法中,哪一种方法更好?
73
习题1.17 假设高速缓存Cache 工作速度为主存的5倍,且Cache被访问命中的概率为90%,则采用Cache后,能使整个存储系统获得多高的加速比? 解:
74
习题1.18 设计指令存储器有两种不同方案:一是采用价格较贵的高速存储器芯片,另一是采用价格便宜的低速存储芯片。采用后一方案时,用同样的经费可使存储器总线带宽加倍,从而每隔2个时钟周期就可取出2条指令(每条指令为单字长32位);而采用前一方案时,每个时钟周期存储器总线仅取出1条单字长指令。由于访存空间局部性原理,当取出2个指令字时,通常这2个指令字都要使用,但仍有25%的时钟周期中,取出的2个指令字中仅有1个指令字是有用的。试问采用这两种实现方案所构成的存储器带宽为多少?
75
解: 方案一: 采用高速缓冲存储器,使每个时钟周期存储器总线取出1条指令,则 存储器带宽=1字/时钟周期=32位/时钟周期 方案二: 使存储器总线带宽加倍,从而每隔2个时钟周期就可取出2条指令(每条指令为单字长32位),但仍有25%的时钟周期中,取出的2个指令字中仅有1个指令字是有用的,则
76
习题1.19 用一台40MHz处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下: 指令类型 指令数 时钟周期数 整数运算 数据传送 浮点 控制传送 求有效CPI、MIPS速率和程序的执行时间。
78
习题1.20 某工作站采用时钟频率为15MHz、处理速率为10MIPS的处理机来执行一个已知混合程序。假定每次存储器存取为1周期延迟、试问: (a) 此计算机的有效CPI是多少? (b) 假定将处理机的时钟提高到30MHz,但存储器子系统速率不变。这样,每次存储器存取需要两个时钟周期。如果30%指令每条只需要一次存储存取,而另外5%每条需要两次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,试求改进后的处理机性能。
79
解:f==30MHz , MIPS=10, 每次存取时间为2个时钟周期
80
习题1.21 假设在一台40MHz处理机上运行 条指令的目标代码,程序主要由四种指令组成。根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下: 指令类型 CPI 指令混合比 算术和逻辑 % 高速缓存命中的加载/存储 % 转移 % 高速缓存缺失的存储器访问 % (a) 计算在单处理机上用上述跟踪数据运行程序的平均CPI (b) 根据(a)所得CPI,计算相应的MIPS速率。 解: 有效CPI=1×60%+2×18%+4×12%+8×10%=2.24
81
假定我们利用增加向量处理模块来提高计算机的运算速度,计算机处理向量的速度比其通常的运算要快到20倍。我们将可用向量处理部分所花费的时间占总时间的百分比称为可向量化百分比。
(a)求出加速比S和可向量化百分比F之间的关系式。 (b)当要得到加速比为2时的可向量化百分比F为多少?
82
补充习题 某台计算机只有Load/Store 指令能对存储器进行读/写操作,其它指令只对寄存器进行操作。根据程序跟踪实验结果,已知每种指令所占的比例及CPI数如下: 指令类型 指令所占比例 CPI 算逻指令 % Load指令 % Store指令 % 转移指令 % (1) 求上述情况下的平均CPI。 CPI旧=(0.43×1+0.21×2+0.12×2+0.24×2)=1.57
83
(2) 假设程序有M条指令组成。算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load指令从存储器取到寄存器。因此有人建议增加另一种算逻指令,其特点是一个操作数取自寄存器,另一个操作数取自存储器,即寄存器/存储器类型,假设这种指令的CPI等于2。同时,转移指令的CPI变为3。求新指令系统的平均CPI。 解: 原算逻指令中的25%变成了寄存器/存储器型指令,所以算逻指令(寄存器/寄存器型)少了(0.25×0.43)M 条,Load指令少了(0.25×0.43)M 条,而(0.25×0.43)M 条的新指令为寄存器/存储器型指令。指令总数少了(0.25×43%)M条。
84
设执行算逻指令(寄存器/寄存器型) 、 Load指令、算逻指令(寄存器/存储器型) 、 Store指令和转移指令的周期总数分别为C1,C2,C3,C4,C5,所以:
C1=(0.43-(0.25×0.43))M×1=0.3225M C2=(0.21-(0.25×0.43))M×2=0.205M C3=(0.25×0.43)M×2=0.215M C4=0.12M×2=0.24M C5=0.24×3M=0.72M 新指令总数N=(1-(0.25×0.43))M=0.892 CPI新=(C1+C2+C3+C4+C5)/ N =1.7025M/0.8925M=1.908
85
电子管计算机 器件:电子管、继电器,以绝缘导线互连 结构:单CPU,PC,AC顺序完成运算 软件:机器语言,汇编语言
86
晶体管计算机 器件:晶体管、铁氧体,以印刷电路互连 结构:变址寄存器、浮点运算、多路存储、 I/O处理 软件:高级语言,子程序库
87
中小规模集成电路 器件:中小规模集成电路,采用多层印刷电路互连 结构:微程序控制,流水线,Cache,先行处 理机 软件:多道程序设计,分时操作系统
88
大或超大规模集成电路 器件:大或超大规模集成电路,半导体存储器 结构:共享存储器,分布式存储,向量处理,并行处理技术 软件:多处理操作系统,专用语言,编译器,用于并行处理和分布式处理的软件工具和环境
89
VLSI(超大规模集成电路) 器件:超大规模集成电路的工艺更加完善 结构:大规模并行处理技术,可扩展和容许时延的系统结构
Similar presentations