TWI750190B - 診斷資料擷取 - Google Patents

診斷資料擷取 Download PDF

Info

Publication number
TWI750190B
TWI750190B TW106120553A TW106120553A TWI750190B TW I750190 B TWI750190 B TW I750190B TW 106120553 A TW106120553 A TW 106120553A TW 106120553 A TW106120553 A TW 106120553A TW I750190 B TWI750190 B TW I750190B
Authority
TW
Taiwan
Prior art keywords
address
processing operation
diagnostic
diagnostic data
circuitry
Prior art date
Application number
TW106120553A
Other languages
English (en)
Other versions
TW201802670A (zh
Inventor
麥克約翰 威廉斯
Original Assignee
英商Arm股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英商Arm股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW201802670A publication Critical patent/TW201802670A/zh
Application granted granted Critical
Publication of TWI750190B publication Critical patent/TWI750190B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

基於取樣間隔監控及位址監控來執行在用於處理資料之裝置2內的診斷資料的統計取樣。程式指令當其滿足取樣間隔準則及位址匹配準則時儲存其診斷資料。位址匹配可對應於程式指令之指令位址或由程式指令來讀取或寫入之目標位址。

Description

診斷資料擷取
本揭示案係關於資料處理系統之領域。更特定而言,本揭示案係關於在資料處理系統內之診斷資料之擷取。
日益複雜之資料處理系統之重要特徵為,該等系統包括用於擷取診斷資料之機構及支援,以便可識別及解決在硬體及軟體中之錯誤。期望診斷資料之擷取應不會妨害資料處理系統之正常操作。例如,如若擷取診斷資料顯著地減緩資料處理系統之操作,則這可導致一些速度相關錯誤,當該等錯誤在正常使用中發生時在診斷資料擷取期間不發生,或者當該等錯誤在正常使用期間不發生時在診斷資料擷取期間發生。此外,期望診斷資料之擷取所需的儲存器之數量及其他資源應該少,因為此等表示當不需要診斷資料擷取時在資料處理系統之部署操作期間不會正常使用的額外負擔。
本揭示案之至少一些實施例提供用於處理資料之裝置,包含: 診斷資料擷取電路系統,用以控制將取樣診斷資料儲存至診斷資料緩衝器,其特徵為發生以下時在處理操作串流內之取樣處理操作: 該取樣處理操作與先前取樣處理操作由與預定間隔條件匹配之間隔分離,該先前取樣處理操作將取樣診斷資料儲存至該診斷資料緩衝器;以及 該取樣處理操作具有與預定位址特性匹配之關聯記憶體位址。
本揭示案之至少一些實施例提供用於處理資料之裝置,包含: 診斷資料擷取構件,用以控制將取樣診斷資料儲存至診斷資料緩衝器,其特徵為在發生以下時處理操作串流內之取樣處理操作: 該取樣處理操作與先前取樣處理操作由與預定間隔條件匹配之間隔分離,該先前取樣處理操作將取樣診斷資料儲存至該診斷資料緩衝器;以及 該取樣處理操作具有與預定位址特性匹配之關聯記憶體位址。
本揭示案之至少一些實施例提供處理資料之方法,包含: 將取樣診斷資料儲存至診斷資料緩衝器,其特徵為在發生以下時處理操作串流內之取樣處理操作: 該取樣處理操作與先前取樣處理操作由與預定間隔條件匹配之間隔分離,該先前取樣處理操作將取樣診斷資料儲存至該診斷資料緩衝器;以及 該取樣處理操作具有與預定位址特性匹配之關聯記憶體位址。
第1圖示意地圖示資料處理裝置2,其包括記憶體4(儲存要執行之程式指令及要操縱之資料)、提取單元6、指令調度單元8及執行管線10。在操作中,提取單元6自記憶體4提取程式指令。該等提取之程式指令隨後至少部分地經解碼(未圖示)及傳遞至指令調度單元8,在此指令等待調度至執行管線10。執行管線10執行藉由程式指令指定之處理操作。應理解,實務上,資料處理裝置2將通常包括向資料處理裝置2提供其他功能之許多另外單元,但為了清晰起見,他們在第1圖中省去。
第1圖之資料處理裝置2能夠施行正執行之程式指令的統計取樣。該等程式指令可更通常地被認為是處理操作串流。本方法可應用至不同實施例,其中對其執行統計取樣之處理操作不為程式指令,例如處理操作可為由中斷控制器接收到之中斷或在晶片上系統互連上之記憶體事務。
根據本揭示案執行之統計取樣用以將診斷資料記錄在診斷資料緩衝器12內。對於在串流內之程式指令(處理操作)要擷取哪些之診斷資料之選擇,基於滿足兩個準則。第一準則為程式指令(處理操作)應藉由間隔(處理操作之數目或者時間)而與先前取樣程式指令(處理操作)分離,此間隔在與預定間隔條件匹配之程式指令串流內。在此示例性實施例中,預定間隔條件為取樣診斷資料藉由預定間隔與先前取樣處理操作分離,該預定間隔為基數取樣週期之正整數倍。此外,為擷取其診斷資料之取樣處理操作應具有與預定位址特性匹配之關聯記憶體位址。
在第1圖中圖示之實例中,該等兩個準則以首先要求之順序應用,即,要取樣之候選程式指令應由預定(可程式化)取樣間隔而與緊挨前一個候選程式指令分離。一旦程式指令串流內之候選程式指令已基於取樣間隔而識別,則基於候選程式指令是否具有與預定位址特性匹配之關聯記憶體位址,在該等候選程式指令中進行另外選擇。
關聯記憶體位址可採取各種形式。例如,候選程式指令之關聯記憶體位址可為將程式指令儲存在記憶體4內之記憶體位址。或者,關聯記憶體位址可為當執行候選程式指令時由該候選程式指令存取之目標位址,例如,與正執行之資料存取指令(加載或儲存)或資料處理指令(例如,加法)關聯的讀取位址或寫入位址。
第1圖圖示間隔選擇電路系統14,其使用來自可程式化統計取樣配置暫存器15之間隔計數值初始化。每次自指令調度單元8調度程式指令,計數值遞減直到其達到零。應注意,術語「調度」可以各種方式在此技術領域中使用及本技術並未限於此術語之任一特定用法。當計數值達到零時,則此對應於「取樣間隔命中」,將對應指令標記為取樣一。這可採取經由管線與指令一起傳送之標記的形式,該指令經檢驗以決定此是否為取樣指令,或採取記錄之形式,其中指令之標記值與管線中之指令的標記值進行比較以決定此是否為取樣指令,或採取該等及其他構件之一些組合的形式。隨後執行管線10將標記指令之特性儲存在取樣指令記錄儲存器16內,因為此標記指令穿過執行管線10直到其完成及收回。因而,在此示例性實施例中之間隔選擇電路系統14用以標記調度指令,該調度指令藉由可程式化取樣間隔在程式指令串流內分離。在上述示例性實施例中,在調度指令之點處取樣。在其他示例性實施例中,可在其他點處發生取樣,例如在解碼指令之前或當向執行單元發佈指令時。並非取樣與先前取樣處理操作分離預定間隔之整數倍(即,「預定間隔條件」)之每個處理操作,其只是取樣之候選者及如若其亦滿足下文論述之位址準則,則其將被取樣。
如先前提及,用以過濾另外擷取之診斷資料的關聯記憶體位址準則可採取程式指令之記憶體位址或與程式指令關聯之目標位址的形式。在程式指令之記憶體位址的情況下,此可經決定為提取單元6自記憶體4提取程式指令。在圖示之示例性實施例中,提供斷點單元18,其為執行與先前論述之統計取樣不同之診斷操作的另一診斷電路系統的實例。斷點單元18內的比較器20可藉由斷點單元18使用以識別所提取指令之指令位址以根據程式碼之中斷點在處理中觸發中斷,該等斷點單元可經重新使用以用作為識別所提取程式指令是否具有與預定位址特性匹配之關聯記憶體位址(即,程式指令位址),該預定位址特性用於統計取樣之位址過濾準則。斷點單元18可經程式化以用作統計取樣診斷資料擷取電路系統之部分而不是具有其正常斷點識別功能。在此情況下,當斷點單元18內之比較器20偵測到位址匹配時,其可為指令位址與預定位址之完全匹配,對應於屬於預定範圍之位址內的指令位址的匹配,或藉以由遮罩(例如,指定一定數量位元由匹配電路系統而視為有效之遮罩值)指定在關聯記憶體位址內之一或多個位元或位元欄位與預定位址匹配的匹配。如若比較器20需要及支援,亦可使用位址匹配之其他類型。重新使用斷點單元18內之比較器20而不是提供用以支援與統計取樣關聯之位址比較的專用比較器,減少了與統計取樣之提供關聯之額外負擔。
如若當位址匹配正用以支援統計取樣時位址匹配由比較器20識別,則在已導致匹配之程式指令經標記以指示此情況,經傳遞至指令調度單元8。當隨後指令經調度至執行管線時,則指示其對應於位址匹配之標記儲存在取樣指令記錄儲存器16中之指令的取樣指令記錄中,使得當指令完成時資訊為可用的,所以可關於其診斷資料是否應儲存在診斷資料緩衝器12內進行決定(下文描述)。
如先前提及,程式指令之關聯記憶體位址可為與程式指令關聯之目標位址。可重新使用用以根據與統計取樣分離之診斷技術執行資料觀察尋點之觀察點單元22,或者至少重新使用其比較器24,以識別要進行統計取樣之程式指令藉由存取具有預定位址特性之目標位址而具有預定位址特性。如先前論述,該等特性可需要位址之完全匹配,對應於屬於預定範圍內之目標位址的匹配,或在部分地標記目標位址值與預定值之間的匹配。位址匹配之其他形式亦是可能的。觀察點單元22藉由執行管線10而具有目標位址資料及在觀察點單元22內之比較器24可用以識別程式指令是否匹配預定位址準則。如若此種匹配發生,則此可經由執行管線10發回信號及儲存在取樣指令記錄內,該取樣指令記錄在程式指令之取樣指令記錄儲存器16內。
亦可基於記憶體位址屬性資料執行位址匹配,該記憶體位址屬性資料指示與記憶體4內之記憶體位址區域關聯的記憶體屬性。此種記憶體位址屬性資料可為藉由記憶體管理單元25使用之頁表資料以控制藉由指定加載或儲存之指令,或者藉由提取單元6自記憶體4之給定區域提取程式指令對記憶體4之存取。記憶體屬性資料可為可為其添加旗標之頁表資料,該旗標指示記憶體之特定頁面對應於與統計取樣關聯之預定位址特性的位址匹配,例如如若在所需間隔處之候選程式指令與來自記憶體位址空間之頁面内的記憶體位址關聯,則將其取樣,該記憶體位址空間藉由要進行統計取樣之頁表標記。
如先前論述,斷點單元18及觀察點單元22兩者可具有他們的各別位址比較器20、24,其經重新使用以用作執行統計取樣之診斷資料擷取電路系統的部分。當以這種方式重新使用各別位址比較器20、24時,當他們偵測到斷點或觀察點時他們用以觸發對處理之中斷的正常功能可程式化地受到抑制,及相反他們生成受到抑制位址匹配事件,其對應於滿足在候選程式指令之關聯記憶體位址與用於統計取樣之預定位址特性之間的位址匹配。
資料處理裝置2亦可包括追蹤電路系統26以生成指示程式執行流之追蹤資料。追蹤電路系統26包括在此種追蹤操作期間使用之比較器28。該等比較器28可再次重新用作診斷資料擷取電路系統之部分,該診斷資料擷取電路系統執行統計取樣以減少與此種統計取樣之提供關聯的額外負擔。
如上文提及,頁表資料可用以識別要進行統計取樣之記憶體位址之區域(即,為其指示位址匹配)。亦可能在一些實施例中,能力指標可用作指向記憶體區域之指標及當使用指標時指定容許操作。此種能力指標可藉由旗標增強,該旗標指示相關區域應進行統計取樣,即,提供位址匹配準則。
當標記程式指令正自執行管線10收回時(「收回」可在不同示例性實施例中代表不同點,諸如當將指令效應提交至架構狀態(變成非抽象)時,當其完成並不再實現其他指令(但仍然為抽象的)時,當指令不再具有任何記錄在取樣記錄中或一些其他點時),則檢查儲存在取樣指令記錄儲存器16內之其取樣指令記錄以決定與彼程式指令關聯之診斷資料是否應儲存在診斷資料緩衝器12內。位址過濾電路系統30用以檢查位址匹配旗標是否設置在取樣指令記錄內。如若設置位址匹配旗標以指示已滿足位址匹配準則,則取樣指令之診斷資料儲存在診斷資料緩衝器12內。
在第1圖之實例中,使用取樣間隔識別要取樣之候選程式指令。隨後基於他們是否具有與預定位址特性匹配之關聯記憶體位址,在該等候選程式指令中進行選擇。因而,第1圖之電路系統的操作可認為是基於計數過濾器及隨後位址過濾器而執行統計取樣。
第2圖示意地圖示間隔取樣過程。在步驟32處,將間隔選擇電路系統14內之計數器初始化至對應於取樣間隔之計數值。隨後步驟34等到識別到指令正由指令調度單元8調度時。當調度指令時,則步驟36遞減計數器。步驟38決定計數器是否達到零。當計數器達到零時,則步驟40標記指令為滿足取樣間隔準則及處理返回至步驟34。
第3圖示意地圖示位址匹配過程。在步驟42處,初始化位址過濾器,例如比較器20、比較器24、比較器28或專用於統計取樣之特定比較器的適宜程式化。隨後步驟44決定與程式指令關聯之位址是否匹配預定位址條件(諸如,例如,精確匹配,在範圍內之匹配或經受特定遮蔽之匹配)。位址匹配可基於相關程式指令之儲存位址及/或正由程式指令存取之目標位址。當找到位址匹配時,則步驟46決定指令是否為標記為滿足位址匹配準則(假定正對已完成調度之指令的目標位址進行位址匹配)之一個。如若如此標記指令,則步驟48將位址匹配記錄在取樣指令記錄內。
第4圖示意地圖示取樣過濾及儲存過程。在步驟50處,初始化在取樣指令記錄至閘取樣之檢查中使用之準則。步驟52決定完成之指令是否標記為滿足其關聯取樣指令記錄內之取樣間隔準則。如若指令並不滿足此準則,則對於此指令,不儲存診斷資料。如若滿足取樣間隔之準則,則處理進行至步驟54,此處決定是否要應用位址匹配準則。如若要應用位址匹配準則,則步驟56決定是否將完成的針對指令之取樣指令記錄標記為已滿足位址匹配準則。如若不滿足位址匹配準則,則將不儲存診斷資料。
步驟58示意地表示其他準則檢查,可關於完成之指令進行該等其他準則檢查以決定其是否具有與儲存進診斷資料緩衝器12中之彼等關聯的診斷資料。該等其他準則可超出本文描述之取樣間隔檢查及位址匹配檢查。如若滿足所有準則,則處理進行至步驟60,此處完成之指令之診斷資料經儲存進診斷資料緩衝器及取樣指令記錄中,此取樣指令記錄經清除以由另一指令重新使用。亦可在來自步驟56之N通道上存在檢查,使得如若滿足準則之任一個則完成之指令之診斷資料經儲存進診斷資料緩衝器中。
第5圖圖示使用統計取樣之資料處理系統62的另一示例性實施例。在此示例性實施例中,將不會再次描述類似於關於第1圖描述之彼等的電路元件。第5圖之示例性實施例不同於第1圖之實施例,因為位址過濾準則基於程式指令之指令位址而執行。斷點單元18作為統計取樣的部分識別候選程式指令串流用於診斷資料記錄。候選程式指令串流為基於指令的指令位址滿足位址匹配準則的彼等指令。間隔選擇電路系統14隨後計算已匹配位址準則之候選程式指令串流內的(可程式化)取樣間隔。當間隔計數達到零時,則在此點處之候選程式指令標記為待取樣。因此,當完成指令時,將儲存其關聯診斷資料。因而,第5圖之示例性實施例在間隔選擇之後對滿足位址過濾準則之彼等程式指令執行位址過濾操作。
2‧‧‧資料處理裝置 4‧‧‧記憶體 6‧‧‧提取單元 8‧‧‧指令調度單元 10‧‧‧執行管線 12‧‧‧診斷資料緩衝器 14‧‧‧間隔選擇電路系統 15‧‧‧可程式化統計取樣配置暫存器 16‧‧‧取樣指令記錄儲存器 18‧‧‧斷點單元 20‧‧‧比較器 22‧‧‧觀察點單元 24‧‧‧比較器 25‧‧‧記憶體管理單元 26‧‧‧追蹤電路系統 28‧‧‧比較器 30‧‧‧位址過濾電路系統 32‧‧‧步驟 34‧‧‧步驟 36‧‧‧步驟 38‧‧‧步驟 40‧‧‧步驟 42‧‧‧步驟 44‧‧‧步驟 46‧‧‧步驟 48‧‧‧步驟 50‧‧‧步驟 52‧‧‧步驟 54‧‧‧步驟 58‧‧‧步驟 60‧‧‧步驟 62‧‧‧資料處理系統
僅舉例而言,現將參看附圖描述示例性實施例,其中:
第1圖示意地圖示併入診斷資料擷取電路系統之資料處理系統的示例性實施例;
第2圖為示意地圖示取樣過程之流程圖;
第3圖為示意地圖示位址匹配過程之流程圖;
第4圖為示意地圖示樣本過濾及儲存過程之流程圖;以及
第5圖示意地圖示併入診斷資料擷取電路系統之資料處理系統的另一示例性實施例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
2‧‧‧資料處理裝置
4‧‧‧記憶體
6‧‧‧提取單元
8‧‧‧指令調度單元
10‧‧‧執行管線
12‧‧‧診斷資料緩衝器
14‧‧‧間隔選擇電路系統
15‧‧‧可程式化統計取樣配置暫存器
16‧‧‧取樣指令記錄儲存器
18‧‧‧斷點單元
20‧‧‧比較器
22‧‧‧觀察點單元
24‧‧‧比較器
25‧‧‧記憶體管理單元
26‧‧‧追蹤電路系統
28‧‧‧比較器
30‧‧‧位址過濾電路系統

Claims (21)

  1. 一種用於處理資料之裝置,包含:診斷資料擷取電路系統,用以在發生以下情形時,控制表徵一處理操作串流內之一取樣處理操作的取樣診斷資料至一診斷資料緩衝器的儲存:該取樣處理操作是該裝置的一資料處理操作,該取樣處理操作與將取樣診斷資料儲存至該診斷資料緩衝器的一先前取樣處理操作分離一間隔,該間隔與一預定間隔條件匹配,該預定間隔條件是該取樣診斷資料與該先前取樣處理操作分離一預定間隔;以及該取樣處理操作進一步具有與一預定位址特性匹配之一關聯記憶體位址。
  2. 如請求項1所述之裝置,其中該診斷資料擷取電路系統包含:間隔選擇電路系統,用以取樣在該處理操作串流內的一處理操作而將其選作一候選處理操作,該處理操作藉由在該串流內之一預定間隔而與一先前選擇之候選處理操作分離;以及位址過濾電路系統,用以當該候選處理操作具有與該預定位址特性匹配之一關聯記憶體位址時,控制將表徵該候選處理操作的診斷資料儲存至該診斷資料緩 衝器以作為該取樣診斷資料。
  3. 如請求項1所述之裝置,其中該診斷資料擷取電路系統包含:位址過濾電路系統,用以取樣在該處理操作串流內的一處理操作以將其選作一候選處理操作,該處理操作具有與一預定位址特性匹配之一關聯記憶體位址,以形成一候選指令串流;以及間隔選擇電路系統,用以當該候選處理操作藉由在該候選處理操作串流內之一預定間隔而與一先前取樣處理操作分離時,控制將表徵該候選處理操作的診斷資料儲存至該診斷資料緩衝器以作為該取樣診斷資料。
  4. 如請求項2或3所述之裝置,其中該候選處理操作為用以存取一目標記憶體位址之一資料存取處理操作,及該關聯記憶體位址為該目標位址。
  5. 如請求項2或3所述之裝置,其中該候選處理操作在一指令位址處儲存及該關聯記憶體位址為該指令位址。
  6. 如請求項1所述之裝置,其中與該預定位址特性匹配之該關聯記憶體位址對應於以下各者之一個:該關聯記憶體位址匹配一預定位址; 該關聯記憶體位址匹配一預定範圍之位址;以及藉由一預定位址內之一遮罩匹配對應位元指定之該關聯記憶體位址內的位元。
  7. 如請求項2或請求項3所述之裝置,其中該預定間隔為以下各者之一個:一預定數量之處理操作;以及一預定時間間隔。
  8. 如請求項1所述之裝置,其中該預定位址特性為使用者可程式化的。
  9. 如請求項2所述之裝置,包含用以執行與該流之執行關聯之一另一診斷操作的另一診斷電路系統,其中該位址過濾電路系統與該另一診斷電路系統診斷比較器電路系統共享以執行位址比較。
  10. 如請求項9所述之裝置,其中該另一診斷電路系統可程式化以當藉由該診斷比較器偵測到一位址匹配時抑制該另一診斷操作及改為生成一受到抑制位址匹配事件。
  11. 如請求項10所述之裝置,其中該預定位址特性包含該受到抑制位址匹配事件之出現。
  12. 如請求項11所述之裝置,其中該位址過濾電路系統為可程式化以選擇性地包括在該預定位址特性內之該受到抑制位址匹配事件的出現。
  13. 如請求項9所述之裝置,其中該另一診斷電路系統包含觀察點電路系統,當對與一觀察點特徵匹配之一記憶體位址進行一資料存取時,該觀察點電路系統對處理操作執行觸發一中斷,及該診斷比較器包含與該位址過濾電路系統共享之一觀察點比較器。
  14. 如請求項9所述之裝置,其中該另一診斷電路系統包含斷點電路系統,當執行具有與一斷點特徵匹配之一指令位址的一處理操作時,該斷點電路系統對處理操作執行觸發一中斷,及該診斷比較器包含與該位址過濾電路系統共享之一斷點比較器。
  15. 如請求項9所述之裝置,其中該另一診斷電路系統包含用以生成指示處理操作執行流之追蹤資料的追蹤電路系統,及該診斷比較器包含與該位址過濾電路系統共享之一追蹤點比較器。
  16. 如請求項1所述之裝置,其包含用以使用記憶體位址屬性資料管理對一記憶體之存取的記憶體管理電路系統,該記憶體位址屬性資料指示與該記憶體內之記憶體位址區域關聯的記憶體屬性,其中該關聯記憶體位址之該預定位址特性對應於在該關聯記憶體位址之該記憶體位址屬性資料中指定的一參數。
  17. 如請求項16所述之裝置,其中該記憶體位址屬性資料為記憶體頁表資料。
  18. 如請求項1所述之裝置,其中該預定位址特性為一能力指標之部分,該能力指標包含指向一記憶體區域之一指標及當使用該指標時的允許操作。
  19. 如請求項1所述之裝置,其中該處理操作串流為一程式指令串流。
  20. 一種用於處理資料之裝置,包含:診斷資料擷取構件,用以在發生以下情形時,控制表徵一處理操作串流內之一取樣處理操作的取樣診斷資料至一診斷資料緩衝器的儲存:該取樣處理操作是該裝置的一資料處理操作,該取樣處理操作與將取樣診斷資料儲存至該診斷資料緩衝器的一先前取樣處理操作分離一間隔,該間隔與一預定間隔條件匹配,該預定間隔條件是該取樣診斷資料與該先前取樣處理操作分離一預定間隔;以及該取樣處理操作進一步具有與一預定位址特性匹配之一關聯記憶體位址。
  21. 一種處理一裝置的資料之方法,包含以下步驟:在發生以下情形時,將表徵一處理操作串流內之一取樣處理操作的取樣診斷資料儲存至一診斷資料緩衝器: 該取樣處理操作是該裝置的一資料處理操作,該取樣處理操作與將取樣診斷資料儲存至該診斷資料緩衝器的與一先前取樣處理操作分離一間隔,該間隔與一預定間隔條件匹配,該預定間隔條件是該取樣診斷資料與該先前取樣處理操作分離一預定間隔;以及該取樣處理操作進一步具有與一預定位址特性匹配之一關聯記憶體位址。
TW106120553A 2016-06-29 2017-06-20 診斷資料擷取 TWI750190B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1611261.7A GB2551747B (en) 2016-06-29 2016-06-29 Diagnostic data capture
GB1611261.7 2016-06-29
??1611261.7 2016-06-29

Publications (2)

Publication Number Publication Date
TW201802670A TW201802670A (zh) 2018-01-16
TWI750190B true TWI750190B (zh) 2021-12-21

Family

ID=56891482

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106120553A TWI750190B (zh) 2016-06-29 2017-06-20 診斷資料擷取

Country Status (7)

Country Link
US (1) US20190340097A1 (zh)
JP (1) JP7049275B2 (zh)
KR (1) KR102292197B1 (zh)
CN (1) CN109313603B (zh)
GB (1) GB2551747B (zh)
TW (1) TWI750190B (zh)
WO (1) WO2018002572A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714676B2 (en) * 2020-01-03 2023-08-01 International Business Machines Corporation Software-directed value profiling with hardware-based guarded storage facility

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237073B1 (en) * 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US20040030962A1 (en) * 2002-06-07 2004-02-12 Arm Limited Generation of trace elements within a data processing apparatus
TW200627264A (en) * 2004-11-30 2006-08-01 Air Prod & Chem Method and apparatus for utilizing a sequence interpreter approach to control logic of a programmable logic controller
US20130246754A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US20130297975A1 (en) * 2012-05-07 2013-11-07 Microchip Technology Incorporated Device Having Configurable Breakpoint Based on Interrupt Status

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297044A (ja) * 1985-10-24 1987-05-06 Hitachi Electronics Eng Co Ltd プログラムトレ−ス装置
JP2001005689A (ja) * 1999-06-23 2001-01-12 Nec Ibaraki Ltd トレース採取回路
GB2389432B (en) * 2002-06-07 2005-09-07 Advanced Risc Mach Ltd Instruction tracing in data processing systems
US7539853B2 (en) * 2002-11-18 2009-05-26 Arm Limited Handling interrupts in data processing of data in which only a portion of a function has been processed
US8826241B2 (en) * 2004-02-16 2014-09-02 Oracle America, Inc. Instruction sampling in a multi-threaded processor
US7627807B2 (en) * 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
JP4899511B2 (ja) * 2006-02-08 2012-03-21 富士通株式会社 システム分析プログラム、システム分析装置、およびシステム分析方法
US8392726B2 (en) * 2006-12-20 2013-03-05 Stmicroelectronics S.A. Protection of memory areas
US8612720B2 (en) * 2007-02-09 2013-12-17 Edgewater Computer Systems, Inc. System and method for implementing data breakpoints
US8572295B1 (en) * 2007-02-16 2013-10-29 Marvell International Ltd. Bus traffic profiling
US9449314B2 (en) * 2008-10-02 2016-09-20 International Business Machines Corporation Virtualization of a central processing unit measurement facility
GB2481385B (en) * 2010-06-21 2018-08-15 Advanced Risc Mach Ltd Tracing speculatively executed instructions
GB2483509B (en) * 2010-09-13 2017-08-02 Advanced Risc Mach Ltd Data processing apparatus, trace unit and diagnostic apparatus
US9465716B2 (en) * 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9268598B2 (en) * 2012-09-13 2016-02-23 International Business Machines Corporation Recording and profiling transaction failure source addresses and states of validity indicator corresponding to addresses of aborted transaction in hardware transactional memories
EP2873983B1 (en) * 2013-11-14 2016-11-02 Accemic GmbH & Co. KG Trace-data processing and profiling device
WO2015164765A1 (en) * 2014-04-25 2015-10-29 Hewlett-Packard Development Company, L.P. Flow sample
US9720797B2 (en) * 2015-06-30 2017-08-01 Nxp Usa, Inc. Flash memory controller, data processing system with flash memory controller and method of operating a flash memory controller
US10445133B2 (en) * 2016-03-04 2019-10-15 Nxp Usa, Inc. Data processing system having dynamic thread control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237073B1 (en) * 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US20040030962A1 (en) * 2002-06-07 2004-02-12 Arm Limited Generation of trace elements within a data processing apparatus
TW200627264A (en) * 2004-11-30 2006-08-01 Air Prod & Chem Method and apparatus for utilizing a sequence interpreter approach to control logic of a programmable logic controller
US20130246754A1 (en) * 2012-03-16 2013-09-19 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US20130297975A1 (en) * 2012-05-07 2013-11-07 Microchip Technology Incorporated Device Having Configurable Breakpoint Based on Interrupt Status

Also Published As

Publication number Publication date
KR102292197B1 (ko) 2021-08-23
TW201802670A (zh) 2018-01-16
JP2019526108A (ja) 2019-09-12
GB2551747B (en) 2019-04-10
JP7049275B2 (ja) 2022-04-06
US20190340097A1 (en) 2019-11-07
KR20190022681A (ko) 2019-03-06
WO2018002572A1 (en) 2018-01-04
GB201611261D0 (en) 2016-08-10
CN109313603B (zh) 2023-06-06
CN109313603A (zh) 2019-02-05
GB2551747A (en) 2018-01-03

Similar Documents

Publication Publication Date Title
CN109240886B (zh) 异常处理方法、装置、计算机设备以及存储介质
CN103154908B (zh) 用于事务存储器的最后分支记录的装置、方法和系统
TWI524269B (zh) 處理設備、軌跡單元及診斷設備
US8533681B2 (en) Atomicity violation detection using access interleaving invariants
CN111881455B (zh) 一种固件安全分析的方法及装置
WO2019169760A1 (zh) 测试用例范围确定方法、装置及存储介质
CN104281805B (zh) 安全保护方法和处理器
CN109783509A (zh) Sql脚本生成方法及装置
US8195986B2 (en) Method, system and computer program product for processing error information in a system
CN110874355B (zh) 车辆徘徊绕圈异常行为的检测方法、系统、终端及介质
TWI750190B (zh) 診斷資料擷取
US7177982B2 (en) Method to maintain order between multiple queues with different ordering requirements in a high frequency system
CN107003895A (zh) 事务内的指令采样
CN102037448B (zh) 主机数据处理设备内的装置仿真支持
CN104933105B (zh) 数据库访问请求的分析方法和装置
US7484221B2 (en) Method and apparatus for logging the execution history of an operating system kernel
CN111784176A (zh) 一种数据处理方法、装置、服务器及介质
CN107436752A (zh) 异常现场恢复方法、装置及计算机可读存储介质
CN104866285A (zh) 可编程序控制器
CN106227502A (zh) 一种获取硬盘固件版本的方法及装置
CN111190777B (zh) 一种磁盘i/o性能测试方法及装置
CN109445877B (zh) 一种检测游戏服务器多线程使用同一虚拟机的方法
US20110185156A1 (en) Executing watchpoint events for debugging in a "break before make" manner
CN117453495B (zh) 支持在线纠错和调试的芯片、设计方法及相关设备
CN107844561A (zh) 一种数据量统计方法及装置