扬州大学计算机体系结构试卷 - 图文

更新时间:2023-10-06 02:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CPU性能计算

2、计算机系统设计的定量原理 1)只加快经常性事件的速度:使经常性事件的速度尽可能处理快,而对不经常发生处理得慢也不会对系统性能有太大影响。

2)Amdahl定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能提高与这种执行方式的使用频率或总执行时间的比例有关。

? Fe=(改进前可改进部分占用的时间)/(改进前整个任务的执行时间),即改进部分所占

比例。

? Se=(改进前改进部分的执行时间)/(改进后改进部分的执行时间),即改进部分的加速

则:

fe1-fe 1.改进后的整个任务的执行时间为:

T0 Tn=To(1-Fe+Fe/Se)

其中,To为改进前的整个任务的执行时间

2.改进后的整个系统加速比为: To1TeSp?? SP=To/Tn=1/[(1-Fe)+Fe/Se] feTefe /re1?fe? re例1 假设将某系统的某一部件的处理度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采取加快措施后整个系统的性能提高多少?

解:由题意知:Fe=0.4,Se=10,根据Amdahl定律,SP=1/(0.6+0.4/10)=1/0.64=1.56.

Amdahl定律告诉我们:一项改进措施可以使整个系统的性能提高多少;为了改进性能价格比,如何合理分配系统资源.

例2 采用哪种实现技术来求浮点数平方根FPSQR 操作对系统的性能影响较大.假设FPSQR操作占整个程序执行时间的20%.一种使采用FPSQR硬件,使FPSQR操作的速度加快到10倍.另一种是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍,还假设FP指令占整个执行时间的50%.请比较这两种方案.

解:分别计算这两种设计方案所能得到的加速比: SFPSQR=1/[(1-0.2)+0.2/10]=1/0.82=1.22

SFP=1/[(1-0.5)+0.5/2=1/0.75=1.33 -------更好 3) CPU性能公式

? CPU的性能取决于三个要素:

? ①时钟频率f(或时钟周期t);

? ②每条指令所花的时钟周期数CPI; ? ③指令条数IC

? 一个程序所花的CPU时间(T)可以表示:

CPU时钟周期数(IC?CPI)CPU时间(T)?? CPU时间(T)=CPU时钟周期数(CPI×IC)*时钟周期长(t)

频率(f)? 每条指令的平均时钟周期数:

CPU时钟周期数目? CPU时钟周期数=?(CPIi*Ii ) CPI?IC? CPU时间(T)=时钟周期长度*?(CPIi*Ii ) ? CPI=?(CPIi*Ii )/IC=?(CPIi*Ii /IC)

Ii是第i种指令的执行次数 Ii/IC是第i种指令所占比例

? 例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%×1.33+25%×2=1.5

显然,提高所有FP指令处理速度的方案要比提高FPSQR处理速度的方案要好。

方案2的加速比=2/1.5= 1.33

例4假设这两台机器的指令系统中,执行条件转移指令需2个时钟周期,而其它指令只需1个时钟周期。

CPUA:采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行测试,以确定是否进行转移。显然实现一次条件转移要执行比较和测试两条指令。条件转移指令占总执行指令条数的20%。由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。

CPUB采用比较功能和判别是否实现转移功能合在一条指令的方法,这样实现一条件转移就只需一条指令就可以完成。由于CPUB在转移指令中包含了比较功能,因此它的时钟周期就比CPUA要慢25%。

现在要问,采用不同转移指令方案的CPUA和CPUB,那个工作速度会更快些?

? 解: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运行得更快些。

? 例5在例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运行得更快些。

例6:用一台40MHz处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下:

指令类型 整数运算 数据传送 浮点 控制传送 指令数 45000 32000 15000 8000 时钟周期数 1 2 2 2 求有效CPI,MIPS速率(百万条指令/秒)和程序的执行时间。 解:CPI=(45000*1+32000*2+15000*2+8000*2)/ (45000+32000+15000+8000)

=1.55周期/指令

MIPS速率=F/(CPI*106)=40*106/(1.55*106) =25.8 MIPS

程序执行时间T=(45000*1+32000*2+15000*2+8000*2)/ (40* 106)=3.875*10-3秒

2.Flynn分类法 1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。 ·指令流:机器执行的指令序列 计算机体系结构 ·数据流:由指令流调用的数据序列,包括输入数据和中间结果 ·多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。 Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。 1·单指令流单数据流(SingleInstructionStreamSingleDataStream,SISD) SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。 2·单指令流多数据流(SingleInstructionStreamMultipleDataStream,SIMD) SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。 3·多指令流单数据流(MultipleInstructionStreamSingleDataStream,MISD) MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。

4·多指令流多数据流(MultipleInstructionStreamMultipleDataStream,MIMD) MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2)

冯式分类法

1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。

由此得出四种不同的计算机结构:

①字串行、位串行(简称WSBS)。其中N=1,M=1。 ②字并行、位串行(简称WPBS)。其中N=1,M>1。 ③字串行、位并行(简称WSBP)。其中N>1,M=1。 ④字并行、位并行(简称WPBP)。其中N>1,M>1。

冯氏分类法

1972年冯泽云提出用最大并行度对计算机系统结构进行分类.分为: ①.字串位串WSBS ②.字并位串WPBS ③.字串位并WSBP ④.字并位并WPBP 另外还有HANDLER分类法:

根据并行度和流水线提出的分类方法

3.操作码优化

本文来源:https://www.bwwdw.com/article/f3pd.html

Top