【问题标题】:Is bitwise AND, OR, XOR using 8 cpu cycles to get a result?是否使用 8 个 CPU 周期按位与、或、异或来获得结果?
【发布时间】:2016-05-19 16:42:19
【问题描述】:

如果我想按位 AND 或 OR 或 XOR 00001111 和 10101010 并得到结果,那将是 8 个 CPU 周期来比较 8 个位中的每一个吗?或者实际上是一个 CPU 周期可以 AND/OR/XOR 所有这些位?

如果它实际上是一个 cpu 周期,这是否意味着 32 位处理器可以在一个 cpu 周期内与/或/异或多达 32 位(与 64 位相同)?

【问题讨论】:

  • 这完全取决于特定的 CPU,但在现代 CPU 上,无论操作数宽度如何,简单的按位运算通常都是 1 个周期。请参阅您使用的任何 CPU 系列的手册。
  • 我很确定大多数现代处理器可以在一个周期内完成许多位和/或/xor。

标签: bit-manipulation cpu-usage


【解决方案1】:

如果将存储在 CPU 一个数据字中的两个整数值组合在一起,则逻辑运算将在一个周期内完成。

【讨论】:

    【解决方案2】:

    Bitwise operations 在单个位级别上对一个或多个二进制数字进行操作。这些操作通常在二进制数的所有位上并行执行。数据通常与处理器的本机字大小一样大。在 32 位 CPU 上,对 32 位数据的按位运算需要一条指令。在 64 位数据上,需要两条指令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多