微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于VLSI设计中,各种层次的并行的概念

关于VLSI设计中,各种层次的并行的概念

时间:10-02 整理:3721RD 点击:
小弟最近写proposal。想找一些公认的term或者名词来准确表达我的设计。
实现的算法方是N^2的复杂度,即a1,a2,a3..ai...a100,每一个ai需要和与全部这100个数相乘。所以总共有100x100次乘法运算。
总共算下来,如果只用一个乘法器,一共要10000个周期。
(1)已有的大部分同样领域的VLSI文章:
它们号称有parallel computing,实现方法是用100个乘法器并行地算出每个ai和100数相乘的乘积,那么只需要100周期就能全部完成。
(2)我们的设计是这样的:
也要号称有parallel computing, 实现方法是事先把100个数分成5个小的数据集,对于每一个小的数据集用一个乘法器来实现ai与此集中全部20个数相乘,由于这5个乘法器是并行执行的,所以总共需要20个周期就可以。
这里我没写错,的确是20个周期,而且总共的计算量是20x20x5次乘法,不需要10000次了。数学算法比较难解释,但是最终结果,以上两种方法的确是一样的,这是我们这个邪门算法的bonus。
回到正题,VLSI实现中,
(1)是一个Core,这种设计依靠这个core内部的并行乘法器陈列来实现parallelsim,没有用到这种邪门算法的bonus。
(2)是5个Core,这种设计依靠这种邪门算法的bonus来实现parallelism,每个Core里有一个乘法器(其实多个也行)。
感觉上,(2)采用的并行计算level比(1)高,但是我找不出一个合理的term来形容。都叫parallelism,但是我感觉:
(2)叫做algorithm-level parallel 或者 Core-level parallel;(硬件上有并行,但主要优势在这种算法的bonus上)
(1) 叫做ALU-level parallel 或者 Multiplier-level parallel;(硬件上有并行,只是加速原算法的一部分,没有利用bonus)
请问没有什么名词来指代区分以上(1)和(2)两种并行技术呢?
我查过Data Parallelsim,Task Parallelism, Thread Parallelsim这些概念,结果发现很难对上号,也很难直接解释以上区别。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top