《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于動態連續數據的GPU調試系統設計和實現
基于動態連續數據的GPU調試系統設計和實現
2018年電子技術應用第6期
陳 崢
上海兆芯集成電路有限公司 軟件部,上海201203
摘要: 隨著GPU架構日益復雜,對硬件問題的調試越來越成為硬件工程師面臨的一個挑戰。造成硬件問題調試困難的一個主要原因是硬件工程師沒有辦法清楚知道硬件中問題發生的過程,只能通過一些簡略信息對問題發生的環境和原因進行猜測。提出一種新的調試架構,相比于傳統方式,新的架構能夠為硬件工程師提供一段連續時間內連續的動態數據,使得硬件工程師能夠對一段時間內硬件狀況的變化過程有一個全面了解,甚至硬件開發人員能夠把這些信息導入RTL仿真環境模擬重現硬件問題,極大地提高硬件工程師解決問題的效率。
中圖分類號: TP311
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.174703
中文引用格式: 陳崢. 基于動態連續數據的GPU調試系統設計和實現[J].電子技術應用,2018,44(6):8-10,14.
英文引用格式: Chen Zheng. A GPU debug system based on continuous dynamic data[J]. Application of Electronic Technique,2018,
44(6):8-10,14.
A GPU debug system based on continuous dynamic data
Chen Zheng
Software Department,Shanghai Zhaoxin Semiconductor Co.,Ltd. Shanghai 201203,China
Abstract: Nowadays, with the increasing complexity of digital circuits design, the post silicon debugging becomes a major challenging for engineers. For post silicon debugging, the lacking of observability is the main problem, the engineers can’t know exactly what happened inside the chip, even with the limited debug registers. Here we propose a method, which could provide much more observability compared to traditional methods. And with this method, the engineers could know what happened inside the chip exactly, and could even reproduce the problem in RTL simulation, in most of the circumstances.
Key words : GPU;debug system;dynamic data;clock interrupt

0 引言

    隨著GPU技術的發展,GPU結構變得越來越復雜,對硬件的調試成為一個越來越困難的任務。硬件調試的困難在于硬件本身的不透明性。在發生問題的時候,工程師沒有辦法像軟件調試那樣,看到硬件內部發生了什么,也不能像軟件調試那樣,半路設一個斷點,把硬件停下來。

    為方便對硬件的調試,GPU設計人員開發出很多種硬件調試方法來降低硬件調試的難度,傳統上有DebugBus、掃描路徑法、ARM CoreSightTM技術。這些方法的目的都是用某種方法將硬件內部信息暴露給工程師,降低硬件的不透明性,但其暴露出的信息都是硬件內部某個時間點的靜態信息,對硬件工程師的幫助是有限的。

    本文提出一種新的調試架構,相對于傳統技術,它能夠提供一段時間內的動態數據給工程師,讓工程師能夠了解在這段時間內硬件內部狀況是如何變化的,使得工程師能迅速定位到造成問題的異常變化。甚至更進一步,工程師可以將得到的信息導入模擬環境,在模擬環境里面重現硬件的問題。

1 傳統硬件調試方式及其缺陷

1.1 DebugBus

    DebugBus技術是最早在芯片設計中引進的調試技術[1-2]。其基本原理是在硬件設計中添加一批狀態寄存器,每個模塊都把自己的狀態編碼后送到這個狀態寄存器中。當發生問題的時候,工程師讀取狀態寄存器中的狀態碼,從而可以分析問題發生的原因。

    DebugBus技術缺陷在于,狀態寄存器的位是有限的,所以能反映模塊的狀態也是有限的,工程師通過狀態碼只能大概了解模塊的真實情況。

1.2 基于掃描路徑法的可測性設計技術

    基于掃描路徑法的可測性設計技術是可測性設計(DFT)技術的一個重要方法[3-5],這種方法能夠從芯片外部設定電路中各個觸發器的狀態,并通過簡單的掃描鏈設計,掃描觀測觸發器是否工作在正常狀態,以此來檢測電路的正確性。

    這種技術的缺陷在于它速度太慢,因為它是一個串行的操作,不能一次讀出全部數據,導致工程師不能得到一個即時的數據[6]。

