“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寄存器的第三路后选输入。“21天好习惯”第一期——14_第1张图片

如下图未经整合的处理器数据通路中,灰底色圆分别标记了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的输入端都存在多路后选连接的情况,为了避免这些多路选择连接冲突,必须分别对它们进行集成化改造。 

 “21天好习惯”第一期——14_第2张图片

 

 

你可能感兴趣的:(个人学习笔记,计算机组成原理,物联网,嵌入式硬件,硬件工程,硬件架构)