→ kyuudonut: 你若執行 wait(mutex) 有可能會被 block 住呀01/18 01:49
→ kyuudonut: 有可能會形成 deadlock01/18 01:49
→ kyuudonut: 重點是 "持spinlock不能sleeping" 這件事情01/18 01:51
→ kyuudonut: wait semaphore 只是可能會觸發這個條件的一個情況而已01/18 01:51
原來是我搞錯重點了謝謝!
不過再請問一下,
這裡的sleeping是指spinlock的while loop的non-blocking wait ?
還是semaphore的wait() ?
※ 編輯: kk8850tw (42.73.118.150), 01/18/2017 09:24:21
推 Transfat: beq那邊應該是2(mem)+1(Reg)+2(ALU),沒有adder,adder是01/18 10:02
→ Transfat: 從PC出來,一個adder做(PC+4),另一個adder做(PC+4)+(01/18 10:03
→ Transfat: target address), 最後傳到MUX,這條不是critical path01/18 10:03
→ Transfat: critical path應該是IM(2)-Reg(1)-MUX(0)-ALU(2)-MUX(0)01/18 10:04
→ Transfat: =5ns01/18 10:04
對耶! 把電路圖記錯了,謝謝指正!
推 Transfat: 第六題的(c)page size變小,page fault會上升,你說的capa01/18 10:12
→ Transfat: city miss 不是用在cache miss中嗎?這題我也不確定01/18 10:13
因為我想說因為TLB是page table的cache,
而且計組說TLB大部分是採用較小且完全關聯式快取,
想說能不能套用計組的概念,
雖然這題比較像是作業系統的題目
→ Transfat: 第七題你的問題,這裡的sleeping是指spinlock的whileloo01/18 10:14
→ Transfat: p吧,所以如果拿著semaphore,又進去while loop do nothi01/18 10:15
→ Transfat: ng,就gg了01/18 10:15
你說的比較像是先持semaphore再去拿spinlock,
不過我大概明白你的意思了。
非常感謝你的說明,我了解了很多題
※ 編輯: kk8850tw (42.73.118.150), 01/18/2017 10:31:19
→ kyuudonut: semaphore 的 wait()01/18 10:25
原來如此,非常感謝K大
※ 編輯: kk8850tw (42.73.118.150), 01/18/2017 10:43:38
推 Transfat: 第七題題目意思是什麼啊?是指while(..busy waiting) .. 01/18 11:11
→ Transfat: { wait(semaphore); } 嗎?在spinlock情況下還去wait 01/18 11:11
推 kyuudonut: 樓上,對 01/18 11:54
推 BEARlol: 第六題他說reduce TLB misses指得是降低TLM miss的數量吧 01/18 21:54
→ BEARlol: 所以感覺a的推導方是不太對 01/18 21:54
推 YuxiWen: 原來是問miss的數量,看來是我誤解題意了(<-原作者,借朋 01/20 15:38
→ YuxiWen: 友的帳號發的) 01/20 15:38
推 ThanksNext: 想問一下 第一題a小題FP不會經過register嗎?然後b小 01/22 18:45
推 ThanksNext: 題有說是multicycle是不是應該用cpi乘最長cycle time? 01/22 18:45