如果我有高品质的代码,我就可以更快地上市。那就是业界的情况,因为人们所使用的这些装置是可以互操作的,知道它们能正常工作。在座的人有多少向自己的PC上下载过东西?当你直接下载到硬件上时,会导致其他部分的崩溃。当我们不能提供相应的性能时,就设法绕开它,这就违反了规则。系统已经变得如此复杂,以至于你必须进行有序的设计,因此人人都必须遵守规则。
软件适配器
问:关于软件的复用性,Siby说道,软件对于性能、内存占用、功耗、效率、对骇客的抵御能力和可视化来说,应该负更多的责任,但最终则还是要依赖于硬件来实现。那么,如果你不断改动模块的架构,并改变相应的硬件,那么你如何保证软件的复用性?
MIPS—Jack:我们必须有一个软件适配层。也就是说,我可以改变USB端口。我在这个产品上没有USB,而在其他产品上有5个,最终使软件并不会在意,因为它是在平台上运行的。
问:通过适配层能否改动软件的架构?
MIPS—Jack:是的,你所希望做到的是,建立若干个出色的孤岛,而我不希望过问这些岛的互操作性,我不希望过问芯片上的多个处理器。你不用过问芯片本身,不用过问操作系统,不用去管编程手册。这些岛都极为出色,是供应链上的顶级厂商所开发的。我们的最佳的产品将通过把这些串联起来而形成产品,将其推向产品,而且能工作。所以,它们是独立的,但人们必须遵循某种规则,他们必须能信任对方——这些产品是可用的。
Wipro—Siby:我们必然看到软件的复用越来越多,而且我们会看到还会推出具有鲜明特色的软件,体现在硬件架构上。
Tensilica—Steve:我认为达到那一点的途径是找出哪里放置抽象层才具有意义。而对那一点进行标准化,的确能提供互操作性。形成先进的功能划分,并保证其性能模块间的互操作性,对其进行优化,重新设定其架构,或者任何其他的工作,使之能更好地完成其工作,而不必担心它与系统的其他部分的互操作能力如何。因为你已经从这件任务中解放出来。复用本身并不能实现复用。
自动代码生成器
问:从汽车电子应用的角度来看,自动代码生成器一直得到广泛的应用。它有可能成为未来的解决方案吗?
MIPS—Jack:我想,汽车业追求的一点是驾乘的完美性。在某些汽车上,装备了100多个处理器。而有些汽车所能用到的处理器很少,这是因为人机接口的应用很糟糕。因此客户无法在对汽车进行保养后,通过原先的编程来将座椅回复原位。现在是有很多变革,但人们必须在编程语言的层次上开展工作,而我们现在还找不出产出率比C++更高的编程语言。我认为那就是挑战的一部分。
Mentor—Bill:但我的确看到汽车工业是一个高度讲求安全性、品质的行业。新一代代码的推出也必须满足法规和标准,而且通过采用这些条文的运用来进行修正。汽车、医疗等行业都要按规章来实行,并通过长时间的执行来获得专业水准,这样才能承担任务。因此这些规则将逐步转化成标准和法规。汽车电子业推出了许多标准。而在各个模块间实现标准化的时候,代码生成器才能真正得到应用。但它也会限制革新。
问:在Bosch,80%的代码是由代码生成器生成的。
Mentor—Bill:我的确看到了很多这些例子。有趣的一点是,在20%的软件上仍然能够实现鲜明特色。
产业断层
问:我看到了现在有这么多的架构和产品,人们使用了大量的IP内核、IP处理器,而从架构的角度来看,你所看到的架构随着应用的不同而有较大的差异。在10多年内,这会导致大兼并吗?这个会不会导致专业的分化,于是会出现大的公司,而且出现一些从软件上支持他们的、专业化的小公司?
MIPS—Jack:我在参加一个EDA会议时,一家小公司曾问了同样的问题。半导体业和电子业是存在断层的行业,它们是由一批独立的公司来领导的。但是同时,为了获得最大收益,你必须遵守一些规则。例如如果我1990年有这些软件的话,因为我用的是Nokia,但是,我买了个新手机后,我所得到的是一张白纸,不用再忍受20年前的程序中的那些错误。独立的空间是有的。当新产品和新标准推出后,你会感到断层,要考虑如何得到足够的批量,以保证商业模式的可行性。这也就是适者生存,我们希望存在竞争的原因。