1.3 ARM CoreSightTM技術

    CoreSightTM技術是ARM公司在2004年推出的一個新的調試體系架構,以提供更為強大的調試能力[7]

    CoreSightTM技術比較適合于軟件調試,因為它提供給工程師的是模塊之間的指令和寄存器傳遞序列,軟件工程師可以知道自己送給硬件的命令是如何在硬件各個模塊之間傳遞。但硬件開發工程師更多的是想了解模塊和模塊之間完整的會話信息,甚至是模塊內部的一些信號[8-9]。

2 新調試系統硬件部分

    對于硬件開發工程師來說,要調試硬件問題需要得到大量硬件內部模塊和模塊之間的會話信息,這些信息最好是某個時間段內連續的信息,而不是簡單的某個時間點的信息。

    但是要把所有這些信息收集給調試人員,就需要解決兩個問題:

    第一,每個時鐘周期產生的信息是大量的,為了不影響后面的時序,必須在一個時鐘周期內處理完。但硬件帶寬的限制又決定了這些不可能在一個周期內處理完。這也是過去技術上只能提供簡略信息的主要原因。

    第二,由于每個時鐘周期都產生大量的信息,因此我們要處理的整體信息量非常巨大,導致這些信息的存儲就是一個問題。

    為了解決這些問題,設計了一個雙時鐘系統。當我們發現需要存儲信息的時候,我們就把全局時鐘停止,從而使得各個模塊停止工作。同時我們用另外一套時鐘系統驅動調試模塊收集和壓縮信息。當信息收集完成以后,就把相關的數據發送到存儲模塊去存儲。當存儲完成時候,再重新激活全局時鐘,讓各個模塊繼續工作。

    由于采用了雙時鐘系統,提供了足夠的時間來進行信息的收集和存儲。因此在存儲媒介上,我們放棄了價格昂貴但容量偏小的閃存,而是選擇了從板載內存中分配一塊較大的區間,這樣就能在成本范圍內提供能夠存放足夠多信息的存儲空間。

    根據以上設計,我們把新的調試系統分成了5個模塊。

2.1 會話取樣模塊

    會話取樣模塊負責將模塊和模塊之間的會話傳給會話監控模塊或者會話記錄模塊。假設我們有兩個模塊A和B,一般情況下,模塊A和模塊B之間通過接口C連接,互相傳遞信息,如圖1所示。

wdz1-t1.gif

    將會話取樣模塊放在接口C上,通過它來檢查模塊A和模塊B之間是否有會話,如果有會話發生,那么就把會話內容傳給會話存儲模塊,并由會話存儲模塊將內容整理存儲到存儲媒介上,如圖2所示。

wdz1-t2.gif

2.2 會話監控模塊

    會話監控模塊負責監控模塊之間的會話,一旦它發現模塊A和模塊B之間發生了會話,那么會話監控模塊就會通知全局時鐘控制模塊,把所有模塊的時鐘中止,如圖3所示。

wdz1-t3.gif

2.3 會話記錄模塊

    會話記錄模塊負責在全局時鐘停止時,將會話的內容記錄到內存中。我們沒有采用傳統上的內部Cache的模式,因為雖然內存中記錄比較慢,但是可以提供極大的記錄空間,可以記錄相當長時間的會話。只要內存足夠大,就可以記錄足夠長的會話。

    會話記錄模塊會把會話記錄循環寫入對于軟件分配給硬件的內存,同時它提供兩個寄存器給軟件用于判斷是否有信息寫入。一個寄存器表示內存中未處理信息的頭部,一個寄存器表示內存中未處理信息的尾部。會話記錄模塊在寫入信息前,會檢查未處理信息的尾部是否和未處理信息頭部重合,如果是,說明內存中信息已經滿了,那么記錄模塊會停下等待軟件把信息讀走。

    由于各個模塊之間會話大小不同,因此在存儲的數據結構上,我們沒有采取固定長度的數據結構,而是設計了一種變長的數據結構。它分為頭部和數據兩塊。頭部是一個固定結構,表面數據包的信息,而其后跟隨著一個變長的數據流。它包含了三部分信息:

    (1)模塊ID:記錄了信息來自哪個模塊。

    (2)數據長度:會話信息的大小。

    (3)時間戳:會話發生的時間,可以用于仿真模型。

    在實際應用中,內存控制器只有一個輸入,為了協調各個模塊的寫入順序,我們專門設計了一個記錄控制器,用來接收各個會話記錄模塊的輸出,并轉送到內存控制器中,如圖4所示。

