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