專利名稱:經由私有操作訪問控制寄存器的系統(tǒng)和方法
技術領域:
本發(fā)明通常涉及微處理器系統(tǒng),更具體地,涉及可以使用控制寄存器設置系統(tǒng)參數和提供系統(tǒng)狀態(tài)信息的微處理器系統(tǒng)。
背景技術:
微處理器系統(tǒng)可以使用各種形式的控制寄存器來支持其操作??梢詫σ环N形式的控制寄存器進行寫入,以便設置系統(tǒng)參數、配置系統(tǒng),等等。這種寄存器中各種比特的組合可以設置操作限制,諸如預測執(zhí)行的深度或高速緩存的大小;或者可以開啟或關閉選擇性的功能電路,諸如分支預測器和預取單元;或者可以針對某些事件激活或禁止中斷??梢宰x出其它形式的控制寄存器,以便接收系統(tǒng)狀態(tài)。這種控制寄存器又稱為狀態(tài)寄存器。狀態(tài)寄存器可以提供關于系統(tǒng)健康、與故障狀況相關聯的程序寄存器的內容、操作溫度、及其它形式狀態(tài)的信息。許多控制寄存器既可讀出又可寫入??刂萍拇嫫鞯睦涌梢允窃赑entium系列兼容微處理器中實現的模型特定寄存器(MSR)。
通常,可以通過用于訪問控制寄存器的特定指令,或者通過特定形式的通用用戶指令,諸如輸入/輸出(I/O)用戶指令,來訪問控制寄存器??梢韵抻谠诟呒墑e軟件特權下執(zhí)行特定控制寄存器訪問指令,其中該特定控制寄存器訪問指令可用于位于處理器之內的控制寄存器。
另外,在結構上與處理器功能單元獨立的系統(tǒng)電路部分中可能需要各種控制寄存器。例如,這些部分可以包括各種芯片組功能,或者可以包括各種系統(tǒng)內總線橋。通常不能經由專用電路,而僅能通過包括系統(tǒng)總線的預定數據路徑,來訪問這些系統(tǒng)電路部分??赡苄枰浻煽梢栽诘图墑e軟件特權下執(zhí)行的通用I/O用戶指令,來訪問位于處理器之外的常規(guī)控制寄存器,諸如位于芯片組中的控制寄存器。
在附圖中以示例性的方式而不是以限制性的方式示出了本公開,且在附圖中相似的參考數字表示相似的元件,其中圖1是根據本公開一個實施例的訪問控制寄存器的圖。
圖2是根據本公開一個實施例的存儲器地址空間的圖。
圖3是根據本公開另一個實施例的訪問控制寄存器的圖。
圖4是根據本公開另一個實施例的訪問控制寄存器的圖。
圖5A是根據本公開一個實施例的具有能夠訪問控制寄存器的處理器的系統(tǒng)的示意圖。
圖5B是根據本公開另一個實施例的具有能夠訪問控制寄存器的處理器的系統(tǒng)的示意圖。
具體實施例方式
以下描述包括用于控制寄存器的技術,該控制寄存器可以具有增強的訪問保護,且可以位于在結構上獨立于處理器功能塊的系統(tǒng)部件中。在以下描述中,闡述了多個具體細節(jié),諸如邏輯電路實現、軟件模塊分配、總線及其它接口信號傳輸技術、以及操作細節(jié),以便提供對本發(fā)明的更徹底的理解。然而,本領域的技術人員將會意識到,在沒有這些具體細節(jié)的情況下也可以實踐本發(fā)明。在其它例子中,沒有詳細示出控制結構、門級電路以及全部軟件指令序列,以免混淆本發(fā)明。本領域普通技術人員利用這里所包括的描述,能夠實現適當的功能,而無需過多實驗。在某些實施例中,在(諸如英特爾公司生產的)Pentium兼容處理器系統(tǒng)以及相關聯的系統(tǒng)和處理器固件的環(huán)境中公開了本發(fā)明。然而,可以通過其它類型的處理器系統(tǒng)實踐本發(fā)明,諸如通過(諸如英特爾公司生產的)Itanium處理器族兼容的處理器、X-Scale族兼容的處理器、或來自其它供應商和設計商的任何處理器結構的其它各種不同類型的通用處理器。另外,一些實施例可以包括或可以是專用處理器,諸如圖形、網絡、圖像、通信處理器,或任何其它已知或可用類型的與其固件結合的處理器。
現在參見圖1,根據本公開的一個實施例,示出了訪問控制寄存器的圖。圖1的系統(tǒng)包括通過總線150連接的處理器110和芯片組130。在其它實施例中,在總線150上可以連接額外的處理器和芯片組。另外,芯片組功能,諸如用于訪問存儲器的電路和輸入/輸出(I/O)設備,可以分布在其它模塊中。處理器110和芯片組130可以用各自獨立的半導體模塊實現,也可以集成在一起成為單一模塊。在一個實施例中,處理器110可以是Pentium系列兼容的處理器,且總線150可以是Pentium系列兼容的前端總線(FSB)處理器110可以在微碼的控制下執(zhí)行來自指令集的用戶指令。可以提供微碼只讀存儲器(ROM)112來存儲基本微碼集。另外,可以提供可寫入微碼隨機訪問存儲器(RAM)114來接收另一個微碼集。在一個實施例中,可以從系統(tǒng)存儲器142中的微碼補丁映象(microcode patch image)144,或從基本輸入/輸出系統(tǒng)(BIOS)可編程只讀存儲器(PROM)146中的微碼補丁映象148,來加載該另一個微碼集。在其它實施例中,除了BIOS之外,可以使用其它形式的系統(tǒng)固件,諸如,可擴展固件接口(EFI);且除了PROM之外,可以使用其它形式的存儲裝置,諸如閃存。
圖1的系統(tǒng)可以使用多個控制寄存器??梢杂商幚砥?10讀出這些控制寄存器,以產生系統(tǒng)狀態(tài)信息,或者可以由處理器110寫入這些控制寄存器,以設置某些系統(tǒng)操作參數。在一些情況下,可以讀出的控制寄存器可以稱為“狀態(tài)寄存器”,但是為了本公開的目的,該術語“狀態(tài)寄存器”通常會涉及可讀出或可寫入控制寄存器,或涉及可讀出且可寫入控制寄存器。在一個實施例中,可以通過執(zhí)行用戶指令RDMSR(讀出機器特定寄存器)和WRMSR(寫入機器特定寄存器)來讀出或寫入常規(guī)的控制寄存器。這些用戶指令可以限于訪問位于不能被其它指令訪問的獨立地址空間中的控制寄存器。在一個實施例中,常規(guī)用戶I/O指令可以用來訪問位于I/O地址空間中的常規(guī)控制寄存器。在一個實施例中,這種I/O地址空間可以限于16比特地址。
在一個實施例中,可以有本公開的新的示例性控制寄存器。這種新控制寄存器可以是位于芯片組130中的控制寄存器1-N(136-138),以及位于處理器110中的控制寄存器A和B(120、122)。在每種情況下,該新的控制寄存器可以具有在I/O地址空間之外的地址。在一個實施例中,控制寄存器1-N(136-138)和控制寄存器A和B(120、122)具有的地址在Pentium系列兼容處理器的I/O地址空間的極限和物理地址的極限之間。在不同的實施例中,物理地址空間的極限可以是(232-1)或(264-1)。在其它實施例中,可以存在其它邊界,描繪來自整個物理存儲器空間的I/O地址空間。
由于控制寄存器1-N(136-138)的地址在處理器110的用戶I/O地址空間之外,不能經由常規(guī)用戶I/O指令訪問這些控制寄存器。可替換地,在一個實施例中,非用戶可訪問微碼集可以包括允許讀出和寫入控制寄存器1-N(136-138)的微碼。在其它實施例中,除了微碼操作之外,可以使用其它形式的私有操作來訪問控制寄存器1-N(136-138)。
在一個實施例中,可以通過修改現有的用于實現用戶指令RDMSR和WRMSR的微碼,得到允許寫入和讀出控制寄存器1-N(136-138)和控制寄存器A和B(120、122)的微碼?,F有的用于實現RDMSR和WRMSR的微碼包括取出32比特物理寄存器中所包含的數據的微操作,該32比特物理寄存器代表邏輯通用目的寄存器ECX。然后發(fā)出該32比特地址作為所需MSR的地址,該地址在包含控制寄存器的獨立地址空間中。
為了產生可以訪問諸如控制寄存器1-N(136-138)和控制寄存器A和B(120、122)的新控制寄存器的微碼,可以修改用于用戶指令RDMSR和WRMSR的現有微碼,以將某些MSR地址轉換成I/O地址。在一個實施例中,轉換后的地址在常規(guī)用戶I/O指令中固有的用戶可尋址地址范圍限制之外。然后可以將該修改所得的微碼放置到替換微碼集。在其它實施例中,可以將修改的RDMSR或修改的WRMSR微碼之外的微碼改進,以支持訪問新控制寄存器。
值得注意的是,用于訪問控制寄存器1-N(134-138)的技術可以經由兩個總線接口模塊118、140通過總線150進行操作。在一個實施例中,總線150可以支持I/O可尋址存儲器空間之外的地址,如果沒有其它原因,其還可以支持通過總線150和存儲器接口132、152訪問存儲器。如此處所示,芯片組130的芯片組功能電路能夠在結構上與處理器110獨立的模塊上實現,且能夠經由總線150而無需額外的專用信號線進行連接,所以這種用于訪問控制寄存器的技術可以通過現有的諸如FSB的常規(guī)總線來執(zhí)行。
因為修改所得的用于訪問控制寄存器1-N(136-138)和控制寄存器A和B(120、122)的微碼通常對用戶來說不可用,因此可以強加特定的觸發(fā)條件來執(zhí)行該微碼。例如,在一個實施例中,加載微碼補丁映象144或微碼補丁映象148到微碼RAM 114可以觸發(fā)修改后的微碼的執(zhí)行。(可以通過從處理器110移除RESET#信號,來依次觸發(fā)對微碼補丁映象144或微碼補丁映象148的加載)。這樣,可以將來自微碼補丁的控制比特寫入控制寄存器1-N(136-138)和控制寄存器A和B(120、122),作為微碼補丁加載的一部分。
在另一個實施例中,在微碼ROM 112中可以有兩個微碼集一個集用于用戶指令微碼,且另一個集在調試模式中使用。在其它實施例中,這兩個微碼集可以在微碼ROM 112和微碼RAM 114之間分開??梢杂谜{試標志124來指示處理器110是在用戶模式還是在調試模式。在一些實施例中,可以在制造期間設置調試標志124(邏輯真),且可以在最后制造測試或預備交付的某個階段清除調試標志124(邏輯假)。在一些實施例中,可以有特殊的電子過程,以在交付了處理器110之后設置并隨后清除調試標志124。
當設置了調試標志124時,可以使得特權用戶能夠執(zhí)行第二微碼集。這樣,可以僅限于在調試模式下執(zhí)行用于訪問所選擇的新控制寄存器的微碼,諸如訪問控制寄存器1-N(136-138)和控制寄存器A和B(120、122)。當在交付處理器110之前清除了調試標志時,該清除可能阻止最終用戶訪問該控制寄存器。
現在參見圖2,根據本公開的一個實施例,示出了存儲器地址空間的圖。與可尋址存儲器空間220相比,I/O可尋址存儲器空間210如圖所示是獨立尋址的。在一個實施例中,該I/O可尋址存儲器空間210可以通過16比特地址(即,(216-1)或64K字節(jié))來尋址。在其它實施例中,可以多增加幾個地址,得到64K字節(jié)+N字節(jié)的I/O可尋址存儲器空間210,其中在一個實施例中N=3。在處理器使用32比特存儲器地址的實施例中,該可尋址存儲器空間220可以是232或4G字節(jié);在處理器使用64比特存儲器地址的其它實施例中,該可尋址存儲器空間220可以是264字節(jié)。
如圖2所示,僅可以通過存儲器操作和其它微碼操作來訪問的存儲器空間的部分,即可尋址存儲器空間220,正交于I/O可尋址存儲器空間210。在其它實施例中,在I/O可尋址存儲器空間210和可尋址存儲器空間220之間可以有不同的邊界集。
現在參見圖3,根據本公開的另一個實施例,示出了訪問控制寄存器的圖。處理器310可以配置為通過服從電氣電子工程師協會(IEEE)標準1149規(guī)范的測試訪問端口(TAP)(“IEEE標準測試訪問端口與邊界掃描結構”,IEEE標準1149.1-1990)來操作。此處所示的處理器130具有TAP接口370,其可以允許通過可兼容IEEE標準1149的調試端口374來訪問處理器310。調試端口374可以經由接口376并通過邊界掃描復用器372所提供的信號緩沖,直接控制處理器310。
調試端口374可以允許用戶訪問該用戶正常情況下不可訪問的處理器310的邏輯電路部分。在一個實施例中,調試端口373可以允許用戶執(zhí)行非用戶指令微碼。這可以允許該用戶執(zhí)行能訪問具有在I/O可尋址存儲器空間之外的地址的控制寄存器的微碼,諸如訪問控制寄存器1-N(334-338)和控制寄存器A(320)。此處,如圖1中的實施例,可以通過一個微碼集來實現用戶指令,且能訪問這些控制寄存器的微碼可以屬于另一個微碼集。
在其它實施例中,調試端口374可以用來直接寫入控制寄存器,諸如控制寄存器1-N(334-338)和控制寄存器A(320)。
現在參見圖4,根據本公開的另一個實施例,示出了訪問控制寄存器的圖。在圖4的實施例中,處理器410和480不是經由多點總線而是經由點對點數據鏈路460交換數據。另外,沒有使用獨立的芯片組??商鎿Q地,將諸如存儲器接口472和I/O接口466的所選擇的芯片組功能與處理器410集成在一起。
處理器410可以包括本公開的控制寄存器,諸如控制寄存器1-N(434-438)。處理器480還可以包括能夠從處理器410訪問的控制寄存器,即控制寄存器A和B(484、486)。值得注意的是,這種用于訪問控制寄存器A和B(484、486)的技術可以經由點對點接口模塊462、464通過點對點數據鏈路460來進行操作。在一個實施例中,點對點數據鏈路460可以支持在I/O可尋址存儲器空間之外的地址,如果沒有其它原因,它可以支持從處理器B 480通過點對點數據鏈路460和存儲器接口472、452對存儲器的訪問。控制寄存器1-N(434-438)和控制寄存器A和B(484、486)中每一個都具有I/O可尋址存儲器空間之外的地址。
可以提供微碼ROM 412,以存儲基本微碼集;且可以提供微碼RAM 414,以接收另一個微碼集。在一個實施例中,該另一個微碼集可以從微碼補丁映象444或從微碼補丁映象448加載。在一個實施例中,非用戶可訪問微碼集可以包括允許寫入和讀出控制寄存器1-N(434-438)和控制寄存器A和B(484、486)的微碼。
因為用于訪問控制寄存器1-N(434-438)和控制寄存器A和B(484、486)的微碼正常情況下對于用戶是不可用的,可以再次強加用于執(zhí)行該微碼的特定觸發(fā)條件。例如,在一個實施例中,將微碼補丁映象444或微碼補丁映象448加載入微碼RAM 414可以觸發(fā)修改后的微碼的執(zhí)行。以這種方式,可以將來自微碼補丁的控制比特寫入控制寄存器1-N(434-438)和控制寄存器A和B(484、486),作為微碼補丁加載的一部分??商鎿Q地,可以在微碼ROM 412中提供第二微碼集,且可以在上述結合圖1討論的調試模式期間,或通過上述結合圖3討論的測試訪問端口的動作,執(zhí)行用于訪問控制寄存器1-N(434-438)和控制寄存器A和B(484、486)的微碼。
現在參見圖5A和5B,根據本公開的兩個實施例,示出了具有能夠訪問本公開的控制寄存器的處理器的系統(tǒng)的示意圖。圖5A示出的系統(tǒng)中,處理器、存儲器、以及輸入/輸出設備通過系統(tǒng)總線互相連接;而圖5B示出的系統(tǒng)中,處理器、存儲器、以及輸入/輸出設備通過多個點對點接口互相連接。
圖5A的系統(tǒng)可以包括一個或多個處理器,為了簡潔起見,此處僅示出了兩個,即處理器40、60。處理器40、60可以包括一級高速緩存42、62。圖5A的系統(tǒng)可以具有經由總線接口44、64、12、8與系統(tǒng)總線6連接的多個功能單元。在一個實施例中,系統(tǒng)總線6可以是與英特爾公司制造的Pentium系列微處理器配合使用的前端總線(FSB)。在其它實施例中,可以使用其它總線。在一些實施例中,存儲器控制器34和總線橋32可以合稱為芯片組。在一些實施例中,與圖5A的實施例所示的不同,可以在多個物理芯片之間劃分芯片組的多個功能單元。
存儲器控制器34可以允許處理器40、60讀出和寫入系統(tǒng)存儲器10以及固件可擦除可編程只讀存儲器(EPROM)36。在一些實施例中,該固件可以提供微碼補丁映象,用于加載到處理器40、60的微碼RAM(未示出)。在一些實施例中,固件EPROM 36可以利用閃存。存儲器控制器34可以包括總線接口8,以允許向或從系統(tǒng)總線6上的總線代理搬運存儲器讀出和寫入數據。存儲器控制器34還可以通過高性能圖形接口39與高性能圖形電路38連接。在某些實施例中,該高性能圖形接口39可以是高級圖形端口AGP接口。存儲器控制器34可以通過高性能圖形接口39,將來自系統(tǒng)存儲器10的數據導向高性能圖形電路38。
圖5B的系統(tǒng)也可以包括一個或多個處理器,為了簡潔起見,僅示出了其中的兩個,即處理器70、80。處理器70、80可以各自包括一個本地存儲器控制器集線器(MCH)72、82,以便與存儲器2、4和固件3、5相連接。在一些實施例中,該固件可以提供微碼補丁映象,用于加載到處理器70、80的微碼RAM(未示出)中。處理器70、80可以使用點對點接口電路78、88,經由點對點接口50來交換數據。處理器70、80可以使用點對點接口電路(P-P)76、94、86、98,經由各自的點對點接口52、54來與芯片組90交換數據。芯片組90也可以經由高性能圖形接口92來與高性能圖形電路38交換數據。
在圖5A的系統(tǒng)中,總線橋32可以允許在系統(tǒng)總線6和總線16之間交換數據,在一些實施例中,總線16可以是工業(yè)標準結構(ISA)總線或外圍設備互連(PCI)總線。在圖5B的系統(tǒng)中,芯片組90可以經由總線接口96來與總線16交換數據。在任一系統(tǒng)中,在總線16上可以有各種輸入/輸出I/O設備14,在一些實施例中,包括低性能圖形控制器、視頻控制器和網絡控制器。在一些實施例中,可以用另一個總線橋18,來允許在總線16和總線20之間交換數據。在一些實施例中,總線20可以是小型計算機系統(tǒng)接口(SCSI)總線、集成驅動電子設備(IDE)總線、通用串行總線(USB)總線。另外,I/O設備可以與總線20相連接。這些I/O設備可以包括鍵盤和光標控制設備22(包括鼠標)、音頻I/O 24、通信設備26(包括調制解調器和網絡接口)、以及數據存儲設備28。軟件代碼30可以存儲在數據存儲設備28上,在一些實施例中,軟件代碼30可以包括微碼補丁映象。在一些實施例中,數據存儲設備28可以包括固定磁盤、軟盤驅動器、光盤驅動器、磁光盤驅動器、磁帶、或非易失性存儲器(包括閃存)。
在前述說明書中,根據具體的示例性實施例描述了本發(fā)明。然而,顯然在不脫離所附權利要求所描述的本發(fā)明的更寬的精神和范圍的前提下,可以對本發(fā)明做各種修改和改變。因此,本說明書和附圖應被視為示例性的而非限制性的。
權利要求
1.一種裝置,包括用于執(zhí)行所選芯片組功能的邏輯電路;用于與處理器連接的總線接口;以及通過在所述處理器的輸入/輸出地址空間之外的地址來訪問的控制寄存器。
2.如權利要求1所述的裝置,其中,所述總線接口支持所述地址。
3.如權利要求1所述的裝置,其中,所述處理器的物理寄存器支持所述地址。
4.一種處理器,包括第一邏輯電路,用于在第一微碼集的控制下執(zhí)行指令集;物理寄存器,用于容納所述指令集的輸入/輸出地址空間中不包括的地址;以及第二邏輯電路,用于使用所述地址訪問控制寄存器。
5.如權利要求4所述的處理器,還包括第三邏輯電路,用于接收第二微碼集。
6.如權利要求5所述的處理器,其中,所述第二微碼集包括用于從所述物理寄存器發(fā)出所述地址的微碼。
7.如權利要求5所述的處理器,其中,所述第三邏輯電路從外部存儲器接收所述第二微碼集。
8.如權利要求5所述的處理器,還包括總線接口,用于將所述地址傳輸到所述處理器外部。
9.如權利要求4所述的處理器,還包括第二微碼集,所述第二微碼集包括用于發(fā)出到控制寄存器的所述地址的微碼。
10.如權利要求9所述的處理器,還包括調試標志,用于指示可以執(zhí)行所述第二微碼集。
11.如權利要求10所述的處理器,其中,在所述處理器的驗收測試期間清除所述調試標志。
12.如權利要求10所述的處理器,其中,通過驗收后的測試過程設置所述調試標志。
13.如權利要求9所述的處理器,還包括測試訪問端口接口,用于接收測試命令。
14.如權利要求13所述的處理器,其中,可以響應于所述測試命令,執(zhí)行所述第二微碼集。
15.如權利要求9所述的處理器,還包括總線接口,用于將所述地址傳輸到所述處理器外部。
16.一種系統(tǒng),包括處理器,其包括第一邏輯電路,用于在第一微碼集的控制下執(zhí)行指令集;以及物理寄存器,用于容納所述指令集的輸入/輸出地址空間中不包括的地址;以及包括以下組件的模塊第二邏輯電路,用于執(zhí)行選擇的芯片組功能;用于將所述模塊與所述處理器連接的接口;以及通過所述地址訪問的控制寄存器。
17.如權利要求16所述的系統(tǒng),其中,所述處理器包括第三邏輯電路,用于接收第二微碼集。
18.如權利要求17所述的系統(tǒng),其中,所述第二微碼集包括用于從所述物理寄存器發(fā)出所述地址以訪問所述控制寄存器的微碼。
19.如權利要求17所述的系統(tǒng),其中,所述第二邏輯電路和所述第三邏輯電路將所述第二微碼集加載到所述第三邏輯電路中。
20.如權利要求19所述的系統(tǒng),其中,從在所述系統(tǒng)外部存儲的第二微碼集映象加載所述第二微碼集。
21.如權利要求16所述的系統(tǒng),其中,所述接口是所述處理器和所述模塊之間的總線。
22.如權利要求16所述的系統(tǒng),其中,所述處理器還包括第二微碼集,所述第二微碼集包括用于使用所述地址來訪問所述控制寄存器的微碼。
23.如權利要求22所述的系統(tǒng),其中,所述處理器還包括調試標志,用于指示可以執(zhí)行所述第二微碼集。
24.如權利要求23所述的系統(tǒng),其中,在所述處理器的驗收測試期間清除所述調試標志。
25.如權利要求23所述的系統(tǒng),其中,通過驗收后的測試過程設置所述調試標志。
26.如權利要求22所述的系統(tǒng),其中,所述處理器包括測試訪問端口接口,用于接收測試命令。
27.如權利要求26所述的系統(tǒng),其中,可以響應于所述測試命令,執(zhí)行所述第二微碼集。
28.一種方法,包括將控制寄存器的地址放置在處理器的物理寄存器中,其中,所述地址不包括在處于第一微碼集控制下的指令集的輸入/輸出地址空間中;以及在第二微碼集的控制下,從所述物理寄存器發(fā)出到所述控制寄存器的所述地址。
29.如權利要求28所述的方法,還包括將所述第二微碼集加載到所述處理器中。
30.如要求要求29所述的方法,還包括響應于所述加載,執(zhí)行所述第二微碼集。
31.如權利要求28所述的方法,還包括檢查調試標志的狀態(tài),以確定處理器是否處于調試模式。
32.如權利要求31所述的方法,其中,所述發(fā)出地址響應于所述檢查。
33.如權利要求31所述的方法,還包括響應于驗收測試,清除所述調試標志。
34.如權利要求31所述的方法,還包括響應于驗收后的測試,設置所述調試標志。
35.如權利要求29所述的方法,其中,所述發(fā)出地址響應于從測試訪問端口接口接收到的測試命令。
36.一種裝置,包括用于將控制寄存器的地址放置在處理器的物理寄存器中的模塊,其中所述地址不包括在處于第一微碼集控制下的指令集的輸入/輸出地址空間中;以及用于在第二微碼集的控制下,從所述物理寄存器發(fā)出到所述控制寄存器的所述地址的模塊。
37.如權利要求36所述的裝置,還包括用于將所述第二微碼集加載到所述處理器中的模塊。
38.如權利要求37所述的裝置,還包括用于響應于所述用于加載的模塊來執(zhí)行所述第二微碼集的模塊。
39.如權利要求36所述的裝置,還包括用于檢查調試標志的狀態(tài)以確定處理器是否處于調試模式的模塊。
40.如權利要求39所述的裝置,其中,所述用于發(fā)出地址的模塊響應于所述用于檢查的模塊。
41.如權利要求39所述的裝置,還包括用于響應于驗收測試來清除所述調試標志的模塊。
42.如權利要求41所述的裝置,還包括用于響應于驗收后的測試來設置調試標志的模塊。
43.如權利要求36所述的裝置,其中,所述用于發(fā)出地址的模塊響應于從測試訪問端口接口接收到的測試命令。
44.一種包含軟件代碼的計算機可讀介質,當處理器執(zhí)行所述軟件代碼時,執(zhí)行包括以下步驟的過程將控制寄存器的地址放置在處理器的物理寄存器中,其中,所述地址不包括在處于第一微碼集控制下的指令集的輸入/輸出地址空間中;以及在第二微碼集的控制下,從所述物理寄存器發(fā)出到所述控制寄存器的所述地址。
45.如權利要求44所述的計算機可讀介質,還包括所述第二微碼集的映象,用于加載到所述處理器中。
46.如權利要求45所述的計算機可讀介質,還包括響應于將所述第二微碼集的所述映象加載到所述處理器中,執(zhí)行所述第二微碼集。
47.如權利要求44所述的計算機可讀介質,還包括檢查調試標志的狀態(tài),以確定處理器是否處于調試模式。
48.如權利要求47所述的計算機可讀介質,其中,所述發(fā)出地址響應于所述檢查。
49.如權利要求48所述的計算機可讀介質,還包括響應于驗收測試,清除所述調試標志。
50.如權利要求48所述的計算機可讀介質,還包括響應于驗收后的測試,設置所述調試標志。
51.如權利要求44所述的計算機可讀介質,其中,所述發(fā)出地址響應于從測試訪問端口接口接收到的測試命令。
全文摘要
描述了一種用于訪問計算機系統(tǒng)中的控制寄存器的系統(tǒng)和方法。在一個實施例中,把正常的輸入/輸出可尋址范圍之外的地址賦給控制寄存器。另外,該控制寄存器可以物理地位于與處理器功能電路獨立的系統(tǒng)電路中。這種控制寄存器不能經由正常的用戶輸入/輸出指令訪問??梢杂锰厥馕⒋a來訪問這些控制寄存器??梢酝ㄟ^特殊的系統(tǒng)事件來執(zhí)行該特殊微碼。這些特殊事件可以包括加載微碼補丁,或進入特殊的調試模式,或使用測試訪問端口的測試訪問。
文檔編號G06F9/30GK101088064SQ200580044467
公開日2007年12月12日 申請日期2005年12月21日 優(yōu)先權日2004年12月22日
發(fā)明者J·吉爾伯特, H·喬伊斯 申請人:英特爾公司