文章在这里
http://en.wikipedia.org/wiki/Reconfigurable_computing#Example_of_a_streaming_model_of_computation
计算流模型示例
问题:给定 2 个长度为 256 的字符数组:A[]
和B[]
。我们需要计算数组C[]
使得C[i]=B[B[B[B[B[B[B[B[A[i]]]]]]]]]
. 尽管这个问题是假设性的,但也存在类似的问题,但也有一些应用。考虑上述问题的软件解决方案(C 代码):
for(int i=0;i<256;i++){
char a=A[i];
for(int j=0;j<8;j++)
a=B[a];
C[i]=a;
}
该程序将占用 CPU 大约 256*10*CPI 周期,其中 CPI 是每条指令的周期数。
这个问题可以在像 Haskell GHC 这样的高级编译器中优化吗?