
计算机体系结构
文章平均质量分 59
北岛寒沫
一生温暖纯良,不舍爱与自由
展开
-
计算机结构体系:循环展开题型 (非凭感觉的方法详解)
在复习这门课程的过程中,我找出了一种比较通用的求解循环展开题型的思路。这种思路不仅能获得循环展开完全填充的最优解,同时还可以在使用的过程中自动确定循环展开的次数,因此在此和大家分享一下。体系结构这门课程中,指令调度和循环展开可以说是课程最困难的地方,很多初学者(包括我)都只能凭感觉进行指令调度和循环展开。本题中,由于数据相关的存在,使得循环体内容语句执行后可能会需要停顿,这样就导致了系统性能的下降,因此应该避免。这是一道很典型的循环展开例题。不同的语句与其后跟随的语句确定了每一次的停顿周期数。原创 2022-12-08 22:58:45 · 2297 阅读 · 0 评论 -
计算机体系结构:分支目标缓冲(BTB)例题
按照下表计算分支转移总的延迟,根据下面的假设,计算分支目标缓冲的性能。(3)不在BTB中分支转移成功的比例为60%。(1)对于BTB中的指令,预测准确率90%。(2)缓冲区命令率90%。原创 2022-12-02 20:50:32 · 1953 阅读 · 0 评论 -
计算机体系结构:MIPS计算例题(1.7)
计算Pentium II 450处理机的运算速度,每周期执行2条指令,求该处理机的MIPS(时钟频率Fz=450MHz)。本题种时钟频率和IPC都已经给出,因此直接代入公式求解即可。原创 2022-11-23 12:04:13 · 1468 阅读 · 0 评论 -
计算机体系结构:不同方案的机器性能比较例题(1.6)
CPUB采用比较功能和判别是否实现转移功能合在一条指令的方法,这样实现一条件转移就只需一条指令就可以完成(指令数变为原来的80%)。两个CPU的指令数之比由题目条件已知,时钟周期之比同理,因此只需要确定系统CPI的比值即可确定CPU执行时间的比值,通过比值即可进行选择。本题中需要比较两种CPU的性能,但是此处已经不再适合使用系统CPI作为比较指标,因为两种CPU的指令数和时钟周期不同,那么最佳的比较指标就是CPU的执行时间。通过比较两种CPU的CPU执行时间,其中执行时间较短的一个方案更优。原创 2022-11-23 11:56:45 · 1112 阅读 · 0 评论 -
计算机结构体系:系统CPI计算例题(1.5)
如果FP操作的比例为25%,FP操作的平均CPI=4.0,其它指令的平均CPI为1.33。其中FPSQR操作(浮点数平方根)的比例为2%, FPSQR的CPI为20。(FPSQR是FP的一种)假设有两种设计方案,分别把FPSQR操作的CPI和所有FP操作的CPI减为2。试利用CPU性能公式比较这两种设计方案哪一个更好(只改变CPI而时钟频率和指令条数保持不变)。既然需要比较CPU的性能,那么就需要找出比较CPU性能的指标。本题中最适合比较CPU性能的指标就是所有操作的平均CPI。首先定性分析:既然FPS原创 2022-11-23 10:59:12 · 3970 阅读 · 0 评论 -
计算机体系结构:不同改进方案的性价比计算(1.4)
由于这种事务处理很普遍,有较大的市场,故而设计人员决定在下一代此类计算机的CPU中加入字符串操作的功能。分析本题发现,本题中涉及到的与优化方案选择相关的指标只有性能和成本两类,因此很自然地想到可以以相对性价比的高低作为选择指标。(4)若字符串操作功能使用时间占整个程序运行时间的90%,则情况如何?(1)如用软件(如微程序)实现,则快5倍,增加CPU成本1/5倍;分别求出不同方案的相对性价比,从中选择相对性价比最高的方案即可。是否用软件还是硬件?(2)如用硬件实现,则快100倍,CPU成本增加到5倍。原创 2022-11-21 11:12:46 · 603 阅读 · 0 评论 -
计算机体系结构:系统加速比计算例题(1.1 1.2 1.3)
假设在某程序的执行过程中,浮点操作时间占整个执行时间的10%,现希望对浮点 操作加速。(1)设对浮点操作的加速比为Sf,请推导出程序总的加速比S和Sf之间的关系表达式;只需要弄清楚这三点,则系统加速比即可通过已知信息求出。将已知信息代入公式即可求解出本题的答案。(2)请程序的最大加速比可达多少?原创 2022-11-19 16:26:58 · 5232 阅读 · 0 评论 -
计算机体系结构:系统平均无故障时间(MTTF)计算例题
假定每个部件的正常工作时间服从指数分布,即部件的工作时间与故障出现的频率无关,同时假定各部件的故障是相互独立的,试计算整个系统的MTTF。(1)磁盘子系统由10个磁盘构成,每个磁盘的MTTF为1000000h;(2)1个SCSI控制器,其MTTF为500000h。(5)1根SCSI连线,其MTTF为1000000h。最终答案为:系统的MTTF≈43500h(大约为5年)(3)1个不间断电源,其MTTF为200000h。(4)1个风扇,其MTTF为200000h。原创 2022-11-19 13:41:13 · 3404 阅读 · 0 评论 -
输入输出系统:M/M/1排队系统例题
那么分析本题,本题中题目条件中已经给出到达率(某处理器每秒发出40次磁盘请求),那么只需要确定平均服务率即可得出相关的所有结论。(1)假定磁盘完成这些请求的服务时间服从均值为20ms的指数分布。试计算磁盘的平均利用率、请求在队列中的平均等待时间以及磁盘请求的平均响应时间。(服务率和平均服务时间互为倒数,因此也可以只用平均服务时间计算)(2)假定磁盘完成这些请求的服务时间服从均值为10ms的指数分布,重新计算上述问题。某处理器每秒发出40次磁盘I/O请求,这些请求服从指数分布。原创 2022-11-19 12:40:24 · 1569 阅读 · 0 评论 -
计算机结构体系:主存例题(存储器组织技术)
如果当把Cache块大小变为4个字时,失效率降为1%,根据前面给出的访问时间,求在采用2路、4路多体交叉存取以及降存储器和总线宽度增加一倍时,性能分别提高多少?:不采用多体交叉时,对于每一个字都需要进行送地址、访问和传送三个阶段,而由于采用32位总线,因此一次只能传输一个字。:当采用64位总线时,无论是传地址、访问还是传送数据都可以节约一半的时间,因此总失效开销为第①种情况的一半,即为64个周期。:采用多体交叉时,四个字的传地址和访问可以同时进行,因此完成传地址和访问共需要的时钟周期为。原创 2022-11-15 13:38:22 · 1220 阅读 · 0 评论 -
计算机体系结构:存储层次(非常详细,已完结)
Vimtim Cache是指在Cache和它与下一级存储器的数据通路之间增设一个全相联的小Cache,称为Victim Cache。Victim Cache中存放被替换的某些块。每当发生Cache失效时,在访问下一级存储器之前都会检查Victim Cache中是否有所需的块。如果有则将该块调入Cache中(同时可能有另一个块被替换进入Victim Cache)。原创 2022-11-14 15:33:19 · 7886 阅读 · 1 评论 -
减少Cache失效开销例题2(多级Cache)
根据题目条件能够计算的内容包括:直接映像Cache和2路组相联Cache的L1各自的失效开销。(1)采用直接映像,命中时间L2=10个时钟周期,采用2路组相联使命中时间增加1个时钟周期。(2)若采用直接映像,局部失效率L2=25%,若采用2路组相联,局部失效率L2=20%。试问第二级Cache的相联度对失效开销的影响如何?(3)失效开销L2=200个时钟周期。给出有关第二级Cache的以下数据。原创 2022-11-14 14:18:13 · 567 阅读 · 0 评论 -
减少Cache失效开销例题1(多级Cache)
假设两级Cache系统,在1000次访存中,L1 Cache失效40次,L2 Cache失效20次。问:在这种情况下,该Cache系统的局部失效率和全局失效率各是多少?假设L2 Cache到主存的失效开销为200个周期,L2的命中时间为10个周期,L1的命中时间为1个周期,平均每条指令访存次数为1.5,则平均访存时间是多少?平均每条指令的存储器停顿周期是多少?存储器停顿周期由指令访存产生,而与访存相对的就是指令从第一级Cache中取出信息。由于有两层Cache,因此首先考虑L2。原创 2022-11-14 13:58:10 · 1763 阅读 · 0 评论 -
Cache减少失效开销例题:(请求字处理)
假设一台计算机具有64个字节的Cache块,采用请求字优先时,Cache需要7个时钟周期取8字节的请求字,剩余的块中每8个字节需要1个时钟周期进行读取。本题中,如果采用请求字技术,那么CPU在一条指令中只需要读出请求字之后就可以进行另一条指令的流出(但是不能进行另外一条指令的读访存操作)。(2)Opteron每次流出两条Load指令,每条指令需4个周期流出,假设后续指令将要读取当前装载数据剩余块中的8个字节,比较两种情况下的平均失效开销。(2)出于便于理解的角度,首先分析采用请求字优先的情况。原创 2022-11-13 19:41:58 · 846 阅读 · 7 评论 -
减少Cache失效开销例题(让读失效优先于写)
②执行完第一条LW指令后,由于和第一条指令SW访问的内存单元不同,因此需要把本条指令所访问的内存单元放入Cache中。由于本条指令访问的内存单元M[1024]和SW指令访问的内存单元M[512]映射到Cache中的同一块,因此Cache中M[512]对应的块被M[1024]对应的块替换掉。③此时第二条LW指令需要读取M[512]中的数据。首先指令寻找Cache,因为上一步中M[512]所在的块被替换出去,因此读失效,需要访问内存单元。需要写入M[512]的数据来自第一条指令中的写缓冲器。原创 2022-11-13 18:45:54 · 426 阅读 · 0 评论 -
计算机体系结构:编译器预取例题(优化前后失效次数计算)
对于a数组,第一次循环从a[0][0]已知持续到a[0][99],按照提前7个周期进行预取的原则,第一个被预取的元素是a[0][7],第二个被预取的元素是a[0][8]…按照逻辑共需要取99-7+1=93次,因此发生失效的次数是(100-93)//2+1=4次(分别是a[0][0] a[0][2] a[0][4]和a[0][6]发生失效)。通过分析循环可知,数组a采用的是逐行访问的方式,也就是先从a[0][0]、a[0][1]访问到a[0][99],然后访问a[1][0]、a[1][1]…原创 2022-11-13 15:14:01 · 850 阅读 · 0 评论 -
提高Cache相联度例题
假定命中时间为1个时钟周期,直接映像Cache所对应的时钟周期是1ns,失效开销均为25ns,而且假设在采用不同频率的处理器中不必将失效开销取整。使用下表5.5中的失效率,试问当Cache容量多大时,以下不等式成立?本题中各种类型Cache的命中时间虽然不同,但是均已知;失效率可以由表格5.5得出,失效开销也已经在题目中给出,因此各种Cache的平均访存时间都可以进行计算。找出满足调节的Cache容量即可。假定提高相联度会按下列比例增大处理器时钟周期。原创 2022-11-09 19:09:27 · 626 阅读 · 1 评论 -
调节Cache块大小例题
假定某存储系统中,Cache的命中时间与块大小无关,为1个时钟。其访问存储器时,需在延迟80个时钟周期(启动时间)后,每2个时钟周期能送出16个字节。即经过82个时钟周期,它可提供16个字节;经过84个时钟周期,可提供32个字节;以此类推。请问对于表中列出的各种容量的Cache,在块大小分别为多少时,平均访存时间最小?本题中所需要求的是平均访存时间,那么我们就首先列出平均访存时间公式进行分析:本题中命中时间已知,为1个时钟周期,因此只需要求出各种容量的Cache在指定块大小下的失效率和失效开销即可。失效率原创 2022-11-09 18:36:09 · 720 阅读 · 0 评论 -
Cache性能分析例题5:混合Cache和分离Cache的比较
假设有指令Cache和数据Cache容量均为16KB的分离Cache和容量为32KB的混合Cache相比。①分离性16KB的Cache的平均失效率与32KB的混合Cache相比,哪种Cache的失效率更低?③假如混合型cache的时钟时间比分离性cache的时钟时间多25%,问访问时间哪个更低?①指令Cache的命中时间为1个时钟周期,失效开销为100个时钟周期,失效率为(见下表)②数据Cache的命中时间为1个时钟周期,失效开销为100个时钟周期,失效率为(见下表)④指令的平均访存1.6次。原创 2022-11-09 16:58:18 · 1170 阅读 · 0 评论 -
Cache性能分析例题4:求解平均访问时间和CPU时间
(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%;(2)两者Cache容量均为64KB,块大小都是32字节;(4)这两种Cache的失效开销都是80ns;(5)命中时间为1个时钟周期;原创 2022-11-09 16:04:49 · 1381 阅读 · 0 评论 -
Cache性能分析例题3:平均访存时间和CPU时间的计算
因为CPU的速度直接与Cache命中的速度紧密相关,所以对于组相联Cache,由于多路选择器的存在而使CPU的时钟周期增加到原来的1.35倍。对于Cache的性能和CPU的性能,可以用Cache的平均访存时间和CPU时间来进行衡量。(3)命中时间为1个时钟周期,直接映像Cache的失效率为2.1%,2路组相联Cache的失效率为1.9%。本题中直接映像Cache的时钟周期根据(2)可知,为0.35ns,而2路组相联Cache的时钟周期由(4)可知是直接映像Cache的1.35倍,因此也可以计算。原创 2022-11-09 09:09:49 · 4477 阅读 · 5 评论 -
Cache性能分析例题2:求CPU时间(附有详细解析)
假设一台计算机在Cache全命中的情况下CPI为1.0,只有Load和Store指令能进行访存,这两种指令占总指令的50%,如果失效开销为200个时钟周期,失效率为2%,比较全命中情况,此计算机由于失效带来的性能损失有多少?计算机的性能都通过CPU时间进行衡量,因此性能损失的指标可以通过两种情况下CPU时间的比值或差值得出,因此本题的核心在于求出CPU时间。两种情况下,指令数和指令周期时间均相同,因此通过CPU时间(真实)/CPU时间(全命中)=(1+6)/1=7。在全命中情况下,失效率为零,因此。原创 2022-11-08 21:32:33 · 2654 阅读 · 4 评论 -
Cache性能分析例题1:失效率和平均访存时间计算例题(附带详细分析)
利用下表所列的数据(分离Cache和混合Cache每1000条指令的失效次数),比较指令Cache和数据Cache容量均为16KB的分离Cache与容量为32KB的混合Cache,哪种Cache的失效率更低?:题目中已经给出分离Cache的命中时间为1个时钟周期,而混合Cache中Load和Store指令(也就是访存指令)的命中时间为2个周期,其他指令的命中时间为1个时钟周期,因此命中时间根据题目条件也完全已知。如果一条指令是访存指令,那么这条指令还需要额外进行一次数据访存以从内存中取出数据,因此。原创 2022-11-08 21:13:11 · 4240 阅读 · 2 评论 -
计算机体系结构:按写分配法、不按写分配法例题
假设一个全相联具有足够多Cache块的Cache,在完成WriteMem[100]、WriteMem[100]、ReadMem[200]、WriteMem[200]、WriteMem[100]的访存序列时,利用按写分配和不按写分配两种方法,命中次数和失效次数各是多少?:第一次写入内存单元为100所对应的数据,这个数据的块一定不在Cache中,因此发生写失效。:第二次写入内存单元为100所对应的数据,由于在①中已经将这个数据块存入Cache中,因此写命中。Cache中没有对应数据块,发生写失效。原创 2022-11-07 19:05:50 · 1539 阅读 · 0 评论 -
计算机体系结构:记分牌算法(完全弄懂!)
关于记分牌算法的学习,笔者建议按照三步进行:首先能够懂得表格的含义,接着能够看懂一个具体的记分牌,最后能自行写出记分牌。如果能够自行完成像上面所给出的例题,那么你的记分牌算法至少应付考试就可以了(doge)。原创 2022-10-24 15:44:40 · 7900 阅读 · 13 评论 -
计算机体系结构:彻底弄懂流水线性能分析
根据加速比的定义,加速比的大小即为使用流水线前和使用流水线后处理四个任务的时间比值。使用流水线之前,需要4*6=24拍,同时可以根据时空图得出使用流水线后只需要15拍即可完成四个任务,因此加速比=24/15=1.6。考虑实际吞吐率的定义,即一定时间所完成的任务数与所消耗的时间的比值。对于第一种情况四个任务,消耗的时间可以通过时空图判断出来为15△t,因此实际吞吐率为4/15△t。处理四十个任务所需要的拍数=6△t+(40-1)*3△t=123△t,因此实际吞吐率=40/123△t。原创 2022-10-08 16:40:53 · 6586 阅读 · 2 评论