MPSOC中的ISS与SYSTEMC模型集成.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MPSOC中的ISS与SYSTEMC模型集成   摘要:目前在SOC设计中基于C/C++的硬件设计方法已经比较普遍,特别是使用SYSTEMC作为硬件建模语言,指令集仿真器(ISS)作为处理器模型的方式,对SOC的开发非常有效。但随着应用程序规模的增加,我们需要在系统中嵌入多个核,构成多核系统(MPSOC),以满足性能的要求。本文首先对单核系统中的ISS和硬件模块的集成方法进行分析,然后将其引入到MPSOC的开发平台的设计中,并对其效果进行验证。   关键词:MPSOCISS SYSTEMC   中图分类号:TN402文献标志码:A      1、引言      随着集成电路工艺的进一步发展,在一个芯片中集成多个核的情况,已经可以实现,并且成为超大规模集成电路发展的一个重要分支。多核技术主要运用于一些实时性能要求比较高,计算量比较大,对功耗和开销有严格要求的应用中[1],比如在多媒体技术中,通常要进行大量的并行计算,就可以选用多核系统(MPSOC)来解决。但目前MPSOC设计还有很多软硬件方面的问题需要解决[2],如处理器的可配置性,互联架构的选用以及软硬件的并行设计等。      2、基于C/C++的硬件设计      考虑到软硬件并行设计的要求,我们在系统中嵌入ISS(一般由 C/C++构成)来运行软件,系统中其它模块的建模在早期的软硬件并行仿真框架[3]中采用HDL建模,这样就形成了一个不同语言的仿真环境,但此环境仿真性能欠佳并且软硬件的集成困难。目前出现的基于C/C++硬件描述方法在软硬件的并行仿真过程中有很好的优势,它使用相同的语言来描述软硬件,这样能弥补软硬件用不同语言来描述所带来的差距[4]。我们在设计中选用SYSTEMC来描述硬件模块。在这种结构中必须解决两个问题,一是软硬件之间如何有效地进行通讯,另一个是二者之间如何保持仿真的同步。目前主要存在两种解决方法,一种是SYSTEMC和ISS在主机上作为不同进程运行,如图1所示[5],它们之间的通讯通过进程通讯(Inter-Process Communication IPC)完成,同步通过SYSTEMC 模块的封装来实现;第二种方法是并行仿真,在单独的SYSTEMC进程中完成,ISS被嵌入到SYSTEMC的封装模块中,此时的通讯是通过SYSTEMC模块的端口以及信号完成。前者在ISS和系统中的其余部分通讯比较少时,较为有效,当通讯加大时仿真性能不佳,同时也引入了大量的IPC开销。本设计将后一种方法引入到MPSOC的设计中,这能加快应用程序和硬件模块之间的通讯的能力,以便更快的确定系统的性能。      图1 进程通讯      3、MPSOC的架构      MPSOC的仿真平台如图2所示,包括可配置的ISS,对于不同的应用,系统可以通过匹配ISS的数目来达到最佳的性能,从而确定它的架构,另外还有私有存储器、共享存储器以及同步存储器和中断器件。其中每个处理器都对应一个私有存储器,用来存储处理器所要运行的程序;共享存储器用来协调多个处理器的通讯,使它们之间可以进行数据交互;同步存储器是为了同步多个处理器对共享资源的访问,使它们不发生冲突。同步存储器设计时采用双态信号量(binary semaphore)的形式,利用semaphore互锁机制去达到处理器之间的通讯同步。中断器件是可写不可读的,它表明有中断产生。另外平台中的互连架构对于整个平台的性能和开销也有非常大的影响,本平台采用的是共享总线的方式,此方式可以降低功耗[6]。具体的系统总线采用的是AMBA的AHB总线,因为AHB总线在工业中使用非常普及。根据AMBA规范它支持多个主设备,但任意时刻只有一个主设备被允许访问总线,其它的主设备被仲裁器禁止。为了能够容易的扩张主设备和从设备,构造了主从设备的总线接口。另外总线支持突发传输、分段传输、单字节传输等多种功能。在总线上传输事务时,主设备首先向仲裁器发出请求信号,经仲裁器按照某种算法(本文循环算法)仲裁后,发出准许使用总线信号。主设备在等到拥有总线使用权后,发出地址和控制信号,在下一个时钟周期发出数据,在等到从设备发出Ready信号后,主或从设备就可以对总线上的数据进行采样。期间使用多路复用器来对多个主从设备进行连接,使用译码器对发出的地址信号进行译码,用来选择从设备。      图2 系统架构      4、ISS与SYSTEMC的集成      设计中构造了周期精确的ISS,它内部包含了取址、译码、执行三级流水线,并且模拟了时钟的行为,因此它可以进行详细的平台性能分析。对于ISS和硬件模块的集成,我们将ISS嵌入到SYSTEMC的封装模块Wrapper中,作为此模块中的一个类成员。      图3 ISS嵌入式集成

文档评论(0)

聚文惠 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档