作者visual (米干)
看板Grad-ProbAsk
標題[理工] 交大101計組
時間Sat Jan 21 16:20:17 2017
題目:
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