新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于SystemC的异构多核通信模块设计

基于SystemC的异构多核通信模块设计

作者: 时间:2011-01-10 来源:网络 收藏

*/ void Controller();

  //对于每一个write_shm_data 请求,将数据写入指定的共享存储区空间

  void WriteShmDataHandler(struct InstBuffer *inst);

  //对于每一个read_shm_data 请求,将数据写入指定的共享存储区空间

  void ReadShmDataHandler(struct InstBuffer *inst);

  ……

  SC_HAS_PROCESS(CMCCtrl);

  // constructor

  CMCCtrl (sc_module_name _name){……}

  };

  4 MP3 解码程序的多核测试

  为了更加充分进行验证,并展示多核通信模块在实际应用中的价值,本文选择了MP3 解码程序进行基于多核系统的移植,并验证仿真结果以及仿真效率。

  MP3编码的主要方法是在频域上对音频文件内容进行编码压缩,而解码过程是还原频域 的内容再变换成原始的时域音频信号。按照ISO/IEC11172-3标准,MP3解码算法分为同步与 校验、Huffman解码、比例因子解析、反量化、重排序、立体声处理等十个部分。

  在考虑应用程序的多核移植时,可以是数据划分也可以是任务划分的。对于MP3代码, 如果采用数据划分式,则可以在不同的处理器内核上解不同的数据帧。而如果采用任务划分 方式,则可以将解码的不同过程在多个内核之间形成流水作业,采用共享存储区进行不同流 水级之间的数据传递。显然后者需要更多的核间通信,更适合于验证其性能,因此,本文采 用了按照任务划分的方式进行代码的多核移植。

  在测试中,我们采用ARM+PISA的双核系统,因此需要将MP3解码程序按照功能划分为 两部分,分别放在两个内核上运行,形成流水线。本文所采用的MP3解码软件在ARM开发 套件(ARM Design Suit)软件仿真平台上测试的结果表明:合成多项滤波器部分占用了大 约50%的计算量[4]。根据这个结论,本文粗略地对应用程序在双核之间进行任务划分:其中 一个内核运行计算量最大的合成滤波,另外一个内核实现Huffman解码、比例因子解析、反 量化等步骤。两个内核通过系统提供的通信控制模块进行通信并保持同步。

测试的统计结果

  表2是这一测试的统计结果。统计数据提供了两方面的信息:

  1)MP3解码程序的双核加速比,由统计结果中的“运行周期数”反映;

  2)多核仿真器在进行MP3解码仿真时的仿真效率,由“仿真时间”和“仿真速度”两 项统计结果反映。

  5 总结

  无论考虑单位计算性能的能耗因素,还是对于提高处理器性能,多核体系结构尤其是异 构多核体系结构都是当前的热点研究方向。本文主要论述了面向异构多核处理器的片上通信 设计。对于处理器的内核间通信,采用了共享内存技术。

  本模型充分体现了SystemC的语言优势,对进一步了解和探讨异构多核处理器结构、核 间通信、异构多核低功耗设计等方面打下一定基础。

  本文作者创新点: 提出了一种基于SystemC的异构多核通信架构模型,并通过添加控制 模块解决异构多核间通信通用性问题。


上一页 1 2 3 下一页

关键词: 收发器

评论


相关推荐

技术专区

关闭