日前参与多处理器系统级芯片(MPSoC)研讨会的人士表示,必须改进编程模型以充分利用下一代SoC。
编程模型定义了一种SoC平台开发的方式。它采用抽象来隐藏潜在的执行平台。传统上,编程模型来自于软件世界,但MPSoC主办者兼法国TIMA实验室系统级综合部负责人Ahmed Jerraya表示,现在业界需要面向多处理SoC的新思维。
“当我们开发硬件/软件接口时,我们需要不同的编程模型。硬件和软件都必须抽象化。”Jerraya表示。此外,他指出,编程模型还必须抽象定义硬件/软件接口的CPU。当今的编译通常忽略了CPU环境。
因此,面向SoC的并行编程模型必须变得更为直截了当,以说明CPU结构组织、总线功能模型接口、指令集仿真、交易级模型,以及最终的RTL硬件。“硬件/软件接口协同设计需要统一的代表硬件、软件和CPU的模型。”Jerraya表示。
TIMA的系统级综合部Frederic Petrot展示了一种可能的解决方案。他表示,TIMA正在开发一种“基于服务的元件模型”,能处理硬件和软件。这种模型有两部分——接口,包含服务声明和数据结构,以及参数化的实现。目标是实现一个单一模型,能从抽象规范到RTL描述系统设计,并自动生成wrappers和交易器(transactor)。
丹麦技术大学信息及数学建模教授Jan Madsen则展示了一种称为ARTS的系统级建模框架。“总体思路是愿意尝试新事物,如新处理器和新时序安排。”
ARTS是基于SystemC的仿真环境,能检测所选特定的实时操作系统、处理器、网络拓扑及任务映射的因果关系。他演示了该模型如何检测处理器利用、总线冲突及存储文件。
加拿大蒙特利尔Ecole理工学院教授Gabriela Nicolescu则畅谈了包含MEMS、光学或电生物元件的异类SoC规范和验证要求。
关键是构建减少物理原型的模拟并仿真。一种可能性是扩展语言,例如Verilog-AMS,另外一种可能性是创建允许不同类模型计算的环境,如伯克莱大学的Ptolemy。Nicolescu表示,其大学拥有一个SystemC/Simulink环境的工作原型,能够提供集成连续及离散项目的仿真。
俄国圣彼得堡航空仪器州立大学高性能计算机和网络技术学院院长Yuriy Sheynin认为,多处理器SoC编程需要高效的语言、方法论和工具。他领导的小组开发出一套用于并行计算的“异步成长流程(AGP)”图形化模型,基于异步分配控制,能描述所有流程的互动。该小组还开发出了一种并行编程语言Visa,特别针对AGP模型使用。