其他分享
首页 > 其他分享> > 【Computer Organization笔记16】大实验任务详细说明:支持指令流水的计算机系统设计与实现

【Computer Organization笔记16】大实验任务详细说明:支持指令流水的计算机系统设计与实现

作者:互联网

本次笔记内容:
P31 计算机组成原理(31)
P32 计算机组成原理(32)

我的计组笔记汇总:计算机组原理成笔记

视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完

幻灯片见我的 GitHub 仓库:计算机组成原理 src/slides

本节课继续由老师讲解实验;本节课后的下周周一、周四由同学们来讲解自己的进度。

本将标题为:支持指令流水的计算机系统设计与实现。

尽量做流水,实在不行做多周期。

这节课也是对计算机组成原理的综述、复习。很重要。

 

文章目录

 

内容提要

做计算机第一件事,干什么呢?设计指令系统。老师已经给大家了。指令系统分析实际上就是需求分析。

实验目的

实验目标

最低目标

更高目标

指令系统设计

指令分类和指令格式

状态转移图和指令各执行步骤的操作功能

上图是多周期的转移图。可以用于参考。

我们的下一条指令 PC = PC + 1 ,因为我们的指令系统是按照字进行编址的。

如果加入中断,可以在取指前,加一个中断跳转。

流水的实现


如上是一个参考,我们至少要加入“暂停”,至少能检测出冲突。

指令的分类


按照指令的操作类型可分为4种:

R型指令(寄存器-寄存器型)从寄存器堆中读取源操作数,结果写回寄存器堆:SLL、SRL、SRA、SLLV、SRLV、SRAV、MTSP、MOVE、ADDU、SUBU、MFPC、SLT、SLTU、CMP、NEG、AND、OR、xOR、NOT、MFIH、MTIH。

I型指令(立即数型)使用一个(4位或5位或8位或11位)立即数作为一个源操作数:SW_Rs、SW_SP、SW、LW_SP、LW、 ADDIU3、 ADDSP3、 ADDSP、ADDIU、LI、SLTI、 SLTUI、CMPI、INT。

B型指令(立即数跳转型)使用一个立即数作为跳转的目标地址:B、BEQZ、BNEZ、 BTEQZ、 BTNEZ。

J型指令(寄存器跳转型)使用寄存器的值作为跳转的目标地址:JR、JRRA、JALR

指令格式功能描述

R型指令:

具体可见参考书。

从指令分析中能得到什么?

老师希望同学们得到如下问题的答案:

ALU需要完成哪些功能?

+
-
<<
>>
AND
NOT
OR
XOR

此外,还要考虑操作数的来源。

寄存器组构成?

两类: 通用寄存器 、 专用寄存器 。

通用寄存器:8个,R0到R7。

专用寄存器:

指令功能及执行步骤


数据通路画好了,绘制指令流程图、指令流程表。

填完一条指令,在数据通路上走一遍看看。

CPU总体设计

CPU的外部特性

输入信号

输出信号

入出信号

即,考虑总体的外部条件。

CPU主要组成

体现设计功力的地方,而实现可以分工进行。

ALU设计

功能:

接口:

寄存器组设计

功能:

接口:

与内存和外设的接口


与串口通讯时,是一个异步操作(握手)。

阶段寄存器设计

阶段间需要传递的所有信息:

流水冲突

流水线CPU基本结构


最后要呈现类似这种图,给老师。上面这个图画的不太好。

实验步骤

确定指令系统

确定指令的执行流程

确定硬件组成模块

确定每个模块的功能

给出每个模块的功能描述

时间安排

基本部分:

扩展部分:

最终完成时间:

检查点:

 

标签:指令系统,16,Computer,设计,指令,寄存器,Organization,CPU,流水
来源: https://blog.51cto.com/u_15279775/2938486