亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)處理裝置、追蹤單元和診斷裝置的制作方法

文檔序號(hào):6433388閱讀:131來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):數(shù)據(jù)處理裝置、追蹤單元和診斷裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域。更具體地,本發(fā)明涉及指示由處理裝置執(zhí)行的處理操作的追蹤數(shù)據(jù)的生成和分析。
背景技術(shù)
在數(shù)據(jù)處理系統(tǒng)中,追蹤電路可以被設(shè)置用于監(jiān)控由處理電路執(zhí)行的處理操作并且生成指示這些處理操作的特性的追蹤數(shù)據(jù)。然后,診斷裝置對(duì)所生成的追蹤數(shù)據(jù)進(jìn)行分析,以確定這些處理操作的處理結(jié)果。從追蹤數(shù)據(jù)得出的信息可以被用于例如診斷或除錯(cuò)目的。有時(shí),處理電路可以執(zhí)行與存儲(chǔ)器地址相關(guān)聯(lián)的處理操作。在這種情況中,追蹤電路將存儲(chǔ)器地址的指示包括在追蹤數(shù)據(jù)流中是非常有用的。例如,可以追蹤指令地址、分支目標(biāo)地址、或者加載/存儲(chǔ)地址。一些追蹤電路維持用于存儲(chǔ)參考地址的地址寄存器。當(dāng)需要將地址輸出到追蹤流中時(shí),追蹤電路可以省略該地址的較高階的比特(如果它們與地址寄存器中存儲(chǔ)的參考地址的相應(yīng)比特相同)。通過(guò)省略地址中的與相應(yīng)的參考比特相同的比特,追蹤數(shù)據(jù)的數(shù)量可以減少。另一種追蹤單元可以具有被用于特定類(lèi)型的指令的地址寄存器,例如,僅用于當(dāng)前執(zhí)行的指令的指令地址的一個(gè)地址寄存器以及僅用于加載/存儲(chǔ)指令所使用的加載/存儲(chǔ)地址的另一個(gè)地址寄存器。但是,對(duì)于任意一個(gè)特定類(lèi)型的指令,追蹤單元總是使用相同的地址寄存器。本技術(shù)試圖提供一種可以提供對(duì)于追蹤數(shù)據(jù)流中的地址的進(jìn)一步壓縮的追蹤單兀。

