- 8
- 0
- 约3.78万字
- 约 59页
- 2017-06-05 发布于湖北
- 举报
计算机组成原理实验报告(硬设)-2016要点
《计算机组成原理》
课程设计报告
年级专业班级:
完成日期:
小组成员、组内分工及各成员成绩学号姓名分工工作量比例成绩
PAGE \* MERGEFORMAT 58
1. 引言
1.1 实验目的
在掌握传统的、顺序执行的CPU工作原理基础上,理解掌握流水CPU的工作原理;
掌握流水线的设计思路和方法,尤其是对结构相关、数据相关和控制相关的解决思路;
理解硬件设计流程,熟悉掌握指令系统的设计方法,并设计简单的指令系统;
理解和掌握基于VHDL语言和TEC-CA硬件平台设计模型机的方法,并藉此掌握工程设计的思路和方法。
1.2 实验要求
1. 基本设计要求
参考《16位5级流水无cache实验CPU课程设计实验要求》文档及其VHDL代码,在理解其思想和方法的基础上,将其改造成8位的5级流水无cache的实验CPU,包括???指令系统、数据通路、各流水段模块、内存模块等方面的改造。利用VHDL语言编程实现,并在TEC-CA平台上进行仿真测试。为方便起见,后续16位5级流水无cache实验CPU简记为ExpCPU-16,而8位的则记为ExpCPU-8。
对于内存模块的改造,参考《计算机组成原理》课程综合实验的方法,独立设计一块8位的RAM。
要求测试减法的溢出标志位,如测试127-(-96)或者-127-96的溢出标志位。2. 额外设计要求
时间允许的情况下,进行一些额外的、探索性的改造,可用于加分。例如,
利用TEC-CA平台上的16位RAM来存放8位的指令和数据;
实现一条JRS指令,以便在符号标志位S=1时跳转。需要改写ID段的控制信息,并改写IF段;
实现一条CMPJ DR,SR,offset指令,当比较的两个数相等时,跳转到目标地址PC+1+offset;
可以探索从外部输入指令,而不是初始化时将指令“写死”在RAM中;
此5段流水模块之间,并没有明显地加上流水寄存器,可以考虑在不同模块间加上流水寄存器;
探索5段流水带cache的CPU的设计。
各组亦可根据实际情况来做一些创新性的探索,酌情加分。
1.3 实验设备
本课程综合设计中,需要用到的实验设备如下:
PC两台;
TEC-CA硬件实验箱一个;
Quartus II软件平台一个;
DebugController软件一个;
JTAG连接线。
1.4 主要成果
实现5级流水无cache的8位实验CPU,16条简单的命令执行,输出确认无误。
2. 8位无Cache的5段流水CPU总体设计
2.1 指令系统的设计(注:要给出指令功能、指令格式、指令列表)
constant ADD : std_logic_vector(3 downto 0):=0000; //加法
constant SUBB : std_logic_vector(3 downto 0):=0001; //减法
constant ANDins : std_logic_vector(3 downto 0):=0011; //与
constant MOV : std_logic_vector(3 downto 0):=0010; //赋值
constant LOAD : std_logic_vector(3 downto 0):=1000; //load指令
constant STORE : std_logic_vector(3 downto 0):=1010; //store指令
constant LOADH : std_logic_vector(3 downto 0):=1011; //高位load指令
constant LOADL : std_logic_vector(3 downto 0):=1001; //低位load指令
constant JR : std_logic_vector(3 downto 0):=0100; //跳转
constant JRZ : std_logic_vector(3 downto 0):=0111; //Z==1跳转
constant NOP : std_logic_vector(3 downto 0):=1100; //空操作
constant MOVI : std_logic_vector(3 downto 0):=1101; //
constant NOPIns : std_logic_vector(7 downto 0):
2.2 数据通路的设计(注:可参考16位CPU,然后指出变为8位时,作了哪些修改)
一、数据通路图
图1 无c
原创力文档

文档评论(0)