Advertisement

OR1200中相关指令说明

阅读量:

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书

特殊寄存器访问类指令说明

OR1200架构中,针对特殊寄存器访问操作的指令仅有两种,分别为l.mfspr与l.mtspr,具体信息如表5.5所示。

l.mfspr指令功能解析

l.mfspr指令相较于上一章中介绍的数据处理类指令,其最显著的差异在于执行阶段需要占用两个时钟周期,这将导致流水线运行的中断。造成该现象的主要原因在于某些特殊寄存器的读取操作需要一定的时间延迟。例如,在读取RF寄存器时,执行阶段的第一个时钟周期用于完成对RF寄存器的访问准备,而第二个时钟周期才真正获取到数据内容,因此l.mfspr指令必须经历两个完整的时钟周期才能完成整个操作流程,从而迫使流水线进入暂停状态。为了实现流水线的暂停机制,OR1200处理器采取了以下几项措施:

  • 引入id_freeze与ex_freeze信号,在这两个信号处于激活状态(即值为1)的情况下,译码阶段所处理的指令id_insn以及执行阶段所处理的指令ex_insn将保持不变
  • IF模块会暂存当前取指阶段所获取到的指令内容,确保在流水线暂停期间送入CT

全部评论 (0)

还没有任何评论哟~