多核环境vs并行化 问:对于那些利用了并行化架构的设计,多核环境构成了一大挑战。如果我们能克服这一挑战,Tensilica的多核推想就可能成真? 观点一:关键在于整个行业尝试并应用通用型计算的架构,还是去应用更适合于计算的技术。我曾经对两种情况进行了比较:分别将一个嵌入了Pentium内核的器件和一个嵌入式设计提交流片前进行了对比。嵌入式设计利用了如下的优势,即功能度可以划分为独立的小系统,并在独立的模块中实现,从而能实现优化的功能度。过往,这些都是硬件上的模块,你在通用型的主控上有软件API(应用程序接口),让编程者访问这些硬件上存在的资源。如果你尝试过一个20~30万门阵列模块,这是一种很正常的设计风格。正是因为这些模块可能恰好是处理器,用处理器进行设计将具有更高的效率,而且用处理器进行设计将更宽容一些。你如果以处理器作为设计的基础引擎的话,则在交付流片后还可以对其进行重新编程。你有更多的处理器,也不必改变使用的模式,并不意味着你现在要面对另外的15个处理器,而你必须了解另外15种可编程设计。如果你给编程者所提供的是定义良好的API,以便访问内核-内核的资源。一般的编程者都可以轻松地应对这样的编程任务,只有设计者需要知道某个模块是处理器,了解并行化软件的内核是如何运作的。 观点二:如今,谈到软件工程,为了利用好多核架构,你必须拥有编译器、编程语言。随着你进入更高性能水平,这些工具显得更为重要。在功能被清晰划分的地方,我同意你们的看法。但是,我们越来越多地看到,应用中所采用的处理器数量增长很快,而性能如何提高也将成问题。 观点三:随着时间的推移,软件的工作变得愈来愈重要。那些目前业界的标准化组织正在着手进行标准的制定,多核组织已经建立了一个工作组,着手制定关于API的标准,使之能根据多核的特点来分配workload。随着时间的推移,人们必须推出基础架构,使开发者不必去面对多核带来的复杂性,不必让一个半导体公司的客户、软件工程师,打开说明书去查清其芯片架构的每一个细节,我们不能强迫每个工程师去了解清楚芯片上的每一个细节。 观点四:如果考察器件的复杂性,130nm的SoC上市前成本是1300~1500万美元;90nm时,成本是3000万美元。人们推出了ASSP,他们不是针对某个具体问题进行定制的ASIC。在今天的65nm和45nm节点上,人们的设计方法是大量地复用。所以80%的设计是复用的。我们需要API来推进这些开发工作,我们可以划分各种东西,划分音频Codec(编/解码器),此后,可将其放到任何一个设计中。但是,除了API,还应该有一个平台化的架构,以便保证上市时间。 为了实现这一点,需要厂商能提供电子系统级的模型,这样软件人员不用去读说明书。只要有一张CD,上面有可执行的芯片模型,它的运行速度足够快。所以,你能够实现你的应用。于是,当芯片被取回来时,你就有相应的软件了。你可以解决芯片上存在的缺陷。而可实现相应的并行化,让芯片上的各个部分能工作。