Re: [理工] [計系] 101 台大電機丙

看板Grad-ProbAsk作者 (墨)時間9年前 (2015/01/18 16:04), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《kather (Kather)》之銘言: : ※ 引述《winnie48 (winnie)》之銘言: : : 先附上題目連結: : : http://exam.lib.ntu.edu.tw/sites/default/files/exam/graduate/101/101404.pdf : : 想要問第7題和第18題(答案分別是AD及CE) : 第7 : 首先沒有stall時CPI是1 : 題目說系統執行指令是假定j跟beq都不會更改原有流程 : 直接把剩下的指令都拿進pipeline跑 : => 如果流程有變(jump換了位置 beq成立換了位置) : => 原本吃進來的指令都是錯的 : => 系統就要stall 把錯誤的指令清出pipeline : 先了解一下清除這些指令的所需花費 : j =>一定要清除 j是在第二個時脈就跳走了 : =>pipeline的IF階段是個錯誤的指令 : =>stall一個 : beq =>第三階段跳 : =>stall兩個 : 這台機器上的程式有 : 5%jump 20%branch,其中的60%會跳 : 5%的指令 (j)會stall 1個cycle=>多 5%的cycle在stall上 : 12%的指令(br)會stall 2個cycle=>多24%的cycle在stall上 : 總cycle129% : 又指令數不變,CPI => 129% : 原本的執行時間就是(Ins指令數先不管它 反正執行的都一樣多) : CPI * Ins * CycleTime : 129% * ins * 10ns : 看看後來 : 把第一個階段改成兩階段,stall多一個cycle了 : j的stall變成2個cycle=>多10% cycle : b的stall變成3個cycle=>多36% cycle : 總cycle:146% : 後來的執行時間 : CPI * Ins * CycleTime : 146% * Ins * 8ns : 就是1290%ins vs 1168%ins(時間)(ins是指令數) : 速度差異是1.1倍,後來的較快 : 第8 : TLB找到了=>知道他在mem中的哪個位置,直接去那個位置找 : =>1次TLB,1次mem : TLB找不到=>先去查表,表幾層就查幾次 : =>例如one-level: : =>一次查TLB 一次查表(mem) 最後一次知道在哪了去拿(mem) : =>1次TLB,2次mem : 存取的花費=>TLB:50ns , Mem:300ns : (A)90%hit , one-level : 90%*(50+300) + : 10%*(50+300+300) : = 380 : 題目說390,錯 : (B)99%hit , one-level : 99%*(50+300) + : 1% *(50+300+300) : = 353 : 題目說356,錯 : (C)90%hit , two-level : 90%*(50+300) + : 10%*(50+300+300+300) : =410 對 : (D)一樣的算式... : 356 : (E)99%hit , three-level : 359 : : 遇到這種計算都不太會算(但是好像蠻常考...) : : 拜託能給我詳細的解法,謝謝大家!! 剛寫完這年, 想問一下這串討論到的第18題, 在計算tlb miss時間時為何要把tlb存取時間跟查表時間相加呢? 印象中計組裡好像是說tlb跟查表是同時進行不是嗎? 這樣查表時間跟tlb查詢時間應該是重疊的? -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.16.150 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1421568263.A.C48.html

01/18 16:29, , 1F
還有想問c-scan跟c-look回程時間大家都有算嗎?感謝
01/18 16:29, 1F

01/18 17:42, , 2F
自己是都有算進去,因為想到look是電梯演算法,如果題目有說
01/18 17:42, 2F

01/18 17:43, , 3F
回程是快速定位話,才覺得不用算
01/18 17:43, 3F

01/18 21:26, , 4F
3Q
01/18 21:26, 4F
文章代碼(AID): #1Kksa7n8 (Grad-ProbAsk)
文章代碼(AID): #1Kksa7n8 (Grad-ProbAsk)