CS61C Spring 2021——Project 2: CS61Classify要求及实现思路

由于课程政策,CS61C的所有代码均不会在网上公开,以下仅记录完成project时的具体思路。

  CS61Classify的最终目标是在Venus RISC-V模拟器上运行一个简单的ANN网络。此项目分为两个部分,part A和part B。在part A中,我们需要补充一些像矩阵乘法这样基本的函数;在part B中,我们需要将part A中实现的这些函数组合起来,加载一个已经预训练好了的网络,使用它识别MNIST数据集中的手写数字。

project要求

  1.project需要我们自己写测试案例来测试代码(可以参考project提供的tester)。
  2.在part A中,我们的单元测试应该100%覆盖常规代码;在part B中,应该100%覆盖read_matrix和write_matrix。

  Task 0:使用abs函数熟悉整个项目的流程。包括在python代码中添加新的测试案例;使用命令行工具生成.s测试案例;

  背景知识
  矩阵——使用以行为主的顺序将二维矩阵存储在一维数组中
在这里插入图片描述

Part A: Mathematical Functions


  实现一些基本的函数,根据给出的测试用例完善测试模块。

Part B: File Operations and Main

  little-endian:小端格式,低字节存放在低地址处。在文件中,文件的开始便在低地址处。
  下图显示的是数字0x0A0B0C0D是如何以小端格式的形式被存储在内存中的:
在这里插入图片描述

问题总结


  1.按部就班的完成即可,注意所谓的calling convention,将常用的变量存储在s寄存器(调用子函数前后值不会发生变化)中,临时变量存储在t寄存器中。



To be a sailor of the world bound for all ports.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

carpe~diem

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值