是什么改变了——没有什么——在过去的30年的软件。
因为我在纽伦堡嵌入式世界年会,这里的总体情绪似乎有点低调,缓慢的第一天。有传言说大约1100的200家参展商拿出由于全球健康情况下我们都是要求不握手和微笑,而且多雨的天气没有很大帮助。天气转向雪两天,出勤似乎很好,实际上,我们有很好的与与会者讨论。在嵌入式世界软件总是在我的脑海中,与此同时,我想詹姆斯(吉姆)准备好了,一个同事和朋友两年多前一点。我想念他的幽默和软件的见解。在软件开发改变了什么?今天他会怎么说?
我的荣誉密切合作与吉姆我们评估战略选择了嵌入式软件在电子设计自动化(EDA)。“最好的赚钱方式与软件是销售硬件,”曾经是他的评论之后在节奏工作了一段时间。这评论来自RTOS软件先驱和RTOS的发明者和董事会支持包(BSP)自己!现代系统芯片(soc)的工作离不开他们的软件内容,所以讨论EDA,以及它如何与嵌入式软件是自然的。在我们的谈话中,我们回到软件basics-the著名的“银弹”。
弗雷德里克·布鲁克斯在他的著名论文从1986年”在软件工程没有银Bullet-Essence和事故”,在软件开发的困难分为两个部分:意外和至关重要的。意外的困难的挑战是将软件的概念表示转换为现实的某个特定的硬件上运行。高级语言的引入在软件开发的最显著提高软件生产率,它自动转换过程。剩下的基本困难,布鲁克的论点是,没有一个工具或工具会使什么样的生产力改进获得高级语言的引入在攻击基本困难。
记住这个模型,吉姆和我将很快同意为什么不同的EDA的世界,那里的工具持续提高开发人员的生产率变化过程的技术。在我们的一个电子邮件交往,他写道:“事实上,半导体的基本困难主导开发过程由于半导体过程中生理变化的移动到下一个节点的技术。布鲁克斯告诉我们,基本困难服从工具得到戏剧性的生产力,和EDA业务不断利用这一事实每年通过开发这些工具。每一个过渡到下一个技术节点破坏了上一代的设计规则,需要新的实现工具。“添加,每个节点,新技术验证和SoC-related软件开发的成本也越来越明显。
那么,下一个是什么软件?
布鲁克斯在1986年说,“然而,怀疑不是悲观。虽然我们没有看到惊人的突破,甚至认为这样是不符合软件的本质,许多正在鼓励创新。[…]没有捷径,但有一条路”。当时,布鲁克斯确认四个有前途的领域的发展,可以考虑潜在的元素“沿着路”:
因此,尽管看起来我们都沿着“在路上”对软件改进,一些基本面有了巨大的变化。30多年后,布鲁克斯的“银色子弹”,约翰轩尼诗和大卫·帕特森宣布ISCA 2018图灵的讲座,我们是在“计算机体系结构的一个新的黄金时代”。
我组装的几个来源成一个在下面的图表来说明这些变化,并覆盖一些关键的出版物。
原始的来源“42年的处理器数据”k·鲁普维护。2018年我从下面支撑的核心轩尼诗/帕特森图灵讲座,幻灯片22所示。CISC单一程序速度增长2 x 3.5年,RISC性能增长2 x每1.5年,直到大约2003。Dennard年底缩放仍然保持在3.5年2 x的性能提升,但正如Herb Sutter在“免费的午餐结束了“时钟频率和权力逐渐减弱,导致开关多核与软件开发相关的所有挑战。图表显示,晶体管计数仍然遵循摩尔定律,但每个晶体管的成本正在放缓速度由于工厂成本(图灵的讲座,滑动24)。
值得注意的是对“银弹”出版后,软件行业基本上有17年的“免费午餐”通过硬件,但是在上面还介绍了项目,布鲁克斯建议——就像开源(Linux, Android)。吉姆的贡献可以看到这一切在VxWorks,例如。
的底线”计算机体系结构的黄金新时代”——如果我将弗雷德布鲁克斯软件的角度来看,硬件将是一个至关重要的部分“必不可少”的变化。特定领域的架构(员)将是关键,需要大量的“意外”改善地区体育会映射领域特定语言(dsl)。
这是一个勇敢的新世界。和它是好的硬件/软件界面!
顺便说一句,在演讲者准备室,我遇到了导师科林的墙壁,他写了一篇关于吉姆准备的贡献。我们回忆了多少变化,在这么多没有几十年(如C使用嵌入式编程)。我们聊了聊我们的经验和吉姆。我想象着吉姆如何微笑在午餐时间在他最喜欢的越南地方服务摇晃牛肉——波吕克·虫胶。他将再次指出硬件软件的重要性,以及如何与dsl逼近了一步,一步一步,什么可能是一个“银弹”。
美好的回忆。我想念我们的谈话,吉姆。你一直都是一个灵感。
留下一个回复