DSP中的零开销循环

时间:2019-07-03 17:15:26

标签: parallel-processing blackfin

Blackfin在循环缓冲区中进行零开销循环。如何认识到迭代次数已经完成而无需比较或减少计数器?

1 个答案:

答案 0 :(得分:0)

从blackfin文档中:

  

定序器支持零开销循环的机制。的   定序器包含两个循环单元,每个循环单元包含三个寄存器。每   循环单元具有一个循环顶部寄存器(LT0,LT1),一个循环底部寄存器(LB0,   LB1)和循环计数寄存器(LC0,LC1)。
  两组零开销的循环寄存器使用硬件实现循环   计数器而不是软件指令来评估循环条件。后   评估,处理分支到新的目标地址。两组注册-   包括循环计数器(LC),循环顶部(LT)和循环底部   (LB)寄存器。

如果每次进入循环都会减少循环计数器,则此方法有效。
然后,当程序计数器到达“循环底部”时,测试该计数器的值足以分支

  • 转到下一条指令,如果循环计数器== 0,则退出循环
  • 如果循环计数器!= 0,则
  • 到循环顶部继续迭代。还需要同时递减循环计数器。

这可确保零开销循环。