cpu
单周期MIPS32处理器(目标指令集与数据通路设计)
cpu设计的主要任务
拟定指令集
数据通路设计
控制器设计
1.目标指令集(共计11条)
cpu执行一条指令的步骤
(1)取指令
根据pc,从存储器中取出指令,然后pc+4
(2)取操作数
根据指令中操作数字段,选择读取寄存器/存储器或立即数,送ALU(运算器 )
(3)分析指令
将指令中的操作码送控制器,分析指令的功能,产生相应的控制信号
(4)执行指令
ALU根据控制器产生的控制信号完成指令规定的操作,并保存结果,修改pc
根据指令执行所需的时钟周期数
(1)单周期cpu
指令固定在一个时钟周期内完成
时间效率低,时钟宽度由单指令最长时间决定
在指令周期内,功能部件不能共享,冗余度大
(2)多周期cpu
指令分散在多个时钟周期内完成
时间效率高,时钟宽度由单步最长时间决定
不同的时间周期之间,部件可共享,冗余降低
2.指令的基本数据通路
【基本思路】面向指令功能,逐步扩展、融合
分析三类指令的格式和功能
选择功能部件,确定部件之间的连接通路
整合冗余的部件连线
经过多次整合,最终得到完整的数据通路
(1)取指功能的数据通路(公共)
(2)R型运算指令
(3)在R型上扩展I型指令
(4)继续扩展I型访存指令
(5)扩展I型分支指令
(6)最后扩展J型j指令
重新布局