在并行位代码中实现快速计数器
|
我正在寻找一种优化的计数器实现,可能类似于格雷码,这将使我能够快速步进通过位片数组中的数字。
假设我有数组:
_m256 header[640];
我需要继续更改计数器的位608-639。这256位中的每一个代表一个单独的并行计数器。
“递增”运算最多需要31个运算:对每个位置重复执行“与”运算以计算进位,对“异或”运算以计算值。
格雷码只需要xor,但我不知道计算索引的有效方法-它似乎需要多达31个操作才能确定位的位置。
理想情况下,我希望计数器需要少量的ALU操作来确定要更改的位。有人知道会有帮助吗?
没有找到相关结果
已邀请:
3 个回复
蹄渭信妥扳
古擅坛犯
膛嵌墒缅欠
这将具有2 ^ 32-1个不同的状态。如果2 ^ 31-1足够,请使用抽头27和30代替0,1,21,31。魔幻数字来自http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf。