亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

對集成電路的功能性編程的方法及設備的制作方法

文檔序號:6480615閱讀:257來源:國知局
專利名稱:對集成電路的功能性編程的方法及設備的制作方法
領域本發(fā)明的實施例涉及集成電路(IC)領域;以及更具體來說,涉及遠程可編程IC。
背景又稱作CPU(中央處理器)的微處理器是控制計算機的完整計算引擎。目前,內部CPU時鐘速率在制造工廠經由內部熔斷器設定來固定。這些CPU速率設定在最初制造、測試和包裝之后無法更改。大部分處理器都能夠以其最大時鐘速率能力運行。但是,較高時鐘速率可能被相應供應商索取溢價。為了實現(xiàn)市場中更節(jié)省成本的CPU而沒有吞食較高性能市場板塊,對于無法證明較高性能成本額外費用的市場,供應商傾向于在完全能夠以更高速率運行的裝置上強加較低速率。
許多“新的”市場板塊目前無法證明較高性能裝置的成本。另外,那些裝置中的許多傾向于具有長壽命周期(例如5-6年或以上),一旦這些裝置被配置,它們不可能實際地和/或經濟地被返回用于升級目的。這些市場是“新的”這一事實往往在最初等同于有限的復雜程度因而等同于有限的性能要求。終端用戶可能不愿意負擔復雜程度及其相關的性能提高、他們還不知道他們需要的性能提高的費用。但是,大家理解,隨著顧客漸漸變得越來越富有經驗,對于更多服務從而對于性能的需求以及終端用戶負擔提高的性能的費用的意愿將會增加。
因此,顧客陷于一種困境。他們配置數(shù)百萬臺5-6年產品壽命周期的裝置,但那些裝置無法實際地被返回用于升級。那些裝置在當前可能具有最小的性能要求,但在不久的將來可能具有極大增加的性能要求。這種困境的跡象通過對于具有低性能定價的高性能裝置的需求得到證明。
附圖簡介通過參照用來說明本發(fā)明的實施例的以下描述和附圖,可以最透徹地理解本發(fā)明。附圖包括

