在加密社区中,通常以周期/字节来衡量算法性能。我的问题是,CPU架构中的哪些参数会影响这个数字?除了课程的时间速度:)
答案 0 :(得分:0)
以下是一些可能影响周期/字节的CPU功能:
此外,您可能对评估WCET(最差情况执行时间)的一般问题感兴趣
答案 1 :(得分:0)
两个重要因素是:
CPU的ISA,或者更具体地说CPU指令与您需要执行的操作的紧密程度 - 如果您可以在一个指令中执行一个给定的操作,但在另一个CPU上需要3个指令然后第一个CPU 可能更快。如果您在CPU上有特定的加密指令,或者可以利用SIMD等扩展,那就更好了。
CPU的指令发出率,即每个时钟周期可以发出多少指令
答案 2 :(得分:0)
主要是:
每秒CPU可以访问多少内存可能是一个限制因素。这取决于算法以及工作的大部分内存访问。此外,访问内存的哪些部分将影响内存缓存的工作情况。
现在,指令时间不是以指令执行的周期数来衡量的,而是在同一周期内可以执行多少指令。 CPU中的预处理器排列了几条并行执行的指令,因此它取决于CPU具有多少并行线以及代码可以并行化的程度。通常,算法中的大量条件分支使得并行化更加困难。