一直以来,一个通用处理器加上硬件逻辑是SoC设计的主流结构。
在一些需要大量数据处理的应用中,这样的结构并不能满足要求。
实际上,由于不同的任务可在很大的程度上互相独立运行,如音频和视频处理及网络协议处理等,可以将具有内在执行并行性的复杂任务分解为一系列紧密联系的子任务,并行实现。
多核SoC(Multicore SoC)或多处理器结构的SoC(MPSoC,Multiprocessor SoC)可以完成这样一个复杂任务分解到多个内核中去执行的任务。
由于不同的内核可以执行不同的子任务,多核结构在一个周期内可以执行多个指令。同样的任务使用这种并行处理与使用单个处理资源串行处理的情况相比,整个系统应用的性能有了很大的改进。
另外,多核结构的设计可以复用现有的成熟单核处理器作为处理器核心,从而可缩短设计和验证周期,节省研发成本,符合SoC设计的基本思路。多核结构是未来SoC发展的一个趋势。
现在很多产品都是以Arm作为一个主核,以及几个附加的核,同时使用RISCV来实现很多定制化的小核。
1 可用的并发性
数字电子产品的进步取决于芯片或系统设计师使用许多并行的晶体管来高效地实现系统功能的能力。设计师可以利用许多不同级别的并发性,通常这些级别的并发性可归纳为3种: