追风者

十问Chris Rowen:听微处理器大师讲SoC设计的前世今生

0
阅读(1278)

即便放眼整个IC行业,像Chris Rowen博士这般爱谈技术,同时又可以讲得如此深入浅出的,着实少见。他可以一边举起手中的iPhone做各种演示,也可以拿起随手拾见的小纸条写写画画来加强语气。他咬字无比清晰准确(尤其在诸如Interestingly或者particularly这类副词的时候会读得缓慢甚而产生了某种韵律感),似乎是在运用一种类似于诗人诵诗,抑或冒险家在众人面前娓娓道来诸多奇迹的情绪和语气,来描述那些SoC设计的理念。很神奇。

而更加奇妙的是,他几乎经历过微处理器的所有起起伏,前世今生。他是RISC架构的奠基人之一,分别参与了Intel和MIPS公司的大跃进时代,如今,又带着一种全新SoC架构的理念,在或多或少地改变着我们的数字时代。所以,与其说是采访,还不如说是在听一个传奇(而且这个传奇也不过是翩翩中年哦!)讲故事。

Power Density、Parallel、Multi-Core、FPGA、RISC、SoC,这些词于谈笑间辗转腾挪,有一瞬间,我差点觉得对面坐着的是 Wes Anderson,那个拍出过《了不起的狐狸爸爸》(Fantastic Mr. Fox)的我最中意的好莱坞导演。不避世也不趋世。独辟蹊径,信手拈来。关键都还挺帅的。

1、我看过您2004年写的“复杂SoC设计”,非常喜欢的第8章(Chris Rowen :“SOC设计的未来”哈哈)。恩您还记得。因为你的所有预言都应验了,这非常有趣。所以我的问题是,您如何看待再6年之后的SoC设计,或者说和SoC 设计有关的那些技术趋势? (Chris Rowen :哇,这个问题还不赖!)

Chris Rowen :我认为这个市场的大方向还是相当清楚的。看看市场层面的基本趋势,再看看技术层面的基本趋势,你就可以看到他们在哪里重合。就技术而言,你会发现摩尔定律(Moore’s Law)作为经济驱动力的事实。但是摩尔定律真正有趣的部分在于,第一,是“集成度(Density)持续提高”。每隔2年半或者3年,硅密度就要提高一倍,这意味着近一倍成本的降低,让射频产品中的数字模块集成度越来越高。这也意味着,各种系统都在规模(Scale)上变得越来越小。所以无论是电脑亦或消费电子设备,每一个系统的目的都是集成于同一块芯片。这就变得有趣起来。因为在过去,你可以生产通用(Generic)存储器,通用处理器,通用射频,诸如此类,然后一股脑儿放在一块儿,建一个非常牛逼的专用(Specific)系统。但是在今天,事情都颠过来了。你更希望把一坨不同的功能集合到一块芯片上。当然在这个意义上,你还是得搞出一块专用芯片。但是挑战变大了,因为芯片本身需要更加专注于某一个特殊应用,而应用处理器、内部总线等等其他玩意儿,也要变得更小更强更快!

另一件吊诡的事就是,摩尔定律并没有在晶体管层面带来太多的功率改进。在过去,当东西变小了,功率自然就降低了,所以工程师也压根不需要操心什么芯片架构(Architecture)。而现在,如果工程师想要优化功耗,首先就要优化架构。他得考虑我怎么着才能更有效地完成这个计算?譬如用更少的晶体管门或者运算周期,甚至在这个任务不运行的时候关闭掉相应子系统。总之,这活儿变智能(Intelligent)了。

所以举个例子啊,比如你想做个手机,就必须要注意区分不同的使用场景,譬如听音乐、看YouTube视频、发短信、上网,或者煲电话,这些都是完全不同的情景。你得关掉所有没用的子系统。更细心,更积极。因此对于芯片设计师(Chip Architect)或者系统设计师来说,这是最好的时代。因为有这么多的事儿可做。但对于一个晶体管工人(Transistor Guy)而言,这可真是最坏的时代啊!一切都已经上升,已经上升到系统或者应用的级别。这就是技术领域正在发生的大事件。

2、未来几年市场方面的变化呢?
Chris Rowen :说到市场。我认为最大的趋势是一切都已经移动起来,因为人们的生活方式已经彻底改变了。当你可以随身携带那么多的设备,就会希望能够持续地连接到互联网 上。这种影响不仅表现在设备上,还表现在无线基础设施,以及云计算上。而且经济层面的机会,将会随之变得非常,非常深远。因为你会看到,譬如在这种设备 (Chris拿起手里的iPhone开始演示)的层面,无线连接的带宽起码还要提高30倍。为了获得足够丰富的娱乐体验,我们或许需要几十甚至几百兆比特 的带宽。在世界每一个地区,高端用户越来越多。中国就是一个鲜活的例子。不光如此。在印度、南美、非洲、加勒比海地区,人人都希望持续不断地连接到互联网。

所以,你必须很好地设定人们日益增长的期望值。现在有10倍的宽带人口增长每个人都有30倍的宽带需求,因此就有了300倍的宽带要求。而系统的每个层面都需要满足这种需求。对于无线基础设施制造商来说,他们的机会是巨大的。譬如华为。但是制造商是没可能赢得300倍收入的。有可能获得更多的收入, 但不是三百倍以上。因此,他们必须在得到大幅增加带宽的同时,大幅降低资金成本(Capital Cost)和经营成本(Operate Cost)。

3、那么接下来在SoC设计上会有什么事情发生?
Chris Rowen :你可以看下无线基站作为例子。传统意义而言,它们是昂贵的。你可以找些通用芯片、通用DSP、通用FPGA。可是今天,为了满足对带宽的要求,您需要更 多的高度定制的SOC,芯片平台和软件的需求也上升很快。所以这将使集成度更高,每块芯片上集成更多的DSP,而每块DSP上嵌入更多的软件程序,甚至是 软件内容的爆炸性发展。

有趣的是,每部分网络基础设施(Network Infrastructure)的功耗都是巨大的。那么即便为绿色节能考虑,减少为更加紧密集成的系统都是异常重要的。基站将明显变小,这意味着整个基站 都可变成塔顶的一个小盒子,而不是……装在塔顶可是简单很多。

当然在系统层面,你一旦降低成本以后降低功耗也就水到渠成。所以这两者之间是一个非常良性的关系。关键是硅晶圆的集成。这也是Tensilica会 如此迅速成长成为世界领先的DSP内核供应商之一的原因。

甚至可以看到这种变化体现到了云计算上。因为现在你需要300倍的带宽,也就相应地对视频服务、视频压缩、互联网数据库搜索、社会网络,如此等等, 都提出了更高的需求。而所有这些事情,真的都是很复杂的应用程序呢。

不过有趣的是,他们都是些并行的应用程序。这是个好消息。因为在计算机业已经发生的一件事情便是,单个微处理器的速度已经很难再提高了。Intel 在1990年,戏剧性地发现了单处理器性能呈指数增长的改善。但是他们也旋即发现当处理器频率达到约3.5到4GHz的时候,功率密度(Power Density)遇到了瓶颈。于是,他们开始尝试多核技术。

还好人民群众想做的事,基本都是天然就可以并行处理的。所以,你在做互联网数据库检索(Internet Database Search)的时候,确实可以设置多内核、多芯片,甚至多系统。因为你的查询请求通常将被发往多个地点。所以在互联网云计算的领域,运用多核的机会无比 广阔。
而且确实存在是一个问题,就是你如何在有效的MIPS指令内获得足够低的功耗。或者说,如何在设计电池寿命最长的移动设备,和最可扩展的服务器之间 取得关联?因为所有都和功耗有关,而非峰值的性能.

4、那么Tensilica是如何来克服在功耗上的挑战的?和竞争对手比起来又有何区别?
Chris Rowen :举个例子。Tensilica赞同为特定的任务去优化处理器。优化流水线(Pipeline),优化接口,优化设计层面,然后把多个内核放在一起,以建 立一个多核系统。这种优化的能力将产生巨大的影响。我会在今天下午的会上谈到这个称作Turbo解码器的专用(Specialized)处理器。 Turbo是一种特殊的算法,可以从嘈杂的噪声中提取有用信息,在一个工作循环(cycle)内,这个解码器可以执行大约3万次,哦对的没错3万次 RISK指令。是的,通用的压缩(Compression)处理器只能执行一次指令,而这个专用处理器可以执行3万次。当然这是一个极端的例子,只是想表明当你知道你的问题在哪里,你就可以做出很多令人难以置信的事情。并行,并因此难以置信的高效率。

