计算机体系结构

上传人:Sc****h 文档编号:146074845 上传时间:2022-08-30 格式:DOCX 页数:13 大小:401.59KB
收藏 版权申诉 举报 下载
计算机体系结构_第1页
第1页 / 共13页
计算机体系结构_第2页
第2页 / 共13页
计算机体系结构_第3页
第3页 / 共13页
资源描述:

《计算机体系结构》由会员分享,可在线阅读,更多相关《计算机体系结构(13页珍藏版)》请在装配图网上搜索。

1、.Chapter 1计算题需求筛选的依据是成本性能比直接实现一般指用硬件实现,而间接实现是指用软件实现软件和硬件要综合考虑,要以价格性能比高低为取舍原则。常用的基本功能或产量很大的功能才适宜于用硬件实现。设计者最终要用成本性能比作为软、 硬件实现功能的取舍标准; 消费者要用价格性能比作为选购计算机系统的取舍标准。设计人员的参考原则:考虑用户应用领域设计周期长的硬件不宜采用常用的功能尽量采用硬件实现实现功能的成本性能比(或价格性能比 )要低超前设计某一计算机用于商业外贸的事务处理,有大量的字符串处理操作。由于这种商务处理很普遍,有较大的市场,故而设计人员决定在下一代计算机的CPU 中加入字符串操

2、作的功能。经测试应用软件调查发现, 字符串操作的使用占整个程序运行时间的 50%。而增加此功能如用软件 (如微程序 )实现,则快 5 倍,增加 CPU 成本 1/5 倍;如果用硬件实现,则快 100 倍,CPU成本增加到 5 倍。问设计人员提出增加此功能是否恰当?如恰当则此功能应该用软件实现还是用硬件实现?设CPU成本占整机成本的1/3解:首先来计算机在两种情况下提高的性能和成本性能比。设:S 为 CPU 未增加字符串功能时的CPU平均速度, Told 为此时运行程序的时间, Tnew 为增加字符串功能后程序运行的时间,则;.Amdahl 定律(性能递减规则 )某部件应用越频繁,当提高该部件性

3、能时,整机性能也提高的越多。但不管该部件性能提高多大, 整机的性能加速不可能大于在原机器中除该部件外所有其它部件运行时间的百分比的倒数 1/(1-F)计算机性能的改善程度受其采用的快速部件(被提高性能的部件)在原任务中使用所占的时间百分比的限制采用新器件使某一功能性能提高10 倍,但该功能的使用只占原程序运行时间的40%。;.请计算新计算机性能改善了多少?高频事件高速处理(大概率事件优先的原则)局部性原理最重要的是90/10 局部性规则时间局部性空间局部性适应计算机发展趋势在指令系统中指令的确定是属于计算机系统结构的,而指令操作的实现,如取指令、 取操作数、 运算、送结果等具体操作及排序方式是

4、属于计算机组成的,而实现这些指令功能的具体电路、器件的设计及装配技术是计算机物理实现的计算机的性能是指在计算机上完成用户的应用任务所需的时间长短响应 (实耗 )时间是指计算机系统完成某一任务(程序 )所花费的时间速度,即用响应时间的倒数用速度来评价性能,我们称“高”为性能好;如果用响应时间来评价性能,我们称“短”为性能好计算机整机性能分成两部分:一是 CPU 执行程序的时间,二是等待时间。提高计算机性能就是提高 CPU性能和减少等待时间。CPU时间也包含两部分,即用户CPU时间 (user CPU time) 和系统 CPU时间 (system CPUtime)CPUtime =整个程序的总时

5、钟数时钟周期每条指令的平均时钟周期数 (Clock cycles Per Instruction) ,简称为 CPI指令数 CPI 代替总时钟数设条件转移指令的实现有两种方案可以选择。机器 A:用两条指令完成。由比较指令建立条件码,再在转移指令中测试条件码。机器 B:只用一条指令。比较和转移一起执行。对于这两种机器来说, 条件转移指令用2 个时钟, 所有其它指令花费一个时钟。在机器 A 上有 20%的执行指令是条件转移指令,因此每个转移都需要比较,有 20%是比较指令。由于机器 A 在转移指令中没有比较功能,这样时钟频率比机器B 快 25%,问哪个机器快?解:忽略所有等待及系统时间,我们可以用

