多周期CPU设计

指令集和单周期的CPU设计一样,在这里就不列出来了,给出对应的链接:16位单周期CPU设计

架构图

根据指令集的操作数选取情况我将所有指令集分为8类:
1、JUMP,Branch
JUMP: Instr[7:0]
Branch:reg[10:8] + instr[7:0]
2、STORE, LOAD
LOAD: mem[instr[7:4]]+instr[3:0] -> reg[instr[10:8]]
STORE:reg[instr[10:8]] -> mem[instr[7:4]]+instr[3:0]
3、ADDI, SUBI,LDIH……
ADDI: reg[10:8] + instr[7:0] -> reg[instr[10:8]]
4、SLL,ADD……
SLL: reg[7:4] << instr[3:0] -> reg[instr[10:8]]
ADD: reg[7:4] + reg[2:0] -> reg[instr[10:8]]
5、HALT -> Do Nothing
因此有了以下状态图


MulticycleMIPS基本上就是在单周期CPU的基础上,加上几个clk将组合逻辑改为时序逻辑,当然还需要某些下的元器件的变化,例如PCwrite的添加。

      对比单周期CPU,多周期CPU功耗增大了,资源也浪费了,但是多周期CPU并非一无是处,由于增加了多个CLK,最长路径缩短了,适用频率得到了改善,可以用于频率要求较高的情况下。

具体设计可以参照单周期CPU的设计,大同小异,在这里就不列出来了


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值