同样的原则可以适用于各个层面,适用于各种其他门类的专用DSP、无线接收器,适用于基带和音频的通用DSP,也适用于客户意欲进行视频处理或其他 图形压缩、安全操作、网络协议处理,以及广泛应用于射频的深嵌入式控制(Deeply Embedded Control)。

Tensilica特别集中精力于那些能够专门优化的能力,以及真正方便使用多核的能力。而因此,我们从那些传统的CPU老家伙们中区别了出来。譬如Intel、ARM、MIPS,或者其他什么人。他们都面临一个相同的物理问题,摩尔定律在给了他们更多的晶体管之后,却没有给他们更好的功率控制,对 不对?

他们很少去考虑并行的问题。而与之相反,我们在应用层面非常努力地工作,以期寻找到解决方案。在云计算那段,我们确实可以将任务分割成很多子任务,但是当我在这里玩游戏(Chris又一次拿起手里iPhone开始演示),我真的被限制了。你看,一个手指只能玩一样东西哈。因此在应用处理器的层面,你 真的无法得到啥好处。MIPS、ARM,甚至还有Intel,都面对着这样一个无法在当前硅科技下有效完成多任务的问题。而那是我们擅长的。

我们看到这个市场在迅速增长,去年的出货量增长了大约70%。然后我们会试图进入所有的DPP(Data-Plane Processor)领域,包括DSP、音频视频、安全,以及深嵌入式控制,这其实和应用处理器的范畴离得很远。所以啊,我们常常会发现自己和MIPS、 ARM或Intel出现在同一块芯片上。你知道吧,其实我们就是工厂的工人啊(Chris突然哈哈大笑)!因为有这么多不同的处理器,在Date- Plane里又有这么多不同的任务,那些小而高效的处理器会有很多机会,很多接口(Socket)。

这种对于应用处理器或者接口的互补性,甚至于可以让应用处理器在执行类似于信号处理这种实时任务的时候,也完全关闭。或者比如多媒体应用,应用处理器当然可以去做,但是如果我们优化专用音频DSP的话,将获得4到5倍的效率。尺寸更小,单位时间内的吞吐量却更大。而且可以用如此多的音视频处理器够你 选择。所以几乎任何时刻,系统设计师或者SoC设计师都可以通过区别应用场景的方式,来决定卸载(Off Load)哪个处理器。

这也是为什么我认为我们可以在音频方面取得这么大的成功。当你正在设计一个手机,或者阅读显示器,或者机顶盒,或者数字电视,或者数码相机,你会 说,啊,这里有一种场景需要我做大量音频的工作。于是,把那种卸载很自然地就被设计到基本构架里去了。

而且,我们可以为应用层面的处理器自动生成软硬件,尤其是基于音频和基带的非常全面的软件库(Software Libraries)。因此,不管是老手还是菜鸟,在我们的店铺里都能找到他们所有需要的软硬件解决方案,以帮助他们最快地进入市场。集成音频、集成基 带,或者其他各种功能。
5、那么Tensilica有什么具体的应用吗?
Chris Rowen :今天下午,我将讨论一下移动电话。这是一个巨大的市场,一个可以满足之前所说带宽需求的市场。特别是从当前正从3G向4G升级,大家都聚焦在LTE身 上。不仅因为LTE看上去很像是最后标准的胜者,也因为它非常像WiMax。我们已经能够提供参考设计,帮助客户建立他们自己定义的多核LTE手机,在市 场中抢得先机。这只是一个我们进入领域的实例。

