TW484054B - Real-time processor debug system - Google Patents
Real-time processor debug system Download PDFInfo
- Publication number
- TW484054B TW484054B TW090101904A TW90101904A TW484054B TW 484054 B TW484054 B TW 484054B TW 090101904 A TW090101904 A TW 090101904A TW 90101904 A TW90101904 A TW 90101904A TW 484054 B TW484054 B TW 484054B
- Authority
- TW
- Taiwan
- Prior art keywords
- debug
- data
- bus
- address
- signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
484054 A7 B7五、發明說明(1 ) 經濟部智慧財產局員工消費合作社印製 ——--k 先前申請案之參照 本案已經於美國提出申請,申請案號〇9/498,8 12號,申 請曰2000年2月7曰。 發明領域 本案係有關一種即時處理器除錯系統,及特別係有關一 種除錯系統’其係於即時操作期間選擇性抽樣核心處理器 之虛擬匯流排的位址及資料的信號,俾減少功率消耗以及 將匯流排負荷對性能造成的衝擊減至最低。 發明背景 常見嵌置系統其含有核心處理器、晶片上記憶體、以及 外部記憶體介面模組。目前世代系統也整合快取記憶體。 系統層面的碼發展者必須為嵌置系統寫軟體或應用碼俾執 行孩系統需要的特定功能。大半軟體須由開發程式設計師 修改多次,其原因有多項,包括增加或修改功能,去除非 期望的結構特徵,以及去除「錯誤」或軟體錯誤。如此, 於應用碼開發期間需對軟體除錯俾確保適當操作。嵌置系 統的應用碼於操作期間進一步需要繼續不斷地恆常或週期 陡凋正右干配置中,某些參數、特徵值或常數表於即時 操作期間需要調整或修改。此處所稱除錯處理包括開發最 初應用碼以及於操作期間的即時校正或調整功能。 义 某些先前系統包括不含快取記憶體系統提供核心處理器 匯流排於外部’故核心處理器週期方便接受除錯。於帶 快取記憶體的嵌置系統環境下,系統層面除錯變得更困 本紙張尺度適时Θ國家標準(CNS)A4規格(210 X 297 丨 i;-------^--------訂--------- (請先閱讀背面之注意事項再填寫本頁) -4- 484054 五、發明說明(2 難,原因在於無法在近接核心處理器的接腳或匯流排。特 :::門快::己憶:常係位於嵌置核心處理器與外部實體匯流 排間’故心處理器匯流排非由外部可近接。例如「秀週 期」支援並非如同於先前不具有快取記憶體的 的選項。 …%敗 傳統除錯方法稱作背景除錯模式(BDM)。BDM為一種靜 悲除錯法,其中處理器暫停俾讓碼程式發展師執行除錯操 作。碼發展師可設定中斷點用以於特定點停止處理器,或 可為單一步騾經由個別指令俾監視處理器的進行以及識別 問題及軟體錯誤。BDM適用於若干應用,但不足以用於即 時操作,包括動態調整或校正。又,某些除錯操作要求應 用碼接受測試與修正而未停止嵌置的核心處理器。舉例言 之,控制汽車引擎嵌置處理器系統通常係於引擎運轉當中 除錯,因此停止核心處理器並非選項,原因在於將導致引 擎的停止。 動態除錯方法正在發展中俾未停止處理器而監測處理器 的操作。於來自快取記憶體的實體匯流排於外部可近接 時,也由外部提供核心處理器匯流排並不實際或不可行, 原因在於其將導致嵌置處理器的接腳數目不大。意圖開發 一種除錯介面,其可透過内部輔助匯流排或埠而監視處理 斋匯流排以及提供訊息。經由監視核心處理器與快取記憶 體間的位址匯流排及資料匯流排進行動態除錯為耗用功率 且強制性處理。快取記憶體與核心處理器間的匯流排俗稱 「虛擬匯流排」。匯流排耦r合至虛擬匯流排之大型緩衝器 -5- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 經濟部智慧財產局員工消費合作社印製 484054 A7 B7_ 五、發明說明(3 ) 造成匯流排的負擔,影響嵌置處理器系統性能。進一步, 監視位址及資料匯流排信號以及提供對應訊息給外部輔助 匯流排的動態處理耗用寶貴的電力。可攜式通訊裝置典型 為掌上型且利用電池操作,以及主要係使用嵌置處理器系 統。此等可攜式通訊裝置包括例如個人數位助理器 (PDA)、蜂巢式電話、呼叫器、全球定位(GPS)模組等。此 等可攜式通訊裝置相當需要節省電力消耗而保持電池使用 時間。 同等重要地,於正常系統操作期間執行動態校正系統需 將電力消耗減至最低。汽車應用屬於此種需求的重要實 例。舉例言之,某些汽車用途中,即時校正(恆常)調整要求 除錯模組於處理器以及應用程式運轉時發揮功能。強力需 要嵌置系統的電力消耗減至最低。 希望以可將電力消耗減至最低以及因匯流排負擔對嵌置 處理器系統造成的性能影響減至最低之方式執行動態除 錯。 圖式之簡單說明 下列較佳具體實施例之詳細說明連同下列附圖考量時可 更為瞭解本發明,附圖中: 圖1為一種驗證根據本發明之即時處理器除錯系統之除 錯系統之示意方塊圖。 圖2為根據本發明之具體實施例執行的虛擬位址匯流排 閘控邏輯之示意圖。 圖3為根據本發明之具體實施例執行的虛擬資料匯流排 -6- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝--------訂i .i. 484054 A7 B7_ 五、發明說明(4 ) 閘控邏輯之示意圖。 (請先閱讀背面之注意事項再填寫本頁) 圖4為時序圖,說明根據本發明之一具體實施例之即時 除錯介面系統之程式追蹤虛擬位址閘控操作。 圖5為時序圖,說明根據本發明之一具體實施例之即時 除錯介面系統之程式及資料追蹤虛擬位址及資料閘控操 作。 較佳具體實施例之詳細說明 目前正在開發Nexus標準或GEPDIS(全球嵌置處理器除 錯介面標準)俾執行嵌置系統動態除錯,以及解決關聯即時 非強制性除錯支援的其它問題及議題。GEPDIS又名 IEEE-ISTO論壇500 1(電氣電子工程協會-產業標準與技術 組織:)敘述一種嵌置除錯介面標準,開發用來標準化非強制 性除錯而無需停止嵌置系統處理器核心之方法。多項除錯 能力定義於GEPDIS,俾經由提供程式流程以及資料流程 的可視性而監視程式的執行。此種可視性係由透過專用多 位元或多接腳串聯介面或輔助埠提供給外部發展系統之一 資訊訊息序列組成。程式流程訊息隨後組合程式靜態影響 而重新建構嵌置處理器的·實際指令執行序列。資料流程訊 息追蹤處理器讀取以及窝入至預先界定的位址範圍。 經濟部智慧財產局員工消費合作社印製 GEPDIS動態除錯係使用程式追蹤訊息發訊執行,包括 同步發訊以及資料追縱發訊。程式追縱訊息發訊的執行要 求監視由核心處理器執行的資料擷取順序結合狀態資訊, 其指示流程變化(COF)事件,包括直接或間接流程變化事 件。直接COF事件涉及程式計數器相關分支,以及間接 -7- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 484054 A7 B7 並 擬 五、發明說明(5 COF事件涉及暫存器間接分支以及除外向量。程式追蹤同 步訊息的執行要求欲被傳輸的目前正在執行的指令位址或 合理鄭近指令位址。資料追蹤訊息的執行要求監視資料存 取位址以及條件性提供關聯資料。資料追蹤訊息包括於一 或多個界定位址範圍内的讀取發訊或資料讀取,以及於一 或多個界定位址範圍内的寫入發訊或資料寫入。 GEPDIS之主旨說明一種即時動態非強制性除錯系統。 GEPDIS意圖包含一種嵌置除錯介面,其係透過輔助匯流
排或埠存取虛擬匯流排以及對應外部系統。但GEPDIS 未特別解決匯流排負載以及電力消耗問題。直接提供虛^ 匯流排信號給除錯介面極為具有強制性且可能造成錯誤操 作。緩衝可用來減少除錯介面的影響,同時仍然導致實質 性能衝擊,原因在於全部虛擬匯流排的信號移轉皆反映至 除錯信號上。除錯匯流排的電力消耗相當大,於某些具體 實施例可能過高。 圖1為除錯系統100之示意方塊圖,該除錯系統包括一 外部發展系統101耦合至嵌置系統103的輔助匯流排 102。發展系、统101用以對正在由嵌置系、统⑻的嵌置處 理器⑻的處理器核心1Q9執行的軟體執行即時除錯操 作仁眉瞭解,即時权-正系統(圖中未顯示)也可镇合至輔助 匯流排102用以執行即時校正,本發明原理亦同。 、所丁 /、把男她例中,肷置系統1〇3結合於積體電路(1C) 或晶片上且插人更大型系統例如關聯除錯系統剛的板子 上的適當插座。嵌I系統1G3包括即時除錯介面⑽透過 8- i-J— ^-------^--------訂--------- (請先閱讀背面之注音?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 ‘紙張尺度義屮關¥標準(CNS)A4規格⑵: x 297公釐) 經濟部智慧財產局員工消費合作社印制衣 484054 A7 B7 _ 五、發明說明(6 ) 分開實體匯流排115耦合至嵌置處理器107。嵌置處理器 107包括中央處理單元(CPU)或核心109,透過虛擬匯流排 113耦合至快取記憶體/MMU(記憶體管理單元)Π1。虛擬 匯流排113包括多操作信號界定核心109的操作。快取記 憶體及MMU為典型分開系統,但為了說明上的簡便起見 顯示二系統組合。MMU為選擇性,可能未設置於嵌置處理 器107之特定具體實施例。本發明意圖包含多種其它嵌置 處理器之變化及具體實施例,而非僅限於此等變化例。 虛擬匯流排113包括VIRTUAL ADDR匯流排,包含由 核心109組裝的位址信號至快取記憶體/MMU 111,以及 雙向VIRTUAL DATA匯流排介於核心109與快取記憶體 /MMU 111間。「虛擬」一詞表示虛擬匯流排113並非可 見或並未設置於嵌置系統103的嵌置處理器107至其它組 件外部。實體匯流排115類似虛擬匯流排113,且包括類 似的位址資料及控制信號,但二匯流排間的操作於操作期 間有別。快取記憶體/MMU 111内部的快取記憶體於虛擬 匯流排113以類似實體匯流排115之方式操作時可被去 能。但若快取記憶體被致能,則實體匯流排115係以不同 方式操作,而未產生核心109操作的真正表示。預定監視 虛擬匯流排113俾監控核心109的操作,或除錯,或以其 它方式執行核心109正在執行的應用軟體的校正操作。 虛擬匯流排113被提供至耦合至核心109的虛擬匯流排 閘控邏輯1 1 7。虛擬匯流排閘控邏輯11 7可結合於核心 109内部或可設計於核心109外部。虛擬匯流排閘控邏輯 -9- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --!------------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 484054 A7 ___B7_ 五、發明說明(7 ) 1 17 透過 UPDATE DATA 信號,UPDATE ADDR 信號, DEBUG DATA匯流排以及DEBUG ADDR匯流排耦合至 即時除錯介面105。DEBUG ADDR匯流排包括屬性信 號,容後詳述。UPDATE DATA信號是一種資料除錯更新 信號,其可選擇性激活或以其它方式致能DEBUG DATA 匯流排上的信號;以及UPDATE ADDR信號是一種可選 擇性致能或激活DEBUG ADDR匯流排的位址除錯更新信 號。核心109產生的PROCESSOR STATUS信號提供給 即時除錯介面1 0 5俾識別核心1 〇 9的某些狀態事件,容後 詳述。PROCESSOR STATUS信號包括至少一個核心異動 處理狀態其指示核心1 0 9的異動處理狀態。 輔助匯流排102是一種由嵌置系統1〇3的即時除錯介面 105控制的擴充性輸出除錯埠。一具體實施例中,辅助匯流 排102係由GEPDIS定義而致能藉發展系統1〇1監控核心 1〇9。輔助匯流排102提供給外部硬體介面119,其包含缓 衝器韌體、處理等用以提供除錯信號給發展系統^广二部 的發展工作站丨21。工作站121結合任何韌體、硬體或軟 體,且可以個人電腦等實施用以控制除錯操作或發展應用 軟體。工作站121的操作員與除錯敕體介面用以控制即時 除錯介面105的操作,俾監視虛擬匯流排113的位址及資 料信號等活動。 嵌置系統丨03具有若干操作模式,包括正常操作的正常 模式以及除錯模式。即時除錯介面1〇5有助於除錯模式, 且有若干可選擇模式作為除錯模式的子集。例如,即時除 —;—:-------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) -10-
經濟部智慧財產局員工消費合作社印製 484054 A7 B7______ 五、發明說明(8 )_ 錯介面包括程式追蹤模式以及資料追蹤模式,此處資料追 蹤模式進一步有讀取及寫入除錯模式。 圖2為根據本發明之一具體實施例之虛擬位址匯流排閘 控邏輯200之示意圖。虛擬位址匯流排閘控邏輯200係設 置於虛擬匯流排閘控邏輯117内部,用以耦聯虛擬匯流排 113之VIRTUAL ADDR匯流才非至DEBUG ADDR匯流 排。此處所述具體實施例中,VIRTUAL ADDR匯流排包 括32個標示為VIRTUAL ADDR [31:0]的分開位置信 號。但須暸解本發明非僅限於任何特定數目的位址信號。 各個VIRTUAL ADDR匯流排信號被提供給一系列閂鎖 201的對應輸入端,閂鎖201可為任何適當類型的閂鎖例 如D型閂鎖。各該閂鎖201的Q輸出端提供給一 _聯緩衝 器203之個別輸入端。缓衝器203,之輸出端主張個別 DEBUG ADDR匯流排信號,包括個別信號DEBUG ADDR [3 1:0]。後置處理器107包括内部主機時脈信號稱 作CLK1,提供至二輸入AND閘205之一輸入端。CLK1 信號為至少一主機時脈信號提供給核心109用於控制以及 時序目的。AND閘205之另一輸入端接收UPDATE ADDR信號。AND閘205之輸出端主張信號DEBUG ADDR CLK,該信號提供給各個閂鎖201之時脈輸入端。 操作時,UPDATE ADDR信號作為致能信號俾與CLK1 信號的主張同步而傳輸個別VIRTUAL ADDR匯流排信號 給DEBUG ADDR匯流排。藉此方式,當主張UPDATE ADDR信號時,CLK1信號計時閂鎖201而閂鎖 -11 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) --- I—------^--------^---------Awi (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印制衣 484054 A7 ^_B7_ 五、發明說明(9 ) VIRTUAL ADDR [3 1:0]信號至個別 DEBUG ADDR [31:0]信號。當UPDATE ADDR信號被取消或為邏輯零 時,閂鎖201為靜態,故DEBUG ADDR [31:0]信號保持 穩定。注意嵌置處理器107的任何匯流排包括DEBUG ADDR匯流排的變遷皆會耗用相當量的電力。容後詳述, 使用UPDATE ADDR信號來減少或消除DEBUG ADDR 匯流排不必要的變遷而顯著節省功率。 圖3為根據本發明之具體實施例之虛擬資料匯流排閘控 邏輯300之示意圖。虛擬資料匯流排閘控邏輯300也結合 於虛擬閘控邏輯117用以選擇性傳輸虛擬匯流排113的個 別資料信號給DEBUG DATA匯流排。所示具體實施例 中,虛擬匯流排113之VIRTUAL DATA匯流排包括32 個信號亦即 VIRTUAL DATA [3 1:0]。又 DEBUG DATA 匯流排包含32個信號亦即DEBUG DATA [31:0]。但須 瞭解本發明非僅限於任何特定數目的資料信號。UPDATE DATA信號提供給多個二輸入端NAND閘301個別的一輸 入端。各個NAND閘301之另一輸入端接收VIRTUAL DATA [3 1:0]信號的個別信號。例如第一 NAND閘301接 收 VIRTUAL DATA [0]信號,第二 NAND 閘 301 接收 VIRTUAL DATA [1]信號等。各個NAND閘301的輸出 端供給多個反相器3 03個別的輸入端。各個反相器3 03於 其個別輸出端主張DEBUG DATA [31:0]信號之個別信 號。 虛擬資料匯流排閘控邏輯300之操作係類似virtual -12- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) --------訂--------- 經濟部智慧財產局員工消費合作社印製 484054 A7 ____ B7___ 五、發明說明(1〇 ) ADDRESS匯流排閘控邏輯200,但未與CLK1信號同 步。但須瞭解,虛擬位址匯流排閘控邏輯200可以類似虛 擬資料匯流排閘控邏輯300之方式實施,反之亦然。此處 所述特定具體實施例中,虛擬位址匯流排閘控邏輯200略 為延遲位址俾確保週期為實際有效且被適當閂鎖。進一步 效果為DEBUG ADDR匯流排及信號的時序較為不具關键 限制,故緩衝器203可使用較小型較不耗電的裝置實施。 當UPDATE DATA信號被取消成為低時,DEBUG DATA 匯流排保持靜態不變。當UPDATE DATA信號被主張高 時,DEBUG DATA匯流排於略為經由邏輯閘301,303 而被延遲後遵循虛擬匯流排113的VIRTUAL DATA匯流 排。特別當UPDATE DATA信號被主張為高時,DEBUG DATA [0]信號遵照虛擬資料[0]信號,DEBUG DATA [1] 信號遵照虛擬資料[1]信號等。 須暸解,虛擬位址匯流排閘控邏輯2 0 0以及虛擬資料匯 流排閘控邏輯300分別透過UPDATE ADDR信號以及 UPDATE DATA信號提供對應DEBUG ADDR匯访b才非以 及DEBUG DATA匯流排的選擇控制及激勵。藉此方式, UPDATE ADDR以及UPDATE DATA信號可用來控制 DEBUG ADDRESS以及DEBUG DATA匯流才昨的電力消 耗。如此’又可控制除錯、測試或校正操作期間嵌置系統 1 03的電力消耗。特別用蓄電池操作的可攜式裝置,例如呼 叫器以及行動電話等,除錯模式於正常操作模式被去能。 UPDATE ADDR以及UPDATE DATA信號被強迫為低, -13- ^紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱)------- (請先閱讀背面之注意事項再填寫本頁) 裝-----I--訂-------- 484054 A7 B7 11, 五、發明說明( 俾確保DEBUG ADDR以及DEBUG DATA匯流排不會開 關。如此,確保額外除錯模式邏輯或環路不會耗用寶貴的 電池電力,如此不影響電池壽命。 裝--------訂--------- 經濟部智慧財產局員工消費合作社印製 當需要抽樣DEBUG DATA匯流排以及DEBUG ADDR 匯流排的除錯信號時,即時除錯介面105主張UPDATE DATA以及UPDATE ADDR信號。又,各種屬性信號由 核心109提供給即時除錯介面105,顯示爲處理器狀態 PROCESSOR STATUS信號。即時除錯介面105於發展系 統101的控制之下,決定何時主張UPDATE DATA信號 以及UPDATE ADDR信號,俾激勵或以其它方式致能 DEBUG DATA信號以及DEBUG ADDR信號供藉即時除 錯介面監視。特殊具體實施例中,即時除錯介面105可激 勵或以其它方式致能程式追蹤,用以於流量改變(COF)事 件時藉核心1〇9監視指令的擷取順序。PROCESSOR S丁A丁US信號指示COF狀態,同時虛擬匯流排1Π的虛擬 位址匯流排主張COF位址。於COF狀態或事件期間,如 PROCESSOR STATUS信號指示,即時除錯介面1〇5主張 UPDATE ADDR信號俾激勵及抽樣DEBUG ADDR匯流 排。同步訊息也屬於程式追蹤操作的一部分,其中即時除 錯介面105主張UPDATE ADDR信號。 資料追蹤訊息涉及監視資料存取位址以及有條件地提供 相關資料。資料追蹤可用於一或多個界定位址範圍之任一 者内部的資料讀或寫。當資料追蹤訊息發訊被致能時,即 時除錯介面1〇5監視processor STATUS信號用於涉 -14- 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) 經濟部智慧財產局員工消費合作社印制农 484054 A7 B7 ____ 五、發明說明(12 ). 及讀或寫週期的資料擷取。PROCESSOR STATUS信號也 指示是否發生讀或寫週期。用於讀或窝訊息發訊,即時除 錯介面105於資料擷取期間主張UPDATE ADDR信號俾 捕捉適當資料週期期間的對應位址。例如用於讀取發訊, 即時除錯介面105於處理器狀態匯流排指示為讀取週期時 主張UPDATE ADDR信號。同理,若處理器狀態匯流排 指示寫入發訊的寫入週期時,即時除錯介面1 0 5主张 UPDATE ADDR信號。當然,即時除錯介面105對讀及窝 信號皆被致能時主張UPDATE ADDR信號。又當資料追 蹤被致能時,即時除錯介面105比較由DEBUG ADDR藤 流排取還的位址與讀取或寫入訊息之一或多個界定的位址 範圍。若對讀或寫週期發現位址匹配,則即時除錯介面 105主張UPDATE DATA信號,致使虛擬匯流排閘控邏輯 1 17於DEBUG DATA匯流排主張對應資料。 圖4為時序圖說明根據本發明之一具體實施例之程式追 蹤虛擬位址閘控操作。核心109主機時脈信號CLK1以及 CLK2顯示為嵌置系統1〇3的時序參考。時序圖顯示虛擬 匯流排113之VIRTUAL· ADDR匯流排,說明主張五個位 址才票示為 ADDRESS1 ’ ADDRESS2 ’ COF ADDR ’ ADDRESS4 及 ADDRESS5。時序圖也顯示 VIRTUAL DATA匯流排說明五個對應資料信號個別顯示為DATA1, DATA2 , DATA3 , DATA4 及 DATA5 ° PROCESS STATUS信號也顯示,說明指令擷取接著為COF事件,接 著為資料擷取以及然後為另一指令擷取。時序圖也顯示 -15- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1^-----------裝--------訂--------- (請先閲讀背面之注意事頊矜填寫本頁> 484054 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(13 ) UPDATE ADDR 信號、DEBUG ADDR CLK 信號以及 DEBUG ADDR 匯流排。 圖4實例中,程式追蹤被致能,同時資料追蹤被去能。 由於資料追蹤被去能,故無需監視VIRTUAL DATA匯流 排上的資料。如此,即時除錯介面1〇5維持UPDATE DATA信號為無效且為低,故DEBUG DATA匯流排保持 靜態而無活性,其係與VIRTUAL DATA匯流排的活性無 關。如此,於電力消耗上提供顯著減少消耗電力的即時效 果’原因在於無需消耗電力來開關DEBUG DATA匯流 排。 即時除錯介面105無需監視VIRTUAL ADDR匯流排的 所有活動。許多於VIRTUAL ADDR匯流排主張的位址為 先前被主張位址的遞增版本。藉此方式,一旦已知一連率 串列位址的初位址,則其餘位址為已知或可預測,因此無 需傳輸給DEBUG ADDR匯流排。此點對多種定址架構為 真’包括無需遞增序列位址的定址架構,只要已知二進制 序列即可。即時除錯介面105僅需識別及讀取未遵照序列 排序的位址,例如回應於條件式或非條件式分支或環圈指 令或任何直接或間接COF事件。於PROCESSOR STATUS信號主張的C〇F指令識別非循序位址。 如圖4所示,即使於VIRTUAL ADDR匯流排主張循序 位址 ADDRESS 1 及 ADDRESS2,但 DEBUG ADDR 匯;虎 排對最後的COF位址仍然保持固定。特別當即時除錯介面 105於PROCESSOR STATUS信號偵測得COF指令時, -16- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 丨:---:-------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 484054 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(14 )_ 其主張UPDATE ADDR信號,如事件箭頭401指示。主 張UPDATE ADDR信號致能圖2所示閂鎖201。於 UPDATE ADDR信號被主張時,於CLK1信號的次一上升 緣,如事件箭頭403指示,DEBUG ADDR CLK信號被主 張,如405所示。主張DEBUG ADDR CLK信號致能問 鎖201,故VIRTUAL ADDR匯流排信號被驅動至 DEBUG ADDR匯流排信號上,如事件箭頭407顯示。 藉此方式,回應於即時除錯介面105主張UPDATE ADDR信號,DEBUG ADDR匯流排僅由最末COF位址切 換至新COF位址。PROCESSOR STATUS信號的C〇F才旨 令係於C L K 2信號的次一上升緣時完成,如事件箭頭4 〇 9 指示。回應於COF指令的完成,如事件箭頭411指示。即 時除錯介面105解除主張UPDATE ADDR信號。回應於 此,DEBUG ADDR CLK信號被取消,如事件箭頭413顯 示。由於隨後DEBUG ADDR CLK信號被保持為無效,故 DEBUG ADDR匯流排於新C0F位址保持不變且為固定, 因而可節省電力。 圖5為時序圖,說明根據本發明之具體實施例之程式及 資料追蹤虛擬位址及資料閘控。本例中,程式追蹤及資料 追蹤皆被致能。因程式追蹤被致能,故即時除錯介面1 〇 5 於主張C0F指令時監視VIRTUAL ADDR匯流排,如先 前參照圖4所述。因資料追蹤被致能,以及假設讀取及寫 資料追縱被致能,則即時除錯介面1 〇 5監視發生於 VIRTUAL DATA匯流排的有意義的資料事件。有意義的 -17- 本纸張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公髮) I ------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 484054 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明() 資料事件係由工作站1 2 1定義且傳輸給即時除錯介面1 〇 5 監視該等事件。例如可能需要於特定位址識別於特定暫存 器讀或寫的任何資料’或於特定位址範圍的多個暫存器或 任何其它類型的記憶體裝置讀或寫的資料。可定義多個此 等位址戒位址範圍。 當資料追縱被致能時,即時除錯介面105對任何data FETCH 指令監視 PR0CESS0R STATUS 信號。當 DATA FETCH指令被測得時,即時除錯介面主張UPDATE A DDR信號,俾捕捉由VIRTUAL ADDR匯流棑讀或寫的 位址至DEBUG ADDR匯流排上。然後即時除錯介面1〇5 比較由DEBUG ADDR匯流排取還的位址與任何或全部正 在被監視的適用的位址或位址範圍。若位址係等於被監視 的位址或位址範圍,則若該資料事件有意義,即時除錯介 面105主張UPDATE DATA信號而致使VIRTUAL DATA匯流排主張的資料移轉至DEBUG DATA匯流排。 注意對特定位址範圍的讀及寫皆被監視,則該資料事件被 視為有意義。否則,唯有於正在執行的週期類型係等於正 在被監視的週期類型時該資料事件才視為有意義。 即時除錯介面105也由PROCESSOR STATUS信號決 定資料週期是否被讀或寫。若僅讀取資料追蹤被致能以及 寫入週期被偵測,或反之亦然,則即時除錯介面105可能 不主張UPDATE ADDR信號,原因在於該資料事件非被 視為有意義。即使讀及寫資料追蹤被致能,可能須對特定 位址範圍區別讀或寫週期。例如可能需要識別來自一位址 -18- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝
T Hi m 1 βΒ9 β n ammmam n ·ϋ fl— n 1 I I 484054 A7 B7 五、發明說明(16 ) 範圍的讀取週期以及寫至第二不同位址範圍的寫入週期。 一具體實施例中,於即時延遲介面105内部的比較邏輯使 用週期類型來決定適用的監視位址範圍。當然若對全部界 定的位址範圍讀及寫皆被致能,則可無需區別讀及寫週 期。 女7圖5所示,C〇F指ί令出現於PROCESSOR STATUS 信號上,該COF指令係由即時除錯介面105偵測。相對 地,即時除錯介面105主張UPDATE ADDR信號,如事 件箭頭501指示。當UPDATE ADDR信號被主張時, CLK1信號的主張將造成同時主張DEBUG ADDR CLK信 號,如事件箭頭503指示。隨後CLK2信號的主張將造成 PROCESSOR STATUS信號由COF指令移轉至DATA FETCH 才旨令。PROCESSOR STATUS 信號的 DATA FETCH指令係由即時除錯介面105偵測,其維持 UPDATE ADDR信號被主張,如事件箭頭507指示,原因 在於本例中資料追蹤被致能之故。由於UPDATE ADDR 信號保持被主張,故第二主張DEBUG ADDR CLK信號致 使出現於VIRTUAL ADDR匯流排的資料寫入位址被閃鎖 於DEBUG ADDR匯流排位址,如事件箭頭511指示。由 於資料追蹤被致能,故·於DEBUG ADDR匯流排被主張的 資料寫入位址(DATA WR ADDR)由即時除錯介面105取 還,該除錯介面比較取還的位址與任何當時被激勵的讀或 寫發訊之任何特定界定位址範圍。圖5所示實例中’即時 除錯界面105比較資料寫入位址與活性位址範圍’以及決 -19- 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公爱) (請先閱讀背面之注意事項再填寫本頁) 裝--------訂--- 經濟部智慧財產局員工消費合作社印製 484054 A7 -------B7 ___ 五、發明說明(17 ) 定除錯位址比較匹配以及對應地主張UPDATE DATA信 號,如事件箭頭5 13指示。即時除錯介面105主張 UPDATE DATA信號,造成VIRTUAL DATA匯流排上 的信號透過邏輯閘301,303移轉至DEBUG DATA匯流 棑,結果導致於DEBUG DATA匯流排主張的寫入資料, 如事件箭頭515指示。 須瞭解,邏輯閘205、301、閂鎖201以及緩衝器203, 。0 3提供隔離’如此提供減少虛擬匯流排1 13的負荷的效 果。使用UPDATE ADDR以及UPDATE DATA信號來減 少DEBUG ADDR以及DEBUG DATA匯流排交換,更進 一步提供減少虛擬匯流排1 13負載的效果,也實質上對嵌 置處理器107以及因而對嵌置系統103達成節省電力。 雖然根據本發明之系統及方法已經就較佳具體實施例說 明,但絕非意圖限於此處所述之特定形式,相反地,意圖 涵蓋合理含括於隨附之申請專利範圍所界定之本發明之精 髓及範圍内的全部此等替代、修改及相當範圍。 丨—丨IT------®裝--------訂---------^9. (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 -20-
Claims (1)
- 經濟部智慧財產局員工消費合作社印製 484054 A8 B8 C8 D8 六、申請專利範圍 1. 一種積體電路,其包含: 一核心處理器,其係用以於核心處理器正常操作期間 提供操作信號; 一邏輯電路,其具有一輸入端,其用以接收該操作信 號、一第二輸入端用以接收除錯更新信號、以及一輸出 端;以及 一即時除錯電路,其具有第一輸出端,其用以提供除 錯更新信號、一第一輸入端,其耦合至邏輯電路的輸 出、以及一第二輸出端,其耦合至積體電路外部可存取 -的輔助匯流排。 2. 如申請專利範圍第1項之積體電路,其中積體電路具有一 種除錯模式、以及即時除錯電路,其具有一種可選擇模 式作爲除錯模式的子集。 3. 如申請專利範圍第2項之積體電路,其中除錯更新信號係 於可選擇模式期間被主張。 4. 如申請專利範圍第3項之積體電路,其中該核心處理器產 生處理器狀態信號給即時除錯電路,以及該除錯更新信 號係回應於處理器狀態信號的指示處理器位址流量改變 而被主張。 5. 如申請專利範圍第3項之積體電路,其中該核心處理器產 生處理器狀態信號給即時除錯電路,以及該除錯更新信 號係回應於處理器狀態信號的指示處理器資料存取而被 主張。 6. 一種於一積體電路之即時除錯系統之方法,該積體電路 -21 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —^^---------------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 484054 A8 B8 C8 D8 、申請專利範圍 具有一除錯電路以及一核心處理器,其可產生操作信號 供積體電路内部使用,該方法包含下列步騾: 於積體電路之正常操作期間進入除錯模式; 進入可選擇模式其為除錯模式之一子集; 回應於除錯電路於可選擇模式期間主張除錯信號而耦 合操作信號至除錯電路;以及回應於除錯電路於可選擇 模式期間解除主張除錯信號而由除錯電路遮斷操作信 號。 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 -22- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/498,812 US6769076B1 (en) | 2000-02-07 | 2000-02-07 | Real-time processor debug system |
Publications (1)
Publication Number | Publication Date |
---|---|
TW484054B true TW484054B (en) | 2002-04-21 |
Family
ID=23982605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090101904A TW484054B (en) | 2000-02-07 | 2001-01-31 | Real-time processor debug system |
Country Status (5)
Country | Link |
---|---|
US (1) | US6769076B1 (zh) |
JP (1) | JP4916617B2 (zh) |
KR (1) | KR100856336B1 (zh) |
CN (1) | CN1222879C (zh) |
TW (1) | TW484054B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163127A (ja) * | 2000-11-27 | 2002-06-07 | Mitsubishi Electric Corp | トレース制御回路 |
JP2003177938A (ja) * | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | 電子装置及びそのデバッグ認証方法 |
EP1283422A1 (en) * | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
DE10139660B4 (de) * | 2001-08-11 | 2007-07-05 | Infineon Technologies Ag | Programmgesteuerte Einheit mit Debug-Ressourcen |
US6547125B2 (en) * | 2001-09-10 | 2003-04-15 | John D. Correll | Material-saving food carton |
EP1349071A1 (en) * | 2002-03-29 | 2003-10-01 | STMicroelectronics N.V. | Integrated circuit with direct debugging architecture |
KR100423891B1 (ko) * | 2002-06-21 | 2004-03-22 | 삼성전자주식회사 | 트레이스 모듈을 구비한 마이크로프로세서 |
EP1565825A2 (de) * | 2002-11-22 | 2005-08-24 | Continental Teves AG & Co. oHG | Einrichtung und verfahren zur analyse von eingebetteten systemen |
US7403301B2 (en) | 2003-05-02 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | System and method for collecting and analyzing information regarding user devices |
US7500152B2 (en) * | 2003-12-05 | 2009-03-03 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
US7249288B2 (en) * | 2004-09-14 | 2007-07-24 | Freescale Semiconductor, Inc. | Method and apparatus for non-intrusive tracing |
US8621458B2 (en) * | 2004-12-21 | 2013-12-31 | Microsoft Corporation | Systems and methods for exposing processor topology for virtual machines |
US7627784B1 (en) * | 2005-04-06 | 2009-12-01 | Altera Corporation | Modular processor debug core connection for programmable chip systems |
US7865704B2 (en) | 2006-03-29 | 2011-01-04 | Freescale Semiconductor, Inc. | Selective instruction breakpoint generation based on a count of instruction source events |
JP4795147B2 (ja) * | 2006-07-11 | 2011-10-19 | 富士通株式会社 | 伝送装置 |
US7707459B2 (en) * | 2007-03-08 | 2010-04-27 | Whirlpool Corporation | Embedded systems debugging |
US20090222797A1 (en) * | 2008-02-29 | 2009-09-03 | Infineon Technologies Ag | Apparatus and method for providing a trigger |
US8589738B2 (en) * | 2009-05-05 | 2013-11-19 | Freescale Semiconductor, Inc. | Program trace message generation for page crossing events for debug |
US8438547B2 (en) * | 2009-05-05 | 2013-05-07 | Freescale Semiconductor, Inc. | Address translation trace message generation for debug |
US9058421B2 (en) * | 2009-06-16 | 2015-06-16 | Freescale Semiconductor, Inc. | Trace correlation for profiling subroutines |
EP2273329A1 (en) * | 2009-06-24 | 2011-01-12 | Delphi Technologies Holding S.à.r.l. | Microcontroller protection method and apparatus comprising an on-circuit debugging module |
CN101894010B (zh) * | 2009-08-24 | 2013-04-17 | 威盛电子股份有限公司 | 微处理器及适用于微处理器的操作方法 |
KR101636517B1 (ko) * | 2009-11-13 | 2016-07-06 | 삼성전자주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 디버그 정보 처리 방법 |
GB2493405B (en) * | 2011-08-03 | 2017-04-05 | Advanced Risc Mach Ltd | Debug barrier transactions |
CN102360329B (zh) * | 2011-09-29 | 2014-11-05 | 西北工业大学 | 总线监控与调试控制装置及进行总线监控与总线调试的方法 |
CN104991845B (zh) * | 2015-06-24 | 2018-10-23 | 福州瑞芯微电子股份有限公司 | soc多核芯片高速debug方法及装置 |
CN105068898B (zh) * | 2015-06-24 | 2018-12-18 | 福州瑞芯微电子股份有限公司 | USB type-C高速debug方法及装置 |
CN106254098B (zh) * | 2016-07-22 | 2020-02-21 | 纳瓦电子(上海)有限公司 | 一种调试数据采集方法、系统以及嵌入式无线系统 |
US10310012B2 (en) * | 2016-12-21 | 2019-06-04 | Samsung Electronics Co., Ltd. | Lightweight, low overhead debug bus |
CN112541166A (zh) * | 2019-09-20 | 2021-03-23 | 杭州中天微系统有限公司 | 一种方法、系统和计算机可读存储介质 |
CN114019230A (zh) * | 2021-11-03 | 2022-02-08 | 武汉盛帆电子股份有限公司 | 一种智能电能表设计方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5053949A (en) * | 1989-04-03 | 1991-10-01 | Motorola, Inc. | No-chip debug peripheral which uses externally provided instructions to control a core processing unit |
JP2621477B2 (ja) * | 1989-04-28 | 1997-06-18 | 日本電気株式会社 | インサーキット・エミュレータ |
JP2772604B2 (ja) * | 1992-10-27 | 1998-07-02 | シャープ株式会社 | データ処理システム |
JP2646957B2 (ja) * | 1992-05-13 | 1997-08-27 | 日本電気株式会社 | キャッシュ内蔵マイクロプロセッサ及びそのトレースシステム |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
JPH07281924A (ja) * | 1994-04-05 | 1995-10-27 | Hitachi Ltd | トレース装置及びこれを備えたエミュレータ |
CN1279449C (zh) * | 1994-12-28 | 2006-10-11 | 株式会社东芝 | 微处理器 |
US5544311A (en) * | 1995-09-11 | 1996-08-06 | Rockwell International Corporation | On-chip debug port |
JPH1040130A (ja) * | 1996-07-23 | 1998-02-13 | Sony Corp | マイクロコンピュータ |
US5771240A (en) * | 1996-11-14 | 1998-06-23 | Hewlett-Packard Company | Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin |
JPH11272560A (ja) | 1998-03-19 | 1999-10-08 | Sony Corp | 集積回路 |
-
2000
- 2000-02-07 US US09/498,812 patent/US6769076B1/en not_active Expired - Lifetime
-
2001
- 2001-01-31 TW TW090101904A patent/TW484054B/zh not_active IP Right Cessation
- 2001-02-06 JP JP2001029003A patent/JP4916617B2/ja not_active Expired - Fee Related
- 2001-02-06 CN CNB01103095XA patent/CN1222879C/zh not_active Expired - Fee Related
- 2001-02-07 KR KR1020010005819A patent/KR100856336B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100856336B1 (ko) | 2008-09-04 |
KR20010078358A (ko) | 2001-08-20 |
CN1222879C (zh) | 2005-10-12 |
CN1308279A (zh) | 2001-08-15 |
US6769076B1 (en) | 2004-07-27 |
JP4916617B2 (ja) | 2012-04-18 |
JP2001222446A (ja) | 2001-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW484054B (en) | Real-time processor debug system | |
JP5239862B2 (ja) | デバッガ及びデバッグ方法 | |
Bink et al. | ARM996HS: The first licensable, clockless 32-bit processor core | |
US7689867B2 (en) | Multiprocessor breakpoint | |
US7529955B2 (en) | Dynamic bus parking | |
US8341436B2 (en) | Method and system for power-state transition controllers | |
US20040002823A1 (en) | Method and apparatus for compiler assisted power management | |
Gary et al. | PowerPC 603, a microprocessor for portable computers | |
US11593241B2 (en) | Processor with debug pipeline | |
US20180276052A1 (en) | Deadlock detector, system including the same and associated method | |
US7100033B2 (en) | Controlling the timing of test modes in a multiple processor system | |
JP4689087B2 (ja) | 情報処理装置及び省電力移行制御方法 | |
US6760864B2 (en) | Data processing system with on-chip FIFO for storing debug information and method therefor | |
US20030100133A1 (en) | System-on-chip breakpoint synchronization | |
CN112198423A (zh) | Fpga芯片内的测试激励生成单元 | |
US11328755B2 (en) | Data transmission between clock domains for circuits such as microcontrollers | |
CN112534414A (zh) | 软件跟踪消息接收器外围设备 | |
JP2006146412A (ja) | マルチコアプロセッサ及びデバッグ方法 | |
JPH0916280A (ja) | 低消費電力型遷移検出器を備えた自己タイミング方式のデータ処理システム | |
Peng et al. | An on-chip debugging method based on bus access | |
US8578219B2 (en) | Monitoring and verifying a clock state of a chip | |
US6016551A (en) | Method and apparatus for masking and unmasking a clock signal in an integrated circuit | |
Duwe | Exploiting application level error resilience via deferred execution | |
Park et al. | Design methodology for on-chip-based processor debugger | |
Zhang et al. | Debug Support for Scalable System-on-Chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |