diff --git a/doc/reports/system/report_metrics.tex b/doc/reports/system/report_metrics.tex index 9ecae66..db02cec 100644 --- a/doc/reports/system/report_metrics.tex +++ b/doc/reports/system/report_metrics.tex @@ -46,9 +46,9 @@ \newcommand{\MatmulBoardMinMs}{6.936468} \newcommand{\MatmulBoardMs}{6.944404} \newcommand{\MatmulBoardMaxMs}{6.950307} -\newcommand{\MatmulScore}{96.54\%} +\newcommand{\MatmulScore}{96.54} \newcommand{\MatmulCrcStatus}{PASS} \newcommand{\MatmulFinalMs}{4.911765} -\newcommand{\MatmulFinalScore}{100.00\%} +\newcommand{\MatmulFinalScore}{100.00} \newcommand{\MatmulFinalSeed}{\texttt{0xa3772ec8}} \newcommand{\MatmulFinalCRC}{\texttt{0x0417d761}} diff --git a/doc/reports/system/score.png b/doc/reports/system/score.png new file mode 100644 index 0000000..9e6e2c8 Binary files /dev/null and b/doc/reports/system/score.png differ diff --git a/doc/reports/system/system_design_report.pdf b/doc/reports/system/system_design_report.pdf index 9e19933..2e99194 100644 Binary files a/doc/reports/system/system_design_report.pdf and b/doc/reports/system/system_design_report.pdf differ diff --git a/doc/reports/system/system_design_report.tex b/doc/reports/system/system_design_report.tex index 7fca6aa..ded1c79 100644 --- a/doc/reports/system/system_design_report.tex +++ b/doc/reports/system/system_design_report.tex @@ -590,7 +590,14 @@ Vivado功耗分析报告给出的总片上功耗为\TotalPower{} W,其中动 \subsection{矩阵乘法性能分析} -矩阵乘法批量评测是本系统竞赛评分的核心项目。在阶段验证中,系统以三个独立随机种子完成三轮官方评测,运行时间分别为6.936 ms、6.944 ms和6.950 ms,CRC32均完全匹配。随后通过减少软件启动开销、优化批量调度以及进一步压缩SRAM突发数据通路的空闲周期,最终评测在随机种子\MatmulFinalSeed{}下完成5000组4x4无符号矩阵乘法,期望值与上报值均为CRC32 \MatmulFinalCRC{},运行时间为\MatmulFinalMs{} ms,得分为\MatmulFinalScore{}。 +矩阵乘法批量评测是本系统竞赛评分的核心项目。在阶段验证中,系统以三个独立随机种子完成三轮官方评测,运行时间分别为6.936 ms、6.944 ms和6.950 ms,CRC32均完全匹配。随后通过减少软件启动开销、优化批量调度以及进一步压缩SRAM突发数据通路的空闲周期,最终评测在随机种子\MatmulFinalSeed{}下完成5000组4x4无符号矩阵乘法,期望值与上报值均为CRC32 \MatmulFinalCRC{},运行时间为\MatmulFinalMs{} ms,得分为\MatmulFinalScore{}。评测平台记录如图\ref{fig:matmul-final-score}所示。 + +\begin{figure}[H] + \centering + \includegraphics[width=0.94\textwidth]{score.png} + \caption{矩阵乘法最终评测结果(任务ID 6296)} + \label{fig:matmul-final-score} +\end{figure} 以最终运行时间\MatmulFinalMs{} ms为准,系统在5000组任务中的平均每组处理延迟约为0.982353 us。在系统时钟50 MHz的条件下,每组矩阵乘法平均消耗约49.12个时钟周期。每组源数据由一次32拍、32位AXI读突发从ExtRAM装载;SRAM控制器的连续读优化消除了突发内部原有的逐拍空闲周期,并允许相邻读突发在条件满足时直接衔接,从而降低了批量任务中占主导地位的源数据搬运开销。在快速通道模式下,结果写回被跳过,但稳态吞吐率仍由SRAM与CDMA读通道、约22周期的乘加计算以及递归CRC32消费速率共同决定。双Bank流水负责重叠源数据装载与计算,CRC结果FIFO吸收乘加输出和CRC消费之间的短期速率差,因此实测49.12周期每组是完整数据通路协同后的结果,不能仅由单个计算核的22周期延迟推导。相较阶段验证的中位值,最终时间降低约29.27\%,表明本项目的性能收益主要来自启动、搬运、调度、计算和校验全链路的协同优化,而非单独缩短乘加核心延迟。