6、CPU时间来比较机器的性能。机器 :ACPIA 20% 2 80% 1 1.2CPU指令数 1.2时钟周期A 1.2ItimeAAA A机器 B:无比较指令,则指令数要比机器A 少 20%,只有机器 A 指令数的 80%,即指令数B=80%指令数 A。在机器 A 的指令中有 20%指令是转移指令,它占机器B的指令数的百分比是20% 80%=25%。因此机器 B 的;.CPIB 25%2 75% 1 1.25。同时 A 机器时钟比 B 机器快 25%,故时钟周期 (1+25%) 1.25 BAACPUtimeB 指令数B CPIB时钟周期B 0.80I A 1.25 1.25A 1.25I AA

7、从计算中我们看出机器 A 虽然比机器 B 多执行了 20%的指令, 但由于它的时钟周期短,同时 CPI 也小,反而比机器 B 快某台计算机的指令集原来进行存储器访问的指令只有Load/Store ,其它指令只能在寄存器之间操作。 这种机器我们称为Load/Store 型机器。 现测得这台Load/Store 计算机指令的使用频率和时钟数如表1-5 所示。在 ALU 操作中,有25%的操作数是由Load 指令取得。现在ALU 操作中使其有一个操作数可以在存储器内,即register-memory指令,这条指令执行的时钟数是2。假设扩展指令集后使转移指令增加 1 个时钟数, 但不影响时钟周期, 问

8、这样改变后计算机性能是否提高?;.对于例 1-6 的计算机,我们采用优化编译来改善其性能。编译可以减少50%的 ALU 指令,但它不能减少Load,Store 和 Branch 指令,忽略系统因素, 并假设时钟周期是20ns(50MHz频率 ),请问优化编译后的 MIPS 和没有优化编译时的 MIPS各为多少? MIPS 的变化和执行时间的变化是否一致?基准程序的一般设计原则具有代表性不能对基准程序进行优化。复现性。可移植性。紧凑性。成本 -效率要高性能报告相关参数的计算哈夫曼压缩的基本思想是: 出现频率最大的事件用最少的位 (或最短的时间) 来表示(或处理),而频率较小的事件用较多的位(较长

9、的时间)来表示(或处理),从而达到平均位数(或时间)缩短的目的操作码的信息源熵(entropy 系统包含的平均信息量 )公式H= pilog2pi式中 pi 为事件出现的频率Chapter 2计算机的三种机器结构堆栈优点:赋值表达式简单,指令长度较短,代码密度高;缺点:不能随机访问存储器,代码效率低。累加器;.优点:机器内部状态最少,指令长度最短(9bytes );缺点:仅一个暂存器,和存储器的通信频繁。通用寄存器优点:最一般的指令模型,第一类,寄存器利用率最高,代码长度MAX 15字节。第二类,和累加器形式相似,暂存器个数多;缺点:寄存器要显示说明,导致指令字较长。在 ALU指令中不对内存进

10、行操作的计算机称为载入-存储 (Load-Store)或者寄存器 -寄存器(register-register) 机器。ALU 指令中有一个内存操作数的指令称为寄存器-存储器 (register-memory) 指令。有多个内存操作数的指令称为存储器-存储器 (memory-memory) 指令。我们是在确定了计算机应有的功能后,并确定了哪些功能是由硬件来实现(直接提供指令 ),哪些功能是由软件实现(由基本指令组合实现)后,再来进行指令集的设计。最常用的指令操作: 存储器访问 (memory references) 、算术逻辑单元 (ALU operation) 操作和转移指令 (branch

11、) 操作三类。控制操作、 算术操作和数据传输三大类指令是最常用的,可以认为也是各种计算机必不可少的指令。假定反向条件转移指令90%是成功的,用表2-4 平均数计算正向条件转移的成功率。正向条件转移大部分是不成功的,它满足条件的概率较低在字单元地址内有两种字节排列次序:第一种为低位收尾 (little endian) ,其字节次序是低字节在最低位的排列; 第二种为高位收尾 (big endian) ,其字节次序是高字节在最低位的排列假设访问的数据字节数是S,而访问的字节地址是A,那么 A mod S =0,则称为地址A所访问的 S 字节是对齐的。只要是跨 CPU 字地址的寄存器总线访问一定要两个

