并行处理不仅可以改善性能,而且还可以通过更好地反映系统行为和开发资源的自然分割来简化设计。
人们可以将多处理器设计定义为这样的系统:它把各项功能和任务分配给多个处理器去完成,而这些处理器彼此协调、互相沟通,以保证行为一致。多处理器系统比单处理器设计更加复杂。它要求为内务操作和协调功能进行额外的编程,调试也更为复杂。这是因为多处理器系统需要各处理器间的交互作用,而在单处理器体系结构中不存在这种处理器之间的交互作用的问题。尽管多处理器设计增加了复杂性,但多年来,它一直用于高性能计算机和工作站中,而且正跻身于日益增多的嵌入式系统应用之中。
人们之所以使用多个处理器,一条突出的理由是,它们能够比单个处理器提供更强的处理能力。在选择单处理器体系结构还是多处理器体系结构时CONTROL ENGINEERING China版权所有,需要考虑的一些性能因素有:实时算法的处理量CONTROL ENGINEERING China版权所有,处理外部事件所需的响应时间,所需的数学密集处理量,以及所需的并行运作的能力。多处理器体系结构可提供某种平衡负载的能力,并提供了使用定制的处理器来完成各项系统任务的机会。
现在来考虑一下如果执行时间具有很大的不定性的话,实时处
DSP体系结构通过与外设的紧密交互作用来支持快速的数据传送,从而侧重于执行连续迭代数学处理,主要是乘法-累加运算。为了实现这种连续处理功能,这些处理器常常采用复杂的存储器结构(例如多条总线和多种类型存储器的混合)和专门的指令集,其中包括定点数学运算和通过硬件加速的专用运算操作。虽然这些机制非常适合于预定的用途,但它们的性能却不如用 RISC 体系结构进行控制和响应处理的机制好。
单片系统(SOC)设计采用可编程模块这种发展趋势,使人们在明确支持嵌入式多处理器设计的处理器和芯核方面有了更多的选择。这些SoC设计所提供的性能可以升级,可以通过编程来达到超过单处理器体系结构为计算密集型应用所能提供的性能;这些SoC设计能够更好地反映许多联网系统、多媒体系统和其他嵌入式系统的自然分割,而这些系统本来就是适合多通道或会聚式应用的。对于这些类型的系统,采用多个处理器能够最好地平衡并达到工程的性能、成本、功耗、风险以及上市时间等目标。
许多嵌入式设计正在采用多处理器体系结构,并不是纯粹出于提高性能的考虑。其他考虑因素包括:既有的软件资源和开发工具,关键部件(如那些支持演进中标准的部件)的稳定性,简化工程工作,系统安全性,容错要求,满足价格、功耗、散热和电磁干扰等约束条件。多处理器体系结构可为人们提供用最合适的工程资源来完成每一项设计任务的灵活性和机遇。
人们在处理体系结构方面的经验和既有资源对目前工程的适用性方面的经验,会影响他们采用单处理器还是采用多处理器设计的抉择(参考文献1)。既有的代码或操作系统可能会决定人们选择何种处理器和如何分配工程技术人员。譬如,用不同的小组来从事前端、后端、控制和信号处理方面的工作,会影响对处理器体系结构的选择。在移动电话应用中,信号处理小组开发由 DSP 芯片来执行的无线电控制功能和语音编译码功能,应用小组则开发由微控制器来执行的人机界面功能。诸如多媒体和无线应用的标准或协议的稳定性会影响人们是将这些协议或标准作为软件来实施www.cechina.cn,以保证可编程性和灵活性,还是使用某些硬件来降低功耗和成本。
多多益善
由于软件复杂性并不是随代码长度增加而线性增加,而是比线性增加还要快,因此把软件设计得可在多个专用处理器上运行,可比在单个处理器上运行缩短开发时间,还可简化调试控制工程网版权所有,并改善系统的可靠性。使用单独的处理器可以使人们更容易理解系统中被分割的各项任务之间的相互作用,并最大限度地减少由中断等待时间、处理器加载和内存使用等造成的任务之间的相互依赖性。相互作用的重点可从任务间资源共享转变为处理器之间资源的共享和专用。人们只要让整个操作系统支持系统的某些部分CONTROL ENGINEERING China版权所有,而几乎不支持其他部分就可以简化性能的分配。
即使一个单处理器可以满足对性能的要求,也不可