国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保持早期硬件配置狀態(tài)的制作方法

      文檔序號(hào):6610746閱讀:204來源:國(guó)知局
      專利名稱:保持早期硬件配置狀態(tài)的制作方法
      保持早期硬件配置狀態(tài)技術(shù)領(lǐng)域本公開 一般涉及信息處理系統(tǒng),更具體地說涉及計(jì)算機(jī)系統(tǒng)的 引導(dǎo)處理。
      背景技術(shù)
      在計(jì)算機(jī)系統(tǒng)能夠運(yùn)行之前,它必須在其存儲(chǔ)器中具有操作系統(tǒng)(os),以使計(jì)算機(jī)的資源能夠到達(dá)并由例如多種應(yīng)用程序的其他軟件進(jìn)行控制。計(jì)算機(jī)硬件具有非易失性且相對(duì)簡(jiǎn)單的自舉程序來執(zhí)行引導(dǎo)序列并從磁盤加載操作系統(tǒng)。通常自舉程序由BIOS (基本 輸入/輸出系統(tǒng))程序來調(diào)用。雖然計(jì)算機(jī)系統(tǒng)的大多數(shù)硬件由計(jì)算機(jī)供應(yīng)商提供,但是BIOS 通常是由第三方供應(yīng)商提供的,所以計(jì)算機(jī)供應(yīng)商對(duì)這些項(xiàng)目的具 體內(nèi)容所知有限以及對(duì)它們的控制也是有限的。然而,計(jì)算機(jī)供應(yīng) 商可能注意到引導(dǎo)過程期間應(yīng)該加載的孩i碼補(bǔ)丁。就微碼補(bǔ)丁而言,CISC (復(fù)雜指令集計(jì)算機(jī))計(jì)算機(jī)處理器執(zhí) 行一 系列操作,其中以微碼的形式將定義一些更復(fù)雜的操作的微指 令編碼到非易失性存儲(chǔ)區(qū)中。微碼定義處理器的所有或部分可執(zhí)行 指令集,并且還可以定義不采用軟件可訪問代碼實(shí)現(xiàn)的內(nèi)部操作。 微碼通常在制造處理器時(shí)被置于處理器內(nèi)的只讀存儲(chǔ)器(ROM)中。 然而,有時(shí)在制造處理器之后甚至已經(jīng)將處理器投入使用之后,需 要修改微碼。微碼補(bǔ)丁通過添加附加的微指令或插入新的微指令來取代原有微指令來使此類修改得以實(shí)現(xiàn)??梢圆捎枚喾N方式將微碼補(bǔ)丁遞送到處理器。遞送補(bǔ)丁的一種 方式是處理器可以支持微碼ROM存儲(chǔ)裝置的可現(xiàn)場(chǎng)升級(jí)機(jī)制,該
      機(jī)制稱為微碼更新。微碼更新支持的微碼補(bǔ)丁能夠在現(xiàn)場(chǎng)對(duì)微碼ROM 進(jìn)行更改,以便尋址勘誤表等。一些笫三方供應(yīng)商并不愿意支持這種微碼更新機(jī)制。這是因?yàn)?微碼更新機(jī)制允許在計(jì)算機(jī)系統(tǒng)(包括BIOS代碼)通過第三方供應(yīng) 商驗(yàn)證之后經(jīng)由接口將補(bǔ)丁加載到操作系統(tǒng)。用戶或IT部門能夠在 笫三方供應(yīng)商驗(yàn)證并交付系統(tǒng)之后使用微碼更新機(jī)制加載補(bǔ)丁可能 導(dǎo)致針對(duì)從第三方供應(yīng)商工廠交付的平臺(tái)狀態(tài)的穩(wěn)定性、質(zhì)量和驗(yàn) 證問題。即,后續(xù)補(bǔ)丁可能消除系統(tǒng)的驗(yàn)證,導(dǎo)致先前通過驗(yàn)證的 系統(tǒng)的質(zhì)量問題,從而對(duì)已驗(yàn)i正該系統(tǒng)的第三方供應(yīng)商造成不良的 評(píng)價(jià)。因此,至少一些第三方平臺(tái)供應(yīng)商寧愿將所有補(bǔ)丁集成到已 利用所有微碼補(bǔ)丁更新的BIOS中,驗(yàn)證該系統(tǒng),并確認(rèn)此后操作系 統(tǒng)無法加載任何將來的微碼補(bǔ)丁。發(fā)明內(nèi)容根據(jù)本發(fā)明的一方面,本發(fā)明涉及一種系統(tǒng),所述系統(tǒng)包括處理器,所述處理器具有孩i碼并且還具有用于存儲(chǔ)鎖定指示符 值的專用存儲(chǔ)位置;耦合到所述處理器的存儲(chǔ)器,所述存儲(chǔ)器用于存儲(chǔ)引導(dǎo)指令, 其中所述引導(dǎo)指令包括用于在引導(dǎo)操作系統(tǒng)之前將所述鎖定指示符 值設(shè)置為第 一值的鎖定命令;所述處理器還包括用于在所述鎖定指示符與所述第一值匹配的 情況下防止所述微碼的更新的邏輯;以及所述邏輯還用于在所述鎖定指示符與第二值匹配的情況下允許 所述微碼的更新。根據(jù)本發(fā)明的又一方面,本發(fā)明涉及一種方法,所述方法包括在引導(dǎo)操作系統(tǒng)之前將一個(gè)或多個(gè)微碼補(bǔ)丁加載到閃速存儲(chǔ)器 中;以及在引導(dǎo)所述操作系統(tǒng)之前i殳置鎖定指示符,以防止在所述操作
      系統(tǒng)的所述引導(dǎo)之后發(fā)生任何微碼更新。根據(jù)本發(fā)明的另一方面,本發(fā)明涉及一種產(chǎn)品,所述產(chǎn)品包括 有形存儲(chǔ)介質(zhì),所述有形存儲(chǔ)介質(zhì)具有多個(gè)機(jī)器可訪問指令; 其中,當(dāng)所述指令被處理器執(zhí)行時(shí),所述指令用于 在引導(dǎo)操作系統(tǒng)之前將一個(gè)或多個(gè)微碼補(bǔ)丁加載到閃速存儲(chǔ)器 中;以及在引導(dǎo)所述操作系統(tǒng)之前設(shè)置鎖定指示符,以防止在所述操作 系統(tǒng)的所述引導(dǎo)之后發(fā)生任何#_碼更新。


      可以參考如下附圖來理解本發(fā)明的實(shí)施例,附圖中相似的編號(hào) 指示相似的部件。這些附圖無意構(gòu)成限制,而是用于說明用于禁用 微碼補(bǔ)丁的現(xiàn)場(chǎng)更新以便維持早期硬件配置狀態(tài)的系統(tǒng)、方法和機(jī) 制的所選實(shí)施例。圖1是說明用于加載操作系統(tǒng)之后防止后續(xù)微碼更新的方法的 至少 一個(gè)實(shí)施例的流程圖。圖2是說明用于執(zhí)行微碼更新的鎖定以便保留早期硬件配置狀 態(tài)的電路的至少一個(gè)實(shí)施例的框圖。圖3是根據(jù)包括多節(jié)點(diǎn)總線通信路徑的本發(fā)明實(shí)施例的多處理 器系統(tǒng)的框圖。圖4是才艮據(jù)包括點(diǎn)到點(diǎn)互連的本發(fā)明實(shí)施例的多處理器系統(tǒng)的框圖。
      具體實(shí)施方式
      下文論述描述用于禁用微碼補(bǔ)丁以便維持早期硬件配置狀態(tài)的 系統(tǒng)、方法和機(jī)制的所選實(shí)施例。本文描述的這些設(shè)備、系統(tǒng)和方 法實(shí)施例可以結(jié)合單核或多核系統(tǒng)來利用。在下文描述中,提出了諸如處理器類型、引導(dǎo)處理、多線程環(huán)境、系統(tǒng)配置以及電路布局 的許多特定細(xì)節(jié)以便提供對(duì)本發(fā)明實(shí)施例的更透徹的理解。然而將 認(rèn)識(shí)到,對(duì)于本領(lǐng)域人員來說,本發(fā)明也可以在沒有這些特定細(xì)節(jié) 的情況下實(shí)施。此外,未詳細(xì)示出一些公知的結(jié)構(gòu)、電路等,以避 免妨礙對(duì)本發(fā)明的理解。圖1是說明用于加載操作系統(tǒng)之后防止后續(xù)微碼更新的方法100的至少一個(gè)實(shí)施例的流程圖?!?寸于至少一個(gè)實(shí)施例,該方法可以由例如圖3和4中的實(shí)施例所示的處理系統(tǒng)300、 400來執(zhí)行。圖1示出方法100的處理開始于框102,其中重啟計(jì)算機(jī)系統(tǒng)。 也就是說,在許多通用處理系統(tǒng)中,通過某種類型的重啟功能開始 引導(dǎo)過程。這可以是冷重啟(對(duì)硬件的供電最初是關(guān)閉的)、熱重啟 (已經(jīng)對(duì)硬件供電)或多種其他啟動(dòng)情況的其中之一。離開睡眠或 休眠狀態(tài)的轉(zhuǎn)變可以是熱重啟。復(fù)位功能通常將硬件復(fù)位到已知狀態(tài)并生成復(fù)位中斷,該復(fù)位 中斷將系統(tǒng)引導(dǎo)到非易失性存儲(chǔ)器中的程序,并從此點(diǎn)開始執(zhí)行。 對(duì)于至少一個(gè)實(shí)施例,在復(fù)位102期間從例如模型專用寄存器的硬 件寄存器(下文論述的)清除先前內(nèi)容。圖1示出響應(yīng)系統(tǒng)復(fù)位事件102分派復(fù)位向量103。在框104, 復(fù)位向量103使基本輸入-輸出系統(tǒng)(BIOS)程序(通常存儲(chǔ)在閃速 存儲(chǔ)器中)被調(diào)用。圖1示出在框104啟動(dòng)BIOS程序,BIOS程序使基本輸入輸出 (10)控制得以實(shí)現(xiàn)。通常,BIOS沒有關(guān)于操作系統(tǒng)所需的環(huán)境的 任何信息,因此除了將硬件置于已知狀態(tài)之外它對(duì)于初始化系統(tǒng)并 沒有做什么。在框104, BIOS代碼執(zhí)行諸如初始化存儲(chǔ)器、檢測(cè)所 有系統(tǒng)CUP和初始化I/0孑L (I/O aperture)等的典型啟動(dòng)功能。就CPU的檢測(cè)而言,對(duì)于至少一個(gè)實(shí)施例,對(duì)包括多個(gè)CPU 的芯片多處理器(CMP)系統(tǒng)才丸行方法100。在框104檢測(cè)這些CPU 的每個(gè)CPU。如果對(duì)具有單個(gè)CPU的系統(tǒng)執(zhí)行方法100,則在框104 檢測(cè)該單個(gè)CPU。就I/O孔而言,框104處的此類初始化可以包括確定I/O通信路 徑(例如PCI總線)正在正常地響應(yīng)、初始化芯片組等。在框104 處,BIOS還可以執(zhí)行其他附加處理,例如加載已集成到BIOS代碼 中的任何微碼補(bǔ)丁。從框104,處理進(jìn)行到框106。在框106, BIOS代碼確定第三方 供應(yīng)商是否已指示應(yīng)該禁用引導(dǎo)后微碼更新。如果情況如此,則處 理進(jìn)行到框108。否則,處理進(jìn)行到框110。對(duì)于至少一個(gè)實(shí)施例,如果BIOS代碼遇到"鎖定"命令 (directive),則在框106處評(píng)估為"真"。對(duì)于至少一個(gè)實(shí)施例,預(yù) 期第三方供應(yīng)商已將鎖定命令置于BIOS代碼中。鎖定命令可以是例 如用于將特定值寫入到例如寄存器或存儲(chǔ)器變量的特定存儲(chǔ)位置的 寫指令。該命令可以是體系結(jié)構(gòu)指令,例如寫MSR (WRMSR)指 令。或者,該命令可以是過程調(diào)用,例如下文論述的對(duì) PAL—PROC—DISABLE—PAL—UPDATE過程的調(diào)用。鎖定命令所寫的值指示將禁用后續(xù)微碼更新。該值稱為鎖定指 示符。在框108中,禁用后續(xù)微碼更新。例如可以通過將特定值寫入 指定為存儲(chǔ)鎖定指示符的專用寄存器或存儲(chǔ)器位置或變量來實(shí)現(xiàn)此 目的??梢酝ㄟ^前面段中涉及的鎖定命令的BIOS執(zhí)行來執(zhí)行禁用 108。如上文所指示的,鎖定命令可以是體系結(jié)構(gòu)指令或可以是對(duì)過 程或函數(shù)的調(diào)用。對(duì)于至少一個(gè)實(shí)施例,在框108通過執(zhí)行在模型專用寄存器 (MSR)中設(shè)置位的指令來禁用后續(xù)微碼更新。如本文使用的,術(shù) 語模型專用寄存器(MSR)旨在表示為特定處理器或處理器組定義 的實(shí)現(xiàn)專用的寄存器組的其中一個(gè)寄存器。關(guān)于MSR的更多信息可 以參閱IA-32 Intel Architecture Software Developer's Manual第3巻 System Programming Guide, 2002 (系統(tǒng)編程指南,2002)的第9.4節(jié)
      和附錄B。可以利用任何模型專用寄存器中的任何其他未使用(例如"保留的")位來實(shí)現(xiàn)此目的。對(duì)于至少一個(gè)實(shí)施例,例如可以利用IA32 處理器的MSR MSR #17h的位零來實(shí)現(xiàn)此目的??梢詫⒃撐灰暈橐?次寫入鎖定位,當(dāng)設(shè)置該位時(shí),防止處理器接受微碼更新。用來保存此鎖定位的寄存器不一定是MSR??梢栽趯S糜诖鎯?chǔ) 鎖定指示符的任何寄存器、存儲(chǔ)器位置、變量或其他存儲(chǔ)位置中保 存鎖定指示符。為了簡(jiǎn)明,下文將鎖定位稱為保存在"鎖定寄存器" 中。從框108,處理進(jìn)行到框110。在框110中,完成BIOS處理,并且引導(dǎo)操作系統(tǒng)。對(duì)于至少一 個(gè)實(shí)施例,BIOS在框110轉(zhuǎn)移到選項(xiàng)ROM以啟用在該特定系統(tǒng)中 活動(dòng)的選項(xiàng),然后轉(zhuǎn)移回到BIOS程序以完成初始化并將OS從磁盤 加載到主存儲(chǔ)器中。處理從框110進(jìn)行到框112。在框112引導(dǎo)了 OS之后,執(zhí)行常 規(guī)系統(tǒng)處理。在框112,確定在常規(guī)系統(tǒng)處理期間是否期望引導(dǎo)后微 碼更新。此判定可以在接收到例如基于INT15h的接口信號(hào)的信號(hào)時(shí) 評(píng)估為"真",該信號(hào)指示例如驅(qū)動(dòng)程序的軟件正在嘗試請(qǐng)求微碼更 新。關(guān)于基于INT15h的接口的更多信息可以參閱IA-32 Intel Architecture Software Developer's Manual第3巻System Programming Guide, 2002 (系統(tǒng)編程指南,2002 )的第9.11.4.4節(jié)以及下列等。如果框112處的判定評(píng)估為真,則處理進(jìn)行到框114。否則,在 框130繼續(xù)常規(guī)系統(tǒng)處理。在框114中,查詢鎖定寄存器以確定是否已設(shè)置了一次寫鎖定 位。如果已設(shè)置了一次寫鎖定位,則不執(zhí)行微碼更新,并且失敗115。 可以記錄該失敗或者該失敗可以是無記載失敗。對(duì)于記錄的失敗, 可以在處理器的狀態(tài)寄存器(未示出)中設(shè)置失敗位。處理然后進(jìn) 行到框130,其中繼續(xù)常規(guī)系統(tǒng)處理。相反,如果在框114確定未設(shè)置一次寫鎖定值,則在框116執(zhí)
      行引導(dǎo)后微碼更新???16處的處理可以包括在加載補(bǔ)丁之前對(duì)補(bǔ)丁 的驗(yàn)證。處理然后進(jìn)行到框130,其中繼續(xù)常規(guī)系統(tǒng)處理。.雖然結(jié)合圖1描述的實(shí)施例假定響應(yīng)基于INT15h的接口信號(hào)而 執(zhí)行引導(dǎo)后微碼更新,但是本發(fā)明并不局限于此。其他實(shí)施例可以 采用不同方式執(zhí)行微碼更新,例如UEFI( www.uefi.org )Update Capsule 運(yùn)行時(shí)接口。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到執(zhí)行圖1提出的功能的類 似處理可以為這些其他實(shí)施例執(zhí)行。對(duì)于至少一個(gè)備選實(shí)施例,該方法100可以在利用處理器抽象 層(PAL)執(zhí)行現(xiàn)場(chǎng)補(bǔ)丁更新的系統(tǒng)上執(zhí)行。PAL層可以提供對(duì)軟件 "隱藏"硬件MSR的抽象層。關(guān)于PAL的更多描述可以參閱Intel Itanium Architecture Software Developer's Manual第2巻System Architecture, Rev. 2.1, October 2002 (系統(tǒng)體系結(jié)構(gòu)版本2.1, 2002年 10月)。對(duì)于此類實(shí)施例,方法100禁止的引導(dǎo)后補(bǔ)丁不是對(duì)微碼的 補(bǔ)丁,而是對(duì)例如PAL-A//B組件的宏代碼的補(bǔ)丁。此類實(shí)施例可以 應(yīng)用于例如可從英特爾公司獲得的基于Itanium⑧或Itanium 2處理 器的系統(tǒng)。對(duì)于此類備選實(shí)施例,在才匡108鎖定補(bǔ)丁的機(jī)制可以不包括對(duì) MSR寄存器的直接寫入。相反,可以響應(yīng)受信的PAL調(diào)用來執(zhí)行框 108處的鎖定。例如,可以利用稱為PAL一PROC一DISABLE_PAL_UP DATE的新PAL過程來更改處理器的硬件狀態(tài),以便禁用通過PAL 的后續(xù)微碼更新。對(duì)于至少一個(gè)實(shí)施例,PAL—PROC—DISABLE—PAL JJPDATE過程可以具有77的索引(例如自變量0的值是索引77 ), 并且可以是以物理模式可調(diào)用的。圖2是說明用于執(zhí)行微碼更新的鎖定以便保留早期硬件配置狀 態(tài)的邏輯200的至少一個(gè)實(shí)施例的框圖。這里參考圖1來描述圖2。圖2圖示上文結(jié)合框108論述的鎖定寄存器202的實(shí)施例。如 上文論述,鎖定寄存器202可以是為保存鎖定指示符204而分配的 任何寄存器或存儲(chǔ)器存儲(chǔ)空間。對(duì)于至少一個(gè)實(shí)施例,鎖定指示符
      是單個(gè)位204。鎖定指示符位204可以是模型專用寄存器、例如可從 Intel公司獲得的某些處理器的MSR #17h (IA31—PlatformJD )的指 定位,。軟件可以經(jīng)由電路200的第一實(shí)施例的寫MSR指令直接寫 該位。對(duì)于邏輯200的另一個(gè)實(shí)施例,例如為利用PAL的系統(tǒng)實(shí)施 的那個(gè)實(shí)施例,例如上文論述的PAL—PROC一DISABLE—PAL_UPDATE 過程的函數(shù)或過程可以寫鎖定指示符位。圖2圖示可以作為對(duì)AND門208的輸入提供鎖定位的值。對(duì)于 至少一個(gè)實(shí)施例,在將該值作為對(duì)AND門208的輸入提供之前經(jīng)由 反相器206將該值反轉(zhuǎn)。圖2中所示的AND門208僅僅是可以生成 補(bǔ)丁啟用信號(hào)的邏輯部件的 一個(gè)實(shí)施例。還可以利用任何其他邏輯、 包括邏輯門、固件或軟件來實(shí)現(xiàn)圖2中的AND門208所表示的功能。 AND門208所示的邏輯功能一4殳可以稱為"補(bǔ)丁啟用邏輯"。圖2圖示對(duì)AND門208的另一個(gè)輸入是觸發(fā)值214,該觸發(fā)值 214指示期望引導(dǎo)后微碼更新,如上文結(jié)合圖1的框112論述的。可 以由例如被寫入時(shí)使微碼補(bǔ)丁得以加載的MSR或其他寄存器提供觸 發(fā)值214??梢宰鳛楦鶕?jù)基于Intl5h的接口的通信的結(jié)果設(shè)置觸發(fā)值 214,基于Intl5h的接口是允許微碼更新動(dòng)態(tài)地添加到系統(tǒng)閃速存儲(chǔ) 器的BIOS接口。如上文所指示的,INT15h接口的進(jìn)一步論述可以 參閱IA-32 Intel Architecture Software Developer's Manual第III巻的 第9.11.4.4章以及下列等。圖2圖示如果設(shè)置了鎖定位204,則可以不考慮觸發(fā)值214。然 而,如果觸發(fā)值214和鎖定位204都為真,則AND門208產(chǎn)生"真" 補(bǔ)丁啟用信號(hào)211,"真"補(bǔ)丁啟用信號(hào)211允許微碼更新邏輯212 從指定的BIOS暫存存儲(chǔ)器將期望的補(bǔ)丁 210加載到系統(tǒng)的閃速存儲(chǔ) 器中。圖3中示出閃速存儲(chǔ)器350,圖3是能夠執(zhí)行所公開的技術(shù)的系 統(tǒng)300的第一實(shí)施例的框圖。系統(tǒng)300可以包括一個(gè)或多個(gè)處理器 370、 380,它們耦合到北橋390。圖3中虛線表示了附加處理器380 的可選特性。第一處理器370和任何其他處理器380 (以及更確切地其中的 核)可以包括根據(jù)本發(fā)明實(shí)施例的補(bǔ)丁防止邏輯200 (參見圖2的 200 )。北橋390可以是芯片組或芯片組的一部分。北橋390可以與處 理器370、 380通信,并控制處理器370、 380與存儲(chǔ)器332之間的 交互。北橋390還可以控制處理器370、 380與加速圖形端口 (AGP) 活動(dòng)之間的交互。對(duì)于至少一個(gè)實(shí)施例,北橋390經(jīng)由多節(jié)點(diǎn)總線 (例如前端總線(FSB) 395 )與處理器370、 380通信。圖3圖示北橋390可以耦合到稱為南橋318的另一個(gè)芯片組或 芯片組的一部分。對(duì)于至少一個(gè)實(shí)施例,南橋318處理系統(tǒng)300的 輸入/輸出(1/0)功能,從而控制與輸入/輸出組件的交互。在一個(gè)實(shí) 施例中,可以將多種裝置耦合到南橋318,包括例如鍵盤和/或鼠標(biāo) 322、通信裝置326和可以包含代碼BIOS代碼355的閃速存儲(chǔ)器350。 而且,還可以將音頻I/O 324耦合到南橋318,如可以將其他I/O裝 置314耦合到南橋318那樣??梢圆捎迷S多不同系統(tǒng)類型實(shí)現(xiàn)實(shí)施例?,F(xiàn)在參考圖4,其中示 出根據(jù)本發(fā)明實(shí)施例的多處理器系統(tǒng)的框圖。如圖4所示,多處理 器系統(tǒng)是點(diǎn)到點(diǎn)互連系統(tǒng),并且包括經(jīng)由點(diǎn)到點(diǎn)互連450耦合的第 一處理器470和第二處理器480。如圖4所示,處理器470和480的 每個(gè)處理器都可以是多核處理器,包括第一和第二處理器核(即處 理器核474a和474b和處理器核484a和484b )。雖然為易于說明而 未示出,但是第一處理器470和第二處理器480 (以及更確切地其中 的核)可以包括根據(jù)本發(fā)明實(shí)施例的補(bǔ)丁防止邏輯(參見圖2的200 )。不具有上文結(jié)合圖3示出的北橋和南橋,圖4所示的系統(tǒng)400 而是可以具有集線器體系結(jié)構(gòu)。集線器體系結(jié)構(gòu)可以包括集成到每 個(gè)處理器470、 480的集成的存儲(chǔ)器控制器集線器Memory Controller Hub(MCH) 472、 482。芯片組490可以提供對(duì)圖形和AGP的控制。
      因此,第一處理器470還包括存儲(chǔ)器控制器集線器(MCH) 472 和點(diǎn)到點(diǎn)(P-P)接口 476和478。相似地,第二處理器480包括MCH 482和P-P接口 486和488。如圖4所示,MCH 472和482將處理器 耦合到相應(yīng)存儲(chǔ)器、即存儲(chǔ)器432和存儲(chǔ)器434,它們可以是本地連 接到相應(yīng)處理器的主存儲(chǔ)器的一部分。雖然在圖4中示出為集成到處理器470、 480中,但是存儲(chǔ)器控 制器集線器472、 482無需一定如此集成。對(duì)于至少一個(gè)備選實(shí)施例, MCH 472和482的邏輯可以分別對(duì)于處理器470、 480是外部的。對(duì) 于對(duì)于此類實(shí)施例,可以將實(shí)施MCH 472和482的邏輯的一個(gè)或多 個(gè)存儲(chǔ)器控制器分別耦合在處理器470、 480和存儲(chǔ)器432、 434之 間。對(duì)于此類實(shí)施例,例如存^l器控制器可以是單獨(dú)的邏輯或者可 以集成到芯片組490中??梢越?jīng)由P-P互連452和454分別將第一處理器470和第二處 理器480耦合到芯片組490。如圖4所示,芯片組490包括P-P接口 494和498。而且,芯片組490還包括將芯片組490與高性能圖形引 擎438耦合的接口 492。在一個(gè)實(shí)施例中,可以使用高級(jí)圖形端口 (AGP)總線439將圖形引擎438耦合到芯片組490。 AGP總線439 可以符合加州圣他克拉拉的英特爾公司在1998年5月4日發(fā)布的加 速圖形端口 4矣口頭見范片反本2.0(』cce/erated Grap/2/cs尸oW /"化r/ace S/ e";/ c加ow, i^Ww'o" 20)。或者點(diǎn)到點(diǎn)互連439可以耦合這些組件。然后可以經(jīng)由"t矣口 496將芯片組490耦合到第一總線416。在一 個(gè)實(shí)施例中,第一總線416可以是1995年6月提交的PCI本地總線 頭見范,生產(chǎn)片反本,發(fā)4亍片反2.1(尸C7 Z/0O3f/ 5w51 iSpeci/ ca"ow,尸roc/wcf/o/ Kra,ow, Wev/ao" 2/)定義的外設(shè)互連(PCI)總線,或諸如PCI Express 總線的總線或另外的第三代輸入/輸出(1/0)互連總線,雖然本發(fā)明的 范圍并不局限于此。如圖4所示,可以將多種I/O裝置414耦合到第一總線416, 以及將第一總線416耦合到第二總線420的總線橋418。在一個(gè)實(shí)施 例中,第二總線420可以是低引腳數(shù)(LPC)總線。可以將多種裝置 耦合到第二總線420,在一個(gè)實(shí)施例中包括例如鍵盤/鼠標(biāo)422、通信 裝置426和可以包含代碼430的數(shù)據(jù)存儲(chǔ)單元428。而且,還可以將 音頻I/O 424耦合到第二總線420。注意其他體系結(jié)構(gòu)也是可能的。 例如,不實(shí)現(xiàn)圖4的點(diǎn)到點(diǎn)體系結(jié)構(gòu),系統(tǒng)而是可以實(shí)現(xiàn)多節(jié)點(diǎn)總 線或另 一種此類體系結(jié)構(gòu)??梢栽谟布?、軟件、固件或此類實(shí)現(xiàn)方式的組合中實(shí)現(xiàn)本文公 開的機(jī)制的實(shí)施例。本發(fā)明的實(shí)施例可以實(shí)現(xiàn)為可編程系統(tǒng)上執(zhí)行 的計(jì)算機(jī)程序,該可編程系統(tǒng)包括至少一個(gè)處理器、數(shù)據(jù)存儲(chǔ)系統(tǒng) (包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)部件)、至少一個(gè)輸入裝置 和至少一個(gè)輸出裝置。可以將程序代碼應(yīng)用于輸入數(shù)據(jù)以執(zhí)行本文描述的功能并生成 輸出信息。因此,本發(fā)明的備選實(shí)施例還包括機(jī)器可訪問介質(zhì),該 機(jī)器可訪問介質(zhì)包含用于執(zhí)行本發(fā)明的操作的指令或包含定義本文 描述的結(jié)構(gòu)、電路、設(shè)備、處理器和/或系統(tǒng)特征的設(shè)計(jì)數(shù)據(jù)(例如 HDL)。此類實(shí)施例也可以稱為程序產(chǎn)品。此類機(jī)器可訪問介質(zhì)可以包括但不限于機(jī)器或裝置制造或形成 的有形粒子布置,包括諸如硬盤的存儲(chǔ)介質(zhì)、包括軟盤、光盤、壓 縮光盤只讀存儲(chǔ)器(CD-ROM )、壓縮光盤可寫(CD-RW)和磁光盤 的任何其他類型的盤、諸如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器 (RAM)(例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ) 器(SRAM))、可擦寫可編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器、 電可擦寫可編程只讀存儲(chǔ)器(EEPROM)的半導(dǎo)體裝置、磁卡或光 卡、或者適用于存儲(chǔ)電子指令的任何其他類型的介質(zhì)。可以采用公知的方式將該輸出信息應(yīng)用于 一個(gè)或多個(gè)輸出裝 置。為了此應(yīng)用的目的,處理系統(tǒng)包括具有例如數(shù)字信號(hào)處理器 (DSP)、微控制器、專用集成電路(ASIC)或微處理器的處理器的 任何系統(tǒng)。
      可以采用高級(jí)過程或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn)這些程序以與 處理系統(tǒng)通信。如果期望的話,還可以采用匯編或機(jī)器語言來實(shí)現(xiàn) 這些程序。事實(shí)上,本文描述的機(jī)制在范圍上不限于任何特定的編 程語言。在任何情況中,該語言可以是編譯或解釋的語言。雖然示出和描述了本發(fā)明的具體實(shí)施例,但是對(duì)于本領(lǐng)域技術(shù) 人員來說,顯然在不背離所附權(quán)利要求的范圍的前提下可以進(jìn)行更 改和修改。例如,用于防止微碼的引導(dǎo)后更新的前述機(jī)制可以等效 地適用于用于更新不限于存儲(chǔ)在閃速存儲(chǔ)器中的微碼的其他類型的 代碼的其他實(shí)施例中。對(duì)于一個(gè)此類備選實(shí)施例,例如可以利用本他類型的代碼補(bǔ)丁包括宏代碼或編碼在主指令集中的指令的集合。因此,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到在更廣的方面在不背離本發(fā)明 的前提下可以進(jìn)行更改和修改。所附權(quán)利要求將落在本發(fā)明真正范 圍內(nèi)的所有此類更改和修改涵蓋在其范圍內(nèi)。
      權(quán)利要求
      1. 一種系統(tǒng),包括處理器,所述處理器具有微碼并且還具有用于存儲(chǔ)鎖定指示符值的專用存儲(chǔ)位置;耦合到所述處理器的存儲(chǔ)器,所述存儲(chǔ)器用于存儲(chǔ)引導(dǎo)指令, 其中所述引導(dǎo)指令包括用于在引導(dǎo)操作系統(tǒng)之前將所述鎖定指示符 值設(shè)置為第一值的鎖定命令;所述處理器還包括用于在所述鎖定指示符與所述第一值匹配的 情況下防止所述微碼的更新的邏輯;以及所述邏輯還用于在所述鎖定指示符與第二值匹配的情況下允許 所述微碼的更新。
      2. 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述存儲(chǔ)器是閃速RAM。
      3. 如權(quán)利要求l所述的系統(tǒng),還包括 DRAM存儲(chǔ)器模塊。
      4. 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述專用存儲(chǔ)位置還包括寄存器的位。
      5. 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述鎖定命令是所述處理器的體系結(jié)構(gòu)指令。
      6. 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述鎖定命令是所述處理器的處理器抽象層的過程調(diào)用。
      7. 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述邏輯還用于在所述鎖定指示符與所述第一值匹配的情況下防止在所述操作系統(tǒng)引導(dǎo)之后的所述微碼的更新。
      8. 如權(quán)利要求4所述的系統(tǒng),其特征在于 所述寄存器是沖莫型專用寄存器。
      9. 如權(quán)利要求l所述的系統(tǒng),其特征在于所述邏輯是用于接收來自鎖定寄存器的鎖定指示符值并接收觸 發(fā)值的補(bǔ)丁啟用邏輯,所述補(bǔ)丁啟用邏輯用于生成補(bǔ)丁啟用信號(hào)。
      10. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述補(bǔ)丁啟用邏輯 還包括微碼更新邏輯,所述微碼更新邏輯用于接收補(bǔ)丁啟用信號(hào)和補(bǔ) 丁值,所述微碼更新邏輯用于響應(yīng)所述補(bǔ)丁啟用信號(hào)的真值而將所 述補(bǔ)丁值加載到閃速存儲(chǔ)器中。
      11. 如權(quán)利要求9所述的系統(tǒng),其特征在于 所述補(bǔ)丁啟用邏輯用于在所述鎖定指示符值為真的情況下生成所述補(bǔ)丁啟用信號(hào)的假值。
      12. 如權(quán)利要求9所述的系統(tǒng),還包括述反相器用于在將所述鎖定指示符值提供到所述補(bǔ)丁啟用邏輯之前 反轉(zhuǎn)所述鎖定指示符值。
      13. —種方法,包括在引導(dǎo)操作系統(tǒng)之前將一個(gè)或多個(gè)微碼補(bǔ)丁加載到閃速存儲(chǔ)器 中;以及在引導(dǎo)所述操作系統(tǒng)之前設(shè)置鎖定指示符,以防止在所述操作 系統(tǒng)的所述引導(dǎo)之后發(fā)生任何微碼更新。
      14. 如權(quán)利要求13所述的方法,還包括將用于執(zhí)行所述加載的指令集成到基本輸入-輸出系統(tǒng)(BIOS ) 代碼中。
      15. —種產(chǎn)品,包括有形存儲(chǔ)介質(zhì),所述有形存儲(chǔ)介質(zhì)具有多個(gè)機(jī)器可訪問指令;其中,當(dāng)所述指令被處理器執(zhí)行時(shí),所述指令用于在引導(dǎo)操作系統(tǒng)之前將一個(gè)或多個(gè)微碼補(bǔ)丁加載到閃速存儲(chǔ)器中;以及在引導(dǎo)所述操作系統(tǒng)之前設(shè)置鎖定指示符,以防止在所述操作系統(tǒng)的所述引導(dǎo)之后發(fā)生任何微碼更新。
      16. 如權(quán)利要求15所述的產(chǎn)品,其特征在于所述用于設(shè)置鎖定指示符的指令還包括在體系結(jié)構(gòu)上定義的指令。
      17. 如權(quán)利要求15所述的產(chǎn)品,其特征在于 所述鎖定指示符還包括所述處理器的寄存器中的位。
      18. 如權(quán)利要求17所述的產(chǎn)品,其特征在于 所述寄存器是模型專用寄存器。
      19. 如權(quán)利要求18所述的產(chǎn)品,其特征在于所述用于設(shè)置鎖定指示符的指令還包括用于對(duì)所述模型專用寄 存器進(jìn)行寫入的體系結(jié)構(gòu)指令。
      20. 如權(quán)利要求15所述的產(chǎn)品,其特征在于 所述用于設(shè)置鎖定指示符的指令還包括過程調(diào)用。
      21. 如權(quán)利要求20所述的產(chǎn)品,其特征在于 所述指令還包括用于所述過程的指令,用于所述過程的指令包括用于設(shè)置模型專用寄存器的位的指令。
      全文摘要
      本發(fā)明公開了保持早期硬件配置狀態(tài)。處理器包括鎖定指示符,當(dāng)鎖定指示符被設(shè)置時(shí),防止在引導(dǎo)了操作系統(tǒng)之后發(fā)生微碼更新。還描述了其他實(shí)施例并且對(duì)這些其他實(shí)施例要求權(quán)利。
      文檔編號(hào)G06F9/445GK101145107SQ20071012642
      公開日2008年3月19日 申請(qǐng)日期2007年6月7日 優(yōu)先權(quán)日2006年6月8日
      發(fā)明者G·高德, V·齊默 申請(qǐng)人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1