專利名稱::微處理器與于微處理器中配置除錯(cuò)邏輯的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及微處理器的設(shè)計(jì),特別涉及配置微處理器的除錯(cuò)邏輯。
背景技術(shù):
:現(xiàn)在的微處理器非常的復(fù)雜,其意味著在微處理器和/或微處理器執(zhí)行的軟件中有很高的機(jī)率會(huì)發(fā)生錯(cuò)誤,包括系統(tǒng)固件(如BIOS)。因此,急需一種工具用以幫助微處理器開發(fā)者對(duì)微處理器以及系統(tǒng)固件除錯(cuò)?,F(xiàn)在已有許多除錯(cuò)工具。當(dāng)執(zhí)行用戶軟件(如應(yīng)用軟件或操作系統(tǒng)軟件)時(shí)大部分錯(cuò)誤會(huì)自己顯現(xiàn)出來。舉例而言,當(dāng)微處理器正在執(zhí)行一特定應(yīng)用程序(如電視游戲),或當(dāng)由許多用戶和/或一特定用戶軟件應(yīng)用程序的結(jié)合處在大量負(fù)載時(shí),錯(cuò)誤會(huì)自己顯現(xiàn)出來。在這些情況中,當(dāng)微處理器已經(jīng)開機(jī)且正在運(yùn)作用戶程序后,通過用戶軟件配置與致能除錯(cuò)工具即可滿足該項(xiàng)需求。然而,從過去經(jīng)驗(yàn)得知,在用戶軟件運(yùn)作以配置及致能除錯(cuò)工具前,在系統(tǒng)開機(jī)過程中已有部分錯(cuò)誤被顯現(xiàn)出來。因此,需要一種方法以協(xié)助除錯(cuò)上述系統(tǒng)開機(jī)過程中的部分錯(cuò)誤。
發(fā)明內(nèi)容在本發(fā)明的一實(shí)施例中,微處理器包括除錯(cuò)邏輯、多個(gè)可編程除錯(cuò)配置存儲(chǔ)單元、重置邏輯標(biāo)志與重置微碼。微處理器用以在讀取與執(zhí)行用戶程序指令之前執(zhí)行重置微碼以響應(yīng)微處理器重置。重置邏輯標(biāo)志于微處理器重置之前為可變的,并于微處理器讀取與執(zhí)行用戶指令之前選擇性地致能重置微碼以設(shè)定與致能除錯(cuò)邏輯。重置微碼用以判定重置邏輯標(biāo)志是否具有一第一預(yù)設(shè)值或一第二預(yù)設(shè)值,第一預(yù)設(shè)值與第二預(yù)設(shè)值分別相對(duì)應(yīng)于一除錯(cuò)模式值以及一初始標(biāo)準(zhǔn)模式值。當(dāng)重置邏輯標(biāo)志具有對(duì)應(yīng)于除錯(cuò)模式的第一預(yù)設(shè)值時(shí),重置微碼將除錯(cuò)配置初始值寫入可編程除錯(cuò)配置存儲(chǔ)元件中,以配置除錯(cuò)邏輯。當(dāng)重置邏輯標(biāo)志具有相對(duì)應(yīng)于標(biāo)準(zhǔn)模式值的第二預(yù)設(shè)值時(shí),重置微碼禁止將除錯(cuò)配置初始值寫入可編程除錯(cuò)配置存儲(chǔ)元件中。因此,在微處理器重置時(shí)以及微處理器讀取與執(zhí)行用戶指令之前,微處理器根據(jù)重置邏輯標(biāo)志的預(yù)設(shè)值被選擇性地配置以設(shè)定與致能除錯(cuò)邏輯。在另一實(shí)施例中,除錯(cuò)邏輯為一追蹤程序邏輯,除錯(cuò)配置存儲(chǔ)元件為追蹤程序配置存儲(chǔ)元件,除錯(cuò)配置初始值為追蹤程序邏輯配置值。在一實(shí)施例中,可編程除錯(cuò)或追蹤程序配置存儲(chǔ)元件包括微處理器的特別模塊寄存器,特別模塊寄存器通過上述的重置微碼及x86指令集結(jié)構(gòu)的WRMSR指令進(jìn)行配置。在另一有關(guān)重置邏輯標(biāo)志架構(gòu)的實(shí)施例中,重置邏輯標(biāo)志包括一可變?nèi)劢z,用以通過上述微處理器的高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。在另一實(shí)施例中,重置邏輯標(biāo)志包括一易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過微處理器的除錯(cuò)端口通過除錯(cuò)器所設(shè)定的數(shù)值。重置邏輯標(biāo)志包括由除錯(cuò)器預(yù)先提供的掃描寄存器值。當(dāng)微處理器重置且微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的數(shù)值可保持著。當(dāng)重置邏輯標(biāo)志不具有掃描寄存器的數(shù)值時(shí),重置邏輯標(biāo)志的數(shù)值即為通過可變?nèi)劢z所指定的數(shù)值。同樣地,在另一有關(guān)除錯(cuò)配置初始值來源的實(shí)施例中,除錯(cuò)配置初始值為通過多個(gè)可變除錯(cuò)配置初始存儲(chǔ)元件的一或多個(gè)提供。除錯(cuò)配置初始化值為存儲(chǔ)在重置微碼中的數(shù)值。在一些實(shí)施例中,通過微處理器的高電壓輸入端熔斷微碼修補(bǔ)熔絲的可變微碼修補(bǔ)熔絲被提供以在微處理器中應(yīng)用微碼修補(bǔ)。在這些實(shí)施例中,當(dāng)使用微碼修補(bǔ)時(shí),除錯(cuò)配置初始化值為存儲(chǔ)在微碼修補(bǔ)中的數(shù)值。在一些實(shí)施例中,易失性存儲(chǔ)器掃描寄存器用以掃描或提供除錯(cuò)器掃描以及存儲(chǔ)由微處理器的除錯(cuò)端口通過除錯(cuò)器所提供的數(shù)值。在這些實(shí)施例中,除錯(cuò)配置初始化值為由除錯(cuò)器預(yù)先提供的掃描寄存器值。當(dāng)沒有掃描寄存器值時(shí),除錯(cuò)配置初始化值為存儲(chǔ)在微碼修補(bǔ)中的數(shù)值。當(dāng)在上述兩種情況中,除錯(cuò)配置初始化值為與原先重置微碼存儲(chǔ)的數(shù)值。在另一實(shí)施例中,除錯(cuò)邏輯選擇性地根據(jù)可編程除錯(cuò)配置存儲(chǔ)元件的數(shù)值與一除錯(cuò)觸發(fā)事件的檢測(cè)觸發(fā)除錯(cuò)微碼。當(dāng)在除錯(cuò)模式時(shí),除錯(cuò)微碼配置微處理器以產(chǎn)生處理器狀態(tài)記錄信息。在另一實(shí)施例中,提供配置微處理器的除錯(cuò)邏輯的方法。微處理器執(zhí)行重置微碼以響應(yīng)微處理器的重置。重置微碼判定一標(biāo)志是否具有一第一預(yù)設(shè)值或一第二預(yù)設(shè)值,其中標(biāo)志用以指出重置微碼是否用以配置除錯(cuò)邏輯。當(dāng)標(biāo)志具有第一預(yù)設(shè)值時(shí),重置微碼將除錯(cuò)配置初始化值寫入可編程除錯(cuò)配置存儲(chǔ)元件中以配置除錯(cuò)邏輯。當(dāng)標(biāo)志具有第二預(yù)設(shè)值時(shí),重置微碼禁止將除錯(cuò)配置初始化值寫入可編程除錯(cuò)配置存儲(chǔ)元件中。在另一有關(guān)重置邏輯標(biāo)志的結(jié)構(gòu)的實(shí)施例中,重置邏輯標(biāo)志包括一可變?nèi)劢z,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。在此實(shí)施例中,該方法還包括通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。在另一實(shí)施例中,重置邏輯標(biāo)志包括一易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過微處理器的除錯(cuò)端口通過除錯(cuò)器所設(shè)定的數(shù)值。在此實(shí)施例中,該方法還包括連接一除錯(cuò)器至微處理器的除錯(cuò)端口,使用除錯(cuò)器以設(shè)定掃描寄存器值,以及在不關(guān)閉微處理器電源的情況下重置微處理器。同樣地,在另一有關(guān)除錯(cuò)配置初始值的可變來源的實(shí)施例中,將數(shù)值寫入可編程除錯(cuò)配置存儲(chǔ)元件中的動(dòng)作包括將存儲(chǔ)在重置微碼中的預(yù)設(shè)值寫入可編程除錯(cuò)配置存儲(chǔ)元件中,在另一實(shí)施例中,將數(shù)值寫入可編程除錯(cuò)配置存儲(chǔ)元件的動(dòng)作包括將存儲(chǔ)在多個(gè)初始化存儲(chǔ)元件中的值寫入可編程除錯(cuò)配置存儲(chǔ)元件中。初始化存儲(chǔ)元件包括可變微碼修補(bǔ)熔絲,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。該方法還包括施加多個(gè)高電壓至可變微碼修補(bǔ)熔絲的一或多個(gè)以修補(bǔ)重置微碼。初始化存儲(chǔ)元件包括易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過微處理器的除錯(cuò)端口所設(shè)定的數(shù)值。該方法還包括連接一除錯(cuò)器至微處理器的除錯(cuò)端口,使用除錯(cuò)器以設(shè)定掃描寄存器值,以及在不關(guān)閉微處理器電源的情況下重置微處理器。在另一實(shí)施例中,提供通過設(shè)定重置邏輯標(biāo)志以配置微處理器的除錯(cuò)邏輯的方法,在讀取以及執(zhí)行用戶指令前,該重置邏輯標(biāo)志選擇性地致能重置微碼以設(shè)定與致能微處理器中的除錯(cuò)邏輯。該方法包括連接一除錯(cuò)器至微處理器的除錯(cuò)端口,根據(jù)設(shè)定至初始標(biāo)準(zhǔn)模式的重置邏輯標(biāo)志運(yùn)作微處理器,使用除錯(cuò)器以設(shè)定重置邏輯標(biāo)志為一除錯(cuò)模式值,重置微處理器,以及執(zhí)行重置微碼以響應(yīng)微處理器的重置。重置微碼判定重置邏輯標(biāo)志是否具有標(biāo)準(zhǔn)模式值或除錯(cuò)模式值。當(dāng)重置邏輯標(biāo)志具有除錯(cuò)模式值時(shí),將數(shù)值寫入可編程除錯(cuò)配置存儲(chǔ)元件中。當(dāng)重置邏輯標(biāo)志不具有除錯(cuò)模式值,禁止將數(shù)值寫入可編程除錯(cuò)配置存儲(chǔ)元件中。上述方法有關(guān)于重置邏輯標(biāo)志的結(jié)構(gòu)以及除錯(cuò)配置初始化值的可變來源的設(shè)定動(dòng)作。在一實(shí)施例中,該方法還包括在重置微處理器前,使用除錯(cuò)器以將新除錯(cuò)配置值寫入多個(gè)除錯(cuò)配置初始化存儲(chǔ)元件中。在其他實(shí)施例中,該方法還包括在重置微處理器前,施加多個(gè)高電壓至一或多個(gè)可變微碼修補(bǔ)熔絲以改變重置邏輯標(biāo)志的相對(duì)應(yīng)值和/或修補(bǔ)重置微碼。在其他實(shí)施例中,該方法還包括在重置微處理器前,使用除錯(cuò)器設(shè)定掃描寄存器值和/或除錯(cuò)配置初始化值以給重置邏輯標(biāo)志。圖I所示是根據(jù)本發(fā)明實(shí)施例的微處理器的方塊圖;圖2所示是根據(jù)本發(fā)明實(shí)施例的配置圖I微處理器的方法流程圖;圖3所示是根據(jù)本發(fā)明實(shí)施例的圖I微處理器的運(yùn)作流程圖。主要元件符號(hào)說明100微處理器;102快取存儲(chǔ)器;104指令轉(zhuǎn)譯器;106微序列器;107微碼存儲(chǔ)器;108重置微碼;112寄存器別名表;114保留站;116執(zhí)行單元;118引退單元;128微碼修補(bǔ)熔絲;132特征致能熔絲;134掃描寄存器;138追蹤程序特別I旲塊寄存器142追蹤程序微碼;144微碼修補(bǔ)硬件;152邏輯;154事件輸入;156信號(hào);192重置輸入端;194熔絲熔斷電壓輸入端;196JTAG輸入端;202、204、302、304、305、306、308、312、314、316步驟。具體實(shí)施例方式美國(guó)專利第12/748,753號(hào)(CNTR.2461)、第12/748,929號(hào)(CNTR.2508)、第12/944,269號(hào)(CNTR.2509)與第12/748,846號(hào)(CNTR.2510)中描述了一種用于微處理器的除錯(cuò)與效能調(diào)整功能的追蹤程序。一般而言,追蹤程序是一組微碼例程(miCTocode!■outine),追蹤程序一直處在睡眠狀態(tài),直到一軟件被寫入至一控制寄存器時(shí)追蹤程序才會(huì)被啟動(dòng)。當(dāng)追蹤程序被啟動(dòng)時(shí),多個(gè)事件可以觸發(fā)追蹤程序以收集處理器狀態(tài)信息以及將處理器狀態(tài)信息寫入存儲(chǔ)器中特定的地址,使得處理器狀態(tài)信息可以被監(jiān)控外部處理器總線狀態(tài)的邏輯解析器(logicanalyzer)所捕捉。狀態(tài)信息包括寄存器組(registersets)、轉(zhuǎn)譯后備(translation-lookaside)緩沖器、快取存儲(chǔ)器(例如數(shù)據(jù)快取存儲(chǔ)器、指令快取存儲(chǔ)器、分流目標(biāo)地址快取存儲(chǔ)器與level-2快取存儲(chǔ)器)與處理器私有RAM的內(nèi)容。狀態(tài)信息以及其他有關(guān)狀態(tài)信息的信息(時(shí)間信息)在此處稱為記錄(LOG)信息或記錄。上述事件也可以觸發(fā)追蹤程序用以執(zhí)行其他動(dòng)作,例如清除多種狀態(tài)(例如回寫無效快取存儲(chǔ)器、清除TLBs與LRU矩陣以及分流預(yù)測(cè)信息),或使處理器對(duì)私有SMM地址執(zhí)行SMI中斷。舉例而言,事件包括特定指令的執(zhí)行;x86異常;SMI、INTR、NMI、STPCLK與A20中斷;VM離開狀態(tài);機(jī)器檢測(cè);以及讀寫APIC寄存器。追蹤程序可被服務(wù)處理器配置、致能以及觸發(fā)。當(dāng)主要處理器總線閑置(hang)時(shí),記錄信息可以被寫入至系統(tǒng)存儲(chǔ)器或服務(wù)處理器總線。服務(wù)處理器也可檢測(cè)主要處理器處在閑置狀態(tài),并在重置主要處理器時(shí),為主要處理器和/或?qū)懭胗涗浶畔?。追蹤程序可被配置在一多?nèi)核處理器的每一內(nèi)核上,使得所有內(nèi)核在分界點(diǎn)(breakpoint)后可同步繼續(xù)執(zhí)行。追蹤程序可被配置成重復(fù)執(zhí)行以下指令在一預(yù)設(shè)數(shù)目的指令引退后被觸發(fā)、將處理器狀態(tài)傾倒(dump)存儲(chǔ)器后、重置處理器后、從存儲(chǔ)器重載處理器狀態(tài)后、以及繼續(xù)執(zhí)行。必要的話,處理器的重置可為部分重置以避免閑置系統(tǒng)總線。然而,時(shí)常在用戶應(yīng)用程序配置追蹤程序寄存器之前,在微處理器或系統(tǒng)固件中的錯(cuò)誤即會(huì)顯現(xiàn)出來。此處描述一種解決方法,主要為在微處理器開始讀取與執(zhí)行用戶應(yīng)用程序指令之前,即配置微處理器以使重置微碼載入具有預(yù)設(shè)值的追蹤程序配置寄存器,使得追蹤程序可在用戶碼致使任一事件發(fā)生時(shí)被事件觸發(fā)。微處理器被配置完成上述步驟包括修補(bǔ)追蹤程序微碼,以及熔斷熔絲以啟動(dòng)此特征,修補(bǔ)微碼可用以致能除錯(cuò)器從預(yù)設(shè)值改變?yōu)樽粉櫝绦蚺渲眉拇嫫髦?。圖I所示是根據(jù)本發(fā)明的微處理器100的示意圖。微處理器100可由改變一可編程熔絲值而被選擇性地配置,在微處理器100轉(zhuǎn)送控制權(quán)給一用戶應(yīng)用程序(如系統(tǒng)固件)之前(即于微處理器100讀取或執(zhí)行用戶應(yīng)用程序指令之前),使得重置微處理器100的微碼可配置與致能追蹤程序特征。上述方法有助于對(duì)微處理器100與系統(tǒng)固件進(jìn)行除錯(cuò)。仔細(xì)而言,上述方法在用戶軟件用以配置與致能追蹤程序之前,可便于針對(duì)在系統(tǒng)開機(jī)過程已經(jīng)顯現(xiàn)出來的錯(cuò)誤類別進(jìn)行除錯(cuò)。此外,上述方法使得微處理器100的制造者可在沒有存取系統(tǒng)固件來源碼的情況中,判定錯(cuò)誤是否在微處理器100或系統(tǒng)固件中。根據(jù)本發(fā)明一實(shí)施例,微處理器100的微結(jié)構(gòu)包括超標(biāo)量(純量)架構(gòu)與非循序(out-of-order)執(zhí)行管線(pipeline)的功能單元。指令快取存儲(chǔ)器102快取(cache)從一系統(tǒng)存儲(chǔ)器(未顯示于圖中)中所讀取的指令。指令轉(zhuǎn)譯器104耦接至指令快取存儲(chǔ)器102,以接收來自指令快取存儲(chǔ)器102的指令,如x86指令集結(jié)構(gòu)指令。寄存器別名表112(registeraliastable,RAT)f禹接至指令轉(zhuǎn)譯器104與微序列器106,以接收來自指令轉(zhuǎn)譯器104與微序列器106的已轉(zhuǎn)譯的微指令,以及對(duì)已轉(zhuǎn)譯的微指令產(chǎn)生相依性信息(dependencyinfor-mation)。多個(gè)保留站114f禹接至寄存器別名表112,以接收來自寄存器別名表112的已轉(zhuǎn)譯的微指令與相關(guān)信息。多個(gè)執(zhí)行單元116耦接至保留站114,以接收來自保留站114的已轉(zhuǎn)譯的微指令與已轉(zhuǎn)譯微指令的指令運(yùn)算元。指令運(yùn)算元可來自微處理器100的寄存器,例如通用寄存器(未顯示于圖中)與可讀寫的特別模塊寄存器138(modelspecificregister,MSR),以及來自f禹接至執(zhí)行單元116的數(shù)據(jù)快取存儲(chǔ)器(未顯示于圖中)。引退單元118耦接至執(zhí)行單元116,以接收來自執(zhí)行單元116的指令結(jié)果,并引退指令結(jié)果至微處理器100的結(jié)構(gòu)狀態(tài)寄存器中。一外部的重置輸入端192耦接至每一單元。當(dāng)微處理器100電源開啟時(shí),重置輸入端192上的重置值使得微處理器100保持在重置狀態(tài),直到一轉(zhuǎn)變信號(hào)使重置輸入端192上的值轉(zhuǎn)變?yōu)榉侵刂弥禐橹?。特別模塊寄存器138可為追蹤程序特別模塊寄存器(138)或追蹤程序配置寄存器(138)。追蹤程序配置寄存器(138)存儲(chǔ)關(guān)于追蹤程序運(yùn)算的配置值,例如會(huì)觸發(fā)追蹤程序的事件以及追蹤程序會(huì)根據(jù)事件所執(zhí)行的動(dòng)作等信息,如上述美國(guó)專利申請(qǐng)書中所載。如上所述,用戶應(yīng)用程序可對(duì)追蹤程序配置寄存器(138)進(jìn)行寫入操作以配置與致能追蹤程序。在一實(shí)施例中,用戶碼可通過x86WRMSR指令以寫入至追蹤程序配置寄存器(138)中。有益的是,重置微碼108(下面將對(duì)此進(jìn)行討論)可在用戶應(yīng)用程序指令被讀取與執(zhí)行前被致能,用以載入追蹤程序配置值至追蹤程序配置寄存器(138)并致能追蹤程序,以便加速微處理器100和/或系統(tǒng)固件的除錯(cuò)。微序列器106包括微碼存儲(chǔ)器107,其中微碼存儲(chǔ)器107用以存儲(chǔ)重置微碼108、追蹤程序微碼142以及被執(zhí)行單元116所執(zhí)行的其他微碼。微序列器106還包括微碼修補(bǔ)硬件144。重置微碼108被啟動(dòng)以響應(yīng)微處理器100的重置。換句話說,當(dāng)微處理器100重置時(shí),微處理器100最先執(zhí)行的指令為重置微碼108。在一實(shí)施例中,重置微碼108與追蹤程序微碼142為微處理器100的微結(jié)構(gòu)指令集的指令。在另一實(shí)施例中,重置微碼108與追蹤程序微碼142為不同指令集的指令,上述指令被轉(zhuǎn)譯為微處理器100的微結(jié)構(gòu)指令集的指令。下面將詳述重置微碼108與追蹤程序微碼142的運(yùn)作。微處理器100包括邏輯152,用以接收來自追蹤程序配置寄存器(138)的值與事件輸入154,并響應(yīng)于其而產(chǎn)生一追蹤程序進(jìn)入信號(hào)(trapontracersignal)156至指令轉(zhuǎn)譯器104,以使得指令轉(zhuǎn)譯器104停止讀取用戶應(yīng)用程序指令,并使指令轉(zhuǎn)譯器104控制權(quán)至微序列器106并開始讀取追蹤程序微碼142。因此,當(dāng)追蹤程序配置寄存器(138)中所定義的一追蹤程序觸發(fā)事件發(fā)生時(shí),追蹤程序微碼142即被啟動(dòng)。事件輸入154可包括用以表示前述美國(guó)專利申請(qǐng)書中所描述的事件的輸入,例如,但不限定于,一計(jì)數(shù)器指出微處理器100已經(jīng)引退了一預(yù)設(shè)數(shù)目的指令、指令轉(zhuǎn)譯器104解碼一預(yù)設(shè)指令集中的一指令、以及一異常發(fā)生。邏輯152比較事件輸入154與來自追蹤程序配置寄存器(138)的追蹤程序配置值,以判定事件輸入154是否達(dá)到條件以傳送追蹤程序進(jìn)入信號(hào)156。有益的是,微處理器100通過特征致能熔絲(fatureenablefuse)132或如下將詳述的一除錯(cuò)端口或測(cè)試存取端口如JTAG(JointTestActionGroup)輸入端196(其中JTAG輸入端196為JTAG接口的一部分)被配置,用以使重置微碼108載入追蹤程序配置值至追蹤程序配置寄存器(138),以便于用戶應(yīng)用程序指令被讀取與執(zhí)行之前配置與致能追蹤程序。此外,追蹤程序配置的預(yù)設(shè)值可通過微碼修補(bǔ)熔絲由修補(bǔ)微碼加以修正。應(yīng)注意的是,在一實(shí)施例中,可以邏輯152為中心組成一除錯(cuò)邏輯來完成上述除錯(cuò)的工作,而除錯(cuò)邏輯應(yīng)包含邏輯152的功能但不限于此。此外,在另一實(shí)施例中,可以追蹤程序配置寄存器138為內(nèi)核作為存儲(chǔ)配置上述除錯(cuò)邏輯所需數(shù)值的可編程除錯(cuò)配置存儲(chǔ)單元,而此可編程除錯(cuò)配置存儲(chǔ)單元所存儲(chǔ)的數(shù)值可視應(yīng)用而變更、或是視應(yīng)用而編程存儲(chǔ)其中的數(shù)值。再者,作為除錯(cuò)觸發(fā)事件的事件154也可依據(jù)實(shí)際應(yīng)用而變更,以使上述的除錯(cuò)邏輯得以進(jìn)入除錯(cuò)模式以進(jìn)行除錯(cuò)的工作,但實(shí)際應(yīng)用不限于此。微處理器100也包括特征致能熔絲132,用以指出除錯(cuò)器(即除錯(cuò)微處理器100和/或系統(tǒng)固件的用戶)是否已經(jīng)致能重置微碼108以配置與致能追蹤程序的特征。特征致能熔絲132的值被提供至執(zhí)行單元116使得重置微碼108可以讀取該值。特征致能熔絲132的熔斷值指示重置微碼108以配置與致能追蹤程序特征,而特征致能熔絲132的非熔斷值則指示重置微碼108以禁止配置與致能追蹤程序特征。特征致能熔絲132可通過在熔絲熔斷電壓輸入端194施加高電壓而被熔斷。在一實(shí)施例中,微處理器100包括可尋址的熔絲,且熔絲熔斷電壓輸入端194也包括地址信號(hào),其中可通過地址信號(hào)以指出哪些特征致能熔絲132為可被熔斷的熔絲。在一實(shí)施例中,可以特征致能熔絲132為內(nèi)核設(shè)置一初始化存儲(chǔ)元件,作為存儲(chǔ)除錯(cuò)配置初始化值的場(chǎng)所,例如當(dāng)致能熔絲132的非熔斷值(亦即初使標(biāo)準(zhǔn)模式值)則指示重置微碼108以禁止配置與致能追蹤程序特征,但實(shí)際應(yīng)用可不限于此。微處理器100也包括多個(gè)微碼修補(bǔ)熔絲128,微碼修補(bǔ)熔絲128可通過微碼修補(bǔ)(microcodepatches)被選擇性地熔斷,微碼修補(bǔ)被寫入至微碼修補(bǔ)硬件144以修補(bǔ)重置微碼108與追蹤程序微碼142。進(jìn)一步而言,在重置微碼108與追蹤程序微碼142中的初始追蹤程序配置值可通過微碼修補(bǔ)熔絲128被修補(bǔ)。微碼修補(bǔ)熔絲128的值被提供至執(zhí)行單元116,使得重置微碼108可讀取該值且將這些值寫入微碼修補(bǔ)硬件144。微碼修補(bǔ)熔絲128可通過熔絲熔斷電壓輸入端194被熔斷。在一實(shí)施例中,微處理器100還包括一掃描寄存器134,掃描寄存器134配置在執(zhí)行單元116與特征致能熔絲132與微碼修補(bǔ)熔絲128之間。在執(zhí)行單元116執(zhí)行到要求這些值的指令時(shí),掃描寄存器134接收特征致能熔絲132與微碼修補(bǔ)熔絲128的值,并將接收到的值提供至執(zhí)行單元116。然而,如果除錯(cuò)器在微處理器100重置之前通過JTAG輸入端196將這些值掃描入掃描寄存器134之中,掃描寄存器134會(huì)提供特征致能熔絲132和/或微碼修補(bǔ)熔絲128的值至執(zhí)行單元116。在此方式中,在讀取與執(zhí)行用戶應(yīng)用程序指令之前,除錯(cuò)器不需熔斷特征致能熔絲132即可致能此特征,以使得重置微碼108配置與致能追蹤程序。同樣地,在此方式中,除錯(cuò)器不需熔斷微碼修補(bǔ)熔絲128,即可通過修補(bǔ)在重置微碼108與追蹤程序微碼142中的初始追蹤程序配置值,以修正初始追蹤程序配置值。通過JTAG輸入端196將這些值掃描至掃描寄存器134而非熔斷熔絲128與132的好處為這些值可連續(xù)性地被改變。即使當(dāng)微處理器100重置時(shí),掃描至掃描寄存器134的值會(huì)保持著,然而當(dāng)關(guān)閉微處理器100時(shí),掃描至掃描寄存器134的值將會(huì)遺失。在一實(shí)施例中,在微處理器100開啟后與重置輸入端被釋放之前(即重置微碼108開始運(yùn)作之前),除錯(cuò)器將這些值掃描至掃描寄存器134。除錯(cuò)器可利用除錯(cuò)器轉(zhuǎn)接器(如JTAG卡)掃描這些值并通過JTAG輸入端196改變?nèi)劢z128/132的值?;旧?,JTAG卡(通過耦接一USB端口)安裝在一計(jì)算機(jī)中,該計(jì)算機(jī)為在包括微處理器100和/或系統(tǒng)固件將被除錯(cuò)的另一計(jì)算機(jī)的外部,而JTAG卡則包括JTAG接口,用以耦接正在被除錯(cuò)的微處理器100的JTAG輸入端。除錯(cuò)器通過熔絲熔斷電壓輸入端194或JTAG輸入端196將特征致能熔絲132設(shè)定為一第一預(yù)設(shè)值以致能該特征,并將特征致能熔絲132設(shè)定為一第二預(yù)設(shè)值以去能該特征。圖2所示是配置圖I的微處理器100以除錯(cuò)微處理器100和/或系統(tǒng)固件的方法的流程圖。流程圖起始在步驟202。在步驟202中,除錯(cuò)器通過通過熔絲熔斷電壓輸入端194熔斷特征致能熔絲132、或通過JTAG輸入端196將特征致能值掃描至掃描寄存器134以致能除錯(cuò)特征。接著,流程圖進(jìn)行至步驟204。在步驟204中,除錯(cuò)器通過修補(bǔ)重置微碼108/追蹤程序微碼142以覆蓋重置微碼108/追蹤程序微碼142中的初始追蹤程序配置值,上述步驟可通過通過熔絲熔斷電壓輸入端194熔斷微碼修補(bǔ)熔絲128、或通過JTAG輸入端196將修補(bǔ)值掃描至掃描寄存器134達(dá)成。在一實(shí)施例中,初始追蹤程序配置值使得追蹤程序于指令轉(zhuǎn)譯器104在下列情形產(chǎn)生檢查點(diǎn)(checkpoint):執(zhí)行指令(如RDMSR、WRMSR、CPUID、IN、OUT或RDTSC)時(shí);一外部中斷(包括一系統(tǒng)管理中斷SMI);—異常發(fā)生;或一TR7事件。TR7事件可通過程序給定一數(shù)值,以指出在檢查點(diǎn)之前所預(yù)定的引退指令數(shù)量。TR7事件中的檢查點(diǎn)包括在每次引退一預(yù)設(shè)數(shù)目的指令后,將處理器狀態(tài)信息的完全傾倒(fulldump)或記錄。在其他追蹤程序事件時(shí),檢查點(diǎn)包括較小的記錄,主要包括有關(guān)于執(zhí)行特定指令或事件的暫存值。接著,流程圖進(jìn)行至步驟204。因?yàn)闃?biāo)準(zhǔn)功能和/或效能會(huì)被追蹤程序特征的致能所影響,除了在除錯(cuò)環(huán)境中,除錯(cuò)微碼不適合致能追蹤程序。換句話說,因?yàn)闃?biāo)準(zhǔn)功能和/或效能可能會(huì)被影響,微處理器100的制造者在配置微處理器100給一般用戶時(shí)并不會(huì)在重置時(shí)致能追蹤程序。圖3所示是圖I的微處理器100的運(yùn)作的流程圖。流程圖起始在步驟302。在步驟302中,微處理器100進(jìn)行重置。在一實(shí)施例中,微處理器100的重置通過在重置輸入端192上由一第一預(yù)設(shè)值轉(zhuǎn)換至一第二預(yù)設(shè)值所觸發(fā)。在一實(shí)施例中,微處理器100的重置可通過接收到一訊息所觸發(fā),例如微處理器100接收到經(jīng)由包含微處理器100的系統(tǒng)的一芯片組傳送的總線協(xié)議INIT訊息。在另一實(shí)施例中,微處理器100包括輔助處理器或服務(wù)處理器如上述美國(guó)專利申請(qǐng)書中所述,而服務(wù)處理器會(huì)重置圖I中的微處理器100。接著,流程圖進(jìn)行至步驟304。在步驟304中,響應(yīng)在步驟302中的微處理器100的重置,微處理器100開始讀取與執(zhí)行圖I中的重置微碼108。進(jìn)一步而言,微序列器106開始讀取與執(zhí)行重置微碼108。接著,流程圖進(jìn)行至步驟305。在步驟305中,重置微碼108從掃描寄存器134讀取特征致能熔絲132與微碼修補(bǔ)熔絲128的值。此外,重置微碼108將從掃描寄存器134讀取到的微碼修補(bǔ)寫入微碼修補(bǔ)硬件144。如上所述,微碼修補(bǔ)可在重置微碼108/追蹤程序微碼142中包括對(duì)初始追蹤程序配置值的修正。接著,流程圖進(jìn)行至步驟306。在步驟306中,重置微碼108根據(jù)步驟305中所讀取到的特征致能熔絲132的值,用以判定該特征是否被致能。在一實(shí)施例中,微處理器100對(duì)于每一類型微處理器100的重置包括不同的特征致能熔絲。舉例而言,一第一特征致能熔絲可用以指出重置微碼108是否應(yīng)配置與致能追蹤程序以響應(yīng)一外部輸入端的重置192,一第二特征致能熔絲可用以指出重置微碼108是否應(yīng)配置與致能追蹤程序以響應(yīng)一INIT訊息重置,以及一第三特征致能熔絲可用以指出重置微碼108是否應(yīng)配置與致能追蹤程序以響應(yīng)服務(wù)處理器對(duì)微處理器100的重置。如果特征被致能時(shí),流程圖則進(jìn)行至步驟308;否則,流程圖則進(jìn)行至步驟312。在步驟308中,重置微碼載入預(yù)設(shè)值至追蹤程序配置寄存器(138)且致能追蹤程序。這些預(yù)設(shè)值包含在重置微碼108之中,即微碼存儲(chǔ)器107在制造即具有此與設(shè)值。然而,包含在重置微碼108中的預(yù)設(shè)值可通過熔斷圖I中的微碼修補(bǔ)熔絲128被改變。接著,流程圖進(jìn)行至步驟312。在步驟312中,重置微碼108繼續(xù)微處理器100的標(biāo)準(zhǔn)初始化,例如執(zhí)行診斷功能(如測(cè)試快取存儲(chǔ)器陣列)以及配置微處理器100的其他部分。接著,流程圖進(jìn)行至步驟314。在步驟314中,重置微碼108完成微處理器100的初始化且通過讀取與執(zhí)行在結(jié)構(gòu)重置向量地址(architecturalresetvectoraddress)的指令以轉(zhuǎn)交控制權(quán)給用戶軟件,其中系統(tǒng)固件位于結(jié)構(gòu)重置向量地址中。接著,流程圖進(jìn)行至步驟316。在步驟316中,在重置微碼108用以配置追蹤程序配置寄存器(138)的觸發(fā)事件發(fā)生時(shí),微處理器100執(zhí)行追蹤程序微碼142。本發(fā)明雖以優(yōu)選實(shí)施例公開如上,然其并非用以限定本發(fā)明的范圍,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤(rùn)飾。舉例來說,除了以硬件(例如耦接至或在一中央處理單元內(nèi)、微處理器、微控制器、數(shù)字信號(hào)處理器、處理器內(nèi)核、系統(tǒng)芯片或任何其它裝置)來實(shí)現(xiàn)外,也可用軟件(例如計(jì)算機(jī)可讀碼、程序代碼、或任何形式的指令,例如原始語(yǔ)言、目標(biāo)語(yǔ)言或機(jī)械語(yǔ)言)來實(shí)現(xiàn),例如,在一計(jì)算機(jī)可用(例如可讀取)介質(zhì)內(nèi)存儲(chǔ)該軟件。舉例來說,此種軟件可以使功能執(zhí)行、制造、制造模型、模擬、敘述或測(cè)試這里所提及的裝置及方法,例如,可用通常的程序語(yǔ)言(例如C或C++)、硬件描述語(yǔ)言(例如VerilogHDL.VHDL)或其它程序來完成;此種軟件可被安裝于任何計(jì)算機(jī)可用介質(zhì),例如半導(dǎo)體、磁盤或光盤(例如⑶-ROM、DVD-ROM等)。本發(fā)明的實(shí)施例包括提供一微處理器的方法,此通過提供描述有微處理器的設(shè)計(jì)的軟件,并將該軟件以計(jì)算機(jī)數(shù)據(jù)信號(hào)的方式通過通信網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)及局域網(wǎng))傳送出去。本發(fā)明的裝置與方法也可被用于一半導(dǎo)體知識(shí)產(chǎn)權(quán)內(nèi)核(semiconductorintellectualpropertycore),例如一個(gè)微處理器內(nèi)核(以HDL實(shí)現(xiàn)),之后再以集成電路的方式轉(zhuǎn)換成硬件,另外,本發(fā)明的裝置與方法也可由硬件及軟件來組合實(shí)現(xiàn)。因此,本發(fā)明不該被局限于所公開的實(shí)施例,本發(fā)明的保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所指定者為準(zhǔn)。本發(fā)明被實(shí)現(xiàn)于一微處理器裝置中,且該微處理器裝置被應(yīng)用于一般的計(jì)算機(jī)。權(quán)利要求1.一種微處理器,包括一除錯(cuò)邏輯;多個(gè)可編程除錯(cuò)配置存儲(chǔ)元件,上述可編程除錯(cuò)配置存儲(chǔ)元件的值用以配置上述除錯(cuò)邏輯;一標(biāo)志,在上述微處理器重置之前為可變的;以及一重置微碼,用以于上述微處理器被重置時(shí)以及在用戶應(yīng)用程序指令被讀取與執(zhí)行之前被上述微處理器執(zhí)行,上述重置微碼用以判定上述標(biāo)志是否具有一第一預(yù)設(shè)值或一第二預(yù)設(shè)值;當(dāng)上述標(biāo)志具有上述第一預(yù)設(shè)值時(shí),將多個(gè)數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件,用以配置上述除錯(cuò)邏輯;以及當(dāng)上述標(biāo)志具有上述第二預(yù)設(shè)值時(shí),禁止將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件;其中在上述讀取與執(zhí)行上述用戶應(yīng)用程序指令前,上述微處理器于重置時(shí)根據(jù)上述標(biāo)志的上述數(shù)值被配置,用以設(shè)定與致能上述除錯(cuò)邏輯。2.如權(quán)利要求I所述的微處理器,其中上述重置微碼用以將存儲(chǔ)在上述重置微碼中的多個(gè)預(yù)設(shè)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件。3.如權(quán)利要求I所述的微處理器,還包括多個(gè)初始化存儲(chǔ)元件用以存儲(chǔ)多個(gè)除錯(cuò)配置初始值,其中當(dāng)上述標(biāo)志具有上述第一預(yù)設(shè)值時(shí),上述重置微碼用以將上述除錯(cuò)配置初始值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件。4.如權(quán)利要求3所述的微處理器,其中上述初始化存儲(chǔ)元件包括多個(gè)可變的微碼修補(bǔ)熔絲,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。5.如權(quán)利要求3所述的微處理器,還包括一除錯(cuò)端口,其中上述初始化存儲(chǔ)元件包括多個(gè)掃描寄存器,上述掃描寄存器具有可通過上述微處理器的上述除錯(cuò)端口設(shè)定的數(shù)值,當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的上述數(shù)值可保持著。6.如權(quán)利要求I所述的微處理器,其中上述標(biāo)志包括一可變?nèi)劢z,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。7.如權(quán)利要求I所述的微處理器,還包括一除錯(cuò)端口,其中上述標(biāo)志包括一掃描寄存器,上述掃描寄存器具有可通過上述微處理器的上述除錯(cuò)端口設(shè)定的數(shù)值,其中當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的數(shù)值可保持著。8.如權(quán)利要求I所述的微處理器,其中上述可編程除錯(cuò)配置存儲(chǔ)元件包括上述微處理器的多個(gè)特別模塊寄存器,上述特別模塊寄存器通過一x86指令集結(jié)構(gòu)的一WRMSR指令進(jìn)行配置。9.如權(quán)利要求I所述的微處理器,其中上述除錯(cuò)邏輯用以根據(jù)上述可編程除錯(cuò)配置存儲(chǔ)元件的上述數(shù)值與一除錯(cuò)觸發(fā)事件的檢測(cè)以啟動(dòng)一除錯(cuò)微碼。10.如權(quán)利要求9所述的微處理器,其中上述除錯(cuò)微碼用以在一除錯(cuò)模式時(shí),配置上述微處理器以產(chǎn)生一處理器狀態(tài)記錄信息。11.一種于微處理器中配置除錯(cuò)邏輯的方法,包括執(zhí)行一重置微碼以響應(yīng)上述微處理器的重置;上述重置微碼判定一標(biāo)志是否具有一第一預(yù)設(shè)值或一第二預(yù)設(shè)值,其中上述標(biāo)志用以指出上述重置微碼是否被致能以配置上述除錯(cuò)邏輯;當(dāng)上述標(biāo)志具有上述第一預(yù)設(shè)值時(shí),上述重置微碼將數(shù)值寫入一可編程除錯(cuò)配置存儲(chǔ)元件,用以配置上述除錯(cuò)邏輯;以及當(dāng)上述標(biāo)志具有上述第二預(yù)設(shè)值時(shí),禁止將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件。12.如權(quán)利要求11所述的于微處理器中配置除錯(cuò)邏輯的方法,其中將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件的步驟,包括將存儲(chǔ)在上述重置微碼中的預(yù)設(shè)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件。13.如權(quán)利要求11所述的于微處理器中配置除錯(cuò)邏輯的方法,其中將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件的步驟,包括將存儲(chǔ)在初始化存儲(chǔ)元件中的除錯(cuò)配置初始化值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件。14.如權(quán)利要求13所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述初始化存儲(chǔ)元件包括可變的微碼修補(bǔ)熔絲,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變,還包括施加多個(gè)高電壓至上述微碼修補(bǔ)熔絲的一或多個(gè)以修補(bǔ)上述重置微碼。15.如權(quán)利要求13所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述初始化存儲(chǔ)元件包括易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過上述微處理器的一除錯(cuò)端口設(shè)定的數(shù)值,其中當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的上述數(shù)值可保持著,上述方法還包括連接一除錯(cuò)器至上述微處理器的上述除錯(cuò)端口;使用上述除錯(cuò)器設(shè)定上述掃描寄存器的上述數(shù)值;以及在上述微處理器未關(guān)掉電源時(shí)重置上述微處理器。16.如權(quán)利要求11所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述標(biāo)志包括一可變?nèi)劢z用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變。17.如權(quán)利要求11所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述標(biāo)志包括一易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過上述微處理器的一除錯(cuò)端口設(shè)定的數(shù)值,其中當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的數(shù)值可保持著,上述方法還包括連接一除錯(cuò)器至上述微處理器的上述除錯(cuò)端口;使用上述除錯(cuò)器設(shè)定上述掃描寄存器的上述數(shù)值;以及在上述微處理器未關(guān)掉電源時(shí)重置上述微處理器。18.一種于微處理器中配置除錯(cuò)邏輯的方法,上述微處理器包括一重置邏輯標(biāo)志用以指出一初始標(biāo)準(zhǔn)模式值或一除錯(cuò)模式值,上述方法包括連接一除錯(cuò)器至上述微處理器的一除錯(cuò)端口;根據(jù)設(shè)定至上述初始標(biāo)準(zhǔn)模式值的上述重置邏輯標(biāo)志運(yùn)作上述微處理器;使用上述除錯(cuò)器設(shè)定上述重置邏輯標(biāo)志至上述除錯(cuò)模式值;重置上述微處理器;執(zhí)行一重置微碼以響應(yīng)上述微處理器的重置;上述重置微碼判定上述重置邏輯標(biāo)志是否具有上述初始標(biāo)準(zhǔn)模式值或上述除錯(cuò)模式值;當(dāng)上述重置邏輯標(biāo)志具有上述初始標(biāo)準(zhǔn)模式值時(shí),上述重置微碼將多個(gè)數(shù)值寫入一可編程除錯(cuò)配置存儲(chǔ)元件,用以配置上述除錯(cuò)邏輯;以及當(dāng)上述重置邏輯標(biāo)志具有上述除錯(cuò)模式值時(shí),禁止將上述數(shù)值寫入上述可編程除錯(cuò)配直存儲(chǔ)兀件。19.如權(quán)利要求18所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述微處理器還包括多個(gè)初始化存儲(chǔ)元件,上述方法還包括在重置上述微處理器之前,使用上述除錯(cuò)器將新的除錯(cuò)配置值寫入上述初始化存儲(chǔ)元件中;其中上述重置微碼將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件的步驟,包括將存儲(chǔ)在上述初始化存儲(chǔ)元件中的上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件中。20.如權(quán)利要求18所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述微處理器還包括可變的微碼修補(bǔ)熔絲,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變,上述方法還包括施加高電壓至上述微碼修補(bǔ)熔絲的一或多個(gè),用以修補(bǔ)上述重置微碼;其中上述重置微碼將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件的步驟,包括將存儲(chǔ)在上述可變的微碼修補(bǔ)熔絲中的上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件中。21.如權(quán)利要求18所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述微處理器還包括易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過上述微處理器的一除錯(cuò)端口設(shè)定的數(shù)值,其中當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的數(shù)值可保持著,上述方法還包括在重置上述微處理器之前,使用上述除錯(cuò)器設(shè)定上述掃描寄存器的數(shù)值;在上述微處理器未關(guān)掉電源時(shí),完成重置上述微處理器;以及上述重置微碼將上述數(shù)值寫入上述可編程除錯(cuò)配置存儲(chǔ)元件的步驟,包括寫入上述掃描寄存器的數(shù)值至上述可編程除錯(cuò)配置存儲(chǔ)元件。22.如權(quán)利要求18所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述重置邏輯標(biāo)志包括一可變?nèi)劢z,用以通過上述微處理器的一高電壓輸入端熔斷上述微碼修補(bǔ)熔絲加以改變,上述方法還包括通過上述微處理器的上述高電壓熔斷上述熔絲,用以設(shè)定上述重置邏輯標(biāo)志至上述除錯(cuò)模式值。23.如權(quán)利要求18所述的于微處理器中配置除錯(cuò)邏輯的方法,其中上述重置邏輯標(biāo)志包括一易失性存儲(chǔ)器掃描寄存器,上述易失性存儲(chǔ)器掃描寄存器具有可通過上述微處理器的一除錯(cuò)端口設(shè)定的數(shù)值,其中當(dāng)上述微處理器重置且上述微處理器沒有關(guān)掉電源時(shí),上述掃描寄存器的數(shù)值可保持著,上述方法還包括在重置上述微處理器之前,使用上述除錯(cuò)器設(shè)定上述掃描寄存器的數(shù)值為上述除錯(cuò)模式值;以及在上述微處理器未關(guān)掉電源時(shí),完成重置上述微處理器。全文摘要微處理器與于微處理器中配置除錯(cuò)邏輯的方法,該方法包括執(zhí)行一重置微碼以響應(yīng)上述微處理器的重置;重置微碼判定一標(biāo)志是否具有一第一預(yù)設(shè)值或一第二預(yù)設(shè)值,其中標(biāo)志用以指出重置微碼是否被致能以配置除錯(cuò)邏輯;當(dāng)標(biāo)志具有第一預(yù)設(shè)值時(shí),重置微碼將多個(gè)數(shù)值寫入一可編程除錯(cuò)配置存儲(chǔ)元件,用以配置除錯(cuò)邏輯;以及當(dāng)標(biāo)志具有第二預(yù)設(shè)值時(shí),禁止將數(shù)值寫入可編程除錯(cuò)配置存儲(chǔ)元件。文檔編號(hào)G06F11/00GK102609320SQ20121001522公開日2012年7月25日申請(qǐng)日期2012年1月18日優(yōu)先權(quán)日2011年1月18日發(fā)明者G.葛蘭.亨利,杰森.陳申請(qǐng)人:威盛電子股份有限公司