12、总线访问周期才能完成寄存器分配策略1.假设计算机具有无穷多个寄存器,根据需要分配寄存器的变量个数,以出现时间先后为序建立一个寄存器变量图。 图中每个变量用小圆圈表示, 圈内标上变量名,每个变量称为一个节点。2. 用弧连接各相邻节点。连接的原则是可能同时出现的变量节点作为相邻节点,用弧连接起来。从变量角度来讲,线段连接的是时空上重叠出现的变量生存范围。此时称整个图为相干图。3. 编译程序给相干图着色。着色的颜色数应小于等于能分配给变量的寄存器数,着色的条件是相邻节点不可以用同样的颜色。这种限制使两个同时出现的变量不会;.争用同一个寄存器。没有线段相连的节点,可以是同一种颜色,即允许不重叠出现的变

13、量使用同一个寄存器。 着色后每一种颜色对应一个活动变量或一个寄存器。 根据相干图分配物理寄存器。RISC设计思想是:指令集设计时根据Amdahl 定律选择使用概率高的指令构成指令集,这些大概率指令一般是简单指令,因此控制器可以设计的简单、高速,且占CPU 集成电路芯片的面积少,空出较多的集成电路芯片面积用来增加寄存器数量。在编译的配合下减少访存次数, 减少指令间的各种相关和竞争, 尽可能得到最佳指令序列, 从而提高计算机系统的整体性能。某应用程序,简单的基本指令占 80%,而复杂指令占 20%,在传统 CISC计算机上运行,简单指令的 CPI=4,复杂指令的 CPI=8,而在 RISC计算机上

14、运行只有简单指令, 其 CPI=1,复杂指令用简单指令合成实现。假设平均每条复杂指令需 14 条基本指令组合,请比较个计算机系统运行该应用程序的性能。解:设 CISC计算机的时钟周期为TCISC, RISC计算机的时钟周期为TRISC,则:CISC计算机的平均CPI=0.8 4+0.2 8=4.8RISC计算机的指令数增加为I =0.8I+0.2I 14=3.6IRISCCISCCISCCISC因CPUtime =I CPI T故CPUtime-CISC=ICISC 4.8 TCISC=4.8ICISC TCISCCPU=I 1 T =3.6I Ttime-RISCRISCRISCCISCRI

15、SC;.若 TCISC=TRISC ,则 RISC计算机比CISC计算机性能提高33%。实际上,减少TRISC比减少 TCISC要来的容易。Chapter 3画图题处理器可分为两部分数据通路控制器一条指令的执行分为以下五个步骤:1. 取指令 (instruction fetch)。2. 指令译码 / 寄存器读出 (instruction decode/register fetch) 。3. 执行 / 有效地址计算 (execution/effective address) 。a. 访存指令 (access instruction)b. ALU 指令 (ALU instruction )c. 无

16、条件转移 / 条件转移指令 (jump instruction / branch)4. 存储器访问 / 完成转移 (memory access/branch completion)a. 访存指令 (access instruction)b. 转移指令 (branch instruction)5. 写回 (write-back )。;.;.Chapter 4计算题简答题流水线( pipeline )是指在程序执行时多条指令重叠进行的操作的一种准并行处理实现技术流水线的特点:一条流水线由多个流水级组成;每个流水级有专门的功能部件对指令进行某种加工;各流水级所需时间是一样的(同时);流水线工作阶段可

