Skip to content

youyc22/NSCSCC-2024

Repository files navigation

yycpu

  • 2024年龙芯杯MIPS个人赛作品,单发射五级流水+icache,双周期访存,主频最高120MHz,性能测试时间0.395s,决赛提交的是117MHz的版本,决赛中用addu指令代替maxu,同时将slt改为无符号

  • 决赛实现代码在asm文件夹中,修改addu的硬件实现使其代替maxu,最终提交成绩为0.053s,如果用循环展开还可以更快(测试了一下如果一次循环比较四次,时间可以缩短到0.034s,继续提高次数当然还可以更短,但是提升就很小了),如果不把数组遍历完多提交几次也能过(试出来一个0.004s的成绩),如果使用协处理器和监控程序一起跑甚至可以得到0s的成绩,但是这些考场上都没有想到(

  • 决赛前后期为了提高主频把很多时间花在三周期访存上了,但是提升效果非常有限,甚至不如双周期访存,只能说整体架构设计还有很多可以改进的地方吧

  • 还有一个很大的问题是没用做串口和访存的同步设计,现有的是异步设计,导致在超频时把时间花在调约束延时上了,实在是不应该

  • 感觉个人赛真得很有必要限制wns为正,已经变成超频大赛了(,以及测试程序也可以换一换,现有的程序无法发挥出分支预测的优势

  • 个人赛的二等奖名额太少了啊呜呜呜,初赛排名也不错,决赛自认为也尽全力了,但是单赛道只有1个一等奖2个二等奖呜呜呜,希望官方多分几个二等奖名额吧

  • 有很多遗憾吧,明年大概率也不会参加了,实在是卷不过前面200MHz+双发的大佬,就这样吧