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