17、分为建立、满载和排空三个阶段;单位时间内流出流水线的指令数即吞吐率。流水线设计最难的任务是确定每个流水级功能部件处理事件的时间非流水计算机上指令执行时间流水线深度每条指令平均执行时间=流水线深度是指流水线中总的流水级的数目。在这种条件下,流水线计算机的加速比(speedup)就等于流水级的深度。流水线只能减少每条指令的平均执行时间,一条指令的实际执行时间要经过所有流水级,其实际执行时间有可能比未流水时还要长流水线有多种分类方法按处理的级别分类操作部件级指令级处理器级按完成的功能分类单功能流水线多功能流水线按连接的方式分类静态流水线动态流水线静态流水线是指在同一个时间内, 多功能结构只能按一种功

18、能的连接方式工作, 这对于大量数据进行相同处理来说, 具有很好的效果。 但是遇到不同功能交替处理时, 流水线就失去了其优点,运算速度与顺序处理方式没有什么区别。动态流水线是指在同一个时间内,可以有多种功能的连接方式同时工作。如图 4-5 中多个功能段, 其中一些功能段正在实现乘法运算, 同时其它功能段还可以进行浮点加减运算,这种方式的流水工作效率最高,但是控制也变得更复杂。按处理的数据类型分类标量流水线向量流水线从流水线结构上分类;.线性流水线非线性流水线假定 RISC流水线计算机,时钟周期是10ns,ALU 操作和条件转移要4 个时钟周期,而存储器访问操作要5 个时钟周期。 这三种指令操作的

19、使用概率相应是40%,20%和 40%。假设由于时钟上升和建立,流水线机器周期要增加1ns 的开销。忽略任何其它延时影响,问 5 级流水线机器可以获得的加速比是多少?解:非流水线计算机平均每条指令执行时间为:Time up CPI 10 (40%+20%) 4+40%105 4.4=44ns流水线计算机每条指令平均执行时间为:Timep (10+1) 5/5 11ns则流水线计算机的Speedup 为: Speedup=44/11=4 倍假定机器指令执行需要5 个功能单元,这5 个单元的操作所需时间分别是10, 8, 10,10, 7ns。假定流水要增加1ns 的开销。求出流水相对于单周期指令

20、机器的加速比解:非流水计算机执行所有指令都用单个时钟,它的每条指令平均时间直接是一个时钟周期。时钟周期等于每一步的执行时间之和,即timeup=10+8+10+10+7=45ns在流水线机器上的时钟周期必须是流水线中执行时间最长的流水部件的执行时间,再加上 1ns 的开销,总共是timep=10+1=11nsSpeedup=45/11=4.1( 倍 )一般认为,流水线改善了CPI,也可以把它看作是提高了时钟频率。流水线竞争有三种结构竞争( structure hazard ) (资源竞争 ):由资源缺乏引起数据竞争( data hazard):由指令间数据相关而引起控制竞争( control

21、hazard ):由程序指针PC值的改变而引起计算存储器结构竞争的代价。 假定程序中存储器数据访问有 40%。计算机流水线忽略结构冲突的理想 CPI 等于 1。又假设有结构竞争的计算机时钟频率是没有结构竞争时的1.05 倍。不考虑其它性能损失。 流水线有结构竞争和无结构竞争哪一个执行速度快?快多少?解: 有许多方法可以解这个问题,最简单的方法是计算平均指令的运行时间TaverI CPI两机器和时钟关系f 有结构竞争1.05 f 理想有结构竞争理想 /1.05无结构竞争, 即没有插入Stall,由于理想CPI1,故平均指令执行时间Ta无结构竞争 I CPI理想 I 理想有结构竞争平均指令执行时间

22、为Ta有结构竞争I CPI(1+0.4 1)I 理想 /1.05 1.3I 理想很明显,无结构竞争的计算机运行速度要快,且要快1.3 倍。允许结构竞争存在;.减少成本降低单元电路的延时时间减少电路的复杂程度现代许多 RISC计算机,浮点操作都没有采用完全流水方式。假设在 5 级 RISC流水处理器中,浮点乘法操作没用流水方式实现, 有 4 个时钟的等待时间。 已知浮点乘法指令使用频率为 14%,且假设浮点乘法指令在程序中完全均匀分布, 请分析结构竞争对性能影响的程度。分两种极端情况分析:1. 浮点乘法操作均匀分布,这是最佳情况,此时每7 条指令有一个浮点乘法操作,大于 5,故所有浮点乘法都可以

