浮点数隐藏位如何判断是0是1
结论:规格化浮点数隐藏1,非规格化浮点数隐藏0
如何判断是否规格化:指数位全零为非规格化浮点数,用于表示绝对值非常小的数(2^-126以内)
补码的规格化表示:小数点后一位与符号位不同
原码的规格化表示:小数点后一位不为零
判断计算结果是否溢出
结论:计算结果保留有效位和不保留有效位表示的值是否相同。
指令类型怎么分辨
R型:即运算指令
I型:带立即数的运算指令
J型:跳转指令
单周期控制信号解析
1.RegWr(寄存器写指令)
2.RegDst(将结果存储到rd寄存器中):R型指令的此信号需要为1,因为r型的目的寄存器指定为Rd。而非R型指令的此信号值为0;
3.ALUSrc(决定ALU数据来源):等于零时来源于寄存器,1时来源为立即数
4.Branch(控制转移与否):指令branch会产生Branch=1
5.MemWr(主存写操作)
6.ExtOp(符号拓展信号):需要符号拓展的指令有beq,lw,sw等
7.R-type(判断R型指令种类)
8.MemtoReg(主存取数到寄存器):若为0,从ALU中取。
多周期控制信号解析
1.PCWr(pc写指令):用于自动更新pc
2.IRWr(指令译码器写指令)
3.BrWr(转移地址写指令)
4.PCWrCond(发生转移与否):将转移地址写进pc
指令与指令周期
指令周期:取指、译码、执行(计算)、访存(存储器)、写回(寄存器)
load:取指、译码、执行、访存、写回
store:取指、译码、访存、写回
branch:取指、译码、写回
Jump:取指、译码、写回
ALU 类指令:取指、译码、执行、写回