minisys-单周期cpu(一) 数据通路设计

cpu的基本功能

指令控制

控制指令执行顺序

操作控制

根据指令的功能,产生相应的控制信号

时序控制

对各种操作进行时间上的控制

数据加工

对数据进行算术/逻辑运算或者其他处理

端口访问

对来自存储器或者I/0端口的数据进行访问

中断处理

处理运行过程中的异常情况

计算机的基本结构

处理器

控制器
运算器

存储器

输入

输出

处理器

实现指令集架构中的指令

数据通路:

处理器的一部分,包含了完成处理器所要求的操作所必须的硬件

控制:

处理器的一部分(也在硬件中),用以告诉数据通路需要做什么

CPU执行指令的过程

取指

根据程序计数器(PC)从内存中取指令,PC的值为该指令在内存中存放的地址

计算PC的值

能自动计算PC的值以确定下一条指令的地址

译码

对指令操作码进行解析
产生控制信号来控制指令进行相应的操作

取操作数

根据指令字段的内容选择从存储器读取数据或直接从寄存器取数

算术/逻辑运算

根据译码结果进行算术/逻辑运算或者计算操作数的地址

结果写回

根据指令的要求对运算(处理)后的数据进行写回操作,如写存储器或写寄存器

时钟控制

组成指令功能的四种基本操作

1.读取某一主存单元的内容,并将其装入摸个寄存器
2.把一个数据从某个寄存器存入给定的主存单元或输出到给定的端口地址中
3.把一个数据从某个寄存器送到另一个寄存器或者ALU
4.进行某种算术运算或者逻辑运算,将结果送入某个寄存器

指令操作步骤

取指令(IF)

从存储器中取出32条指令
将PC递增(PC=PC+4)

指令译码(ID)

从指令中读取操作码和相应的字段
从寄存器文件中获取所有必须的寄存器的值

执行(EX)

ALU执行操作:算术(+、-、*、/)、移位、逻辑(&、|)、比较(slt、==)、计算加载(LW)和存储(SW)的地址

存储(MEM)

只有加载(LW)和存储(SW)指令在这一阶段才会有事情做;其他指令在这一阶段闲置,或者干脆跳过这一阶段
可以利用Cache加快这一阶段的执行

写寄存器(‘WB’或者“写回”)

将指令执行的结果写回到寄存器文件中
无需写寄存器的指令(e.g.sw,j,beq)这一阶段闲置或跳过

单周期数据通路的设计思想

1、分析和确定每条指令所需数据通路部件

2、在给出数据通路部件的同事,确定它们对应的控制信号

操作功能的形式化描述

描述语言称为寄存器传输语言RTL,设定如下
1.用R[r]表示寄存器r的内容
2.用M[addr]表示读取主存单元addr的内容
3.传送方向用“→”表示,传送源在右,传送目的在左
4.程序计数器PC直接用PC表示其内容
5.用OP[data]表示对数据data进行OP操作

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值