摘要:
https://mp.weixin.qq.com/s/eJd4VpU5fsZ6WM_YYXPX4Q 简单介绍流水线对sfence.vma指令的处理。 1. io.imem.sfence 根据规范,sfence.vma指令的用途如下: 其效果最终通过io.imem.sfence/io.ptw.sfen 阅读全文
摘要:
https://mp.weixin.qq.com/s/Nzm5m0Ub6SmQ-CWf4kaFKQ 简单介绍fence, fence_i, sfence的差异。 1. IntCtrlSigs IntCtrlSigs中包含了fence和fence_i的定义: FENCE指令的信号值如下: 其中:fen 阅读全文
摘要:
https://mp.weixin.qq.com/s/6WVmHCY0nd_AtOBByfgJVA 简单介绍wb_reg_flush_pipe的作用。 1. wb_reg_flush_pipe值的由来 1) wb_reg_flush_pipe wb_reg_flush_pipe的值是通过流水线从me 阅读全文
摘要:
https://mp.weixin.qq.com/s/oWJb2NIl9poyBFBwVNNJ-A 简单介绍ctrl_killd的作用。 1. 概述 ctrl_killd表示id阶段被kill,也就是id阶段的指令被废弃,不再执行。 2. ctrl_killd发生的时钟周期: cycle t 1) 阅读全文
摘要:
https://mp.weixin.qq.com/s/fWbfACM87AhrLe-b9j4j-Q 简单介绍mem_reg_valid和mem_pc_valid的用法。 本文目录: 1. 概述 2. reg_valid 3. pc_valid 以下正文: 1. 概述 概括而言,reg_valid表示 阅读全文
摘要:
https://mp.weixin.qq.com/s/HicRl6t-4lKN0uOzBG2f7w 简单介绍take_pc对流水线的影响。 1. take_pc是线型变量,其值变化即时生效 take_pc意为指示if阶段take新的pc,从新的pc开始取指。其定义为: 从中可知其类型依赖于take_ 阅读全文
摘要:
https://mp.weixin.qq.com/s/7YF5cZLYkvo-Dbp30DxwsA 简单介绍take_pc相关的实现。 本文目录: 1. take_pc 2. 用途 3. 意义 4. take_pc_mem 5. take_pc_wb 6. 总结 以下正文: 1. take_pc t 阅读全文
摘要:
https://mp.weixin.qq.com/s/PYporobINz5czzgY8p1odw 简单介绍中断和异常的优先级。 本文目录: 1. 中断在ID阶段被检测 2. ID阶段同时存在中断和异常信号 3. 各阶段的异常 4. 领先于中断的异常 以下正文: 1. 中断在ID阶段被检测 中断信号 阅读全文
摘要:
https://mp.weixin.qq.com/s/Lacj8qDWhn98BMPns-mJPw 简单介绍wb阶段异常的处理。 本文目录: 1. wb阶段的异常 2. 使用mtval记录异常内存地址信息 以下正文: 1. wb阶段的异常 wb阶段发生的异常如下: a. misaligned sto 阅读全文
摘要:
https://mp.weixin.qq.com/s/l6YwgQ3bQKA22lX4fiCm1A 简单介绍mem阶段异常的处理。 本文目录: 1. mem阶段的异常 2. misaligned fetch 3. load/store exception breakpoint 以下正文: 1. me 阅读全文