MPNoC设计中面向对象层次化建模思想.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MPNoC设计中面向对象层次化建模思想

MPNoC设计中面向对象层次化建模思想   [摘要]通过对大量现有多处理器片上网络结构(MPNoC)的研究,提出将面向对象的思想引入NoC的设计中,并进一步将面向对象程序设计的三大特点:封装性,继承性和多态性应用到NoC设计当中,不仅提高Noc设计的灵活性,可重用性和可扩展性,而且大量缩短NoC模块的设计时间。   [关键词]面向对象 MPNoC 建模思想   中图分类号:TP311 文献标识码:A 文章编号:1671―7597(2009)1020100--01      一、引言      在多处理器片上系统(MPSoC)飞速发展的今天,多处理器片上网络结构(MPNoC)的设计优化慢慢成为MPSoC发展的瓶颈,随着片上网络(Network on Chip)的多样化,现今没有一个统一的成熟的平台和技术来评价和优化片上网络结构,使得NoC的设计结构不清晰。可重用性差,设计周期长,所以近年来,对片上网络设计的优化慢慢的引起了大家的重视,其中引入面向对象思想到片上网络设计相信将成为下一代片上网络设计的一个趋势,早在1994年Kumar[1]就点明了面向对象建模技术对提高硬件设计性能的重要性,如,提高模型的可更改性,新模块的结合性,提高模块划分,复用的能力和加速通用模块的专业化等,随后1996年w,Nebel和G,Schumacher[2]将面向对象的技术作为一种可以提高硬件设计生产力的手段来分析。前人的研究表明,将面向对象的思想应用于硬件设计是可能的,并且也是硬件设计发展的一个方向。   下面将首先介绍一种用于NoC设计的面向对象层次化模型[3],然后分别从其封装性,继承性和多态性对其进行分析,最后进行总结。      二、NoC的面向对象层次化建模      片上网络系统通常都包含多个不同功能的硬件单元模块,这些单元模块间通过复杂的交互来完成片上系统的通信,下面讲解怎样通过面向对象的思想来设计出常用的片上网络基础模块,然后通过面向对象思想的继承性和多态性对其进行扩展,这样,不仅能将面向对象设计的优点应用到硬件设计中,而且能很大程度的缩短片上网络系统的开发时间。   为了使片上网络的面向对象建模有较高的重用性,基础类库的设计是关键,本节的重点将在使用面向对象思想建立NoC设计的基础类痒。有了这个基础的类库,许多经典的片上网络模型都能建立,如经典的单总线结构。   图1中首先表示出了4种基本的片上网络模块类型――连接(Link),数据缓冲(Buffer),接口(Interface),控制器(Scheduler),使用它们和它们的子类,可以组建现今一些经典的片上网络系统,比如单总线结构。连接(Link)用于将片上网络的各功能单元模块连接到一起;数据缓冲(Buffer)用于暂时的存储数据;接口(Interface)用于将单纯的数据交换转换成相应的具体操作,比如总线请求,封装数据包i控制器(Scheduler)用于决定哪个模块享有对共享资源的使用权,以保证整个系统有序的执行。   不难发现上述4个基础模块类包含一些共同的特性,比如时钟信号,数据位宽,所以使它们实现了同一个接口类(ClockModule),该接口提供了cycleProcess()方法,该方法在接口中只有声明没有定义,需要在4个基础模块类中给出实现,通常该方法表示在一个时钟周期内接收数据,改变模块状态或者输出数据。4个基础模块类在继承同一接口类的同时,每个模块类都有自己的独有的属性,比如连接(Link)需要有更复杂的功能,需要位宽(bitWidth),时延(latency)属性和配置这些属性的公有方法(1inkConfig())。   下面将分别从面向对象的三大特点:封装性,继承性和多态性来分析上述片上网络的面向对象层次化模型,上述面向对象的设计方法是独立于编程语言的,它可以应用于各种面向对象语言和平台,但为了表述清楚,下面的伪代码结构使用SystemC 2.0。      (一)封装性   面向对象编程思想中,封装指的是使对象成为黑盒的概念,这样使用者使用对象时只需要知道其公有接口(公有函数),使用它们来操作对象属性,而不能随意修改对象的私有属性,增加了程序的安全性。在模式方面。这一概念就变成了创建一个类型:类型是预先定义的,并且只要引用该类型就可以很容易地在任何地方创建和交换数据,完成该类型模块功能。   现在创建一个连接(Link)类型,它指明了连接必须包含输入端口(portIn),输出端口(portOut),位宽(bitWidth)和时延(1atency)属性,并且位宽和时延是私有成员,只能通过公有方法来对它们操作。由此可见连接(Link)类封装了与连接有关的信息,并提供公用的配置连接方法(1inkConflg())来配置这些参

文档评论(0)

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

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

1亿VIP精品文档

相关文档