我们也在做一个很类似的数字电视解调器。因为有人希望既为移动应用又为起居室设计一种通用的数字电视接收器。这里有个很大的问题,就是全世界在视频 领域有好多不同的标准和概念,而每个人都真心希望拥有一块可以解决一切的视频芯片。我们准备来设计一块。其实应用一样的原理,就是找些DSP和专用核,优 化最密集的任务,并充分利用我们最重要的能力——生成处理器的功率效率非常小,以及和世上最稳定的通用DSP一样易于编程的软件工具。昨天晚上客户还和我 们说,DSP如此招人待见的最主要原因就是可编程。譬如TI的那些DSP。我们同样在努力使编译器更强大,使程序模型简单,使程序员更不操心。我们还微处理器的流水线设计上增强了视觉效果。这种架构下要还能生成不正确的代码,也怪难的。

因此,我们拥有一个非常高效的处理器。但是效率(Efficiency)这个词值得商榷。传统意义上而言,效率就是指最少的门数、最小的功耗,巴拉 巴拉。但效率也是将产品推向市场的时间。需要多少工程师才能部署好这个系统?每行代码的成本是多少?每个工程师小时(Engineer Hour)所能带来的收入?除了硅片层面的效率以外,这些同样是测量效率的重要参数。我认为我们在这两面都推动得很好。刚才讨论的那种架构,也特别适合在大量出货的领域。移动设备、客厅设备、数码相机,这些都是我们做得非常好的地方。这几个领域四大厂商中的三位,十大厂商中的六个都是我们的客户。

我们主要是在DPP方面拥有很强的知识积累,但同样的影响也已经开始在云计算上面出现。当然,现在云计算的变化还比较慢,部分原因是它并非对功耗如 此敏感,但我认为整体上还是会有影响的。

6、您会在很多其他领域譬如数字电视和有线通信,使用这种结构?
Chris Rowen :当然。那些可以为不同应用优化处理器的架构是很重要的。而且我们也发现,即使在一个新的水平,很多需求也是 相似的。因此同样的Hi-Fi工具,同样的音频DSP,即可部署在世界最好的智能手机上,也同样可以部署在最好的数字电视、蓝光(Blue Ray)影碟机上。因为它是非常小而快的。这方面的要求是相同的。

同样,如果你看下Altas LTE的内部架构,其主要构造模块BBE16或许是世界上最快的DSP核。而它同样也在数字电视解调子系统中使用。同样再一次因为它的快速、易编程,以及 节约功耗。所以,我们可以看到在手机和客厅之间,在这两个媒体处理器和基带处理器之间,都有着共同的需求。

7、我看到您说,芯片的整合将集中在射频、存储和数字电路。那么您觉得它们三者还有可能合并成一个吗?
Chris Rowen :嗯。如果你从开云棋牌官网在线客服工艺(Semiconductor Process)技术的角度来看,我认为在晶体管和器件优化的层面将会有些事情发生。因此在某些情况下,你可以作出权衡。特别是,我们正与很多客户一起工 作,以简化射频电路。通过尽量多的数字处理器,你可以部分程度地脱离射频和数字间的边界。由于相比射频而言,数字会有更加陡峭的生产成本曲线(Cost Production Curve),我们也就有更大的动力去做。因此,我们会越来越依赖于数字方面的有效解决方案。

同样的事情发生在存储器。人们偶尔也会使它们结合在一起,但不是一个简单的组合,内存的加工设备(Fabrication Facility)与一般的优化有所不同。所以我相信,多芯片封装(Multi-Chip Packaging)将越来越重要。尤其当你将芯片组(Die)一块又一块摞起来的时候。所以,你可以在数字芯片组上面摞存储芯片组,然后上面再摞射频芯 片组。这有可能在成本上是最划算的。然后也可能有一种折衷的工艺技术,把它们所有三个都放在一块硅片上。这取决于你的应用程序,比如需要一些存储单元,又 或者需要一些射频的单元。

但最终,我想我们还会坚持三套不同的加工工艺,然后依靠封装技术来整合在一起。不过这并不意味着,只要你能想办法把它们三个捏一块儿,你就得到一个 系统(System)了。因为还有物理属性的要求,比如要多加块电池什么的。但总的来说你要知道,物理尺寸是会越来越小了。
但你要知道还有个巨大的挑战,就是人们的手指不能变小,眼睛也不能变小。 (EEtrend:尤其是男生,哈哈!)对,所以所谓得到“小尺寸”的设备,我们还是有实际限制的。我们在元器件层面的小,其实是对应于我们自己可以接受 多小的屏幕和按钮。所以说到最后,这事儿还是更和成本相关。

