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