执行单元 - 谁说中国不能做CPU?大一生惊爆你眼球

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

接下来是 EU(Execution Unit),执行单元。EU以目前支持的指令来看,只需要一个多功能ALU,以后可以加一个FPU和支持SIMD扩展的计算单元。另外RD1读出的内容直接接到WriteData逻辑,在SW指令里,这个将直接写入数据内存。RegAddr是R-Type或I-Type指令的Write Back地址,因为地址在这两类指令里的位置不一样,控制单元根据OPCode输出的RISel逻辑会选择对应的地址

R-Type:0000 00ss ssst tttt ddddd000 0010 0101 (Write Back地址为d)

I-Type:1000 11ss ssst ttttiiii iiii iiii iiii (Write Back地址为t)

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

ALU的设计很简单,控制单元根据Funct输出的ALUcontrol[1:0]控制ALU的功能。现在只需要ADD,SUB,AND,OR。我这里懒省事了,本来想自己写个Carry Look-Ahead Adder但是时间来不及,直接用SV的“+”了。
谁说中国不能做CPU?大一生惊爆你的眼球

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

这是用ModelSim测试EU的结果:

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

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

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

结果都正确。


上一页12345678下一页全文

本文导航

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

分享给朋友:
条评论

评 论

提 交

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

正在加载评论...