设计中最有趣的部分 - 谁说中国不能做CPU?大一生惊爆你眼球

edwd2 发表于 2014-12-16 15:51 | 分类标签:MIPS32架构CPU

我的设计中最有趣(也是最难完成)的部分是名为IFHU(Instruction Flow and Hazard Unit)的指令流动及数据冒险控制单元。

谁说中国不能做CPU?大一生惊爆你眼球
 

原稿:

谁说中国不能做CPU?大一生惊爆你的眼球
 

它内置了一个小型三级流水线,目的就是为了储存(如果存在)指令的RD(Destination Register),Register File的目标地址。地址在IFHU内的流动模拟了真正指令在处理器流水线的执行完成度,因此每次PC从指令内存读出对应指令后,指令如果是BEQ,R- Type或I-Type,他们的根寄存器的地址(RS,RT)将于存在于IFHU流水线内的RD做对比,如果有相同地址代表会出现数据冒险。这些结果会输出到IFU(Instruction Flow Unit),指令控制单元,它按照以下原理决定最终指令是否为空指令以及下周期PC的值:

1. I0和I1正常:执行两个指令,PC0PC1 + 8

2. I1出现跳跃,分支,或数据冒险:执行I0,PC0 = PC1,PC1 + 4

3. I0出现数据冒险:不执行,PC都不变

4. I0出现跳跃或分支:内部执行,PC0为预测或跳跃后PC,PC1 = PC0 + 4

不出错的话PC1应该永远等于PC0。
 

下面是IFU:

谁说中国不能做CPU?大一生惊爆你的眼球

 

IFHURegSelect:

 

谁说中国不能做CPU?大一生惊爆你的眼球
 

IFHUXORComp:

 

谁说中国不能做CPU?大一生惊爆你的眼球


上一页12345678下一页全文

本文导航

除非注明,本站均为原创或编译,转载请注明:文字来自39度

分享给朋友:
条评论

评 论

提 交

请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。

正在加载评论...