wdz1-t4.gif

2.4 全局時鐘控制器

    該模塊用來控制各個模塊的時鐘。一旦一個會話記錄的請求發生,那么全局時鐘控制器就會向各個模塊發出時鐘停止信號,中止各個模塊的運行,在會話記錄完成后,才會發出時鐘繼續的信號。

    圖5就是全局時鐘控制器的模塊圖,這是整個架構設計中最基本的一塊。

wdz1-t5.gif

2.5 調試時鐘模塊

    在全局時鐘被中止的時候,雖然其他模塊都停止工作了,但是會話記錄模塊、會話取樣模塊、內存控制器等一系列模塊都還要繼續工作,因為系統為他們單獨設置了這么一個時鐘模塊,在全局時鐘被中止時,繼續為其他模塊提供時鐘中斷。

3 新調試系統的軟件部分

    軟件部分的功能就是根據工程師的需求配置相應的調試環境,并將硬件產生的信息存儲到相應的文件中去。

    雖然新調試系統解決了存儲時間較長的問題,但是為了提高調試效率,在存儲過程中,我們采用多Buffer輪替的方式來提高數據的讀取效率。

4 應用的成果

    在新一代GPU的結構中加上了新的硬件調試架構,取得了初步的成果。

    在這次設計開發中,在FPGA上通過大量的應用,利用新的調試系統對L2Cache進行了研究,獲取了大量的數據。圖6是在不同的L1Cache設計下,L2 Cache和內存存儲模塊(MXU)之間會話后的分析結果。從圖中,我們可以清晰地看到在實際中,L2 Cache是如何處理接收的請求,以及其中的4個bank各自的負載情況如何,使得硬件開發人員可以清晰地發現Cache設計中存在的問題,并為優化Cache結構提供了充分的數據基礎。

wdz1-t6.gif

    另外,我們也在FPGA上重現了一些硬件隨機問題,并且獲取了相應的數據。在把這些數據導入我們的RTL仿真環境后,成功地在模擬環境中重現了這些硬件問題。現在通過調試系統獲取信息進行模擬重現,解決了過去硬件開發人員調試硬件問題由于硬件封裝而只能通過間接信息分析來調試的問題。硬件開發人員可以根據波形來分析出問題的原因,極大地提高開發人員調試的速度。

5 結語

    利用這種雙時鐘架構,我們能否更進一步開發單步調試系統,使得硬件調試象軟件調試一樣,可以設斷點,停下后即時查看硬件狀態。如果能實現,那將更進一步簡化硬件調試能力,提高硬件開發水平,這也是我們下一步的研究方向之一。

參考文獻

[1] SUNIL C.On chip logic analyzer debug bus:US,US6822474.[P/OL].(2004-11-23)[2017-08-30].http://www.freep-atentsonline.com/6822474.pdf.

[2] JOHNSON T J.System and method for using a debug bus as a capture buffer:US,US 20040193790 A1.[P/OL].2004-09-30.http://www.freepatentsonline.com/20040193790.pdf.

[3] AERTS J,MARINISSEN E J.Scan chain design for test time reduction in core-based ICs[C].International Test Conference,1998:448-457.

[4] KO H F,NICOLICI N.Functional scan chain design at RTL for skewed-load delay fault testing[C].Asian Test Symposium,2004:454-459.

