→ ken52011219: 10, CD01/16 19:03
→ ken52011219: 你把Multi-cycle 跟pipeline 搞混了 這樣很危險01/16 19:06
我明白了,multi-cycle只是把原本single-cycle化成幾個多個步驟多個cycle而已
,
而pipe已經是另外一種新設計了,非常感謝你的提醒!!!
推 Transfat: 第七題會01/16 19:27
推 DZASHIANG: 請問有答案嗎 10.b是不是true multicycle 確實不會讓01/16 19:43
高銘解答是只有c
→ DZASHIANG: 指令之間共用功能單元吧01/16 19:43
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 20:03:30
→ ken52011219: multicycle 的function unit 是可以被複數instr.使01/16 19:58
→ ken52011219: 用的01/16 19:59
高銘說是single-cycle才這樣
附上高銘解答
http://i.imgur.com/fo1mmwK.jpg
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 20:09:02
→ kk8850tw: 雖然我也不太明白為什麼multi-cycle不行01/16 20:17
推 yupog2003: 完蛋,這題我只會想選B而已XD01/16 20:23
→ yupog2003: 我說第10題,我說一下我的想法,麻煩指正我一下01/16 20:24
→ yupog2003: A我覺得沒有single cycle一定比較好的,multi-cycle某01/16 20:25
→ yupog2003: 些情況下execution time可以降低,有時候比較好01/16 20:25
→ yupog2003: B我覺得multicycle依舊是一個指令執行完換下一個指令 01/16 20:26
→ yupog2003: 只是每個指令所需的cycle數不一樣而已,這樣感覺的確 01/16 20:26
→ yupog2003: 不會共用functional unit,我手邊沒有白算盤,希望大家 01/16 20:27
→ yupog2003: 指正我這個想法哪裡錯了 01/16 20:27
我翻了好久的白算盤,也沒看到multi-cycle, 是我的錯覺嗎…
→ yupog2003: C我覺得multi-cycle已經把stage都切好好,感覺比01/16 20:27
→ yupog2003: single cycle設計pipeline更容易01/16 20:29
→ yupog2003: D我覺得是single cycle才這樣,不然就是把最後改成 01/16 20:29
→ yupog2003: longest possible stage01/16 20:29
→ yupog2003: 其實我有點不太清楚D的clock cycle是指clock cycle01/16 20:34
→ yupog2003: time還是number of clock cycles,如果是後者的話,那01/16 20:35
→ yupog2003: D應該是要選拉...01/16 20:35
→ ken52011219: 因為 memory 其實是instrution and data path 共用 01/16 20:38
→ ken52011219: Control path 在某些時間點是會重複被使用01/16 20:39
→ ken52011219: 為了避免因此被搞混,設置了 (instr. and data) reg01/16 20:40
→ ken52011219: 來存放 從Memory的資料01/16 20:40
原來如此,謝謝你
→ ken52011219: D 我覺得應該是改成critical path 吧01/16 20:49
應該single-cycle的cycle time才是critical path的時間吧
multi-cycle的每一個stage的時間都一樣長,所以要取stage中花最長的時間的那個stage
時間
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 21:02:38
推 yupog2003: 感謝ken大,我再吸收一下 01/16 21:00
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 21:06:59
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 21:12:51
→ ken52011219: 等一下 multi cycle 不算是stage的觀念 01/16 21:14
→ ken52011219: 想像 洗衣服 脫乾 烘乾 它們的執行時間不一樣01/16 21:15
→ ken52011219: 但可以根據你的操控 選擇那些程序不需要 01/16 21:15
→ ken52011219: 藉此達到縮短該 critical path 的時間長度 01/16 21:16
→ ken52011219: 而stage 是每個階段都要一致的時間,用在pipeline 01/16 21:17
→ ken52011219: 達到不同的 instr 可以在pipeline下同步進行 01/16 21:18
我明白你的意思了,每個指令的程序的不太一樣,但是每一道程序都花同樣的時間t,所
以每個指令花的時間被其總共需要n個程序影響(即critical path), 總時間為n x t
太感謝Ken大了,釐清了好多觀念
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 21:25:04
→ ken52011219: 順便假如有張凡的課本了話 把下冊的"選讀"給拿起來看 01/16 21:26
→ ken52011219: 裡面有multi cycle 的control path 成大很愛考 01/16 21:27
我剛好有課本,謝謝你的提醒!!!
※ 編輯: kk8850tw (42.73.239.50), 01/16/2017 21:35:23
推 k2shouai: in the multi-cycle design, the cycle time is determi 01/16 22:22
→ k2shouai: ned by the slowest functional unit 01/16 22:22
→ ken52011219: 借問一下 出處在哪@@ 蠻有興趣的 01/16 22:24
→ k2shouai: Google的,也符合張凡課本說的 01/16 22:27
→ k2shouai: Ken大 網址用訊息丟給你了 01/16 22:28
→ ken52011219: 感謝,感覺這種文體應該會出自於聖經本的說@_@ 01/16 22:29
→ ken52011219: 所以我觀念有誤 它其實還是有stage的觀念 而不會有 01/16 22:33
→ ken52011219: 不同的時間在某個任務上 01/16 22:34
→ ken52011219: 感謝 k2 大 <(_ _)> 01/16 22:35
→ ken52011219: stage在 每個register內緩衝 直到時間到了才會進行 01/16 22:36
→ ken52011219: 下一個CYCLE 01/16 22:36
推 TWkobe: 第十題A 其實multicycle和singleCycle仍有hazard例如 01/17 09:01
→ TWkobe: structureHazrd 但是像dataHazard就因為本身特性而顯現不 01/17 09:02
→ TWkobe: 出來 01/17 09:02