SoC处理单元性能评估及功能划分
明确但会有一定变化的功能:这些功能有一定程度的灵活性。例如,尽管单一的FFT可以由一个ASIC来处理,但将多个相关的FFT重新组合成一系列实现方案的能力会需要一种可编程的加速器。
不确定且可变化的新功能:满足这些需求的处理器单元是可编程的RISC、DSP和FPGA。虽然设计人员也许不知道这些不确定或新特性是什么,但有必要测度应对预计需求所需的大致性能和存储器。
当系统功能已经被分解成这三大类别时,系统可以映射到一个现有的SoC器件。整个程序分成以下步骤:
1.确定最终系统完整的特性和功能清单。如果可能的话,包括对新特性和功能的估计,它们可以在采用该SoC产品的寿命期内随时加入。
2.把该特性和功能清单分成数据处理部分和信号处理部分。
3.把每个清单(数据和信号)中的功能分成三类:a.在产品的寿命期内明确并将保持不变的功能;b.在产品的寿命期内明确但允许某些变化的功能;c.不确定且可变化的新功能。
4.估计每个清单中每项所需的性能。
5.估计每个清单中每项所需的存储器。
6.分配:a.适当的明确功能给可行的固定功能加速器;b.其余的明确功能给可行的可编程加速器;c.不确定且可变化的新功能给适当的可编程器件(RISC用于数据处理,DSP用于信号处理)。
最后一步的目标是尽可能多地利用加速器,并把灵活性和裕度留给可编程单元处理。显然,对明确的、可有一些变化的和不确定功能的分配在一定程度上取决于相关SoC能提供什么硬件。把一个系统映射到一个新的SoC,而不是一个现有的SoC,有可能会引起较长的产品规划时间,所以该设计人员必须解决的问题将经常和一系列基于该新器件的产品有关。设计人员需要确定哪些算法组件更好理解,没有缺陷也不需要改变;还需要确定在整个设计期间或产品系列中,系统的哪些部分有可能改变。在涉及到功能分配(步骤6)时,一个新方案的设计人员可以非常肯定地将明确功能(步骤3的a)分配给固定功能单元,可有些变化的功能(步骤3的b)分配给可编程加速器,把不确定的、变化的新功能(步骤3的c分配给处理数据的RISC和处理信号的DSP)。
评论