看板 Grad-ProbAsk 關於我們 聯絡資訊
題目:http://imgur.com/a/7e8Rp 疑問如下: 1. 要檢查branch跳的address合不合法,以(a)小題的address為例 我看解答寫「用0x0003 0000 - 0x0000 0000 = 0x0003 0000 超過-2^17 ~ 2^17-4 byte」,因此不合法 我想問一下為什麼不是用0x0003 0000減PC+4? 2. (c)小題的部分我看詳解看得不是很懂,想請問jump可到的address範圍是?? 另外一個小小的困惑,就是我有時候爬文pipeline diagram相關的問題 發現大家畫的圖有些小地方會不太一樣,例如: (1) IF ID X EX MEM WB IF X ID EX MEM WB X IF ID EX MEM WB (2) IF ID ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB 列舉其中幾行做比較,最後的總cycle數一樣,所以想問這兩種畫法都可以嗎? 只要知道最後總cycle數是多少跟stall cycle是哪幾個就好? (是說考試會問到的問題好像主要就這兩個 XD 以上麻煩大家了,謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.100.218 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1484986819.A.BE3.html
yupog2003: 2(c)應該是前四個bit相同的話就都可以跳? 01/21 16:23
Transfat: pipeline我都畫第二種 01/21 16:59
GLBM: jump看第一個值,相同值都可以跳的到,beq可以往上下跳,但 01/21 18:16
GLBM: 範圍有限(2^17) 01/21 18:16
YuxiWen: a我猜是因為現在的PC是指向現在指令的下一個指令,所以0x 01/21 20:41
YuxiWen: 0000 0000已經+4過了 01/21 20:41
visual: 謝謝大家的回答,這樣我了解要怎麼算address了 01/21 21:19
visual: 至於pipeline,我個人的想法是只要那兩個問題可以回答的 01/21 21:20
visual: 話,這兩種畫法應該都可以 吧XD 01/21 21:20