计算机组成原理实验报告(硬设)-2016.docxVIP

  • 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)

1亿VIP精品文档

相关文档