两个或多个微处理器一起工作来完成某个任务的系统称为“多处理器系统”。传统基于单片机
的多处理器系统结构复杂,可靠性差;而基于 32 位的嵌入式软核处理器 NiosII 的 SOPC(可
编程片上系统)多处理器系统解决方案,从根本上改变了多处理器系统的设计理念和方法。
使用 Altera 公司的 NiosII 软核处理器和 SOPC Builder 工具,可以快速地设计和建立共享
资源的多处理器系统。多处理器系统一般用于工作站和使用分载(load-sharing)的复杂算法
(称为“对称多处理器 SMP”)的高端 PC 计算。对于大部分嵌入式系统,当 SMP 的开销太大
时,使用多个处理器执行不同的任务,实现不同的功能正引起越来越多的关注。Altera 公司
的 FPGA 为开发非对称的嵌入式多处理器系统提供了一个理想的平台。为了提供理想的系
统性能,使用 SOPC Builder 工具可以很容易地对硬件进行修改和调整,从而很快完成不同
配置系统的没计、编译和评估。
本文将对基于 NiosII 的 OSPC 多处理器系统的实现原理、设计流程和方法进行详细的
讨论。
1 NiosII 多处理器系统硬件设计
QuartusII 5.O 及以上版本支持多处理器系统的创建和调试。多个 NiosII 处理器能够
有效地共享系统资源。由于 SOPC Builder 允许用户轻松添加多个处理器到系统中,因此建
立多处理器系统的难点已不再是硬件的排列和连接,而在于多个处理器的软件设计,使它们
正常操作,相互之间不产生冲突。NiosII 多处理器系统分为 2 类:一类是共享资源的多处理
器系统;另一类处理器相互独立,之间不进行信息交换。
2 NiosII 多处理器系统的资源共享
资源共享是多处理器系统的强大功能,但必须仔细考虑所要共享的资源,以及不同处理
器如何使用共享资源。
2.1 共享存储器
两个或多个微处理器一起工作来完成某个任务的系统称为“多处理器系统”。传统基于单片机
的多处理器系统结构复杂,可靠性差;而基于 32 位的嵌入式软核处理器 NiosII 的 SOPC(可