循环/字节计算

时间:2010-04-29 08:04:35

标签: performance cryptography cpu hash cpu-architecture

在加密社区中,通常以周期/字节来衡量算法性能。我的问题是,CPU架构中的哪些参数会影响这个数字?除了课程的时间速度:)

3 个答案:

答案 0 :(得分:0)

以下是一些可能影响周期/字节的CPU功能:

  • 管道深度
  • 能够并行工作的IU和/或FPU的数量
  • 缓存的大小
  • 分支预测算法
  • 处理缓存未命中的算法

此外,您可能对评估WCET(最差情况执行时间)的一般问题感兴趣

答案 1 :(得分:0)

两个重要因素是:

  1. CPU的ISA,或者更具体地说CPU指令与您需要执行的操作的紧密程度 - 如果您可以在一个指令中执行一个给定的操作,但在另一个CPU上需要3个指令然后第一个CPU 可能更快。如果您在CPU上有特定的加密指令,或者可以利用SIMD等扩展,那就更好了。

  2. CPU的指令发出率,即每个时钟周期可以发出多少指令

答案 2 :(得分:0)

主要是:

  • 内存总线带宽
  • 每个周期的CPU指令

每秒CPU可以访问多少内存可能是一个限制因素。这取决于算法以及工作的大部分内存访问。此外,访问内存的哪些部分将影响内存缓存的工作情况。

现在,指令时间不是以指令执行的周期数来衡量的,而是在同一周期内可以执行多少指令。 CPU中的预处理器排列了几条并行执行的指令,因此它取决于CPU具有多少并行线以及代码可以并行化的程度。通常,算法中的大量条件分支使得并行化更加困难。