“21天好习惯”第一期——14

《计算机组成原理》

3.5.3 单周期模式

(6)增加J型跳转指令

J型跳转指令j address 完成的基本操作是:
        

j指令涉及PC+4、address<<2、U(拼接)、\rightarrowPC操作。新增操作只有“address<<2”和“U”,因此只需针对这两个操作扩展出相应的数据通路。

   扩展后的数据通路中专门增加了一个“左移2位器”和一个“拼接器”。指令代码address的低26位直接作为左移2位器的输入,且左移2位器输出的28位地址码又作为拼接器的一路输入,拼接器的另一端输入来自PC+4的高4位,拼接器的输出端口连接到PC寄存器的输入端口,以作为PC寄存器的第三路后选输入。

如下图未经整合的处理器数据通路中,灰底色圆分别标记了4出存在多种输入通路选择的情况。从上往下为1-4。

第1处表示针对不同的指令,PC有3种互斥的输入选择:执行j指令时选择(PC+4)[31:28]U(address<<2)通路,执行分支指令beq时选择的(PC+4)+(E(imm)<<2)通路,其余情况下顺利执行指令时选择的PC+4通路。 

第2处表示寄存器堆的写地址端Rw存在两种互斥的连接选择:执行R型指令时rd\rightarrowRw,执行I型运算和lw指令时rt\rightarrowRw。

第3处表示针对不同指令,ALU的输入端B也有两种互斥的连接选择:执行R型运算指令、I型beq指令时选择RD2\rightarrowALU_B,执行I型运算、访存指令时选择E(imm)\rightarrowALU_B。

第4处对应不同指令,寄存器堆的写数据端口WD也有两种互斥的连接选择:执行R型运算、I型运算指令时选择ALU输出的运算结果\rightarrow WD,执行I型lw指令时选择数据存储器输出RD\rightarrow WD。

  执行指令子集中的任何一条指令时,其对应的数据通路必须明确的、唯一的,否则指令的执行过程会存在很大的不确定性。PC、Rw、ALU_B和寄存器堆WD的输入端都存在多路后选连接的情况,为了避免这些多路选择连接冲突,必须分别对它们进行集成化改造。 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值