CPU,MIPS设计,——天翌课设笔记

基础知识

一,指令类型

在这里插入图片描述

1.R型指令

  1. OP为零表示R型指令
    以加法,为例

2.I型指令

在这里插入图片描述

3.J型指令

二,取指令数据通路

  1. 单周期不能设置AR,DR,IR寄存器,直接以PC为地址
  2. 程序和数据分开存放——哈佛结构
  3. 运算器和PC累加器分离
    在这里插入图片描述

三,R型指令数据通路

在这里插入图片描述

单周期硬布线控制器的实现

一,指令译码逻辑

输入,输出信号

在这里插入图片描述

1.根据真值表来写逻辑——OP字段

在这里插入图片描述
这里输入十进制数后会自动转化为二进制数,这里写的是OP字段。

2.FUNC字段

在这里插入图片描述
用比较器来实现,注意这里用与门,是要保证OP为0,且FUNC字段等于一定值
在这里插入图片描述
根据这个表来完成ADD,SLT,SysCall三个指令

二,ALU控制逻辑以及根据指令译码信号实现控制器输出控制信号的逻辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据信号产生条件来完成指令译码信号与控制信号之间的连接
运算器规格
这个图是用来做ALU控制逻辑单元的

三,CPU测试

利用Logisim中的电路仿真对八条指令进行单独测试以及一个排序算法的测试,可利用时钟单步和时钟连续来进行对指令的执行。
我这里是用的排序加载sort.hex来检测。

四,数据通路

数据通路
三个多路选择器,RegDst,AluSrc,MemToReg

1.单周期MIPS数据通路

控制器是纯组合逻辑
数据通路

2.R型指令数据通路建立过程

R

  1. 将RD写入
  2. 移位指令将移位偏移量送入ALU

3.LW指令数据通路建立过程

LW

4.SW指令数据通路建立过程

SW

5.Beq指令数据通路建立

Beq

6.J型指令数据通路建立?

这里没做J型的

五,单周期MIPS控制器设计

在这里插入图片描述

多周期MIPS(微程序)

实验目的
8条指令

数据通路

多周期与单周期的区别:
单周期MIPS:每个指令在一个时钟周期内完成。这意味着从取指、解码、执行、访存到写回,所有步骤都在一个周期内完成。
多周期MIPS:每个指令的执行被分解成多个阶段,每个阶段在一个或多个时钟周期内完成。例如,取指、解码可能在一个周期完成,执行可能在另一个周期完成,依此类推。

一,微程序控制器的基本概念

  1. 一条指令对应一段微程序
    一段微程序包含多条微指令
    一条微指令对应一组相容性微指令(控制信号)
  2. 指令周期包含多个机器周期,如取指周期,执行周期等,一个机器周期包含多个节拍脉冲(时钟周期)
  3. 各个指令周期的前两个时钟周期相同(都是取指和译码)
  4. 了解每个指令的控制信号,课本211页
    在这里插入图片描述

二,微地址转移逻辑设计

  1. 找到微程序地址转移逻辑自动生成,由指令类型产生地址入口s0~s3
    微程序地址转移逻辑自动生成表
  2. 原理:根据前面微指令信号,来决定微程序入口地址
  3. 译码产生指令类型(和之前单周期类似)
    简单总结:首先在地址转移逻辑表格填写入口地址,将结果进行电路分析,自动生成线路然后把译码逻辑和ALUOP补充完整即可

三,指令译码逻辑

指令译码逻辑图

四,设计微指令

1.编写控制存储器

控制存储器

微指令自动生成器
根据微指令自动生成器,得到微指令代码,然后把代码编写到控制存储器中。

五,多周期MIPS架构

这里的指令取指令都是两个周期

1.R型指令执行状态周期T3~T4

  1. 取指令阶段两个周期
  2. 执行指令两个周期:第三个周期完成运算,第四个周期会把值写回,T3运算,T4写回
    在这里插入图片描述

2.LW指令执行状态周期T3~T5

T3:算操作数地址
T4:访存
T5:写回
在这里插入图片描述

3.Beq指令执行状态周期T3

Beq

4.多周期状态转换图

多周期
蓝色的两个是取指令的两拍

六,实验步骤

1.构建多周期MIPS CPU数据通路

在这里插入图片描述

2.设计微程序控制器

在这里插入图片描述
多添加了一个地址输出

a.完善控制器内部逻辑

在这里插入图片描述

b.实现微程序地址转移逻辑

微程序地址

微程序地址转移逻辑

状态变换图
一个状态对应一个时钟周期
一个状态对应一条微指令
状态值对应微指令地址

c.根据状态图构建微程序

微程序
注意不要搞错位宽,紫色的微程序编码前面要加0

3.CPU测试

CPU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值