我已经提取了我的每个算法消耗了多少次触发器(浮点运算),
- 我想知道我是在 FPGA 上还是在 CPU 上实现这个算法,可以预测(至少大致)将消耗多少功率?
CPU 或 ASIC/FPGA 中的功耗估计对我都有好处。我正在寻找类似公式的东西。我有这篇期刊论文,适用于英特尔 CPU。它给出了每条指令的功耗(不仅是浮点运算,还有所有那些寻址、控制等指令),所以我需要更通用的东西来根据 FLOPS 而不是特殊处理器中代码的指令数来提供功耗。
我已经提取了我的每个算法消耗了多少次触发器(浮点运算),
CPU 或 ASIC/FPGA 中的功耗估计对我都有好处。我正在寻找类似公式的东西。我有这篇期刊论文,适用于英特尔 CPU。它给出了每条指令的功耗(不仅是浮点运算,还有所有那些寻址、控制等指令),所以我需要更通用的东西来根据 FLOPS 而不是特殊处理器中代码的指令数来提供功耗。
Re CPU:现代架构实际上不可能。假设您的程序在裸机上运行(即避免现代操作系统、其他应用程序、中断处理、优化编译器等的复杂性)。未使用的电路,现代处理器将以降低的功率水平运行。还有一些硬件节能状态,例如 P(电源)和 C(睡眠)状态,它们与指令无关,即使使用相同的指令序列也会改变您的功耗。即使我们假设您的应用程序受 CPU 限制(意味着没有足够长的时间让处理器进入硬件省电状态),我们也无法预测电源使用情况,除非是在总体统计级别。指令流是流水线的、无序的、融合的等等。而这并没有
FPGA:哦,见鬼。我对 FPGA 的经验太老了,我真的不想说从什么时候开始的。我只能说,在那个时候,当巨大的怪物在地球上漫游时,你可以估计功耗,因为你知道电路设计,以及开关门的功耗。我无法想象现代 FPGA 中没有内置现代节能技术。即便如此,我浏览的小文献表明,许多 FPGA 电源技术是基于先验分析和优化的。请参阅FPGA 电源优化设计技术和40-nm FPGA 电源管理和优势。(顺便说一下,我只是快速搜索和扫描了论文,所以不要太在意我的结论。)