23、和其它指令重叠执行,这种情况始终没有关于浮点乘法器的结构竞争,也不需插入 Stall,性能没有损失。2. 浮点乘法操作成串出现,且中间没有其它指令间隔,这是最差的情况。这时局部相当于每条指令都是浮点乘法操作(即 100%),结构竞争最严重。在这种情况下,14%的浮点乘法都要延时4 个时钟才能进入浮点乘法执行部件。假定理想CPI 1,此时的CPI 为CPI 1 4 14%1.6旁路技术插入 Stall假定 30%的指令是Load 指令,其中一半情况是紧跟Load 后面的指令依赖Load 指令的结果。如果出现数据竞争要停顿一个流水节拍。那么相对于理想流水线机器(CPI=1),实际流水线性能损失多少

24、?忽略其它流水停顿。解: 当有数据竞争时,Load 后面的指令其CPI=2,这种情况Load 指令的一半,即15%,而其余指令的CPI值仍为 1,没有变化,故实际机器的CPI为CPI (100% 15%)1 15%2 1.15由于指令总数和时钟周期均未变化,故实际机器性能损失(1.15 1) 1 15%即与理想机器相比性能损失了15%。静态调度(避免插入Stall 的性能损失)假定由 Load 指令引起的数据竞争有一个流水节拍的停顿,采用指令调度方法生成代码,避免下列语句序列出现流水等待ab cd e f指令从 ID 级流入 EX 级,一般称指令发射 (instruction issue)。一

25、条指令已建立了这一过程,称为已发射 (issued)把碰到转移指令到转移行为明确之间的时间间隔称为转移的延时时间,后继指令组成的转移延时时间称为转移延时槽对延时槽的处理有三种编译调度方法取自转移指令前。这是最佳选择。取自目标指令。一般用于转移成功概率高的地方,如循环语句。取自转移指令后。一般用于转移成功概率较低的地方。功能部件的等待时间(latency) 是产生结果指令和使用该结果的指令之间必须间隔的时钟数,功能部件的启动间隔或重复间隔(initiation interval或 repeat interval ) 是指两个进入同一部件的操作之间所必须等待的时间间隔记分牌的目的是在无资源竞争的前

26、提下保持每一个时钟周期执行一条指令的速率,尽可;.能提早指令执行。记分牌的任务是控制指令的发射和执行,同时也包括检测所有竞争流水线机器的乱序执行意味着多条指令在EX级同时执行记分牌有以下四级流水步骤: 发射级 (issue)/ ?处理结构竞争和WAW 竞争 读操作数 (read operands)/ ?动态解决RAW竞争 执行 (execution) 写结果 (write result)/ ?处理 WAR 竞争Chapter 5评价存储器性能的参数主要有三个方面容量速度价格高速度、大容量、低价格始终是存储体系的设计目标命中率 (hit rate)H : CPU产生的有效地址可以在高层存储器中访

27、问到的概率失配(效)率 (miss rate)M :CPU 产生的有效地址不能直接在高层存储器中访问到的概率。 M=1 H平均存储访问时间命中时间失配率失配时间,表示为:AMT HT M MP当失配损失较小,只有几十个时钟周期时,CPU采用等待块传输结束的策略。当失配损失较大,达到CPU 时钟周期的几千倍时,一般采用中断使CPU切换到其它进程去执行的办法。如果块传送只需几十个时钟周期,那么这种传送机制一般用硬件来控制;如果需要几千个时钟周期,则可以用软件方法实现。映象方式 (直接映象、全关联映象、组关联映象)Chapter 8并行体系结构的分类(Flynn 结构 )单指令流单数据流SISD单指令流多数据流SIMD多指令流单数据流MISD多指令流多数据流MIMD对称多处理SMP分布式存储处理;.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!