计算机体系结构.docx
- 文档编号:25837000
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:507.44KB
计算机体系结构.docx
《计算机体系结构.docx》由会员分享,可在线阅读,更多相关《计算机体系结构.docx(19页珍藏版)》请在冰豆网上搜索。
计算机体系结构
Chapter1
计算题
●需求筛选的依据是本钱性能比
●直接实现一般指用硬件实现,而间接实现是指用软件实现
●软件和硬件要综合考虑,要以价格性能比上下为取舍原那么。
●常用的根本功能或产量很大的功能才适宜于用硬件实现。
●设计者最终要用本钱性能比作为软、硬件实现功能的取舍标准;消费者要用价格性能比作为选购计算机系统的取舍标准。
●设计人员的参考原那么:
⏹考虑用户应用领域
⏹设计周期长的硬件不宜采用
⏹常用的功能尽量采用硬件实现
⏹实现功能的本钱性能比(或价格性能比)要低
⏹超前设计
●某一计算机用于商业外贸的事务处理,有大量的字符串处理操作。
由于这种商务处理很普遍,有较大的市场,故而设计人员决定在下一代计算机的CPU中参加字符串操作的功能。
经测试应用软件调查发现,字符串操作的使用占整个程序运行时间的50%。
而增加此功能如用软件(如微程序)实现,那么快5倍,增加CPU本钱1/5倍;如果用硬件实现,那么快100倍,CPU本钱增加到5倍。
问设计人员提出增加此功能是否恰当?
如恰当那么此功能应该用软件实现还是用硬件实现?
设CPU本钱占整机本钱的1/3
解:
首先来计算机在两种情况下提高的性能和本钱性能比。
设:
S为CPU未增加字符串功能时的CPU平均速度,Told为此时运行程序的时间,Tnew为增加字符串功能后程序运行的时间,那么
●Amdahl定律(性能递减规那么)
⏹某部件应用越频繁,当提高该部件性能时,整机性能也提高的越多。
但不管该部件性能提高多大,整机的性能加速不可能大于在原机器中除该部件外所有其它部件运行时间的百分比的倒数1/(1-F)
⏹计算机性能的改善程度受其采用的快速部件(被提高性能的部件)在原任务中使用所占的时间百分比的限制
⏹
●采用新器件使某一功能性能提高10倍,但该功能的使用只占原程序运行时间的40%。
请计算新计算机性能改善了多少?
●
●高频事件高速处理(大概率事件优先的原那么)
●局部性原理
⏹最重要的是90/10局部性规那么
⏹时间局部性
⏹空间局部性
●适应计算机开展趋势
●在指令系统中指令确实定是属于计算机系统结构的,而指令操作的实现,如取指令、取操作数、运算、送结果等具体操作及排序方式是属于计算机组成的,而实现这些指令功能的具体电路、器件的设计及装配技术是计算机物理实现的
●计算机的性能是指在计算机上完成用户的应用任务所需的时间长短
●响应(实耗)时间是指计算机系统完成某一任务(程序)所花费的时间
⏹速度,即用响应时间的倒数
⏹用速度来评价性能,我们称“高〞为性能好;如果用响应时间来评价性能,我们称“短〞为性能好
●计算机整机性能分成两局部:
一是CPU执行程序的时间,二是等待时间。
提高计算机性能就是提高CPU性能和减少等待时间。
●CPU时间也包含两局部,即用户CPU时间(userCPUtime)和系统CPU时间(systemCPUtime)
●CPUtime=整个程序的总时钟数×时钟周期
●每条指令的平均时钟周期数(ClockcyclesPerInstruction),简称为CPI
●指令数×CPI代替总时钟数
●设条件转移指令的实现有两种方案可以选择。
机器A:
用两条指令完成。
由比拟指令建立条件码,再在转移指令中测试条件码。
机器B:
只用一条指令。
比拟和转移一起执行。
对于这两种机器来说,条件转移指令用2个时钟,所有其它指令花费一个时钟。
在机器A上有20%的执行指令是条件转移指令,因此每个转移都需要比拟,有20%是比拟指令。
由于机器A在转移指令中没有比拟功能,这样时钟频率比机器B快25%,问哪个机器快?
解:
忽略所有等待及系统时间,我们可以用CPU时间来比拟机器的性能。
机器A:
CPIA=20%×2+80%×1=
CPUtimeA=指令数A××时钟周期A=IAτA
机器B:
无比拟指令,那么指令数要比机器A少20%,只有机器A指令数的80%,即指令数B=80%指令数A。
在机器A的指令中有20%指令是转移指令,它占机器B的指令数的百分比是20%/80%=25%。
因此机器B的CPIB=25%×2+75%×1=。
同时A机器时钟比B机器快25%,故时钟周期τB=(1+25%)τA=τA
CPUtimeB=指令数B×CPIB×时钟周期B
=IA××τA=IAτA
从计算中我们看出机器A虽然比机器B多执行了20%的指令,但由于它的时钟周期短,同时CPI也小,反而比机器B快
●某台计算机的指令集原来进行存储器访问的指令只有Load/Store,其它指令只能在存放器之间操作。
这种机器我们称为Load/Store型机器。
现测得这台Load/Store计算机指令的使用频率和时钟数如表1-5所示。
在ALU操作中,有25%的操作数是由Load指令取得。
现在ALU操作中使其有一个操作数可以在存储器内,即register-memory指令,这条指令执行的时钟数是2。
假设扩展指令集后使转移指令增加1个时钟数,但不影响时钟周期,问这样改变后计算机性能是否提高?
●
●对于例1-6的计算机,我们采用优化编译来改善其性能。
编译可以减少50%的ALU指令,但它不能减少Load,Store和Branch指令,忽略系统因素,并假设时钟周期是20ns(50MHz频率),请问优化编译后的MIPS和没有优化编译时的MIPS各为多少?
MIPS的变化和执行时间的变化是否一致?
●
●基准程序的一般设计原那么
⏹具有代表性
⏹不能对基准程序进行优化。
⏹复现性。
⏹可移植性。
⏹紧凑性。
⏹本钱-效率要高
●性能报告相关参数的计算
●哈夫曼压缩的根本思想是:
出现频率最大的事件用最少的位〔或最短的时间〕来表示〔或处理〕,而频率较小的事件用较多的位〔较长的时间〕来表示〔或处理〕,从而到达平均位数〔或时间〕缩短的目的
●操作码的信息源熵(entropy系统包含的平均信息量)公式
H=-Σpilog2pi
式中pi为事件出现的频率
●
Chapter2
●计算机的三种机器结构
⏹堆栈
◆优点:
赋值表达式简单,指令长度较短,代码密度高;
◆缺点:
不能随机访问存储器,代码效率低。
⏹累加器
◆优点:
机器内部状态最少,指令长度最短〔9bytes〕;
◆缺点:
仅一个暂存器,和存储器的通信频繁。
⏹通用存放器
◆优点:
最一般的指令模型,第一类,存放器利用率最高,代码长度MAX<15字节。
第二类,和累加器形式相似,暂存器个数多;
◆缺点:
存放器要显示说明,导致指令字较长。
●在ALU指令中不对内存进行操作的计算机称为载入-存储(Load-Store)或者存放器-存放器(register-register)机器。
ALU指令中有一个内存操作数的指令称为存放器-存储器(register-memory)指令。
有多个内存操作数的指令称为存储器-存储器(memory-memory)指令。
●我们是在确定了计算机应有的功能后,并确定了哪些功能是由硬件来实现(直接提供指令),哪些功能是由软件实现(由根本指令组合实现)后,再来进行指令集的设计。
●最常用的指令操作:
存储器访问(memoryreferences)、算术逻辑单元(ALUoperation)操作和转移指令(branch)操作三类。
●控制操作、算术操作和数据传输三大类指令是最常用的,可以认为也是各种计算机必不可少的指令。
●假定反向条件转移指令90%是成功的,用表2-4平均数计算正向条件转移的成功率。
●
●正向条件转移大局部是不成功的,它满足条件的概率较低
●在字单元地址内有两种字节排列次序:
第一种为低位收尾(littleendian),其字节次序是低字节在最低位的排列;第二种为高位收尾(bigendian),其字节次序是高字节在最低位的排列
●假设访问的数据字节数是S,而访问的字节地址是A,那么AmodS=0,那么称为地址A所访问的S字节是对齐的。
●只要是跨CPU字地址的存放器总线访问一定要两个总线访问周期才能完成
●存放器分配策略
1.假设计算机具有无穷多个存放器,根据需要分配存放器的变量个数,以出现时间先后为序建立一个存放器变量图。
图中每个变量用小圆圈表示,圈内标上变量名,每个变量称为一个节点。
2.用弧连接各相邻节点。
连接的原那么是可能同时出现的变量节点作为相邻节点,用弧连接起来。
从变量角度来讲,线段连接的是时空上重叠出现的变量生存范围。
此时称整个图为相干图。
3.编译程序给相干图着色。
着色的颜色数应小于等于能分配给变量的存放器数,着色的条件是相邻节点不可以用同样的颜色。
这种限制使两个同时出现的变量不会争用同一个存放器。
没有线段相连的节点,可以是同一种颜色,即允许不重叠出现的变量使用同一个存放器。
着色后每一种颜色对应一个活动变量或一个存放器。
根据相干图分配物理存放器。
●RISC设计思想是:
指令集设计时根据Amdahl定律选择使用概率高的指令构成指令集,这些大概率指令一般是简单指令,因此控制器可以设计的简单、高速,且占CPU集成电路芯片的面积少,空出较多的集成电路芯片面积用来增加存放器数量。
在编译的配合下减少访存次数,减少指令间的各种相关和竞争,尽可能得到最正确指令序列,从而提高计算机系统的整体性能。
●某应用程序,简单的根本指令占80%,而复杂指令占20%,在传统CISC计算机上运行,简单指令的CPI=4,复杂指令的CPI=8,而在RISC计算机上运行只有简单指令,其CPI=1,复杂指令用简单指令合成实现。
假设平均每条复杂指令需14条根本指令组合,请比拟个计算机系统运行该应用程序的性能。
解:
设CISC计算机的时钟周期为TCISC,RISC计算机的时钟周期为TRISC,那么:
CISC计算机的平均
RISC计算机的指令数增加为
IRISCICISCICISC×ICISC
因CPUtime=I×CPI×T
故CPUtime-CISC=ICISC××TCISCICISC×TCISC
CPUtime-RISC=IRISC×1×TRISCICISC×TRISC
假设TCISC=TRISC,那么RISC计算机比CISC计算机性能提高33%。
实际上,减少TRISC比减少TCISC要来的容易。
Chapter3
画图题
●处理器可分为两局部
⏹数据通路
⏹控制器
●
●一条指令的执行分为以下五个步骤:
⏹1.取指令(instructionfetch)。
⏹2.指令译码/存放器读出(instructiondecode/registerfetch)。
⏹3.执行/有效地址计算(execution/effectiveaddress)。
◆a.访存指令(accessinstruction)
◆b.ALU指令(ALUinstruction)
◆c.无条件转移/条件转移指令(jumpinstruction/branch)
⏹4.存储器访问/完成转移(memoryaccess/branchcompletion)
◆a.访存指令(accessinstruction)
◆b.转移指令(branchinstruction)
⏹5.写回(write-back〕。
●
●
Chapter4
计算题简答题
●流水线〔pipeline〕是指在程序执行时多条指令重叠进行的操作的一种准并行处理实现技术
●流水线的特点:
⏹一条流水线由多个流水级组成;
⏹每个流水级有专门的功能部件对指令进行某种加工;
⏹各流水级所需时间是一样的〔同时〕;
⏹流水线工作阶段可分为建立、满载和排空三个阶段;
⏹单位时间内流出流水线的指令数即吞吐率。
●流水线设计最难的任务是确定每个流水级功能部件处理事件的时间
●每条指令平均执行时间=
●流水线深度是指流水线中总的流水级的数目。
在这种条件下,流水线计算机的加速比(speedup)就等于流水级的深度。
●流水线只能减少每条指令的平均执行时间,一条指令的实际执行时间要经过所有流水级,其实际执行时间有可能比未流水时还要长
●流水线有多种分类方法
⏹按处理的级别分类
◆操作部件级
◆指令级
◆处理器级
⏹按完成的功能分类
◆单功能流水线
◆多功能流水线
⏹按连接的方式分类
◆静态流水线
◆动态流水线
静态流水线是指在同一个时间内,多功能结构只能按一种功能的连接方式工作,这对于大量数据进行相同处理来说,具有很好的效果。
但是遇到不同功能交替处理时,流水线就失去了其优点,运算速度与顺序处理方式没有什么区别。
动态流水线是指在同一个时间内,可以有多种功能的连接方式同时工作。
如图4-5中多个功能段,其中一些功能段正在实现乘法运算,同时其它功能段还可以进行浮点加减运算,这种方式的流水工作效率最高,但是控制也变得更复杂。
⏹按处理的数据类型分类
◆标量流水线
◆向量流水线
⏹从流水线结构上分类
◆线性流水线
◆非线性流水线
●假定RISC流水线计算机,时钟周期是10ns,ALU操作和条件转移要4个时钟周期,而存储器访问操作要5个时钟周期。
这三种指令操作的使用概率相应是40%,20%和40%。
假设由于时钟上升和建立,流水线机器周期要增加1ns的开销。
忽略任何其它延时影响,问5级流水线机器可以获得的加速比是多少?
解:
非流水线计算机平均每条指令执行时间为:
Timeup=τ×CPI=10×[(40%+20%)×4+40%×5]=1=44ns
流水线计算机每条指令平均执行时间为:
Timep=[(10+1)×5]/5=11ns
那么流水线计算机的Speedup为:
Speedup=44/11=4倍
●假定机器指令执行需要5个功能单元,这5个单元的操作所需时间分别是10,8,10,10,7ns。
假定流水要增加1ns的开销。
求出流水相对于单周期指令机器的加速比
解:
非流水计算机执行所有指令都用单个时钟,它的每条指令平均时间直接是一个时钟周期。
时钟周期等于每一步的执行时间之和,即
timeup=10+8+10+10+7=45ns
在流水线机器上的时钟周期必须是流水线中执行时间最长的流水部件的执行时间,再加上1ns的开销,总共是
timep=10+1=11ns
Speedup=45/11=4.1(倍)
一般认为,流水线改善了CPI,也可以把它看作是提高了时钟频率。
●流水线竞争有三种
⏹结构竞争〔structurehazard〕(资源竞争):
由资源缺乏引起
⏹数据竞争〔datahazard〕:
由指令间数据相关而引起
⏹控制竞争〔controlhazard〕:
由程序指针PC值的改变而引起
●计算存储器结构竞争的代价。
假定程序中存储器数据访问有40%。
计算机流水线忽略结构冲突的理想CPI等于1。
又假设有结构竞争的计算机时钟频率是没有结构竞争时的倍。
不考虑其它性能损失。
流水线有结构竞争和无结构竞争哪一个执行速度快?
快多少?
解:
有许多方法可以解这个问题,最简单的方法是计算平均指令的运行时间Taver=I×CPI×τ
两机器和时钟关系
f有结构竞争=×f理想
τ有结构竞争=τ理想
无结构竞争,即没有插入Stall,由于理想CPI=1,故平均指令执行时间Ta无结构竞争=I×CPI×τ理想=I×τ理想
有结构竞争平均指令执行时间为
Ta有结构竞争=I×CPI×τ=×1)I×τ理想=1.3I×τ理想
很明显,无结构竞争的计算机运行速度要快,且要快倍。
●允许结构竞争存在
⏹减少本钱
⏹降低单元电路的延时时间
⏹减少电路的复杂程度
●现代许多RISC计算机,浮点操作都没有采用完全流水方式。
假设在5级RISC流水处理器中,浮点乘法操作没用流水方式实现,有4个时钟的等待时间。
浮点乘法指令使用频率为14%,且假设浮点乘法指令在程序中完全均匀分布,请分析结构竞争对性能影响的程度。
分两种极端情况分析:
1.浮点乘法操作均匀分布,这是最正确情况,此时每7条指令有一个浮点乘法操作,大于5,故所有浮点乘法都可以和其它指令重叠执行,这种情况始终没有关于浮点乘法器的结构竞争,也不需插入Stall,性能没有损失。
2.浮点乘法操作成串出现,且中间没有其它指令间隔,这是最差的情况。
这时局部相当于每条指令都是浮点乘法操作(即100%),结构竞争最严重。
在这种情况下,14%的浮点乘法都要延时4个时钟才能进入浮点乘法执行部件。
假定理想CPI=1,此时的CPI为
CPI=1+4×14%=
●旁路技术
●插入Stall
●假定30%的指令是Load指令,其中一半情况是紧跟Load后面的指令依赖Load指令的结果。
如果出现数据竞争要停顿一个流水节拍。
那么相对于理想流水线机器〔CPI=1〕,实际流水线性能损失多少?
忽略其它流水停顿。
解:
当有数据竞争时,Load后面的指令其CPI=2,这种情况Load指令的一半,即15%,而其余指令的CPI值仍为1,没有变化,故实际机器的CPI为
CPI=(100%-15%)×1+15%×2=
由于指令总数和时钟周期均未变化,故实际机器性能损失
-1)/1=15%
即与理想机器相比性能损失了15%。
●静态调度〔防止插入Stall的性能损失〕
●假定由Load指令引起的数据竞争有一个流水节拍的停顿,采用指令调度方法生成代码,防止以下语句序列出现流水等待
a=b+cd=e-f
●指令从ID级流入EX级,一般称指令发射(instructionissue)。
一条指令已建立了这一过程,称为已发射(issued)
●把碰到转移指令到转移行为明确之间的时间间隔称为转移的延时时间,后继指令组成的转移延时时间称为转移延时槽
●对延时槽的处理有三种编译调度方法
⏹取自转移指令前。
这是最正确选择。
⏹取自目标指令。
一般用于转移成功概率高的地方,如循环语句。
⏹取自转移指令后。
一般用于转移成功概率较低的地方。
●功能部件的等待时间(latency)是产生结果指令和使用该结果的指令之间必须间隔的时钟数,功能部件的启动间隔或重复间隔(initiationinterval或repeatinterval)是指两个进入同一部件的操作之间所必须等待的时间间隔
●记分牌的目的是在无资源竞争的前提下保持每一个时钟周期执行一条指令的速率,尽可能提早指令执行。
●记分牌的任务是控制指令的发射和执行,同时也包括检测所有竞争
●流水线机器的乱序执行意味着多条指令在EX级同时执行
●记分牌有以下四级流水步骤:
⑴发射级(issue)//∗处理结构竞争和WAW竞争
⑵读操作数(readoperands)//∗动态解决RAW竞争
⑶执行(execution)
⑷写结果(writeresult)//∗处理WAR竞争
Chapter5
●评价存储器性能的参数主要有三个方面
⏹容量
⏹速度
⏹价格
●高速度、大容量、低价格始终是存储体系的设计目标
●命中率(hitrate)H:
CPU产生的有效地址可以在高层存储器中访问到的概率
失配〔效〕率(missrate)M:
CPU产生的有效地址不能直接在高层存储器中访问到的概率。
M=1-H
●平均存储访问时间=命中时间+失配率×失配时间,表示为:
AMT=HT+M×MP
●当失配损失较小,只有几十个时钟周期时,CPU采用等待块传输结束的策略。
当失配损失较大,到达CPU时钟周期的几千倍时,一般采用中断使CPU切换到其它进程去执行的方法。
●如果块传送只需几十个时钟周期,那么这种传送机制一般用硬件来控制;
如果需要几千个时钟周期,那么可以用软件方法实现。
●映象方式(直接映象、全关联映象、组关联映象)
Chapter8
●并行体系结构的分类(Flynn结构)
⏹单指令流单数据流SISD
⏹单指令流多数据流SIMD
⏹多指令流单数据流MISD
⏹多指令流多数据流MIMD
◆对称多处理SMP
◆分布式存储处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机体系结构