8、在书里您还预测了FPGA的未来。而几天之前,Xilinx宣布嵌入ARM 的Cortex A9核。您觉得这是否是一种新趋势?是否与Tensilica的 DPU形成竞争呢?

Chris Rowen :其实……并没啥。我的意思是这种往处理器里一股脑嵌入FPGA的活儿,大概已经折腾了快10年了。 Altera宣布他们与ARM互相嵌的时候,让我想想啊,也是8年前了吧? (Larry:没错!)

所以,这就跟任何一个系统想要找块芯片,或者三块芯片一块儿呆着,没啥区别。当然,偶尔你也会碰巧搞出一块啥都囊括了的数字芯片。话说回来,FPGA兄弟们有一个根本性的挑战,那就是FPGA的通用性非常高,可以做的事儿也贼多。但祸福相倚,要是让它专注做一件事的话,也就不是那么有效率 了。所以,如果你想真正有效地利用处理器,我估计你情愿在处理器里随便嵌一个稍微稳定点的东西,而不是FPGA。

我认为这是非常自然的一步。Xlinx以前也搭过Power PC,对吧?这其实是一码事。它压根没有改变任何原有的架构,也没有在CPU和FPGA的功能之间取得任何逻辑上的合并(Merge)。部分是因为他们没 有任何合并的工具软件模式。
当然,FPGA是很容易配置的,而且价格也便宜。因此,他们占据了一部分的市场,尤其是那些量低而开发成本又低的。因此,我们在市面上看到大量的 FPGA设计。但是基于FPGA的设计总量是很小的。它其实是一个利基(Niche)市场。极端地说,即便有很多工程师在使用它,但几乎所有都是低产量 的。

所以我的意思是,FPGA很重要,但不是Tensilica公司关注的。我们专注于高产量,并且帮助那些试图在设计上节约几纳米硅片的兄弟 们。(EEtrend:完全两个不同的群体咯?)是啊,他们离得是远了点儿。当然他们偶尔也会重叠。譬如基站。以前有很多基站是采用Altera的储存方 案的。挺重的。慢慢地我们看到越来越多因为容量、成本和功耗的要求,从FPGA转向了更加高集成度的芯片解决方案。

9、我在IEEE的设计与测试(Design & Test)上看到一篇您的谈话。您说,如果我们想要进入嵌入式系统设计的大规模并行领域,可配置的多核处理器SoC就有一些问题必须得到解决。几年前,您 还提到过,Intel最大的问题是怎样为通用计算应用配置多核处理器。您现在还觉得多核处理器遭遇困境吗?

Chris Rowen :这个……其实是分开的两码事。对于多核应用层面而言,确实存在着重大考验。就是如何找到足够多的线程 (Thread)来运行。但它不是Intel单独遇到的问题。这是一个涉及到应用程序是如何被调用,以及在当下如此小型的设备上如何架构的问题。即便打开 我自己的笔记本电脑,当我想看看到底有多少个线程准备在跑,它基本上都是很少的。通常情况下,操作系统、用户界面和应用程序开发等等所调用的方式,都完全 没有最大化利用线程的数量。

所以,我认为你在基本的架构层面可以做的,就是提供更多的线程运行,并且充分地利用到并行。当然在应用层面也会有很多层级限制。你知道现在很方便就 去搞个四核八核十六核的,但是在PC这一端,相对于服务器,只有相对较少的条件可以让我们找到这些线程。于是一大现象便是操作系统和应用程序的逐步重组 (Restructuring)。

另一个同样重要的现象是,确定哪些任务可以被放进数据层(Data Plane)。让我们来想想哪些东西通常是可以被放进数据处理器的,譬如在无线信道这类的通讯子系统,譬如存储系统,比如你怎么分发数据,或者你知道的, 安全冗余,也可能是针对压缩流(Packing Stream)的特殊网络处理器,它可以是视频也可以是音频。这些东西其实是更本质(Inherently)的并行处理。
所以吧,我觉得这里有两种并行重组。其一是所谓的,去各地儿找更多的线程应用。另一种是为了维持整体系统中卸载(Off Loading)并行部分的最大值,并让之进入数据层。实际上我认为,在数据层提取并行是更容易操作的。因此,在数据层有效使用多核的数量,远大于单单在 应用层面使用的多核。这也就是为啥我们认为自己正走在康庄大道上。关注于数据层,可以使我们在多核方面的成长速度大大超过那些只盯着应用层面的兄弟。