發(fā)明內(nèi)容
鑒于一個(gè)方面,本發(fā)明提供了一種數(shù)據(jù)處理裝置,包括存儲(chǔ)器,該存儲(chǔ)器包括由相應(yīng)存儲(chǔ)器地址表示的多個(gè)存儲(chǔ)器位置;處理電路,被配置為響應(yīng)于指令而執(zhí)行處理操作;以及追蹤電路,被配置為生成指示由所述處理電路執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述追蹤電路響應(yīng)于所述處理電路處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪一個(gè)參考地址寄存器是所述被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
本技術(shù)提供了一種數(shù)據(jù)處理裝置,該處理裝置具有用于執(zhí)行處理操作的處理電路、以及用于生成并輸出指示由處理電路執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流的追蹤電路。 追蹤電路具有被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器。當(dāng)處理電路處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令時(shí),追蹤電路選擇多個(gè)參考地址寄存器中的任意一個(gè)作為被選擇的參考地址寄存器,生成并輸出指示第一信息和第二信息的追蹤數(shù)據(jù)單元,其中第一信息指示多個(gè)參考地址寄存器中的哪一個(gè)是被選擇的參考地址寄存器,第二信息指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的被選擇的參考地址之間的差。相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的差越小,表示相關(guān)存儲(chǔ)器地址的追蹤數(shù)據(jù)的數(shù)量越小。通過(guò)使追蹤電路針對(duì)給定的相關(guān)存儲(chǔ)器地址選擇多個(gè)地址寄存器中的任意一個(gè)并且生成追蹤數(shù)據(jù)單元(在該追蹤數(shù)據(jù)單元中,被選擇的參考地址寄存器被表示并且被選擇的參考地址和相關(guān)存儲(chǔ)器地址之間的差被指示),多個(gè)參考地址寄存器中的參考地址之一與相關(guān)存儲(chǔ)器地址相匹配的可能性增加,或者多個(gè)參考地址寄存器中的參考地址之一與相關(guān)存儲(chǔ)器地址相差較小數(shù)量的可能性增加。所以,追蹤數(shù)據(jù)被更大程度地壓縮的可能性增加,從而追蹤緩沖器用于存儲(chǔ)追蹤數(shù)據(jù)溢流的可能性或者所生成的追蹤數(shù)據(jù)超過(guò)可用追蹤帶寬的可能性降低。注意,如果相關(guān)存儲(chǔ)器地址與被選擇的參考地址精確匹配,則第二信息指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的零差。追蹤數(shù)據(jù)單元可以通過(guò)很多方式對(duì)第一信息和第二信息進(jìn)行編碼。可以提供包括單個(gè)數(shù)據(jù)值的追蹤數(shù)據(jù)單元,該單個(gè)數(shù)據(jù)值既標(biāo)識(shí)作為被選擇的參考地址寄存器的參考地址寄存器,又標(biāo)識(shí)相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的差。但是,在一個(gè)實(shí)施例中,追蹤數(shù)據(jù)單元可以包括指示第一信息的頭部部分和指示第二信息的地址部分,其中第一信息指示被選擇的參考地址寄存器,第二信息指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的地址差??梢酝ㄟ^(guò)很多方法將相關(guān)存儲(chǔ)器地址與被選擇的參考地址精確匹配的情況編碼在追蹤數(shù)據(jù)單元中。例如,追蹤數(shù)據(jù)單元的地址部分可以被設(shè)置為指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的零差的零值。替代地,預(yù)定的標(biāo)識(shí)符可以被包括在追蹤數(shù)據(jù)單元中,標(biāo)識(shí)相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間存在精確匹配。但是,在一個(gè)實(shí)施例中,在相關(guān)地址和被選擇的參考地址之間的差為零的情況下, 追蹤電路可以從追蹤數(shù)據(jù)單元中省去地址部分。在這種情況中,追蹤數(shù)據(jù)單元僅包括頭部部分而不包括地址部分,可以指示被選擇的參考地址和相關(guān)存儲(chǔ)器地址之間存在精確匹配 (即,地址部分的缺失傳達(dá)了第二信息,該第二信息指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間不存在差)。通過(guò)在相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間存在精確匹配時(shí)省去地址部分,追蹤數(shù)據(jù)的數(shù)量可以被減少。追蹤電路可以被配置為以很多方式選擇被選擇的參考地址。在一個(gè)實(shí)施例中,追蹤電路可以被配置為確定與多個(gè)參考地址寄存器中的各個(gè)參考地址寄存器相對(duì)應(yīng)的多個(gè)候選第二信息值。每個(gè)候選第二信息值指示該候選第二信息值相對(duì)應(yīng)的相關(guān)存儲(chǔ)器地址和在參考地址寄存器中存儲(chǔ)的參考地址之間的差。追蹤電路可以選擇與最有效的候選第二信息值相對(duì)應(yīng)的參考地址寄存器作為被選擇的參考地址寄存器。最有效的候選第二信息值一般是導(dǎo)致追蹤數(shù)據(jù)單元的最有效的編碼的值。如果多個(gè)候選第二信息值同等有效,則這些值中的任意一個(gè)被選擇作為最有效的候選第二信息值。追蹤電路然后可以生成指示與最有效的候選第二信息值相對(duì)應(yīng)的第二信息的追蹤數(shù)據(jù)單元。通過(guò)選擇與最有效的候選值相對(duì)應(yīng)的參考地址寄存器作為被選擇的參考地址寄存器,可以更有效地對(duì)追蹤數(shù)據(jù)進(jìn)行編碼。在一個(gè)實(shí)施例中,最有效的候選第二信息值被包括在追蹤數(shù)據(jù)單元中,以提供相應(yīng)的第二信息。但是,在其他實(shí)施例中,最有效的候選第二信息值不需要總被包括在追蹤數(shù)據(jù)單元中,并且有時(shí)其他種類(lèi)的信息也可以被包括在追蹤數(shù)據(jù)單元中來(lái)指示相應(yīng)的第二信息。例如,當(dāng)相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間存在精確匹配時(shí),最有效的候選第二信息將指示零差,所以相應(yīng)的第二信息可以被利用零比特表示在追蹤數(shù)據(jù)單元中,其中通過(guò)以上所述的方式,地址信息的缺失指示精確匹配。在一個(gè)示例中,最有效的候選第二信息值是這樣的候選第二信息值,其中與該候選第二信息值的相對(duì)應(yīng)的第二信息可以利用最小數(shù)目的比特來(lái)表示。通過(guò)將可以利用最少比特表示的第二信息包括在追蹤數(shù)據(jù)單元中,可以減少追蹤數(shù)據(jù)的數(shù)量。替代地,最有效的候選第二信息值可以被選擇作為這樣的候選第二信息值,其中如果與該候選第二信息值相對(duì)應(yīng)的第二信息被包括在追蹤數(shù)據(jù)單元流中的追蹤數(shù)據(jù)單元中,將會(huì)使得追蹤數(shù)據(jù)單元流中的追蹤數(shù)據(jù)的總量最少。所以,通過(guò)選擇參考地址寄存器中適當(dāng)?shù)囊粋€(gè)作為被選擇的參考地址寄存器,可以減少追蹤數(shù)據(jù)的總量。第二信息可以通過(guò)很多方式來(lái)指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的差。在一個(gè)實(shí)施例中,第二信息可以指示具有與被選擇的參考地址寄存器的被選擇的參考地址的相應(yīng)部分不同的比特值的相關(guān)存儲(chǔ)器地址的部分。通過(guò)提供指示具有與被選擇的參考地址的相應(yīng)比特不同的比特的部分的第二信息,并且省去相關(guān)存儲(chǔ)器地址和被選擇的參考地址中的相同的共有部分,可以利用比相關(guān)存儲(chǔ)器地址更少的比特來(lái)表示第二信息。替代地,第二信息可以指示相關(guān)存儲(chǔ)器地址和被選擇的存儲(chǔ)器地址之間的數(shù)字差。在這種情況下,追蹤電路可以通過(guò)從被選擇的參考地址減去相關(guān)存儲(chǔ)器地址來(lái)生成第二信息,或者反之生成數(shù)字差。可以提供存儲(chǔ)在追蹤操作期間不變的固定參考地址的參考地址寄存器。但是,在一個(gè)實(shí)施例中,追蹤電路可以被配置為在生成追蹤數(shù)據(jù)單元后,執(zhí)行用于根據(jù)相關(guān)存儲(chǔ)器地址來(lái)有選擇地更新多個(gè)參考地址寄存器中的至少一個(gè)的參考地址的參考地址更新操作。本技術(shù)認(rèn)識(shí)到,用于一個(gè)處理操作的相關(guān)存儲(chǔ)器地址與用于一個(gè)或多個(gè)后續(xù)處理操作的相關(guān)存儲(chǔ)器地址相似的可能性很大。例如,程序指令的循環(huán)可以分支到相同的目的地地址很多次,或者一系列的加載/存儲(chǔ)操作可以在相鄰的存儲(chǔ)器地址塊上執(zhí)行。所以,通過(guò)為追蹤電路提供根據(jù)相關(guān)存儲(chǔ)器地址來(lái)更新至少一個(gè)參考地址寄存器的參考地址的能力,用于后續(xù)處理操作的相關(guān)存儲(chǔ)器地址與參考地址之一相同或者相似的可能性增加,從而可以減少追蹤數(shù)據(jù)的總量。在一個(gè)實(shí)施例中,參考地址更新操作包括將相關(guān)地址寫(xiě)到從多個(gè)參考地址寄存器中選擇的犧牲參考地址寄存器。然后,相關(guān)存儲(chǔ)器地址成為可以被用在相關(guān)操作上以生成追蹤數(shù)據(jù)單元的參考地址之一。通過(guò)利用相關(guān)存儲(chǔ)器地址來(lái)更新參考地址之一,用于候選處理操作的相關(guān)存儲(chǔ)器地址和參考地址之一之間的差較小的可能性更大。追蹤電路不必在每個(gè)處理操作之后或者在每個(gè)追蹤數(shù)據(jù)單元被生成之后更新參考地址寄存器。有時(shí),追蹤電路可以不對(duì)參考地址中的任意一個(gè)進(jìn)行更新。例如,在一個(gè)實(shí)施例中,參考地址更新操作包括(a)針對(duì)至少一個(gè)參考地址寄存器,確定相應(yīng)的參考地址和所述相關(guān)存儲(chǔ)器地址之間的地址差是否超過(guò)了預(yù)定閾值;以及(b)針對(duì)所述至少一個(gè)參考地址寄存器中的每一個(gè)參考地址寄存器,在所述地址差超過(guò)了所述預(yù)定閾值的情況下,將所述相關(guān)存儲(chǔ)器地址寫(xiě)到從所述至少一個(gè)參考地址寄存器中選擇的犧牲參考地址寄存器。期望參考地址寄存器存儲(chǔ)不同范圍的存儲(chǔ)器地址空間中的廣闊范圍的不同參考地址,因?yàn)檫@將增大任意的給定相關(guān)存儲(chǔ)器地址與參考地址之一相差很小數(shù)量的可能性。 為了避免過(guò)多的相似參考地址值被存儲(chǔ)在參考地址寄存器中,針對(duì)至少一個(gè)參考地址寄存器,追蹤電路可以確定相關(guān)存儲(chǔ)器地址和相應(yīng)的參考地址之間的地址差是否超過(guò)了預(yù)定閾值。然后,在地址差超過(guò)預(yù)定閾值的情況下,追蹤電路可以將相關(guān)存儲(chǔ)器地址寫(xiě)到犧牲參考地址寄存器。如果地址差沒(méi)有超過(guò)閾值,則指示參考地址之一已經(jīng)被存儲(chǔ)在參考地址寄存器中實(shí)質(zhì)上將像相關(guān)參考地址被存儲(chǔ)在參考地址寄存器中一樣有利于壓縮追蹤數(shù)據(jù),所以在這種情況中,將對(duì)利用相關(guān)存儲(chǔ)器地址來(lái)更新參考地址寄存器基本沒(méi)有什么好處。所以, 在這種情況中,追蹤電路可以選擇不利用相關(guān)存儲(chǔ)器地址對(duì)參考地址寄存器進(jìn)行更新??梢酝ㄟ^(guò)很多方式來(lái)定義用于確定是否利用給定的相關(guān)存儲(chǔ)器地址來(lái)更新參考地址寄存器的閾值地址差。例如,預(yù)定閾值可以是用于不同于參考地址的相應(yīng)部分的相關(guān)存儲(chǔ)器地址的部分的比特的閾值數(shù)目。例如,如果比特的閾值數(shù)目為4比特,則追蹤電路可以在相關(guān)存儲(chǔ)器地址與現(xiàn)有的參考地址之一相差4比特以上的情況下利用相關(guān)存儲(chǔ)器地址來(lái)更新參考地址之一。替代地,閾值地址差可以被定義為數(shù)字差,從而使得在相關(guān)存儲(chǔ)器地址和現(xiàn)有的參考地址之間的數(shù)字差大于閾值的情況下相關(guān)存儲(chǔ)器地址被存儲(chǔ)到參考地址寄存器之一。在一個(gè)實(shí)施例中,預(yù)定閾值與用于指示第二信息的地址部分的最小尺寸相對(duì)應(yīng)。 在一些追蹤編碼機(jī)制中,用于指示第二信息的地址部分可以具有最小尺寸。如果相關(guān)存儲(chǔ)器地址和現(xiàn)有的參考地址之一之間的差不超過(guò)預(yù)定閾值(即,可以利用最小數(shù)目的地址部分表示該差),則使用相關(guān)存儲(chǔ)器地址作為參考地址將不會(huì)比使用現(xiàn)有的參考地址更多地減少追蹤數(shù)據(jù)的數(shù)量,所以將相關(guān)存儲(chǔ)器地址寫(xiě)到參考地址寄存器將不會(huì)又什么好處。在預(yù)定閾值是在相關(guān)存儲(chǔ)器地址和參考地址之間改變的部分的比特的閾值數(shù)目的情況下,該閾值可以對(duì)應(yīng)于最小尺寸的地址部分中的比特的數(shù)目。替代地,在預(yù)定閾值是數(shù)字差的情況下,這將對(duì)應(yīng)于可以利用地址部分的最小尺寸來(lái)表示的最大的正或負(fù)值。例如,如果最小尺寸是6比特,并且地址部分使用無(wú)符號(hào)的二進(jìn)制表示,則閾值可以對(duì)應(yīng)于數(shù)字差63 (起始可以使用地址部分表示的最大值)。替代地,可以利用有符號(hào)的二進(jìn)制表示來(lái)表示數(shù)字差, 所以例如,6比特的地址部分可以表示-32到31的范圍中的值。在這種情況中,預(yù)定閾值可以是用于負(fù)地址差的-32以及用于正地址差的31。注意,對(duì)于負(fù)差值,如果其小于閾值則認(rèn)為該差“超過(guò)” 了閾值(即,其絕對(duì)值大于閾值的絕對(duì)值,例如,差-35將被認(rèn)為超過(guò)了閾值-32)。追蹤電路可以被配置為執(zhí)行犧牲選擇操作來(lái)選擇參考地址寄存器中的犧牲參考地址寄存器,其中在參考地址更新期間相關(guān)存儲(chǔ)器地址被寫(xiě)到該犧牲參考地址寄存器。如果任意參考地址已經(jīng)被存儲(chǔ)在犧牲地址寄存器中,則其將被相關(guān)存儲(chǔ)器地址覆寫(xiě)。追蹤電路可以使用任意種類(lèi)的犧牲選擇操作,例如,隨機(jī)、最近最少使用(LRU)或者輪詢。例如,寄存器可以被與指示最近最多更新的寄存器的指針相關(guān)聯(lián),并且可以通過(guò)選擇指針?biāo)甘镜募拇嫫骱竺娴挠糜谥鸪龅募拇嫫鱽?lái)實(shí)現(xiàn)輪詢犧牲選擇機(jī)制。在一個(gè)實(shí)施例中,追蹤電路可以響應(yīng)于鎖定信號(hào),有選擇地將至少一個(gè)參考地址寄存器排除到由參考地址更新操作的更新之外。所以,鎖定信號(hào)可以被用來(lái)動(dòng)態(tài)選擇給定的寄存器,以確保這些寄存器繼續(xù)存儲(chǔ)它們當(dāng)前的參考地址。例如,如果特定序列的程序指令將使用特定的相關(guān)存儲(chǔ)器地址多次,并且參考地址寄存器存儲(chǔ)了與重復(fù)的相關(guān)存儲(chǔ)器地址相似的給定參考地址,則鎖定信號(hào)可以被用來(lái)向追蹤電路通知給定的參考地址不應(yīng)該被丟棄或覆寫(xiě),從而增加了追蹤流被顯著程度地壓縮的可能性。不必是所有的參考地址寄存器都可以被更新。在一個(gè)實(shí)施例中,存在至少一個(gè)用于存儲(chǔ)預(yù)定的參考地址的固定參考地址寄存器。固定參考地址寄存器然后可以被排除在由參考地址更新操作的更新之外。例如,特定的存儲(chǔ)器地址可以被頻繁地用在程序指令中,所以提供存儲(chǔ)該地址的固定參考地址寄存器是非常有用的。在一個(gè)實(shí)施例中,至少一個(gè)參考地址寄存器可以是與存儲(chǔ)器地址空間中的相關(guān)范圍的存儲(chǔ)器地址相關(guān)聯(lián)的范圍特定的參考地址寄存器。然后,在相關(guān)存儲(chǔ)器地址處于該寄存器的相關(guān)范圍之外的情況下,追蹤電路可以將該范圍特定的參考地址寄存器排除在被更新的范圍之外。所以,范圍特定的參考地址寄存器只可以存儲(chǔ)相關(guān)范圍內(nèi)的地址。相關(guān)范圍不需要是連續(xù)的存儲(chǔ)器范圍,但可以包括多個(gè)離散的地址范圍。在一個(gè)示例中,如果提供了分別于不同的地址范圍相關(guān)聯(lián)的不同的范圍特定的寄存器,則這可以被用來(lái)確保參考地址寄存器存儲(chǔ)貫穿整個(gè)存儲(chǔ)器地址空間分布的參考地址,從而使得相關(guān)存儲(chǔ)器地址和參考地址之一之間的差較小的可能性增加。在另一示例中,參考地址寄存器可以是范圍特定的, 從而至少一個(gè)范圍的相關(guān)存儲(chǔ)器地址被排除在被寫(xiě)到任意參考地址寄存器的范圍之外。在一個(gè)實(shí)施例中,參考地址寄存器的至少一個(gè)子集可以被耦合在一起以形成參考地址流水線,并且參考地址更新操作可以包括根據(jù)相關(guān)存儲(chǔ)器地址來(lái)更新流水線中的地址。該流水線可以提供用于以確保在較新的相關(guān)地址之前較舊的相關(guān)地址被覆寫(xiě)的方式來(lái)更新參考地址的方便的機(jī)制。在流水線中,參考地址更新操作可以包括有選擇地對(duì)流水線的參考地址寄存器之間的參考地址進(jìn)行移位。在一個(gè)實(shí)施例中,參考地址流水線包括N個(gè)參考地址寄存器,并且所述參考地址更新操作包括將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器,并且將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的第一參考地址寄存器。在該示例中,流水線的第一個(gè)參考地址寄存器包括最新的相關(guān)存儲(chǔ)器地址,第二地址寄存器包括第二最新的相關(guān)存儲(chǔ)器地址,等等。當(dāng)新的相關(guān)存儲(chǔ)器地址被添加到流水線時(shí),流水線中的第N個(gè)地址寄存器的內(nèi)容丟失。這種技術(shù)對(duì)于指令地址尤其有用,因?yàn)橄嗤姆种康牡氐刂房赡軙?huì)在指令流中出現(xiàn)很多次(例如,在程序循環(huán)中),所以通過(guò)將流水線配置為包括與N個(gè)最新的相關(guān)存儲(chǔ)器地址相對(duì)應(yīng)的參考地址,相關(guān)存儲(chǔ)器地址與參考地址之一精確匹配的可能性增大。替代地,參考地址流水線可以包括N個(gè)參考地址寄存器,并且被選擇的參考地址寄存器是流水線的第M個(gè)參考地址寄存器N),參考地址更新操作可以包括
如果M > 1,則將所述參考地址流水線的第1至第M-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器;以及將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的第一個(gè)參考地址寄存器。在這種情況中,流水線的參考地址寄存器中的哪個(gè)被更新取決于哪個(gè)參考地址寄存器被用作用于生成追蹤數(shù)據(jù)單元的被選擇的參考地址寄存器。如果M> 1,則被選擇的參考地址寄存器之前的參考地址寄存器中的參考地址被移位到下一參考地址寄存器(并且被選擇的參考地址寄存器被利用前一參考地址寄存器的參考地址更新),然后相關(guān)存儲(chǔ)器地址被寫(xiě)到流水線的第一個(gè)參考地址寄存器。在這種技術(shù)中,由于用于生成追蹤數(shù)據(jù)單元的參考地址被從流水線中移除并且隨后被相關(guān)存儲(chǔ)器地址替換,所以流水線中存在多個(gè)副本或者相似地址的可能性降低,從而使得流水線中的參考地址將被更均勻地分布在存儲(chǔ)器空間中。然而,通過(guò)將相關(guān)存儲(chǔ)器地址添加到第一個(gè)參考地址寄存器,最新的相關(guān)存儲(chǔ)器地址再次位于流水線的頭部,并且仍然較舊的相關(guān)存儲(chǔ)器地址停留在流水線中的時(shí)間長(zhǎng)。這種技術(shù)對(duì)于數(shù)據(jù)地址尤其有用,其中與參考地址精確匹配的可能性對(duì)于指令地址來(lái)說(shuō)比較低,所以提供較大范圍的可用參考地址是有用的。如果被選擇的參考地址寄存器是流水線的第一個(gè)參考地址寄存器(即,M= 1),則流水線操作還可以包括確定所述相關(guān)存儲(chǔ)器地址和所述第一參考地址寄存器的參考地址之間的差是否超過(guò)預(yù)定閾值;以及如果所述差超過(guò)了所述預(yù)定閾值,則在將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的所述第一個(gè)參考地址寄存器之前,將參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器。該技術(shù)再次認(rèn)識(shí)到不期望將太多相似的地址值寫(xiě)入流水線。如果M = 1并且第一個(gè)參考地址和相關(guān)存儲(chǔ)器地址之間的差沒(méi)有超過(guò)預(yù)定閾值,則將流水線中的所有參考地址向上移位并且將相關(guān)存儲(chǔ)器地址寫(xiě)到第一個(gè)參考地址寄存器將導(dǎo)致流水線的頭兩個(gè)寄存器中存在兩個(gè)相似的地址值。所以,相反,追蹤電路簡(jiǎn)單地用相關(guān)存儲(chǔ)器地址來(lái)替換第一個(gè)參考地址寄存器的地址。另一方面,如果M = 1并且第一個(gè)參考地址和相關(guān)存儲(chǔ)器地址之間的差超過(guò)了預(yù)定閾值,則在流水線中提供這兩個(gè)地址是非常有用的,所以追蹤電路將流水線中的參考地址向上移位一階,然后將相關(guān)存儲(chǔ)器地址寫(xiě)到第一個(gè)參考地址寄存器。這種技術(shù)允許地址寄存器增多,而不會(huì)導(dǎo)致太多的流水線移位(太多的流水線移位將在地址寄存器中留下非常相似的地址值)。另外,預(yù)定閾值可以與如上所述的最小地址部分尺寸相對(duì)應(yīng),并且可以被指示為用于不同于參考地址的相應(yīng)部分的相關(guān)存儲(chǔ)器地址的部分的比特的閾值數(shù)目或者數(shù)字差閾值。如上所述,追蹤電路可以根據(jù)地址寄存器中與最有效的候選第二信息值相對(duì)應(yīng)的地址寄存器來(lái)選擇被選擇的參考地址寄存器。在流水線實(shí)施例中,當(dāng)存在其相應(yīng)的候選第二信息值同等有效的多個(gè)參考地址寄存器時(shí),追蹤電路可以選擇多個(gè)參考地址寄存器中最接近參考地址流水線的末端的參考地址寄存器作為被選擇的參考地址寄存器。這是非常有用的,因?yàn)橥扔行У膮⒖嫉刂芳拇嫫髦械淖罾系膮⒖嫉刂芳拇嫫?即,最不可能用于將來(lái)的地址追蹤的參考地址)將被從流水線中移除,并被相關(guān)地址替換(在該地址被用于生成追蹤數(shù)據(jù)之后)。
替代地,當(dāng)存在其相應(yīng)的候選第二信息值同等有效的多個(gè)參考地址寄存器時(shí),追蹤電路可以選擇多個(gè)參考地址寄存器中的任意一個(gè)作為被選擇的參考地址寄存器。在一個(gè)實(shí)施例中,追蹤電路可以響應(yīng)于初始化事件,將默認(rèn)參考地址存儲(chǔ)到多個(gè)參考地址寄存器中的每一個(gè)。例如,默認(rèn)參考地址可以是其比特值全部為零值的地址。針對(duì)地址寄存器中的每一個(gè),默認(rèn)參考地址不需要相同。在一個(gè)實(shí)施例中,初始化事件是追蹤電路被初始化從而使得當(dāng)追蹤電路開(kāi)始生成追蹤流,并且參考地址寄存器全部存儲(chǔ)已知的默認(rèn)參考地址值。所以,診斷單元分析追蹤流可以知道參考地址寄存器的什么內(nèi)容處于追蹤流的開(kāi)端處。另外,初始化事件可以是用于觸發(fā)追蹤電路生成并輸出追蹤同步數(shù)據(jù)單元的追蹤同步事件。這是非常有用的,因?yàn)樽粉櫫鞯淖粉檾?shù)據(jù)單元的一般分析取決于流中的在前追蹤數(shù)據(jù)單元的分析(例如,診斷電路可以基于從先前的追蹤數(shù)據(jù)單元推斷出的處理結(jié)果來(lái)確定參考地址寄存器的內(nèi)容)。通過(guò)提供用于觸發(fā)追蹤電路生成并輸出追蹤同步數(shù)據(jù)單元的追蹤同步事件,并且在出現(xiàn)追蹤同步事件時(shí)重新初始化參考地址寄存器,為診斷電路提供追蹤流中的參考點(diǎn),其中診斷電路可以從該參考點(diǎn)開(kāi)始分析追蹤流,而無(wú)需知道先前的追蹤數(shù)據(jù)。這意味著,診斷單元可以從追蹤同步數(shù)據(jù)單元所指示的參考點(diǎn)開(kāi)始分析追蹤數(shù)據(jù),而不必從追蹤流的起始位置開(kāi)始。在本技術(shù)中,處理電路可以被配置為響應(yīng)于多個(gè)不同類(lèi)型的數(shù)據(jù)處理指令而執(zhí)行數(shù)據(jù)處理操作,并且針對(duì)這些多種類(lèi)型中的每一種類(lèi)型,追蹤電路可以被配置為選擇參考地址寄存器中的任意一個(gè),從而使得追蹤電路使用相同的參考地址寄存器來(lái)生成指示不同類(lèi)型的數(shù)據(jù)處理指令的追蹤數(shù)據(jù)單元。所以,被選擇的參考地址寄存器的選擇取決于數(shù)據(jù)處理指令的類(lèi)型。每個(gè)地址寄存器可以保存與任意類(lèi)型的指令相關(guān)聯(lián)的地址。對(duì)于任意指令,追蹤電路可以自由選擇所選擇的參考地址寄存器中的任意一個(gè)作為被選擇的寄存器, 從而使得相關(guān)存儲(chǔ)器地址和參考地址之一之間存在較小的差的可能性更大。所以,相比于僅針對(duì)任意特定類(lèi)型的指令提供單個(gè)地址寄存器的現(xiàn)有技術(shù),追蹤流可以被更大程度地壓縮。多種類(lèi)型的數(shù)據(jù)處理指令可以包括例如,以下指令中的至少兩個(gè)分支指令、當(dāng)例外事件發(fā)生時(shí)執(zhí)行的指令、在例外事件發(fā)生后指示執(zhí)行的指令、處理電路當(dāng)前執(zhí)行的指令、裝載指令、以及存儲(chǔ)指令。鑒于又一方面,本發(fā)明提供了一種數(shù)據(jù)處理裝置,包括存儲(chǔ)器部件,用于存儲(chǔ)數(shù)據(jù),所述存儲(chǔ)器部件包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置;處理部件,用于響應(yīng)于指令而執(zhí)行處理操作;以及追蹤部件,用于生成指示由所述處理部件執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤部件包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器部件;并且所述追蹤部件響應(yīng)于所述處理部件處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作,選擇所述多個(gè)參考地址寄存器部件之一作為被選擇的參考地址寄存器部件,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)是所述被選擇的參考地址寄存器部件的第一信息;以及
(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。鑒于又一方面,本發(fā)明提供了一種用于輸出處理裝置的數(shù)據(jù)處理方法,所述數(shù)據(jù)處理裝置包括存儲(chǔ)器,該存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述方法包括以下步驟響應(yīng)于指令而執(zhí)行處理操作;將多個(gè)參考地址存儲(chǔ)在多個(gè)參考地址寄存器中;生成指示由所述處理電路執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流;以及輸出所述追蹤數(shù)據(jù)單元流;其中所述生成追蹤數(shù)據(jù)單元流的步驟包括響應(yīng)于與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的執(zhí)行,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是所述被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。鑒于另一方面,本發(fā)明提供了一種用于監(jiān)控處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤單元,所述處理裝置包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述追蹤單元包括追蹤電路,被配置為生成指示由所述處理裝置執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述追蹤電路響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是所述被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。鑒于另一方面,本發(fā)明提供了一種用于監(jiān)控處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤單元,所述處理裝置包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器部件,所述存儲(chǔ)器部件包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述追蹤單元包括追蹤部件,用于生成指示由所述處理裝置執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤部件包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述追蹤裝置響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器部件之一作為被選擇的參考地址寄存器部件并且輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)參考地址寄存器部件是所述被選擇的參考地址寄存器部件的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。鑒于另一方面,本發(fā)明提供了一種用于分析指示處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流的診斷裝置,所述處理裝置包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述診斷裝置包括追蹤輸入端,用于接收所述追蹤數(shù)據(jù)單元流;以及診斷電路,被配置為分析所述追蹤數(shù)據(jù)單元流,以確定所述處理操作的處理結(jié)果; 其中所述診斷電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述診斷電路響應(yīng)于所述處理裝置處理用由于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,而進(jìn)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)參考地址寄存器是被選擇的參考地址寄存器的第一信息; ( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息;以及(b)根據(jù)所述第二信息和在所述被選擇的參考地址寄存器中存儲(chǔ)的所述被選擇的參考地址確定所述相關(guān)存儲(chǔ)器地址。用于分析所生成的追蹤數(shù)據(jù)單元的診斷裝置可以包括與處理裝置的追蹤單元中的參考地址寄存器相對(duì)應(yīng)的參考地址寄存器。當(dāng)分析追蹤數(shù)據(jù)單元時(shí),診斷電路可以存取由執(zhí)行裝置執(zhí)行的指令的指示。當(dāng)診斷電路碰到處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)的處理操作的指令的指示時(shí),診斷電路可以在追蹤數(shù)據(jù)單元流中定位相應(yīng)的追蹤數(shù)據(jù)單元。相應(yīng)的追蹤數(shù)據(jù)單元指示第一信息和第二信息,其中第一信息指示當(dāng)追蹤單元生成追蹤數(shù)據(jù)單元時(shí)所選擇的被選擇的參考地址寄存器,第二信息指示相關(guān)存儲(chǔ)器地址和在被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差。診斷電路然后可以存取由第一信息指示的參考地址寄存器,并且根據(jù)第二信息和參考地址寄存器中存儲(chǔ)的被選擇的參考地址來(lái)確定相關(guān)存儲(chǔ)器地址。所以,診斷電路可以對(duì)追蹤流進(jìn)行解壓縮,以標(biāo)識(shí)相關(guān)存儲(chǔ)器地址。另外,盡管可以使用追蹤數(shù)據(jù)單元的各種編碼,但是在一個(gè)實(shí)施例中,追蹤數(shù)據(jù)單元可以包括指示第一信息的頭部部分和指示第二信息的地址部分。在追蹤數(shù)據(jù)單元被發(fā)現(xiàn)不包括地址部分的情況下,診斷電路可以確定相關(guān)存儲(chǔ)器地址與被選擇的參考地址相同。 所以,地址部分的缺失意味著相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間存在精確匹配。在第二信息被指示為具有與選擇地址的相應(yīng)部分不同的比特值的相關(guān)存儲(chǔ)器地址的部分的情況下,診斷電路可以將相關(guān)存儲(chǔ)器地址確定為具有等于通過(guò)以下處理得到的值的地址值(i)從所述被選擇的參考地址的比特值開(kāi)始;(ii)用由所述第二信息指示的所述相關(guān)存儲(chǔ)器地址的所述部分的比特值來(lái)替換所述被選擇的參考地址的所述相應(yīng)部分的比特值。應(yīng)該明白,診斷電路不需要實(shí)際執(zhí)行步驟(i)和(ii),但可以執(zhí)行將使地址值具有與通過(guò)步驟(i)和(ii)獲得的值相等的值的邏輯或算術(shù)操作的任意組合。替代地,在第二信息指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的數(shù)字差的情況下,診斷電路可以通過(guò)將該數(shù)字差與被選擇的參考地址相加來(lái)確定相關(guān)存儲(chǔ)器地址。診斷電路可以在確定相關(guān)存儲(chǔ)器地址之后,通過(guò)以與追蹤單元相對(duì)應(yīng)的方式執(zhí)行參考地址更新操作來(lái)有選擇地更新所述多個(gè)參考地址寄存器之一的參考地址。參考地址更新操作可以包括將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述多個(gè)參考地址寄存器的犧牲參考地址寄存器。參考地址更新操作可以包括(a)針對(duì)至少一個(gè)參考地址寄存器,確定相應(yīng)參考地址和所述相關(guān)存儲(chǔ)器地址之間的地址差是否超過(guò)預(yù)定閾值;以及(b)針對(duì)所述至少一個(gè)參考地址寄存器中的每一個(gè),如果所述地址差超過(guò)所述預(yù)定閾值,則將所述相關(guān)存儲(chǔ)器地址寫(xiě)到從所述至少一個(gè)參考地址寄存器選擇的犧牲參考地址寄存器。追蹤數(shù)據(jù)單元可以包括指示所述第二信息的地址部分,并且所述預(yù)定閾值可以與所述地址部分的最小尺寸相對(duì)應(yīng)。診斷電路可以被配置為執(zhí)行犧牲選擇操作,以選擇所述多個(gè)參考地址寄存器中的哪個(gè)是犧牲參考地址寄存器。診斷電路可以響應(yīng)于鎖定信號(hào),有選擇地將至少一個(gè)參考地址寄存器排除在由參考地址更新操作更新的范圍之外。多個(gè)參考地址寄存器中的至少一個(gè)可以是用于存儲(chǔ)預(yù)先定義的參考地址的固定參考地址寄存器,并且診斷電路可以將固定參考地址寄存器排除在有所述參考地址更新操作更新的范圍之外。所述多個(gè)參考地址寄存器中的至少一個(gè)可以是與所述存儲(chǔ)器地址的相關(guān)范圍相關(guān)聯(lián)的范圍特定的參考地址寄存器,并且在相關(guān)存儲(chǔ)器地址處于所述存儲(chǔ)器地址的相關(guān)范圍之外的情況下,診斷電路可以將范圍特定的參考地址寄存器排除在有參考地址更新操作更新的范圍之外。多個(gè)參考地址寄存器的至少一個(gè)子集可以被耦合在一起以形成參考地址流水線, 并且參考地址更新操作可以包括根據(jù)相關(guān)存儲(chǔ)器地址來(lái)更新參考地址流水線中的參考地址。參考地址流水線可以包括N個(gè)參考地址寄存器;并且所述參考地址更新操作可以包括將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器,并且將所述相關(guān)存儲(chǔ)器地址存儲(chǔ)到所述參考地址流水線的第一個(gè)參考地址寄存器。參考地址流水線包括N個(gè)參考地址寄存器,被選擇的參考地址寄存器可以包括所述參考地址流水線的第M個(gè)參考地址寄存器,其中KMS N,所述參考地址更新操作可以包括如果M > 1,則將所述參考地址流水線的第一至第M-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器;以及將所述相關(guān)存儲(chǔ)器地址存儲(chǔ)到所述參考地址流水線的第一個(gè)參考地址寄存器。如果M = 1,則參考地址更新操作還可以包括確定所述相關(guān)存儲(chǔ)器地址和所述第一個(gè)參考地址寄存器的參考地址之間的差是否超過(guò)預(yù)定閾值;以及如果所述差超過(guò)所述預(yù)定閾值,則在將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的所述第一個(gè)參考地址寄存器之前,將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器。另外,預(yù)定閾值可以與地址部分的最小尺寸相對(duì)應(yīng)。預(yù)定閾值可以是用于與第一個(gè)參考地址寄存器的參考地址的相應(yīng)部分不同的相關(guān)存儲(chǔ)器地址的部分的比特的閾值數(shù)目,或者可以是閾值數(shù)字差。診斷電路可以通過(guò)與追蹤單元相對(duì)應(yīng)的方式將默認(rèn)參考地址存儲(chǔ)到每個(gè)參考地址寄存器來(lái)對(duì)初始化事件進(jìn)行響應(yīng)。初始化事件可以是診斷電路被激活從而開(kāi)始分析追蹤流,使得默認(rèn)參考地址在開(kāi)始分析追蹤流時(shí)被使用。另外,初始化事件可以是診斷電路對(duì)追蹤數(shù)據(jù)單元流中的追蹤同步數(shù)據(jù)單元進(jìn)行響應(yīng)。由于參考地址寄存器在追蹤同步數(shù)據(jù)單元處被重新初始化,所以追蹤同步數(shù)據(jù)單元提供了這樣的參考點(diǎn),在該點(diǎn)處,追蹤數(shù)據(jù)分析被開(kāi)啟,而無(wú)需從先前的追蹤數(shù)據(jù)單元得出的信息。鑒于另一方面,本發(fā)明提供了一種診斷裝置,用于分析指示由處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流,所述處理裝置包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器裝置, 所述存儲(chǔ)器裝置包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述診斷裝置包括追蹤輸入部件,用于接收所述追蹤數(shù)據(jù)單元流;以及診斷裝置,用于分析所述追蹤數(shù)據(jù)單元流,以確定所述處理操作的處理結(jié)果;其中所述診斷裝置包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;以及所述診斷裝置響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令的指示而進(jìn)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)是被選擇的參考地址寄存器部件的第一信息;以及 ( )指示所述相關(guān)存儲(chǔ)器地址和所述被選擇的參考地址寄存器裝置中存儲(chǔ)的被選擇的參考地址之間的差的第二信息;以及(b)根據(jù)所述第二信息和所述被選擇的參考地址寄存器裝置中存儲(chǔ)的所述被選擇的參考地址確定所述相關(guān)存儲(chǔ)器地址。鑒于另一方面,本發(fā)明提供了一種用于分析指示處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流的方法,所述處理裝置包括存儲(chǔ)器,該存儲(chǔ)器包括由相應(yīng)存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述方法包括以下步驟接收所述追蹤數(shù)據(jù)單元流;將多個(gè)參考地址存儲(chǔ)在多個(gè)參考地址寄存器中;以及分析所述追蹤數(shù)據(jù)單元流, 以確定所述處理操作的處理結(jié)果;其中所述分析的步驟包括響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令而進(jìn)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的
差的第二信息;以及(b)根據(jù)所述第二信息和在所述被選擇的參考地址寄存器中存儲(chǔ)的所述被選擇的參考地址確定所述相關(guān)存儲(chǔ)器地址。通過(guò)將結(jié)合附圖閱讀的說(shuō)明性實(shí)施例的以下詳細(xì)描述,將明白本發(fā)明的以上和其他目的、特征和優(yōu)點(diǎn)。


圖1示意性地示出了處理裝置、追蹤電路、和診斷裝置;圖2示出了追蹤數(shù)據(jù)單元的生成,其中相關(guān)地址和被選擇的參考地址之間的差被指示為具有與被選擇的參考地址的相應(yīng)部分不同的比特值的相關(guān)地址的部分;圖3示出了追蹤數(shù)據(jù)單元的生成,其中相關(guān)地址和被選擇的參考地址之間的差被指示為相關(guān)地址和被選擇的參考地址之間的數(shù)字差;圖4示出了在追蹤數(shù)據(jù)單元中指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間存在精確匹配的不同方式;圖5示意性地示出了用于生成追蹤數(shù)據(jù)單元的方法;圖6示意性地示出了分析追蹤數(shù)據(jù)單元流的相應(yīng)方法;圖7示意性地示出了包括多個(gè)參考地址寄存器的參考地址流水線;圖8示意性地示出了用于更新參考地址流水線中的參考地址寄存器的參考地址更新操作;圖9是示出如何響應(yīng)于處理操作序列所使用的相關(guān)存儲(chǔ)器地址來(lái)更新流水線中的參考地址寄存器的示例的表格;圖10示出了參考地址流水線的另一示例;圖11示出了用于更新圖10中所示的形式的流水線中的參考地址的參考地址更新操作;圖12是示出可以如何使用圖10和圖11的示例來(lái)更新參考地址的示例的表格;圖13示出了更新參考地址寄存器中的參考地址的另一示例;圖14示出了固定參考地址寄存器的使用;圖15示出了提供了分別與相關(guān)地址范圍相關(guān)聯(lián)的范圍特定的參考地址寄存器的示例;以及圖16示出了用于響應(yīng)于鎖定信號(hào)(lockdown signal)而動(dòng)態(tài)地鎖定特定地址寄存器的技術(shù)。
具體實(shí)施例方式圖1示意性地示出了包括處理電路4、存儲(chǔ)器系統(tǒng)6、以及追蹤電路8的處理裝置 2。存儲(chǔ)器系統(tǒng)6包括用于代表處理電路4存儲(chǔ)數(shù)據(jù)和/或指令的一個(gè)或多個(gè)緩存單元或存儲(chǔ)器單元。處理單元4響應(yīng)于指令執(zhí)行處理操作。追蹤電路8生成指示由處理電路4執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流,并且經(jīng)由追蹤輸出端口 10輸出追蹤數(shù)據(jù)單元流。處理電路4、存儲(chǔ)器系統(tǒng)6、以及追蹤電路8不必被設(shè)置在同一個(gè)集成電路上。例如,在一些實(shí)施例中,追蹤電路8可以被設(shè)置為與處理裝置2的其余部分分開(kāi)設(shè)置的獨(dú)立追蹤單元。由追蹤電路8生成的追蹤數(shù)據(jù)單元流可以被診斷裝置20接收,用于分析追蹤流。追蹤數(shù)據(jù)單元在追蹤輸入端口 22處被接收。診斷裝置20具有診斷電路M,該診斷電路用于分析追蹤數(shù)據(jù)單元以確定由處理電路4執(zhí)行的處理操作的處理結(jié)果。診斷電路M可以存取在追蹤數(shù)據(jù)被生成時(shí)處理電路4所執(zhí)行的指令的指示。該指示可以被提供,例如,作為存儲(chǔ)器系統(tǒng)6中的存儲(chǔ)器地址的指示(處理電路從該存儲(chǔ)器地址開(kāi)始執(zhí)行程序)。替代地, 追蹤電路8可以在追蹤流中包括被執(zhí)行的指令的指示。另外,診斷裝置20本身可以包括用于存儲(chǔ)由處理電路4執(zhí)行的程序的副本的存儲(chǔ)器(圖1中未示出)。診斷電路M使用由追蹤數(shù)據(jù)單元提供的額外信息以及被執(zhí)行的指令的指示,來(lái)推斷處理電路4執(zhí)行處理操作的結(jié)果。追蹤數(shù)據(jù)單元不需要被直接從處理裝置2輸出到診斷裝置20,而可以被追蹤電路 8存儲(chǔ)在存儲(chǔ)器設(shè)備中,然后由診斷電路M從存儲(chǔ)器設(shè)備存取。診斷裝置20可以是例如, 被編程用來(lái)分析追蹤流的通用計(jì)算機(jī)。追蹤電路8包括用于存儲(chǔ)兩個(gè)以上參考地址的兩個(gè)以上參考地址寄存器30-1。當(dāng)追蹤電路8響應(yīng)于處理電路4執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作而生成追蹤數(shù)據(jù)單元時(shí),追蹤電路8選擇參考地址寄存器30-1中的一個(gè)參考地址寄存器,確定相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的參考地址之間的差,并且生成追蹤數(shù)據(jù)單元,其中該追蹤數(shù)據(jù)單元指示第一信息和第二信息,第一信息指示參考地址寄存器30-1中的哪個(gè)參考地址寄存器是被選擇的參考地址寄存器,第二信息指示在相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的參考地址之間存在差的情況下它們之間的差。診斷裝置20具有一組相應(yīng)的參考地址寄存器30-2。當(dāng)分析追蹤流時(shí),診斷電路 24保持參考地址寄存器30-2包含與(當(dāng)追蹤流被生成時(shí))追蹤電路8的參考地址寄存器 30-1中的參考地址相對(duì)應(yīng)的參考地址。當(dāng)診斷電路碰到處理電路4執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指示時(shí),診斷電路M在追蹤流中定位與該操作相對(duì)應(yīng)的追蹤數(shù)據(jù)單元。診斷電路M使用追蹤數(shù)據(jù)單元所指示的第一信息來(lái)確定參考地址寄存器30-2中的被選擇的參考地址寄存器。然后,診斷電路M根據(jù)指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的參考地址之間的差(如果它們之間存在差的話)的第二信息來(lái)確定相關(guān)存儲(chǔ)器地址的值。通過(guò)在追蹤電路8中設(shè)置兩個(gè)以上參考地址寄存器30-1并且在診斷電路M中設(shè)置相應(yīng)的參考地址寄存器30-2,相關(guān)存儲(chǔ)器地址與參考地址寄存器30-1之一中的參考地址相匹配或者與參考地址之一相似的可能性增大,從而使得追蹤數(shù)據(jù)可以被顯著程度壓縮的可能性提高。下面,將使用參考數(shù)字30來(lái)指代追蹤電路8和診斷電路M 二者的參考地址寄存器,以描述該兩組寄存器共有的特征。一般,追蹤電路8選擇這樣的寄存器30-1作為被選擇的參考地址寄存器如果該參考地址寄存器被用來(lái)生成追蹤數(shù)據(jù)單元,則會(huì)導(dǎo)致追蹤數(shù)據(jù)單元的最有效的編碼。一種處理方式是確定與每個(gè)參考地址寄存器30-1相對(duì)應(yīng)的候選值,每個(gè)候選值指示相關(guān)存儲(chǔ)器地址和該參考地址寄存器30-1的相應(yīng)參考地址之間的差。追蹤電路8然后可以選擇與最有效的候選值相對(duì)應(yīng)的參考地址寄存器30-1作為被選擇的參考地址寄存器。最有效的候選地址可以是例如,可以使用最小數(shù)目的比特來(lái)表示的值,或者如果被包括在追蹤數(shù)據(jù)單元中將使得追蹤流中的追蹤數(shù)據(jù)的總量最小的值。通過(guò)選擇將導(dǎo)致追蹤數(shù)據(jù)的最有效的編碼的參考地址寄存器30-1,可以減少追蹤數(shù)據(jù)的數(shù)量。追蹤電路8將第一信息包括在追蹤數(shù)據(jù)單元中以用信號(hào)通知診斷裝置20哪個(gè)寄存器30-1被選擇,從而使得診斷裝置20可以在分析追蹤流時(shí)在其寄存器30-2中做出相應(yīng)的選擇。相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的差可以通過(guò)不同方式來(lái)指示。圖2示出了這樣的示例,其中該差被指示為具有與參考地址的相應(yīng)部分不同的比特值的相關(guān)存儲(chǔ)器地址的部分。例如,追蹤數(shù)據(jù)單元可以指示不同于參考地址的相應(yīng)的最低有效比特的相關(guān)存儲(chǔ)器地址的任意最低有效比特,同時(shí)與參考地址的相應(yīng)比特相同的相關(guān)存儲(chǔ)器的更高有效比特可以被省略。例如,在圖2中,相關(guān)存儲(chǔ)器地址0x00004012與參考地址寄存器0 中的參考地址0x00000000的不同在于0x4012部分。追蹤電路8將相關(guān)存儲(chǔ)器地址與每個(gè)參考地址寄存器30-1中的參考地址相比較, 并且確定針對(duì)每個(gè)參考地址寄存器的候選差值。在圖2的示例中,每個(gè)候選差值代表不同于相應(yīng)參考地址的相應(yīng)部分的相關(guān)地址的部分。然后,最有效的候選地址被確定為例如,具有最少比特的候選值、或者將導(dǎo)致最小數(shù)量的追蹤數(shù)據(jù)的候選值。然后,相應(yīng)的參考地址寄存器被選擇作為被選擇的參考地址寄存器(在圖2的示例中,參考地址寄存器1被選擇,因?yàn)槠湎鄳?yīng)的候選地址提供了最有效的追蹤編碼)。包括第一信息和第二信息的追蹤數(shù)據(jù)單元被生成,其中第一信息指示參考地址寄存器30-1中的哪個(gè)參考地址寄存器是被選擇的參考地址寄存器,并且第二信息對(duì)應(yīng)于最有效的候選值。在該示例中,追蹤數(shù)據(jù)單元包括指示被選擇的參考地址寄存器的頭部部分40和指示差值的地址部分42。當(dāng)分析追蹤數(shù)據(jù)單元時(shí),診斷裝置20可以使用由頭部部分40標(biāo)識(shí)的參考地址寄存器30-2的參考地址和由地址部分42標(biāo)識(shí)的地址差來(lái)確定相關(guān)存儲(chǔ)器地址。替代地,可以設(shè)計(jì)這樣的追蹤編碼,其中被選擇的地址寄存器和差值被編碼在追蹤數(shù)據(jù)單元的共有部分中。圖3示出了地址差被指示為相關(guān)存儲(chǔ)器地址和參考地址之間的數(shù)字差的另一實(shí)施例。在該示例中,追蹤電路8確定針對(duì)每個(gè)參考地址寄存器30的候選差值,每個(gè)候選差值是通過(guò)將相關(guān)存儲(chǔ)器地址和參考地址中的一個(gè)與另一個(gè)相減獲得的。然后,最有效的候選地址可以被選擇作為可以使用最少比特來(lái)代表的值或者將導(dǎo)致最小數(shù)量的追蹤數(shù)據(jù)的值。然后,相應(yīng)的參考地址寄存器被選擇作為用于生成追蹤數(shù)據(jù)單元的被選擇的參考地址寄存器。另外,追蹤數(shù)據(jù)單元可以包括頭部部分40和地址部分42,或者可以具有這樣的編碼,其中,被選擇的參考地址寄存器可以被標(biāo)識(shí),并且可以使用共有值來(lái)指示的差值。當(dāng)分析圖3中所示的追蹤數(shù)據(jù)單元時(shí),診斷電路對(duì)可以通過(guò)將追蹤數(shù)據(jù)單元中所指示的差值與追蹤數(shù)據(jù)單元的頭部部分所標(biāo)識(shí)的被選擇的參考地址寄存器30-2中存儲(chǔ)的地址相加來(lái)確定相關(guān)存儲(chǔ)器地址。有時(shí),相關(guān)存儲(chǔ)器地址可以精確匹配參考地址之一。在這種情況中,可以以多種方式對(duì)追蹤數(shù)據(jù)進(jìn)行編碼,諸如圖4中所示的示例。在示例A中,追蹤數(shù)據(jù)單元通過(guò)將追蹤數(shù)據(jù)單元的地址部分設(shè)置為零值,來(lái)指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的參考地址之間存在精確匹配。替代地,在示例B中,地址部分被設(shè)置為指示存在精確匹配的標(biāo)識(shí)碼。如圖4的示例C中所示,精確匹配也可以由地址部分的缺失來(lái)表示。在這種情況下,僅包括頭部部分的追蹤數(shù)據(jù)單元可以指示相關(guān)存儲(chǔ)器地址與頭部部分中所標(biāo)識(shí)的參考地址寄存器的參考地址相同。所以,在示例C中,通過(guò)地址部分的缺失而不是任意特定的數(shù)據(jù)值來(lái)傳達(dá)第二信息。
如圖4的示例D中所示,標(biāo)識(shí)被選擇的參考地址寄存器的地址頭還可以被修改為指示與地址寄存器中存儲(chǔ)的地址存在精確匹配。所以,圖4示出了相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的零差可以通過(guò)多種方式指示。不必每個(gè)追蹤數(shù)據(jù)單元都包括用于指示第一信息和第二信息的單獨(dú)的值。在示例C和D中,例如,單個(gè)數(shù)據(jù)值提供了第一信息和第二信息二者,其中第一信息標(biāo)識(shí)被選擇的參考地址寄存器,第二信息標(biāo)識(shí)存在零差。一般,追蹤電路9將被配置為根據(jù)處理電路4所使用的地址來(lái)對(duì)參考地址寄存器 30-1中所存儲(chǔ)的參考地址進(jìn)行更新。給定序列的參考指令有可能多次使用相同或相似的地址。例如,指令序列可以被循環(huán)多次,從而使得相同的分支目的地地址可以被重復(fù)使用,或者指令序列可能會(huì)導(dǎo)致與一系列相鄰存儲(chǔ)器地址相關(guān)聯(lián)的加載/存儲(chǔ)操作。通過(guò)根據(jù)相關(guān)存儲(chǔ)器地址有選擇地更新參考地址寄存器30-1,相關(guān)存儲(chǔ)器地址可以被用作用于隨后的處理操作的參考地址,從而使得與隨后的操作相關(guān)聯(lián)的地址與參考地址之一相似的可能性提高。通過(guò)相應(yīng)的方式,診斷電路M可以基于根據(jù)追蹤流確定的相關(guān)存儲(chǔ)器地址來(lái)更新其參考地址寄存器30-2的參考地址。追蹤電路8和診斷電路M不需要利用每個(gè)相關(guān)聯(lián)的存儲(chǔ)器地址來(lái)更新參考地址寄存器30。不期望將很多相似的地址添加到參考地址寄存器,因?yàn)檫@將集中將追蹤流壓縮到可用存儲(chǔ)器空間的特定存儲(chǔ)器范圍的能力。相反,遍及存儲(chǔ)器地址空間分布的多個(gè)參考地址可以增加相關(guān)存儲(chǔ)器地址和參考地址之一之間的差相對(duì)較小的可能性。所以,在生成追蹤數(shù)據(jù)單元之后,在一個(gè)實(shí)施例中,追蹤電路8可以被配置為將相關(guān)聯(lián)的存儲(chǔ)器地址與地址寄存器30-1的現(xiàn)有的參考地址相比較,然后只有在相關(guān)存儲(chǔ)器地址和現(xiàn)有的參考地址之一之間的差大于預(yù)定閾值時(shí)才利用相關(guān)存儲(chǔ)器地址來(lái)更新參考地址寄存器30-1之一。診斷電路M也可以執(zhí)行類(lèi)似比較,并且以類(lèi)似于追蹤電路8的相應(yīng)方式更新參考地址寄存器30-2??梢酝ㄟ^(guò)多種方式來(lái)確定用于確定是否值得對(duì)參考地址寄存器30之一進(jìn)行更新的閾值,例如,可以將該閾值確定為具有與參考地址的相應(yīng)部分不同的比特值的相關(guān)存儲(chǔ)器地址寄存器的部分的比特的閾值數(shù)目,或者數(shù)字差閾值。如果追蹤數(shù)據(jù)單元包括用于指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址之間的差的地址部分42,則閾值可以對(duì)應(yīng)于地址部分42的最小尺寸。例如,如果地址部分具有4比特的最小尺寸,則可以期望利用相關(guān)存儲(chǔ)器地址來(lái)更新參考地址,其中該相關(guān)存儲(chǔ)器地址與現(xiàn)有的參考地址之一的區(qū)別在于可以由 4比特或更少比特表示的地址差(即,如果地址差具有15以下的數(shù)字值)。可以利用存儲(chǔ)默認(rèn)參考地址值的參考地址寄存器30來(lái)對(duì)追蹤電路8和診斷電路 M進(jìn)行初始化。例如,默認(rèn)值可以是為零的地址值。另外,追蹤電路8可以周期性地將參考地址寄存器301-1重新設(shè)置到默認(rèn)值,并且生成追蹤同步分組。診斷裝置20然后可以通過(guò)重新將其參考地址寄存器30-2設(shè)置為默認(rèn)值來(lái)響應(yīng)追蹤同步分組。同步事件可以是例如, 使得診斷裝置20在由追蹤同步分組所指示的中間點(diǎn)開(kāi)始對(duì)追蹤流進(jìn)行分析而不是在追蹤流開(kāi)始時(shí)開(kāi)始分析的周期性事件。圖5示出了生成追蹤數(shù)據(jù)單元流的方法。在步驟50,處理裝置2響應(yīng)于指令而開(kāi)始執(zhí)行處理操作。追蹤電路8監(jiān)控由處理電路4執(zhí)行的指令。在步驟52,追蹤電路8確定處理電路4是否正在執(zhí)行用于執(zhí)行與將要追蹤的相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指
23令(追蹤單元僅可以追蹤相關(guān)存儲(chǔ)器地址的子集)。如果當(dāng)前指令被與將要追蹤的相關(guān)存儲(chǔ)器地址相關(guān)聯(lián),則在步驟M,追蹤電路8 確定針對(duì)每個(gè)參考地址寄存器30-1的候選第二信息。候選第二信息可以是例如,圖2和圖 3的示例中所示的形式的差值。在步驟56,追蹤電路8確定最有效的候選第二信息值。例如,最有效的候選第二信息可以是可以利用最少的比特來(lái)表示或者將產(chǎn)生最少追蹤數(shù)據(jù)的信息。然后,在步驟58,追蹤電路8選擇與最有效的候選第二信息相對(duì)應(yīng)的參考地址寄存器 30-1作為被選擇的參考地址寄存器。在步驟60,追蹤電路8生成指示第一信息和第二信息的追蹤數(shù)據(jù)單元。第一信息標(biāo)識(shí)出哪個(gè)地址寄存器30-1是被選擇的參考地址寄存器。第二信息與最有效的候選第二信息相對(duì)應(yīng),并且在相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器中存儲(chǔ)的參考地址之間存在差的情況下指示它們之間的差。然后,追蹤數(shù)據(jù)單元作為追蹤流的一部分被輸出。然后在步驟62,追蹤電路8根據(jù)相關(guān)聯(lián)的存儲(chǔ)器地址來(lái)執(zhí)行用于有選擇地更新至少一個(gè)參考地址寄存器30-1的參考地址更新操作。參考地址更新操作可以具有下面將描述的多種形式。如果在步驟52確定當(dāng)前指令不是與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的指令,則步驟M至 62被省略。追蹤電路8可以針對(duì)不與將要追蹤的存儲(chǔ)器地址相關(guān)聯(lián)的指令執(zhí)行其他類(lèi)型的追蹤操作。在步驟64,追蹤電路8確定處理電路4是否正在處理另一指令。如果存在另一指令,則方法返回到步驟52,同時(shí)如果不存在進(jìn)一步的指令,則方法在步驟66結(jié)束。所以,通過(guò)執(zhí)行圖5的方法,追蹤電路8可以輸出指示處理電路4的操作的追蹤數(shù)據(jù)單元流。當(dāng)相關(guān)存儲(chǔ)器地址被追蹤時(shí),追蹤數(shù)據(jù)單元標(biāo)識(shí)被選擇的參考地址寄存器之一、 以及相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的地址之間的差。通過(guò)選擇可以提供最有效的差信息的參考地址寄存器,可以減少追蹤數(shù)據(jù)的數(shù)量。圖6示出了用于分析由追蹤電路8生成的追蹤數(shù)據(jù)單元的相應(yīng)方法。在步驟70, 診斷裝置20在分析追蹤數(shù)據(jù)單元之前,直接從追蹤電路8或者從存儲(chǔ)追蹤數(shù)據(jù)單元的存儲(chǔ)器或其他存儲(chǔ)設(shè)備接收追蹤數(shù)據(jù)單元流。診斷裝置20還可以在追蹤流被生成時(shí)存取被處理電路4執(zhí)行的程序指令的指示。在步驟72,診斷電路M確定處理電路4是否執(zhí)行了用于執(zhí)行與將要追蹤的相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令。如果存在這樣的指令,則在步驟74,診斷電路M在追蹤流中定位與該指令相關(guān)聯(lián)的追蹤數(shù)據(jù)單元。追蹤數(shù)據(jù)單元包括標(biāo)識(shí)由追蹤電路8選擇的被選擇的參考地址寄存器的第一信息、以及指示相關(guān)存儲(chǔ)器地址和被選擇的參考地址寄存器的參考地址之間的差的第二信息。診斷電路M然后選擇其參考地址寄存器30-2中的與追蹤數(shù)據(jù)單元中指示的第一信息相對(duì)應(yīng)的一個(gè)參考地址寄存器。在步驟76,診斷電路M基于追蹤數(shù)據(jù)單元中包括的第二信息和被選擇的參考地址寄存器30-2中存儲(chǔ)的參考地址來(lái)確定相關(guān)存儲(chǔ)器地址。從而,診斷裝置20可以從追蹤數(shù)據(jù)單元中包括的第一和第二信息重新構(gòu)建出相關(guān)存儲(chǔ)器地址。在步驟78,診斷裝置20以與圖5的步驟62相對(duì)應(yīng)的方式,根據(jù)相關(guān)存儲(chǔ)器地址來(lái)執(zhí)行用于有選擇地更新參考地址寄存器30-2的參考地址的參考地址更新操作。下面將描述參考更新的不同形式。在下面參考圖10至圖12描述的一個(gè)示例中,由診斷裝置20執(zhí)行的參考地址更新操作取決于哪個(gè)參考地址寄存器30-2是被選擇的參考地址寄存器(診斷裝置20可以從追蹤數(shù)據(jù)單元中所指示的第一信息識(shí)別出被選擇的參考地址寄存器),并且還可以取決于控制參考地址寄存器被更新的方式的閾值差值。如果在步驟72處,該指示是其指令不與將要追蹤的相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的指示,則步驟74至78可以被診斷電路M省略。診斷電路M可以針對(duì)這些指令執(zhí)行其他類(lèi)型的追蹤分析。在步驟80,診斷電路M確定是否存在由處理電路4執(zhí)行的另一指令的指示。如果沒(méi)有更多指令被執(zhí)行,則該方法在步驟82結(jié)束,否則新的方法返回到步驟72?,F(xiàn)在將描述在圖5和圖6的步驟62和78中執(zhí)行的參考地址更新操作的各種示例。在圖7的示例中,至少一些參考地址寄存器30被配置為形成參考地址流水線。該流水線不需要包括所有的參考地址寄存器30,并且在一些示例中可以僅包括寄存器30的子集。 當(dāng)生成追蹤數(shù)據(jù)單元時(shí),追蹤電路8可以選擇流水線中的任意一個(gè)寄存器作為被選擇的參考地址寄存器。為了更新參考地址中的一個(gè)參考地址,相關(guān)存儲(chǔ)器地址被寫(xiě)入流水線中的第一個(gè)參考地址寄存器,并且流水線中的地址被移位到流水線中的下一寄存器。流水線的最后一個(gè)寄存器中的地址被移出流水線。圖8示出了針對(duì)圖7的示例的步驟62和78的參考地址更新操作。流水線中存在 N個(gè)參考地址寄存器。在步驟100,第一至第N-I個(gè)參考地址寄存器的參考地址被移位到流水線中的下一參考地址寄存器。然后,在步驟102,相關(guān)存儲(chǔ)器地址被寫(xiě)入流水線中的第一個(gè)參考地址寄存器。以這種方似乎,最新的相關(guān)存儲(chǔ)器地址總是處于流水線的前端,并且流水線中的連續(xù)的寄存器包含有逐漸變老的相關(guān)存儲(chǔ)器地址。圖9示出了用于包括地址寄存器0和地址寄存器1兩個(gè)地址寄存器的流水線的參考地址更新操作的示例的表格。圖9示出了針對(duì)一系列六個(gè)相關(guān)存儲(chǔ)器地址的六個(gè)追蹤數(shù)據(jù)單元的生成。兩個(gè)地址寄存器最初都存儲(chǔ)默認(rèn)地址0x00000000。響應(yīng)于相關(guān)地址0x00000001,
這些寄存器之一(例如,寄存器0)被選擇作為被選擇的參考地址寄存器,并且指示被選擇的地址寄存器和地址值0x01的追蹤地址單元被生成,其中地址值0x01指示不同于被選擇的地址寄存器中的地址的相應(yīng)部分的相關(guān)存儲(chǔ)器地址的部分。然后,相關(guān)存儲(chǔ)器地址被放入地址寄存器0,并且地址寄存器0中存儲(chǔ)的值被移位到地址寄存器1。類(lèi)似地,在圖9的每個(gè)步驟,導(dǎo)致最有效的追蹤數(shù)據(jù)單元的地址寄存器被選擇,利用被選擇的地址寄存器生成了追蹤數(shù)據(jù)單元,并且相關(guān)存儲(chǔ)器地址被移位到流水線中。例如,在圖9的步驟4和步驟5,相對(duì)于地址寄存器0中存儲(chǔ)的地址來(lái)說(shuō),相關(guān)存儲(chǔ)器地址更類(lèi)似于地址寄存器1中存儲(chǔ)的地址,所以在這種情況中地址寄存器1被選擇作為被選擇的參考地址。當(dāng)診斷電路M分析追蹤流,然后以類(lèi)似于追蹤電路8的方式更新地址寄存器30-2 時(shí),診斷電路M的地址寄存器30-2中存儲(chǔ)的值將以與追蹤電路8中的寄存器30-1相對(duì)應(yīng)的方式改變。圖10至圖12示出了追蹤電路8和診斷電路M所使用的參考地址流水線的另一示例。再次,該流水線包括N個(gè)參考地址寄存器30。在該示例中,更新流水線的方式取決于哪個(gè)參考地址寄存器被選擇作為用于生成追蹤數(shù)據(jù)單元的被選擇的參考地址寄存器。每個(gè)參考地址寄存器30被與相應(yīng)的使能信號(hào)105相關(guān)聯(lián),其中該使能信號(hào)控制是否利用流水線的前一寄存器中存儲(chǔ)的地址來(lái)更新參考地址寄存器30 (或者在流水線的第一個(gè)參考地址寄存器的情況中,是否利用相關(guān)存儲(chǔ)器地址對(duì)其進(jìn)行更新)。當(dāng)相關(guān)存儲(chǔ)器地址被追蹤時(shí), 被選擇的參考地址寄存器不是流水線中的第一個(gè)參考地址寄存器,用于第二個(gè)參考地址寄存器到被選擇的參考地址寄存器的使能信號(hào)被設(shè)置為“真”值,從而使得這些寄存器能夠捕捉流水線的前一寄存器中存儲(chǔ)的地址。流水線中被選擇的參考地址寄存器進(jìn)一步向上的參考地址寄存器使得它們的使能信號(hào)被設(shè)置為“假”值,從而使得相對(duì)應(yīng)的參考地址不變。利用新的相關(guān)存儲(chǔ)器地址來(lái)有選擇地對(duì)第一個(gè)參考地址寄存器進(jìn)行更新。例如,在圖10中,流水線中的第四個(gè)地址寄存器是被選擇的參考地址寄存器。在這種情況中,用于流水線的第二到第四個(gè)寄存器30的使能信號(hào)被設(shè)置為“真”值,從而使得第二到第四個(gè)寄存器30能夠捕捉先前分別存儲(chǔ)在第一至第三寄存器30中的地址。同樣, 用于第一個(gè)參考地址寄存器的使能信號(hào)也被設(shè)置為“真”值,從而使得第一個(gè)參考地址寄存器能夠捕捉相關(guān)存儲(chǔ)器地址。相反,流水線中的第五至第七個(gè)參考地址寄存器使它們的使能信號(hào)被設(shè)置為“假”值,從而使得這些寄存器中存儲(chǔ)的地址不變。在圖10的示例中,如果一個(gè)以上的地址寄存器可以被用來(lái)產(chǎn)生同等有效的追蹤數(shù)據(jù),則追蹤電路8選擇最接近流水線的末端的寄存器(即,駐留在流水線中最長(zhǎng)時(shí)間的地址)作為被選擇的地址寄存器。所以,最后一個(gè)地址寄存器將取得優(yōu)先級(jí),然后倒數(shù)第二個(gè)地址寄存器,然后是倒數(shù)第三個(gè)地址寄存器,等等。通過(guò)在較老的參考地址和較新的參考地址產(chǎn)生同等有效的追蹤數(shù)據(jù)時(shí)優(yōu)先選擇較老的參考地址而不選擇較新的參考地址,追蹤電路8將傾向于保持流水線中的最有用的參考地址。當(dāng)流水線的第一個(gè)參考地址寄存器是用于生成追蹤數(shù)據(jù)單元的被選擇的參考地址寄存器時(shí),存在用于更新參考地址的特殊情況。在這種情況中,追蹤電路8或者診斷電路 24可以確定相關(guān)存儲(chǔ)器地址和第一個(gè)參考地址寄存器的參考地址之間的差。如果該差沒(méi)有超過(guò)給定閾值,則第一個(gè)參考地址寄存器被更新,同時(shí)保持其他地址寄存器不變。另一方面,如果該差超過(guò)了閾值,則流水線的第二個(gè)到最后一個(gè)地址寄存器被分別利用流水線的前一寄存器中存儲(chǔ)的地址更新,并且相關(guān)參考地址被寫(xiě)到第一個(gè)地址寄存器。這種機(jī)制通過(guò)避免將在所有地址寄存器中留下相似的值的過(guò)多的流水線移位,實(shí)現(xiàn)了遍及存儲(chǔ)器空間的地址范圍的地址的更好分布。圖11示出了當(dāng)?shù)刂芳拇嫫鞯淖蛹纬蓤D10中所示的參考地址流水線時(shí)可以在圖 5和圖6的步驟62和78中執(zhí)行的參考地址更新操作的示例。在步驟110,追蹤電路8或者診斷電路M確定流水線中N個(gè)寄存器中的哪個(gè)寄存器是被選擇的參考地址寄存器。被選擇的地址寄存器是流水線的第M個(gè)寄存器(0SMSN)。追蹤電路8或者診斷電路M還確定M是否等于1。如果M不等于1,則在步驟112,第一至第M-I個(gè)地址寄存器的參考地址被移位到流水線中的下一寄存器。該方法然后進(jìn)行到步驟114。在步驟114,相關(guān)存儲(chǔ)器地址被寫(xiě)到流水線的第一個(gè)寄存器。另一方面,如果M= 1,則在步驟116,確定相關(guān)存儲(chǔ)器地址和流水線中的第一個(gè)寄存器的參考地址之間的差是否大于給定閾值。如果差不大于該閾值,則該方法進(jìn)行到步驟 114,在步驟114,相關(guān)存儲(chǔ)器地址被寫(xiě)到第一個(gè)寄存器,而無(wú)需修改流水線的其他地址寄存器中的地址。如果在步驟116,相關(guān)存儲(chǔ)器地址和第一個(gè)參考地址之間的差大于閾值,則在步驟118,在將相關(guān)存儲(chǔ)器地址寫(xiě)到第一個(gè)寄存器的步驟114之前,流水線的第一至第N-I個(gè)寄存器的參考地址被移位到流水線的下一寄存器??傊?,圖11的參考地址更新操作確保了在不同于第一個(gè)參考地址寄存器的參考地址寄存器被用作被選擇的參考地址寄存器的情況下,所使用的參考地址被從流水線移除,流水線中的任意先前的地址被向上移位一階,并且相關(guān)存儲(chǔ)器地址被添加到流水線的第一階。該技術(shù)導(dǎo)致所使用的參考地址被相關(guān)存儲(chǔ)器地址所替代,從而避免了流水線中出現(xiàn)多個(gè)相似的地址,但是還確保了相關(guān)存儲(chǔ)器地址被添加到流水線的前端,從而使得最新添加的參考地址將比任何較老的參考地址被保留在流水線中更長(zhǎng)時(shí)間。當(dāng)?shù)谝粋€(gè)參考地址寄存器是被選擇的參考地址寄存器時(shí),只有在第一個(gè)參考地址值與相關(guān)存儲(chǔ)器地址相差預(yù)定量以上的情況下流水線中的地址才被移位一階。這也有助于確保參考地址寄存器不包含多個(gè)相似的參考地址值。圖12示出了示出將圖10和11的技術(shù)應(yīng)用于具有兩個(gè)參考地址寄存器的流水線的示例的表格。在該示例中,假設(shè)追蹤數(shù)據(jù)單元中的地址部分的最小尺寸為8比特(即,2 個(gè)十六進(jìn)制數(shù),例如,值0x01具有最小地址部分尺寸)。所以,圖11的步驟116中所使用的預(yù)定閾值與最小尺寸8比特相對(duì)應(yīng)。該閾值可以被規(guī)定為8比特的閾值部分尺寸,或者 255的閾值數(shù)字差(其是可以用8比特表示的最大值)。在圖12的頭兩個(gè)步驟,流水線的第一個(gè)參考地址寄存器(參考地址寄存器0)是被選擇的參考地址寄存器,并且相關(guān)存儲(chǔ)器地址和流水線中的第一個(gè)參考地址寄存器的被選擇的參考地址之間的差不大于預(yù)定的閾值(因?yàn)椴襟E1中的差0x01和步驟2中的差0x21 可以利用最小部分尺寸來(lái)表示)。所以,在步驟1和2中,流水線中的地址不被移位一階。 相反,地址寄存器0的參考地址被利用相關(guān)存儲(chǔ)器地址覆寫(xiě)(在圖11的步驟116和114之后)。但是,在圖12的步驟3,參考地址寄存器0是被選擇的參考地址寄存器,并且相關(guān)存儲(chǔ)器地址和參考地址寄存器0中的值之間的差0x30000000大于閾值,所以在這種情況中流水線中的值被根據(jù)圖11的步驟118移位一階,并且相關(guān)存儲(chǔ)器地址被寫(xiě)入?yún)⒖嫉刂芳拇?br> 器Oo然后,在圖12的步驟4和5,參考地址寄存器1是被選擇的參考地址寄存器。在這種情況中,參考地址寄存器0中的值被移位以被存儲(chǔ)在參考地址寄存器1中(根據(jù)圖11的步驟112),并且相關(guān)存儲(chǔ)器地址被寫(xiě)入?yún)⒖嫉刂芳拇嫫?(根據(jù)圖1的步驟114)。在圖12的步驟6,流水線中不再有移位,因?yàn)椴煌诘谝粋€(gè)地址寄存器中的地址值的相應(yīng)部分的相關(guān)存儲(chǔ)器地址的部分為0x08,其沒(méi)有超過(guò)8比特的閾值部分尺寸。在圖12中所示的每個(gè)步驟中,標(biāo)識(shí)相關(guān)存儲(chǔ)器地址和被選擇的地址寄存器中的地址值之間的差以及被選擇的地址寄存器的追蹤數(shù)據(jù)單元被生成。在分析追蹤數(shù)據(jù)時(shí),診斷電路M以與追蹤電路8相對(duì)應(yīng)的方式修改地址寄存器中的地址。盡管圖9和圖12的示例示出了相關(guān)地址和被選擇的參考地址之間的地址差由具有與參考地址的相應(yīng)部分不同的比特值的相關(guān)地址的部分所指示,但是將明白,該技術(shù)也可以被應(yīng)用于追蹤數(shù)據(jù)單元指示作為通過(guò)將相關(guān)地址和被選擇的參考地址中的一個(gè)與另一個(gè)相減獲得的數(shù)字差值的地址差。圖13示出了更新參考地址寄存器30中的參考地址的另一示例。與如圖7和圖 10中所示地在物理上將地址從一個(gè)參考地址寄存器移位到另一個(gè)參考地址寄存器不同,相關(guān)存儲(chǔ)器地址可以被寫(xiě)入被選擇的犧牲參考地址寄存器,同時(shí)其他參考地址寄存器保持不變。追蹤電路8或者診斷電路M可以執(zhí)行各種類(lèi)型的犧牲選擇算法來(lái)選擇犧牲參考地址寄存器,例如,最近使用的、輪循的、或者任意的犧牲選擇算法。例如,地址寄存器30可以被認(rèn)為形成了表格或者類(lèi)似于緩沖器的結(jié)構(gòu)。指針可以被追蹤電路8或者診斷電路M保持,以指示最近更新的寄存器。當(dāng)選擇犧牲寄存器時(shí),追蹤電路8或者診斷電路M可以選擇當(dāng)前利用指針指示的寄存器后面的寄存器(如果表格中的最后一個(gè)寄存器是當(dāng)前利用指針指示的寄存器,則追蹤電路8或者診斷電路M可以選擇表格中的第一個(gè)寄存器)。追蹤電路8或者診斷電路M然后可以利用相關(guān)存儲(chǔ)器地址來(lái)更新被選擇的犧牲寄存器,并且將指針修改為指示新近選擇的犧牲寄存器。通過(guò)在相關(guān)存儲(chǔ)器地址每次被寫(xiě)入?yún)⒖嫉刂芳拇嫫?0時(shí)重復(fù)這種犧牲選擇算法,追蹤電路8或者診斷電路M將以循環(huán)序列更新寄存器從而使得最早更新的地址寄存器下一個(gè)將被選擇作為犧牲寄存器。圖13的相關(guān)存儲(chǔ)器地址被寫(xiě)入被選擇的犧牲參考地址寄存器的實(shí)施例可以比存在很多參考地址寄存器的流水線實(shí)施例更加有效。圖14示出了其中除了多個(gè)可更新的參考地址寄存器120(它們是根據(jù)圖7至12 的流水線的部分,或者圖13所示的表格或類(lèi)似于緩沖器的結(jié)構(gòu)),還存在不能被更新的至少一個(gè)固定的參考地址寄存器122。固定的參考地址寄存器122存儲(chǔ)預(yù)先定義的參考地址值。例如,固定的參考地址寄存器可以被配置為存儲(chǔ)已知在給定程序中被頻繁使用的地址。圖15示出了參考地址寄存器中的一些與特定的地址范圍相關(guān)聯(lián)從而僅可以利用該地址范圍中的相關(guān)存儲(chǔ)器地址來(lái)更新它們的另一示例。如果被追蹤的相關(guān)存儲(chǔ)器地址處于針對(duì)特定寄存器所規(guī)定的地址范圍外,則該寄存器被排除在寄存器更新處理之外。這可以被用來(lái)例如,確保存在與不同范圍的存儲(chǔ)器空間相關(guān)聯(lián)的參考地址的廣泛選擇。圖16示出了追蹤電路8和診斷電路M響應(yīng)于用于動(dòng)態(tài)鎖定某些寄存器從而使得它們不再被更新的外部鎖定信號(hào)的示例。例如,鎖定寄存器可以被排除在圖7至圖12中所示的流水線之外,或者可以被排除在犧牲選擇算法之外。所以,如果特定的參考地址寄存器 30存儲(chǔ)有已知的對(duì)于隨后的指令集合有用的參考地址,則鎖定信號(hào)可以被提供以確保參考地址將不被從參考地址寄存器30趕出。為了使診斷電路M以與追蹤電路8相對(duì)應(yīng)的方式鎖定其寄存器30-2,在診斷電路M分析追蹤數(shù)據(jù)單元時(shí)相應(yīng)的鎖定信號(hào)可以被提供給診斷電路對(duì)。替代地,追蹤電路 8可以在追蹤流中包括指示鎖定信號(hào)的哪些值被使用的信息,從而使得診斷電路M可以通過(guò)與追蹤電路的寄存器30-1相對(duì)應(yīng)的方式鎖定其寄存器30-2。應(yīng)該理解,用于更新參考地址寄存器的圖7至圖16中所示的各種技術(shù)可以被結(jié)合使用,例如,在流水線中設(shè)置的寄存器的子集中,至少一個(gè)其他寄存器存儲(chǔ)有固定的預(yù)定值,或者與特定的地址范圍相關(guān)聯(lián)。盡管本文中詳細(xì)描述了本發(fā)明的說(shuō)明性實(shí)施例,但是應(yīng)該理解,本發(fā)明不限于這些明確的實(shí)施例,并且在不脫離所附權(quán)利要求所限定的本發(fā)明的范圍的條件下本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明做出各種改變和修改。
權(quán)利要求
1.一種數(shù)據(jù)處理裝置,包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置;處理電路,被配置為響應(yīng)于指令而執(zhí)行處理操作;追蹤電路,被配置為生成指示由所述處理電路執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述追蹤電路響應(yīng)于所述處理電路處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是所述被選擇的參考地址寄存器的第一信息;以及( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述追蹤數(shù)據(jù)單元包括指示所述第一信息的頭部部分以及指示所述第二信息的地址部分。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其中,在所述相關(guān)存儲(chǔ)器地址和所述被選擇的存儲(chǔ)器地址之間的差為零的情況下,所述追蹤電路從所述追蹤數(shù)據(jù)單元中省略所述地址部分。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路被配置為確定與所述多個(gè)參考地址寄存器相對(duì)應(yīng)的多個(gè)候選第二信息值,其中每個(gè)候選第二信息值指示所述相關(guān)存儲(chǔ)器地址和在相應(yīng)參考地址存儲(chǔ)器中存儲(chǔ)的參考地址之間的差;并且所述追蹤電路被配置為選擇所述參考地址寄存器中的與最有效的候選第二信息值相對(duì)應(yīng)的一個(gè)參考地址寄存器作為所述被選擇的參考地址寄存器,并且生成具有與所述最有效的候選第二信息值相對(duì)應(yīng)的所述第二信息的所述追蹤數(shù)據(jù)單元。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理裝置,其中,所述最有效的候選第二信息值是能夠使用最少數(shù)目的比特來(lái)表示其相應(yīng)第二信息的候選第二信息值。
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理裝置,其中,所述最有效的候選第二信息值是這樣的候選第二信息值其相應(yīng)第二信息在被包括在所述追蹤數(shù)據(jù)單元流內(nèi)的所述追蹤數(shù)據(jù)單元中的情況下會(huì)使得所述追蹤數(shù)據(jù)單元流內(nèi)的追蹤數(shù)據(jù)的總量最小。
7.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述第二信息指示所述相關(guān)存儲(chǔ)器地址中的具有與所述被選擇的參考地址寄存器的所述被選擇的參考地址的相應(yīng)部分不同的比特值的部分。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述第二信息指示所述相關(guān)存儲(chǔ)器地址和所述被選擇的參考地址之間的數(shù)字差。
9.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路被配置為在生成所述追蹤地址單元之后,執(zhí)行參考地址更新操作,用于根據(jù)所述相關(guān)存儲(chǔ)器地址,有選擇地更新所述多個(gè)參考地址寄存器中的至少一個(gè)參考地址寄存器的參考地址。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述參考地址更新操作包括將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述多個(gè)參考地址寄存器中的犧牲參考地址寄存器中。
11.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述參考地址更新操作包括(a)針對(duì)至少一個(gè)參考地址寄存器,確定相應(yīng)的參考地址和所述相關(guān)存儲(chǔ)器地址之間的地址差是否超過(guò)了預(yù)定閾值;以及(b)針對(duì)所述至少一個(gè)參考地址寄存器中的每一個(gè)參考地址寄存器,如果所述地址差超過(guò)所述預(yù)定閾值,則將所述相關(guān)存儲(chǔ)器地址寫(xiě)到從所述至少一個(gè)參考地址寄存器中選擇的犧牲參考地址寄存器中。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理裝置,其中,所述追蹤數(shù)據(jù)單元包括指示所述第二信息的地址部分,并且所述預(yù)定閾值對(duì)應(yīng)于所述地址部分的最小尺寸。
13.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路被配置為執(zhí)行犧牲選擇操作,用于選擇所述多個(gè)參考地址寄存器中哪個(gè)是所述犧牲參考地址寄存器。
14.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路響應(yīng)于鎖定信號(hào),有選擇地將至少一個(gè)參考地址寄存器排除在所述參考地址更新操作的更新之外。
15.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述多個(gè)參考地址寄存器中的至少一個(gè)是用于存儲(chǔ)預(yù)先定義的參考地址的固定參考地址寄存器,所述固定參考地址寄存器被排除在所述參考地址更新操作的更新之外。
16.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述多個(gè)參考地址寄存器中的至少一個(gè)是與所述存儲(chǔ)器地址的相關(guān)范圍相關(guān)聯(lián)的范圍特定的參考地址寄存器,在所述相關(guān)存儲(chǔ)器地址處于所述存儲(chǔ)器地址的所述相關(guān)范圍之外的情況下,所述范圍特定的參考地址寄存器被排除在所述參考地址更新操作的更新之外。
17.根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中,所述多個(gè)參考地址寄存器的至少一個(gè)子集被耦合以形成參考地址流水線,并且所述參考地址更新操作包括根據(jù)所述相關(guān)存儲(chǔ)器地址來(lái)更新所述參考地址流水線中的參考地址。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)處理裝置,其中,所述參考地址流水線包括N個(gè)參考地址寄存器;并且所述參考地址更新操作包括將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器,并且將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的第一個(gè)參考地址寄存器中。
19.根據(jù)權(quán)利要求17所述的數(shù)據(jù)處理裝置,其中,所述參考地址流水線包括N個(gè)參考地址寄存器,所述被選擇的參考地址寄存器包括所述參考地址流水線的第M個(gè)參考地址寄存器,其中1 < M < N,并且所述參考地址更新操作包括在皿> 1的情況下,則將所述參考地址流水線的第一至第M-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器;以及將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的第一個(gè)參考地址寄存器中。
20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理裝置,其中,在M= 1的情況下,所述流水線更新操作進(jìn)一步包括判斷所述相關(guān)存儲(chǔ)器地址和所述第一個(gè)參考地址寄存器的參考地址之間的差是否超過(guò)了預(yù)定閾值;以及如果所述差超過(guò)了所述預(yù)定閾值,則在將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的所述第一個(gè)參考地址寄存器中之前,將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器。
21.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路被配置為確定與所述N 個(gè)參考地址寄存器相對(duì)應(yīng)的N個(gè)候選第二信息值,每個(gè)候選第二信息值指示所述相關(guān)存儲(chǔ)器地址和在相應(yīng)參考地址寄存器中存儲(chǔ)的參考地址之間的差;所述追蹤電路被配置為選擇所述N個(gè)參考地址寄存器中的與最有效的候選第二信息值相對(duì)應(yīng)的一個(gè)參考地址寄存器作為所述被選擇的參考地址寄存器;并且在存在相應(yīng)的候選第二信息值同等高效的多個(gè)參考地址寄存器的情況下,所述追蹤電路選擇所述多個(gè)參考地址寄存器中的最接近所述參考地址流水線的末端的一個(gè)參考地址寄存器作為所述被選擇的參考地址寄存器。
22.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述追蹤電路響應(yīng)于初始化事件,將默認(rèn)參考地址存儲(chǔ)到所述多個(gè)參考地址寄存器中的每一個(gè)參考地址寄存器中。
23.根據(jù)權(quán)利要求22所述的數(shù)據(jù)處理裝置,其中,所述初始化事件是所述追蹤電路被激活。
24.根據(jù)權(quán)利要求22所述的數(shù)據(jù)處理裝置,其中,所述初始化事件是用于觸發(fā)所述追蹤電路生成并輸出追蹤同步數(shù)據(jù)單元的追蹤同步事件。
25.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述處理電路被配置為響應(yīng)于多種不同類(lèi)型的數(shù)據(jù)處理指令來(lái)執(zhí)行數(shù)據(jù)處理操作;并且針對(duì)所述多種類(lèi)型的數(shù)據(jù)處理指令中的每一種,所述追蹤電路被配置為選擇所述多個(gè)參考地址寄存器中的任一個(gè)作為所述被選擇的地址寄存器,使得所述追蹤電路使用相同的參考地址寄存器來(lái)生成指示不同類(lèi)型的數(shù)據(jù)處理指令的追蹤數(shù)據(jù)單元。
26.根據(jù)權(quán)利要求25所述的數(shù)據(jù)處理裝置,其中所述多種類(lèi)型的數(shù)據(jù)處理指令包括以下指令中的至少兩種分支指令;當(dāng)例外事件發(fā)生時(shí)執(zhí)行的指令; 在所述例外事件發(fā)生后轉(zhuǎn)向執(zhí)行的指令; 當(dāng)前由所述處理電路執(zhí)行的指令; 加載指令;以及存儲(chǔ)指令。
27.一種數(shù)據(jù)處理裝置,包括存儲(chǔ)器部件,用于存儲(chǔ)數(shù)據(jù),所述存儲(chǔ)器部件包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置;處理部件,用于響應(yīng)于指令而執(zhí)行處理操作;以及追蹤部件,用于生成指示由所述處理部件執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤部件包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器部件;并且所述追蹤部件響應(yīng)于所述處理部件處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器部件之一作為被選擇的參考地址寄存器部件,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)是所述被選擇的參考地址寄存器部件的第一信息;以及( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
28.一種用于數(shù)據(jù)處理裝置的數(shù)據(jù)處理方法,該數(shù)據(jù)處理裝置包括存儲(chǔ)器,該存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器地址,所述方法包括以下步驟響應(yīng)于指令執(zhí)行處理操作;將多個(gè)參考地址存儲(chǔ)在多個(gè)參考地址寄存器中;生成指示由所述處理電路執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流;以及輸出所述追蹤數(shù)據(jù)單元流;其中所述生成追蹤數(shù)據(jù)單元流的步驟包括響應(yīng)于與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的執(zhí)行,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是所述被選擇的參考地址寄存器的第一信息;以及( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
29.一種追蹤單元,用于監(jiān)控處理裝置響應(yīng)于指令而執(zhí)行的處理操作,所述處理裝置包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置;所述追蹤單元包括追蹤電路,被配置為生成指示由所述處理裝置執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述追蹤電路響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器之一作為被選擇的參考地址寄存器,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是所述被選擇的參考地址寄存器的第一信息;以及( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
30.一種追蹤單元,用于監(jiān)控處理裝置響應(yīng)于指令而執(zhí)行的處理操作,所述處理裝置包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器部件,所述存儲(chǔ)器部件包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述追蹤單元包括追蹤部件,用于生成指示由所述處理裝置執(zhí)行的所述處理操作的追蹤數(shù)據(jù)單元流,并且輸出所述追蹤數(shù)據(jù)單元流;其中所述追蹤部件包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器部件;并且所述追蹤部件響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,選擇所述多個(gè)參考地址寄存器部件之一作為被選擇的參考地址寄存器部件,生成并輸出指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)是所述被選擇的參考地址寄存器部件的第一信息;以及( )指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的被選擇的參考地址之間的差的第二信息。
31.一種診斷裝置,用于分析指示處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流,所述處理裝置包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述診斷裝置包括追蹤輸入端,用于接收所述追蹤數(shù)據(jù)單元流;以及診斷電路,被配置為分析所述追蹤數(shù)據(jù)單元流,以確定所述處理操作的處理結(jié)果;其中所述診斷電路包括被配置為存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器;并且所述診斷電路響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令,而執(zhí)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息;以及(b)根據(jù)所述第二信息和在所述被選擇的參考地址寄存器中存儲(chǔ)的所述被選擇的參考地址來(lái)確定所述相關(guān)存儲(chǔ)器地址。
32.根據(jù)權(quán)利要求31所述的診斷裝置,其中,所述追蹤數(shù)據(jù)單元包括指示所述第一信息的頭部部分和指示所述第二信息的地址部分。
33.根據(jù)權(quán)利要求32所述的診斷裝置,其中,在所述追蹤數(shù)據(jù)單元不包括所述地址部分的情況下,所述診斷電路確定所述相關(guān)存儲(chǔ)器地址與所述被選擇的參考地址相同。
34.根據(jù)權(quán)利要求31所述的診斷裝置,其中,所述第二信息指示所述相關(guān)存儲(chǔ)器地址的具有與所述被選擇的參考地址寄存器的所述被選擇的參考地址的相應(yīng)部分不同的比特值的部分;并且所述診斷電路被配置為確定所述相關(guān)存儲(chǔ)器地址具有等于如下得到的值的地址值 (i)從所述被選擇的參考地址的比特值開(kāi)始;(ii)用所述第二信息所指示的所述相關(guān)存儲(chǔ)器地址的所述部分的比特值來(lái)替換所述被選擇的參考地址的所述相應(yīng)部分的比特值。
35.根據(jù)權(quán)利要求31所述的診斷裝置,其中,所述第二信息指示所述相關(guān)存儲(chǔ)器地址和所述被選擇的參考地址之間的數(shù)字差;并且所述診斷電路被配置為通過(guò)將由所述第二信息所指示的所述數(shù)字差加到所述被選擇的參考地址上來(lái)確定所述相關(guān)存儲(chǔ)器地址。
36.根據(jù)權(quán)利要求31所述的診斷裝置,其中,所述診斷電路被配置為在確定所述相關(guān)存儲(chǔ)器地址之后,執(zhí)行參考地址更新操作,用于根據(jù)所述相關(guān)存儲(chǔ)器地址來(lái)有選擇地更新所述多個(gè)參考地址寄存器之一的參考地址。
37.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述參考地址更新操作包括將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述多個(gè)參考地址寄存器中的犧牲參考地址寄存器。
38.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述參考地址更新操作包括(i)針對(duì)至少一個(gè)參考地址寄存器,判斷相應(yīng)參考地址和所述相關(guān)存儲(chǔ)器地址之間的地址差是否超過(guò)預(yù)定閾值;以及(ii)針對(duì)所述至少一個(gè)參考地址寄存器中的每一個(gè)參考地址寄存器,如果所述地址差超過(guò)了所述預(yù)定閾值,則將所述相關(guān)存儲(chǔ)器地址寫(xiě)到從所述至少一個(gè)參考地址寄存器中選擇的犧牲參考地址寄存器中。
39.根據(jù)權(quán)利要求38所述的診斷裝置,其中,所述追蹤數(shù)據(jù)單元包括指示所述第二信息的地址部分,并且所述預(yù)定閾值對(duì)應(yīng)于所述地址部分的最小尺寸。
40.根據(jù)權(quán)利要求37所述的診斷裝置,其中,所述診斷電路被配置為執(zhí)行犧牲選擇操作,用于選擇所述多個(gè)參考地址寄存器中的哪個(gè)是所述犧牲參考地址寄存器。
41.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述診斷電路響應(yīng)于鎖定信號(hào),有選擇地將至少一個(gè)參考地址寄存器排除在由所述參考地址更新操作的更新之外。
42.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述多個(gè)參考地址寄存器中的至少一個(gè)是用于存儲(chǔ)預(yù)先定義的參考地址的固定參考地址寄存器,所述固定參考地址寄存器被排除在由所述參考地址更新操作的更新之外。
43.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述多個(gè)參考地址寄存器中的至少一個(gè)是與所述存儲(chǔ)器地址的相關(guān)范圍相關(guān)聯(lián)的范圍特定的參考地址寄存器,在所述相關(guān)存儲(chǔ)器地址處于所述存儲(chǔ)器地址的所述相關(guān)范圍之外的情況下,所述范圍特定的參考地址寄存器被排除在由所述參考地址更新操作的更新之外。
44.根據(jù)權(quán)利要求36所述的診斷裝置,其中,所述多個(gè)參考地址寄存器的至少一個(gè)子集被耦合以形成參考地址流水線,并且所述參考地址更新操作包括根據(jù)所述相關(guān)存儲(chǔ)器地址來(lái)更新所述參考地址流水線中的參考地址。
45.根據(jù)權(quán)利要求44所述的診斷裝置,其中,所述參考地址流水線包括N個(gè)參考地址寄存器;并且所述參考地址更新操作包括將所述參考地址流水線的第1至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器,并且將所述相關(guān)存儲(chǔ)器地址存儲(chǔ)到所述參考地址流水線的第一個(gè)參考地址寄存器中。
46.根據(jù)權(quán)利要求44所述的診斷裝置,其中,所述參考地址流水線包括N個(gè)參考地址寄存器,所述被選擇的參考地址寄存器包括所述參考地址流水線的第M個(gè)參考地址寄存器, 其中1 < M < N,并且所述參考地址更新操作包括在M> 1的情況下,則將所述參考地址流水線的第一至第M-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器;以及將所述相關(guān)存儲(chǔ)器地址存儲(chǔ)到所述參考地址流水線的第一個(gè)參考地址寄存器中。
47.根據(jù)權(quán)利要求46所述的診斷裝置,其中,在M=1的情況下,所述參考地址更新操作進(jìn)一步包括判斷所述相關(guān)存儲(chǔ)器地址和所述第一個(gè)參考地址寄存器的參考地址之間的差是否超過(guò)預(yù)定閾值;以及如果所述差超過(guò)了所述預(yù)定閾值,則在將所述相關(guān)存儲(chǔ)器地址寫(xiě)到所述參考地址流水線的所述第一個(gè)參考地址寄存器中之前,將所述參考地址流水線的第一至第N-I個(gè)參考地址寄存器中的參考地址移位到所述參考地址流水線的下一參考地址寄存器。
48.根據(jù)權(quán)利要求31所述的診斷裝置,其中,所述診斷電路響應(yīng)于初始化事件,將默認(rèn)參考地址存儲(chǔ)到所述多個(gè)參考地址寄存器中的每一個(gè)參考地址寄存器中。
49.根據(jù)權(quán)利要求48所述的診斷裝置,其中,所述初始化事件是所述診斷電路被激活。
50.根據(jù)權(quán)利要求48所述的診斷裝置,其中,所述初始化事件是所述診斷電路對(duì)所述追蹤數(shù)據(jù)單元流中的追蹤同步數(shù)據(jù)單元進(jìn)行響應(yīng)。
51.一種診斷裝置,用于分析指示處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流,所述處理裝置包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器部件,所述存儲(chǔ)器部件包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述診斷裝置包括追蹤輸入部件,用于接收所述追蹤數(shù)據(jù)單元流;以及診斷部件,用于分析所述追蹤數(shù)據(jù)單元流,以確定所述處理操作的處理結(jié)果;其中所述診斷部件包括用于存儲(chǔ)多個(gè)參考地址的多個(gè)參考地址寄存器部件;并且所述診斷部件響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令的指示,而進(jìn)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器部件中的哪個(gè)是被選擇的參考地址寄存器部件的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的被選擇的參考地址之間的差的第二信息;以及(b)根據(jù)所述第二信息和在所述被選擇的參考地址寄存器部件中存儲(chǔ)的所述被選擇的參考地址來(lái)確定所述相關(guān)存儲(chǔ)器地址。
52.一種用于分析指示處理裝置響應(yīng)于指令而執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流的方法,所述處理裝置包括存儲(chǔ)器,所述存儲(chǔ)器包括由相應(yīng)的存儲(chǔ)器地址標(biāo)識(shí)的多個(gè)存儲(chǔ)器位置,所述方法包括以下步驟接收所述追蹤數(shù)據(jù)單元流;將多個(gè)參考地址存儲(chǔ)在多個(gè)參考地址寄存器中;以及分析所述追蹤數(shù)據(jù)單元流,以確定所述處理操作的處理結(jié)果,其中所述分析的步驟包括響應(yīng)于所述處理裝置處理用于執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作的指令的指示,而進(jìn)行以下處理(a)在所述追蹤數(shù)據(jù)單元流中定位指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)指示所述多個(gè)參考地址寄存器中的哪個(gè)是被選擇的參考地址寄存器的第一信息;以及(ii)指示所述相關(guān)存儲(chǔ)器地址和在所述被選擇的參考地址寄存器中存儲(chǔ)的被選擇的參考地址之間的差的第二信息;以及(b)根據(jù)所述第二信息和在所述被選擇的參考地址寄存器中存儲(chǔ)的所述被選擇的參考地址來(lái)確定所述相關(guān)存儲(chǔ)器地址。
全文摘要
數(shù)據(jù)處理裝置、追蹤單元和診斷裝置。追蹤電路(8)生成指示由處理電路(4)執(zhí)行的處理操作的追蹤數(shù)據(jù)單元流。追蹤電路(8)具有存儲(chǔ)相應(yīng)參考地址的多個(gè)參考地址寄存器(30-1)。當(dāng)處理電路(4)執(zhí)行與相關(guān)存儲(chǔ)器地址相關(guān)聯(lián)的處理操作時(shí),追蹤電路(8)選擇參考地址寄存器(30-1)之一作為選擇的參考地址寄存器,并生成指示以下內(nèi)容的追蹤數(shù)據(jù)單元(i)參考地址寄存器(30-1)中哪個(gè)是選擇的參考地址寄存器;(ii)相關(guān)存儲(chǔ)器地址和選擇的參考地址寄存器的參考地址之差,如果有的話。分析追蹤流的診斷裝置(20)具有類(lèi)似的一組參考地址寄存器(30-2),其被用來(lái)從所生成的追蹤數(shù)據(jù)單元重建相關(guān)存儲(chǔ)器地址。
文檔編號(hào)G06F11/30GK102402476SQ201110276448
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年9月13日 優(yōu)先權(quán)日2010年9月13日
發(fā)明者保羅·安東尼·吉爾克森, 約翰·邁克爾·霍爾利 申請(qǐng)人:Arm有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1