锅底灰

上网需要软硬开发者的共同努力

0
阅读(1657)
在经济危机面前,我们看到各种力量的超常表现;而中国有规模实力或有志于核心技术的公司,就应该抓住机遇,练好内功,提升自己。

上网本在 中国山寨市场没有象手机那样成功,原因从商务等角度可以分析出很多来。但是我这里强调的是技术原因,只有一个:至今仍缺少性价比合适的方案基础。而这个方 案架构正好不是终端厂商有能力设计的。直接拿Wintel来拼,就显然不再象PC市场那样可以允许有一些利润空间了。不论是装机还是其它国产大小品牌包括 笔记本,由于本身价位仍允许它高一些,就让Wintel仍然可以流行而已,也不是说它的性价比就是合理的。事实是:国内市场的国产杂牌机价格等于美国市场 上大品牌价格、而大品牌价格高于美国。但是中国国民只能这样消费啊、没办法都到美国香港去买啊!虽然国内劳动力价格大大低于美国等,但是开发生产管理销售 所有环节的经营质量太低,因此总体成本并不低,共同造成了如今的价格。更不要说根本层面的创新、环保节能等重要问题了。所以,PC产业链同样存在巨大危 机!

可是同样这件事情,也给我们一些启发:那就是如何找到或开发出性价比高些的核心处理器以及操作系统平台。难道上网本或MID真的需要 这么大的运算能力么?或者问:现在的PC或者拼出来的上网本里的软硬件资源,究竟有多大部分是在做着真正用户需要的事情呢?从Wintel这么多年来引导 的‘升级’道路,其实是只有商务上的升级,又有多少是功能上的升级呢!难道1.3G的CPU真的比133M的做起事情来快10倍么?如果真的是智慧的开发
,那么在硬件以摩尔定律发展的期间,算法和软件工程的能力也应该在提高,因此共同努力的结果带来的这个倍数应该是大大高于10。而实际上不是。为什么呢?就是因为太少人会去内部看看,问些为什么,从而打断单向的发展,带来更根本层面的思考。

那 么在这种时候,直接用现成的Wintel架构去拼个上网本的产品,自然成本就太高了,山寨弟兄么就没有利润空间了。而更重要的是,即使有人拼出来了,这个 产品它不会太热么?电池能续航多久?难道就仍然这样盲目跟随去做那么傻的东西么?记得曾经有人向我炫耀他的PC竟然有水冷!风冷不够啦。这条路是应该打住 了,所以,山寨上网本市场没有成功,我看成是中国的机遇:它来得早总比来的晚好。至少我们应该探索和努力构建另外一条道路。

从上网本推开 来说:所有智能装置,包括手机、手持声像播放器、机顶盒、电子书、甚至PC等,都有一个这样的基本平台架构的合理性问题:它们即使暂时还没有遇到市场上的 瓶颈,也可以一起参与新架构的考虑。实时上,已经有核心芯片及方案提供商开始提出能够应对多产品链的架构。为什么可以这样呢?这些装置中的芯片功能不同 啊、是要不同专用芯片啊?问题就在这里:所有这些看来不同的终端产品,所做的事情从内部看是很接近的:无非是大量算法的快速运行,加一定应用层上的管理而 已(目前再加上些炫酷的界面)。从内部看来,所有这些专用芯片:手机基带、多媒体压解码等,都是一个DSP。只不过这些专用芯片设计公司把经过优化的算法 软件固化进去,封装成‘专用芯片’就可以了。那么我今天要说的是:目前的芯片IP的授权业务(DSP、ARM等),已经发展到中规模的应用者可以开始考虑 做自己的芯片了!

按照目前技术的发展,FPGA虽然也开始发力,已经开始推出可现场组合硬件及接口的结构,却仍然从性价比上落后于 DSP,特别是在进行较复杂算法时,DSP大大领先。所以本文暂不涉及采用FPGA的开发。另外,对于应用层面的功能,ARM不失为低成本、低功耗的佼佼 者。因此,DSP+ARM应该是未来若干年内智能装置的基本架构之一;甚至已有公司推出DSP+ARM的单芯片。ARM成品芯片也有包含所谓DSP加速器 的,但其中DSP部分有时仅仅进行厂家提供的确定算法;用户只可以调用,无法利用该运算能力施行自己的算法。

要想抢先市场,保有自己的产权,保证快速开发的终端产品个性化、非同质化设计,就来走这条逐渐深层开发的道路吧。具体开发的深度,应视产量、灵活度的要求、公司的深度技术实力等,可分别选择以下4种情况,并可以循序升级。开发层次越深,产品材料成本就越低。

1. 采用专用芯片的开发
这 当然不是应该鼓励的方法,但也许上手较快。即使是这种方式,也要注意专用芯片的选用。如果你已经寻找了很多专用芯片并认真研究比较它们的真实能力,计算出 来的成本还是大大高于你的预算,或者总有些功能没达到,你也许就已经认识了制作这些专用芯片厂商的技术人员,那么也许他们会为你专门设计一款组合功能的芯 片,成本会下来一些。

