專(zhuān)利名稱(chēng):可編微程序設(shè)備代碼追蹤的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可編微程序設(shè)備代碼追蹤。
背景技術(shù):
眾所周知,可編微程序設(shè)備是一種包括下述元件的電子設(shè)備處理器;存儲(chǔ)軟件和/或固件代碼的代碼存儲(chǔ)器,所述代碼包含待執(zhí)行的一組指令;和存儲(chǔ)有在執(zhí)行代碼時(shí)所使用的變量的值的數(shù)據(jù)存儲(chǔ)器。使用時(shí),可編微程序設(shè)備執(zhí)行存儲(chǔ)在代碼存儲(chǔ)器中的代碼(即,指令)。更具體地,可編微程序設(shè)備在相應(yīng)的指令周期執(zhí)行每個(gè)指令。而且,每次執(zhí)行指令時(shí),可編微程序設(shè)備更新被稱(chēng)為程序計(jì)數(shù)器的寄存器 (register),寄存器存儲(chǔ)代碼存儲(chǔ)器的地址,要被執(zhí)行的下一條指令被存儲(chǔ)在代碼存儲(chǔ)器上。為找出并消除可編微程序設(shè)備的代碼中的任何錯(cuò)誤(即,排錯(cuò)),需對(duì)代碼進(jìn)行追
S示ο追蹤代碼意味著確定由可編微程序設(shè)備執(zhí)行的指令的順序。高端可編微程序設(shè)備的特征在于具有包含多個(gè)插針(pin)的高速代碼追蹤界面。更具體地,通過(guò)該界面,可以傳遞所有被執(zhí)行的指令的地址。為追蹤此類(lèi)高端可編微程序設(shè)備的代碼,追蹤器(即電子代碼追蹤設(shè)備)被連接至可編微程序設(shè)備的代碼追蹤界面。追蹤器包括各自的代碼存儲(chǔ)器,其中所述可編微程序設(shè)備的代碼的指令被存儲(chǔ)在與在所述可編微程序設(shè)備的代碼存儲(chǔ)器中的相同的地址。追蹤器經(jīng)由追蹤界面獲得由可編微程序設(shè)備執(zhí)行的指令的地址,并且基于所獲得的地址以及存儲(chǔ)在其自身的各自的代碼存儲(chǔ)器中的代碼(更具體地,基于存儲(chǔ)在其自身的代碼存儲(chǔ)器中的位于所獲得的地址處的指令)來(lái)重建被執(zhí)行的指令序列。但申請(qǐng)人已發(fā)現(xiàn),利用當(dāng)前的技術(shù),可編微程序設(shè)備代碼追蹤對(duì)可編微程序設(shè)備的硬件資源施加了很重的負(fù)擔(dān),特別是在可編微程序設(shè)備插針需要傳遞被執(zhí)行的指令地址方面。實(shí)際上,例如,假設(shè)可編微程序設(shè)備代碼存儲(chǔ)器存儲(chǔ)一千個(gè)指令,并且每個(gè)插針傳送相應(yīng)比特的被執(zhí)行的指令地址,那么可編微程序設(shè)備將需要至少十個(gè)插針來(lái)傳遞被執(zhí)行的指令地址。而且,如果被存儲(chǔ)的指令的數(shù)目增加,那么可編微程序設(shè)備可能需要更多的插針來(lái)傳遞被執(zhí)行的指令地址。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種可削弱(alleviate)上述缺陷的、用于追蹤由可編微程序設(shè)備執(zhí)行的指令的系統(tǒng)。
上述目的是通過(guò)本發(fā)明來(lái)實(shí)現(xiàn)的,其中本發(fā)明涉及一種用于追蹤由可編微程序電子設(shè)備執(zhí)行的指令的系統(tǒng),所述可編微程序電子設(shè)備包括存儲(chǔ)有指令的第一代碼存儲(chǔ)器, 并且被配置用來(lái)在各自的指令周期執(zhí)行每個(gè)存儲(chǔ)在第一代碼存儲(chǔ)器中的所述指令;所述系統(tǒng)包括二進(jìn)制碼生成裝置;和追蹤設(shè)備;所述二進(jìn)制碼生成裝置構(gòu)成可編微程序電子設(shè)備的一部分,并被配置用來(lái)在可編微程序電子設(shè)備的單個(gè)插針上生成和輸出二進(jìn)制碼,每個(gè)二進(jìn)制碼表示相應(yīng)的執(zhí)行相關(guān)事件、在相應(yīng)的指令周期被生成和輸出并且包含N個(gè)比特,其中N是大于或等于2的整數(shù);所述追蹤設(shè)備被連接至所述單個(gè)插針以接收所述二進(jìn)制碼,并且該追蹤設(shè)備包括存儲(chǔ)有所述指令的第二代碼存儲(chǔ)器;所述追蹤設(shè)備被配置用來(lái)基于所接收二進(jìn)制碼和存儲(chǔ)在第二代碼存儲(chǔ)器中的所述指令來(lái)追蹤由可編微程序電子設(shè)備執(zhí)行的指令。
為更好地理解本發(fā)明,現(xiàn)將參考附圖描述優(yōu)選的實(shí)施方式,該實(shí)施方式僅是示例性的并且不能被解釋為對(duì)本發(fā)明的限制,圖1示意性地顯示了本發(fā)明用于追蹤由可編微程序電子設(shè)備執(zhí)行的指令的系統(tǒng)。
具體實(shí)施例方式以下描述用來(lái)使本領(lǐng)域技術(shù)人員制造和使用本發(fā)明。對(duì)這些實(shí)施方式的各種修改對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,且不背離要求保護(hù)的本發(fā)明的范圍。因此,本發(fā)明不限于所顯示的實(shí)施方式,而應(yīng)給予與本文公開(kāi)的原理和特征相一致的且在所附權(quán)利要求中限定出的最大范圍。根據(jù)本發(fā)明,其提供一種用于追蹤由可編微程序設(shè)備執(zhí)行的指令的系統(tǒng)。圖1示意性地顯示了根據(jù)本發(fā)明的優(yōu)選實(shí)施方式的用于追蹤由可編微程序設(shè)備執(zhí)行的指令的系統(tǒng)。更具體地,可編微程序設(shè)備1包括存儲(chǔ)指令的第一代碼存儲(chǔ)器??删幬⒊绦蛟O(shè)備1被配置用來(lái)在各自的指令周期執(zhí)行存儲(chǔ)在第一代碼存儲(chǔ)器2中的每個(gè)指令。參考附圖,用于追蹤由可編微程序設(shè)備1執(zhí)行的指令的系統(tǒng)包括二進(jìn)制碼生成裝置3 ;和追蹤設(shè)備4。更具體地,二進(jìn)制碼生成裝置3形成在可編微程序設(shè)備1中(即,構(gòu)成可編微程序設(shè)備1的一部分)且被配置用來(lái)在可編微程序設(shè)備1的單個(gè)插針5上生成和輸出二進(jìn)制碼, 每個(gè)二進(jìn)制碼包含N個(gè)比特,其中N ^ 2,每個(gè)二進(jìn)制碼表示相應(yīng)的執(zhí)行相關(guān)事件并且在相應(yīng)的指令周期被生成和輸出。參考附圖,追蹤設(shè)備4被連接至單個(gè)插針5以接收所述二進(jìn)制碼,并且追蹤設(shè)備4 包括存儲(chǔ)所述指令的第二代碼存儲(chǔ)器6。
更具體地,追蹤設(shè)備4被配置用來(lái)基于所接收的二進(jìn)制碼和存儲(chǔ)在第二代碼存儲(chǔ)器6中的所述指令來(lái)追蹤(即,確定)被可編微程序設(shè)備1執(zhí)行的指令。二進(jìn)制碼生成裝置3優(yōu)選地被配置用來(lái)在當(dāng)前指令周期生成和輸入當(dāng)前二進(jìn)制碼,在當(dāng)前指令周期發(fā)生由當(dāng)前二進(jìn)制碼表示的相應(yīng)的執(zhí)行相關(guān)事件。每個(gè)指令被方便地存儲(chǔ)在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6的相同的各自存儲(chǔ)地址處,存儲(chǔ)地址在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6中以相同的給定順序排列,并且當(dāng)前二進(jìn)制碼表示下述執(zhí)行相關(guān)事件之一可編微程序設(shè)備1在當(dāng)前指令周期正執(zhí)行第一或第二預(yù)定的指令;可編微程序設(shè)備1在當(dāng)前指令周期正執(zhí)行第一當(dāng)前指令,所述第一當(dāng)前指令被存儲(chǔ)在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6的第一存儲(chǔ)地址處,按照存儲(chǔ)地址在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6中的給定排布順序,在第一存儲(chǔ)地址之后為第二存儲(chǔ)地址,第一在先指令被存儲(chǔ)在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6中的第二存儲(chǔ)地址處,所述第一在先指令由可編微程序設(shè)備1在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行;可編微程序設(shè)備1在當(dāng)前指令周期正執(zhí)行預(yù)定的中斷例行程序(interrupt routine)的第一指令;可編微程序設(shè)備1在當(dāng)前指令周期正執(zhí)行-第二當(dāng)前指令,所述第二當(dāng)前指令與由可編微程序設(shè)備1在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行的第二在先指令相同;或者-存儲(chǔ)在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6的第三存儲(chǔ)地址處的第三當(dāng)前指令,按照存儲(chǔ)地址在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器6的給定排布順序,所述第三當(dāng)前指令之前沒(méi)有第四存儲(chǔ)地址,第三在先指令被存儲(chǔ)在第一代碼存儲(chǔ)器2和第二代碼存儲(chǔ)器 6的所述第四存儲(chǔ)地址處,所述第三在先指令由可編微程序設(shè)備1在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行。更具體地,所述第二當(dāng)前指令是等待指令,當(dāng)被可編微程序設(shè)備1執(zhí)行時(shí),所述等待指令使得可編微程序設(shè)備1 檢查是否出現(xiàn)預(yù)定條件;和繼續(xù)執(zhí)行所述等待指令直到所述預(yù)定條件出現(xiàn)。追蹤設(shè)備4被方便地配置用來(lái)當(dāng)它接收到表示可編微程序設(shè)備1正執(zhí)行所述第一預(yù)定指令的二進(jìn)制碼時(shí)啟動(dòng)追蹤由可編微程序設(shè)備1執(zhí)行的指令。追蹤設(shè)備4還被配置用來(lái)在從其接收到表示可編微程序設(shè)備1正執(zhí)行所述第二預(yù)定指令的二進(jìn)制碼時(shí)起過(guò)去給定時(shí)間后停止追蹤由可編微程序設(shè)備1執(zhí)行的指令。更具體地,可編微程序設(shè)備1不被配置成以所謂的關(guān)聯(lián)切換 (context-switching)硬件形式操作;只有一個(gè)(即所述預(yù)定的中斷例行程序)被存儲(chǔ)在第一代碼存儲(chǔ)器2中;并且第一代碼存儲(chǔ)器2既不存儲(chǔ)所謂的“陷阱指令”,也不存儲(chǔ)當(dāng)被可編微程序設(shè)備1執(zhí)行時(shí)產(chǎn)生執(zhí)行例外(例如被零相除)的指令。由可編微程序設(shè)備1進(jìn)行的指令追蹤步驟如下所示給二進(jìn)制碼生成裝置3提供啟動(dòng)追蹤存儲(chǔ)地址(即所述第一預(yù)定指令在第一代碼存儲(chǔ)器2中的存儲(chǔ)地址)和結(jié)束追蹤存儲(chǔ)地址(即所述第二預(yù)定指令在第一代碼存儲(chǔ)器2 中的存儲(chǔ)地址);
激活可編微程序設(shè)備1的排錯(cuò)模式,并且最初使插針5無(wú)效;并且當(dāng)可編微 程序設(shè)備1執(zhí)行存儲(chǔ)在啟動(dòng)追蹤存儲(chǔ)地址的指令時(shí),插針5被激活,二進(jìn)制碼生成裝置3在插針5上生成和輸出同步二進(jìn)制碼,并且追蹤設(shè)備4在接收到所述同步二進(jìn)制碼時(shí)與可編微程序設(shè)備1的指令執(zhí)行同步并將存儲(chǔ)在啟動(dòng)追蹤存儲(chǔ)地址的指令識(shí)別為當(dāng)前執(zhí)行的指令。此時(shí),追蹤設(shè)備4分辨出當(dāng)前正被可編微程序設(shè)備1執(zhí)行的指令,并且對(duì)于下一個(gè)指令周期,正被執(zhí)行的指令不需要被傳送。實(shí)際上,鑒于當(dāng)前執(zhí)行的指令,以下四種執(zhí)行相關(guān)事件中只有一種將在下一個(gè)指令周期中發(fā)生1.同步事件,即,存儲(chǔ)在啟動(dòng)追蹤存儲(chǔ)地址的指令或存儲(chǔ)在結(jié)束追蹤存儲(chǔ)地址的指令在下一個(gè)指令周期被執(zhí)行;2.存儲(chǔ)在當(dāng)前執(zhí)行的指令的存儲(chǔ)地址之后的存儲(chǔ)地址處的指令在下一個(gè)指令周期被執(zhí)行;3.只有那一個(gè)中斷例行程序在下一個(gè)指令周期被激活,即,所述預(yù)定的中斷例行程序的第一指令被執(zhí)行;4.等待指令當(dāng)前正被執(zhí)行,因此在下一個(gè)指令周期,等待指令被再次執(zhí)行,或者跳過(guò)等待指令,執(zhí)行存儲(chǔ)在跳躍終點(diǎn)地址處的指令。在追蹤設(shè)備4和二進(jìn)制碼生成裝置3之間、插針5之上施加通信頻率,該通信頻率是可編微程序設(shè)備1的代碼執(zhí)行頻率的至少兩倍,因此可以每個(gè)指令周期傳送至少兩比特。二進(jìn)制碼生成裝置3可連通至追蹤設(shè)備4,追蹤設(shè)備4發(fā)生上述四種執(zhí)行相關(guān)事件之一,并且由于包括第二代碼存儲(chǔ)器6,追蹤設(shè)備4能夠確定由可編微程序設(shè)備1執(zhí)行的代碼,其中可編微程序設(shè)備1的指令被存儲(chǔ)在與在第一代碼存儲(chǔ)器2中的相同的各自存儲(chǔ)地址處。而且,當(dāng)同步事件發(fā)生時(shí)如果追蹤設(shè)備4還沒(méi)追蹤由可編微程序設(shè)備1執(zhí)行的指令時(shí),追蹤設(shè)備4啟動(dòng)追蹤;或者如果追蹤設(shè)備4已經(jīng)啟動(dòng)由可編微程序設(shè)備1執(zhí)行的指令時(shí),追蹤設(shè)備4優(yōu)選在同步事件發(fā)生之后的預(yù)定之間過(guò)后停止追蹤。到目前為止,已特別提及了單出口(single-exit)等待指令,即保持可編微程序設(shè)備1處于等待狀態(tài)直到出現(xiàn)一個(gè)預(yù)定條件。也就是說(shuō),當(dāng)所述一個(gè)預(yù)定條件出現(xiàn)時(shí),可編微程序設(shè)備1在所述一個(gè)預(yù)定條件發(fā)生所在的指令周期的之后的指令周期執(zhí)行相應(yīng)的預(yù)定指令。另一方面,在多出口等待指令的情況下,可編微程序設(shè)備1仍保持等待狀態(tài),直到多個(gè)預(yù)定條件中的一個(gè)出現(xiàn)。也就是說(shuō),當(dāng)所述多個(gè)約定條件中的一個(gè)出現(xiàn)時(shí),可編微程序設(shè)備1在所述條件出現(xiàn)所在的指令周期之后的指令周期執(zhí)行對(duì)應(yīng)于已出現(xiàn)的條件的預(yù)定指令。如果第一代碼存儲(chǔ)器2存儲(chǔ)多出口等待指令,那么上述四種執(zhí)行相關(guān)事件不再足以表示所有可能出現(xiàn)的執(zhí)行相關(guān)事件,因此二進(jìn)制碼生成裝置3生成和輸出二進(jìn)制碼,每個(gè)包含大于2的N個(gè)數(shù)目的比特,S卩,N > 2。如前所述,二進(jìn)制碼生成裝置3優(yōu)選在相應(yīng)的指令周期生成和輸出每個(gè)所述二進(jìn)制碼。如果這不可行,即,如果每個(gè)指令周期只有兩比特被傳送通過(guò)插針5,那么二進(jìn)制碼生成裝置3可方便地包括先入先出(FIFO)型內(nèi)部存儲(chǔ)器(圖中未顯示),例如由觸發(fā)器構(gòu)成的內(nèi)部存儲(chǔ)器,并且二進(jìn)制碼生成裝置3被配置用來(lái)存儲(chǔ)所生成的二進(jìn)制碼。在可編微程序設(shè)備1在給定的指令周期執(zhí)行多出口等待指令的情況下,二進(jìn)制碼生成裝置3可方便地被配置用來(lái)在給定的指令周期并在給定的指令周期之后的M個(gè)指令周期(M ^ 1)生成相應(yīng)的二進(jìn)制碼并將其傳送通過(guò)插針5 ;和在所述內(nèi)部存儲(chǔ)器內(nèi)生成并存儲(chǔ)下述二進(jìn)制碼,所述二進(jìn)制碼表示在給定的指令周期之后的所述M個(gè)指令周期發(fā)生的執(zhí)行相關(guān)事件。因此,存儲(chǔ)在所述內(nèi)部存儲(chǔ)器中的二進(jìn)制碼可方便地在所述M個(gè)指令周期之后的指令周期由二進(jìn)制碼生成裝置3傳送通過(guò)插針5,并且傳送順序是它們存儲(chǔ)在內(nèi)部存儲(chǔ)器中的順序(即先入先出(FIFO)順序),而由二進(jìn)制碼生成單元3同時(shí)生成的新的二進(jìn)制碼可方便地被存儲(chǔ)在內(nèi)部存儲(chǔ)器中。而且,當(dāng)可編微程序設(shè)備1執(zhí)行非瞬時(shí)等待指令時(shí),即,由可編微程序設(shè)備1在不止一個(gè)指令周期執(zhí)行的等待指令,即,不會(huì)立即出現(xiàn)各自的等待狀態(tài)退出條件,如果所述非瞬時(shí)等待指令被可編微程序設(shè)備1執(zhí)行L個(gè)指令周期,使得足以將所有存儲(chǔ)在內(nèi)部存儲(chǔ)器中的二進(jìn)制碼以及至少一個(gè)表示所述非瞬時(shí)等待指令的執(zhí)行的二進(jìn)制碼傳遞通過(guò)插針5, 那么可恢復(fù)由二進(jìn)制碼生成裝置3傳送通過(guò)插針5的二進(jìn)制碼與可編微程序設(shè)備1執(zhí)行的指令的同步。最后,追蹤設(shè)備4能夠解碼所接收的二進(jìn)制碼進(jìn)入指令的順序,因而只有序列的最后一部分(而非整個(gè)序列)需要被存儲(chǔ)。本發(fā)明的優(yōu)點(diǎn)由于以上描述將變得清楚。特別地,重要的是要注意到,本發(fā)明是如何不同于已知的代碼追蹤技術(shù)而僅利用可編微程序設(shè)備的一個(gè)插針來(lái)追蹤可編微程序設(shè)備代碼的。明顯地,可對(duì)本發(fā)明作出改變,但是不背離如所附權(quán)利要求書(shū)界定出的本發(fā)明的范圍。
權(quán)利要求
1.一種用于追蹤由可編微程序電子設(shè)備(1)執(zhí)行的指令的系統(tǒng),所述可編微程序電子設(shè)備(1)包括存儲(chǔ)有指令的第一代碼存儲(chǔ)器O),并且被配置用來(lái)在各自的指令周期執(zhí)行每個(gè)存儲(chǔ)在第一代碼存儲(chǔ)器O)中的所述指令;所述系統(tǒng)包括二進(jìn)制碼生成裝置(3);和追蹤設(shè)備⑷;所述二進(jìn)制碼生成裝置C3)構(gòu)成可編微程序電子設(shè)備(1)的一部分,并被配置用來(lái)在可編微程序電子設(shè)備(1)的單個(gè)插針( 上生成和輸出二進(jìn)制碼,每個(gè)二進(jìn)制碼表示相應(yīng)的執(zhí)行相關(guān)事件、在相應(yīng)的指令周期被生成和輸出并且包含N個(gè)比特,其中N是大于或等于 2的整數(shù);所述追蹤設(shè)備(4)被連接至所述單個(gè)插針(5)以接收所述二進(jìn)制碼,并且該追蹤設(shè)備包括存儲(chǔ)有所述指令的第二代碼存儲(chǔ)器(6);所述追蹤設(shè)備(4)被配置用來(lái)基于所接收二進(jìn)制碼和存儲(chǔ)在第二代碼存儲(chǔ)器(6)中的所述指令來(lái)追蹤由可編微程序電子設(shè)備(1)執(zhí)行的指令。
2.如權(quán)利要求1所述的系統(tǒng),其中所述二進(jìn)制碼生成裝置C3)被配置用來(lái)在當(dāng)前指令周期生成和輸出當(dāng)前二進(jìn)制碼,在所述當(dāng)前指令周期發(fā)生由所述當(dāng)前二進(jìn)制碼表示的相應(yīng)執(zhí)行相關(guān)事件。
3.如權(quán)利要求2所述的系統(tǒng),其中每個(gè)指令被存儲(chǔ)在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)的相同的各自存儲(chǔ)地址處;其中所述存儲(chǔ)地址在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)中以相同的給定順序排布;并且其中所述當(dāng)前二進(jìn)制碼表示下述執(zhí)行相關(guān)事件之一可編微程序設(shè)備(1)在當(dāng)前指令周期正執(zhí)行第一或第二預(yù)定指令;可編微程序設(shè)備(1)在當(dāng)前指令周期正執(zhí)行第一當(dāng)前指令,所述第一當(dāng)前指令被存儲(chǔ)在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)的第一存儲(chǔ)地址處,按照存儲(chǔ)地址在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)中的給定排布順序,在第一存儲(chǔ)地址之后為第二存儲(chǔ)地址,第一在先指令被存儲(chǔ)在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)中的第二存儲(chǔ)地址處,所述第一在先指令由可編微程序設(shè)備(1)在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行;可編微程序設(shè)備(1)在當(dāng)前指令周期正執(zhí)行預(yù)定的中斷例行程序的第一指令;可編微程序設(shè)備(1)在當(dāng)前指令周期正執(zhí)行-第二當(dāng)前指令,所述第二當(dāng)前指令與由可編微程序設(shè)備(1)在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行的第二在先指令相同;或者-存儲(chǔ)在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)的第三存儲(chǔ)地址處的第三當(dāng)前指令,按照存儲(chǔ)地址在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)的給定排布順序,所述第三當(dāng)前指令之前沒(méi)有第四存儲(chǔ)地址,第三在先指令被存儲(chǔ)在第一代碼存儲(chǔ)器( 和第二代碼存儲(chǔ)器(6)的所述第四存儲(chǔ)地址處,所述第三在先指令由可編微程序設(shè)備(1)在時(shí)間上先于當(dāng)前指令周期的指令周期內(nèi)執(zhí)行。
4.如權(quán)利要求3所述的系統(tǒng),其中所述第二當(dāng)前指令是等待指令,當(dāng)被可編微程序設(shè)備(1)執(zhí)行時(shí),所述等待指令使得可編微程序設(shè)備(1)檢測(cè)是否出現(xiàn)預(yù)定條件;和繼續(xù)執(zhí)行所述等待指令直到所述預(yù)定條件出現(xiàn)。
5.如權(quán)利要求3所述的系統(tǒng),其中所述追蹤設(shè)備(4)還被配置用來(lái)當(dāng)它接收到表示可編微程序設(shè)備(1)正執(zhí)行所述第一預(yù)定指令的二進(jìn)制碼時(shí)啟動(dòng)追蹤由可編微程序設(shè)備(1) 執(zhí)行的指令。
6.如權(quán)利要求3所述的系統(tǒng),其中所述追蹤設(shè)備(4)還被配置用來(lái)在從它接收到表示可編微程序設(shè)備(1)正執(zhí)行所述第二預(yù)定指令的二進(jìn)制碼時(shí)起過(guò)去給定時(shí)間后停止追蹤由可編微程序設(shè)備(1)執(zhí)行的指令。
7.一種用于可編微程序設(shè)備的電子處理裝置,所述電子處理裝置被配置成權(quán)利要求1 所述的二進(jìn)制碼生成裝置(3)。
8.一種包含指令的軟件和/或固件產(chǎn)品,當(dāng)所述指令被可編微程序設(shè)備的可編程處理裝置執(zhí)行時(shí),所述指令使得所述可編程處理裝置被配置成權(quán)利要求1所述的二進(jìn)制碼生成裝置⑶。
9.一種電子處理裝置,其被配置成權(quán)利要求1所述的追蹤裝置(4)。
10.一種包含指令的軟件和/或固件產(chǎn)品,當(dāng)所述指令被可編程處理裝置執(zhí)行時(shí),所述指令使得所述可編程處理裝置被配置成權(quán)利要求1所述的追蹤裝置(4)。
全文摘要
本發(fā)明涉及一種用于追蹤由可編微程序電子設(shè)備(1)執(zhí)行的指令的系統(tǒng)。所述可編微程序電子設(shè)備(1)包括存儲(chǔ)有指令的第一代碼存儲(chǔ)器(2),并且被配置用來(lái)在各自的指令周期執(zhí)行每個(gè)存儲(chǔ)在第一代碼存儲(chǔ)器(2)中的所述指令。所述系統(tǒng)包括二進(jìn)制碼生成裝置(3)和追蹤設(shè)備(4)。所述二進(jìn)制碼生成裝置(3)構(gòu)成可編微程序電子設(shè)備(1)的一部分,并且被配置成在可編微程序電子設(shè)備(1)的單個(gè)插針(5)上生成和輸出二進(jìn)制碼,每個(gè)二進(jìn)制碼表示相應(yīng)的執(zhí)行相關(guān)事件、在相應(yīng)的指令周期被生成和輸出并且具有N個(gè)比特,其中N是大于等于2的整數(shù)。追蹤設(shè)備(4)被連接至單個(gè)插針(5)上以接收二進(jìn)制碼,并且具有存儲(chǔ)有所述指令的第二代碼存儲(chǔ)器(6)。追蹤設(shè)備(4)被配置用來(lái)基于所接收的二進(jìn)制碼和存儲(chǔ)在第二代碼存儲(chǔ)器(6)中的指令來(lái)追蹤由可編微程序電子設(shè)備(1)執(zhí)行的指令。
文檔編號(hào)G06F9/30GK102226886SQ20101025359
公開(kāi)日2011年10月26日 申請(qǐng)日期2010年8月3日 優(yōu)先權(quán)日2009年8月3日
發(fā)明者克勞迪奧·根塔, 阿爾貝托·曼佐尼 申請(qǐng)人:C.R.F.阿西安尼顧問(wèn)公司