基于 Sodor 的矩阵乘法加速器设计之C++

实现两个矩阵的乘法运算,两个矩阵的大小为 MK 和 KN,其中 M>1024,N,K 不超过 256。输入矩阵 A 和 B 的数据位宽都为 8b,输出矩阵 C 的数据位宽为 16b。由于完成乘加运算将超出 16b 的表示范围,因此需要对数据进行量化和更高效的表示。该乘加过程可以用 ALU、PE 阵列、存算电路等来实现。完成设计后需要对方案进行评估,评估指标为完成该任务所执行的周期数。

二、整体设计方案和原理论证(第一次、第二次报告内容)


考虑到时间有限,我打算通过改造 sodor 实现最简单的矩阵乘法功能。具体而言,我有如下四个目标:

① 添加对整数乘法的支持

Sodor 只支持 RV32I 基础指令集,而 RV32I 是无法直接进行乘法和除法运算的[1]。然而,根据论坛[2]中的讨论,我们可以往 RI32I 的设计中加入一些额外的硬件结构,使得原有 Sodor 能解码 RV32IM 中的指令,而无需重新编译 riscv-toolchain。由于 RV32 的 M 扩展中只包含了乘法、除法和求模等指令,而矩阵乘法并不会涉及到除法和求模,因此我们只需

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

计算机毕设论文

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

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

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

打赏作者

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

抵扣说明:

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

余额充值