多核片上系统嵌入式软件设计与编程:硬件与软件交互解析
1. 引言
现代片上系统(SoC)设计呈现出明显的多处理器核心集成趋势。当前的嵌入式应用正从单处理器系统向需要多处理系统的密集数据通信方向迁移。这些应用对性能的要求促使在单个芯片中采用多处理器架构(MPSoCs),并配备复杂的通信基础设施,如分层总线或片上网络(NoCs)。此外,为了满足严格的性能和设计成本约束,异构核心得到了广泛应用。据调查,超过50%的多处理器架构是异构的,集成了不同类型的处理器。
多处理器架构主要有共享内存和消息传递两种组织方式:
- 共享内存组织 :通常假设一个多任务应用被组织为单个软件栈,硬件架构由多个相同的处理器(CPU)组成,也称为同质对称多处理(SMP)架构。不同CPU之间通过全局共享内存进行通信。
- 消息传递组织 :大多数情况下假设存在多个软件栈,这些软件栈可以运行在SMP架构或非相同的处理子系统上,这些子系统可能包括不同的CPU和/或不同的I/O系统,以及特定的本地内存架构。不同子系统之间通常通过消息传递进行通信。
异构MPSoC通常结合了这两种模型,并在单个芯片中集成了大量的处理器。未来的异构MPSoC将由少数异构子系统组成,每个子系统包含大量相同的处理器以运行特定的软件栈。
如今的多媒体和电信应用,如MPEG 2/4、H.263/4、CDMA 2000、WCDMA和MP3,包含需要不同类型处理单元(如数字信号处理器DSP用于复杂计算、微控制器用于控制功能等)和不同通信方案(如快速链接、非标准内存组织和访问)的异构功能。为了实现所需的计算和通信性能,具有特定通信组件的异构M
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



