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操作