MIPS处理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

控制信号小结
加上控制单元的数据通路
控制单元的真值表
指令
操作码
R型指令
lw sw
000000
100011 101011
beq
000100
J指令
加上J指令后的数据通路
OP 000000(R) 100011(lw) 101011(sw) 000100(beq) 000010(j)
RegDst 0 1 x x x
Jump 0 0 0 0 1
Branch 0 0 0 1 x
Mem Read 0 1 0 0 0
Mem ToReg 0 1 X X x
AluOp (*2) 1x 00 00 01 xx
Mem Write 0 0 1 0 0
AluSrc 1 0 0 1 x
Reg Write 1 1 0 0 0
指令用到的功能单元


状态机的每个状态会显式的指定某些信号的取值 没有被提及的信号,其取值可设为无害的(不影响数 据通路的)

多路选择器控制信号:取任意值,一般可取固定的默认值0 状态单元读写信号:取无效值,禁止读写
控制器的实现


有限状态机控制器 微程序控制器
微程序控制器工作原理

将每个时钟周期要送出控制信号预先存储在ROM中 (控制存储器CM) 存起来的同一时钟周期送出的一组控制信号构成一条 微指令 核心指令集的微程序控制器需要10条微指令,即有限 状态机控制器中,每个状态对应一条微指令
多周期数据通路的高层视图
多时钟周期Fra Baidu bibliotek数据通路
多周期实现的完整数据通路和控制单元
指令周期的第一个时钟周期

取指---从存储器中取出指令,并计算下条指令地址


IR=存储器[PC] PC=PC+4
指令周期的第二个时钟周期

译码---执行一些“良性”操作,产生备用数据


A=Reg[IR[25:21]] B=Reg[IR[20:16]] ALUOut=PC+((符号扩展(IR[15:0]))<<2)
MIPS通用寄存器
定时方法


定时方法规定的状态单元(寄存器,存储器)的读出 和写入操作与时钟信号的关系。 读出

无控制信号:不需要控制信号,持续读出 有控制信号:当控制信号电平有效时读出 无控制信号:只要时钟的有效跳变沿到来,就写入 有控制信号:时钟有效跳变沿到来,且控制电平有效,写入

写入:边沿触发
多周期实现方案
多周期数据通路设计思路

把任意指令的执行分解为一系列步骤,这些步骤的执 行时间差不多,每步用一个时钟周期执行,执行一条 指令需要n个时钟周期。

我们将规定每一步最多只能包含一次ALU操作,或一 次寄存器访问,或一次存储器访问。使得每个操作的 时间差不多,时钟周期长度由这些操作中最耗时的操 作决定。
微指令
操作控制字段 顺序控制字段(AddrCtrl) 11 01 10 11 00 Fetch Seq Fetch Fetch Fetch
调度表
微指令的组成


操作控制字段:指定计算机所有控制信号的取值 顺序控制字段:辅助指定下一条将要执行的微指令在 CM中的地址
操作控制字段
顺序控制字段
MIPS微指令格式
多周期数据通路设计思路

一个时钟周期结束后,后续周期中要用到的所有数据, 都必需存储在状态单元中。 每个主功能单元的输出都附带了寄存器,用于存储该 单元的输出,使这些输出可以在后续的时钟周期中使 用 多周期实现方案的优点



允许指令的执行占用不同的时钟周期数。 一个功能部件可在单条指令执行过程中可多次使用。

操作控制字段字段可按逻辑分成6个小字段

ALUC,SRC1,SRC2,RegC,MemC,PCW
多周期实现的完整数据通路和控制单元
控制字段的取值
控制存储器中的内容
地址
(位17)
(位2)
注意:这里给出的控制命令字段的信号排列顺序,与之前的“微指令格式”不一致
end


微程序控制器工作原理

执行指令时,每个时钟周期去CM取出恰当的微指令, 给控制信号赋值 构成一条指令的微指令序列称为微程序,执行指令即 执行微程序

微程序控制器示意图
CM
微指令由两大字段构 成:操作控制字段, 顺序控制字段
地址选择逻辑
微程序计数器uPC
CM示意图
地址
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
所有指令执行步骤总结
控制器的实现


有限状态机控制器 微程序控制器
有限状态机控制器的高层视图
取指和译码(图5.37)
存储器访问FSM (图5.38)
R型指令FSM (图5.39)
BEQ指令FSM (图5.40)
J指令FSM (图5.41)
完整的FSM
有限状态机的实现
控制器送出的控制信号
MIPS处理器
核心指令集的实现
基础知识
MIPS指令格式

指令等长,所有指令长度皆为4个字节


指令在主存中对齐存放,指令起始地址最低两位为00 下一条指令:PC+4

三种指令格式
MIPS核心子集
MIPS通用寄存器

32个32位的通用寄存器


$zero($0)存放常量0 $ra($31)存放返回地址
mem[(rs)+eimm]
存取指令/R指令的数据通路合并
RS
RT
RT RD
存取指令/R指令的数据通路合并
Beq指令的数据通路
rs (rs) rt (rt)

R类型、存取、beq指令的数据通路
ALU的控制信号
ALU的控制信号
ALU的控制信号
真值表
加入ALU控制后的数据通路
指令[15~11]

D触发器的读/写操作模型
OE
Q
CP WE
D
定时方法

边缘触发写入的优点
MIPS核心子集的实现
MIPS核心子集的实现

单时钟周期的实现


指令在一个时钟周期内执行完毕。 时钟周期必需足够长,使得最耗时的指令也能执行完毕 效率低,所有指令的执行时间都和最耗时的那条指令一样

多时钟周期的实现
单时钟周期的实现
取指数据通路
通知


cqspub@sina.com 邮件标题:实验x_学号_姓名
寄存器组

包含32个32位寄存器
32位ALU
R型指令的数据通路
rs func (rs)
rt
rd (rt)
数据存储器
数据存取指令的数据通路
rs
rt rt (rs)+eimm +
(rt)
imm
相关文档
最新文档