RISC 5段流水线对调试设置断点的影响及指定场景流水线状态判断疑问
RISC流水线运行对调试器断点设置的影响咨询
结合RISC架构经典五级流水线(取指Fetch、译码Decode、执行Execute、访存Memory Access、写回Write Back)的设计规则,核心咨询方向为:流水线持续推进的运行状态是否会对调试器设置断点的操作产生影响?
示例场景:
假设目标程序正在运行,程序计数器$pc当前指向line 1处的指令:
line1: lwz r11 8(r31) <= PC @ here line2: lwz r0, 0(r31) line3: cmpwi cr7, r10, 0 line4: lwz r9, 4(r31) line5: stw r11, 0xA0(r1)
流水线状态猜测:
已知PowerPC架构采用上述五级流水线设计,结合当前PC的指向位置,对各条指令当前所处的流水线阶段做出如下推测:
line1: lwz r11 8(r31) <= execution (because PC is at here) line2: lwz r0, 0(r31) <= decode line3: cmpwi cr7, r10, 0 <= fetch line4: lwz r9, 4(r31) line5: stw r11, 0xA0(r1)
具体问题:
- 上述对各指令所处流水线阶段的判断是否正确?
- 当前运行时刻下,调试器是否不允许在程序运行过程中修改
line 3处的指令内容(例如在line 3位置设置断点)?
内容的提问来源于stack exchange,提问作者Jiwon
相关产品推荐
相关产品推荐

