能否让微处理器过时现象成为历史在FPGA构造中加入嵌入式软处理器,是一种可有效地解决处理器过时问题的根本且稳健的方案。设计人员所面临的最大的“过时”问题是微处理器和微控制器更新换代迅速。变化快速的消费类市场以及处理器速度的不断提高,使得处理器的生命周期变得前所未有地短暂,而且经常是在短暂的停产通告之后就中断了生产和供应。此外,在消费类产品中,有时过时现象是故意的,目的是为了推出规划中的平台而鼓励微处理器制造
能否让微处理器过时现象成为历史在FPGA构造中加入嵌入式软处理器,是一种可有效地解决处理器过时问题的根本且稳健的方案。
设计人员所面临的最大的“过时”问题是微处理器和微控制器更新换代迅速。变化快速的消费类市场以及处理器速度的不断提高,使得处理器的生命周期变得前所未有地短暂,而且经常是在短暂的停产通告之后就中断了生产和
供应。此外,在消费类产品中,有时过时现象是故意的,目的是为了推出规划中的平台而鼓励微处理器制造商放弃现有处理器,从而造成一种器件过时的连锁反应。即使对于用“C”代码(即“可移植代码”)编写的设计,也总有一些结构相关的指令和功能会妨碍从过时处理器向下一代器件的转变。制造工艺的改变使这一过程更为困难,因为新工艺制造的器件往往会采用不同的封装形式和I/O布局,从而可能需要对电路板进行重新设计。
在解决过时问题方面,传统方法既耗时耗力且成本高昂,而且无法保护过去的开发投资。与传统方法相比,软处理器内核可提供极具吸引力的替代解决方案。
传统方法的问题
汽车信息设备设计人员所面临的问题是此类问题中最具代表性的。尽管汽车信息设备系统的设计和开发时间已经从五年这样的尺度缩短到两年,但生产过程仍然要持续多年,而且产品的实际寿命则还要长十多年。只要想到汽车中的每个
电子控制单元(ECU)都包括至少一个处理器,而一辆汽车可能包含多达60个ECU,我们就可以想象每次有某种处理器在时间相对很短的停产通告后就很快停止供应这种情况会带来多大的麻烦了。
通常设计人员解决处理器过时问题的方案有几种。特定解决方案的适用性依赖于几个因素:应用软件的价值、系统的生命周期以及解决问题所需要的时间和费用。
最激进也最昂贵的解决方案是围绕新的处理器对系统进行重新设计。根据代码的规模,重新设计可能需要耗费数百人年的时间,其中相当大的部分会花在验证和测试阶段。这种典型的“把孩子与洗澡水一起倒掉”的做法不仅损失了调试和优化现有软件时所做的大量投资,而且这样获得的解决方案本身也只能是“暂时较好地满足了要求”。如果系统生命周期较长,那么同样的问题每几年便会重复出现一次。
另一种解决方案是
LTB, 即最后一次购买(The Last Time Buy).表面看起来,这好象是最经济的选择。但问题是这一方法要求必须估计在整个项目的生命周期中需要购买多少产品。如果估计错误,可能会面临更困难的问题,可能会损失更大的投资,即不得不为估计错误付出巨大的代价。
采用新的处理器,并利用软件在新的处理器上模拟已过时的处理器也是一种方法。然而尽管这一概念看起来很有吸引力,并且确实已经有一定的应用历史,但目前其实际应用并没有理论上看起来那么好。这种方法保护了遗留软件,因此整个过程相对便宜和快速。但这种解决方案并非永久性的。如果系统的生命周期很长,那么每隔几年都必须重复开发一种新的解决方案。
更为重要的是,软件仿真本质上是一个串行过程。由于运行仿真过程需要消耗比应用本身多得多的资源和处理能力,因此这种解决方案速度比较慢。经验表明,平均来说执行每条所仿真的过时处理器指令需要大约20个新处理器时钟周期。
此外,仿真还会带来进一步的过时问题,由于用于仿真的处理器本身也会过时,因此可能需要完全重新编写
仿真器。
现成商用解决方案仅仅是以一种新问题代替了老的问题。假设我们需要一种处理器,要求有
10个UART、一个中断控制器并且可以访问外部闪存
模块等功能。虽然有许多现成商用处理器可提供多个UART和
其它所需要的外设,但通常他们拥有许多其它系统中用不到的外设。因此,设计人员不仅要为这些额外的外设支付更多的成本,通常还需要小