10、所以在手机上就不是个问题咯?
Chris Rowen :恩可以这么说。这变得相当容易,让我们举一个LTE基带(Baseband)的例子吧。我们的Atlas平 台可以弄出七或八核,取决于你想怎么用。DoCoMo和他的合作伙伴,NEC、富士通以及松下,已经宣布并且详细描述了他们LTE基带架构。第一代是8到 10核。另一个叫做Blue Wonder Communication的合作伙伴也推出了他们的8至10核的LTE基带。因此,现在就有三种不同的LTE基带,而这三种都使用了约8个核。在这个层 面上是可以有大量的并行解决方案的。

再看看下一代的LTE,大概有六点性能方面的因素需要考虑。其中一些是单核怎样可以更快,但更大部分和多核有关。所以我们很容易找到那些有效应用而 20核甚至更多核于单一功能譬如基带的案例。和那些围观应用处理器的哥们比起来,他们如果感觉好,就整两个核玩玩;如果还很爽,那就再整四个。我觉得在数据层和应用层上,多核是有完全不同的机会的。(E:太清楚了!)
11、时间不早了,最后一个问题吧。您当年在斯坦福参与奠基了RISC 架构,后来也曾是MIPS的共同创始人。那么,请问您如何看待RISC架构的未来?依旧是ARM和MIPS之间的战争,抑或会发生一些新的大事件?

Chris Rowen :这个……在科学上,理想架构已经完全改变了。这场关于CISC和RISC架构的争论,其实就是通用 (General Purpose)架构甲跟通用架构乙之间的竞争罢了。RISC赢得了一职半衔,是因为在某个特定时期内它手下有好几十项开云棋牌官网在线客服技术。但在这场战争中,摩尔 定律一下给出了这么多的晶体管,以至于你随便搞个简单的解码或者流水线,都能奢侈地爱用多少就用多少。没人管。所以一个RISC解码器可能要一万门,而 CISC解码器需要五万门。其实也差不多了多少。
不过我觉得除了通用架构之间互掐以外,还有一场更加深远的革命。我们现在来比较通用架构和一大家子的特殊用途(Special Purpose)架构,怎么样?几乎任何时候你都可以说,如果一个产品是围绕某种特定的需求来设计,那么特殊用途架构铁定胜出。 RISC扁了CISC一段时间,因为它的效率高出2倍以上。那么为具体应用特殊定制的架构,就比所有通用架构都高效5至10倍以上了。
因此,这个世界不能再简单分成我的通用架构,和你的通用架构。当然对于那些非常分散(Defused)并且普适(Generic)的应用程序,就好 比在笔记本上用的那些,我们还是需要通用架构的。因为一会儿你要看视频,一会儿又要运行Word或(E:打游戏),对,或者Excel工作表。这是非常多 样的。所以你需要一个德智体全面发展的处理器。不能太特别。

但总之,你不得不面对一个世界,那里有各种各样不同的任务,而每样任务都是独特的。而且更为重要的是,当你因为摩尔定律而在芯片上集成的片上系统越多,你越会发觉有足够多的处理器适用于各种特定的应用子系统。

因此对于我来说,计算的未来不是产生新的通用架构,而是特殊用途架构的集合。譬如一个音频子系统、视频子系统,一个基带子系统、存储子系统,哦对, 还有应用处理器子系统。其中只有一个需要通用的结构(Construction),其他里面都将是特殊的架构。在科学上,摩尔定律带来多核,多核又将带来 特殊架构的解决方案。异型多核(Heterogenic Multi-Core)就是一种新架构。而且我觉得会成为主流。Intel、ARM、MIPS这些公司当然还会有很大的市场,但只限于应用处理器领域。其 实在科学上,通用目的(General Purpose)最终就会变成某一个特殊目的(Specific Purpose)。(E:这真的很有趣。谢谢您!)

Chris Rowen :欢迎。你们的问题都蛮好玩的。

Baidu
map