配置數據的處理裝置及方法
【專利摘要】一種配置數據的處理裝置及方法。該處理裝置用以提供配置數據給一微處理器,并包括至少一內核以及一保險絲陣列。內核設置在一晶粒上。保險絲陣列設置在晶粒上,并耦接內核。保險絲陣列包括多個第一半導體保險絲。第一半導體保險絲根據內核的壓縮配置數據而被編程。在啟動/重置操作下,內核存取并解壓縮壓縮配置數據,用以初始化至少該內核內的多個元件。
【專利說明】
配置數據的處理裝置及方法
【技術領域】
[0001]本發(fā)明涉及一種處理裝置,特別涉及一種提供配置數據給一微處理器的處理裝置及方法。
【背景技術】
[0002]集成電路的技術在過去40年內,以指數方式成長。特別是在微處理器領域中,由4位單指令、10微米裝置開始,半導體制造技術的成長讓設計者可提高復合式裝置內部的元件密度。在80及90年代的流水線式微處理器及超標量(純量)微處理器中,可將數百萬個晶體管設置在單一晶粒中。在隨后的20年中,出現了 64位的32納米裝置,其將數十億個晶體管設置在單一晶粒中,該晶粒具有多微處理器內核,用以處理數據。
[0003]在啟動或重置裝置時,這些早期的裝置需被配置數據所初始化。舉例而言,許多架構利用至少一可選擇的頻率和/或電壓,致能裝置。其它架構要求每一裝置需具有一序號以及其它可通過執(zhí)行指令而讀取的信息。另一些裝置內部的寄存器及控制電路需要初始化數據。當前述電路在制造時發(fā)生錯誤或是并未位于臨界限制中時,其它裝置利用配置數據執(zhí)行額外電路。
[0004]本領域技術人員均深知,設計者可利用傳統(tǒng)整合在晶粒上的半導體保險絲陣列存儲并提供初始配置數據。當部分保險絲陣列已制造完成時,可藉由熔斷所選擇到的保險絲,對這些保險絲陣列進行編程,并且保險絲陣列具有數千位的信息,在啟動/重置裝置時,便可讀取保險絲陣列,用以初始化及設定相對應裝置的操作。
[0005]當裝置的復雜性愈來愈高時,配置數據量會隨之增加。然而,本領域技術人員深知,雖然晶體管的尺寸隨半導體工藝而縮小,但整合在晶粒上的半導體保險絲的尺寸卻增力口。這個現象影響可使用空間以及功率損耗,因而成為設計者的問題。因此,若欲制造一大保險絲陣列在晶粒上時,晶??赡軣o法提供足夠的可使用空間。
[0006]另外,由于每一內核需要一定數量的保險絲,因此,若欲在單一晶粒上制造許多內核時,將使上述問題惡化。
[0007]因此,需要一裝置及方法使配置數據可被存儲并提供在一多內核裝置中,并且在單一晶粒中,不會占用太多的空間及消耗太多的電源。
[0008]另外,需要一保險絲陣列機制,用以在相同或更小的空間中,存儲并提供比傳統(tǒng)技術更多的配置數據。
【發(fā)明內容】
[0009]本發(fā)明利用一多內核裝置里的一保險絲陣列的壓縮配置數據,提供較佳的技術,用以解決上述問題并滿足其它問題及缺點以及已知的受限。在一可能實施例中,本發(fā)明提供一種處理裝置,用以提供配置數據給一微處理器,并包括至少一內核以及一保險絲陣列。內核設置在一晶粒上。保險絲陣列設置在晶粒上,并耦接內核。保險絲陣列包括多個第一半導體保險絲。第一半導體保險絲根據內核的壓縮配置數據而被編程。在啟動/重置操作下,內核存取并解壓縮壓縮配置數據,用以初始化至少該內核內的多個元件。
[0010]本發(fā)明還提供一種處理方法,用以提供一配置數據給一微處理器,并包括設置至少一內核在一晶粒上;設置一保險絲陣列在該晶粒上,并使該保險絲陣列耦接至少該內核,其中,該保險絲陣列具有多個第一半導體保險絲;根據至少該內核的壓縮配置數據編程所述第一半導體保險絲;以及在啟動/重置操作下,利用至少該內核存取并解壓縮該壓縮配置數據,用以初始化至少該內核內的多個元件。
[0011]對于工業(yè)應用,本發(fā)明可應用在微處理器中,其應用在一般或特殊用途的計算機裝置中。
[0012]為讓本發(fā)明的特征和優(yōu)點能更明顯易懂,下文特舉出優(yōu)選實施例,并配合附圖,作詳細說明如下:
【專利附圖】
【附圖說明】
[0013]圖1為已知具有一保險絲陣列的微處器內核的示意圖。
[0014]圖2為圖1的具有冗余保險絲組的微處器內核的示意圖。
[0015]圖3為根據本發(fā)明的提供壓縮及解壓縮配置數據給一多內核裝置的示意圖。
[0016]圖4為根據本發(fā)明的保險絲解解壓縮機制的一可能實施例。
[0017]圖5為本發(fā)明的壓縮配置數據的一可能格式示意圖。
[0018]圖6為本發(fā)明的解壓縮微碼插入配置數據的一可能格式示意圖。
[0019]圖7為本發(fā)明的解壓縮微碼寄存器配置數據的一可能格式示意圖。
[0020]圖8為本發(fā)明的解壓縮快取校正數據的一可能格式示意圖。
[0021]圖9為本發(fā)明的解壓縮保險絲校正數據的一可能格式示意圖。
[0022]圖10為本發(fā)明的具有可配置冗余保險絲陣列的多內核裝置的一可能實施例。
[0023]圖11為本發(fā)明的快速地載入配置數據至多內核裝置的機制示意圖。
[0024]圖12為本發(fā)明的錯誤確認校正機制的一可能實施例。
[0025]【符號說明】
[0026]100、200:方塊;101:微處器內核;102、201、336:保險絲陣列;103:重置邏輯;104:重置電路;105:重置微碼;107:控制電路;108:微碼寄存器;109:微碼插入元件:110:快取校正元件;RESET:重置信號;202、PFBl?PFBN、RFBl?RFBN:保險絲組;203:保險絲;210?211:寄存器;PR1:主要寄存器;RR1:冗余寄存器;212:異或邏輯門;FB3:輸出;310:裝置編程器;320:壓縮器;301、302:虛擬保險絲組;302:虛擬保險絲;330:晶粒;332,1002,1102:內核;334:快取存儲器;401、1001、1101、1201:物理級保險絲陣列;403:已壓縮的微碼插入保險絲;404:已壓縮的寄存器保險絲;405:已壓縮的快取校正保險縮;406:已壓縮的保險絲校正保險絲;408:插入保險絲元件;409:寄存器保險絲元件;410:快取保險絲元件;411:保險絲校正元件;412:總線;414:微碼插入元件;415:微碼寄存器;416:快取校正元件;417:重置控制器;420:微處器內核;421:解壓縮器;500:壓縮配置數據;502:壓縮數據欄位;503:結束類型欄位;504:結束熔斷欄位;600:解壓縮微碼插入配置數據;601:內核地址欄位;602:微碼ROM地址欄位;603:微碼插入數據欄位;604:解壓縮數據方塊;700:解壓縮微碼寄存器配置數據;701:內核地址欄位;702:微碼寄存器地址欄位;703:微碼寄存器數據欄位;704:解壓縮數據方塊;800:解壓縮快取校正數據;802:次單元行地址欄位;803:替換行地址欄位;804:解壓縮數據方塊;900:解壓縮保險絲校正數據;901:結束熔斷欄位;902:重熔欄位;903:保險絲校正欄位;1000:多內核裝置;1003、1103:陣列控制;1004:配置數據寄存器;1100:裝置;1104:載入數據寄存器;1101:物理級保險絲陣列;1105:非內核RAM ;1200:錯誤確認校正機制;1202:ECC碼方塊;1203:壓縮配置數據方塊;1224 =ECC元件;1226:解壓縮器;1220:微處理器內核;1222:重置控制器;CDATA:總線;ADDR:地址總線;CODE:碼總線;DATA:數據總線。
【具體實施方式】
[0027]集成電路(IC)是指一電子電路集合形成在一小尺寸的半導體材料上,如硅。集成電路也可稱為芯片、微芯片或晶粒。
[0028]中央處理單元(CPU)是指電子電路(即硬件)藉由執(zhí)行一數據的操作,執(zhí)行一計算機程序(即為計算機應用程序或應用程序)的指令,該數據的操作包括算術操作、邏輯操作及輸入/輸出操作。
[0029]微處理器是指一電子裝置作為一單一集成電路上的一中央處理單元。一微處理器接收數字數據,作為輸入,根據一存儲器的指令處理數據,并產生輸出指令所要求的操作結果,其中存儲器設置或不設置在晶粒上。一通用微處理器可應用在桌上型、可攜帶型或平板電路中,并且可計算、文字處理、多媒體顯示以及網絡瀏覽。一微處理器可能設置在一嵌入式系統(tǒng)中,用以控制許多裝置,包括設備、移動電話、智能手機以及工業(yè)用控制裝置。
[0030]多內核處理器也稱為多內核微處理器、多內核處理器為一微處理器,其具有多中央處單元(內核),其形成在同一集成電路上。
[0031]指令集架構(ISA)或指令集是指用以編程的一計算機架構的部分,其包括數據類型、指令、寄存器、地址模式、存儲器架構、中斷及異常處理與輸入/輸出。一 ISA包括操作碼集合的特性(即機器語言指令)以及一特定CPU所使用的本地命令。
[0032]x86相容微處理器是指一具有執(zhí)行計算機應用程序的微處理器,根據X86ISA便可編程計算機應用程序。
[0033]微碼是指多個微指令。一微指令(也稱為本地指令)為一指令,其可由一微處理器次運算單元所執(zhí)行。在一可能實施例中,次單元包括整數運算單元、浮點運算單元、MMX運算單元以及載入/存儲運算單元。舉例而言,藉由精簡指令集(RISC)直接執(zhí)行微指令。對于多個指令集(CISC)微處理器(如x86相容性微處理器)而言,x86指令被轉譯成組合微指令,并且藉由CISC的微處理器直接執(zhí)行組合微指令。
[0034]保險絲為一導體結構,一般為細線,藉由施加電壓至細線上和/或使電流流過細線,便可熔斷細線。利用已知的制造技術,將保險絲沉積在一晶粒拓樸的一特定位置,用以制造出可編程的細線。在制造完成后,熔斷(或不熔斷)保險絲,用以提供晶粒上的一相對應裝置的編程。
[0035]請參考圖1,方塊100為目前微處器內核101的示意圖。微處器內核101具有一保險絲陣列102,用以提供配置數據給微處器內核101。保險絲陣列102具有多個半導體保險絲(未顯示)。半導體保險絲一般是成列排列。保險絲陣列102耦接重置邏輯103。重置邏輯103包括重置電路104及重置微碼105。重置邏輯103耦接控制電路107、微碼寄存器108、微碼插入元件109以及快取校正元件110。一外部重置信號RESET耦接微處器內核101。重置邏輯103接收外部重置信號RESET。
[0036]本領域的技術人員均深知,在集成電路裝置制造完后,大量的集成電路裝置使用保險絲(也稱為連結或保險絲結構),用以提供集成電路的配置。舉例而言,圖1的微處器內核101提供功能選擇,用以選擇是應用在桌上型裝置或便攜式裝置中。因此,在制造時,保險絲陣列102里的保險絲可能會被燒斷,用以選擇裝置,如一便攜式裝置。因此,當重置信號RESET被致能后,重置邏輯103讀取保險絲陣列102里被指定的保險絲的狀態(tài),并且重置電路104 (在此例中,不是重置微碼105)致能相對應的控制電路107??刂齐娐?07禁能微處器內核101中與桌上型功能有關的元件,并致能微處器內核101中與便攜式功能有關的元件。因此,微處器內核101被啟動,并被重置成一便攜式裝置。另外,重置邏輯103讀取保險絲陣列102里的其它保險絲的狀態(tài),并且重置電路104 (在此例中,不是重置微碼105)致能相對應的快取校正元件110,用以對給微處器內核101的至少一快取存儲器(未顯示)提供校正機制。因此,微處器內核101被啟動,并被重置成一便攜式裝置,并且微處器內核101的快取存儲器的校正機制也被設置妥當。
[0037]上述的例子僅僅是在描述圖1的微處器內核101里的保險絲的許多不同用途。本領域的技術人員均深知保險絲的其它用途,并不限制在裝置特定數據的配置(如序號、唯一的加密碼、計算機內部結構的授權數據,其可被使用者存取、速度設定、電壓設定),初始化數據及插入數據。舉例而言,許多目前的裝置執(zhí)行微碼,用以初始化微碼寄存器108。保險絲陣列102里的微碼寄存器保險絲(未顯示)可能提供用以初始化的數據,在重置操作下,藉由重置邏輯103 (重置電路104或重置微碼105,或重置電路104及重置微碼105)讀取初始化的數據,并將讀取到的初始化數據提供給微碼寄存器108。為了達到上述目的,重置電路104包括硬件元件,其提供特定類型的配置數據,重置微碼105無法提供這些特定類型的配置數據。重置微碼105包括多個微指令,所述微指令設置在一內部微碼存儲器(未顯示)中。在重置微處器內核101時,執(zhí)行內部微碼存儲器,用以執(zhí)行微處器內核101的初始化功能,這些功能包括,讀取保險絲陣列102里的配置數據,并將讀取結果提供給多個元件,如微碼寄存器108及微代碼插入機制109。微處器內核101的一特殊設置就是判斷保險絲陣列的配置數據是否通過重置微碼105提供給微處器內核101的不同元件107?110中。本發(fā)明的目的并非個別地初始化集成電路裝置,本領域的技術人員均深知目前的微處器內核101的配置元件107-110的種類通常落在四種類型中,以圖1為例,即為控制電路、微碼寄存器、微碼插入機制以及快取校正機制。另外,本領域的技術人員將可知,配置數據的值很明顯是根據數據的類型而改變。例如,一 64位的控制電路107可能包括ASCII數據,ASCII數據用以指定微處器內核101的序號。其它64位的控制寄存器可能具有64種不同的速度設定,每次只有一種速度設定會被致能,用以控制微處器內核101的操作速度。一般而言,微碼寄存器108可能會被初始化成全為O (即低邏輯狀態(tài))或全為I (如高邏輯狀態(tài))。微代碼插入機制109可能包括均勻分布的I及0,用以表示一微碼ROM(未顯示)中需要被置換的微碼值的地址,這些地址的微碼值將被置換。最后,快取校正機制可能包含很少的設定值1,用以表示一某一快取次組(sub-bank)元件(即一列或一行)需被替換成一特定取代次組元件。
[0038]保險絲陣列102提供一優(yōu)秀的功能,用以在一裝置(如微處器內核101)制造完成后,設定微處器內核101。藉由熔斷保險絲陣列102里的某些保險絲,就可使微處器內核101操作在相對應的環(huán)境中。然而,本領域的技術人員均深知,藉由編程保險絲陣列102,便可改變微處器內核101的操作環(huán)境。微處器內核101可能因業(yè)務需求而被初始化,如由一桌上型裝置被初始化成一便攜式裝置。因此,設計者可設置冗余保險絲在保險絲陣列102中,作為不熔斷保險絲,因此,便可初始化微處器內核101的配置、校正制造錯誤…等等。具有冗余保險絲的保險絲陣列將敘明于圖2中。
[0039]請參考圖2,方塊200顯示微處器內核101里的一保險絲陣列201,其具有保險絲組202 (冗余保險絲組RFBl?RFBN與第一保險絲PFBl?PFBN)。保險絲陣列201里的第一保險絲組PFBl?PFBN會先被熔斷,然后再熔斷冗余保險絲組RFBl?RFBN。冗余保險絲組RFBl?RFBN及PFBl?PFBN包括一既定的數量的保險絲203,并且保險絲203各自獨立,保險絲203的數量與微處器內核101的特定設計有關。舉例而言,在64位的微處器內核101中,保險絲組202的保險絲203數量可能是64個,用以便于微處器內核101使用配置數據。
[0040]保險絲陣列201耦接寄存器210?211。一般而言,寄存器210?211設置在微處器內核101的重置邏輯中。主要寄存器PRl用以讀取第一保險絲組PFBl?PFBN中的一個(假設是方塊圖200里的保險絲組PFB3)。冗余寄存器RRl用以讀取冗余保險絲組RFBl?RFBN中的一個。寄存器210與211均耦接一異或邏輯門212。異或邏輯門212提供一輸出FB3。
[0041]在操作中,在制造出微處器內核101之后,可藉由已知的技術編程第一保險絲組PFBl?PFBN,使其成為微處器內核101可使用的配置數據。冗余保險絲組RFBl?RFBN均未被熔斷,并且維持在一低邏輯狀態(tài)。在啟動/重置微處器內核101時,主要寄存器210以及冗余寄存器211分別讀取第一保險絲組PFBl?PFBN及冗余保險絲組RFBl?RFBN的狀態(tài)。異或(Exclusive OR,又稱之為“互斥或”)邏輯門212對寄存器210及211所存儲的數據進行異或運算,用以產生輸出FB3。由于所有的冗余保險絲組均未被熔斷(即均為低邏輯狀態(tài)),因此,輸出FB3的值很簡單,就是制造后,第一保險絲組PFBl?PFBN被編程的結果O
[0042]目前,因設計或業(yè)務需求,要求寫入至第一保險絲組PFBl?PFBN的信息可被更改。因此,為了改變啟動后所讀取到的信息,必須執(zhí)行一可編程操作,用以熔斷冗余保險絲組RFBl?RFBN里的對應冗余保險絲203。在熔斷所選擇的冗余保險絲組RFBl?RFBN里的一保險絲203時,第一保險絲組PFBl?PFBN里的一相對應保險絲203邏輯性地與其相配。
[0043]圖2的機制可能在微處器內核101中,提供重熔的保險絲203,但是本領域技術人員所深知,由于只有一組冗余保險絲組RFBl?RFBN,因此,冗余保險絲組RFBl?RFBN里的每保險絲203只能被重熔一次,為了提供多次的重熔,可在微處器內核101中加入多組額外保險絲組202及寄存器210?211。
[0044]截止目前為止,圖1及圖2的保險絲陣列機制提供足夠的彈性給微處理器內核及其它相關的裝置,用以允許有限次數的重熔。制造技術(如65及45納米工藝)可在晶粒上形成足夠的保險絲,用以設定晶粒上的一微處器內核101。然而,目前的技術仍受限制于兩個明顯的因素。第一個因素是,本領域的趨勢是形成多個微處器內核101在同一晶粒中,用以增加處理效能。這些稱為多內核裝置可能具有2-16個獨立內核101,為了開啟/重置內核101,每一內核配置有保險絲數據。因此,對于4內核裝置而言,4個保險絲陣列201會被使用獨立的內核中,每一內核的數據可能不同(如快取校正數據、冗余保險絲數據等)。第二是,本領域技術人員均深知,制造技術的降低(如32納米),因此,晶體管的尺寸也降低,故保險絲的尺寸增加,故需在32納米的晶粒上實現45納米的保險絲陣列。
[0045]根據上述的限制以及裝置設計者的其它挑戰(zhàn),特別是多內核裝置的設計者,本發(fā)明提供明顯的改善,優(yōu)于已知裝置配置機制,本發(fā)明在多內核裝置中編程獨立的內核,并增加快取校正及保險絲再編程(重熔)的次數。稍后將通過圖3-圖12說明本發(fā)明。
[0046]圖3為本發(fā)明的系統(tǒng)300的示意圖,用以壓縮并解壓縮多內核裝置的配置數據。多內核裝置具有多內核332。內核332設置在一晶粒330上。為方便說明,圖3僅顯示內核COREl?C0RE4。內核COREl?C0RE4設置在晶粒330上。在其它實施例中,晶粒330可能具有其它數量的內核332。在本實施例中,所有內核332共用單一快取存儲器334??烊〈鎯ζ?34也設置在晶粒330之上。單一可編程保險絲陣列336也設置在晶粒330上,并且在啟動/重置操作下,每一內核332用以存取保險絲陣列336,用以提取并解壓縮配置數據。
[0047]在一實施例中,內核332包括微處理器內核,用以構成一多內核微處理器(晶粒)330。在其它實施例中,多內核微處理器330作為x86相容多內核微處理器。在其它實施例,快取存儲器334包括二級(leVel2)快取存儲器,其耦接微處理器內核332。在一可能實施例中,保險絲陣列336具有8192(8K)個各自獨立的保險絲(未顯示),但也可使用其它數量的保險絲。在單一內核的實施例中,只有一內核332設置在晶粒330之上,并且該內核332耦接快取存儲器334及保險絲陣列336。雖然稍后將說明多內核裝置(晶粒)330的特征及功能,但多內核裝置的特征與單一內核的特征相同。
[0048]系統(tǒng)300也包括一裝置編程器310。裝置編程器310包括一壓縮器320。壓縮器320耦接虛擬保險絲陣列303。在一可能實施例中,裝置編程器310可能包括一中央處理器(未顯示),用以處理配置數據,并在晶粒330制造完成后,利用已知的編程技術,編程保險絲陣列336。中央處理器可能整合在一晶圓測試設備中,用以測試制造完成后的裝置晶粒330。在一可能實施例中,壓縮器320可能具有一應用程序,其可在裝置編程器310上被執(zhí)行,并且虛擬保險絲陣列303可能包括一存儲器的地址,該存儲器由壓縮器320所存取。虛擬保險絲陣列303具有許多虛擬保險絲組301。每一虛擬保險絲組301具有多個虛擬保險絲302。在一可能實施例中,虛擬保險絲陣列303具有128個虛擬保險絲組301,每一虛擬保險絲組301具有64個虛擬保險絲302,因此,保險絲陣列303的尺寸為8Kb。
[0049]操作上,如同圖1所示,在制造階段中,裝置330的配置信息會被輸入至虛擬保險絲陣列330中。因此,配置信息包括控制電路的配置數據、微碼寄存器的初始化數據、微碼插入數據以及快取校正數據。另外,如上所述,不同類型的配置數據的值均不相同。虛擬保險絲陣列303為一保險絲陣列(未顯示)的邏輯代表,其具有晶粒330上的每一微處理器內核332的配置信息,以及晶粒330上的每一快取存儲器334的校正數據。
[0050]當信息存入虛擬保險絲陣列303后,壓縮器320讀取每一虛擬保險絲組301的虛擬保險絲302的狀態(tài),并利用每一數據類型所對應的分離壓縮算法(distinct compress1nalgorithms)進行壓縮,用以產生壓縮保險絲陣列數據。在一可能實施例中,控制電路的系統(tǒng)數據并不會被壓縮,但會在沒有壓縮的情況下被轉換。為了壓縮微碼寄存器數據,可使用一微碼寄存器數據壓縮算法,用以壓縮具有一狀態(tài)分布的數據,該狀態(tài)分布相對于微碼寄存器數據。為了壓縮微碼插入數據,可使用一微碼插入數據壓縮算法,用以有效地壓縮具有一狀態(tài)分布的數據,該狀態(tài)分布對應于微碼插入數據。為了壓縮快取校正數據,可使用一快取校正數據壓縮算法,用以有效地壓縮具有一狀態(tài)分布的數據,該狀態(tài)分布對應于快取校正數據。
[0051]接著,裝置編程器310將未被壓縮及已被壓縮的保險絲陣列數據編程至晶粒330上的物理級保險絲陣列336。
[0052]在啟動/重置操作時,每一內核332可能存取物理級保險絲陣列336,用以提取未壓縮及已壓縮的保險絲陣列數據,并且在每一內核332內的重置電路/微碼(未顯示)發(fā)布未壓縮保險絲陣列數據,并根據每一數據類型所對應的分離解壓縮算法,解壓縮已壓縮的保險絲陣列數據,用以提供原本在虛擬保險絲陣列303里的原始值。然后,重置電路/微碼將配置信息提供給控制電路(未顯示)、微碼寄存器(未顯示)、插入元件(未顯示)以及快取校正元件(未顯示)。
[0053]藉由本發(fā)明的保險絲陣列壓縮系統(tǒng)300,可使得裝置設計者減少物理級保險絲陣列336里的保險絲數量,并且在啟動/重置操作中,利用已壓縮的信息程序,對一多內核裝置330進行設定。
[0054]請參考圖4,方塊400顯示本發(fā)明的保險絲解解壓縮機制。解壓縮機制可能設置在圖3的每一微處理器內核332中。為了清楚敘明本發(fā)明,圖4僅顯示單一內核420,但圖3的晶粒上的每一內核332均具有圖4的內核420的元件。物理級保險絲陣列401設置在晶粒上,并且耦接內核420。物理級保險絲陣列401具有已壓縮的微碼插入保險絲403、已壓縮的寄存器保險絲404、已壓縮的快取校正保險絲405以及已壓縮的保險絲校正保險絲406。物理級保險絲陣列401可能也具有未壓縮的配置數據(未顯示),如上述的系統(tǒng)配置數據和/或錯誤檢測及校正(Error Checking and Correct1n ;以下簡稱ECC)碼(未顯示)。稍后將說明根據本發(fā)明的ECC特征。
[0055]微處器內核420包括一重置控制器417。重置控制器417接收一重置信號REST,重置信號REST用以初始化內核420,使內核420進行一重置步驟。重置控制器417具有一解壓縮器421。解壓縮器421具有一插入保險絲元件408、一寄存器保險絲元件409以及一快取保險絲元件410。解壓縮器421也包括一保險絲校正元件411,其通過總線412耦接插入保險絲元件408、寄存器保險絲元件409以及快取保險絲元件410。插入保險絲元件408耦接內核420內的微碼插入元件414。寄存器保險絲元件409耦接內核420里的微碼寄存器415??烊”kU絲元件410耦接內核420內的快取校正元件416。在一可能實施例中,快取校正元件416設置在具有二級(L2)快取存儲器(未顯示)的晶粒上。所有內核420共用快取校正元件416,如圖3的快取存儲器334。在另一實施例中,快取校正元件416設置在具有一級(LI)快取存儲器(未顯示)的晶粒上。在其它實施例中,快取校正元件416設置在具有一級(LI)及二級(L2)快取存儲器(未顯示)的晶粒上。
[0056]在操作時,當重置信號RESET被致能時,重置控制器417讀取物理級保險絲陣列401里的保險絲403?406的狀態(tài),并將已壓縮系統(tǒng)保險絲(未顯示)的狀態(tài)提供給解壓縮器421。在讀取并提供完成后,解壓縮器421里的保險絲校正元件411解壓縮已壓縮的保險絲校正保險絲406的狀態(tài),用以提供數據,該數據表示物理級保險絲陣列401的至少一保險絲地址,先前已被編程的這狀態(tài)會被改變。解壓縮后的數據可能包含至少一保險絲地址的值。此至少一保險絲地址(及隨意值)會通過總線412傳送至元件408?410,使得相對應的保險絲的狀態(tài)在被解壓縮前就被改變。
[0057]在一可能實施例中,插入保險絲元件408包括微碼,用以根據一微碼插入解壓縮算法,解壓縮已被壓縮的微碼插入保險絲403的狀態(tài),微碼插入解壓縮算法對應于圖3所述的微碼插入壓縮算法。在一可能實施例中,寄存器保險絲元件409包括微碼,用以根據一寄存器保險絲解壓縮算法,解壓縮已壓縮的寄存器保險絲404,寄存器保險絲解壓縮算法對應于圖3所述的寄存器保險絲壓縮算法。在一可能實施例中,快取保險絲元件410包括微碼,用以根據一快取校正保險絲解壓縮算法,解壓縮已壓縮的快取校正保險絲405,快取校正保險絲解壓縮算法對應于圖3所述的快取校正保險絲壓縮算法。保險絲校正元件411通過總線412提供保險絲的地址,元件408?410的每一個根據這些地址改變相對應的保險絲的狀態(tài)后,再根據相對應的算法,解壓縮保險絲各自的數據。稍后將詳細說明本發(fā)明所述的多次重熔保險絲,重熔的步驟早于元件408?411的解壓縮動作的初始化。在一可能實施例中,總線412可能包括已知的微碼程序機制,用以傳送數據。本發(fā)明還具有一綜合解壓器421,其可根據配置數據的類型,辨別并解壓縮配置數據。因此,為了說明本發(fā)明,解壓縮器421僅具有元件408?411,然而,只要縮合解壓器421可提供元件408?411的功能,本發(fā)明可能不需要元件408?411。
[0058]在一可能實施例中,重置控制器417初始化插入保險絲元件408的微碼,用以對已壓縮的微碼插入保險絲403進行解壓縮。重置控制器417也初始化寄存器保險絲元件409的微碼,用以對已壓縮的寄存器保險絲404的狀態(tài)進行解壓縮。再者,重置控制器417更初始化快取保險絲元件410的微碼,用以對已壓縮的快取校正保險絲405進行解壓縮。在進行解壓縮前,解壓縮器421的微碼會先改變某些保險絲的狀態(tài),其中這些被改變的保險絲為已壓縮的保險絲校正保險絲406的保險絲校正數據所指定的保險絲。
[0059]重置控制器417、解壓縮器421及元件408?411用以執(zhí)行上述的功能。重置控制器417、解壓縮器421及元件408?411可能包括邏輯、電路、裝置或微碼、或邏輯、電路、裝置或微碼的組合、或等效元件,其可執(zhí)行上述功能及操作。這些用以實現重置控制器417、解壓縮器421及元件408?411的元件可能被其它電路、微碼…等所共用,其可執(zhí)行重置控制器417、解壓縮器421及元件408?411或內核420里的其它元件的其它功能和/或操作。
[0060]在改變及解壓縮物理級保險絲陣列401內的保險絲403?406的狀態(tài)后,解壓縮后的虛擬保險絲的狀態(tài)會被提供給微碼插入元件414、微碼寄存器415以及快取校正元件416。因此,內核420進行接下來的重置操作。
[0061]在其它實施例中,在進行重置操作時,上述的解壓縮功能并不需依照一特別的順序而被執(zhí)行。舉例而言,微碼插入數據的解壓縮動作可能在微碼寄存器初始化數據的解壓縮動作之后。同樣地,在其它實施例中,為了滿足設計需求,解壓縮功能可能同時進行。
[0062]另外,本發(fā)明的元件408?411的實現并非一定要用硬件電路所對應的微代碼,由于在一般的微處理器內核420中,其具有一些元件,這些元件可更加輕易地通過硬件被初始化(如與一快取相關的一掃描鏈),而不同于直接寫入微碼。這些的實現細節(jié)由設計者自行決定。然而,在初始化微碼之前的重置操作中,已知技術利用硬件電路,使快取校正保險絲按慣例被讀取并進入一快取校正掃描鏈。除非微碼開始動作,不然內核的快取存儲器并不會被導通,因此,本發(fā)明的特征是利用相對應硬件控制電路的微碼,執(zhí)行快取保險絲解壓縮器410。利用微碼執(zhí)行快取保險絲元件410,便可將快取校正數據寫入一掃描鏈中,并且很明顯節(jié)省硬件元件,因而增加設計彈性及有益的機制。
[0063]請參考圖5,其顯示本發(fā)明的壓縮配置數據500的格式。圖3的壓縮器320壓縮虛擬保險絲陣列330的數據,并編程(即熔斷)壓縮配置數據500至多內核裝置330的物理級保險絲陣列336中。在上述的重置結果中,藉由每一內核332,壓縮配置數據500會從物理級保險絲陣列336中被提取,并且被解壓縮,并被每一內核420的解壓縮器421的元件408?411所校正。解壓縮及校正配置數據會接著被提供給內核420的多元件414?416,用以初始化內核420。
[0064]壓縮配置數據500具有至少一壓縮數據欄位(D) 502,而上述的每一配置數據類型由結束類型欄位(ET)503所分隔。編程事件(即熔斷)會被結束熔斷欄位(EB)504所分隔。根據一壓縮算法,編碼與每一數據類型有關的壓縮數據欄位502,用以最小化位(即保險絲)數量,這些位用以存儲與每一數據類型有關的特征位圖案。構成每一壓縮數據欄位502的物理級保險絲陣列336的保險絲數量為一特定數據類型所使用的壓縮算法的特征。舉例而言,考慮到一內核具有64位微碼寄存器時,其必須全被初始化成O或I。一最佳縮壓算法可能根據數據類型,提供64個壓縮數據欄位502,每一壓縮數據欄位502具有一特定微碼寄存器的初始化數據,壓縮數據欄位502被指定在寄存器數量順序中(即1-64)。并且每一壓縮數據欄位502具有一單一保險絲,若一相對應的微碼寄存器需被初始化成I時,該單一保險絲被熔斷,若相對應的微碼寄存器需被初始化成O時,該單一保險絲不被熔斷。
[0065]在初始編程事件后,內核420里的解壓縮器421的元件408?410利用結束類型欄位503判斷是否它們各自的壓縮數據已被置于物理級保險絲陣列336中,并且保險絲校正解壓縮器411利用結束熔斷保險絲504,找出壓縮保險絲校正數據,壓縮保險絲校正數據在一初始化程序事件后,已被編程(即熔斷)。針對隨后進行的多編程事件,本發(fā)明在物理級保險絲陣列336中設置了大量的備用保險絲,以下將詳細說明。
[0066]上述的壓縮類型格式用以說明本發(fā)明的配置數據的壓縮及解壓縮。然而,圖5所示的特定類型數據的壓縮、分隔及被壓縮至保險絲陣列401里的數據類型與數量并非用以限制本發(fā)明。在其它實施例中,可利用其它的數量、類型與格式修改本發(fā)明,以得到不同的裝置及算法。
[0067]請參考圖6,圖6顯示根據本發(fā)明的解壓縮微碼插入配置數據600的一可能格式。在重置操作下,利用每一內核420讀取物理級保險絲陣列401里的壓縮微碼插入配置數據。然后,根據總線412所提供的保險絲校正數據,校正壓縮微碼插入配置數據。然后,藉由插入保險絲解壓縮器408對已校正的壓縮微碼插入配置數據進行解壓縮。解壓縮程序的結果為解壓縮微碼插入配置數據600。數據600包括多個解壓縮數據方塊604。解壓縮數據方塊604的數量對應于內核420里需初始化數據的微碼插入元件414的數量。每一解壓縮數據方塊604包括一內核地址欄位601、一微碼存儲器(ROM)地址欄位602以及一微碼插入數據欄位603。欄位601?603的長度為內核算法的特征。在進行部分的解壓縮程序時,插入保險絲元件408提供的目標數據的完整影像,其用以初始化微碼插入元件414。在隨后的微碼插入配置數據600的解壓縮中,可能使用已知的發(fā)布機制,用以發(fā)布數據603給各自的地址內核以及微碼插入元件414里的微碼ROM替代電路/寄存器。
[0068]請參考圖7,圖7顯示根據本發(fā)明的解壓縮微碼寄存器配置數據700的格式。在重置操作中,藉由每一內核420,讀取物理級保險絲陣列401里的壓縮微碼寄存器配置數據。然后根據總線412所提供的保險絲校正數據校正壓縮微碼寄存器配置數據。然后,寄存器保險絲元件409對校正后的壓縮微碼寄存器配置數據進行解壓縮。解壓縮程序的結果為解壓縮微碼寄存器配置數據700。數據700包括多個解壓縮數據方塊704,解壓縮數據方塊704的數量對應內核420里需要初始數據的微碼寄存器415的數量。每一解壓縮數據方塊704具有一內核地址欄位701、一微碼寄存器地址欄位702以及一微碼寄存器數據欄位703。欄位701?703的長度為內核算法的特征。在進行部分的解壓縮程序時,寄存器保險絲元件提供目標數據的完整影像,用以初始化微碼寄存器415。在隨后的微碼寄存器配置數據700的解壓縮中,可能使用已知的發(fā)布機制,用以發(fā)布數據703給各自的地址內核以及微碼寄存器415。
[0069]請參考圖8,圖8顯示根據本發(fā)明的解壓縮快取校正數據800的一可能格式。在重置操作中,藉由每一內核420讀取物理級保險絲陣列401的壓縮快取校正數據。然后,根據總線412所提供的保險絲校正數據校正壓縮快取校正數據。接著,利用快取保險絲元件410解壓縮校正壓縮快取校正數據。解壓縮程序的結果為解壓縮快取校正數據800。多內核處理器300使用不同的快取機制,并且解壓縮快取校正數據800存在共用的二級快取存儲器334中。所有內核332可能存取同一快取存儲器334,用以使用相同的存儲空間。因此,圖8所示的格式是根據上述的算法。數據800包括多個解壓縮數據方塊804,解壓縮數據方塊804的數量對應內核420里需要校正數據的快取校正元件416的數量。每一解壓縮數據方塊804具有一次單元行地址欄位802以及一替換行地址欄位803。本領域技術人員均深知,在制造快取存儲器時,會在快取存儲器的次單元中,一并形成冗余的行(或列),用以利用一非功能性行(或列)取代一特定次單元里的功能性冗余行(或列)。因此,解壓縮快取校正數據800允許非功能性行取代功能性行(如圖8所示)。另外,本領域技術人員均深知,當需要利用冗余次單元行進行取代時,已知具有快取校正的保險絲陣列機制的每一次單元行的保險絲會被熔斷。因此,由于需要大量的保險絲(用以存取所有的次單元及行),故只能含括一部分的次單元,因而造成已知快取校正保險絲很少被熔斷。本發(fā)明的特征在于存取并且壓縮次單元行的地址,并且針對需要被替換的次單元行替換行地址。因此,最小化被應用在快取校正數據的保險絲數量。因此,在物理級保險絲陣列的尺寸以及額外被編程的配置數據量的限制下,本發(fā)明延伸快取存儲器334的次單元行(或列)的數量,快取存儲器334可被校正。在圖8所示的實施例中,相關聯的內核332共用二級快取存儲器334,用以存取并提供校正數據802?803給各自的快取校正元件416。欄位801?803的長度為內核算法的特征。在解壓縮程序的部分中,快取校正保險絲元件410提供目標數據的完整影像,目標數據用以初始化快取校正元件416。解壓縮快取校正數據800后,在負責的內核420內的已知發(fā)布機制可能發(fā)布數據802?803給被存取的快取校正元件416。
[0070]請參考圖9,圖9顯示本發(fā)明的解壓縮保險絲校正數據900的一可能格式。如上所述,在重置時,保險絲校正元件411存取物理級保險絲陣列401里的壓縮保險絲校正數據406,對壓縮保險絲校正數據進行解壓縮,并且提供解壓縮保險絲校正數據900給內核420的其它元件408?410。解壓縮保險絲校正數據具有至少一結束熔斷欄位(EB)901,其表示在物理級保險絲陣列401里的編程事件已成功結束。若隨后生一編程事件時,一重熔欄位(R)902會被編程,用以表示隨后的至少一保險絲校正欄位(FC) 903,其表示物理級保險絲陣401里的保險絲會再次被熔斷。每一保險絲校正欄位具有物理級保險絲陣列401里的特定保險絲的地址,特定保險絲會再次被設定成一狀態(tài)(即熔斷或不熔斷)。只有保險絲校正方塊欄位903里的保險絲會再次被設定,并且每一再次設定事件的欄位903會被一結束熔斷欄位901所隔開。若重熔欄位902成功地被編碼在一特定結束熔斷欄位901后,根據相對應的保險絲校正欄位,隨后至少保險絲可能會被再次熔斷。因此,在限定的保險絲陣列尺寸及陣列所能提供的數據中,本發(fā)明可對相同的保險絲進行多次的設定。
[0071]對于一多內核晶粒上的額外特征,本發(fā)明共用具有已壓縮配置數據的物理級保險絲陣列,便可具有實際特性以及電源增益。另外,本領域的技術人員均深知目前的半導體保險絲結構常常具有一些缺點,其中一項就是“長回”(growback)。長回就是編程程序的顛倒,如一保險絲在熔斷一段時間后,又恢復連接,也就是從一編程狀態(tài)(即熔斷)回到一未編程狀態(tài)(即未熔斷)。
[0072]為了控制長回以及其它挑戰(zhàn),本發(fā)明具有許多優(yōu)點,其中一項就是提供冗余、未配置的物理級保險絲陣列。因此,圖11提供一可配置的冗余保險絲組機制。
[0073]請參考圖10,圖10顯示根據本發(fā)明的多內核裝置1000的物理級保險絲陣列1001的一可能實施例。多內核裝置1000包括多個內核1002,其特征已公開在圖3-圖10及相關說明中。另外,每一內核1002包括陣列控制1003,其根據配置數據寄存器1004里的配置數據而被編程。每一陣列控制1003耦接冗余保險絲陣列1001。
[0074]為了說明本發(fā)明,圖10僅顯示四個內核1002以及兩個物理級保險絲陣列1001,但并非用以限制本發(fā)明,在其它實施例中,根據本發(fā)明的公開,也可使用其它數量的內核1002及物理級保險絲陣列1001。
[0075]在操作時,每一物理級保險絲陣列1001接收配置數據寄存器1004里的配置數據,其表示物理級保險絲陣列1001的一特定配置。在一實施例中,根據配置數據的值,物理級保險絲陣列1001作為一聚集物理級保險絲陣列。聚集物理級保險絲陣列的尺寸等于各自的物理級保險絲陣列1001的尺寸總和,并且聚集物理級保險絲陣列可能用以存儲接下來的多筆配置數據,其所存儲的數據量大于單一物理級保險絲陣列1001所存儲的數據量。因此,陣列控制1003控制相對應的內核1002,用以讀取物理級保險絲陣列1001,如一聚集物理級保險絲陣列。在其它實施例中,為了控制長回,物理級保險絲陣列1001根據配置數據的值,作為冗余保險絲陣列,其利用相同的配置數據而被編程,并且每一內核1002里的陣列控制1003具有許多元件,用以對兩個(或更多)陣列的內容進行OR邏輯,因此,若陣列1001的至少一熔斷保險絲發(fā)生長回時,陣列1001里的至少另一相對應保險絲仍維持熔斷狀態(tài)。在一自動防故障實施例中,根據配置數據的值,選擇性地禁能至少一物理級保險絲陣列1001,并且致能剩余的陣列1001,用以作為一聚集配置或是一 OR邏輯配置。因此,每一內核1002里的陣列控制1003根據配置數據寄存器1004里的一特定配置數據,不存取被禁能的陣列1001的內容,但存取被致能的冗余陣列。
[0076]藉由任意已知具有可編程保險絲的裝置、外部引腳設定、JTAG程序或其它相似裝置,便可編程配置數據寄存器1004。
[0077]另一實施例中,本發(fā)明發(fā)現當至少一物理級保險絲陣列被設置在具有多內核的單一晶粒上時,在內核存取陣列時,可能會發(fā)生問題。具體而言,在啟動/重置操作下,多內核處理器里的每一內核必須根據一串行方向,讀取物理級保險絲陣列。首先,第一內核讀取陣列,然后第二內核讀取陣列,接著第三內核讀取陣列,以此類推。本領域的技術人員均深知,相較于內核所執(zhí)行的其它操作,保險絲陣列的讀取是最花費時間,因此,當許多內核必需讀取相同陣列時,所需要的時間大致上是一內核的讀取時間乘上晶粒上的內核數量。本領域技術人員均深知,為了得到可靠的結果,必需讀取這些保險絲,但根據制造過程,半導體保險絲的讀取次數及壽命影響將會影響半導體保險絲的質量。因此,在其它實施例中,本發(fā)明降低所述內核讀取物理級保險絲陣列的時間,并在啟動及重置操作中藉由降低多內核處理器的內核的存取數量,用以增加保絲陣列的壽命。
[0078]請參考圖11,其顯示根據本發(fā)明快速地將配置數據載入多內核裝置1100的機制示意圖。裝置1100具有多個內核1102,其特性如圖3-圖10的相關說明所述。另外,每一內核1102具有陣列控制1103,其被一載入數據寄存器1104的載入數據所編程。每一內核1102耦接一物理級保險絲1101,其特征如圖3-圖10的相關說明所述。每一內核1102耦接隨機存取存儲器(RAM) 1105,其與內核1102設置在相同的晶粒之上,但不能設置在內核1102之中。因此,RAM1105稱為非內核RAM1105。
[0079]為方便說明,圖11僅顯示四內核1102以及一物理級保險絲陣列1101,但并非用以限制本發(fā)明,在其它實施例中,可延伸成任意數量的內核1101以及多個物理級保險絲陣列1101。
[0080]在操作時,每一內核接收載入數據寄存器1104的載入數據,其代表相對于物理級保險絲陣列1101的一特定載入數據。載入數據寄存器1104的內容值指定一內核1102為主內核1102,而其它剩余內核稱為次內核1102,其具有載入順序。因此,在啟動/重置操作下,陣列控制1103令主內核1102讀取物理級保險絲陣列1101的內容,然后將物理級保險絲陣列1101的內容寫入非內核RAM1105。若多個物理級保險絲陣列1101設置在晶粒上,則非內核RAM1105的容量必須能夠存儲所有物理級保險絲陣列1101的數據。在主內核1102將物理級保險絲陣列1101的內容存入非內核RAM1105后,陣列控制1103令相對應的次內核1102讀取非內核RAM1105中載入數據寄存器1104的特定內容。
[0081]已知具有可編程保險絲、外部引腳設定、JTAG程序或其它相關裝置,均可編程載入數據寄存器1104。圖11所示的實施例也可整合在圖10所述的冗余保險絲陣列機制中。
[0082]請參考圖12,其顯示根據本發(fā)明的錯誤確認校正(ECC)機制的一可能實施例。錯誤確認校正機制1200可整合在圖3-圖11所的實施例中,并強化配置數據的壓縮及解壓縮。圖12描述一微處理器內核1220,其設置在一晶粒之上,并耦接一物理級保險絲陣列1201。物理級保險絲陣列1201包括壓縮配置數據方塊1203。壓縮配置數據方塊如上所述。為了壓縮配置數據方塊1203,物理級保險絲陣列1201具有ECC碼方塊1202。每一 ECC碼方塊1202與一相對應的數據方塊1203有關。在一可能實施例中,數據方塊1203具有64位(即64保險絲),并且ECC碼方塊1202具有8位(即8保險絲)。內核1220具有一重置控制器1222,其接收一重置信號RESET。重置控制器1222具有一 ECC元件1224,其通過總線CDATA耦接一解壓縮器1226。ECC元件1224通過一地址總線ADDR、一數據總線DATA以及一碼總線CODE,耦接保險絲陣列1201。
[0083]在操作時,如同圖3-圖11所述,保險絲陣列1201會被數據方塊1203的配置數據所編程。一特定的數據方塊1203或跨越多個數據方塊1203所對應的一特定數據類型(如微碼插入數據、微碼寄存器數據)的配置數據并不會被所編程。另外,相對于兩個以上數據類型的配置數據可能會被編程至相同的數據方塊1203中。另外,ECC碼方塊1202里的ECC碼編程陣列1201。根據已知的ECC機制,ECC碼被編程至一相對應的數據方塊1203,但并非用以限制本發(fā)明。在其它實施例中,也可使用SE⑶ED漢明(Hamming)碼、Chipki11ECC、或是前置錯誤校正(FEC)碼的變動。在一可能實施例中,數據方塊1203相關的地址及其相對應的ECC碼方塊1202均為已知。因此,不需使用在圖12中相鄰數據方塊1203的相對應ECC碼方塊1202。
[0084]解壓縮器1226的結構及功能大致相同于圖4所示的解壓縮器421,并且已略為敘述在圖5-11中。在重置內核1220時,在執(zhí)行上述的解壓縮功能之前,重置控制器1222里的ECC元件存取保險絲陣列,用以取得它的內容。通過總線ADDR,可能得到數據方塊1203及ECC碼方塊1202的地址。通過總線DATA可得到壓縮數據方塊1203里的配置數據。通過總線CODE,可得到每一 ECC碼方塊1202里的ECC碼。在得到數據、地址及碼后,ECC元件1224根據ECC機制,對由每一數據方塊1202所提取到的數據,產生ECC確認,ECC機制用以產生ECC碼,ECC碼存儲于相對應的ECC碼方塊1202。ECC元件1224也比較ECC確認與陣列1201的相應ECC碼,用以產生ECC檢驗子。ECC元件1224更解碼ECC檢驗子,用以判斷是否沒有錯誤發(fā)生、是否發(fā)生可校正錯誤或是不可校正錯誤發(fā)生。ECC元件1224還用以校正可校正錯誤。藉由總線CDATA將未校正及已校正數據提供給解壓縮器1226,用以進行上述的解壓縮動作。藉由總線CDATA將不可校正的錯誤提供給解壓縮器1226。若配置數據的操作上關鍵部分被判斷是不可校正時,解壓縮器1226可能造成內核1220的關閉或是以其它方式標注錯誤。
[0085]在一可能實施例中,ECC元件124包括至少一微碼程序,其用以執(zhí)行上述的ECC功倉泛
[0086]本發(fā)明及相對應敘述內容所提供的軟件或是算法及符號表示一計算機存儲器里的數據位的操作。這些內容及圖示可使本領域的技術人員有效地表達相關內容給本領域的其它技術人員。使用上述的算法用以表達一自我前后一致的順序。這些步驟需要物理量的物理級操作。一般而言,這些物理量可能是光、電或是磁性號,其可被存儲、轉換、整合、比較及其它操作。有些為了方便,這些信號會被稱為位、值、元件、符號、特性、項目、數量或其它相關內容。
[0087]然而,需注意的是,這些相似的術語與物理量有關,并且只是用以方便說明這些物理量。除非另外特別說明,不然上述的術語(如處理、估算、計算、判斷、顯示、或其它相關術語)指的是一計算機系統(tǒng)、一微處理器、一中央處理單元或相似的電子計算機裝置的動作及處理,其操作并轉換數據,其表示物理性、計算機系統(tǒng)的寄存器及存儲器的數量,用以得到其它相似計算機系統(tǒng)的存儲器、寄存器或其它相似的信息存儲裝置、或顯示裝置的物理量的數據。
[0088]需注意到的是,本發(fā)明實現軟件的方法在程序存儲介質或其它相似類型的傳送介質上進行編碼。程序存儲介質可能是電子式(如只讀存儲器、快閃只讀存儲器、電子抹除式只讀存儲器)、隨機存取存儲器磁性裝置(如一軟盤或一硬盤)或光學式(如只讀光盤存儲器⑶ROM)、以及其它只讀或隨機存取元件。同樣地,傳送介質可能是金屬導線、雙絞線、同軸電纜、光纖、或其它已知相似的傳送介質。本發(fā)明并不限制在這些實施例。
[0089]雖然本發(fā)明已以優(yōu)選實施例公開如上,然其并非用以限定本發(fā)明,本領域技術人員,在不脫離本發(fā)明的精神和范圍內,當可作些許的更動與潤飾,因此本發(fā)明的保護范圍當視所附權利要求書界定范圍為準。
【權利要求】
1.一種處理裝置,用以提供配置數據給微處理器,該處理裝置包括: 至少一內核,設置在晶粒上;以及 保險絲陣列,設置在該晶粒上,并耦接至少該內核,其中該保險絲陣列包括多個第一半導體保險絲,所述第一半導體保險絲根據至少該內核的壓縮配置數據而被編程,其中在啟動/重置操作下,至少該內核存取并解壓縮該壓縮配置數據,用以初始化至少該內核內的多個元件。
2.如權利要求1所述的處理裝置,其中至少該內核包括x86相容的單核或多內核微處理器。
3.如權利要求1所述的處理裝置,其中還包括虛擬保險絲陣列,該虛擬保險絲陣列的配置數據被壓縮,用以產生該壓縮配置數據,該虛擬保險絲陣列的數據對應于至少該內核。
4.如權利要求1所述的處理裝置,其中該保險絲陣列還包括多個第二半導體保險絲,根據內核設計數據而被編程,該內核設計數據與至少該內核的特定內核的部分壓縮配置數據有關,其中在啟動/重置操作下,至少該特定內核存取并解壓縮該內核設計數據,用以初始化至少該內核內的多個元件
5.如權利要求4所述的處理裝置,其中該保險絲陣列還包括多個第三半導體保險絲,所述第三半導體保險絲根據未壓縮系統(tǒng)硬件配置數據而被編程,該未壓縮系統(tǒng)硬件配置數據用以初始化至少該特定內核內的多個控制電路元件。
6.如權利要求1所述的處理裝置,其中該保險絲陣列還包括多個第二半導體保險絲,所述第二半導體保險絲根據未壓縮系統(tǒng)硬件配置數據而被編程,該未壓縮系統(tǒng)硬件配置數據用以初始化至少該內核內的多個控制電路元件。
7.如權利要求1所述的處理裝置,其中該保險絲陣列還包括多個第二半導體保險絲,該壓縮配置數據包括一壓縮的微碼插入數據,該壓縮的微碼插入數據被編程至所述第二半導體保險絲,當至少該內核進行解壓縮時,該用以初始化至少該內核內的多個微碼插入元件。
8.如權利要求1所述的處理裝置,其中該保險絲陣列還包括多個第二半導體保險絲,該壓縮配置數據還包括壓縮的微碼寄存器數據,該壓縮的微碼寄存器數據被編程至所述第二半導體保險絲,當至少該內核進行解壓縮時,該壓縮微碼寄存器數據用以初始化至少該內核內的多個微碼寄存器兀件。
9.如權利要求1所述的處理裝置,其中該保險絲陣列還包括多個第二半導體保險絲,該壓縮配置數據還包括壓縮的快取校正數據,該壓縮的快取校正數據被編程至所述第二半導體保險絲,當至少該內核進行解壓縮時,該壓縮快取校正數據用以初始化至少該內核內的多個快取校正元件。
10.如權利要求1所述的處理裝置,還包括裝置編程器,耦接該保險絲陣列,用以存取該配置數據,并壓縮該配置數據,用以產生該壓縮配置數據,并根據該壓縮配置數據編程該保險絲陣列。
11.如權利要求10所述的處理裝置,其中該配置數據包括未壓縮系統(tǒng)硬件配置數據,該未壓縮系統(tǒng)硬件配置數據并未被該裝置編程器所壓縮,并且該未壓縮系統(tǒng)硬件配置數據用以初始化至少該內核的多個控制電路元件。
12.如權利要求1所述的處理裝置,還包括裝置編程器,該裝置編程器包括: 虛擬保險絲陣列,用以存儲至少該內核的配置數據,該配置數據包括多個數據類型;以及 壓縮器,耦接該虛擬保險絲陣列,用以讀取該虛擬保險絲陣列,并利用多個壓縮算法,壓縮該配置數據,用以產生該壓縮配置數據,其中所述壓縮算法對應所述數據類型。
13.如權利要求12所述的處理裝置,其中所述數據類型之一為系統(tǒng)硬件配置數據、微碼插入數據、微碼寄存器數據、或快取校正數據。
14.如權利要求12所述的處理裝置,其中該裝置編程器包括中央處理單元以及存儲器,該中央處理單元及該存儲器整合在晶圓測試設備中。
15.如權利要求1所述的處理裝置,其中該內核包括重置控制器,用以解壓縮該壓縮配置數據,并發(fā)布解壓縮的配置數據,用以初始化所述元件。
16.如權利要求15所述的處理裝置,其中該重置控制器包括:一插入保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的一壓縮的微碼插入數據,并發(fā)布解壓縮的微碼插入數據,用以初始化對應該內核內的多個微碼插入元件,而該壓縮的微碼插入數據由多個第二半導體保險絲中所提取出。
17.如權利要求15所述的處理裝置,其中該重置控制器包括:寄存器保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的一壓縮的微碼寄存器數據,并發(fā)布解壓縮的微碼寄存器數據,用以初始化相對應該內核內的多個微碼寄存器元件,而該壓縮的微碼寄存器數據由多個第二半導體保險絲中提取出。
18.如權利要求15所述的處理裝置,其中該重置控制器包括:快取保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的壓縮的快取校正數據,并發(fā)布解壓縮的快取校正數據,用以初始化相對應該內核內的多個快取校正元件,而該壓縮的快取校正數據由多個第二半導體保險絲中所提取出。
19.如權利要求15所述的處理裝置,其中所述第一半導體保險絲根據該壓縮配置數據以及錯誤確認校正碼而被編程,而該重置控制器用以存取該壓縮配置數據及該錯誤確認校正碼,并校正錯誤,用以產生校正的壓縮配置數據。
20.如權利要求19所述的處理裝置,其中該保險絲陣列包括多個數據方塊以及多個錯誤確認校正方塊,所述數據方塊具有一規(guī)定尺寸,所述錯誤確認校正方塊的每一個具有所述錯誤確認校正碼中的一個,該錯誤確認校正碼對應所述數據方塊中的一個。
21.—種處理方法,用以提供配置數據給一微處理器,該方法包括: 設置至少一內核在晶粒上; 設置保險絲陣列在該晶粒上,并使該保險絲陣列耦接至少該內核,其中,該保險絲陣列具有多個第一半導體保險絲; 根據至少該內核的壓縮配置數據編程所述第一半導體保險絲;以及 在啟動/重置操作下,利用至少該內核存取并解壓縮該壓縮配置數據,用以初始化至少該內核內的多個元件。
22.如權利要求21所述的處理方法,其中至少該內核包括x86相容的單核或多內核微處理器。
23.如權利要求21所述的處理方法,其中該壓縮配置數據來自壓縮虛擬保險絲陣列的數據而產生,該虛擬保險絲陣列的數據對應于至少該內核。
24.如權利要求21所述的處理方法,還包括: 根據一內核設計數據編程多個第二半導體保險絲,該內核設計數據與至少該內核的特定內核的部分壓縮配置數據有關;以及 在啟動/重置操作下,通過該特定內核,存取并解壓縮該特定內核的部分壓縮配置數據,用以初始化該特定內核的多個元件。
25.如權利要求24所述的處理方法,還包括: 存儲一未壓縮系統(tǒng)硬件配置數據在多個第三半導體保險絲中,用以初始化至少該特定內核內的多個控制電路元件。
26.如權利要求21所述的處理方法,還包括: 存儲未壓縮系統(tǒng)硬件配置數據在多個第二半導體保險絲中,用以初始化至少該內核內的多個控制電路元件。
27.如權利要求21所述的處理方法,其中該壓縮配置數據包括壓縮的微碼插入數據,在至少該內核進行解壓縮時,該壓縮的微碼插入數據用以初始化至少該內核內的多個微碼插入元件。
28.如權利要求21所述的處理方法,其中該壓縮配置數據包括壓縮的微碼寄存器數據,在至少該內核進行解壓縮時,該壓縮的微碼寄存器數據用以初始化至少該內核內的多個微碼寄存器元件。
29.如權利要求21所述的處理方法,其中該壓縮配置數據包括壓縮的快取校正數據,在至少該內核進行解壓縮時,該壓縮的快取校正數據用以初始化至少該內核內的多個快取校正元件。
30.如權利要求21所述的處理方法,還包括:裝置編程器與該保險絲陣列耦接,并使該裝置編程器根據該壓縮配置數據編程該保險絲陣列。
31.如權利要求30所述的處理方法,其中該配置數據包括未壓縮系統(tǒng)硬件配置數據,該未壓縮系統(tǒng)硬件配置數據用以初始化至少該內核內的多個控制電路元件。
32.如權利要求21所述的處理方法,還包括: 將裝置編程器耦接至所述第一半導體保險絲,并根據多個內核的壓縮配置數據編程所述第一半導體保險絲,將該裝置編程器耦接至所述第一半導體保險絲的步驟包括: 將多個內核的配置數據存儲至虛擬保險絲陣列,所述內核的配置數據包括多個數據類型;以及 讀取該虛擬保險絲陣列,并利用多個壓縮算法,壓縮所述內核的配置數據,用以產生所述合新的壓縮配置數據,其中所述壓縮算法對應所述數據類型。
33.如權利要求32所述的處理方法,其中所述數據類型之一為系統(tǒng)硬件配置數據、微碼插入數據、微碼寄存器數據、或快取校正數據。
34.如權利要求32所述的處理方法,其中該裝置編程器包括中央處理單元以及存儲器,該中央處理單元及該存儲器整合在晶圓測試設備中。
35.如權利要求21所述的處理方法,其中該內核包括重置控制器,在啟動/重置操作下,通過該重置控制器存取、解壓縮及發(fā)布該壓縮配置數據,用以初始化至少該內核內的多個元件。
36.如權利要求35所述的處理方法,其中該重置控制器包括:插入保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的壓縮的微碼插入數據,并發(fā)布解壓縮的微碼插入數據,用以初始化對應該內核內的多個微碼插入元件。
37.如權利要求35所述的處理方法,其中該重置控制器包括:寄存器保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的壓縮的微碼寄存器數據,并發(fā)布解壓縮的微碼寄存器數據,用以初始化相對應該內核內的多個微碼寄存器元件。
38.如權利要求35所述的處理方法,其中該重置控制器包括:快取保險絲解壓縮器元件,用以解壓縮該壓縮配置數據里的壓縮的快取校正數據,并發(fā)布解壓縮的快取校正數據,用以初始化相對應該內核內的多個快取校正元件。
39.如權利要求35所述的處理方法,還包括: 根據錯誤確認校正碼以及至少該內核的該壓縮配置數據編程所述第一半導體保險絲;以及 在啟動/重置操作下,通過至少該內核的該重置控制器,存取該壓縮配置數據及該錯誤確認校正碼,并校正該壓縮配置數據,用以產生校正的壓縮配置數據,并解壓縮該校正的壓縮配置數據,并發(fā)布校正的解壓縮配置數據,用以初始化至少該內核內的所述元件。
40.如權利要求39所述的處理方法,其中該保險絲陣列包括多個數據方塊以及多個錯誤確認校正方塊,所述數據方塊具有一規(guī)定尺寸,所述錯誤確認校正方塊的每一個具有所述錯誤確認校正碼中的一個,該錯誤確認校正碼對應所述數據方塊中的一個。
【文檔編號】G11C15/02GK104183271SQ201410396084
【公開日】2014年12月3日 申請日期:2014年8月13日 優(yōu)先權日:2013年8月21日
【發(fā)明者】G.G.亨利, 弟尼斯.K.詹 申請人:威盛電子股份有限公司