• 
    

    
    

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

      面向眾核處理器的獨立調(diào)試系統(tǒng)設(shè)計方法

      2015-05-29 18:27:53張明石偉郭御風(fēng)張民選

      張明 石偉 郭御風(fēng) 張民選

      摘 要:基于片上網(wǎng)絡(luò)(NetworkonChip,NoC)技術(shù)的眾核處理器正成為當前高性能處理器的設(shè)計焦點.傳統(tǒng)的調(diào)試系統(tǒng)結(jié)構(gòu)不能很好地應(yīng)用于眾核處理器體系結(jié)構(gòu),眾核處理器中蹤跡數(shù)據(jù)傳輸、調(diào)試事件傳播、時間戳同步等方面均面臨重大挑戰(zhàn).為解決上述問題,提出一種具有高帶寬、低資源消耗的獨立調(diào)試系統(tǒng)設(shè)計方法.該方法通過減少長互連線,提高了調(diào)試通道工作頻率,以較少的互連線即可實現(xiàn)高帶寬傳輸通道;同時調(diào)試組件采用分布式的對稱結(jié)構(gòu),具有良好的可擴展性.在蹤跡數(shù)據(jù)傳輸結(jié)構(gòu)中,提出了一種帶寬平衡的非侵入式蹤跡數(shù)據(jù)導(dǎo)出方法,該方法通過軟硬協(xié)同方式來配置蹤跡通道仲裁的權(quán)重值,降低硬件復(fù)雜度.在調(diào)試事件的傳播上,構(gòu)建了與片上網(wǎng)絡(luò)拓撲一致的事件傳播網(wǎng)絡(luò),該網(wǎng)絡(luò)在易于物理實現(xiàn)的同時具有事件傳播延遲低的特點.在時間戳的同步方法上,提出了一種通過軟硬件協(xié)同的時間同步方式,以很小的硬件代價實現(xiàn)了較精確的時間戳同步.

      關(guān)鍵詞:硅調(diào)試;片上網(wǎng)絡(luò);蹤跡數(shù)據(jù);調(diào)試事件矩陣;時間戳

      中圖分類號:TP338.6 文獻標識碼:A

      多核微處理器正成為目前高性能處理器設(shè)計的研究熱點.將傳統(tǒng)處理器的調(diào)試結(jié)構(gòu)移植到多核處理器中時,在硬件資源消耗、互連結(jié)構(gòu)、蹤跡(Trace)數(shù)據(jù)傳播、調(diào)試事件(Debug Event)傳播、時間戳(TimeStamp)同步等多方面均遇到了問題.工業(yè)界與學(xué)術(shù)界對多核處理器的調(diào)試結(jié)構(gòu)進行了大量研究,并獲得了一定的成果.隨著高性能處理器逐漸由多核結(jié)構(gòu)向眾核結(jié)構(gòu)發(fā)展,硅片面積不斷增大,現(xiàn)有的多核調(diào)試結(jié)構(gòu)出現(xiàn)了一定的局限性,無法滿足眾核處理器的調(diào)測試需求.

      為了降低處理器設(shè)計的復(fù)雜度,眾核處理器往往采用同構(gòu)結(jié)構(gòu),同構(gòu)結(jié)構(gòu)具有結(jié)構(gòu)規(guī)整、擴展性好、便于集成等特點,成為了目前通用高性能眾核處理器的主流方向.在同構(gòu)眾核微處理器的體系結(jié)構(gòu)設(shè)計中,常常使用片上網(wǎng)絡(luò)技術(shù)來連接多個處理器核、存儲部件以及IO設(shè)備.這使得復(fù)用片上網(wǎng)絡(luò)來設(shè)計調(diào)試系統(tǒng)成為一種很自然的選擇,并具有如下優(yōu)點:

      1)復(fù)用片上網(wǎng)絡(luò)通路傳遞調(diào)試命令(Debug)和蹤跡(Trace)數(shù)據(jù),方便實現(xiàn)對所有片上部件的調(diào)試與跟蹤.

      2)易于實現(xiàn)對核間通信事務(wù)的監(jiān)視和檢查,便于對事務(wù)進行跟蹤與調(diào)試.

      3)減少了全局互連線路,便于物理設(shè)計.

      然而,上述復(fù)用片上網(wǎng)絡(luò)的方法均存在一個嚴重的缺陷,即無法實現(xiàn)非侵入式的調(diào)試,即調(diào)試和跟蹤操作會影響功能邏輯的執(zhí)行路徑,導(dǎo)致非調(diào)試模式下出現(xiàn)的錯誤在調(diào)試模式時可能無法重現(xiàn).為解決此問題,本文針對眾核芯片結(jié)構(gòu)特點,提出一種基于NoC技術(shù)的獨立調(diào)試系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)對執(zhí)行蹤跡與調(diào)試命令、調(diào)試事件傳播、時間戳同步等結(jié)構(gòu)分別進行了詳細研究,其主要創(chuàng)新在于:

      1)提出了一種帶寬平衡的蹤跡數(shù)據(jù)高帶寬傳輸結(jié)構(gòu),且該結(jié)構(gòu)具有可擴展、占用資源少、易于物理實現(xiàn)的特點.

      2)提出了一種低延遲、易擴展的調(diào)試事件廣播網(wǎng)絡(luò)設(shè)計方法.

      3)提出了一種采用軟硬協(xié)同方式工作的高精度、低資源消耗的TimeStamp同步設(shè)計方法.

      本文后續(xù)章節(jié)組織如下:第1節(jié)介紹多核調(diào)試系統(tǒng)的研究現(xiàn)狀與面臨的問題;在第2節(jié)中,詳細描述了本文提出的眾核調(diào)試系統(tǒng)實現(xiàn)方法;第3節(jié)通過實驗對本文所提方法進行了驗證,并給出了結(jié)果分析和比較;最后對全文進行了總結(jié).

      1 相關(guān)研究

      隨著處理器設(shè)計規(guī)模向眾核擴展,NoC已經(jīng)成為連接片上眾多處理器核、存儲以及外設(shè)的首選\[1-2\].在基于NoC結(jié)構(gòu)的眾核處理器中,傳統(tǒng)調(diào)試系統(tǒng)結(jié)構(gòu)已不適合這種新的處理器結(jié)構(gòu),以點對點方式連接的調(diào)試結(jié)構(gòu),在眾核中會占用大量的互連資源,而且不利于物理設(shè)計.因此研究基于片上網(wǎng)絡(luò)的調(diào)試技術(shù)是當前處理器設(shè)計領(lǐng)域的一個重要研究方向\[3\].

      在基于片上網(wǎng)絡(luò)技術(shù)的調(diào)試系統(tǒng)研究中,學(xué)者針對處理器內(nèi)核與片上網(wǎng)絡(luò)的接口、調(diào)試命令與蹤跡數(shù)據(jù)的傳播方法、調(diào)試事件傳播方法等方面都進行了大量研究.文獻\[4\]定義了一套多核調(diào)試接口,試圖將調(diào)試結(jié)構(gòu)與處理器內(nèi)核分離,以提高調(diào)試部件的可重用特性.所提出的結(jié)構(gòu)側(cè)重于處理器核的調(diào)試接口設(shè)計,而核間調(diào)試信息傳輸結(jié)構(gòu)的可擴展性不好,而且不支持較高精度的TimeStamp傳播.文獻\[4-5\]注重于提供對于內(nèi)核的時鐘精確的調(diào)試方法,對核間調(diào)試信息傳輸?shù)难芯坎蛔?文獻\[6-7\]則專注于核間事務(wù)的調(diào)試,通過監(jiān)控核間通信來提取有用的調(diào)試信息.文獻\[8\]在核間通信事務(wù)的分析中引入了形式化的方法,提高了事務(wù)分析的效率和可觀察性.文獻\[6-8\]雖然提高了核間通信事務(wù)的分析能力,提高了核間事務(wù)的可觀察性,但其分析過程與傳統(tǒng)調(diào)試軟件的差別較大,在實際調(diào)試操作中并不方便.而且,這些調(diào)試結(jié)構(gòu)均利用了功能通路傳遞調(diào)試信息,因而無法實現(xiàn)非侵入式的調(diào)試.文獻\[9\]針對AXI協(xié)議提出了感知調(diào)試信息的片上網(wǎng)絡(luò)接口設(shè)計方法,該方案能夠檢測AXI接口的死鎖和活鎖狀態(tài),并支持非侵入式的Trace記錄.然而其主要針對AXI協(xié)議設(shè)計,可擴展性不足.而且在Trace的傳播上沒有考慮通道競爭導(dǎo)致的各節(jié)點帶寬不平衡問題,當通道競爭激烈時,容易導(dǎo)致部分節(jié)點丟失關(guān)鍵蹤跡數(shù)據(jù).文獻\[10\]分析并提出了針對調(diào)試事件的網(wǎng)絡(luò)結(jié)構(gòu)和組件設(shè)計方法,設(shè)計了生成工具,能夠根據(jù)NoC的結(jié)構(gòu)自動生成調(diào)試事件傳播網(wǎng)絡(luò)及組件.調(diào)試事件網(wǎng)絡(luò)的配置通過一條掃描鏈實現(xiàn),這種實現(xiàn)方案容易與DFT功能沖突,物理實現(xiàn)困難.文獻\[11\]將TimeStamp計數(shù)值分為本地計數(shù)和溢出計數(shù)兩段,分別在TimeStamp的使用端和源端進行計數(shù),并通過NoC網(wǎng)絡(luò)進行同步與配合,提出了一種在NoC系統(tǒng)中精確傳播TimeStamp的方案.不過此方案會加劇NoC網(wǎng)絡(luò)的帶寬壓力,同時增加NoC設(shè)計復(fù)雜度,占用較多的硬件資源.

      本文針對上述各類調(diào)試系統(tǒng)存在的問題,系統(tǒng)地提出了一種面向眾核處理器、基于NoC技術(shù)的獨立調(diào)試系統(tǒng)設(shè)計方法,分別針對蹤跡與調(diào)試命令傳輸、各節(jié)點蹤跡數(shù)據(jù)的帶寬平衡、調(diào)試事件廣播、時間戳同步等問題設(shè)計了各自的結(jié)構(gòu).依據(jù)該方法設(shè)計的調(diào)試系統(tǒng)結(jié)構(gòu)具有較高帶寬且各節(jié)點帶寬近似平衡的蹤跡數(shù)據(jù)導(dǎo)出通道,支持高精度的時間戳同步和快速的調(diào)試事件廣播,而且對硬件資源的需求低,物理實現(xiàn)簡單.

      2 基于NoC技術(shù)的獨立眾核調(diào)試系統(tǒng)結(jié)構(gòu)

      芯片集成度的快速提高使得片內(nèi)硬件資源不再那么緊張,而且在基于NoC互連的眾核處理器的物理設(shè)計中,NoC一般位于規(guī)整的內(nèi)核模塊之間,易于調(diào)整其所占空間尺寸且不影響工作頻率.基于這一特性,本文提出一套獨立于功能邏輯、基于NoC技術(shù)的調(diào)試系統(tǒng),其總體結(jié)構(gòu)如圖 1.圖中灰色模塊為功能邏輯,白色的則為調(diào)試邏輯.調(diào)試主機是執(zhí)行調(diào)試操作、分析調(diào)試信息的總控制臺,運行著主要的調(diào)試軟件.調(diào)試軟件通過調(diào)試代理發(fā)送具體的調(diào)試命令給處理器以及收集調(diào)試信息,包括蹤跡數(shù)據(jù).調(diào)試主機和調(diào)試代理不屬于本文所述的調(diào)試系統(tǒng).圖中Corei為處理器內(nèi)核或多個內(nèi)核構(gòu)成的核簇,CNOCi(Core NoC)為用于核間及核與存儲/外設(shè)通信的功能NoC路由結(jié)點,Memory&IO為芯片的存儲及外設(shè).DAI(Debug Access Interface)是集中式調(diào)試與測試訪問接口,CDIi(Core Debug Interface)是內(nèi)核的調(diào)試接口,DNOCi (Debug NoC)則是專用于調(diào)試功能的調(diào)試NoC路由結(jié)點.

      本文提出的調(diào)試系統(tǒng)主要由蹤跡與調(diào)試命令傳輸、調(diào)試事件傳播與時間戳同步3個子系統(tǒng)組成.3個子系統(tǒng)在實現(xiàn)具體的調(diào)試功能上相互配合和支持,在邏輯實現(xiàn)上彼此獨立,在物理實現(xiàn)上又具有一致的物理布局.整個系統(tǒng)由DAI,DNOC,CDI 3類部件構(gòu)成,3個子系統(tǒng)在每類部件中都擁有相關(guān)的功能邏輯.

      DAI的內(nèi)部結(jié)構(gòu)如圖 2,它為外部調(diào)試代理和調(diào)試軟件提供了訪問內(nèi)部調(diào)試組件和發(fā)送調(diào)試命令的JTAG接口,并提供Trace緩沖存儲器及將Trace輸出到片外的接口,這些屬于蹤跡與調(diào)試命令傳輸子系統(tǒng)的一部分.CrossEventIF是調(diào)試事件的接口部件,負責(zé)本地調(diào)試事件與DNOC內(nèi)事件廣播矩陣間的交互.UniqueTimer是DAI集成的一個時鐘計數(shù)器,作為全局唯一的墻上時鐘,供其他部件生成TimeStamp時使用,屬于時間戳同步子系統(tǒng)的一部分.

      調(diào)試命令經(jīng)DNOC網(wǎng)絡(luò)發(fā)送到目標CDIi,控制內(nèi)核Corei執(zhí)行單步、斷點等調(diào)試操作,CDI通常是與內(nèi)核流水線緊耦合的調(diào)試部件,執(zhí)行對流水線的控制以完成調(diào)試操作,收集調(diào)試事件并廣播到網(wǎng)絡(luò),以及捕獲流水線的Trace并通過DNOC網(wǎng)絡(luò)傳遞給DAI,CDI的內(nèi)部結(jié)構(gòu)如圖 3.

      DNOC內(nèi)部結(jié)構(gòu)如圖 4.它與CNOC具有完全一致的物理布局,接口協(xié)議借用CNOC的傳輸協(xié)議,只是具有相對少得多的互連.路由方法采用源路由,以盡量簡化DNOC的設(shè)計.除傳遞前述的調(diào)試命令和蹤跡數(shù)據(jù)外,DNOC還負責(zé)傳播調(diào)試事件,由CrossEventMatrix對輸入通道接口上的調(diào)試事件向其他通道廣播.

      圖4 DNOC內(nèi)部結(jié)構(gòu)

      Fig.4 Structure of DNOC

      下面將詳細闡述在上述3種調(diào)試結(jié)構(gòu)中,各類通路的設(shè)計方法.

      2.1 蹤跡與調(diào)試命令傳輸子系統(tǒng)

      Trace傳輸通路是指用于傳遞內(nèi)核蹤跡數(shù)據(jù)的傳輸通道,Trace能夠?qū)崟r記錄指定的內(nèi)核指令、狀態(tài)或通信報文,記錄過程不影響內(nèi)核的執(zhí)行,是最重要的非侵入式調(diào)試手段.Trace對帶寬有較高的要求,設(shè)置獨立DNOC可有效解決Trace傳輸所需的高帶寬問題,但是集中式的Trace存儲與導(dǎo)出必然導(dǎo)致多路Trace對DNOC通道的競爭,進而導(dǎo)致各節(jié)點Trace實際傳輸帶寬的失衡.針對此問題,本文提出了一種基于源路由特性的DNOC靜態(tài)權(quán)重分配策略.在源路由模式下,任意一個DNOC節(jié)點只有一個將Trace輸出到DAI的輸出端口,輸入端口則有多個,所謂權(quán)重是指輸出端口在仲裁選擇輸入端口時,各輸入端口所擁有的權(quán)值.以3×3的DNOC網(wǎng)絡(luò)結(jié)構(gòu)為例,可用圖 5說明靜態(tài)權(quán)重分配策略.圖中有N0~N8共9個DNOC節(jié)點,每個節(jié)點有1個CDI.兩個灰色的CDI1和CDI6為未啟動Trace記錄的節(jié)點,因而不參與權(quán)重分配.權(quán)重分配的思想是:任意CDI輸出到DAI的Trace的傳輸路徑若經(jīng)過DNOC節(jié)點的輸入通道,則該通道的權(quán)值加1.如N4的右側(cè)通道有3條Trace經(jīng)過,則權(quán)值為3,上方通道因CDI1未啟動Trace記錄,故權(quán)值為0.經(jīng)過N4的所有Trace路徑都要輸入到N3的右側(cè)通道,因而N3的右側(cè)通道的權(quán)值為5.具體的權(quán)值計算算法如下:

      for i in 所有DNOC節(jié)點集合 do

      //初始化權(quán)值為0

      for k in DNOCi輸入通道集合 do

      Wi,k = 0;

      //計算各通道權(quán)值

      for j in 所有CDI節(jié)點集合 do

      for k in DNOCi輸入通道集合 do

      if(CDIj的Trace經(jīng)過輸入通道k)

      Wi,k = Wi,k+1

      權(quán)值的計算過程由運行在調(diào)試主機上的調(diào)試軟件計算得到,然后在調(diào)試系統(tǒng)的配置階段通過調(diào)試命令通道寫入到各DNOC通道內(nèi)的權(quán)值寄存器,之后DNOC輸出通道將根據(jù)各輸入通道的權(quán)值和已經(jīng)服務(wù)的Trace數(shù)據(jù)個數(shù)來動態(tài)更新各通道的Trace傳輸優(yōu)先級.在調(diào)試過程中,若改變了有效CDI的集合,則需要調(diào)試軟件按照前述算法重新計算通道權(quán)值,否則會導(dǎo)致各節(jié)點Trace傳輸帶寬的失衡.

      圖5 權(quán)值計算實例

      Fig.5 Example of weight calculation

      Trace傳輸?shù)紻AI后,進入TraceBuf.片內(nèi)緩沖容量較小,因而需要通過IO接口傳遞到片外存儲.當前處理器中Trace導(dǎo)出接口多使用通用IO類接口,單引腳的數(shù)據(jù)傳輸率低于200 Mbps,帶寬有限,在多核時代,已無法滿足Trace的高帶寬需求.我們注意到當前很多處理器已擁有用于控制大容量NandFlash存儲器的高速同步ONFI(Open Nand Flash Interface)接口,該接口使用SSTL電平規(guī)范,單個引腳的數(shù)據(jù)傳輸率可達1.6 Gbps,本文建議復(fù)用ONFI接口導(dǎo)出Trace,可大幅提高Trace的導(dǎo)出帶寬.且同步ONFI接口時序具有可預(yù)測性,Trace輸出復(fù)用此接口時,可以根據(jù)其可預(yù)測性來尋找空閑周期,用于發(fā)送Trace數(shù)據(jù).

      調(diào)試(Debug)通路是用于傳遞調(diào)試軟件發(fā)出的調(diào)試命令的通道,命令包括暫停運行、單步、設(shè)置斷點、讀取存儲器、讀取特殊寄存器等.調(diào)試操作最終在CDI中以寄存器讀寫的方式實現(xiàn).具體過程是:

      1)調(diào)試代理將調(diào)試軟件發(fā)來的調(diào)試操作轉(zhuǎn)換為JTAG接口報文;

      2)DAI內(nèi)的TAP控制器接收JTAG接口報文,然后將其轉(zhuǎn)換為內(nèi)部DNOC報文;

      3)通過DNOC將報文傳遞到目標CDI;

      4)CDI解析DNOC報文并最終產(chǎn)生針對其DebugRegs內(nèi)寄存器的讀寫,進而在內(nèi)核流水線的配合下實現(xiàn)調(diào)試操作.

      2.2 調(diào)試事件傳播子系統(tǒng)

      調(diào)試事件包括處理器進入/退出調(diào)試狀態(tài)、Trace觸發(fā)信號、自定義的關(guān)鍵事件等.在眾核處理器中,這些事件需要在多個內(nèi)核或外設(shè)間進行傳播.絕大多數(shù)調(diào)試事件的傳播具有廣播特性,即從一個源廣播到其他所有部件,而且傳播延遲時間越短越好.例如內(nèi)核A因斷點而進入調(diào)試狀態(tài)后,調(diào)試系統(tǒng)期望其他內(nèi)核也同時進入調(diào)試狀態(tài),否則其他內(nèi)核可能因得不到內(nèi)核A的應(yīng)答而進入超時狀態(tài),即由調(diào)試操作引入了程序故障,這可能會誤導(dǎo)用戶的調(diào)試過程.只有盡快地將內(nèi)核A進入調(diào)試狀態(tài)的事件廣播到所有其他內(nèi)核,才能避免上述問題,因而調(diào)試事件的傳播延遲越短越好,最大傳播延遲是衡量調(diào)試事件傳播結(jié)構(gòu)優(yōu)劣的最重要指標.

      文獻\[8\]將調(diào)試事件編碼為NoC報文,復(fù)用NoC進行廣播,似乎減少了硬件開銷,但是這會同時增加NoC設(shè)計的復(fù)雜性和資源需求.而且廣播事件在NoC網(wǎng)絡(luò)上的延遲會因NoC的仲裁、路由等因素而引入較大的不確定性.為解決此問題,本文設(shè)計了一套具有較低硬件開銷的專用廣播網(wǎng)絡(luò).為便于物理設(shè)計,該網(wǎng)絡(luò)的廣播結(jié)點——CrossEventMatrix與DNOC結(jié)點具有相同的數(shù)量和物理布局.以4通道CrossEventMatrix為例,其內(nèi)部結(jié)構(gòu)關(guān)鍵邏輯如圖 6.圖中每個通道僅有一個輸入事件和一個輸出事件,可以擴展到多個,以滿足多種調(diào)試事件的需求.圖中以虛線表示的兩級觸發(fā)器用于跨時鐘事件的同步,當事件信號沒有跨時鐘時,可以不設(shè)置此兩級同步器.

      圖6 CrossEventMatrix廣播結(jié)構(gòu)

      Fig.6 Broadcast structure of CrossEventMatrix

      基于CrossEventMatrix構(gòu)建事件廣播網(wǎng)絡(luò)時,要求廣播路徑中不能出現(xiàn)環(huán)路,否則會導(dǎo)致事件傳播的死鎖.本文通過在各通道的事件輸出端點增加可配置的輸出使能來打破可能出現(xiàn)的環(huán)路.使能信號可根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)動態(tài)配置,簡單靈活.

      基于上述方案的事件廣播結(jié)構(gòu)具有如下基本特性和優(yōu)勢:

      1)事件端點的輸出是來自其他所有通道的事件的邏輯或,傳播速度快;

      2)輸入到端點的事件被廣播到其他所有通道,廣播路徑可根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)的變化而進行動態(tài)配置;

      3)所需硬件資源少,通道的數(shù)量可擴展,事件端點數(shù)量亦可擴展;

      4)支持靈活的電源關(guān)斷與時鐘關(guān)斷策略,某個端點的關(guān)斷不會影響其他節(jié)點.

      2.3 時間戳同步子系統(tǒng)

      時間戳(TimeStamp)主要用于標記各個Trace數(shù)據(jù)的產(chǎn)生時間.各部件記錄的Trace導(dǎo)出到DAI部件時,經(jīng)過的傳輸路徑不同,延遲也不同,后產(chǎn)生的Trace卻可能先到達DAI,因此,Trace數(shù)據(jù)中一般需要附帶上一個全局同步的TimeStamp,記錄該數(shù)據(jù)產(chǎn)生的時間,然后再通過調(diào)試軟件按照TimeStamp來恢復(fù)Trace的順序.然而,各部件完全同步的TimeStamp是幾乎無法實現(xiàn)的,總是會存在一定的時間偏差,偏差大小直接影響Trace記錄時間的準確性.

      本文針對上述需求提出了一種既方便實現(xiàn),又具有高精度的TimeStamp傳播結(jié)構(gòu).該結(jié)構(gòu)擁有唯一的墻上時鐘計數(shù)器,即DAI中的UniqueTimer部件,計數(shù)器的最低位作為計數(shù)觸發(fā)信號TimeTrigger發(fā)送到所有需要TimeStamp的部件.目標部件通過對TimeTrigger的上升沿和下降沿計數(shù)來產(chǎn)生自己的TimeStamp值,如CDI內(nèi)的TimeStampGen部件.物理設(shè)計時,需要注意TimeTrigger到各部件的線延遲盡量一致.設(shè)各部件生成TimeStamp值的時間偏差為TΔ,則TΔ滿足公式(1).其中Wdiff為TimeTrigger的線延遲偏差,Ti為部件i對TimeTrigger的采樣時鐘周期.

      當目標部件從電源關(guān)斷或時鐘關(guān)斷狀態(tài)恢復(fù)時,其對TimeTrigger的計數(shù)值已過期,必須更新到最新值才能保持與其他部件的同步.此時,需要在系統(tǒng)軟件的控制下按照下列步驟來同步計數(shù)值:

      1)暫停UniqueTimer計數(shù);

      2)將最新的計數(shù)值通過Debug通路更新到剛從電源/時鐘關(guān)斷中恢復(fù)的目標部件;

      3)繼續(xù)UniqueTimer計數(shù).

      按照上述步驟,所有目標部件的TimeStamp在重新啟動UniqueTimer前被同步.雖然UniqueTimer停止計數(shù)期間,無法記錄這段時間內(nèi)產(chǎn)生的Trace的順序,但是因通過Debug通路更新計數(shù)器操作的執(zhí)行速度快,因而暫停時間很短,對Trace的影響較小.

      3 實驗與結(jié)果評估

      為檢驗本文所提出的調(diào)試結(jié)構(gòu)的功能和性能,本文基于國產(chǎn)自主處理器內(nèi)核,設(shè)計了一套支持64個內(nèi)核、獨立的調(diào)試系統(tǒng),結(jié)構(gòu)如圖 7所示.該互連結(jié)構(gòu)與功能NoC(CNOC)的結(jié)構(gòu)一致,形態(tài)類似于4×4的網(wǎng)格結(jié)構(gòu),該結(jié)構(gòu)與片內(nèi)的物理布局緊密相關(guān),充分考慮了物理設(shè)計與體系結(jié)構(gòu)設(shè)計的融合,減少長延遲連接,提高了工作頻率.另外,該結(jié)構(gòu)中部件的可重用度高,簡化了物理設(shè)計復(fù)雜度.

      圖中Clust為包含4個自主處理器內(nèi)核的內(nèi)核簇,MCU為存儲控制器,用于訪問片外存儲器.每個DNOC有多個雙向通道,從輸入通道到任意輸出通道的傳播延遲為2個時鐘周期,每通道有效數(shù)據(jù)寬度為16位,結(jié)點路由方法為源路由.Clust,CDI與DNOC的工作頻率一致,但支持動態(tài)降頻.DAI的Trace接口復(fù)用了8位的ONFI接口,工作頻率為500 MHz,雙沿輸出,帶寬1.0 GB/s.

      該調(diào)試系統(tǒng)具有獨立的NoC網(wǎng)絡(luò),雖然節(jié)點數(shù)量較多,但因從結(jié)構(gòu)上避免了長延遲線,故可提高工作頻率,達到了1.5 GHz.進而在同樣的帶寬需求下,可以降低NoC的通信信號位寬以及緩沖單元的數(shù)量,減少硬件資源需求.表 1列出了三類調(diào)試部件的綜合結(jié)果及其在全芯片中的資源占比.總體來說,調(diào)試系統(tǒng)所占邏輯資源約占全芯片邏輯資源的1.18%.

      b, 僅計算邏輯資源,未統(tǒng)計SRAM ;

      c, 包括1個DAI,16個CDI,16個DNOC.

      Debug報文用于實現(xiàn)程序運行狀態(tài)控制、斷點設(shè)置、變量查看與修改等侵入式的調(diào)試操作,以及對調(diào)試部件進行配置與狀態(tài)觀察等,傳輸方向是從DAI到目標CDI.Trace報文則用于以非侵入方式記錄內(nèi)核或其他部件的運行過程及狀態(tài),并傳輸?shù)狡饨o調(diào)試者進行分析,其傳輸方向是從CDI(或其他重要部件,如MCU)到DAI,圖 8給出了每個內(nèi)核發(fā)出200個Trace報文情況下的報文延遲分布,與文獻\[11\]相比較,本實驗系統(tǒng)中Trace報文平均傳輸延遲降低約90%,而且延遲分布也更集中.

      調(diào)試事件的傳播速度越快對調(diào)試功能的實現(xiàn)越有利.例如某內(nèi)核因斷點而進入調(diào)試狀態(tài)的事件,越快傳播到其他內(nèi)核則越接近于同時停頓所有內(nèi)核的調(diào)試目標,反之,過長的事件傳播延遲甚至可能因部分進入調(diào)試狀態(tài)而導(dǎo)致功能故障.本實現(xiàn)中任意兩個部件間傳播調(diào)試事件的延遲時間是確定的,最長延遲為兩個對角間的事件傳播,需要經(jīng)過7級CrossEventMatrix,大約4.67 ns.對傳播路徑的配置則采用通過Debug報文以寄存器寫入的方式進行,取消了文獻\[10\]中的配置掃描鏈,簡化了設(shè)計,硬件資源消耗降低約34%.

      延遲時間/ns

      圖8 Trace報文延遲統(tǒng)計

      Fig.8 Statistic of trace delay time

      本實現(xiàn)中TimeStamp延遲在各目標點的偏差取決于傳播線TimeTrigger延遲偏差和目標點的采樣頻率,如公式(1).在40 nm工藝下,對TimeTrigger等長布線后,其到各目標點的延遲偏差可控制在1.5 ns以內(nèi).目標點工作頻率按正常工作時的1.5 GHz計算,最大延遲偏差TΔ不超過2.2 ns.文獻\[11\]通過將TimeStamp計數(shù)值分為兩段并在源端和目的端分別計數(shù),然后通過NoC來同步計數(shù)值,其精度雖然理論上可以達到不超過1個時鐘周期(約0.75 ns),但是該結(jié)構(gòu)無法支持異步時鐘域,而且實現(xiàn)TimeStamp所需的硬件資源遠大于本文的方案.

      4 結(jié) 論

      本文提出的采用復(fù)制片上網(wǎng)絡(luò)拓撲結(jié)構(gòu)的方式構(gòu)建獨立的多核調(diào)試系統(tǒng)結(jié)構(gòu),能夠充分利用片上網(wǎng)絡(luò)的設(shè)計技術(shù)實現(xiàn)高工作頻率、高帶寬的調(diào)試命令與蹤跡數(shù)據(jù)傳遞,滿足多核處理器對于非侵入式調(diào)試的需求,便于快速定位軟件和硬件故障.而且分析表明,該結(jié)構(gòu)也非常適合時間戳和調(diào)試事件的傳播,并且能夠充分利用高帶寬的調(diào)試命令通道實現(xiàn)時間戳的重載和事件傳播路徑的配置.本文實現(xiàn)的4×4片上網(wǎng)絡(luò)結(jié)構(gòu)的獨立調(diào)試系統(tǒng)及其相關(guān)實驗,

      檢驗了前述結(jié)構(gòu)的良好性能和實現(xiàn)的簡便性,對于基于片上網(wǎng)絡(luò)的眾核處理器調(diào)試系統(tǒng)設(shè)計具有較好的參考意義.

      參考文獻

      [1] MIRZAAGHATABAR M, KOOHI S, HESSABI S, et al. An empirical investigation of mesh and torus NoC topologies under different routing algorithms and traffic models[C]//10th Euromicro Conference on Digital System Design Architectures, Methods and Tools.2007:19-26.

      [2] SUNGHYUN PARKK, TUSHAR KRISHNAr, CHIAHSIN OWEN CHEN, et al. Approaching the theoretical limits of a mesh NoC with a 16node chip prototype in 45nm SOI[C]//Design Automation Conference(DAC), 2012:398-405.

      [3] HOPKINS A B T, KLAUS D, McDONALDMAIER K D. Debug support for complex systems onchip: a review[J]. IEEE Proceedings Computers and Digital Techniques, 2006,153(4):197-207.

      [4] ANDREW B T, HOPKINS A B T, KLAUS D, et al. Debug support strategy for systemsonchips with multiple processor cores[J]. IEEE Transactions on Computers, 2006, 55(2):174-184.

      [5] MAYER A, SIEBERT H, McDONALDMAIER K D. Boosting debugging support for complex systems on chip[J]. IEEE Computer, 2007, 40(4):76-81.

      [6] GOOSSENS K, VERMEULEN B, VAN STEEDEN R, et al. Transactionbased communication centric debug[C]// International Symposium on Networks on Chip, NOCS'07. Washington, USA, 2007:95-106.

      [7] GHAREHBAGHI A M, FUJITA M. Transactionbased debugging of systemonchips with patterns[C]//International Conference on Computer Design, ICCD'09. Lake Tahoe, CA, USA, 2009:186-192.

      [8] GHAREHBAGHI A M, FUJITA M. Transactionbased postsilicon debug of manycore systemonchips[C]//13th International Symposium on Quality Electronic Design. 2012:702-708.

      [9] NEISHABURI M H, ZILIC ZELJKO. An enhanced debugaware network Interface for networkonchip[C]// 13th International Symposium on Quality Electronic Design. 2012:709-716.

      [10]AZEVEDO A, VERMEULEN B, GOOSSENS K. Architecture and design flow for a debug event distribution interconnect[C]//30th International Conference on Computer Design, ICCD'12. 2012:439-444.

      [11]TODOROV V, GHIRIBALDI A, REINIG H. Nonintrusive trace & debug NoC architecture with accurate timestamping for GALS SoCs[C]//Proceedings of the 8th International Conference on Hardware/software Codesign and System Synthesis. 2012:181-186.

      镶黄旗| 滕州市| 锦州市| 佛坪县| 洞口县| 万山特区| 德化县| 涟源市| 金乡县| 雷州市| 岳西县| 固镇县| 门头沟区| 静乐县| 本溪市| 抚顺市| 衡水市| 祁门县| 博野县| 台中市| 宁晋县| 温宿县| 荣昌县| 威宁| 称多县| 松滋市| 宣武区| 曲阜市| 长春市| 辽阳县| 会同县| 商城县| 成武县| 乐平市| 田林县| 咸丰县| 江山市| 邵武市| 额敏县| 罗城| 武夷山市|