数据通路之控制器实现

控制器

数据通路之控制器实现_第1张图片
控制器实现示意图.png
  • 输入:操作码opcode和功能码func

  • 实现:

    步骤1 将操作码opcode和功能码func接入到一个由与门的逻辑电路中,得到rtypeaddsuborilwswbeq等7组中间信号;
    步骤2 将步骤1产生的7个中间信号接入到一个由或门组成的逻辑电路中,得到控制信号RegDstALUSrcMemtoRegRegWrMemWrnPC_selExtOpALUctr[0]ALUctr[1]等9种控制信号

  • 输出:控制信号RegDstALUSrcMemtoRegRegWrMemWrnPC_selExtOpALUctr[0]ALUctr[1]

输入信号到中间信号

rtype = (~op5)·(~op4)·(~op3)·(~op2)·(~op1)·(~op0)

add = rtype·func5·(~func4)·(~func3)·(~func2)·(~func1)·(~func0)

sub = rtype·func5·(~func4)·(~func3)·(~func2)·(~func1)·(~func0)

ori =  (~op5)·(~op4)·op3·op2·(~op1)·(~op0)

lw =  op5·(~op4)·(~op3)·(~op2)·op1·op0

sw =  op5·(~op4)·op3·(~op2)·(~op1)·(~op0)

beq =  (~op5)·(~op4)·(~op3)·op2·(~op1)·(~op0)

中间信号到控制信号

RegDst = add + sub

ALUSrc = ori + lw + sw

MemtoReg = lw

RegWr = add + sub + ori + lw

MemWr = sw

nPC_sel = beq

ExtOp = lw + sw

ALUctr[0] = sub + beq

ALUctr[1] = or

汇总输入信号、中间信号、控制信号

数据通路之控制器实现_第2张图片
控制器的输入输出关系总表.png
  • 纵向
    分解出每个指令需要的控制信号;
  • 横向
    通过中间信号,可以建立起输入信号和单个控制信号之间的关系;

你可能感兴趣的:(数据通路之控制器实现)