Skip to content

Luhaozhhhe/Computer_Organization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NKU-CSSE0046-计算机组成原理

本资源库存储了计算机组成原理——李涛老师班的学习资料,包括实验报告与实验代码

homework

提供李涛老师布置的课后作业的解答

Lab1 数据运算:定点加法

  • 初步接触 Verilog语言, 使用 vivado软件来进行电路的设计,学会如何建立源文件、设计外围模块、对电路进行综合和实现等功能,了解基本的电路上箱验证的方法。
  • 结合实验指导手册中的实验一(加法器实验)完成功能改进,实现一个能完成4个32位数的加法的加法器。

Lab2 数据运算:定点乘法

1.复现32位乘法器

​ 复现指导书中的32位乘法器,使用两个32位寄存器,将其中的内容相乘,存储在一个64位寄存器中,并在实验箱上测试。

2.改进乘法器

​ 要求在初始的乘法器的基础上进行改进,让算法能够在16个时钟节拍之内完成,提高乘法效率。上箱验证更改后的代码是否仍然正确。

Lab3 寄存器堆实现

​ 请结合实验指导手册中的实验三(寄存器堆实验)完成对寄存器堆进行64位位拓展的改进实验,注意以下几点:

  • 原始的32个32位寄存器堆,需要修改成16个64位的寄存器堆,注意地址和位宽变化。

  • 在$display$模块,注意读出数据和写入的数据都应是64位,$lcd$屏上的格子需要调整分配。此外,input_sel等相关信号注意位宽是否调整。

  • 本次实验没有仿真,直接上试验箱验证,实验报告中注意对实验结果的介绍,分析和总结需要详细说明。

Lab4 ALU模块实现

​ 请结合实验指导手册中的实验四($ALU$模块实现实验)完成功能改进,实现一个能够完成更多运算的$ALU$,注意以下几点:

  • 原始代码中只有表$5.1$中的$11$种运算,请另外补充至少三种不同类型运算(比较运算、位运算、数据加载运算等)。
  • 实验报告中原理图参考$5.3$,只画出补充的运算部分即可,报告中展示的结果应位补充运算的计算结果。
  • 本次实验报告不需要有仿真结果,但需要有实验箱上箱验证的照片,同样,针对照片中的数据需要解释说明。
  • 实验报告模板参考百度云盘文件,注意提交截至时间为$5$月$18$日下午$18:00$。

Lab5 存储器实现

本次实验无需编写实验报告

Lab6 单周期CPU实现

  • 原始代码实验验证使用实验箱验证,可以不进行仿真,验证时在运行一系列指令之后,实验箱拍照,对比说明各个寄存器中的数据是否是执行正确的结果即可。

  • 改进要求,针对目前$CPU$可运行的$R$型和$I$型$MIPS$指令,各补充一条新的指令,需要修改的$ALU$模块可参照实验四当时的$ALU$改进。改进时注意以下几点

    • $MIPS$指令格式要使用规范格式;

    • 指令执行验证需要修改inst_rom中预存储的$16$进制指令数据;

    • 注意代码中单周期$CPU$模块(single_cycle_cpu)中实现主要功能使用的都是组合逻辑,改进过程中避免使用alway(clk)这样的时序逻辑。

  • 实验原理图使用实验指导书的图$7.3$即可,无需修改。

大作业 矩阵乘法

个人PC电脑实验

个人PC电脑实验要求如下:

  • 使用个人电脑完成,不仅限于visual studiovscode等。
  • 在完成矩阵乘法优化后,测试矩阵规模在$1024-4096$,或更大维度上,至少进行$4$个矩阵规模维度的测试。如PC电脑有Nvidia显卡,建议尝试CUDA代码。
  • 在作业中需总结出不同层次,不同规模下的矩阵乘法优化对比,对比指标包括计算耗时、运行性能、加速比等。
  • 在作业中总结优化过程中遇到的问题和解决方式。

Taishan服务器实验

Taishan服务器上使用vim+gcc编程环境,要求如下:

  1. Taishan服务器上完成,使用Putty等远程软件在校内登录使用,服务器IP:222.30.62.23,端口22,用户名stu+学号,默认密码123456,登录成功后可自行修改密码。

  2. 在完成矩阵乘法优化后(使用$AVX$库进行子字优化在Taishan服务器上的软件包环境不好配置,可以不进行此层次优化操作,注意原始代码需要调整),测试矩阵规模在$1024-4096$,或更大维度上,至少进行$4$个矩阵规模维度的测试。

  3. 在作业中需总结出不同层次,不同规模下的矩阵乘法优化对比,对比指标包括计算耗时、运行性能、加速比等。

  4. 在作业中需对比Taishan服务器和自己个人电脑上程序运行时间等相关指标,分析一下不同电脑上的运行差异的原因,总结在优化过程中遇到的问题和解决方式。

About

NKU-CSSE0046-计算机组成原理

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages