TWI639949B - 追蹤信息編碼裝置及其編碼方法與電腦可讀取式媒體 - Google Patents
追蹤信息編碼裝置及其編碼方法與電腦可讀取式媒體 Download PDFInfo
- Publication number
- TWI639949B TWI639949B TW105133169A TW105133169A TWI639949B TW I639949 B TWI639949 B TW I639949B TW 105133169 A TW105133169 A TW 105133169A TW 105133169 A TW105133169 A TW 105133169A TW I639949 B TWI639949 B TW I639949B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- block
- data blocks
- data block
- tracking information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000010586 diagram Methods 0.000 description 20
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Microcomputers (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
Abstract
追蹤信息編碼裝置及其編碼方法與電腦可讀取式媒體。其中,追蹤信息編碼方法包括,從至少一個處理器接收事件;根據事件產生一串的多個資料封包,其中各資料封包由N個資料區塊所組成,並且N是正整數;且寫入邊界值到N個資料區塊中的各資料區塊。
Description
本發明涉及一種追蹤信息編碼裝置及其編碼方法,本發明尤其是有關一個針對資料封包的邊界信息進行記錄的追蹤信息編碼裝置及編碼方法。
對於偵測處理器的事件,追蹤信息編碼器可以產生一或多個追蹤封包以用於偵測處理器的事件,在習知技術中,追蹤封包可以儲存在環形緩衝器中。為了減低追蹤頻寬,每一個追蹤封包的資料寬度是可變的。也就是說,如果一個最舊的資料封包被新的資料封包覆寫,則在環形緩衝器中的每一個資料封包的邊界信息無法被決定。
本發明提供一種追蹤信息編碼裝置及其編碼方法,以及可產生含有邊界信息的資料封包的電腦可讀取式媒體。
本發明提供追蹤信息編碼方法包括:從至少一個處理器接收事件,根據事件產生一資料封包串,其中每一個資料封包由N個資料區塊組成,N是正整數,再來寫入邊界值到N個資料區塊中的每個資料區塊。
本發明提供的追蹤信息編碼裝置包括事件緩衝器和編碼器,事件緩衝器耦接到至少一個處理器,並從至少一處理器接收並儲存事件,編碼器耦接至事件緩衝器,編碼器用以:由事件緩衝器接收事件;根據事件產生一串的資料封包,其中每個資料封包由N個資料區塊組成,N為正整數;以及,寫入一邊界值到N個資料區塊中的每個資料區塊,其中,每一個邊界值用以指示對應的資料區塊是否為最後一個資料區塊。
本發明提供的電腦可讀取式媒體包括多個程式碼段,程式碼段可以被載入到電子裝置以執行下列步驟:從至少一個處理器接收事件;根據事件產生一串的資料封包,其中每一個資料封包串由N個資料區塊所組成,並且N為正整數;並且寫入邊界值到N個資料區塊中的每一個資料區塊,其中,邊界值用來指示對應的邊界區塊是否為邊界資料區塊。
根據上述描述,本發明提供的追蹤信息編碼裝置分別寫入邊界值到資料區塊,並且根據對應資料區塊是否是邊界資料區塊來決定邊界值。也就是說,資料封包中的邊界資料區塊可以依據對應的邊界值來進行識別,所以資料封包的資料遺失可以被避免。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
請參照圖1A,圖1A說明根據本實施例所繪示的追蹤信息編碼方法流程圖,在步驟S110中,來自於一個或多個處理器的事件被接收,其中,事件可以是(但不限於)當前的程式計數值、分支指令被執行、載入/儲存指令被執行,例外發生、內容識別被更新、程式發出系統呼叫、追蹤被致能、時間標籤等。在步驟S120,資料封包串可以根據事件來產生,並且資料封包串中的每一個資料封包可由N個資料封包所組成,其中N是正整數。資料區塊中有一個且只有一個位元用來決定此資料區塊是為資料封包的第一資料區塊或是資料封包的最後資料區塊。此外,在步驟S130,邊界值被寫入到上述N個資料區塊中的各資料區塊。其中,邊界值指出對應的資料區塊是否為邊界資料區塊,並且每一個資料區塊包括一個邊界值。在本發明的一個實施例中,邊界資料區塊可以是資料封包的最後的資料區塊,在其他實施例中,邊界資料區塊可以是資料封包的第一資料區塊。詳細的說,步驟S130可決定資料封包的N個資料區塊的每一個資料區塊是否為邊界資料區塊,如果資料區塊不是邊界資料區塊,則對應的邊界值可以被設定成第一邏輯值;如果資料區塊是邊界資料區塊,則對應的邊界值則可以被設定為第二邏輯值,其中,第一邏輯值與第二邏輯值相反。
請參照圖1B到圖1D,圖1B到圖1D說明本發明一實施例的執行追蹤信息編碼方法的系統方塊圖,在圖1B中,系統100包括晶片110A以及診斷主機120A,晶片110A包括處理器主機111A、追蹤信息編碼裝置112A、記憶體設備113A、周邊裝置114A以及追蹤緩衝器115A。處理器核心111A透過系統匯流排SBUS耦接到記憶體設備113A以及周邊裝置114A,處理器核心更耦接到追蹤信息編碼裝置112A,追蹤信息編碼裝置112A耦接到追蹤緩衝器115A,並且追蹤緩衝器115A耦接到診斷主機120A。
追蹤信息編碼裝置112A用來執行圖1A中的步驟,並且追蹤信息編碼裝置112A儲存資料封包到追蹤緩衝器115A,其中追蹤緩衝器115A可以是環形緩衝器(circular buffer)。
診斷主機120A可從追蹤緩衝器115A存取資料封包以執行診斷運算,如此一來,處理器核心111A的動作可以依序地被追蹤。
在圖1C中,系統101包括處理器110B、追蹤緩衝器115B和診斷主機120B,晶片110B包括處理器主機111B、追蹤信息編碼裝置112B、記憶體設備113B、周邊裝置114B和追蹤埠116B。和圖1B不同的是,追蹤緩衝器115B並不是嵌入在晶片110B之中,而是設置在晶片110B的外部。追蹤緩衝器115B透過追蹤埠116B耦接到追蹤信息編碼裝置112B,處理器核心111B透過系統匯流排SBUS耦接到記憶體設備113B以及周邊裝置114B。
在圖1D中,系統102包括晶片110C,晶片110C包括處理器核心111C、記憶體設備113C和周邊裝置114C。處理器核心111C透過系統匯流排SBUS耦接到記憶體設備113C和周邊裝置114C,記憶體設備113C儲存追蹤緩衝器1132和追蹤編碼器1131的應用程式碼,處理器核心111C從記憶體設備113C載入追蹤編碼器1131,並且藉由執行追蹤編碼器1131的應用程式碼實現追蹤信息編碼裝置的功能。
請共同參照圖1A和圖2,其中圖2繪示本發明實施例的資料封包的架構圖。在圖2,資料封包200根據處理器的事件被產生,資料封包200具有N個資料區塊211-21N,N個資料區塊211-21N分別記錄事件的資料A1-資料AN,並且,N個資料區塊211-21N分別具有用來指出對應區塊是最後一個區塊或記錄邊界值的特定位元SB1-SBN。在圖2中,因為資料區塊211-212不是最後一個資料區塊,所以資料區塊211和212的特定位元SB1和SB2的邊界值分別是第一邏輯值(例如邏輯1),反之,因為資料區塊21N是最後一個資料區塊,所以資料區塊21N的特定位元SBN的邊界值是第二邏輯值(例如邏輯0)。
在此需注意的是,數字N不限制一定要大於1,在某些實施例裡,資料封包僅包含一個資料區塊,在這種情況下,只有唯一一個資料區塊是第一個和最後一個資料區塊,並且這個唯一一個資料區塊的邊界值是邏輯0。
N個資料區塊中的每一個資料區塊的資料寬度可以是一個位元(byte),並且儲存邊界值的特定位元可以是N個資料區塊211-21N中的的每一個資料區塊中的最高有效位元(MSB)。在另一實施例,N個資料區塊中的每一個資料區塊的資料寬度可以是一個字組(word),並且儲存邊界值的特定位元可以是N個資料區塊211-21N中的的每一個資料區塊中的最低有效位元(LSB)。
請參照圖3,圖3說明本發明一實施例的環形緩衝器的架構圖,環形緩衝器300用來儲存資料封包,在圖3中,資料封包DP1到DP3依序儲存在環形緩衝器300中,資料封包DP1包括資料區塊311到313,而資料A1到A3分別被儲存在資料區塊311到313中。此外,資料區塊的特定位元SB1到SB3分別記錄邊界值“1”、“1”和“0”。顯而易見地,資料區塊313是資料封包DP1的最後一個資料區塊,並且相鄰於資料區塊313的資料區塊321則屬於另一資料封包DP2。
資料封包DP2包括唯一的資料區塊321,資料區塊321並用以儲存資料B1。資料區塊321是資料封包DP2的最後一個資料區塊,如此一來,資料封包的邊界值是邏輯0。此外,資料封包DP3包括資料區塊331和332,資料區塊331和332分別儲存資料C1和C2,資料區塊331不是資料封包DP3的最後一個資料區塊,因此,儲存在特定位元SB5的邊界值是邏輯值“1”。相反的,資料區塊332是資料封包DP3的最後一個資料區塊,因此,儲存在特定位元SB6的邊界值是邏輯值“0”。
藉由圖3來說明,當偵測運算被操作時,則環形緩衝器300可以被診斷主機所讀取,診斷主機可以識別每一個資料封包DP1-DP3的邊界,並且在資料封包DP1-DP3的資料可以被正確的取得。
請參照圖4,圖4說明本發明實施例的資料封包對應的同步信息的架構圖,資料封包400對應到處理器的同步信息,並且包括資料區塊411-416,同步信息包括程式計數器的位置,程式計數器的位址被分割成多個子位址ADD1-ADD5,並且可以分別地被儲存在多個的欄位412a-416a,其中,這些欄位412a-416a分別被包括在412-416資料區塊中。此外,在資料封包400中,資料區塊411-415不是最後一個資料區塊,邊界值BV1-BV5是邏輯“1”,而資料區塊416是最後一個資料區塊,其邊界值BV6是“0”。
請參照圖5,圖5說明本發明一實施例的資料封包對應到分支指令執行信息的架構圖,資料封包500對應到處理器的分支指令執行信息,並且只有唯一的一個資料區塊511(直接資料區塊)被設定成被包含至資料封包500,在資料區塊中的一個位元用來儲存旗標DIR,用來指出在一個位元B1中的分支指令執行信息的直接信息。舉例來說,如果旗標邏輯值是“1”,直接分支運算被處理器採取;如果旗標邏輯值是“0”,直接或間接分支運算不被處理器採取。
因為資料區塊511是最後一個資料區塊,例如,有著邏輯值“0”的邊界值的BV51被寫入到資料區塊511的特定位元。
請參照圖6,圖6說明本發明一實施例的資料封包對應到間接分支指令執行信息的架構圖,為了得到資料封包600對應到間接分支指令執行信息,間接分支指令執行信息的分支目標位址被拿來和原始位址做比較,並且取得一更新後的位址,更新後的位址被分割成多個的子位址UADD1-UADD4,並且子位址UADD1到UADD4分別被儲存在多個欄位612a-615a,欄位612a-615a分別地被包括在資料區塊612-615。
需要被注意的是,資料區塊612-615的數量沒有固定,並且資料區塊612-615的數量可以藉由比較分支目標位址和原始位置的比較後的結果來決定。舉例來說,藉由逐位比較分支目標位址BADD[28:1]和原始位址OADD[28:1],如果分支目標位址BADD[10:1]的一部分和原始位址OADD[10:1]的一部份不同,並且分支目標位址BADD[28:11]的另一部分和原始位址OADD[28:11]的另一部份相同,則更新位址可以依據BADD[10:1]來產生,也就是說,更新位址所需的資料寬度為13位元,如果每一個資料區塊612到615的資料寬度是一位元組,則需要兩個欄位用來儲存更新的位址。
請參照圖7,圖7說明本發明一實施例的資料封包的資料區塊的架構圖,資料區塊700的資料寬度是一字組。特定位元SB可以被設定為資料區塊700的最低有效位元,而邊界值BV可被儲存在資料區塊700的最低有效位元中。此外,資料封包的識別資料ID可以被寫入到資料區塊700,此識別資料為處理器的事件來源的識別。
在另一實施例,如果資料封包的資料區塊的數量大於1,識別資料ID可以被寫入到資料區塊的其中之一,例如,第一資料區塊。
請參照圖8A和圖8B,圖8A和圖8B說明根據本發明的一實施例儲存資料封包串的環形緩衝器的架構圖,在圖8A中,32位元組的環形緩衝器800被提供,環形緩衝器800儲存32個資料區塊811-832。舉例來說,每個資料區塊811-832的邊界值被儲存在每個資料區塊811到832的最高有效位元,藉由解碼資料區塊811到832,包括資料區塊811-816的第一資料封包DP1,包括資料區塊817-819的第二資料封包DP2,分別包括資料區塊820、830以及831的第三到第五資料封包DP3-DP5可被取得。資料封包DP1對應到同步信息,並且程式計數器的位址被設定為0x0000。資料封包DP2對應到間接分支指令執行信息,當間接分支指令被處理器採取時,分支位址被設為0x4000。此外,資料封包DP3到DP4指示多個被處理器採取的分支運算。
要注意的是,在圖8A中,因為資料區塊832是空的,環形緩衝器800的寫入點被設定在資料區塊832,並且返回旗標不被致能(被設定為邏輯“0”)。
在圖8B中,新的事件被產生,並且新的間接分支操作被採取,資料0x85被寫入到資料封包832以及資料0x40被寫入到資料封包811以用來覆寫原始資料。舉例來說,旗標包裹被設定為邏輯“1”(被致能),並且環形緩衝器800的寫入點被設為資料區塊811。
要注意的是,雖然資料封包DP1的資料是損壞的,藉由識別在資料區塊816的邊界值,損壞的資料DP1的邊界可以被確定,也就是說,在資料區塊DP2到DP5的資料可以被正確的取得。
請參照圖9,圖9說明本發明一實施例的追蹤信息編碼裝置方塊圖,追蹤信息編碼裝置900包括事件緩衝器910、編碼器920和封包緩衝器930,事件緩衝器910耦接到一個處理器CP1或多個處理器CP1和CP2,事件緩衝器910從處理器CP1和處理器CP2兩者或其中之一接收並儲存事件。此外,事件緩衝器910耦接到編碼器920,編碼器920用來接收事件緩衝器910中的事件,並根據事件產生資料封包串,其中每一個資料封包包括N個資料區塊,並且N為正整數。並且,寫入邊界值到N個資料區塊中的每一個資料區塊用來產生一或多個可對應到在事件緩衝器910中的事件的資料封包,其中每個邊界值指出對應的資料區塊是否為邊界資料區塊。
封包緩衝器910可以為環形緩衝器,並且耦接到編碼器920,用來接收並儲存由編碼器920產生的資料封包。
在本實施例中,事件緩衝器910、編碼器920以及封包緩衝器930可以被硬體電路實現,事件緩衝器910、編碼器920以及封包緩衝器可以被實現在相同的晶片上,在另一實施例中,封包緩衝器930可以被設置在包含事件緩衝器910和編碼器920的晶片的外部。
在本實施例中,編碼器920可以是邏輯電路,並且可以是用硬體描述語言或其他數位設計機制來進行設計的電路。而有關編碼器920的詳細操作請參照上述的實施例的描述,這裡不多做贅述。
請參照圖10,圖10說明本發明實施例的編碼器的方塊圖,在圖10中,用於編碼追蹤信息的編碼器1000可以利用電子裝置1010所實現。電子裝置1010耦接到記憶體設備1020,並且電腦可讀取式媒體被儲存在記憶體設備1020中。電子裝置1010包括處理器,上述的處理器可執行記憶體設備1020中所儲存的電腦可讀取式媒體。當電子裝置1010被用來當作編碼器1000,電子裝置1010可從記憶體設備1020讀取電腦可讀取式媒體來執行,如此一來,編碼器1000的功能可以被電子裝置1010所實現。其中,編碼器1000的功能和上述的編碼器920的功能相同。
在本實施例,記憶體設備1020可以是任一可儲存資料並且為本領域技術人員所知道的硬體裝置。
綜上所述,本發明提供了寫入邊界值到資料封包的資料區塊的方法,也就是說每一個環形緩衝器的資料封包的邊界信息可以被識別,並且即使當邊界封包是損壞的,損壞的邊界封包的邊界可以被確定,沒有損壞的資料封包的資料可以被正確的取得。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、101、102‧‧‧系統
110A、110B、110C‧‧‧晶片
111A、111B、111C‧‧‧處理器核心
112A、900‧‧‧追蹤信息編碼裝置
113A、113B、113C‧‧‧記憶體設備
114A、114B、114C‧‧‧周邊裝置
115A、115B‧‧‧追蹤緩衝器
116B‧‧‧追蹤埠
120A、120B‧‧‧診斷主機
SBUS‧‧‧系統匯流排
211、212、21N、311、312、313、321、331、332、411-416、511、612-615、811-832‧‧‧資料區塊
SB、SB1-SB6‧‧‧特定位元
A1、A2、A3、AN、B1、C1、C2‧‧‧資料
DP1、DP2、DP3、400、500、600、700‧‧‧資料封包
BV1-BV6、BV51‧‧‧邊界值
ADD1-ADD5、UADD1-UADD4‧‧‧子位址
B1‧‧‧位元
DIR‧‧‧旗標
412a-416a、612a-615a‧‧‧欄位
ID‧‧‧識別資料
800、900‧‧‧環形緩衝器
910‧‧‧事件緩衝器
920‧‧‧編碼器
930‧‧‧封包緩衝器
圖1A繪示本發明實施例的追蹤信息編碼方法的流程圖 圖1B到圖1D繪示本發明實施例執行追蹤信息編碼方法的系統方塊圖 圖2繪示本發明實施例的資料封包的架構圖 圖3繪示本發明實施例的環形緩衝器的架構圖。 圖4繪示本發明實施例的資料封包對應到同步信息的架構 圖。 圖5繪示本發明實施例的資料封包對應到分支指令執行信息 的架構圖。 圖6繪示本發明實施例的資料封包對應間接分支指令執行信 息的架構圖。 圖7繪示本發明另一實施例的資料封包的的資料區塊的架構 圖。 圖8A和圖8B繪示本發明實施例的用來儲存資料封包串的 環形緩衝器的架構圖。 圖9繪示本發明實施例的追蹤信息編碼裝置的方塊圖。 圖10繪示本發明實施例的編碼器的方塊圖。
Claims (18)
- 一個追蹤信息編碼方法,包括:從至少一處理器接收多個事件;根據該些事件產生一串的多個資料封包,其中,該些資料封包的各該資料封包由N個資料區塊組成,並且N為正整數;以及寫入一邊界值到該些N個資料區塊中的各該資料區塊,其中寫入一邏輯值至多個邊界資料區塊,以及寫入一反向邏輯值至該些邊界資料區塊以外的資料區塊。
- 如申請專利範圍第1項所述的追蹤資訊編碼方法,其中寫入該邏輯值到該些邊界資料區塊的步驟包括:寫入該邏輯值到各該資料封包的一最後資料區塊。
- 如申請專利範圍第1項所述的追蹤資訊編碼方法,其中寫入該邏輯值到該些邊界資料區塊的步驟包括:寫入該邏輯值到各該資料封包的一第一資料區塊。
- 如申請專利範圍第1項所述的追蹤資訊編碼方法,其中如果該些事件的各該事件對應到該同步信息,則根據該些事件產生一串的該些資料封包的步驟包括:分割該同步信息的一程式計數器的第一位址到N-1個第一欄位,並且依序設定該些N-1個第一欄位至該些N個資料區塊中的第二資料區塊到第N個資料區塊。
- 如申請專利範圍第4項所述的追蹤資訊編碼方法,其中如果該些事件對應到一間接分支指令執行信息,則根據該些事件產生該資料封包串的步驟包括:比較該第一位址與該間接分支指令執行信息的分支目標的第二位址後得到一更新位址;以及分割該更新位址到多個第二欄位,並且依序設定該些多個第二欄位至該些N個資料區塊中的該第二資料區塊到該第N個資料區塊,其中該些多個第二欄位的數量小於N。
- 如申請專利範圍第1項所述的追蹤資訊編碼方法,其中如果該些事件的各該事件對應到一分支指令執行信息,則根據該些事件產生一串的該些資料封包的步驟包括:設定僅含有一直接資料區塊的各該資料封包,並且寫入一旗標到該直接資料區塊,其中,該旗標用來指出是否採取一分支操作。
- 如申請專利範圍第1項所述的追蹤資訊編碼方法,其中該些N個資料區塊中的各該資料區塊的資料寬度為一位元組或一字組。
- 如申請專利範圍第7項所述的追蹤資訊編碼方法,更包括:如果該些N個資料區塊中的各該資料區塊的資料寬度為一字組,則寫入各該資料封包的識別資料到該些N個資料區塊的其中之一。
- 一個追蹤信息編碼裝置,包括:一事件緩衝器,耦接到至少一個處理器,從至少一個處理器接收並且儲存該些事件;一編碼器,耦接到該事件緩衝器,用以:從該事件緩衝器接收事件;根據該些事件產生一串的多個資料封包,其中各該資料封包由N個資料區塊組成,並且N為正整數;以及寫入一邊界值到該些N個資料區塊中的各該資料區塊,其中,各該邊界值指示對應的資料區塊是一最後一個資料區塊與否,其中如果該些資料區塊的各該資料區塊是該最後一個資料區塊,則該編碼器設定該對應邊界值到一第一邏輯值,並且如果該些資料區塊的各該資料區塊不是該最後一個資料區塊,則該編碼器設定該對應邊界值到一第二邏輯值,其中,該第一邏輯值與該第二邏輯值相反。
- 如申請專利範圍第9項所述的追蹤資訊編碼裝置,更包括:一封包緩衝器,耦接到該編碼器,儲存由編碼器產生的該資料封包。
- 如申請專利範圍第9項所述的追蹤資訊編碼裝置,其中該編碼器對於該對應資料區塊的一特定位元寫入N個邊界值中的各該邊界值。
- 如申請專利範圍第11項所述的追蹤資訊編碼裝置,其中該些N個資料區塊的各該資料區塊中的特定位元為該些N個資料區塊的一最高有效位元或一最低有效位元。
- 如申請專利範圍第9項所述的追蹤資訊編碼裝置,其中如果該些事件的各該事件對應到一同步信息,該編碼器分割該同步信息的一程式計數器的一第一位址到N-1個第一欄位,並且依序設定該些N-1個第一欄位至該些N個資料區塊中的第二資料區塊到第N個資料區塊。
- 如申請專利範圍第13項所述的追蹤資訊編碼裝置,其中如果該些事件的各該事件對應到一間接分支指令信息,則該編碼器比較該第一位址與該間接分支指令執行信息的一分支目標的一第二位址用以得到一更新位址,並且分割該更新位址到多個第二欄位,並且依序設定該些多個第二欄位至該些N個資料區塊中的該第二資料區塊到該第N個資料區塊,其中該些多個第二欄位的數量小於N。
- 如申請專利範圍第9項所述的追蹤資訊編碼裝置,其中如果該些事件的各該事件對應到一分支指令執行信息,則該編碼器設定各該資料封包僅含有一直接資料區塊,並且寫入一旗標到該直接資料區塊。
- 如申請專利範圍第9項所述的追蹤資訊編碼裝置,其中該些N個資料區塊的各該資料區塊的一資料寬度為一位元組或一字組。
- 如申請專利範圍第16項所述的追蹤資訊編碼裝置,其中如果該些N個資料區塊中的各該資料區塊的該資料寬度為一字組,則寫入各該資料封包的識別資料到該些N個資料區塊的其中之一。
- 一個電腦可讀取式媒體,包括被載入一電子裝置的多個程式碼段,用以執行下列步驟;從至少一個處理器接收事件;根據該事件產生一串的多個資料封包,其中,各該資料封包由N個資料區塊組成,並且N為正整數;以及寫入一邊界值到該些N個資料區塊中的各該資料區塊,其中,各該邊界值指出對應的資料區塊是最後一個資料區塊與否,其中如果該些資料區塊的各該資料區塊是該最後一個資料區塊,則該編碼器設定該對應邊界值到一第一邏輯值,並且如果該些資料區塊的各該資料區塊不是該最後一個資料區塊,則該編碼器設定該對應邊界值到一第二邏輯值,其中,該第一邏輯值與該第二邏輯值相反。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/241,083 US20180054374A1 (en) | 2016-08-19 | 2016-08-19 | Trace information encoding apparatus, encoding method thereof, and readable computer medium |
US15/241,083 | 2016-08-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201807567A TW201807567A (zh) | 2018-03-01 |
TWI639949B true TWI639949B (zh) | 2018-11-01 |
Family
ID=61192420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105133169A TWI639949B (zh) | 2016-08-19 | 2016-10-14 | 追蹤信息編碼裝置及其編碼方法與電腦可讀取式媒體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180054374A1 (zh) |
JP (1) | JP6391657B2 (zh) |
CN (1) | CN107766199B (zh) |
TW (1) | TWI639949B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10423511B2 (en) * | 2016-11-29 | 2019-09-24 | International Business Machines Corporation | Packet flow tracing in a parallel processor complex |
DE102020108101A1 (de) * | 2020-03-24 | 2021-09-30 | Pilz Gmbh & Co. Kg | Vorrichtung zur Speicherung von Daten in einem nichtflüchtigen Speicher |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200530912A (en) * | 2003-12-03 | 2005-09-16 | Advanced Micro Devices Inc | Transitioning from instruction cache to trace cache on label boundaries |
TW200601279A (en) * | 2004-03-18 | 2006-01-01 | Lg Electronics Inc | Recording medium with segment information thereon and apparatus and methods for forming, recording, and reproducing the recording medium |
TW200732912A (en) * | 2005-10-20 | 2007-09-01 | Qualcomm Inc | Pointer computation method and system for a scalable, programmable circular buffer |
TW201214121A (en) * | 2010-09-27 | 2012-04-01 | Silicon Motion Inc | Method for performing block management, and associated memory device and controller thereof |
TW201403462A (zh) * | 2012-03-15 | 2014-01-16 | Ibm | 計算至一指定記憶體邊界之距離之指令 |
US20160202978A1 (en) * | 2012-03-15 | 2016-07-14 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1124959A (en) * | 1910-12-17 | 1915-01-12 | United Shoe Machinery Ab | Shoe. |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
JPH1124959A (ja) * | 1997-07-02 | 1999-01-29 | Hewlett Packard Japan Ltd | マイクロプロセッサのトレース情報出力方法 |
JP3704438B2 (ja) * | 1998-12-09 | 2005-10-12 | 株式会社日立製作所 | 可変長パケット通信装置 |
DE10134090A1 (de) * | 2001-07-13 | 2003-01-30 | Infineon Technologies Ag | Speicher und Verfahren zum Ersetzen von fehlerhaften Speicherzellen in demselben |
JP2003085000A (ja) * | 2001-09-10 | 2003-03-20 | Mitsubishi Electric Corp | トレース情報生成装置およびその方法 |
US6804692B2 (en) * | 2001-12-21 | 2004-10-12 | Agere Systems, Inc. | Method and apparatus for reassembly of data blocks within a network processor |
JP2005064865A (ja) * | 2003-08-12 | 2005-03-10 | Amplet:Kk | 三周波対応rfid用アンテナ |
US7702964B2 (en) * | 2004-05-11 | 2010-04-20 | Qualcomm Incorporated | Compression of data traces for an integrated circuit with multiple memories |
US7797517B1 (en) * | 2005-11-18 | 2010-09-14 | Oracle America, Inc. | Trace optimization via fusing operations of a target architecture operation set |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US7796600B2 (en) * | 2007-05-30 | 2010-09-14 | Newport Media, LLC | Compact MPE-FEC erasure location cache memory for DVB-H receiver |
-
2016
- 2016-08-19 US US15/241,083 patent/US20180054374A1/en not_active Abandoned
- 2016-10-14 TW TW105133169A patent/TWI639949B/zh active
- 2016-11-16 CN CN201611007261.1A patent/CN107766199B/zh active Active
- 2016-12-07 JP JP2016237815A patent/JP6391657B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200530912A (en) * | 2003-12-03 | 2005-09-16 | Advanced Micro Devices Inc | Transitioning from instruction cache to trace cache on label boundaries |
TW200601279A (en) * | 2004-03-18 | 2006-01-01 | Lg Electronics Inc | Recording medium with segment information thereon and apparatus and methods for forming, recording, and reproducing the recording medium |
TW200732912A (en) * | 2005-10-20 | 2007-09-01 | Qualcomm Inc | Pointer computation method and system for a scalable, programmable circular buffer |
TW201214121A (en) * | 2010-09-27 | 2012-04-01 | Silicon Motion Inc | Method for performing block management, and associated memory device and controller thereof |
TW201403462A (zh) * | 2012-03-15 | 2014-01-16 | Ibm | 計算至一指定記憶體邊界之距離之指令 |
US20160202978A1 (en) * | 2012-03-15 | 2016-07-14 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
Also Published As
Publication number | Publication date |
---|---|
JP6391657B2 (ja) | 2018-09-19 |
CN107766199A (zh) | 2018-03-06 |
US20180054374A1 (en) | 2018-02-22 |
JP2018028888A (ja) | 2018-02-22 |
CN107766199B (zh) | 2021-04-30 |
TW201807567A (zh) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117172B2 (en) | Compact encoding methods, media and systems | |
US7979761B2 (en) | Memory test device and memory test method | |
US20140201506A1 (en) | Method for determining instruction order using triggers | |
US7146490B2 (en) | Processing system and method for efficiently enabling detection of data hazards for long latency instructions | |
TWI639949B (zh) | 追蹤信息編碼裝置及其編碼方法與電腦可讀取式媒體 | |
US10338815B2 (en) | Multi-channel nonvolatile memory power loss management | |
WO2017024873A1 (zh) | 一种存储单元和处理系统 | |
US20240004664A1 (en) | Split register list for renaming | |
JP2002279785A (ja) | Cam検索システム及びそれに用いるcam検索方法並びにそのプログラム | |
JP2930239B2 (ja) | 記憶装置の障害検出方法及び記憶制御装置 | |
JPH02136951A (ja) | Dma転送方式 | |
JPS641817B2 (zh) | ||
JPS6013360A (ja) | 記憶装置 | |
JPS62119643A (ja) | 履歴情報格納方式 | |
JPH033188A (ja) | バブルファイル記憶装置 | |
JPH05298178A (ja) | 半導体集積回路 | |
JPS61175731A (ja) | マイクロプログラム制御方式 | |
JPS6159552A (ja) | 主記憶状態情報制御方式 | |
JPH02266448A (ja) | データ処理装置 | |
JPS6175441A (ja) | アドレス履歴記憶装置 | |
JPS60123956A (ja) | メモリ書込装置 | |
JPH03240839A (ja) | ファームウェア実行アドレストレーサ | |
JPH04160655A (ja) | 例外検出方式 | |
JPS6326760A (ja) | バツフア記憶装置 | |
JPS59162697A (ja) | 制御記憶のエラ−修正方式 |