PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] 計組一題
作者:
foogty
(夫葛踢)
2021-09-22 21:15:18
https://i.imgur.com/GJ4lk8h.jpg
解答上是寫(1)(2)(4)
想請問為什麼(3)不用存下來呢?
感謝
作者:
jacksoncsie
(資工肥宅)
2021-09-22 21:22:00
非當下吧 整條 pipeline 每個 register 在不同時間存的值 都不同 context switch 只管儲存當前狀態所以 c 沒有 以上我個人想法
作者:
kkk99923
(sakamama)
2021-09-22 22:13:00
因為是以指令為單位的吧 如果以pipeline的stage為單位各個架構的stage數也不一樣我是這樣理解的
作者:
foogty
(夫葛踢)
2021-09-22 22:32:00
我還是不太理解,如果說是以指令為單位的話,那麼在復原時要從那個指令開始往下做呢? 這時候的PC因為pipeline的關係應該存的不是正確的吧?像是某些指令還卡在pipeline中還沒執行完,但是PC已經往下抓其他指令了
作者:
jacksoncsie
(資工肥宅)
2021-09-22 23:10:00
比如說有個register有被多個stage用到 這樣的話pipeline 儲存的方式不就會發生 race condition ?所以我覺得 c 沒有 其他有事因為在同個 stage 吧
作者:
foogty
(夫葛踢)
2021-09-22 23:27:00
咦 可是pipeline reg不是像ID/IF這種reg嗎?裡面存的應該是指令的格式(opcode, rs rt編號...等等)和一些controlsignal吧?還是我有理解錯誤的地方呢
作者:
jacksoncsie
(資工肥宅)
2021-09-22 23:41:00
https://i.imgur.com/YHg5Ewp.png
原文書寫的關於 context switch 的部分
作者:
BusterButter
(奶油巴斯特)
2021-09-22 23:53:00
pipeline reg存的是上個stage做完的結果,並不是最後instruction的結果。因為存到memory要花很多很多個cycle, context switch時與其存到memory, 不如直接flush掉switch back時 ,再從之前被flush掉的第一個instruction開始做 (general reg存的是做完instruction的結果,所以存回memory)
作者:
foogty
(夫葛踢)
2021-09-23 00:07:00
我了解了!!感謝樓上的各位這麼晚還在回覆我的問題
繼續閱讀
[理工] 110 NTU DS
jacksoncsie
[理工] 計組 P549
yeah66666
[理工] 資結 spanning tree
CaliforCat
[理工] 線代Jordan form 莊重上課內容
tzuchun42
[理工] 離散 遞迴 黃子嘉
abcd9597938
[理工] 資結 stack
CaliforCat
[心得] 開學季 拚起來
settima
[理工] 線性映射可逆的充要條件
s567101
[理工] 離散 Hamiltonian Cycle 證明/應用
jasonliao89
線代 linear (in)dependent 黃子嘉
abcd9597938
Links
booklink
Contact Us: admin [ a t ] ucptt.com