Exception 为什么在异常的管道中没有MEM.flush?
我对管道冲洗的例外情况有疑问。 在RISC-V中,管道中有IF.flush、ID.flush和EX.flush作为例外。 但我想知道为什么在异常的管道中没有MEM.flush。 我认为如果我们在MEM stage中检测到异常(例如无效的数据内存访问),我们必须刷新MEM stage以使MEM.RegWrite值为0Exception 为什么在异常的管道中没有MEM.flush?,exception,pipeline,flush,riscv,Exception,Pipeline,Flush,Riscv,我对管道冲洗的例外情况有疑问。 在RISC-V中,管道中有IF.flush、ID.flush和EX.flush作为例外。 但我想知道为什么在异常的管道中没有MEM.flush。 我认为如果我们在MEM stage中检测到异常(例如无效的数据内存访问),我们必须刷新MEM stage以使MEM.RegWrite值为0 谢谢。这些图表一定不完整,所以我不会太认真 本文没有提到虚拟内存、地址转换、加载/存储故障,甚至没有提到指令内存地址转换和故障等 这些图表中通常缺少的其他内容包括: 为jal类型指
谢谢。这些图表一定不完整,所以我不会太认真 本文没有提到虚拟内存、地址转换、加载/存储故障,甚至没有提到指令内存地址转换和故障等 这些图表中通常缺少的其他内容包括:
- 为
类型指令捕获jal
-没有将pc
转发到寄存器的数据路径李>pc
- 将
从寄存器更改为pc
-类型的跳转寄存器-寄存器没有数据路径进入jr
指示pc
- 这类图中也没有缓存未命中(I$或D$)
- 我已经提到数据和指令存储器都缺少地址转换
- AUIPC指令还缺少一些数据路径