计算机组成第五周:单周期处理器
来源:互联网 发布:农产品网络推广方案 编辑:程序博客网 时间:2024/06/05 11:35
1 指令系统的需求
处理器的设计步骤:
- 分析指令系统,得出对数据通路的需求
- 为数据通路选择合适的组件
- 连接组件建立数据通路
- 分析每条指令的实现,以确定控制信号
- 集成控制信号,形成完整的控制逻辑
MIPS指令系统:
- 无符号加法和减法:addu rd, rs, rt;subu rd, rs, rt
- 立即数的逻辑或:ori rt, rs, imm16
- 装载和存储一个字(32位):lw rt, imm16(rs);sw rt, imm16(rs)
- 条件分支:beq rs, rt, imm16
- 寄存器堆:busA,busB,busW,Ra,Rb,Rw
- 在时钟信号(clk)的上升沿,如果写使能信号有效(WriteEnable=1),将busW的内容存入该寄存器,寄存器堆的读操作不受时钟控制
- 存储器:Data In,Data Out,Address,Write Enable
- 在时钟信号(clk)的上升沿,如果写使能信号有效(为1),将数据输入信号的内容存入地址信号指定存储单元,存储器的读操作不受时钟控制
2 建立数据通路
3 不同指令的控制信号
3.1 addu指令
- 从指令存储器中取回指令
- Instruction = MEM[PC]
- 指令指定的操作
- R[rd] = R[rs] + R[rt]
- 计算下一条指令的地址
- PC = PC + 4
3.2 ori指令
指令指定的操作:R[rt] = R[rs] | ZeroExt[imm16]
3.3 lw指令
指令指定的操作:R[rt] = DataMemory{R[rs] + SignExt[imm16]}
3.4 sw指令
指令指定的操作:DataMemory{R[rs] + SignExt[imm16]} = R[rt]
3.5 beq指令
C语言代码:
if(i==j) f=g+h;else f=g-h;
MIPS汇编语言代码:
beq $s3,$s4,True # branch i==jsub $s0,$s1,$s2j NextTrue: add $s0,$s1,$s2Next: …
- 从指令存储器中取回指令
- Instruction = MEM[PC]
- 判断转移条件是否成立
- if(R[rs] - R[rt] == 0)
- 计算下一条指令的地址:
- then PC = PC + 4 + SignExt[imm16] * 4
- else PC = PC + 4
4 控制信号的集成
取指部件将指令交给控制逻辑
控制逻辑分析指令,给出控制信号
由与门组成的逻辑电路:
- add = rtype·func5·~func4·~func3·~func2·~func1·~func0
- sub = rtype·func5·~func4·~func3·~func2· func1·~func0
- rtype = ~op5·~op4·~op3·~op2·~op1·~op0,
- ori = ~op5·~op4· op3· op2·~op1· op0
- lw = op5·~op4·~op3·~op2· op1· op0
- sw = op5·~op4· op3·~op2· op1· op0
- beq = ~op5·~op4·~op3· op2·~op1·~op0
由或门组成的逻辑电路:
- RegDst = add + sub
- ALUSrc = ori + lw + sw
- MemtoReg = lw
- RegWr = add + sub + ori + lw
- MemWr = sw
- nPC_sel = beq
- ExtOp = lw + sw
- ALUctr[0] = sub + beq
- ALUctr[1] = or
0 0
- 计算机组成第五周:单周期处理器
- 【计算机组成原理】单周期处理器
- 计算机组成第六周:流水线处理器
- MIPS单周期处理器设计
- 【计算机组成原理】流水线处理器
- 计算机组成原理:时钟周期、机器周期和指令周期
- 计算机组成原理:时钟周期、机器周期和指令周期
- 【连载】计算机组成原理 --- 第五章 中央处理器
- 计算机组成原理课程设计之设计RISC处理器
- 计算机组成.就是它在运算.处理器CPU
- 计算机组成.更好的利用处理器.从输入输出看中断
- 计算机组成原理知识点(第五章:输入输出系统)
- 计算机组成
- 计算机组成
- 计算机组成
- 计算机组成
- 计算机组成
- 计算机组成
- 排序算法性能及选择总结
- Hibernate初始化时的Could not parse configuration
- Building 'MyApplication' Gradle project info 的解决办法 android studio V8.0版本
- 数字三角形问题 NOJ 1226
- java设计模式基础-单例模式的几种写法
- 计算机组成第五周:单周期处理器
- [LeetCode][Database]Nth Hightest Salary
- fgbfdcbfbvcbcvbvcbcvbvc
- String和Date之间的转换。。
- Rainy season best wbp brown film faced plywood
- SecureCRT delete删除出错
- 利用mat遍历图像的方法
- 读书笔记
- Java--强引用、软引用、弱引用、虚引用