计算机组成原理——多周期MIPS CPU的数据通路

单周期MIPS CPU中LW指令的数据通路如图所示:

根据(PC)从IR中取出对应的指令,从寄存器堆中取出对应的操作数,而指令中的立即数经过位数扩展送到ALU地B端,和从源寄存器中取出的操作数进行运算,结果送到数据存储器,取出对应地址的数据再写入到对应的目标寄存器中。

在这个过程中会经历触发器延迟Tclk-to-q,访存延迟Tmem,寄存器读延迟Tregfile-read,运算延迟Talu,多路选择器延迟Tmux,保持时间Tsetup。

在单周期MIPS CPU中,指令周期取决于最慢的指令,那么如何可以缩短指令周期了。

多周期MIPS数据通路相较于单周期MIPS而言,不区分指令和数据存储器,用一个存储器取而代之,同时增加了IR、DR两个寄存器分别对存储器的输出进行锁存。

寄存器堆和ALU也分别ie设置了A、B、ALUout寄存器锁存数据。

这样的设计,将整个数据通路分成了各个较短的执行单一功能的数据通路,延迟变小,周期变短。

从左到右的三个圆形部分分别为取指通路、取操作数通路、运算通路。

### 计算机组成原理 MIPS 架构详解 #### 1. 指令集分类 在计算机体系结构中,指令可以分为三类:微指令、机器指令以及宏指令。对于MIPS架构而言,主要关注的是机器指令的设计执行过程[^1]。 #### 2. 指令格式解析 MIPS采用固定长度的32位二进制编码表示一条完整的机器指令。这些指令通常被划分为多个字段用于指定不同的功能部件及其操作参数。例如,在R型指令里包含了`op`(操作码),`rs`, `rt`, 和 `rd` 寄存器编号等信息;而在I型指令中有`immidiate value`即立即数作为额外的操作对象之一[^2]。 #### 3. 取指周期描述 当CPU准备执行下一条新指令时会先从当前程序计数器(PC)指向的位置取出这条待处理的数据流片段——也就是我们所说的“取指”。此时PC寄存器里的值会被加载到内部总线并传送给存储控制器去访问相应的内存单元获取目标指令字节序列。 #### 4. 译码阶段说明 一旦取得了一条新的指令之后就要对其进行解密分析以便弄清楚它具体要做什么事情。在这个过程中涉及到对各种控制信号的选择配置来决定后续动作的方向。比如针对某些特定类型的跳转指令来说,则需利用ALU来进行相对地址偏移量计算从而更新PC寄存器使其能够正确转向下一个应该被执行的目标位置。 ```assembly add $t0, $s0, $s1 # 将$s0和$s1相加的结果放入$t0 beq $t0, $zero, label # 如果$t0等于零则跳至label处继续运行 ``` #### 5. 执行流程概述 经过前面几个步骤后现在来到了实际做功的部分—执行期。这里主要是通过调用相应硬件资源如算术逻辑单元(ALU), 数据通路(Data Path) 来完成具体的数值变换或是状态转移等工作任务。期间可能还会伴随着条件判断分支预测等一系列复杂机制共同作用以提高整体性能效率。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值