今天我们来学习3.5.2 MIPS-32处理器
在了解这类处理器之前,我们还需要知道
CPU设计的主要任务
是什么:
①拟定指令集√
②数据通路设计
③控制器设计
※CPU执行1条指令的步骤:
①取指令
根据PC,从存储器中取出指令,同时PC 自动加4。
②取操作数
根据指令中操作数字段,选择读取寄存器或立即数,
送ALU(运算器)。
③分析指令
将指令中的操作码送控制器,分析指令的功能,产生
相应的控制信号。
④执行指令
ALU根据控制器产生的控制信号完成指令规定的操作,
并保存结果、修改PC。
※根据指令执行的所需时钟周期数
① 单周期CPU:
指令固定在1个时钟周期内完成。
√ 时间效率低,时钟宽度由单指令最长时间决定。
√ 在指令周期内,功能部件不能共享,冗余度大;
② 多周期CPU:
指令分散在多个时钟周期内完成。
√ 时间效率高,时钟的宽度由单步最长时间决定。
√ 不同的时钟周期之间,部件可共享,冗余降低。
了解完这些后,我们进入了今天的正题:
MIPS32的指令格式:
指令字长固定为32位,寄存器型寻址,指令中
给出寄存器号(显、隐)或者偏移量。
![](https://i-blog.csdnimg.cn/blog_migrate/cc6734c602ab549492391d6a3188e6fe.png)
基本部件的选型
※ 存储相关的部件
※ 数据预处理部件
※ 运算部件
※ 数据通路选择部件
※ 控制单元(控制器)
1、存储相关的部件
(1)寄存器堆(组)
读数据(根据指令中的rs或rt)
写数据(根据指令中的rt或rd)
32个寄存器,数据宽度32位
一般通过多端口小存储器构成寄存器堆
![](https://i-blog.csdnimg.cn/blog_migrate/896512bbc740429b81cb9c90feadb1c5.png)
(2)存储器
取出指令(指令存储器)
读写操作数(数据存储器)
![](https://i-blog.csdnimg.cn/blog_migrate/4f8e142083784e3bc5dff40d31480f7a.png)
(3)特殊功能寄存器
PC(程序计数器), IR(指令寄存器)
FR(标志寄存器,PWS, 与运算器相关)
![](https://i-blog.csdnimg.cn/blog_migrate/d69edacdad8887638ca803f7e05ca62f.png)
好了,今天就学到这,再见!