• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      MPNoC設計中的面向對象層次化建模思想

      2009-06-22 03:41
      新媒體研究 2009年20期
      關鍵詞:層次化面向對象多態(tài)性

      劉 贏 王 易 周 健

      [摘要]通過對大量現(xiàn)有多處理器片上網(wǎng)絡結構(MPNoC)的研究,提出將面向對象的思想引入NoC的設計中,并進一步將面向對象程序設計的三大特點:封裝性,繼承性和多態(tài)性應用到NoC設計當中,不僅提高Noc設計的靈活性,可重用性和可擴展性,而且大量縮短NoC模塊的設計時間。

      [關鍵詞]面向對象MPNoC建模思想

      中圖分類號:TP311文獻標識碼:A文章編號:1671—7597(2009)1020100--01

      一、引言

      在多處理器片上系統(tǒng)(MPSoC)飛速發(fā)展的今天,多處理器片上網(wǎng)絡結構(MPNoC)的設計優(yōu)化慢慢成為MPSoC發(fā)展的瓶頸,隨著片上網(wǎng)絡(Network on Chip)的多樣化,現(xiàn)今沒有一個統(tǒng)一的成熟的平臺和技術來評價和優(yōu)化片上網(wǎng)絡結構,使得NoC的設計結構不清晰??芍赜眯圆?,設計周期長,所以近年來,對片上網(wǎng)絡設計的優(yōu)化慢慢的引起了大家的重視,其中引入面向對象思想到片上網(wǎng)絡設計相信將成為下一代片上網(wǎng)絡設計的一個趨勢,早在1994年Kumar[1]就點明了面向對象建模技術對提高硬件設計性能的重要性,如,提高模型的可更改性,新模塊的結合性,提高模塊劃分,復用的能力和加速通用模塊的專業(yè)化等,隨后1996年w,Nebel和G,Schumacher[2]將面向對象的技術作為一種可以提高硬件設計生產力的手段來分析。前人的研究表明,將面向對象的思想應用于硬件設計是可能的,并且也是硬件設計發(fā)展的一個方向。

      下面將首先介紹一種用于NoC設計的面向對象層次化模型[3],然后分別從其封裝性,繼承性和多態(tài)性對其進行分析,最后進行總結。

      二、NoC的面向對象層次化建模

      片上網(wǎng)絡系統(tǒng)通常都包含多個不同功能的硬件單元模塊,這些單元模塊間通過復雜的交互來完成片上系統(tǒng)的通信,下面講解怎樣通過面向對象的思想來設計出常用的片上網(wǎng)絡基礎模塊,然后通過面向對象思想的繼承性和多態(tài)性對其進行擴展,這樣,不僅能將面向對象設計的優(yōu)點應用到硬件設計中,而且能很大程度的縮短片上網(wǎng)絡系統(tǒng)的開發(fā)時間。

      為了使片上網(wǎng)絡的面向對象建模有較高的重用性,基礎類庫的設計是關鍵,本節(jié)的重點將在使用面向對象思想建立NoC設計的基礎類癢。有了這個基礎的類庫,許多經典的片上網(wǎng)絡模型都能建立,如經典的單總線結構。

      圖1中首先表示出了4種基本的片上網(wǎng)絡模塊類型——連接(Link),數(shù)據(jù)緩沖(Buffer),接口(Interface),控制器(Scheduler),使用它們和它們的子類,可以組建現(xiàn)今一些經典的片上網(wǎng)絡系統(tǒng),比如單總線結構。連接(Link)用于將片上網(wǎng)絡的各功能單元模塊連接到一起;數(shù)據(jù)緩沖(Buffer)用于暫時的存儲數(shù)據(jù);接口(Interface)用于將單純的數(shù)據(jù)交換轉換成相應的具體操作,比如總線請求,封裝數(shù)據(jù)包i控制器(Scheduler)用于決定哪個模塊享有對共享資源的使用權,以保證整個系統(tǒng)有序的執(zhí)行。

      不難發(fā)現(xiàn)上述4個基礎模塊類包含一些共同的特性,比如時鐘信號,數(shù)據(jù)位寬,所以使它們實現(xiàn)了同一個接口類(ClockModule),該接口提供了cycleProcess()方法,該方法在接口中只有聲明沒有定義,需要在4個基礎模塊類中給出實現(xiàn),通常該方法表示在一個時鐘周期內接收數(shù)據(jù),改變模塊狀態(tài)或者輸出數(shù)據(jù)。4個基礎模塊類在繼承同一接口類的同時,每個模塊類都有自己的獨有的屬性,比如連接(Link)需要有更復雜的功能,需要位寬(bitWidth),時延(latency)屬性和配置這些屬性的公有方法(1inkConfig())。

      下面將分別從面向對象的三大特點:封裝性,繼承性和多態(tài)性來分析上述片上網(wǎng)絡的面向對象層次化模型,上述面向對象的設計方法是獨立于編程語言的,它可以應用于各種面向對象語言和平臺,但為了表述清楚,下面的偽代碼結構使用SystemC 2.0。

      (一)封裝性

      面向對象編程思想中,封裝指的是使對象成為黑盒的概念,這樣使用者使用對象時只需要知道其公有接口(公有函數(shù)),使用它們來操作對象屬性,而不能隨意修改對象的私有屬性,增加了程序的安全性。在模式方面。這一概念就變成了創(chuàng)建一個類型:類型是預先定義的,并且只要引用該類型就可以很容易地在任何地方創(chuàng)建和交換數(shù)據(jù),完成該類型模塊功能。

      現(xiàn)在創(chuàng)建一個連接(Link)類型,它指明了連接必須包含輸入端口(portIn),輸出端口(portOut),位寬(bitWidth)和時延(1atency)屬性,并且位寬和時延是私有成員,只能通過公有方法來對它們操作。由此可見連接(Link)類封裝了與連接有關的信息,并提供公用的配置連接方法(1inkConflg())來配置這些參數(shù)。

      class Link:public clock Module

      (

      public:

      sc_gort port in~

      sc~ort port outI

      int link_config(int bit_width,int latency);

      private:

      int bit widthl

      int latency~

      );

      以上便實現(xiàn)了一個Link類,該類封裝了連接(Link)的基本特性,但需要說明的是連接(Link)類型只是一個基礎類,不宜直接使用,需要其它類來繼承它,比如多路選擇器(MUX),交叉總線(CrossBar)以實現(xiàn)需要的功能。

      (二)繼承性

      重用是面向對象設計的另一個重要特性,可以通過繼承來實現(xiàn)設計重用,在編程語言中,通過子類來提供這一能力。為了尋求一種片上網(wǎng)絡設計的靈活的可重用的面向對象層次結構,這種層次結構需要包含擴展能力,用來滿足新的設計和需求,類的繼承性就實現(xiàn)了這一能力,通過繼承所需的基礎類,添加自己所需的特定元素來構造新的類型,這樣給設計工作帶來了極大的方便,使編碼時間大大縮短。不僅如此,現(xiàn)今各大IP核廠商都提供特定功能的類庫和IP核,但是往往IP核不能滿足所有的特定需求,使用這種有繼承特性的層次化面向對象結構,繼承IP核,添加所需功能,使得IP核的靈活性增加。最后盡管廠商提供的IP核會面向不同的應用,功能特性也會有相應差別,例如速度,功耗,但對于有特定功耗要求的系統(tǒng),我們可以通過“白盒”重用來構造自己所需的類,更方便的是通過不斷豐富這個類庫,以后我們將有更多的類庫可以直接使用,使得片上網(wǎng)絡設計更加方便,發(fā)展更加迅速。

      (三)多態(tài)性

      多態(tài)性意味著在不同的上下文中對某對象賦予不同的意義或用法的能力,具體而言,就是允許對象有多種形式。在面向對象語言中,具體的說,它是子類對相同操作做出不同反映的能力。例如首先定義了控制器(Scheduler)類,它包含控制模塊所具有的基本功能,請求和允許方法,仲裁器(Arbiter)和分配器(Allocator)同時繼承控制器(Scheduler),并且都定義了沖裁(arbitrate())方法,沖裁器的arbitrate方法是用來沖裁哪個模塊能夠使用當前資源,而分配器的arbitrate方法是用來給不同模塊分配不同的系統(tǒng)資源,多態(tài)性在此例中就表現(xiàn)為當控制器指向不同子類時,程序就調用相應該子類的arbitrate方法。

      三、總結

      由以上分析可以看出,在硬件NoC設計中,使用面向對象設計思想,模塊的屬性得到了封裝,使得硬件設計結構更加清晰,同時提高了硬件模塊設計的靈活性和可擴展性,使得很多硬件模塊都不需要重頭開始設計,只需要繼承相關的類,稍作修改后成為所需的模塊,這樣大大的縮短硬件模塊的開發(fā)周期。

      猜你喜歡
      層次化面向對象多態(tài)性
      差異化教學在幼兒健康教育中的應用
      APOE基因多態(tài)性與老年動脈粥樣硬化性腦梗死嚴重程度及預后相關性分析
      基因多態(tài)性與老年高血壓的研究進展
      基礎層建設對建立大學生社會主義核心價值觀的影響
      面向對象的計算機導論課程教學
      基于Web的科研項目管理系統(tǒng)的設計與實現(xiàn)
      物理復習課堂中復習內容的設計*
      應力波反射法測錨索長度的數(shù)據(jù)處理軟件設計與實現(xiàn)
      語文有效作業(yè)的設計策略探研
      從面向過程到面向對象思維方式的教學引導
      滦平县| 泰兴市| 弥勒县| 拉萨市| 渭源县| 海阳市| 壶关县| 兴山县| 山东省| 进贤县| 金寨县| 威远县| 定陶县| 当涂县| 修武县| 武夷山市| 项城市| 寿阳县| 洞头县| 小金县| 仙游县| 永登县| 衡东县| 漯河市| 胶南市| 社会| 容城县| 五常市| 清镇市| 仙桃市| 兰考县| 东乌珠穆沁旗| 蛟河市| 荆门市| 绥宁县| 长泰县| 逊克县| 元江| 十堰市| 蓝田县| 兴化市|