TWI464576B - 使用除錯指令之方法、裝置及控制處理器之除錯行為之方法 - Google Patents
使用除錯指令之方法、裝置及控制處理器之除錯行為之方法 Download PDFInfo
- Publication number
- TWI464576B TWI464576B TW098104740A TW98104740A TWI464576B TW I464576 B TWI464576 B TW I464576B TW 098104740 A TW098104740 A TW 098104740A TW 98104740 A TW98104740 A TW 98104740A TW I464576 B TWI464576 B TW I464576B
- Authority
- TW
- Taiwan
- Prior art keywords
- debug
- memory
- instruction
- address
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
大體而言,本發明係關於資料處理系統,且更特定而言,係關於一資料處理系統中之一除錯指令之使用。
此申請案已於2008年3月17日在美國作為專利申請案第12/049,984號提出申請。
在軟體開發期間,除錯指令通常用以允許欲發生之除錯作業。一旦該軟體已被開發且用除錯指令檢查,此等除錯指令即被移除以便在該軟體應用程式中不會致使不期望之例外狀況。然而,此等除錯指令之移除可改變該系統之執行特性且在即時應用中可特別難以解決。
在各種處理器實施方案中支援除錯指令以促進條件進入至一除錯停止模式中或促進一軟體除錯例外狀況(如,一除錯中斷)之產生。在任一情況下,藉由將此等除錯指令設置於其作業恰好正在被評估、測試或除錯之程式碼中,一開發者能夠在軟體控制下且依據該執行環境之一當前狀態起始除錯作業。一旦軟體開發及/或測試完成,則保持於生產程式碼中之彼等除錯指令即可觸發非期望之例外狀況及除錯行為,除非被移除或抑制。令人遺憾的是,該等除錯指令之移除往往會改變該系統之執行特性。亦即,由於分支目標、頁邊界及其他指令關係可在移除該等除錯指令時改變,因此該程式碼圖像自身改變。在即時程式碼中,此等改變可尤其難以解決。
因此,期望有在其中至少所選之除錯指令之作業被抑制時仍可允許一生產程式碼圖像大致保持不變之技術。由於一給定軟體系統,且甚至即使是新開發的系統及現存系統之新部署之後續產生皆可重新使用其中留有此除錯指令之程式碼,因此若除錯指令之抑制可影響某些除錯指令例項(如,駐存於穩定程式碼中之例項),則其將係所期望的。
已發現,一種支援依據除錯指令例項在可定址記憶體中之相應位址對該等除錯指令例項之執行模式之選擇之處理器實施方案可提供一用於以如下方式來執行除錯指令之有吸引力的機制:允許該等指令中之某些例項以除錯語意運作,且同時藉由以無作業(NOP)語意執行其他例項來抑制其他例項。在某些實施例中,可依據一其中駐存有一特定除錯指令例項之記憶體頁之屬性來選擇運作執行語意。在某些實施例中,可限定(如,使用儲存在邊界暫存器中之值)一位址空間之若干部分,且比較特定除錯指令例項之位址與該等所限定部分,以選擇適當的執行語意。在某些實施例中,兩種類型之評估皆可用於選擇用於一特定除錯指令例項之適當的執行語意。
為具體起見,本文著重於某些闡釋性處理器設計、記憶體組織、除錯型指令及除錯環境。舉例而言,在某些實施例中,一實施一除錯通知停止(dnh)指令之處理器適於依據其中駐存有例項之記憶體位址或區域而提供用於該dnh指令之例項之選擇性執行語意。在某些實施例中,一記憶體管理單元為與記憶體頁、區段或區域匹配(或不匹配)準則相一致之指令例項作註解(例如,在該等指令例項自記憶體被提取時),且依據該註解選擇執行語意。在某些實施例中,採用解碼邏輯來供應用於一由該處理器實施之NOP型指令之信號或作業碼來代替通常經供應以用於執行一除錯指令(未針對其選擇NOP語意)之彼等信號或作業碼。當然,雖然本文所闡述之技術對其他除錯指令及在其他處理器設計中具有廣泛的適用性,但熟習此項技術者依據所圖解闡釋之上下文應瞭解及明瞭該等技術。
因此,鑒於前文所述,且並不限制本發明之實施例中可採用之除錯型指令、基本處理器或系統架構、位址匹配準則及用於選擇適當執行語意之機制之範圍,本文闡述某些闡釋性實施例。
圖1圖解闡釋一與本發明之某些實施例一致之資料處理系統10。大體而言,資料處理系統10可實施於一單個積體電路上或複數個積體電路上。在某些情況下,資料處理系統10可實施為一晶片上系統。在所圖解闡釋之組態中,資料處理系統10包含處理器12、外部除錯電路14、I/O模組16及記憶體18。資料處理系統10之若干組件係使用任何適合之技術相互連接且相互運作。雖然熟習此項技術者將認識到,可在不背離本發明之情況下採用各種互連技術及佈局中之任一者,但為簡明起見,本文僅圖解闡釋主要功能區塊之間經由匯流排20之互連。
一般而言,處理器12之實施方案包含提取緩衝器或用於儲存欲由該(等)處理器執行之指令之其他設施、解碼器及定序邏輯、一或多個執行單元及暫存器儲存器,以及適合的資料、指令及控制路徑。在任一給定時間,與一由處理器12執行之計算一起,程式碼之若干單位(如,指令)及資料駐存於記憶體18中、一或多個快取級中及/或處理器存放區(例如,一提取緩衝器、暫存器等)中。大體而言,可採用各種記憶體階層中之任一者,其中包含分開或混合記憶體或快取中之指令及資料之設計。記憶體18(或其任一部分)可位於與一處理器相同之積體電路上,可位於一不同於處理器12之積體電路上,或可跨越多個積體電路。此外,記憶體18可包含諸如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、非揮發性記憶體(如,快閃)等任一適合類型之儲存器。外部除錯電路14可含納於與一處理器相同之積體電路上,或可實施為獨立於任何積體電路之一單獨系統或含有處理器12之晶片上系統。
圖2係一對應於資料處理系統10(參見圖1)之處理器12之一處理器例項(現稱為處理器12)之方塊圖。處理器12包含一指令解碼器22、執行單元24、指令提取單元26、控制電路28、通用暫存器30、載入/儲存單元32、匯流排介面單元(BIU)34及內部除錯電路40。處理器12經由耦合至BIU34之匯流排20與一資料處理系統之其他組件通信。一般而言,如先前參照圖1所圖解闡釋,其他組件包含記憶體(可能包含快取)及I/O組件。
應注意,在所圖解闡釋之實施例中,記憶體管理單元(MMU)36協調位址變換(如,與一所實施之分段或分頁記憶體模型一致)且提供一合適位置來實施本文中所闡述之條件除錯控制中之某些條件除錯控制。因此,在下文之闡述中,本文圖解闡釋包含一MMU設施之某些設計。然而,依據本文之闡述,熟習此項技術者將認識到,沿自記憶體至執行單元24(如,指令提取單元26及指令解碼器22)之指令路徑之其他組件可託管類似條件除錯控制或所闡述之特定控制之若干部分,特別係在可省略一MMU之實施例中。圖2亦圖解闡釋在某些實施例中可與處理器12一同被提供(如,晶片上)之一可選快取37。雖然將可選快取37圖解闡釋為一整合資料/指令快取,但熟習此項技術者將認識到,若需要可提供單獨資料及指令部分,且某些實施例可僅將一資料部分或僅將一指令部分與處理器12共置在一起。
內部除錯電路40監視處理器12內之活動,且回應於依據呈現在處理器12內之除錯暫存器42內或別處之所儲存的除錯組態資訊而偵測一或多個預定條件,可產生一或多個資料中斷點事件、指令中斷點事件、指令執行事件(例如,一分支或設陷發生事件、一指令完成事件或諸如此類)。內部除錯電路40可經由圖2中所示之除錯埠耦合至外部除錯單元,例如,一IEEE ISTO-5001依從NexusTM
除錯單元。外部除錯單元可包含圖1中所示之所有或一部分外部除錯電路14。NexusTM
係美國德克薩斯州奧斯汀市之飛思卡爾半導體公司(Freescale Semiconductor,Inc.,Austin,Texas)之一商標。除錯埠可係一串列介面(例如,JTAG)或可實施為一並列埠、串列與並列埠之一組合或一乙太網埠。在某些實施例中,處理器12可使用一適當的互連或發訊機制將內部除錯電路介接至晶片上之其他除錯電路。
如中所圖解闡釋,內部除錯電路40包含除錯暫存器42及除錯控制電路44。除錯暫存器42通常包含分組為用於控制各種除錯相關之事件之若干欄位之位元,該等除錯相關之事件包含指令中斷點、資料中斷點、觀察點及其他除錯相關聯之訊息收發。大體而言,此等除錯資源可在處理器12與外部除錯電路14之間共用,且在任一情況下,可被採用以建立依據位址選擇性地啟用(或停用)本文所闡述之條件除錯控制之述詞狀態(例如,記憶體頁屬性、有標記之區段或區域,及/或位址識別符之組合)。
大體而言,除錯暫存器42提供對用於一或多個位址比較值、位址範圍及資料匹配值之儲存器,該儲存器可用於實施指令及/或資料存取中斷點及觀察點事件及其他除錯控制準則。此等位址及資料值以及各種控制準則用以確定處理器12何時出於產生一中斷點或觀察點事件之目的而存取一或多個預定指令位址或資料位址,其可致使處理器12在內部除錯模式係作用中時開始針對一除錯例外狀況之例外狀況處理,或致使處理器12在外部除錯模式係作用中時進入一除錯停止模式,在該模式中處理器12回應於由外部除錯電路14透過內部除錯單元40之該除錯埠所提供之命令。
以舉例而非限定方式,除錯暫存器42可包含:適合於除錯組態資訊之儲存之除錯控制暫存器、指令位址比較暫存器及資料位址比較暫存器,以及除錯狀態暫存器、除錯計數器及資料值比較暫存器。大體而言,除錯暫存器42可係使用者之軟體程式化模型之一可見部分。當發生一或多個計數啟用事件時,除錯計數器可經組態以倒計數。當一計數值達到零時,若已啟用,則一除錯計數事件可被發出且可產生一除錯中斷。資料值比較暫存器可出於資料比較之目的而儲存資料值,例如,在條件中斷點之實施方案中。
在一內部除錯模式中,可由軟體管理暫存器資源,且不需要外部除錯電路之使用。軟體可透過使用往來於專用暫存器而移動之指令(其係軟體指令)之資料移動來組態該等暫存器以初始化該等個別除錯暫存器以用於執行依據軟體之除錯活動。經啟用之除錯事件觸發軟體除錯中斷。然後,一軟體中斷處置器可執行由資料處理系統10之該軟體程式器確定之各種所需之活動。
在一外部除錯模式中,外部除錯電路14可指派有除錯暫存器42之共用除錯暫存器之所有權,且當發生一經組態之除錯事件時,處理器12可進入一停止狀態且等待一欲由外部除錯電路14提供之命令。當啟用外部除錯模式時,軟體不再具有該等共用除錯資源之控制。在某些實施例中,除錯暫存器42包含位於處理器12內之除錯暫存器42內或別處之外部除錯控制暫存器,其可不係使用者之軟體程式化模型之一部分。亦即,執行於處理器12上之軟體可不具有可見的外部除錯控制暫存器。外部除錯電路14可直接經由可係(例如)可實施為一JTAG TAP埠之除錯埠(如圖2中所示)來存取該等共用除錯資源及任何專用外部除錯資源。在一項實施例中,除錯暫存器42及外部除錯控制暫存器可映射為具有暫存器選擇編碼之JTAG資料暫存器,該等暫存器選擇編碼含納於用於各種JTAG指令之一或多個欄位中,該等JTAG指令提供由除錯器透過JTAG IR及DR作業對暫存器之讀取及寫入存取。
以舉例而非限定方式,本文現總結條件除錯型指令之兩項實例,其中依據其一給定例項在記憶體中出現之可由一處理器定址之位址,可合格認定(使用本文中所闡述之技術)該給定例項之作業。該等實例係由處理器核心(例如,可自飛思卡爾半導體購得之e700/e500及e200核心系列之核心,其用於例如自動微控制器(MCU)之MPC5000系列之成本敏感型嵌入式即時應用)所實施之除錯通知停止(dnh)指令及中斷點指令編碼。
該dnh指令在一非停止模式中之核心上之指令之執行與一外部除錯設施之後續作業之間提供一橋接。特定而言,該dnh指令允許軟體將該核心自一運行狀態轉換至一停止狀態(若由一外部除錯器啟用),且用在該指令自身中所編碼之一訊息及若干位元兩者來通知該外部除錯器。如通常所實施,由於由可設定於除錯控制暫存器(參見如圖2之除錯暫存器42)中之某些指示之狀態來確定dnh指令之運行時間效應,因此該dnh指令係一條件除錯指令。舉例而言,在一項實施方案中,若一DNH_NOP指示由該外部除錯設施或由軟體設定且一DNH_EN指示係已清除,則dnh指令例項被執行為無作業指令(nop)。若一DNH_WPT指示被設定,則一觀察點可被發出至CPU之外部。
當需要時,粗粒度控制機制(如,該DNH_NOP及DNH_EN指示之適當使用)允許該dnh指令被當作一nop,而非停止處於一除錯狀態中之處理器或發生一非法指令例外狀況。此控制允許dnh指令在程式碼開發之後保持嵌入於該應用程式之程式碼圖像中,但由於僅充當nop作業而保持無害。以此方式,由於分支目標、頁邊界及其他指令關係保持不變,因此該程式碼圖像自身不需要改變,且提供可預測之執行。然而,一dnh型指令之所有(或甚至一整個群組之)例項之粗粒度控制皆不可提供充分的粒度來允許穩定程式碼中之一dnh指令例項被當做一nop,而同時允許另一dnh指令例項運作為一停止或觀察點。
應注意,2007年10月12日提出申請,標題為「用於一資料處理系統中之除錯指令」且發明者名稱為Moyer、Snyder及Whisenhunt之共同擁有的美國申請案第11/871,847號揭示先前所闡述之dnh指令之一dnh2變型,其中該dnh2指令格式允許個別dnh2指令例項與一有限數目之控制群組中之一者相關聯,以使得群組專用控制機制(如,群組專用GROUPx.DNH_NOP及GROUPx.DNH_EN指示之使用)可用以針對每一群組確定適當的執行語意。雖然本文依據本文之闡述而闡釋性地著重於該dnh指令,但熟習此項技術者將瞭解,本文所闡述之該等經位址合格認定之除錯控制可應用於實施指令變型(例如,該dnh2指令)之設計。
類似地,在本發明之某些實施例中一中斷點(bkpt)指令可作為一提供有位址合格認定之除錯指令而被採用。在某些指令設定實施方案中,雖然一中斷點指令可不由該指令設定架構(ISA)明確定義,但可實施為一非法指令作業碼,其一旦被執行,則產生一可經分派以供一除錯設施處置之例外狀況或故障。在某些ISA及實施方案中,可定義及提供一bkpt指令作業碼(或某些類似指令編碼)。出於闡述清晰且不限制或漏失概述起見,參考一好像其係一經定義之指令設定編碼(如,一bkpt指令)之中斷點指令。
如先前所述,當需要時,粗粒度控制機制允許該bkpt指令被當做一nop,而非停止處於一除錯狀態中之處理器。此控制允許bkpt指令在程式碼開發之後保持嵌入於該應用程式之程式碼圖像中,但由於僅充當nop作業而保持無害。如先前所述,由於分支目標、頁邊界及其他指令關係保持不變,因此可提供可預測之執行。然而,亦如先前所述,一bkpt指令之所有(或一群組)例項之粗粒度控制不可提供充分的粒度來允許穩定程式碼中之一bkpt指令例項被當做一nop,而同時允許另一bkpt指令例項運作為一中斷點。
因此,本文闡述可藉以採用位址之除錯指令例項之合格認定來特殊化dnh、bkpt及/或其他除錯型指令之特定例項之行為之技術。依據本文之闡述,熟習此項技術者將瞭解實施相似或類似除錯指令之處理器及系統之各種應用。
圖3係圖解闡釋一根據本發明之一或多項實施例之經位址合格認定之條件除錯技術之設置及作業之一流程圖。在該圖式之左側,圖解闡釋一用於經位址合格認定之條件除錯之設置301序列。舉例而言,在某些實施例中,個別程式碼區塊被認為(311)用於停用(或啟用)其中出現之諸如dnh、dnh2、bkpt等除錯型指令例項。作為一大體見解,程式碼區塊可係任一適合粒度且可對應於功能、程序、模組、指令之子序列等。設置序列301使用由位址限定符之存放區310提供之任一粒度來儲存對應的頁框識別符、區段識別符、區域識別符(例如,如基底位址/遮罩對)及/或用於改變個別除錯指令例項之作業或行為之任何其他依據位址之限定符。
在例如處理器12(回顧圖2)之一處理器上之程式碼執行(302)期間,通常自記憶體或快取中提取每一指令(或指令群組)來為與程式定序一致之指令(或多個指令)之解碼及最終執行做準備。對於除錯指令例項,對照存放區310中之依據位址之限定符檢查(322)記憶體中發現該特定例項之特定記憶體位址。若存放區310中所指示之記憶體位址之一頁、區段或範圍與該除錯型指令例項之該特定記憶體位址匹配(323),則抑制(324)用於彼指令例項之除錯執行語意。一般而言,由一指令提取或解碼單元(如,參見圖2,指令提取單元26、指令解碼器22)將該匹配指令例項替代為nop指令作業碼,但若需要亦可採用其他抑制機制。最後,可執行該對應指令(其中除錯執行語意被抑制)(325)。
圖4圖解闡釋本發明之一或多項實施例之作業,其中使用記憶體分頁系統之屬性來促進依據一特定除錯指令例項之記憶體位址之條件除錯作業。如先前所闡釋,依據自除錯硬體及/或軟體供應之指示而在一存放區中表示依據位址之限定符。更特定而言,在圖4之圖解闡釋中,在共同圖解闡釋為頁轉譯410之一或多個分頁記憶體管理儲存(如,頁表、轉譯旁視緩衝器(TLB)項目等)中供應(405)及編碼除錯相關之頁框屬性。熟習此項技術者將瞭解用於MMU 450,且更大體而言,用於一分頁記憶體管理系統之各種適合的實施方案中之任一者。為清晰起見且不限制適合之實施方案之範圍,本文僅圖解闡釋一與本文技術之一圖解闡釋相關之經簡化分頁系統之彼等態樣。
依照慣例,MMU 450提供虛擬位址(如,指令提取位址427)至可定址儲存器(如,對應於記憶體及/或快取420中之位置471之實體位址499)中之實體位址之轉譯。與該記憶體分頁系統之圖解闡釋一致,可定址儲存器被視為處於頁框粒度級處,以使得使用頁轉譯410將一對應於虛擬位址498之頁框映射至實體位址空間中之一對應頁(如,實體頁458)。亦依照慣例,頁屬性411經編碼而與映射412相關聯。舉例而言,在某些記憶體分頁系統實施方案中,可將直寫(W)、快取抑制(I)、所要求記憶體一致性(M)、保護(G)及字節序(E)屬性規定為與個別轉譯相關聯之頁屬性411內之組成指示。為支援本文之經位址合格認定之條件除錯技術,將一額外除錯停用(D)屬性添加至頁屬性411,其(在某些實施方案中)可使用在分頁系統實施方案中特別定義之一屬性或(在其他實施方案中)使用一另外的未分配之使用者可定義之頁屬性來提供。無論該特定編碼如何,皆使用自頁轉譯410(其與儲存在經定址位置471處之一特定除錯型指令例項之提取相關)所擷取之特定除錯停用(D)指示413來確定用於該所提取指令例項之執行語意。
在圖4之圖解闡釋中,虛擬至實體頁轉譯418及419對應於實體位址空間中之相應的實體頁458及459。因此,依據設定(405)於頁轉譯410中之對應除錯停用(D)指示,用nop語意執行自頁458及459內之實體位址所提取之除錯型指令例項。出於圖解闡釋之目的,在該所圖解闡釋之實施例中,假定一經設定之除錯停用(D)指示413指示應用nop語意來執行一對應除錯型指令。當然,可採用其他編碼意義。
大體而言,nop語意可以各種方式中之任一者來提供。舉例而言,MMU 450可對所提取之除錯型指令例項(或快取線或其中出現該除錯型指令例項之其他提取單元)作註解(452)以對其作出標記以隨後在沿一指令路徑之一合適點處予以替代(或超載)。特定而言,如此註解之一除錯型指令例項之作業碼可用指令提取單元426(如,在453處)中或指令解碼器422(如,在454處)中之一nop指令作業碼替換(或超載)。另一選擇係,MMU 450可自身替代或超載該nop指令作業碼,雖然此意味著在一記憶體管理單元中通常不提供之一指令設定知識位準。
圖5圖解闡釋本發明之一或多項實施例之作業,其中使用一區段或區域標記技術來促進依據一特定除錯指令例項之記憶體位址之條件除錯作業。如先前所述,在依據自除錯硬體及/或軟體供應(505)之指示之儲存器中表示依據位址之限定符。更特定而言,在圖5之圖解闡釋中,使用位址基底/遮罩對(511...512)來標記記憶體及/或快取518中所表示之可定址儲存器之對應區段或區域(561、562)。使用一組比較器(516...517)比較指令提取位址527與位址基底/遮罩對,且依據一匹配供應一指示513,其導致該(等)對應除錯型指令例項之註解(552)及/或替代/超載(在沿一指令路徑之一合適點處)。
在圖5之圖解闡釋中,依據指令提取位址527與位址基底/遮罩對(511...512)中之一或多者之對應而抑制自可定址記憶體中之位置571擷取之指令例項之除錯型執行語意。與先前之闡述一致,假定位址基底/遮罩對指示欲用nop語意執行一對應除錯型指令,但亦可採用其他編碼意義。如先前所述,沿該指令路徑之合適點包含一提取單元或指令解碼器。
在先前實例之基礎上,圖6圖解闡釋本發明之一或多項實施例之作業,其中記憶體分頁系統與標記技術之一組合被採用以促進依據位址之條件除錯作業。如先前所述,在依據自除錯硬體及/或軟體供應(605)之指示之儲存器中表示依據位址之限定符。然而,在圖6之圖解闡釋中,供應頁框屬性及位址基底/遮罩對兩者。如先前所述,在共同圖解闡釋為頁轉譯610之一或多個分頁記憶體管理儲存(如,頁表、轉譯旁視緩衝器(TLB)項目等)中編碼頁框屬性。特定而言,其項目618(其對應於指令提取位址627)提供將頁658識別為其中駐存有位置671(及所提取之除錯指令)之可定址記憶體中之該頁之轉譯。
在圖6之圖解闡釋中,使用位址基底/遮罩對(如,位址基底/遮罩對611)來標記頁658內之對應區域661及進一步限定可定址儲存器中除錯型執行語意欲被抑制的部分。特定而言,圖6圖解闡釋下列兩者之一AND組合(參見邏輯699):(i)在指令提取位址627與位址基底/遮罩對611之內容之間的一比較(616)之結果;及(ii)自頁轉譯610(與儲存在經定址位置471上之一特定除錯型指令例項之該對應提取相關)所擷取之除錯停用(D)指示613。因此,該所圖解闡釋之組態提供一機制,其用於將除錯執行語意欲被抑制之記憶體位置組侷限為出現在具有除錯停用(D)指示之頁中之一子組記憶體位址。
當然,頁及區域指示符之其他組合亦係可能及可構想的。舉例而言,在一項變型中,一NOT-AND組合可用於將匹配位址基底/遮罩對611之可定址位置自另外歸屬於一頁(已針對其編碼一除錯停用(D)指示)之覆蓋範圍內之位置中排除。類似地,在另一變型中,一OR組合可用於包含匹配位址基底/遮罩對611或歸屬於一頁(已針對其編碼一除錯停用(D)指示)之覆蓋範圍內之可定址位置。此外,雖然本文圖解闡釋兩個輸入之一簡單、單級組合,但若需要可採用較大數目之輸入及更複雜之組合方案。在每一情況下,皆可執行對對應除錯型指令例項之註解(如,652)及/或替代/超載(在沿一指令路徑之一合適點處)。
參照圖6之特定圖解闡釋,依據指令提取位址627與(i)轉譯610(其中出現一組除錯停用(D)指示613)之一項目(618)及(ii)位址基底/遮罩對(611)之內容兩者之對應來抑制自可定址記憶體中之位置671擷取之指令例項之除錯型執行語意。與先前所述一致,假定該除錯停用(D)指示及位址基底/遮罩對涵蓋欲用nop語意執行之除錯型指令例項,但亦可採用其他編碼意義。亦如先前所述,沿該指令路徑之用於以一nop作業碼進行替代/超載之合適點包含一提取單元或指令解碼器。
處理程序識別符(PID)或位址空間識別符(ASID)通常被採用於處理器實施方案中且可用以提供具有其自身的唯一虛擬位址空間之每一執行處理程序。因此,在本發明之某些實施例中,此一PID或ASID欄位值之所有或一部分可用於一比較,該比較建立期望除錯型或nop執行語意之一組位址。舉例而言,PID或ASID欄位值之此一使用可包含(或排除)歸屬於一虛擬位址空間之彼等位址,該虛擬位址空間與為其規定特定執行語意之一組中(或來自該組)之一特定處理程序或執行緒相關聯。
在本發明之某些實施例中,可採用虛擬化技術。虛擬化通常在不同的位址空間中建立相互獨立運作之邏輯分割區。舉例而言,某些多執行緒處理器實施方案,可將每一虛擬處理器指派給一邏輯分割區。類似地,在一多處理器系統中,可將每一實體處理器指派給一邏輯分割區。大體而言,邏輯分割區指派可由指派分割區ID(LPID)值來進行。一分割區ID值形成該虛擬位址之一延伸且可在位址轉譯期間用以與用於每一TLB項目之邏輯分割區值進行匹配。因此,在本發明之某些實施例中,一LPID欄位值之所有或一部分可被包含在內作為範圍比較邏輯的一輸入以允許進一步規定一或多個虛擬位址空間或分割區。
大體而言,可單獨地或結合參照圖3-6所圖解闡釋或闡述之查找或比較來採用位址空間比較(不論係依據PID、ASID或LPID欄位值之使用抑或基於某一虛擬化設施)。可論證地,可藉由在對應於一位址空間之彼等頁上標記適當的頁屬性來提供類似功能性;然而,對該等頁做標記/去標記可係費時或不方便的。因此,在某些實施例中,先前所述之替代方案係有吸引力的。
儘管本文已參照特定實施例闡述了本發明,但可在不背離如下文申請專利範圍中所述之本發明之範疇之情況下做出各種修改及改變。舉例而言,儘管已在某些闡釋性除錯指令及記憶體架構之上下文中闡述了多個技術,但本文之技術並不一定僅限於此。同樣,在一項實施例中,除錯指令之一分類慮及將除錯指令分組成若干獨立群組,其中每一群組具有對在執行時欲採取之該(等)動作之獨立控制,藉此提供額外的除錯靈活性。此等群組可被獨立地控制,且所引起之動作可由一硬體或軟體除錯器來動態地修改。亦可採用本發明之技術來提供用於群組限定之除錯指令之位址合格認定。
本發明之實施例可使用各種不同資訊處理系統中之任一者來實施。因此,儘管圖1及2以及其隨附說明與例示性資料處理系統及處理器架構有關,但此等例示性架構僅係闡釋性。當然,出於論述之目的,本文已簡化了架構說明,且熟習此項技術者將認識到,邏輯區塊或組件之間的所圖解闡釋之邊界僅係闡釋性,且替代實施例可合併邏輯區塊或電路元件且/或將一替代功能性分解強加於各種邏輯區塊或電路元件上。
一般而言,實施本發明之物件、系統及裝置由熟習此項技術者所知曉及本文所功能性地闡述之電子組件、電路及/或程式碼(如,軟體、韌體及/或微碼)組成。因此,必要詳細地闡釋組件、電路及程式碼細節以達成清晰及具體之目的且促進對本發明之基本概念之一理解及瞭解。在某些情況下,使用此項技術中已知特點、結構、組件或實施技術之一概括性闡述以便避免自本發明之教示之模糊或困惑。
大體而言,本文使用術語「程式」及/或「程式碼」來闡述經設計以用於在一電腦系統上之執行之一指令序列或指令集。同樣,此等術語可包含或包括次常式、函數、程序、物件方法、軟體方法之實施方案、介面或物件、可執行應用程式、小型應用程式(applets)、伺服小型應用程式(servlets)、源、物件或中間碼、共用及/或動態載入/鏈接庫及/或經設計以用於一電腦系統上之執行之其他指令序列或群組。
本文中所闡述之所有或某些程式碼,以及本文中所闡述之資訊處理系統之任一軟體實施功能性可由一資訊處理系統之元件存取或接收,例如,自電腦可讀媒體或經由其他系統。大體而言,電腦可讀媒體可永久地、可移除地或遠程地耦合至一資訊處理系統。電腦可讀媒體可包含(例如且不限於)任一數目之以下各項:包含磁碟及磁帶儲存媒體之磁儲存媒體;光儲存媒體(例如,壓縮磁碟媒體(如,CD-ROM、CD-R等)及數位視訊磁碟儲存媒體);包含依據半導體之記憶體單元(例如,FLASH記憶體、EEPROM、EPROM、ROM)之非揮發性記憶體儲存媒體;鐵磁數位記憶體;MRAM;包含暫存器、緩衝器或快取、主記憶體、RAM等之揮發性儲存媒體;及附帶資料傳輸的媒體,該資料傳輸包含經由電腦網路、點對點電信設備及載波或信號之傳輸,只是僅舉幾例。
最後,應以一闡釋性而非限定性意義來看待本說明及附圖,且與本文之闡述一致,可構想各種各樣的變化、修改及延伸。本文結合特定實施例所闡述之任何益處、優點或問題之解決方案並非意欲被理解為任何或所有申請專利範圍之關鍵、必需或基本特徵或要素。
10...資料處理系統
12...處理器
14...外部除錯電路
16...I/O模組
18‧‧‧記憶體
20‧‧‧匯流排
22‧‧‧指令解碼器
24‧‧‧執行單元
26‧‧‧指令提取單元
28‧‧‧控制電路
30‧‧‧通用暫存器
32‧‧‧載入/儲存單元
34‧‧‧匯流排介面單元
36‧‧‧記憶體管理單元
37‧‧‧快取
40‧‧‧內部除錯電路
42‧‧‧除錯暫存器
44‧‧‧除錯控制電路
420‧‧‧記憶體/快取
422‧‧‧指令解碼器
426‧‧‧指令提取單元
450‧‧‧記憶體管理單元
458‧‧‧實體頁
459‧‧‧實體頁
516‧‧‧比較器
517‧‧‧比較器
518‧‧‧記憶體/快取
561‧‧‧區段/區域
562‧‧‧區段/區域
熟習此項技術者藉由參考附圖可更好地瞭解本發明及明瞭其眾多目的、特徵及優點。
圖1係一根據本發明之一或多項實施例之資料處理系統之一方塊圖。
圖2係一根據本發明之一或多項實施例之處理器之一方塊圖。
圖3係圖解闡釋本發明之一或多項實施例之經位址合格認定之條件除錯作業之一流程圖。
圖4圖解闡釋使用記憶體分頁系統屬性來促進依據位址之條件除錯作業之本發明之一或多項實施例之作業。
圖5圖解闡釋使用一區段或區域標記技術來促進依據位址之條件除錯作業之本發明之一或多項實施例之作業。
圖6圖解闡釋本發明之一或多項實施例之作業,其中記憶體分頁系統與區段或區域標記技術之一組合被採用以促進依據位址之條件除錯作業。
在不同圖示中,使用相同之參考符號來指示相似或相同之物項。
12‧‧‧處理器
20‧‧‧匯流排
22‧‧‧指令解碼器
24‧‧‧執行單元
26‧‧‧指令提取單元
28‧‧‧控制電路
30‧‧‧通用暫存器
32‧‧‧載入/儲存單元
34‧‧‧匯流排介面單元
36‧‧‧記憶體管理單元
37‧‧‧快取
40‧‧‧內部除錯電路
42‧‧‧除錯暫存器
44‧‧‧除錯控制電路
Claims (20)
- 一種使用除錯指令之方法,其包括:在一處理器上執行程式碼,該程式碼包含一相同除錯指令之至少第一例項及第二例項;及依據該等除錯指令例項中之個別例項在記憶體中可由該處理器定址之相應位址選擇其一執行模式,其中依據該等相應位址,該第一除錯指令例項用無作業(NOP)語意執行,且該第二除錯指令例項用除錯相關之語意執行。
- 如請求項1之方法,其中該選擇包含:檢查在其中駐存有該除錯指令之一特定例項的一記憶體頁之一除錯屬性;及至少部分地依據該除錯屬性,選擇該無作業(NOP)語意與該除錯相關之語意中之一者。
- 如請求項2之方法,其進一步包括:維持該除錯屬性與虛擬至實體頁映射資訊相關。
- 如請求項1之方法,其中該選擇包含:比較該除錯指令之一特定例項之一記憶體位址與限定該記憶體之一或多個相應部分之一或多個存放區之內容;及至少部分地依據該記憶體位址與一所限定部分之對應,選擇該無作業(NOP)語意與該除錯相關之語意中之一者。
- 如請求項1之方法,其中該選擇包含: 執行一頁屬性之檢查及對照記憶體之所限定部分之一比較兩者;及依據該頁屬性檢查與所限定部分比較之一組合,選擇該無作業(NOP)語意與該除錯相關之語意中之一者。
- 如請求項1之方法,其中該選擇停用該除錯指令之另外的運作的除錯相關之語意。
- 如請求項1之方法,其中該選擇啟用該除錯指令之另外潛在的除錯相關之語意。
- 如請求項1之方法,其進一步包含:根據NOP語意之該依據位址之選擇來解碼該第一除錯指令例項以產生一NOP指令;及執行該NOP指令。
- 如請求項1之方法,其中該除錯指令係選自包含或實施以下中之一或多者之功能性之一指令集:一除錯通知停止(DNH)指令;一中斷點或觀察點指令;及一除錯例外狀況。
- 一種控制一處理器之除錯行為之方法,該方法包括:識別一記憶體之第一及第二位址限定部分,其中駐存於該記憶體之一除錯型指令之例項欲由該處理器以不同語意予以執行;及將與該第一位址限定部分及該第二位址限定部分一致 之一機器可讀編碼傳達至可供該處理器存取之儲存器,其中依據該等經傳達之位址限定部分與該除錯型指令之所執行例項之該記憶體中之相應位址之間的一比較,該處理器之邏輯對於執行語意係選擇性的。
- 如請求項10之方法,其中該傳達係經由一外部除錯介面或依據可在該處理器上執行之軟體。
- 如請求項10之方法,其進一步包括:在該處理器上執行程式碼,該程式碼包含該除錯指令之至少第一及第二例項,其中依據該等經傳達之位址限定部分及該第一除錯指令例項與該第二除錯指令例項之相應位址,該第一除錯指令例項以無作業(NOP)語意執行,且該第二除錯指令例項以除錯相關之語意執行。
- 如請求項10之方法,其中該邏輯回應於一組記憶體頁相關聯之除錯屬性及該處理器之一或多個位址限定除錯暫存器中之任一者或兩者。
- 一種使用除錯指令之裝置,其包括:一處理器,其執行一包含一除錯型指令之指令集;及該處理器之邏輯,其依據該除錯型指令之相應例項在記憶體中可由該處理器定址之相應位址而對於該相應例項之一相應執行模式具有選擇性。
- 如請求項14之裝置,其進一步包括:一記憶體管理單元,其維持與頁映射資訊、記憶體頁 之一除錯屬性相關聯,其中關於該除錯型指令之一特定例項,對於執行模式具有選擇性之該邏輯回應於其上駐存有該特定除錯型指令例項之該記憶體頁之該除錯屬性。
- 如請求項14之裝置,其進一步包括:該處理器之一或多個機器可讀存放區,其可寫入以識別該記憶體之相應的一或多個位址限定部分,其中關於該除錯型指令之一特定例項,對於執行模式具有選擇性之該邏輯回應於該等機器可讀存放區之內容與其上駐存有該特定除錯型指令例項之一記憶體位址之間的一比較。
- 如請求項14之裝置,其中依據其相應位址,該除錯型指令之一第一例項以無作業(NOP)語意執行,且其中依據其相應位址,該除錯型指令之一第二例項以除錯相關之語意執行。
- 如請求項14之裝置,其進一步包括:一記憶體管理單元,其維持與頁映射資訊、記憶體頁之一除錯屬性相關聯;及該處理器之一或多個機器可讀存放區,其可寫入以識別該記憶體之相應的一或多個位址限定部分,其中關於該除錯型指令及其在該記憶體中之位址之一特定例項,對於執行模式具有選擇性之該邏輯回應於該相關聯除錯屬性與該記憶體之該等位址限定部分兩者之 間的一組合。
- 如請求項18之裝置,其中該組合之特徵在於:該頁相關聯之除錯屬性與記憶體之該等位址限定部分中之一者皆對於除錯相關之語意具有選擇性。
- 如請求項18之裝置,其中該組合之特徵在於:該頁相關聯之除錯屬性或記憶體之該等位址限定部分中之一者對於除錯相關之語意具有選擇性。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/049,984 US8261047B2 (en) | 2008-03-17 | 2008-03-17 | Qualification of conditional debug instructions based on address |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200945022A TW200945022A (en) | 2009-11-01 |
TWI464576B true TWI464576B (zh) | 2014-12-11 |
Family
ID=41064277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098104740A TWI464576B (zh) | 2008-03-17 | 2009-02-13 | 使用除錯指令之方法、裝置及控制處理器之除錯行為之方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8261047B2 (zh) |
JP (1) | JP5335887B2 (zh) |
CN (1) | CN101946232B (zh) |
TW (1) | TWI464576B (zh) |
WO (1) | WO2009117178A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI659361B (zh) * | 2018-01-09 | 2019-05-11 | 國立中央大學 | 支援多執行緒/並行程式除錯之方法、電腦可讀取之記錄媒體及電腦程式產品 |
TWI790506B (zh) * | 2020-11-25 | 2023-01-21 | 凌通科技股份有限公司 | 開發介面系統與在開發介面進行大量資料傳輸方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6858615B2 (en) | 2002-02-19 | 2005-02-22 | Parion Sciences, Inc. | Phenyl guanidine sodium channel blockers |
AR086745A1 (es) | 2011-06-27 | 2014-01-22 | Parion Sciences Inc | 3,5-diamino-6-cloro-n-(n-(4-(4-(2-(hexil(2,3,4,5,6-pentahidroxihexil)amino)etoxi)fenil)butil)carbamimidoil)pirazina-2-carboxamida |
US8700955B2 (en) * | 2011-09-22 | 2014-04-15 | Freescale Semiconductor, Inc. | Multi-processor data processing system having synchronized exit from debug mode and method therefor |
EP3150585A1 (en) | 2012-12-17 | 2017-04-05 | Parion Sciences, Inc. | Chloro-pyrazine carboxamide derivatives with epithelial sodium channel blocking activity |
AU2013363215B2 (en) | 2012-12-17 | 2018-03-01 | Parion Sciences, Inc. | 3,5-diamino-6-chloro-N-(N-(4-phenylbutyl)carbamimidoyl) pyrazine-2- carboxamide compounds |
US9330011B2 (en) * | 2013-09-20 | 2016-05-03 | Via Alliance Semiconductor Co., Ltd. | Microprocessor with integrated NOP slide detector |
US9411745B2 (en) * | 2013-10-04 | 2016-08-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
US9102633B2 (en) | 2013-12-13 | 2015-08-11 | Parion Sciences, Inc. | Arylalkyl- and aryloxyalkyl-substituted epithelial sodium channel blocking compounds |
US9600505B2 (en) * | 2014-09-23 | 2017-03-21 | Sap Se | Code optimization based on customer logs |
TWI566090B (zh) * | 2014-10-17 | 2017-01-11 | Insyde Software Corp | Debugging firmware / software to produce tracking systems and methods, recording media and computer program products |
US10496410B2 (en) * | 2014-12-23 | 2019-12-03 | Intel Corporation | Instruction and logic for suppression of hardware prefetchers |
US9886194B2 (en) * | 2015-07-13 | 2018-02-06 | Samsung Electronics Co., Ltd. | NVDIMM adaptive access mode and smart partition mechanism |
GB2540942B (en) * | 2015-07-31 | 2019-01-23 | Advanced Risc Mach Ltd | Contingent load suppression |
US11074988B2 (en) * | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10628288B2 (en) | 2016-07-22 | 2020-04-21 | International Business Machines Corporation | Debugger that correlates differing values to system environments in a distributed system |
US10191836B2 (en) | 2016-12-28 | 2019-01-29 | Nxp Usa, Inc. | Software watchpoints apparatus for variables stored in registers |
US10599555B2 (en) | 2017-09-20 | 2020-03-24 | Texas Instruments Incorporated | Context-sensitive debug requests for memory access |
US11010280B1 (en) * | 2019-03-13 | 2021-05-18 | Parallels International Gmbh | System and method for virtualization-assisted debugging |
CN111898120B (zh) * | 2020-06-29 | 2023-10-10 | 中国科学院信息工程研究所 | 控制流完整性保护方法及装置 |
TWI764581B (zh) * | 2021-02-22 | 2022-05-11 | 群聯電子股份有限公司 | 記憶體檢查方法、記憶體檢查裝置及記憶體檢查系統 |
CN112820341B (zh) * | 2021-03-03 | 2024-05-07 | 群联电子股份有限公司 | 存储器检查方法、存储器检查装置及存储器检查*** |
GB2605796B (en) * | 2021-04-13 | 2023-06-28 | Advanced Risc Mach Ltd | Apparatus and method for generating debug information |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240820A1 (en) * | 2004-03-31 | 2005-10-27 | Vannerson Eric F | Method and apparatus for multiprocessor debug support |
US20050289396A1 (en) * | 2004-06-25 | 2005-12-29 | Hooper Donald F | Conditional breakpoint using breakpoint function and breakpoint command |
US7047520B2 (en) * | 2001-10-25 | 2006-05-16 | International Business Machines Corporation | Computer system with watchpoint support |
TW200636733A (en) * | 2005-02-25 | 2006-10-16 | Freescale Semiconductor Inc | Method and apparatus for qualifying debug operation using source information |
CN1869952A (zh) * | 2005-05-27 | 2006-11-29 | 松下电器产业株式会社 | 指令执行设备、调试方法、调试设备以及调试程序 |
US7168067B2 (en) * | 2002-02-08 | 2007-01-23 | Agere Systems Inc. | Multiprocessor system with cache-based software breakpoints |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2211638A (en) | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
JPS6476233A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Tracing device |
JPH02214949A (ja) * | 1989-02-16 | 1990-08-27 | Nec Corp | システム資源の使用状態表示装置 |
US5491793A (en) | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
JPH1011320A (ja) * | 1996-06-19 | 1998-01-16 | Matsushita Electric Ind Co Ltd | 計算機等の処理装置におけるromプログラムモニタ装置 |
US6289300B1 (en) | 1998-02-06 | 2001-09-11 | Analog Devices, Inc. | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
JP2000235510A (ja) * | 1999-02-15 | 2000-08-29 | Hitachi Ltd | プロセッサおよびそのためのコンパイルプログラム記録媒体 |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
US6834338B1 (en) | 2000-02-18 | 2004-12-21 | Texas Instruments Incorporated | Microprocessor with branch-decrement instruction that provides a target and conditionally modifies a test register if the register meets a condition |
WO2001063434A1 (en) * | 2000-02-24 | 2001-08-30 | Bops, Incorporated | Methods and apparatus for dual-use coprocessing/debug interface |
JP2002189613A (ja) * | 2000-12-21 | 2002-07-05 | Toshiba Corp | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP1736881A1 (en) * | 2005-06-15 | 2006-12-27 | Research In Motion Limited | Controlling collection of debugging data |
JP2007058731A (ja) | 2005-08-26 | 2007-03-08 | Matsushita Electric Ind Co Ltd | プロセッサ、及び並列命令実行対応デバッグ装置 |
-
2008
- 2008-03-17 US US12/049,984 patent/US8261047B2/en active Active
-
2009
- 2009-02-02 WO PCT/US2009/032793 patent/WO2009117178A1/en active Application Filing
- 2009-02-02 CN CN200980106158.4A patent/CN101946232B/zh active Active
- 2009-02-02 JP JP2011500821A patent/JP5335887B2/ja not_active Expired - Fee Related
- 2009-02-13 TW TW098104740A patent/TWI464576B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047520B2 (en) * | 2001-10-25 | 2006-05-16 | International Business Machines Corporation | Computer system with watchpoint support |
US7168067B2 (en) * | 2002-02-08 | 2007-01-23 | Agere Systems Inc. | Multiprocessor system with cache-based software breakpoints |
US20050240820A1 (en) * | 2004-03-31 | 2005-10-27 | Vannerson Eric F | Method and apparatus for multiprocessor debug support |
US20050289396A1 (en) * | 2004-06-25 | 2005-12-29 | Hooper Donald F | Conditional breakpoint using breakpoint function and breakpoint command |
TW200636733A (en) * | 2005-02-25 | 2006-10-16 | Freescale Semiconductor Inc | Method and apparatus for qualifying debug operation using source information |
CN1869952A (zh) * | 2005-05-27 | 2006-11-29 | 松下电器产业株式会社 | 指令执行设备、调试方法、调试设备以及调试程序 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI659361B (zh) * | 2018-01-09 | 2019-05-11 | 國立中央大學 | 支援多執行緒/並行程式除錯之方法、電腦可讀取之記錄媒體及電腦程式產品 |
TWI790506B (zh) * | 2020-11-25 | 2023-01-21 | 凌通科技股份有限公司 | 開發介面系統與在開發介面進行大量資料傳輸方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5335887B2 (ja) | 2013-11-06 |
CN101946232B (zh) | 2014-11-26 |
US8261047B2 (en) | 2012-09-04 |
CN101946232A (zh) | 2011-01-12 |
US20090235059A1 (en) | 2009-09-17 |
WO2009117178A1 (en) | 2009-09-24 |
TW200945022A (en) | 2009-11-01 |
JP2011514606A (ja) | 2011-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI464576B (zh) | 使用除錯指令之方法、裝置及控制處理器之除錯行為之方法 | |
US8261130B2 (en) | Program code trace signature | |
US10318407B2 (en) | Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus | |
JP4094724B2 (ja) | ソフトウェアをデバッグする際に例外を識別するための装置および方法 | |
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US8997059B2 (en) | Reverse debugging | |
JP2009176297A (ja) | 診断コンテキストの構成および比較 | |
CN108351826B (zh) | 监视处理器的操作 | |
TW202030615A (zh) | 範圍檢查指令 | |
KR102025078B1 (ko) | 단일 스텝 실행을 이용한 코드 진단 | |
JP2013058217A (ja) | プロセッサ命令セット動作モードを比較するデバッグ回路 | |
US20110154111A1 (en) | Memory Based Hardware Breakpoints | |
JP5841199B2 (ja) | 安全保護方法およびプロセッサ | |
KR940003318B1 (ko) | 캐시 메모리를 구비한 프로세서 | |
TW201712531A (zh) | 偶發載入的抑制 | |
US11030075B2 (en) | Efficient register breakpoints | |
US9170920B2 (en) | Identifying and tagging breakpoint instructions for facilitation of software debug | |
TW201941064A (zh) | 控制在記憶體存取中的保護標籤檢查 | |
JP7317099B2 (ja) | ガード・タグ紛失の取り扱い | |
US20120204067A1 (en) | Integrated circuits and methods for debugging | |
KR20210130197A (ko) | 하이퍼바이저에 대한 조건부 산출 명령 | |
CN106990939B (zh) | 修改数据处理单元的行为 | |
US20150186140A1 (en) | Opcode trapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |