影响程序执行时长的因素有CPI,指令数,主频,如果排除了处理器主频的影响因素,指令数目又是固定的,那评比的不就是CPI了吗,也就是说我把E203改成1个单周期处理器,这种标准下的性能就能提升很多了,这明显不合理,你辛辛苦苦写的分支预测机制还没别人极致的单周期处理器来得实惠。 建议直接用类似DMIPS这种指标来评定处理器的性能,避免上述情况发生,一定要加限制条件的话,可以限制电路面积,功耗啥的。
谢谢您的回复,不过排除频率因素来评定性能的话,感觉性能上限也就不多了,选手的发挥空间也不是很大,比较容易出现得分接近的情况,而且比赛规则中说性能相近的情况下电路面积较小者胜,这个性能相近也没有具体的量化方式,个人认为这个量化标准也比较难以制订。有没有可能指定比赛平台,防止器件竞争的同时也能给选手更大的发挥空间。或者说就是出一个更加详细具体的评比标准,我们参赛选手也需要在设计的时候权衡性能和由此带来的面积开销,系统级应用的评分标准等也不够具体
首先感谢这位同学的提问和建议哈,关于赛事评分这块做以下稍微详细点的回复。
1. Dhrystone、CoreMark、Whetstone这些CPU的评测标准还算是国际上比较通用的benchmark,这也是目前市面上众多CPU性能对比的参考项。CPU的主频也是考量CPU性能的一个指标,这里由于是在FPGA中进行的实现,不同的FPGA平台,对于这个会有直接的影响,因此这块的考量会放到系统级应用里面进行考量,主频低的时候想要实现一些复杂应用必然难度系数就会提升甚至由于实时性不够无法实现。
2. 对于上述benchmark跑分,优化空间还是非常大的,结合市面上同等应用量级的RISC-V处理器来看,和目前蜂鸟的跑分来看,还是有不少优化空间的。可以看看其他同等量级(MCU)的RISC-V内核的跑分,及相关特性,开源的甚至可以看看具体实现来学习,把优秀的地方迁移到蜂鸟上来。
3. 系统级应用这块是开放赛题,所以目前来说评分指标是定性的不是定量的,具体以评委团综合评价为准。结合往届赛事来看,在规定的时间范围内,参赛选手的具体实现差距还是很明显的。毕竟这个比赛不是数学考试,如何展示自己的作品,如何体现优势,如何在有限的时间范围内让评委眼前一亮,这些也是需要参赛选手自己来把握技巧的。
不对频率做限制,就会出现比拼器件优势的情况了,性能更强的fpga,在不做任何处理的情况,对于蜂鸟综合后主频都会提升不少。benchmark指标的都是专门的国际组织来标定,在cpu领域都是公认的,你说的也没错误,只是如果单纯靠降频来实现乘除法的单周期,可能最后实现的cpu不太具备实用价值,技术的实现还是需要具备实用价值的,这个都是需要综合考量,比如电路里面的PPA指标,性能和面积就是对立的,如果把一方弄的很机制,那一方面直接废掉,可能也没啥实用价值
执行1次循环需要的时间 t=CPI * num of inst / f
每秒钟执行的循环次数 N = 1 / t
这种标准下的性能 p = N / f = 1 / (t * f) = 1 / (CPI * num of inst)
所以只要CPI越小,p就越大
你的分析没问题。cpu的性能优化方向肯定是希望CPI小。其实处理器的流水线技术就是为了解决这个主频高的同时来减少cpi。目前来说蜂鸟是两级流水线,对于一般运算基本都是单周期,所以对于基本运算,蜂鸟的两级流水线在提升主频的同时做到了单周期处理。对于乘除法运算目前的实现是多周期,所以优化乘除法运算是一个很好的方向,能在保证一定主频的情况下实现单周期固然是很好的思路。如果单纯的考虑降频的方式来实现乘除法的单周期,最后会发现整体CPU运行频率会很低,基本上对于系统应用的实现会很困难,是一种比较拙劣的实现方式,