圖1說明可與一個實施例配合使用的計算機系統(tǒng)的網絡的框圖。
圖2說明可與一個實施例配合使用的計算機系統(tǒng)的框圖。
圖3說明根據(jù)一個實施例的處理器的框圖。
圖4說明根據(jù)另一個實施例的計算機系統(tǒng)的框圖。
圖5說明系統(tǒng)體系結構的一個實施例的框圖。
圖6是流程圖,說明對集成電路(IC)的時鐘速率進行遠程編程的過程的一個實施例。
圖7是流程圖,說明對集成電路(IC)的時鐘速率進行遠程編程的過程的另一個實施例。
圖8是流程圖,說明遠程實現(xiàn)集成電路(IC)的功能性的過程的一個實施例。
詳細說明描述對集成電路(IC)的時鐘速率進行遠程編程的方法及設備。根據(jù)一個實施例,示范設備包括控制IC的時鐘速率的可調鎖相環(huán)(PLL)電路。對PLL的調整可通過解密引擎和內部提供的速率密鑰集進行選通。訪問計數(shù)器可用于選通對速率密鑰的全部訪問。根據(jù)一個實施例,如果進行了超過預定數(shù)量的不成功訪問嘗試,則對時鐘速率編程的能力可被禁用。
在以下描述中,闡明了許多具體細節(jié)。但是大家理解,即使沒有這些具體細節(jié)也可以實施本發(fā)明的實施例。在其它情況下,沒有詳細說明眾所周知的電路、結構和技術,以免影響對本描述的理解。
以下詳細描述的某些部分根據(jù)對計算機存儲器中的數(shù)據(jù)位的操作的算法和符號表示來提供。這些算法描述和表示由數(shù)據(jù)處理領域的技術人員用于向本領域的其它技術人員最有效地傳達其工作主旨。算法在此以及一般被認為是產生預期結果的獨立操作序列。操作是要求物理量的物理處理的那些操作。這些量通常但不一定采用電或磁信號的形式,它們能夠被存儲、傳送、組合、比較或者以其它方式處理。將這些信號稱作位、值、元素、符號、字符、術語、編號等時常被證明是方便的,主要是因為常用。
但應當記住,所有這些及類似的術語均與適當?shù)奈锢砹筷P聯(lián),并且只是應用于這些量上的便捷標記。若沒有明確說明,從以下論述中,大家清楚地知道,在整個描述中,采用諸如“處理”或“計算”或“確定”或者“顯示”等術語的論述表示計算機系統(tǒng)或類似數(shù)據(jù)處理裝置的動作和過程,其中所述的計算機系統(tǒng)或類似數(shù)據(jù)處理裝置處理表示為計算機系統(tǒng)的寄存器和存儲器中的物理(例如電子)量的數(shù)據(jù)并將其變換為類似地表示為計算機系統(tǒng)存儲器或寄存器或者其它這種信息存儲、傳送或顯示裝置中的物理量的其它數(shù)據(jù)。
本發(fā)明的實施例還涉及用于執(zhí)行本文所述操作的設備。設備可被專門構造用于所需目的,或者可包括通過計算機中存儲的計算機程序有選擇地激活或重新配置的通用計算機。這種計算機程序可存儲在計算機可讀存儲介質中,例如但不限于任何類型的盤,包括軟盤、光盤、CD-ROM和磁光盤;只讀存儲器(ROM)、隨機存取存儲器(RAM),例如動態(tài)RAM(DRAM)、EPROM、EEPROM、磁或光卡;或者適合存儲電子指令的任何類型的介質;上述存儲組件中的每一個耦合到計算機系統(tǒng)總線。
本文所提供的算法和顯示不是固有地與任何特定計算機或其它設備相關。各種通用系統(tǒng)可與根據(jù)本文的理論的程序配合使用,或者可證明構造更專用的設備來執(zhí)行這些方法是便利的。多種這類系統(tǒng)的結構通過以下描述將是顯而易見的。另外,沒有參照任何特定的編程語言來描述本發(fā)明的實施例。大家理解,各種編程語言可用來實現(xiàn)本文所述的本發(fā)明的實施例的理論。機器可讀介質包括用于存儲或傳送機器(如計算機)可讀形式的信息的任何裝置。例如,機器可讀介質包括只讀存儲器(“ROM”);隨機存取存儲器(“RAM”);磁盤存儲介質;光存儲介質;閃速存儲裝置;電、光、聲或其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)等等。
圖1是根據(jù)本發(fā)明的一個實施例、其中的客戶計算機可對它的微處理器的時鐘速率遠程編程的計算機系統(tǒng)的網絡的圖示。如圖1所示,網絡100包括多個客戶計算機系統(tǒng),它們通過因特網122耦合在一起。大家理解,術語“因特網”表示若干網絡的聯(lián)網。這類網絡可采用用于交換信息的各種協(xié)議,例如TCP/IP、ATM、SNA、SDI等。因特網的物理連接以及因特網的協(xié)議和通信過程是本領域的技術人員眾所周知的。大家還會理解,這種系統(tǒng)可在機構內的內聯(lián)網中實現(xiàn)。
對因特網122的訪問通常由因特網服務提供商(ISP)、例如ISP 124和ISP 126來提供。諸如客戶計算機系統(tǒng)102、104、118及120之類的客戶機系統(tǒng)上的用戶一般通過因特網服務提供商、如ISP 124和126獲得對因特網的訪問。對因特網的訪問可便于在諸如客戶計算機系統(tǒng)102、104、118及120和/或萬維網服務器系統(tǒng)128之類的兩個或兩個以上數(shù)字處理系統(tǒng)之間傳遞信息(例如電子郵件、文本文件、媒體文件等)。例如,客戶計算機系統(tǒng)102、104、118及120和/或萬維網服務器128的一個或多個可向客戶計算機系統(tǒng)102、104、118及120和/或萬維網服務器128的另一個或其它多個提供文檔呈現(xiàn)(例如網頁)。例如,在本發(fā)明的一個實施例中,一個或多個客戶計算機系統(tǒng)102、104、118及120可請求訪問可能存儲在遠程位置、如萬維網服務器128上的某個文檔。在遠程存儲的情況下,數(shù)據(jù)可作為文件被傳送(例如下載),然后在傳送該文件之后進行顯示(例如在瀏覽器的窗口中)。在另一個實施例中,文檔呈現(xiàn)可本地存儲在客戶計算機系統(tǒng)102、104、118和/或120中。在本地存儲的情況下,客戶機系統(tǒng)可經由應用程序、如字處理應用程序來檢索及顯示文檔。無需網絡連接。
萬維網服務器128通常包括以一個或多個數(shù)據(jù)通信協(xié)議、如萬維網的協(xié)議進行工作的至少一個計算機系統(tǒng),因此通常耦合到因特網122??蛇x地,萬維網服務器128可以是可為客戶計算機系統(tǒng)提供對因特網和/或其它網絡的訪問的ISP的一部分??蛻粲嬎銠C系統(tǒng)102、104、118和120均可通過適當?shù)娜f維網瀏覽軟件來訪問可由萬維網服務器128提供的數(shù)據(jù)、如HTML文檔(例如網頁)??蛻粲嬎銠C可結合根據(jù)本發(fā)明的一個實施例的應用,從而允許用戶與供應商設備交互,并下載遠程命令對客戶機器的IC(例如微處理器)的時鐘速率編程。
ISP124經由可看作是客戶計算機系統(tǒng)102的一部分的調制解調器接口106向客戶計算機系統(tǒng)102提供因特網連通性。客戶計算機系統(tǒng)102、104、118及120可以是傳統(tǒng)的數(shù)據(jù)處理系統(tǒng),例如具有從IntelCorporation可購買的Pentium微處理器的計算機、“網絡”計算機、手持/便攜計算機、具有數(shù)據(jù)處理能力的蜂窩電話、萬維網電視系統(tǒng)或者其它類型的數(shù)字處理系統(tǒng)(例如個人數(shù)字助理(PDA))。
ISP126以類似方式為客戶計算機系統(tǒng)102、104、118及120提供因特網連通性。但是,如圖1所示,這種連通性可在諸如客戶計算機系統(tǒng)102、104、118及120之類的各種客戶計算機系統(tǒng)之間變化。例如,如圖1所示,客戶計算機系統(tǒng)104通過調制解調器接口108耦合到ISP126,而客戶計算機系統(tǒng)118和120則是局域網(LAN)的一部分。分別表示為調制解調器106、108的接口106、108可表示模擬調制解調器、ISDN調制解調器、DSL調制解調器、電纜調制解調器、無線接口或者用于將諸如客戶計算機系統(tǒng)之類的數(shù)字處理系統(tǒng)耦合到另一個數(shù)字處理系統(tǒng)的另一種接口??蛻粲嬎銠C系統(tǒng)118和120分別通過網絡接口114和116耦合到LAN總線112。網絡接口114和116可以是以太網類型、異步傳輸模式(ATM)或其它類型的網絡接口。LAN總線還耦合到網關數(shù)字處理系統(tǒng)110,它可為LAN提供防火墻以及其它因特網相關服務。網關數(shù)字處理系統(tǒng)110又耦合到ISP126,以便向客戶計算機系統(tǒng)118和120提供因特網連通性。例如,網關數(shù)字處理系統(tǒng)110可包括傳統(tǒng)的服務器計算機系統(tǒng)。例如,萬維網服務器128可類似地包括傳統(tǒng)的服務器計算機系統(tǒng)。
圖2是可與本發(fā)明的一個實施例配合使用的數(shù)字處理系統(tǒng)的框圖。例如,圖2所示的系統(tǒng)200可用作客戶計算機系統(tǒng)(例如客戶計算機系統(tǒng)102、104、118和/或120)、萬維網服務器系統(tǒng)(例如萬維網服務器系統(tǒng)128)或者傳統(tǒng)的服務器系統(tǒng)等。此外,數(shù)字處理系統(tǒng)200可用來執(zhí)行因特網服務提供商、如ISP124和126的一個或多個功能。
注意,雖然圖2說明了計算機系統(tǒng)的各種組件,但并不是意在表示互連組件的任何特定體系結構或方式,因為這些詳細情況不是與本發(fā)明密切相關的。大家還會理解,網絡計算機、手持計算機、蜂窩電話及具有更少組件或者也許具有更多組件的其它數(shù)據(jù)處理系統(tǒng)也可與本發(fā)明配合使用。例如,圖2的計算機系統(tǒng)可以是IBM兼容計算機或者Apple Macintosh計算機。
如圖2所示,作為數(shù)據(jù)處理系統(tǒng)的形式的計算機系統(tǒng)200包括耦合到微處理器203和ROM207、易失性RAM205以及非易失性存儲器206的總線202??梢允荌ntel Corporation生產的Pentium微處理器或者Motorola,Inc.生產的PowerPC G3或PowerPC G4微處理器的微處理器203耦合到高速緩沖存儲器204,如圖2的實例所示??偩€202將這些各種組件互連在一起,以及還將這些組件203、207、205和206互連到顯示控制器及顯示裝置208,以及互連到可能是鼠標、鍵盤、調制解調器、網絡接口、打印機和本領域眾所周知的其它裝置的輸入/輸出(I/O)裝置210。輸入/輸出裝置210通常通過輸入/輸出控制器209耦合到系統(tǒng)。易失性RAM205通常被實現(xiàn)為動態(tài)RAM(DRAM),動態(tài)RAM持續(xù)要求電力來刷新或保持存儲器中的數(shù)據(jù)。非易失性存儲器206通常是磁硬盤驅動器、磁光盤驅動器、光盤驅動器或者DVD RAM或者即使在從系統(tǒng)斷開電力之后仍然保持數(shù)據(jù)的其它類型的存儲系統(tǒng)。非易失性存儲器通常還是隨機存取存儲器,但這不是必需的。雖然圖2表示非易失性存儲器是直接耦合到數(shù)據(jù)處理系統(tǒng)中的組件的其余部分的本地裝置,但是大家理解,本發(fā)明可利用遠離系統(tǒng)的非易失性存儲器,例如通過諸如調制解調器或以太網接口之類的網絡接口耦合到數(shù)據(jù)處理系統(tǒng)的網絡存儲裝置??偩€202可包括通過各種橋接、控制器和/或適配器相互連接的一個或多個總線,如本領域眾所周知的那樣。在一個實施例中,I/O控制器209包括用于控制USB外設的USB(通用串行總線)適配器。
圖3是框圖,說明時鐘速率或功能性可通過網絡遠程編程的微處理器的一個實施例。在一個實施例中,微處理器300包括處理核心315,它處理諸如圖2的計算機系統(tǒng)200之類的計算機系統(tǒng)的數(shù)據(jù)。核心315包括高速緩存301、預取緩沖器302、指令解碼器303、微碼單元304、數(shù)據(jù)通路電路305、地址生成器306以及浮點單元307。高速緩存301可存儲供微處理器300執(zhí)行的指令和數(shù)據(jù)。高速緩存可通過經由網絡、如圖1的因特網122從遠程機構所接收的命令來進行遠程編程(例如啟用)。微處理器300的一部分、如核心邏輯315的一部分還可通過經由網絡從遠程機構所接收的命令來進行編程或啟用。預取緩沖器302可檢索供微處理器300執(zhí)行的數(shù)據(jù)和指令。緩沖器302或者可從高速緩存301中、或者在發(fā)生高速緩存未命中時經由總線接口單元308從計算機系統(tǒng)的存儲器中檢索數(shù)據(jù)和指令。
指令解碼器303從預取緩沖器302中檢索指令并對其解碼。微碼單元304具有存儲微處理器300的微碼指令的存儲器。微碼單元304與指令解碼器303交互,以便運行指令。為了進行指令的運行,微碼單元304為地址生成器306提供地址生成器306用來產生進行指令的運行所需的地址的地址信息。通過類似方式,地址生成器306為數(shù)據(jù)通路電路305和浮點單元307產生地址。
微碼單元304還負責例如中斷/異常仲裁等的指令邊界處理以及在需要時的指令解碼器303的暫停。微碼單元304還處理高速緩存301的未命中。
數(shù)據(jù)通路電路305為微處理器300提供主運行數(shù)據(jù)通路。數(shù)據(jù)通路電路305包括算術邏輯單元(ALU)、控制寄存器、滾桶式移位器、只讀存儲器(ROM)以及標志。數(shù)據(jù)通路電路305從預取緩沖器302檢索數(shù)據(jù)。數(shù)據(jù)通路電路305根據(jù)地址生成器306所產生的地址、采用從預取緩沖器302所接收的數(shù)據(jù)來運行指令解碼器303所提供的微碼。浮點單元307用于浮點指令的運行。
在處理核心315的外部,微處理器300具有總線接口單元(BIU)308、Pad接口311以及時鐘發(fā)生器310??偩€接口單元308提供微處理器300的內部總線與用于從計算機系統(tǒng)的存儲器中取數(shù)據(jù)和指令的外部總線之間的接口??偩€接口308具有寫緩沖器309,寫緩沖器309用來存儲從微處理器300傳送到計算機系統(tǒng)的其余部分的數(shù)據(jù)。Pad接口311為微處理器300與計算機系統(tǒng)的其余部分之間傳遞的控制、地址和數(shù)據(jù)信號提供引腳接口。
時鐘發(fā)生器310接收可能是來自主板的系統(tǒng)時鐘的系統(tǒng)時鐘信號Cl_ksys,并采用Clk_sys來產生用于微處理器300的時鐘信號。時鐘發(fā)生器310向總線接口單元308和Pad接口311提供時鐘信號Clk_1X。當微處理器300未過熱時(由來自熱傳感器321的信號的取消斷言來表示),則Clk_1X信號具有與Clk_sys信號相同的頻率,以及與Pad接口311交互的總線接口單元308的一些部分采用C1k_1X信號。
時鐘發(fā)生器310向處理器核心315提供另一個時鐘信號Clk_Internal。Clk_Internal信號與Clk_sys信號同步,并且具有Clk_sys信號的頻率的倍數(shù)(例如兩倍)的頻率。因此,當微處理器300在正常條件下工作時,處理核心315一般以高于計算機系統(tǒng)的其余部分的頻率進行工作。
時鐘發(fā)生器310的控制邏輯312從熱傳感器321接收熱斷路信號。當熱斷路信號被斷言時,控制邏輯312根據(jù)其配置可改變Clk_Internal信號的頻率以便降低處理核心315的速率,并減小微處理器300的襯底中的熱量積累。這樣,當熱斷路信號被斷言時,控制邏輯312使Clk_Internal信號的頻率降低或者臨時停止Clk_Internal信號。
另外,根據(jù)一個實施例,微碼單元304可包括特定指令(例如操作數(shù)),該指令在被調用時可提供給指令解碼器303以便執(zhí)行相應的操作。例如,在系統(tǒng)的用戶發(fā)出升級處理器300的時鐘速率的請求并接收用于對此時鐘速率編程的加密命令之后,微碼單元304被調用以便向指令解碼器303提供指令。指令解碼器303運行從微碼單元304所接收的指令,從而將加密命令插入解密引擎(未示出)。加密引擎則對命令解密,以便提取編程代碼。解密引擎可訪問可能嵌入在處理器300(例如ROM)中的速率密鑰信息,從而確保編程代碼是有效的。如果編程代碼有效,則解密引擎可與可能包括PLL電路的時鐘控制邏輯312進行通信,以便根據(jù)編程代碼來控制時鐘發(fā)生器310,從而產生適當?shù)臅r鐘信號、如時鐘信號Clk_1X和Clk_Internal。
圖4是框圖,說明具有時鐘速率或功能性可被遠程編程的微處理器的計算機系統(tǒng)的一個實施例。在一個實施例中,示范系統(tǒng)400包括通過網絡從遠程機構接收用于對集成電路(IC)的時鐘速率編程的命令的接口、以及耦合到此接口以便根據(jù)此命令對IC的時鐘速率編程的編程引擎。
參照圖4,系統(tǒng)400包括處理器403,它耦合到系統(tǒng)輸入/輸出(IO)接口402以便訪問網絡401。處理器403可用作圖2所示的系統(tǒng)200的處理器203。系統(tǒng)IO402可包括一個或多個IO裝置、如系統(tǒng)200的裝置210。具體來說,系統(tǒng)IO402可包括訪問網絡401的網絡接口卡(NIC)或調制解調器。處理器403可以是Intel Corporation生產的Pentium處理器?;蛘撸幚砥?03可以是Motorola,Inc.生產的PowerPC處理器。網絡401可以是廣域網(WAN)、如因特網?;蛘撸W絡401可以是局域網(LAN)或內聯(lián)網。
在一個實施例中,處理器403其中還包括CPU微碼單元404、解密引擎405、鎖相環(huán)(PLL)電路406、時鐘發(fā)生器407、訪問計數(shù)器408、速率密鑰409以及處理器標識(ID)410。根據(jù)一個實施例,操作系統(tǒng)400的用戶可通過網絡401向系統(tǒng)制造機構或第三方支持機構發(fā)出升級其處理器403的時鐘速率的請求。此機構可由相應的供應商在網站、如圖1的萬維網服務器系統(tǒng)128進行維護?;蛘撸瑱C構可以是通過內聯(lián)網的公司總部(例如IT部門)。請求可包括表明處理器403的類型的處理器ID410。在一個實施例中,用戶可利用實用程序、例如制造商所提供的公用程序來訪問此機構?;蛘?,用戶可以只利用因特網瀏覽器通過HTTP(超文本傳輸協(xié)議)協(xié)議向制造商網站發(fā)出請求。另外,機構可要求用戶經由電子商務機制通過網絡支付升級費用。
一支付升級費用,機構發(fā)布命令,允許系統(tǒng)400通過網絡401從機構進行下載。在一個實施例中,命令包括具有加密算法的加密編程代碼,它是本領域眾所周知的。一旦在系統(tǒng)400的應用層運行的應用程序(未示出)接收到經由系統(tǒng)IO402的命令,應用程序可通過應用編程接口(API)訪問微碼部分404。根據(jù)一個實施例,微碼部分404可采用專門處理此命令的指令(例如操作數(shù))來預先啟用。在一個實施例中,微碼404可包括一個或多個存儲器或IO映射寄存器,以便允許應用程序、如瀏覽器或其它升級實用程序直接訪問微碼單元404。在一個備選實施例中,應用程序可經由為微碼單元404專門開發(fā)的設備驅動程序來訪問微碼單元404。設備驅動程序最終可與BIOS(基本輸入/輸出系統(tǒng))通信以便訪問微碼單元404。在另一個實施例中,應用程序可直接與BIOS通信以便訪問微碼單元404。
根據(jù)一個實施例,所下載的命令采用市場中可買到的加密算法來加密。一旦微碼單元404從應用程序接收到命令,微碼單元404可對指令解碼器、如圖3的指令解碼器303發(fā)出特定指令,以便將此命令傳到或插入解密引擎405。解密引擎405對命令解密,從而檢索編程代碼以便對PLL電路406編程。在對PLL電路406編程之前,解密引擎405可通過訪問計數(shù)器408訪問速率密鑰409以便檢索嵌入速率密鑰409以及處理器ID410。解密引擎405則將編程代碼與速率密鑰409進行比較,從而確定編程代碼是否有效。比較還可檢查處理器ID410,以便確定處理器403是否能夠支持編程代碼所指定的這種時鐘速率。速率密鑰409和處理器ID410可存儲在處理器403的存儲器、如ROM(只讀存儲器)中。或者,速率密鑰409和處理器ID410可在制造過程中在邏輯電路、如熔斷器電路中硬連線。如果解密引擎405判定編程代碼有效,則解密引擎405可對PLL406編程,從而相應地控制時鐘發(fā)生器407以產生預期時鐘速率。
根據(jù)一個實施例,訪問速率密鑰單元409由訪問計數(shù)器408進行選通。如果解密引擎405在預定嘗試次數(shù)無法訪問速率密鑰單元409,則訪問計數(shù)器408可臨時或永久地禁用遠程時鐘速率調整功能性。
根據(jù)另一個實施例,通過網絡401從機構所接收的命令可采用公開/私有密鑰對來加密。也就是說,在機構采用公鑰來加密命令,并通過網絡401將其傳送到系統(tǒng)400。根據(jù)一個實施例,私鑰被嵌入在速率密鑰單元409中。當解密引擎405訪問速率密鑰單元409時,解密引擎405檢索私鑰,并采用私鑰對已經通過公鑰加密的命令進行解密。因此,整個事務處理受到保護??刹捎闷渌用軈f(xié)議或算法。
圖5是框圖,說明可用于對IC(例如微處理器)的時鐘速率進行遠程編程的體系結構的一個實施例。在一個實施例中,示范體系結構500其中包括應用程序501、設備驅動程序502、BIOS503以及硬件504。應用程序501可通過操作系統(tǒng)(OS)或設備驅動程序所提供的應用程序編程接口(API)來傳送一個或多個設備驅動程序502。設備驅動程序502可經由BIOS503來訪問硬件(例如處理器),從而對硬件編程以便執(zhí)行某些操作?;蛘?,設備驅動程序502可經由存儲器或IO映射接口直接與硬件504通信。
應用程序501可駐留在OS的用戶空間。設備驅動程序502可駐留在OS的核心空間,而BIOS503則可駐留在緊接硬件504的固件(例如ROM)中。OS可以是Microsoft Corporation開發(fā)的Windows操作系統(tǒng)?;蛘撸琌S可以是Apple Computer,Inc.開發(fā)的Mac OS。此外,OS可以是Unix或Linux操作系統(tǒng)??刹捎闷渌僮飨到y(tǒng)、如機頂盒類型計算機中嵌入的實時操作系統(tǒng)。
根據(jù)一個實施例,應用程序501可包括通過網絡、如因特網122訪問制造商機構、如萬維網服務器系統(tǒng)128的瀏覽器。具體來說,當用戶希望訪問遠程制造商機構時,用戶采用駐留在應用層501的瀏覽器與網絡接口的設備驅動程序、如駐留在設備驅動程序層502的網絡驅動程序進行通信。網絡驅動程序則與可包括NIC卡的硬件504進行通信,以便通過網絡訪問制造商機構?;蛘?,用戶可采用供應商提供的特定公用程序,經由利用調制解調器的撥號連網機制來訪問此機構。
一接收到來自機構的命令,可將命令轉發(fā)給解密引擎、如解密引擎405,它可駐留在設備驅動程序502、BIOS503中或者嵌入在硬件504中。解密引擎可通過軟件或通過硬件來實現(xiàn)。解密引擎則對照一個或多個速率密鑰、如速率密鑰409對命令解碼,以便確保所提取的編程代碼有效。如果編程代碼有效,則解密引擎可對相應的PLL電路編程,從而控制時鐘發(fā)生器產生適當?shù)臅r鐘信號。
圖6是流程圖,說明對IC的時鐘速率進行遠程編程的過程的一個實施例。在一個實施例中,示范過程600包括通過網絡從遠程機構接收用于對集成電路(IC)的時鐘速率編程的命令,以及響應此命令而調整IC的時鐘速率。參照圖6,在用戶通過網絡(例如因特網)向遠程機構發(fā)出升級其IC(例如計算機系統(tǒng)的微處理器)的時鐘速率的請求之后,在框601,用戶通過網絡從遠程機構接收用于對IC的時鐘速率編程的命令。響應此命令,在框602,系統(tǒng)根據(jù)命令調整IC時鐘速率。
圖7是流程圖,說明對IC的時鐘速率進行遠程編程的過程的另一個實施例。在一個實施例中,示范過程700在框701開始,通過網絡(例如因特網)對機構、如制造商維護的萬維網服務器128產生及發(fā)送用于升級客戶機的IC的時鐘速率的請求。響應客戶機的請求,在框702,機構發(fā)出對所請求的時鐘速率編程的加密命令,并允許客戶機通過網絡將此加密命令下載到客戶機的機器中。在框703,客戶機對命令解密以便提取編程代碼,并且從相應IC的存儲器中檢索速率密鑰。在框704,客戶機對照速率密鑰檢查編程代碼,以便確定編程代碼是否有效。如果編程代碼有效,則在框705,客戶機根據(jù)編程代碼調整IC的時鐘速率。在一個實施例中,客戶機對PLL電路編程,從而控制時鐘發(fā)生器根據(jù)編程代碼產生預期時鐘信號。
雖然上述技術涉及對IC的時鐘速率進行編程,但是大家理解,這些技術不限于對時鐘速率進行編程。這些技術可應用于IC或數(shù)據(jù)處理系統(tǒng)的其它遠程可編程特征。例如,根據(jù)一個實施例,微處理器的高速緩沖存儲器(例如高速緩存301)或數(shù)據(jù)處理系統(tǒng)(例如高速緩存204)可被遠程啟用或編程。或者,邏輯、例如處理器的核心邏輯(例如微處理器300的核心邏輯315)的一部分可被遠程編程或啟用。本領域的技術人員非常清楚的其它功能性可經由以上所述技術之一來進行遠程編程。
圖8是流程圖,說明對IC的功能性進行遠程編程的過程的另一個實施例。在一個實施例中,示范過程800包括通過網絡從遠程機構接收用于啟用集成電路(IC)的功能性的命令,以及響應此命令而啟用IC的功能性。在一個實施例中,經由可由IC的制造商或者第三方分銷商主持的電子商務通道來接收命令。
參照圖8,示范過程800在框801開始,通過網絡(例如因特網)對機構、如制造商維護的萬維網服務器128產生及發(fā)送用于升級客戶機的IC的功能性的請求。在一個實施例中,功能性可包括時鐘速率能力、高速緩沖存儲器或者核心邏輯的一部分等。響應客戶機的請求,在框802,機構發(fā)出對所請求的功能性編程的加密命令,并允許客戶機通過網絡將此加密命令下載到客戶機的機器中。在框803,客戶機對命令解密以便提取編程代碼,并且從相應IC的存儲器中檢索內部代碼或簽名。在框804,客戶機對照內部代碼檢查編程代碼,以便確定編程代碼是否有效。如果編程代碼有效,則在框805,客戶機根據(jù)編程代碼對IC的相應功能性(例如時鐘速率、高速緩沖存儲器、核心邏輯的一部分等)進行編程。在一個實施例中,客戶機根據(jù)編程代碼對PLL電路編程,從而控制時鐘發(fā)生器產生預期時鐘信號。本領域的技術人員非常清楚的其它功能性可經由以上所述技術之一來進行遠程編程。
因此,上述實施例允許供應商使高性能CPU產品的時鐘降低,并以打折扣的較低性能價格銷售。隨后,隨著時間推移以及終端用戶對于性能需求的增加,供應商能夠遠程反復提供更高的CPU速率增量,對應較小的額外費用。額外費用的多少取決于CPU的預期“最終”銷售費用、多少CPU速率增量結合到CPU中(因而收取的額外費用數(shù)目)以及貨幣的時間價值。大家會理解,例如高速緩沖存儲器或邏輯的一部分之類的CPU的其它特征可遠程升級或啟用。通過上述技術,調整可遠程、自動、安全以及“即時”地進行。
例如,高性能處理器的一個實例可能是可售大約$100的866MHz的微處理器。這個裝置對于“新的”價格敏感消費者產品過于昂貴。但通過以上實施例中所述的技術,供應商實際上可在傳統(tǒng)上具有較低價格的市場板塊中銷售這種產品。供應商則可將該裝置的時鐘下調到例如300MHz,并以例如$30將它出售給顧客。一年內,供應商能夠對于到466MHz的性能提高出價例如$30(這時,費用實際上可能由終端用戶支付)。此報價以及性能提高均經由一般的電子商務機制遠程且自動地進行,使得終端用戶不需要實際上將裝置返廠升級。一年之后,同一個供應商可對于到633MHz的性能提高出價例如另一個$30。最后,又一年之后,供應商可對于到866MHz的性能提高出價例如另一個$30的最終費用。因此,此芯片的最終銷售價格在三年期間為$120。
在以上說明中,參照其特定示范實施例對本發(fā)明進行了描述。很顯然,可對其進行各種修改,而沒有背離以下權利要求書闡述的本發(fā)明的廣義精神和范圍。因此,說明書和附圖應看作是說明性而不是限制性的。
權利要求
1.一種方法,包括通過網絡從遠程機構接收用于對集成電路(IC)的時鐘速率進行編程的命令;以及響應所述命令而調整所述IC的時鐘速率。
2.如權利要求1所述的方法,其特征在于,所述網絡為廣域網(WAN)或局域網(LAN)。
3.如權利要求1所述的方法,其特征在于,所述命令包括對所述時鐘速率編程的加密編程代碼,所述方法還包括對所述編程代碼進行解密。
4.如權利要求3所述的方法,其特征在于,還包括嘗試將所述解密編程代碼與所述IC內的速率代碼進行匹配,以便確定所述編程代碼是否有效。
5.如權利要求4所述的方法,其特征在于,還包括如果所述編程代碼有效,則根據(jù)所述編程代碼對鎖相環(huán)(PLL)編程,從而調整所述IC的時鐘速率。
6.如權利要求4所述的方法,其特征在于,還包括對照所述IC的標識(ID)檢查所述編程代碼以確定所述編程代碼是否有效。
7.如權利要求4所述的方法,其特征在于,還包括如果所述編程代碼與所述速率代碼不匹配,則拒絕所述編程代碼。
8.如權利要求7所述的方法,其特征在于,還包括如果執(zhí)行所述嘗試超過預定機會數(shù)量,則禁用對所述IC的時鐘速率編程的能力。
9.如權利要求1所述的方法,其特征在于,所述遠程機構為萬維網服務器,所述方法還包括通過所述網絡向所述遠程機構發(fā)送對于調整所述IC的時鐘速率的請求;以及提出與所述請求相關聯(lián)的交換所述命令的付費。
10.一種設備,包括接口,通過網絡從遠程機構接收用于對集成電路(IC)的時鐘速率編程的命令;以及編程引擎,耦合到所述接口,用以根據(jù)所述命令對所述IC的時鐘速率編程。
11.如權利要求10所述的設備,其特征在于,還包括從所述接口接收所述命令的微碼單元。
12.如權利要求11所述的設備,其特征在于,所述命令包括加密編程代碼,所述設備還包括耦合到所述微碼單元以便對所述編程代碼解密的解密引擎。
13.如權利要求12所述的設備,其特征在于,還包括鎖相環(huán)(PLL)電路,用以從所述解密引擎接收速率代碼以便對所述IC的時鐘電路編程,從而獲得預期的時鐘速率。
14.如權利要求12所述的設備,其特征在于,還包括一個或多個速率密鑰,允許所述解密引擎將所述編程代碼與所述一個或多個速率密鑰進行匹配,從而確定所述編程代碼是否有效。
15.如權利要求14所述的設備,其特征在于,根據(jù)所述IC的標識(ID)將所述編程代碼與所述一個或多個速率密鑰進行匹配。
16.如權利要求10所述的設備,其特征在于,所述網絡為廣域網(WAN)或局域網(LAN)。
17.一種機器可讀介質,具有使機器執(zhí)行方法的可執(zhí)行代碼,所述方法包括通過網絡從遠程機構接收用于對集成電路(IC)的時鐘速率編程的命令;以及響應所述命令而調整所述IC的時鐘速率。
18.如權利要求17所述的機器可讀介質,其特征在于,所述網絡為廣域網(WAN)或局域網(LAN)。
19.如權利要求17所述的機器可讀介質,其特征在于,所述命令包括對所述時鐘速率編程的加密編程代碼,所述方法還包括對所述編程代碼進行解密。
20.如權利要求19所述的機器可讀介質,其特征在于,所述方法還包括嘗試將所述解密編程代碼與所述IC內的速率代碼進行匹配,以便確定所述編程代碼是否有效。
21.如權利要求20所述的機器可讀介質,其特征在于,所述方法還包括如果所述編程代碼有效,則根據(jù)所述編程代碼對鎖相環(huán)(PLL)編程,從而調整所述IC的時鐘速率。
22.如權利要求20所述的機器可讀介質,其特征在于,所述方法還包括對照所述IC的標識(ID)檢查所述編程代碼以確定所述編程代碼是否有效。
23.如權利要求20所述的機器可讀介質,其特征在于,所述方法還包括如果所述編程代碼與所述速率代碼不匹配,則拒絕所述編程代碼。
24.如權利要求23所述的機器可讀介質,其特征在于,所述方法還包括如果執(zhí)行所述嘗試超過預定機會數(shù)量,則禁用對所述IC的時鐘速率編程的能力。
25.如權利要求17所述的機器可讀介質,其特征在于,所述遠程機構為萬維網服務器,所述方法還包括通過所述網絡向所述遠程機構發(fā)送關于調整所述IC的時鐘速率的請求;以及提出與所述請求相關聯(lián)的交換所述命令的付費。
26.一種方法,包括通過網絡從遠程機構接收用于啟用集成電路(IC)的功能性的命令;以及響應所述命令而啟用所述IC的所述功能性。
27.如權利要求26所述的方法,其特征在于,通過所述網絡經由電子商務機制來接收所述命令。
28.如權利要求26所述的方法,其特征在于,所述IC的所述功能性是從由以下各項組成的組中選取的成員時鐘速率能力;高速緩沖存儲器;以及核心邏輯的至少一部分。
29.一種數(shù)據(jù)處理系統(tǒng),包括處理器;以及接口,通過網絡從遠程機構接收命令以啟用所述處理器的功能性。
30.如權利要求29所述的數(shù)據(jù)處理系統(tǒng),其特征在于,還包括耦合到所述處理器以及耦合到所述接口的存儲器,存儲使所述處理器執(zhí)行操作的指令,所述操作包括對所述命令解密以取回編程代碼;將所述編程代碼與內部簽名進行匹配,以便確定所述編程代碼是否有效;以及如果所述編程代碼有效,則對電路編程以啟用所述處理器的所述功能性。
全文摘要
本文描述對集成電路(IC)的功能性進行遠程編程的方法及設備。在一個方面,示范方法包括通過網絡從遠程機構接收用于啟用集成電路(IC)的功能性的命令,以及響應此命令而啟用IC的功能性。還描述了其它方法及設備。
文檔編號G06F21/00GK1768314SQ200480008877
公開日2006年5月3日 申請日期2004年2月19日 優(yōu)先權日2003年3月31日
發(fā)明者D·J·奧利弗 申請人:英特爾公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1