[5] GHOSH D,BHUNIA S,ROY K.Multiple scan chain design technique for power reduction during test application in BIST[C].IEEE International Symposium on Defect & Fault Tolerance in VLSI Systems,2003:191.

[6] HSU L C,CHEN H M.On optimizing scan testing power and routing cost in scan chain design[C].International Symposium on Quality Electronic Design.2006:451-456.

[7] ARM Information Center ARM CoreSight Architecture Speci-fication[EB/OL].[2013-09-26].http://infocenter.arm.com/help/topic/com.arm.doc.ihi0029d/IHI0029D_coresight_archi-tecture_spec_v2_0.pdf.

[8] MARTIN T.Debugging with CoreSight.The Designer's Guide to the Cortex-M Processor Family[M].Newnes,2016:217-254.

[9] 韓格欣,許翔,劉嘯宇,等.ARM CoreSight調試與追蹤體系在Cortex M3內核中的實現[J].物聯網技術,2014(7):22-24.



作者信息:

陳  崢

(上海兆芯集成電路有限公司 軟件部,上海201203)

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久精品国内一区二区三区| 在线观看欧美| 亚洲精品在线观| 国产欧美不卡| 国产精品扒开腿做爽爽爽视频| 欧美二区在线| 欧美精品一区视频| 亚洲一区免费观看| 久久久久国产成人精品亚洲午夜| 亚洲欧洲一区二区天堂久久| 国产精品mv在线观看| 欧美激情小视频| 亚洲欧美变态国产另类| 玖玖视频精品| 夜夜嗨一区二区| 性欧美1819性猛交| 最新日韩av| 国产精品99久久久久久久久久久久| 欧美精品一区三区在线观看| 一区二区三区视频在线播放| 狠狠色丁香婷婷综合久久片| 亚洲影院色在线观看免费| 在线成人亚洲| 欧美性一二三区| 久久久久一本一区二区青青蜜月| 日韩视频一区二区三区在线播放| 亚洲性视频h| 亚洲亚洲精品三区日韩精品在线视频| 激情小说另类小说亚洲欧美| 一区二区av| 国产乱码精品一区二区三区忘忧草| 国产精品户外野外| 国产精品99久久久久久www| 日韩亚洲欧美在线观看| 国产目拍亚洲精品99久久精品| 一本色道久久综合亚洲精品不| avtt综合网| 国产精品亚洲一区| 亚洲一区二区三区成人在线视频精品| 国产精品色午夜在线观看| 国户精品久久久久久久久久久不卡| 欧美日韩蜜桃| 亚洲最新视频在线| 一本久道久久综合狠狠爱| 日韩亚洲精品电影| 亚洲精品乱码久久久久| 国内精品久久久久影院 日本资源| 亚洲在线日韩| 久久美女艺术照精彩视频福利播放| 久久久噜噜噜久久人人看| 欧美激情精品久久久六区热门| 中文在线资源观看网站视频免费不卡| 欧美mv日韩mv国产网站app| 国产欧美一区二区三区视频| 国产精品久久7| 亚洲福利视频一区二区| 欧美日韩一区二区在线播放| 久久久久高清| 红桃av永久久久| 欧美激情亚洲精品| 国产精品自在欧美一区| 亚洲欧美日韩中文视频| 国产一区视频网站| 国产日韩欧美在线观看| 韩国精品主播一区二区在线观看| 国产精品99久久不卡二区| 狠狠干综合网| 免费亚洲电影在线观看| 欧美一级大片在线免费观看| 欧美一区二区视频网站| 国产亚洲精品7777| 国产欧美日韩在线视频| 欧美激情aⅴ一区二区三区| 欧美日韩色综合| 激情综合视频| 蘑菇福利视频一区播放| 国产精品麻豆欧美日韩ww| 国产午夜精品全部视频在线播放| 国产精品国产三级国产aⅴ9色| 欧美一区激情视频在线观看| 免费一区视频| 韩国av一区二区三区在线观看| 欧美高清一区二区| 久久精品99| 欧美午夜不卡在线观看免费| 欧美电影在线免费观看网站| 国产精品理论片在线观看| 国产精品va在线| 亚洲性xxxx| 国产精品人人爽人人做我的可爱| 久久久午夜电影| 久久亚洲图片| 亚洲精品社区| 欧美精品成人一区二区在线观看| 亚洲一区二区三区在线| 国产精品久久久久一区| 亚洲国产精选| 狠狠色狠狠色综合日日五| 在线观看国产一区二区| 亚洲一区一卡| 亚洲电影中文字幕| 国产有码一区二区| 国产精品久久久免费| 欧美成人一区二区三区片免费| 欧美三级免费| 亚洲日本中文| 亚洲二区三区四区| 国产一区二区看久久| 国产精品激情| 亚洲天堂av综合网| 久久精品噜噜噜成人av农村| 国产自产2019最新不卡| 一本大道久久a久久精品综合| 国产精品初高中精品久久| 亚洲在线国产日韩欧美| 国产美女诱惑一区二区| 久久嫩草精品久久久久| 99re6这里只有精品| 欧美在线三级| 欧美视频一区在线| 久久久久中文| 国产视频丨精品|在线观看| 国产日产欧美一区| 亚洲一区二区三区高清不卡| 亚洲在线1234| 一级日韩一区在线观看| 欧美中文字幕在线观看| 国产一区 二区 三区一级| 国产精品vvv| 亚洲精品美女在线观看播放| 久久久亚洲国产美女国产盗摄| 欧美xxx成人| 久久精品国产久精国产爱| 欧美久久精品午夜青青大伊人| 狠狠色综合色区| 亚洲免费精彩视频| 欧美va亚洲va香蕉在线| 久久亚洲私人国产精品va| 亚洲欧美亚洲| 欧美女激情福利| 欧美性猛交一区二区三区精品| 国产精品一区久久| 亚洲日本成人女熟在线观看| 欧美在线观看天堂一区二区三区| 国产精品欧美日韩久久| 欧美四级在线| 亚洲尤物在线| 国产精品欧美经典| 久久综合狠狠综合久久综青草| 午夜精品福利一区二区三区av| 日韩午夜中文字幕| 亚洲国产日韩一区| 欧美日韩国产在线| 欧美紧缚bdsm在线视频| 欧美日韩视频在线第一区| 免费在线欧美视频| 国产一区在线看| 99国产精品| 亚洲图片欧洲图片日韩av| 欧美在线free| 美女国内精品自产拍在线播放| 国产亚洲精品资源在线26u| 国产精品一区二区在线观看不卡| 99精品热视频| 国产精品亚洲综合色区韩国| 国产日韩精品电影| 欧美三级电影一区| 激情久久婷婷| 欧美在线观看视频在线| 性做久久久久久久免费看| 欧美日韩成人一区| 久久精品成人一区二区三区| 国产精品久久综合| 老司机免费视频一区二区三区| 欧美日韩综合视频| 亚洲午夜激情免费视频| 99re6热在线精品视频播放速度| 欧美在线视频导航| 国产精品九色蝌蚪自拍| 欧美裸体一区二区三区| 欧美精品在线观看| 日韩一级片网址| 国产精品久久久久99| 美脚丝袜一区二区三区在线观看| 免费成人高清在线视频| 国产亚洲女人久久久久毛片| 国产欧美日韩综合| 国产精品日韩欧美一区二区| 欧美精品www| 激情一区二区三区| 欧美日韩国产综合在线| 亚洲精品乱码久久久久久日本蜜臀| 一本色道久久综合亚洲精品不| 亚洲国产欧美不卡在线观看| 欧美日产一区二区三区在线观看| 欧美肥婆bbw| 亚洲精品乱码久久久久久蜜桃91| 欧美午夜精品久久久久久孕妇| 国产美女精品| 欧美久久久久久久久久| 一区二区在线看| 亚洲国产精品久久| 久久免费视频观看| av成人免费在线| 亚洲国产精品123| 亚洲欧洲另类国产综合| 亚洲男人第一网站| 国产乱码精品一区二区三| 欧美激情精品久久久久久大尺度| 国产精品红桃| 亚洲视频免费观看| 99国产精品久久久久久久久久| 在线性视频日韩欧美| 国产午夜亚洲精品羞羞网站| 亚洲视频成人| 亚洲国产精品精华液2区45| 亚洲在线不卡| 亚洲精品乱码久久久久久按摩观| 久久精品综合一区| 99re6热在线精品视频播放速度| 欧美视频一区二区| 国内一区二区在线视频观看| 国产精品免费一区豆花| 国内精品久久久久影院 日本资源| 欧美日韩专区| 日韩视频在线观看一区二区| 久久精品一区蜜桃臀影院| 亚洲免费综合| 久久资源av| 有坂深雪在线一区| 欧美日韩一区二区三区免费| 欧美一区二区三区喷汁尤物| 久久夜精品va视频免费观看| 欧美在线观看视频| 久久久高清一区二区三区| 久久久精品动漫| 亚洲综合色噜噜狠狠| 国产精品资源在线观看| 国产视频在线观看一区二区| 久久www免费人成看片高清| 狠狠色综合播放一区二区| 校园激情久久| 欧美视频一区二区| 欧美中文字幕第一页| 黄色亚洲免费| 亚洲第一精品福利| 亚洲激情校园春色| 国产精品自拍视频| 欧美色综合天天久久综合精品| 国产免费一区二区三区香蕉精| 久久亚洲私人国产精品va媚药| 国产精品专区第二| 一二三区精品| 欧美人与禽猛交乱配| 国产欧美日韩综合一区在线观看| 亚洲午夜激情网页| 国产精品久久久久久户外露出| 韩国欧美国产1区| 亚洲人在线视频| 欧美天堂亚洲电影院在线播放| 日韩视频在线观看一区二区| 亚洲砖区区免费| 一区二区三区四区在线| 亚洲视频在线观看免费| 欧美日本视频在线| 久久久国际精品| 亚洲网在线观看| 久久精品在线| 欧美成人午夜激情| 亚洲国产美国国产综合一区二区| 久久男人资源视频| 亚洲免费观看在线视频| 亚洲成色www8888| 最新成人av在线| 欧美亚日韩国产aⅴ精品中极品| 一本一本久久a久久精品牛牛影视| 亚洲桃花岛网站| 欧美视频在线观看一区二区| 亚洲第一页中文字幕| 亚洲精品乱码久久久久久蜜桃91| 欧美精品在线观看一区二区| 国产精品xxxxx| 亚洲一区二区三区高清| 国产精品有限公司| 国产精品日韩精品欧美精品| 99视频+国产日韩欧美| 91久久精品国产91久久| 国产精品欧美在线| 欧美日韩高清一区| 欧美在线一区二区三区| 欧美在线你懂的| 亚洲欧美日韩天堂一区二区| 欧美激情精品久久久久久久变态| 亚洲人成77777在线观看网| 久久一二三区| 欧美大片免费观看在线观看网站推荐| 亚洲激情中文1区| 久久久久久综合| 欧美在线播放视频| 另类av导航| 国产精品国产三级国产aⅴ9色| 欧美日韩另类国产亚洲欧美一级| 欧美成人一品| 亚洲人体影院| 永久免费毛片在线播放不卡| 欧美日韩 国产精品| 久久综合网络一区二区| 亚洲欧美福利一区二区| 亚洲六月丁香色婷婷综合久久| 一区二区国产精品| 欧美巨乳在线观看| 国产精品成人一区二区艾草| 欧美一区激情视频在线观看| 国产亚洲日本欧美韩国| 亚洲天堂视频在线观看| 久久综合精品一区| 亚洲精品自在久久| 午夜亚洲视频| 99热在线精品观看| 91久久综合亚洲鲁鲁五月天| 黄色免费成人| 欧美日韩国产在线一区| 欧美永久精品| 久久精品成人| 黄色日韩网站| 蜜桃av噜噜一区二区三区| 国产精品国产三级国产普通话蜜臀| 国产精品久久久一本精品|