2. 采用通用DSP +成品ARM芯片的开发
这是最切实 可行,并可以入手的事情,不过你的公司需要有DSP算法工程师队伍,或者打算招聘和建设。有一种说法是用DSP来研发,投入太多,出来的产品功能却不一定 好过别人专用芯片的。但是,如果你想要长期发展,DSP团队建立起来了,以后再开发新产品就快了(毕竟大同小异);并且你们自己的DSP团队技术实力会逐 渐专用芯片公司的DSP团队技术,质量也就上去了。另外,这里所说的DSP,当然是指完全向你开放开发资源的通用可编程DSP。

DSP工 程师总说自己的开发是真正接近资源极致的开发。必须在设计的早期就确定该硬件模块如DSP内核的真实能力,而不是到了开发后期才开始进行‘优化’,或者会 发现所选平台的先天不足。例如,不仅仅是看它有多少MIPS,还要看这些MIPS的质量:DSP的指令集、管线、总线结构等决定了是否能够真正单周期进行 若干有效运算。最常用在滤波和变换中的运算是本地乘加累积:在存储空间直接取数的乘加,含必要的多方式的指针更新,并放回到存储等操作,全部在一个周期完 成;另外背景中的DMA等能够真正做到不耽误前景运算。而若干外设支持方式等决定了系统设计的总材料成本。市场上不乏所谓DSP,包括大厂家的DSP结 构,做基本定点乘加运算竟然需要软件模拟,几十个周期才完成一个数。而这些深层的考虑,不应该仅仅看做是细节;因为它动辄就带来十倍几十倍的差别:市场上 见到的巨大型发热型移动产品,就属于这种情况,是因为开发商仅仅做了浅层照搬式的开发所致。所以不论从主芯片成本还是功耗体积上,都有巨大的潜力。

DSP 工程师做的事情表面是接近单片机开发的工作:也需要直接面对位、字节、外设等的汇编。但是,所做软件的功能却是如今电子产品中最高智能的部分,通过一定的 算法来描述和进行开发,也就是说,是用最底层的方式在做最前卫的开发。这些算法,一部分是已经发布了国际标准的算法,例如某种CDMA,但是各家还是需要 自己来具体实现和达到尽可能的优化;另外一些是全新物理量处理的算法,没有标准可参考,就必须直接与算法开发科学家联系、合作了。

以笔者多年的经验来看,很多非常惊人的智慧算法,所占用系统资源反而是总体中的少数。

如果你选用的是提供商已经组合好的DSP+ARM的单芯片,一般来说,它的开发比较复杂。不但要求工程师有很好的DSP及ARM双方的深入技术能力,还要求对于该提供商具体的组合方式、开发工具的理解,才能够把二者都用好。

3. 买授权自制DSP+ARM的开发
这种方式中部分的开发工作和考虑与上一种相同。不同的是:现在你有了更大的自由度可以选择放置你真正需要的DSP/ARM内核中的硬件模块,达到真正的物尽其用,来进一步降低成品芯片的成本。

IP 授权提供商非常重要的工作,就是在你自制的DSP流片之前,能够提供真正接近最终运行功能的模拟测试开发工具。有一种做法是该IP授权商提供一块开发板, 上面有一块‘母芯片’,包含了该系列DSP所具有的全部IP,而你可以通过软件工具,选用并连接其中若干,在开发板上运行你未来终端产品的算法或整体软 件,并可以象对你未来芯片一样地进行调试等。但是各家提供工具的方式真的会很不同,需要事先深入了解。

4. 直接设计核心芯片的开发

DSP 以及微处理器已经有几十年的历史,技术架构很久都没有大的变化了。这也就是说,已经达到有些公司(一些海归创办)能够自行设计其中IP并直接完成整体 DSP的阶段。这样就可能达到:从产品整机设计的上层反馈回来的基本功能需求,作为最底层芯片及方案的设计指南。另外本文希望,这些有这样深层设计能力的 公司,将目光不仅仅局限在某个单一专用芯片的设计和经营上,而是参与到整个智能终端产品的多方需求上来,并推出在某种层面上能够‘通用’的芯片架构。而芯 片设计公司只设计芯片、不管方案的时代已经过去,在目前的中国无法推广,而在欧美也只可以提供给少数有方案研发能力的大公司。

以上最后3 种方式的开发,除了是为了你自己终端产品所用,你其实也完成了比较通用的一个‘方案’。所以,你也可以考虑出售此方案给更多的开发厂商。但是,多数情况 下,为了自己公司所做的开发,不一定做到能够公用的开发工具的水平,甚至文档也很不够,就需要另外下些功夫。另外,出售的方案可以有多种层面的:有用户可 以完全傻瓜式的拼接组合的turnkey方案,就象山寨之父所做的那样,可以有大量的中小客户;也可以是包含深层开发支持的方案,能够让客户进行真正深入 的高级功能开发。

最后说下关于操作系统:观察到的现象是:若干feature phone、电子词典、学习机等产品,完全没有操作系统,也有非常发达的菜单管理、良好的界面、漂亮的多媒体、支持网络下载等连接。那么,在一款上网本或 MID设计中如果使用了操作系统,问一下硬件成本是否比基本功能本身加倍了?如果是,那么这个操作系统就是失败的。标准流行的操作系统如果即使剪裁也做不 到几乎不占用资源,那么还不如重新深入了解到底需要怎样的操作系统了,或许自己从头做一个会更好。换言之,首先问下:要操作系统干什么。
Baidu
map