t******0 发帖数: 629 | 1 小弟目前处境:新手,感觉VLSI这一行的术语太多,有的时候大概明白点儿事儿了,却
不知道应该如何学术地表述。
我对parallel的理解,先不提流水线,就是把硬件功能模块增加,用面积来换吞吐量。
我对scalability的理解,就是按照这个设计思路,很容易把更多的硬件模块装进来,
然后吞吐率相同倍数的增加(如果throughput增加,却慢于面积的增加,就是不
scalable)
不知道以上理解对不对。
现在我想描述一个技术,但是不知道用什么术语来说:
比如输入是x1, x2,x3,x4.....xm (m个数),计算任务是先得出一个 m by m的方矩
阵,然后通过这个矩阵来算其他的东西,矩阵的元素是 f(xi,xj)。
所以总的计算量是m的平方(不考虑矩阵的对称性)。
我们可以用一个f(xi,xj)模块,进行2层循环,这样速度最慢,面积最小;
有的文章用 m 个改进的f模块,一次性地把 m 个输入量(x)都处理了,当然,这
种设计就是为了发论文,m 都不敢很大,而且硬件约束只能允许你处理 m 个数(这一
点还不如串行的设计呢)但是这种文章的关键词都是:parallel 和 scalability。
我目前找到的算法就是把x1, x2, x3, x4, x5....分成两组,然后分别用2个F模块
分别独立地计算,然后将计算结果高效合并。相比于刚才讲的parallel我感觉这才算是
真正的divide and conquer呢。
但是我真的不知道要怎么来描述第三种设计,也是parallel和scalable??
我相信我说的这种divide and conquer的方案不是什么新奇的东西,但是我就是不会说
,不知道怎么来学术地阐述这个东西。 |
|