TWI571797B - 組態資料的處理裝置及方法 - Google Patents

組態資料的處理裝置及方法 Download PDF

Info

Publication number
TWI571797B
TWI571797B TW103125467A TW103125467A TWI571797B TW I571797 B TWI571797 B TW I571797B TW 103125467 A TW103125467 A TW 103125467A TW 103125467 A TW103125467 A TW 103125467A TW I571797 B TWI571797 B TW I571797B
Authority
TW
Taiwan
Prior art keywords
core
fuse
fuse array
array
configuration data
Prior art date
Application number
TW103125467A
Other languages
English (en)
Other versions
TW201508634A (zh
Inventor
G 葛蘭 亨利
弟尼斯K 詹
Original Assignee
上海兆芯集成電路有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/972,609 external-priority patent/US20150058598A1/en
Priority claimed from US13/972,690 external-priority patent/US20150054543A1/en
Application filed by 上海兆芯集成電路有限公司 filed Critical 上海兆芯集成電路有限公司
Publication of TW201508634A publication Critical patent/TW201508634A/zh
Application granted granted Critical
Publication of TWI571797B publication Critical patent/TWI571797B/zh

Links

Landscapes

  • Microcomputers (AREA)

Description

組態資料的處理裝置及方法
本發明係有關於一種處理裝置,特別是有關於一種提供組態資料予一微處理器的處理裝置及方法。
積體電路的技術在過去40年內,以指數方式成長。特別是在微處理器領域中,由4位元單指令、10微米裝置開始,半導體製造技術的成長讓設計者可提高複合式裝置內部的元件密度。在80及90年代的管線式微處理器及超純量微處理器中,可將數百萬個電晶體設置在單一晶粒中。在隨後的20年中,出現了64位元的32奈米裝置,其將數十億個電晶體設置在單一晶粒中,該晶粒具有多微處理器核心,用以處理資料。
在啟動或重置裝置時,這些早期的裝置需被組態資料所初始化。舉例而言,許多架構利用至少一可選擇的頻率及/或電壓,致能裝置。其它架構要求每一裝置需具有一序號以及其它可透過執行指令而讀取的資訊。另一些裝置內部的暫存器及控制電路需要初始化資料。當前述電路在製造時發生錯誤或是並未位於臨界限制中時,其它裝置利用組態資料執行額外電路。
本領域人士均深知,設計者可利用傳統整合在晶粒上的半導體保險絲陣列儲存並提供初始組態資料。當部分保 險絲陣列已製造完成時,可藉由熔斷所選擇到的保險絲,對這些保險絲陣列進行程式化,並且保險絲陣列具有數千位元的資訊,在啟動/重置裝置時,便可讀取保險絲陣列,用以初始化及設定相對應裝置的操作。
當裝置的複雜性愈來愈高時,組態資料量會隨之增加。然而,本領域人士深知,雖然電晶體的尺寸隨半導體製程而縮小,但整合在晶粒上的半導體保險絲的尺寸卻增加。這個現象影響可使用空間以及功率損耗,因而成為設計者的問題。因此,若欲製造一大保險絲陣列在晶粒上時,晶粒可能無法提供足夠的可使用空間。
另外,由於每一核心需要一定數量的保險絲,因此,若欲在單一晶粒上製造許多核心時,將使上述問題惡化。
因此,需要一裝置及方法使組態資料可被儲存並提供在一多核心裝置中,並且在單一晶粒中,不會佔用太多的空間及消耗太多的電源。
另外,需要一保險絲陣列機制,用以在相同或更小的空間中,儲存並提供比傳統技術更多的組態資料。
本發明利用一多核心裝置裡的一保險絲陣列的壓縮組態資料,提供較佳的技術,用以解決上述問題並滿足其它問題及缺點以及習知的受限。在一可能實施例中,本發明提供一種處理裝置,用以提供組態資料予一微處理器,並包括一保險絲陣列組以及至少一核心。保險絲陣列組設置在一晶粒上,並包括一第一保險絲陣列以及一第二保險絲陣列。核心設置在 晶粒上,耦接保險絲陣列組,並包括一陣列控制,用以存取第一及第二保險絲陣列,並根據一組態資料暫存器的內容,處理第一保險絲陣列的一第一狀態及第二保險絲陣列的一第二狀態。
本發明另提供一種處理裝置,用以提供組態資料予一微處理器,並包括一保險絲陣列、一隨機存取記憶體(RAM)以及複數核心。保險絲陣列設置在一晶粒上,並包括複數半導體保險絲。半導體保險絲根據壓縮組態資料而被程式化。隨機存取記憶體,設置在晶粒上。核心各自地設置在晶粒上。每一核心耦接保險絲陣列及隨機存取記憶體,並且在啟動/重置操作下,核心之每一者根據一載入資料暫存器的內容存取保險絲陣列或隨機存取記憶體,用以得知壓縮組態資料。
本發明更提供一種處理方法,用以提供組態資料予一微處理器,並包括設置一保險絲陣列組在一晶粒上,其中保險絲陣列組包括一第一保險絲陣列以及一第二保險絲陣列;設置至少一核心在晶粒上,核心耦接保險絲陣列組;以及使用核心的一陣列控制,並根據一組態資料暫存器的內容,存取並處理第一保險絲陣列的一第一狀態及第二保險絲陣列的一第二狀態。
本發明提供另一種處理方法,用以提供組態資料予一微處理器,並包括設置一保險絲陣列設置在一晶粒上,其中保險絲陣列包括複數半導體保險絲,半導體保險絲根據一壓縮組態資料而被程式化;設置一隨機存取記憶體(RAM)在晶粒上;將複數核心各自地設置在晶粒上,並耦接每一核心與保險 絲陣列及隨機存取記憶體;以及在啟動/重置操作下,透過核心之每一者根據一載入資料暫存器的內容存取保險絲陣列或隨機存取記憶體,用以得知壓縮組態資料。
對於工業應用,本發明可應用在微處理器中,其係應用在一般或特殊用途的電腦裝置中。
為讓本發明之特徵和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
100、200‧‧‧方塊
101‧‧‧微處器核心
102、201、336‧‧‧保險絲陣列
103‧‧‧重置邏輯
104‧‧‧重置電路
105‧‧‧重置微碼
107‧‧‧控制電路
108‧‧‧微碼暫存器
109‧‧‧微碼插入元件
110‧‧‧快取校正元件
RESET‧‧‧重置信號
202、PFB1~PFBN、RFB1~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‧‧‧資料匯流排
第1圖為習知具有一保險絲陣列的微處器核心的示意圖。
第2圖係為第1圖之具有冗餘保險絲組的微處器核心的示意圖。
第3圖係為根據本發明之提供壓縮及解壓縮組態資料予一多核心裝置之示意圖。
第4圖為根據本發明之保險絲解解壓縮機制之一可能實施例。
第5圖係為本發明之壓縮組態資料的一可能格式示意圖。
第6圖為本發明的解壓縮微碼插入組態資料的一可能格式示意圖。
第7圖為本發明之解壓縮微碼暫存器組態資料的一可能格式示意圖。
第8圖為本發明之解壓縮快取校正資料的一可能格式示意圖。
第9圖為本發明之解壓縮保險絲校正資料的一可能格式示 意圖。
第10圖為本發明之具有可組態冗餘保險絲陣列的多核心裝置的一可能實施例。
第11圖為本發明之快速地載入組態資料至多核心裝置的機制示意圖。
第12圖為本發明之錯誤確認校正機制的一可能實施例。
積體電路(IC)係指一電子電路集合形成在一小尺寸的半導體材料上,如矽。一積體電路也可稱為一晶片、一微晶片或一晶粒。
中央處理單元(CPU)係指電子電路(即硬體)藉由執行一資料的操作,執行一電腦程式(即為電腦應用程式或應用程式)的指令,該資料的操作包括算述操作、邏輯操作及輸入/輸出操作。
微處理器係指一電子裝置作為一單一積體電路上的一中央處理單元。一微處理器接收數位資料,作為輸入,根據一記憶體的指令處理資料,並產生輸出指令所要求的操作結果,其中記憶體設置或不設置在晶粒上。一通用微處理器可應用在桌上型、可攜帶型或平板電路中,並且可計算、文字處理、多媒體顯示以及網路瀏覽。一微處理器可能設置在一嵌入式系統中,用以控制許多裝置,包括設備、行動電話、智慧型手機以及工業用控制裝置。
多核心處理器也稱為多核心微處理器、多核心處理器係為一微處理器,其具有多中央處單元(核心),其係形成 在同一積體電路上。
指令集架構(ISA)或指令集係指用以程式化的一電腦架構的部分,其包括資料型態、指令、暫存器、位址模式、記憶體架構、中斷及異常處理與輸入/輸出。一ISA包括操作碼集合的特性(即機械語言指令)以及一特定CPU所使用的本地命令。
x86相容微處理器係指一具有執行電腦應用程式的微處理器,根據x86 ISA便可程式化電腦應用程式。
微碼係指複數微指令。一微指令(也稱為本地指令)係為一指令,其可由一微處理器次運算單元所執行。在一可能實施例中,次單元包括整數運算單元、浮點運算單充、MMX運算單元以及載入/儲存運算單元。舉例而言,藉由精簡指令集(RISC)直接執行微指令。對於複數指令集(CISC)微處理器(如x86相容性微處理器)而言,x86指令被轉譯成組合微指令,並且藉由CISC的微處理器直接執行組合微指令。
保險絲係為一導體結構,一般係為細線,藉由施加電壓至細線上及/或使電流流過細線,便可熔斷細線。利用習知的製造技術,將保險絲沈積在一晶粒拓樸的一特定位置,用以製造出可程式化的細線。在製造完成後,熔斷(或不熔斷)保險絲,用以提供晶粒上的一相對應裝置的程式化。
請參考第1圖,方塊100為目前微處器核心101的示意圖。微處器核心101具有一保險絲陣列102,用以提供組態資料予微處器核心101。保險絲陣列102具有複數半導體保險絲(未顯示)。半導體保險絲一般是成列排列。保險絲陣列102耦接 重置邏輯103。重置邏輯103包括重置電路104及重置微碼105。重置邏輯103耦接控制電路107、微碼暫存器108、微碼插入元件109以及快取校正元件110。一外部重置信號RESET耦接微處器核心101。重置邏輯103接收外部重置信號RESET。
本領域之技術人員均深知,在積體電路裝置製造完後,大量的積體電路裝置使用保險絲(也稱為連結或保險絲結構),用以提供積體電路的組態。舉例而言,第1圖的微處器核心101提供功能選擇,用以選擇是應用在桌上型裝置或可攜式裝置中。因此,在製造時,保險絲陣列102裡的保險絲可能會被燒斷,用以選擇裝置,如一可攜式裝置。因此,當重置信號RESET被致能後,重置邏輯103讀取保險絲陣列102裡被指定的保險絲的狀態,並且重置電路104(在此例中,不是重置微碼105)致能相對應的控制電路107。控制電路107禁能微處器核心101中與桌上型功能有關的元件,並致能微處器核心101中與可攜式功能有關的元件。因此,微處器核心101被啟動,並被重置成一可攜式裝置。另外,重置邏輯103讀取保險絲陣列102裡的其它保險絲的狀態,並且重置電路104(在此例中,不是重置微碼105)致能相對應的快取校正元件110,用以對予微處器核心101的至少一快取記憶體(未顯示)提供校正機制。因此,微處器核心101被啟動,並被重置成一可攜式裝置,並且微處器核心101的快取記憶體的校正機制也被設置妥當。
上述的例子僅僅是在描述第1圖的微處器核心101裡的保險絲的許多不同用途。本領域之技術人員均深知保險絲的其它用途,並不限制在裝置特定資料的組態(如序號、唯一 的加密碼、電腦內部結構的授權資料,其可被使用者存取、速度設定、電壓設定),初始化資料及插入資料。舉例而言,許多目前的裝置執行微碼,用以初始化微碼暫存器108。保險絲陣列102裡的微碼暫存器保險絲(未顯示)可能提供用以初始化的資料,在重置操作下,藉由重置邏輯103(重置電路104或重置微碼105,或重置電路104及重置微碼105)讀取初始化的資料,並將讀取到的初始化資料提供予微碼暫存器108。為了達到上述目的,重置電路104包括硬體元件,其提供特定型式的組態資料,重置微碼105係無法提供這些特定型態的組態資料。重置微碼105包括複數微指令,該等微指令係設置在一內部微碼記憶體(未顯示)中。在重置微處器核心101時,執行內部微碼記憶體,用以執行微處器核心101的初始化功能,這些功能包括,讀取保險絲陣列102裡的組態資料,並將讀取結果提供予複數元件,如微碼暫存器108及微代碼插入機制109。微處器核心101的一特殊設置就是判斷保險絲陣列的組態資料是否透過重置微碼105提供予微處器核心101的不同元件107~110中。本發明的目的並非個別地初始化積體電路裝置,本領域之技術人員均深知目前的微處器核心101的組態元件107-110的種類通常落在四種類型中,以第1圖為例,即為控制電路、微碼暫存器、微碼插入機制以及快取校正機制。另外,本領域之技術人員將可知,組態資料的值很明顯是根據資料的型態而改變。例如,一64位元的控制電路107可能包括ASCII資料,ASCII資料用以指定微處器核心101的序號。其它64位元的控制暫存器可能具有64種不同的速度設定,每次只有一種速度設定會被 致能,用以控制微處器核心101的操作速度。一般而言,微碼暫存器108可能會被初始化成全為0(即低邏輯狀態)或全為1(如高邏輯狀態)。微代碼插入機制109可能包括均勻分佈的1及0,用以表示一微碼ROM(未顯示)中需要被置換的微碼值的位址,這些位址的微碼值將被置換。最後,快取校正機制可能包含很少的設定值1,用以表示一某一快取次組(sub-bank)元件(即一列或一行)需被替換成一特定取代次組元件。
保險絲陣列102提供一優秀的功能,用以在一裝置(如微處器核心101)製造完成後,設定微處器核心101。藉由熔斷保險絲陣列102裡的某些保險絲,就可使微處器核心101操作在相對應的環境中。然而,本領域之技術人員均深知,藉由程式化保險絲陣列102,便可改變微處器核心101的操作環境。微處器核心101可能因業務需求而被初始化,如由一桌上型裝置被初始化成一可攜式裝置。因此,設計者可設置冗餘保險絲在保險絲陣列102中,作為不熔斷保險絲,因此,便可初始化微處器核心101的組態、校正製造錯誤…等等。具有冗餘保險絲的保險絲陣列將敍明於第2圖中。
請參考第2圖,方塊200顯示微處器核心101裡的一保險絲陣列201,其具有保險絲組202(冗餘保險絲組RFB1~RFBN與第一保險絲PFB1~PFBN)。保險絲陣列201裡的第一保險絲組PFB1~PFBN會先被熔斷,然後再熔斷冗餘保險絲組RFB1~RFBN。冗餘保險絲組RFB1~RFBN及PFB1~PFBN包括一既定的數量的保險絲203,並保險絲203各自獨立,保險絲203的數量與微處器核心101的特定設計有關。舉例而言,在64位 元的微處器核心101中,保險絲組202的保險絲203數量可能是64個,用便於微處器核心101使用組態資料。
保險絲陣列201耦接暫存器210~211。一般而言,暫存器210~211係設置在微處器核心101的重置邏輯中。主要暫存器PR1用以讀取第一保險絲組PFB1~PFBN之一者(假設是方塊圖200裡的保險絲組PFB3)。冗餘暫存器RR1用以讀取冗餘保險絲組RFB1~RFBN之一者。暫存器210與211均耦接一互斥或邏輯閘212。互斥或邏輯閘212提供一輸出FB3。
在操作中,在製造出微處器核心101之後,可藉由習知的技術程式化第一保險絲組PFB1~PFBN,使其成為微處器核心101可使用的組態資料。冗餘保險絲組RFB1~RFBN均未被熔斷,並且維持在一低邏輯狀態。在啟動/重置微處器核心101時,主要暫存器210以及冗餘暫存器211分別讀取第一保險絲組PFB1~PFBN及冗餘保險絲組RFB1~RFBN的狀態。互斥或邏輯閘212對暫存器210及211所儲存的資料進行互斥或運算,用以產生輸出FB3。由於所有的冗餘保險絲組均未被熔斷(即均為低邏輯狀態),因此,輸出FB3的值很簡單,就是製造後,第一保險絲組PFB1~PFBN被程式化的結果。
目前,因設計或業務需求,要求寫入至第一保險絲組PFB1~PFBN的資訊可被更改。因此,為了改變啟動後所讀取到的資訊,必須執行一可程式操作,用以熔斷冗餘保險絲組RFB1~RFBN裡的對應冗餘保險絲203。在熔斷所選擇的冗餘保險絲組RFB1~RFBN裡的一保險絲203時,第一保險絲組PFB1~PFBN裡的一相對應保險絲203係邏輯性地與其相配。
第2圖的機制可能在微處器核心101中,提供重熔的保險絲203,但是本領域人士所深知,由於只有一組冗餘保險絲組RFB1~RFBN,因此,冗餘保險絲組RFB1~RFBN裡的每保險絲203只能被重熔一次,為了提供多次的重熔,可在微處器核心101中加入多組額外保險絲組202及暫存器210~211。
截止目前為止,第1及2圖的保險絲陣列機制提供足夠的彈性予微處理器核心及其它相關的裝置,用以允許有限次數的重熔。製造技術(如65及45奈米製程)可在晶粒上形成足夠的保險絲,用以設定晶粒上的一微處器核心101。然而,目前的技術仍受限制於兩個明顯的因素。第一個因素是,本領域的趨勢是形式多個微處器核心101在同一晶粒中,用以增加處理效能。這些稱為多核心裝置可能具有2-16個獨立核心101,為了開啟/重置核心101,每一核心配置有保險絲資料。因此,對於4核心裝置而言,4個保險絲陣列201會被使用獨立的核心中,每一核心的資料可能不同(如快取校正資料、冗餘保險絲資料等)。第二是,本領域人士均深知,製造技術的降低(如32奈米),因此,電晶體的尺寸也降低,故保險絲的尺寸增加,故需在32奈米的晶粒上實現45奈米的保險絲陣列。
根據上述的限制以及裝置設計者的其它挑戰,特別是多核心裝置的設計者,本發明提供明顯的改善,優於習知裝置組態機制,本發明在多核心裝置中程式化獨立的核心,並增加快取校正及保險絲再程式化(重熔)的次數。稍後將透過第3-12圖說明本發明。
第3圖係為本發明之系統300的示意圖,用以壓縮 並解壓縮多核心裝置的組態資料。多核心裝置具有多核心332。核心332設置在一晶粒330上。為方便說明,第3圖僅顯示核心CORE1~CORE4。核心CORE1~CORE4設置在晶粒330上。在其它實施例中,晶粒330可能具有其它數量的核心332。在本實施例中,所有核心332共用單一快取記憶體334。快取記憶體334也設置在晶粒330之上。單一可程式保險絲陣列336也設置在晶粒330上,並且在啟動/重置操作下,每一核心332用以存取保險絲陣列336,用以擷取並解壓縮組態資料。
在一實施例中,核心332包括微處理器核心,用以構成一多核心微處理器(晶粒)330。在其它實施例中,多核心微處理器330作為x86相容多核心微處理器。在其它實施例,快取記憶體334包括二級(level 2)快取記憶體,其耦接微處理器核心332。在一可能實施例中,保險絲陣列336具有8192(8K)個各自獨立的保險絲(未顯示),但也可使用其它數量的保險絲。在單一核心的實施例中,只有一核心332設置在晶粒330之上,並且該核心332耦接快取記憶體334及保險絲陣列336。雖然稍後將說明多核心裝置(晶粒)330的特徵及功能,但多核心裝置的特徵與單一核心的特徵相同。
系統300也包括一裝置程式器310。裝置程式器310包括一壓縮器320。壓縮器320耦接虛擬保險絲陣列303。在一可能實施例中,裝置程式器310可能包括一中央處理器(未顯示),用以處理組態資料,並在晶粒330製造完成後,利用習知的程式化技術,程式化保險絲陣列336。中央處理器可能整合於一晶圓測試設備中,用以測試製造完成後的裝置晶粒330。 在一可能實施例中,壓縮器320可能具有一應用程式,其可在裝置程式器310上被執行,並且虛擬保險絲陣列303可能包括一記憶體的位址,該記憶體由壓縮器320所存取。虛擬保險絲陣列303具有許多虛擬保險絲組301。每一虛擬保險絲組301具有複數虛擬保險絲302。在一可能實施例中,虛擬保險絲陣列303具有128個虛擬保險絲組301,每一虛擬保險絲組301具有64個虛擬保險絲302,因此,保險絲陣列303的尺寸為8Kb。
操作上,如同第1圖所示,在製造階段中,裝置330的組態資訊會被輸入至虛擬保險絲陣列330中。因此,組態資訊包括控制電路的組態資料、微碼暫存器的初始化資料、微碼插入資料以及快取校正資料。另外,如上所述,不同型態的組態資料的值均不相同。虛擬保險絲陣列303係為一保險絲陣列(未顯示)的邏輯代表,其具有晶粒330上的每一微處理器核心332的組態資訊,以及晶粒330上的每一快取記憶體334的校正資料。
當資訊存入虛擬保險絲陣列303後,壓縮器320讀取每一虛擬保險絲組301的虛擬保險絲302的狀態,並利用每一資料型態所對應的分離壓縮演算法(distinct compression algorithms)進行壓縮,用以產生壓縮保險絲陣列資料。在一可能實施例中,控制電路的系統資料並不會被壓縮,但會在沒有壓縮的情況下被轉換。為了壓縮微碼暫存器資料,可使用一微碼暫存器資料壓縮演算法,用以壓縮具有一狀態分佈的資料,該狀態分佈相對於微碼暫存器資料。為了壓縮微碼插入資料,可使用一微碼插入資料壓縮演算法,用以有效地壓縮具有一狀 態分佈的資料,該狀態分佈對應於微碼插入資料。為了壓縮快取校正資料,可使用一快取校正資料壓縮演算法,用以有效地壓縮具有一狀態分佈的資料,該狀態分佈對應於快取校正資料。
接著,裝置程式器310將未被壓縮及已被壓縮的保險絲陣列資料程式化至晶粒330上的物理級保險絲陣列336。
在啟動/重置操作時,每一核心332可能存取物理級保險絲陣列336,用以擷取未壓縮及已壓縮的保險絲陣列資料,並且在每一核心332內的重置電路/微碼(未顯示)發佈未壓縮保險絲陣列資料,並根據每一資料型態所對應的分離解壓縮演算法,解壓縮已壓縮的保險絲陣列資料,用以提供原本在虛擬保險絲陣列303裡的原始值。然後,重置電路/微碼將組態資訊提供予控制電路(未顯示)、微碼暫存器(未顯示)、插入元件(未顯示)以及快取校正元件(未顯示)。
藉由本發明的保險絲陣列壓縮系統300,可使得裝置設計者減少物理級保險絲陣列336裡的保險絲數量,並且在啟動/重置操作中,利用已壓縮的資訊程式,對一多核心裝置330進行設定。
請參考第4圖,方塊400顯示本發明之保險絲解解壓縮機制。解壓縮機制可能設置在第3圖的每一微處理器核心332中。為了清楚敍明本發明,第4圖僅顯示單一核心420,但第3圖的晶粒上的每一核心332均具有第4圖的核心420的元件。物理級保險絲陣列401設置在晶粒上,並且耦接核心420。物理級保險絲陣列401具有已壓縮的微碼插入保險絲403、已壓 縮的暫存器保險絲404、已壓縮的快取校正保險絲405以及已壓縮的保險絲校正保險絲406。物理級保險絲陣列401可能也具有未壓縮的組態資料(未顯示),如上述的系統組態資料及/或錯誤檢測及校正(Error Checking and Correction;以下簡稱ECC)碼(未顯示)。稍後將說明根據本發明的ECC特徵。
微處器核心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。快取保險絲元件410耦接核心420內的快取校正元件416。在一可能實施例中,快取校正元件416設置在具有二級(L2)快取記憶體(未顯示)的晶粒上。所有核心420共用快取校正元件416,如第3圖的快取記憶體334。在另一實施例中,快取校正元件416設置在具有一級(L1)快取記憶體(未顯示)的晶粒上。在其它實施例中,快取校正元件416設置在具有一級(L1)及二級(L2)快取記憶體(未顯示)的晶粒上。
在操作時,當重置信號RESET被致能時,重置控制器417讀取物理級保險絲陣列401裡的保險絲403~406的狀態,並將已壓縮系統保險絲(未顯示)的狀態提供予解壓縮器421。在 讀取並提供完成後,解壓縮器421裡的保險絲校正元件411解壓縮已壓縮的保險絲校正保險絲406的狀態,用以提供資料,該資料表示物理級保險絲陣列401的至少一保險絲位址,先前已被程式化的這狀態會被改變。解壓縮後的資料可能包含至少一保檢絲位址的值。此至少一保險絲位址(及隨意值)會透過匯流排412傳送至元件408~410,使得相對應的保險絲的狀態在被解壓縮前就被改變。
在一可能實施例中,插入保險絲元件408包括微碼,用以根據一微碼插入解壓縮演算法,解壓縮已被壓縮的微碼插入保險絲403的狀態,微碼插入解壓縮演算法對應於第3圖所述之微碼插入壓縮演算法。在一可能實施例中,暫存器保險絲元件409包括微碼,用以根據一暫存器保險絲解壓縮演算法,解壓縮已壓縮的暫存器保險絲404,暫存器保險絲解壓縮演算法對應於第3圖所述之暫存器保險絲壓縮演算法。在一可能實施例中,快取保險絲元件410包括微碼,用以根據一快取校正保險絲解壓縮演算法,解壓縮已壓縮的快取校正保險絲405,快取校正保險絲解壓縮演算法對應於第3圖所述之快取校正保險絲壓縮演算法。保險絲校正元件411透過匯流排412提供保險絲的位址,元件408~410的每一者根據這些位址改變相對應的保險絲的狀態後,再根據相對應的演算法,解壓縮保險絲各自的資料。稍後將詳細說明本發明所述之多次重熔保險絲,重熔的步驟係早於元件408~411的解壓縮動作的初始化。在一可能實施例中,匯流排412可能包括習知的微碼程式機制,用以傳送資料。本發明更具有一綜合解壓器421,其可根據組態 資料的型態,辨別並解壓縮組態資料。因此,為了說明本發明,解壓縮器421僅具有元件408~411,然而,只要縮合解壓器421可提供元件408~411的功能,本發明可能不需要元件408~411。
在一可能實施例中,重置控制器417初始化插入保險絲元件408的微碼,用以對已壓縮的微碼插入保險絲403進行解壓縮。重置控制器417也初始化暫存器保險絲元件409的微碼,用以對已壓縮的暫存器保險絲404的狀態進行解壓縮。再者,重置控制器417更初始化快取保險絲元件410的微碼,用以對已壓縮的快取校正保險絲405進行解壓縮。在進行解壓縮前,解壓縮器421的微碼會先改變某些保險絲的狀態,其中這些被改變的保險絲係為已壓縮的保險絲校正保險絲406的保險絲校正資料所指定的保險絲。
重置控制器417、解壓縮器421及元件408~411用以執行上述的功能。重置控制器417、解壓縮器421及元件408~411可能包括邏輯、電路、裝置或微碼、或邏輯、電路、裝置或微碼的組合、或等效元件,其可執行上述功能及操作。這些用以實現重置控制器417、解壓縮器421及元件408~411的元件可能被其它電路、微碼…等所共用,其可執行重置控制器417、解壓縮器421及元件408~411或核心420裡的其它元件的其它功能及/或操作。
在改變及解壓縮物理級保險絲陣列401內的保險絲403~406的狀態後,解壓縮後的虛擬保險絲的狀態會被提供予微碼插入元件414、微碼暫存器415以及快取校正元件416。因此,核心420進行接下來的重置操作。
在其它實施例中,在進行重置操作時,上述的解壓縮功能並不需依照一特別的順序而被執行。舉例而言,微碼插入資料的解壓縮動作可能在微碼暫存器初始化資料的解壓縮動作之後。同樣地,在其它實施例中,為了滿足設計需求,解壓縮功能可能同時進行。
另外,本發明的元件408~411的實現並非一定要用硬體電路所對應的微代碼,由於在一般的微處理器核心420中,其具有一些元件,這些元件可更加輕易地透過硬體被初始化(如與一快取相關的一掃描鏈),而不同於直接寫入微碼。這些的實現細節係由設計者自行決定。然而,在初始化微碼之前的重置操作中,習知技術利用硬體電路,使快取校正保險絲按慣例被讀取並進入一快取校正掃描鏈。除非微碼開始動作,不然核心的快取記憶體並不會被導通,因此,本發明的特徵係利用相對應硬體控制電路的微碼,執行快取保險絲解壓縮器410。利用微碼執行快取保險絲元件410,便可將快取校正資料寫入一掃描鏈中,並且很明顯節省硬體元件,因而增加設計彈性及有益的機制。
請參考第5圖,其顯示本發明之壓縮組態資料500的格式。第3圖的壓縮器320壓縮虛擬保險絲陣列330的資料,並程式化(即熔斷)壓縮組態資料500至多核心裝置330的物理級保險絲陣列336中。在上述的重置結果中,藉由每一核心332,壓縮組態資料500會從物理級保險絲陣列336中被擷取,並且被解壓縮,並被每一核心420的解壓縮器421的元件408~411所校正。解壓縮及校正組態資料會接著被提供予核心420的多元件 414~416,用以初始化核心420。
壓縮組態資料500具有至少一壓縮資料欄位(D)502,而上述的每一組態資料型態係由結束型態欄位(ET)503所分隔。程式化事件(即熔斷)會被結束熔斷欄位(EB)504所分隔。根據一壓縮演算法,編碼與每一資料型態有關的壓縮資料欄位502,用以最小化位元(即保險絲)數量,這些位元係用以儲存與每一資料型態有關的特徵位元圖案。構成每一壓縮資料欄位502的物理級保險絲陣列336的保險絲數量係為一特定資料型態所使用的壓縮演算法的特徵。舉例而言,考慮到一核心具有64位元微碼暫存器時,其必須全被初始化成0或1。一最佳縮壓演算法可能根據資料型態,提供64個壓縮資料欄位502,每一壓縮資料欄位502具有一特定微碼暫存器的初始化資料,壓縮資料欄位502被指定在暫存器數量順序中(即1-64)。並且每一壓縮資料欄位502具有一單一保險絲,若一相對應的微碼暫存器需被初始化成1時,該單一保險絲被熔斷,若相對應的微碼暫存器需被初始化成0時,該單一保險絲不被熔斷。
在初始程式化事件後,核心420裡的解壓縮器421的元件408~410利用結束型態欄位503判斷是否它們各自的壓縮資料已被置於物理級保險絲陣列336中,並且保險絲校正解壓縮器411利用結束熔斷保險絲504,找出壓縮保險絲校正資料,壓縮保險絲校正資料在一初始化程式事件後,已被程式化(即熔斷)。針對隨後進行的多程式化事件,本發明在物理級保險絲陣列336中設置了大量的備用保險絲,以下將詳細說明。
上述的壓縮型態格式係用以說明本發明的組態資料的壓縮及解壓縮。然而,第5圖所示的特定型態資料的壓縮、分隔及被壓縮至保險絲陣列401裡的資料型態與數量並非用以限制本發明。在其它實施例中,可利用其它的數量、型態與格式修改本發明,以得到不同的裝置及演算法。
請參考第6圖,第6圖顯示根據本發明的解壓縮微碼插入組態資料600的一可能格式。在重置操作下,利用每一核心420讀取物理級保險絲陣列401裡的壓縮微碼插入組態資料。然後,根據匯流排412所提供的保險絲校正資料,校正壓縮微碼插入組態資料。然後,藉由插入保險絲解壓縮器408對已校正的壓縮微碼插入組態資料進行解壓縮。解壓縮程序的結果係為解壓縮微碼插入組態資料600。資料600包括複數解壓縮資料方塊604。解壓縮資料方塊604的數量對應於核心420裡需初始化資料的微碼插入元件414的數量。每一解壓縮資料方塊604包括一核心位址欄位601、一微碼記憶體(ROM)位址欄位602以及一微碼插入資料欄位603。欄位601~603的長度係為核心演算法的特徵。在進行部分的解壓縮程序時,插入保險絲元件408提供的目標資料的完整影像,其係用以初始化微碼插入元件414。在隨後的微碼插入組態資料600的解壓縮中,可能使用習知的發佈機制,用以發佈資料603予各自的位址核心以及微碼插入元件414裡的微碼ROM替代電路/暫存器。
請參考第7圖,第7圖顯示根據本發明之解壓縮微碼暫存器組態資料700的格式。在重置操作中,藉由每一核心420,讀取物理級保險絲陣列401裡的壓縮微碼暫存器組態資 料。然後根據匯流排412所提供的保險絲校正資料校正壓縮微碼暫存器組態資料。然後,暫存器保險絲元件409對校正後的壓縮微碼暫存器組態資料進行解壓縮。解壓縮程序的結果係為解壓縮微碼暫存器組態資料700。資料700包括複數解壓縮資料方塊704,解壓縮資料方塊704的數量對應核心420裡需要初始資料的微碼暫存器415的數量。每一解壓縮資料方塊704具有一核心位址欄位701、一微碼暫存器位址欄位702以及一微碼暫存器資料欄位703。欄位701~703的長度係為核心演算法的特徵。在進行部分的解壓縮程序時,暫存器保險絲元件提供目標資料的完整影像,用以初始化微碼暫存器415。在隨後的微碼暫存器組態資料700的解壓縮中,可能使用習知的發佈機制,用以發佈資料703予各自的位址核心以及微碼暫存器415。
請參考第8圖,第8圖顯示根據本發明之解壓縮快取校正資料800的一可能格式。在重置操作中,藉由每一核心420讀取物理級保險絲陣列401的壓縮快取校正資料。然後,根據匯流排412所提供的保險絲校正資料校正壓縮快取校正資料。接著,利用快取保險絲元件410解壓縮校正壓縮快取校正資料。解壓縮程序的結果係為解壓縮快取校正資料800。多核心處理器300使用不同的快取機制,並且解壓縮快取校正資料800存在共用的二級快取記憶體334中。所有核心332可能存取同一快取記憶體334,用以使用相同的儲存空間。因此,第8圖所示的格式係根據上述的演算法。資料800包括複數解壓縮資料方塊804,解壓縮資料方塊804的數量對應核心420裡需要校正資料的快取校正元件416的數量。每一解壓縮資料方塊804具 有一次單元行位址欄位802以及一替換行位址欄位803。本領域人士均深知,在製造快取記憶體時,會在快取記憶體的次單元中,一併形成冗餘的行(或列),用以利用一非功能性行(或列)取代一特定次單元裡的功能性冗餘行(或列)。因此,解壓縮快取校正資料800允許非功能性行取代功能性行(如第8圖所示)。另外,本領域技術人員均深知,當需要利用冗餘次單元行進行取代時,習知具有快取校正的保險絲陣列機制的每一次單元行的保險絲會被熔斷。因此,由於需要大量的保險絲(用以存取所有的次單元及行),故只能含括一部分的次單元,因而造成習知快取校正保險絲很少被熔斷。本發明的特徵在於存取並且壓縮次單元行的位址,並且針對需要被替換的次單元行替換行位址。因此,最小化被應用在快取校正資料的保險絲數量。因此,在物理級保險絲陣列的尺寸以及額外被程式化的組態資料量的限制下,本發明延伸快取記憶體334的次單元行(或列)的數量,快取記憶體334可被校正。在第8圖所示的實施例中,相關聯的核心332共用二級快取記憶體334,用以存取並提供校正資料802~803予各自的快取校正元件416。欄位801~803的長度係為核心演算法的特徵。在解壓縮程序的部分中,快取校正保險絲元件410提供目標資料的完整影像,目標資料係用以初始化快取校正元件416。解壓縮快取校正資料800後,在負責的核心420內的習知發佈機制可能發佈資料802~803予被存取的快取校正元件416。
請參考第9圖,第9圖顯示本發明之解壓縮保險絲校正資料900的一可能格式。如上所述,在重置時,保險絲校 正元件411存取物理級保險絲陣列401裡的壓縮保險絲校正資料406,對壓縮保險絲校正資料進行解壓縮,並且提供解壓縮保險絲校正資料900予核心420的其它元件408~410。解壓縮保險絲校正資料具有至少一結束熔斷欄位(EB)901,其表示在物理級保險絲陣列401裡的程式化事件已成功結束。若隨後生一程式化事件時,一重熔欄位(R)902會被程式化,用以表示隨後的至少一保險絲校正欄位(FC)903,其表示物理級保險絲陣401裡的保險絲會再次被熔斷。每一保險絲校正欄位具有物理級保險絲陣列401裡的特定保險絲的位址,特定保險絲會再次被設定成一狀態(即熔斷或不熔斷)。只有保險絲校正方塊欄位903裡的保險絲會再次被設定,並且每一再次設定事件的欄位903會被一結束熔斷欄位901所隔開。若重熔欄位902成功地被編碼係在一特定結束熔斷欄位901後,根據相對應的保險絲校正欄位,隨後至少保險絲可能會被再次熔斷。因此,在限定的保險絲陣列尺寸及陣列所能提供的資料中,本發明可對相同的保險絲進行多次的設定。
對於一多核心晶粒上的額外特徵,本發明共用具有已壓縮組態資料的物理級保險絲陣列,便可具有實際特性以及電源增益。另外,本領域之技術人員均深知目前的半導體保險絲結構常常具有一些缺點,其中一項就是“長回”(growback)。長回就是程式化程序的顛倒,如一保險絲在熔斷一段時間後,又恢復連接,也就是從一程式狀態(即熔斷)回到一未程式狀態(即未熔斷)。
為了控制長回以及其它挑戰,本發明具有許多優 點,其中一項就是提供冗餘、未組態的物理級保險絲陣列。因此,第11圖提供一可配置的冗餘保險絲組機制。
請參考第10圖,第10圖顯示根據本發明的多核心裝置1000的物理級保險絲陣列1001的一可能實施例。多核心裝置1000包括複數核心1002,其特徵已揭露在第3-10圖及相關說明中。另外,每一核心1002包括陣列控制1003,其根據組態資料暫存器1004裡的組態資料而被程式化。每一陣列控制1003耦接冗餘保險絲陣列1001。
為了說明本發明,第10圖僅顯示四個核心1002以及兩個物理級保險絲陣列1001,但並非用以限制本發明,在其它實施例中,根據本發明的揭露,亦可使用其它數量的核心1002及物理級保險絲陣列1001。
在操作時,每一物理級保險絲陣列1001接收組態資料暫存器1004裡的組態資料,其表示物理級保險絲陣列1001的一特定組態。在一實施例中,根據組態資料的值,物理級保險絲陣列1001作為一聚集物理級保險絲陣列。聚集物理級保險絲陣列的尺寸等於各自的物理級保險絲陣列1001的尺寸總合,並且聚集物理級保險絲陣列可能用以儲存接下來的多筆組態資料,其所儲存的資料量大於單一物理級保險絲陣列1001所儲存的資料量。因此,陣列控制1003控制相對應的核心1002,用以讀取物理級保險絲陣列1001,如一聚集物理級保險絲陣列。在其它實施例中,為了控制長回,物理級保險絲陣列1001根據組態資料的值,作為冗餘保險絲陣列,其利用相同的組態資料而被程式化,並且每一核心1002裡的陣列控制1003具有許 多元件,用以對兩個(或更多)陣列的內容進行OR邏輯,因此,若陣列1001的至少一熔斷保險絲發生長回時,陣列1001裡的至少另一相對應保險絲仍維持熔斷狀態。在一自動防故障實施例中,根據組態資料的值,選擇性地禁能至少一物理級保險絲陣列1001,並且致能剩餘的陣列1001,用以作為一聚集組態或是一OR邏輯組態。因此,每一核心1002裡的陣列控制1003根據組態資料暫存器1004裡的一特定組態資料,不存取被禁能的陣列1001的內容,但存取被致能的冗餘陣列。
藉由任意習知具有可程式化保險絲的裝置、外部接腳設定、JTAG程式或其它相似裝置,便可程式化組態資料暫存器1004。
另一實施例中,本發明發現當至少一物理級保險絲陣列被設置在具有多核心的單一晶粒上時,在核心存取陣列時,可能會發生問題。具體而言,在啟動/重置操作下,多核心處理器裡的每一核心必須根據一串行方向,讀取物理級保險絲陣列。首先,第一核心讀取陣列,然後第二核心讀取陣列,接著第三核心讀取陣列,以此類推。本領域之技術人員均深知,相較於核心所執行的其它操作,保險絲陣列的讀取是最花費時間,因此,當許多核心必需讀取相同陣列時,所需要的時間大致上是一核心的讀取時間乘上晶粒上的核心數量。本領域人士均深知,為了得到可可靠的結果,必需讀取這些保險絲,但根據製造過程,半導體保險絲的讀取次數及壽命影響將會影響半導體保險絲的品質。因此,在其它實施例中,本發明降低所巾核心讀取物理級保險絲陣列的時間,並在啟動及重置操作 中藉由降低多核心處理器的核心的存取數量,用以增加保絲陣列的壽命。
請參考第11圖,其顯示根據本發明快速地將組態資料載入多核心裝置1100的機制示意圖。裝置1100具有複數核心1102,其特性如第3-10圖的相關說明所述。另外,每一核心1102具有陣列控制1103,其係被一載入資料暫存器1104的載入資料所程式化。每一核心1102耦接一物理級保險絲1101,其特徵如第3-10圖的相關說明所述。每一核心1102耦接隨機存取記憶(RAM)1105,其與核心1102設置在相同的晶粒之上,但不能設置在核心1102之中。因此,RAM 1105稱為非核心RAM 1105。
為方便說明,第11圖僅顯示四核心1102以及一物理級保險絲陣列1101,但並非用以限制本發明,在其它實施例中,可延伸成任意數量的核心1101以及複數物理級保險絲陣列1101。
在操作時,每一核心接收載入資料暫存器1104的載入資料,其代表相對於物理級保險絲陣列1101的一特定載入資料。載入資料暫存器1104的內容值指定一核心1102為主核心1102,而其它剩餘核心稱為次核心1102,其具有載入順序。因此,在啟動/重置操作下,陣列控制1103令主核心1102讀取物理級保險絲陣列1101的內容,然後將物理級保險絲陣列1101的內容寫入非核心RAM 1105。若多個物理級保險絲陣列1101設置在晶粒上,則非核心RAM 1105的容量必須能夠儲存所有物理級保險絲陣列1101的資料。在主核心1102將物理級保險絲陣列1101的內容存入非核心RAM 1105後,陣列控制1103令相對應 的次核心1102讀取非核心RAM 1105中載入資料暫存器1104的特定內容。
習知具有可程式保險絲、外部接腳設定、JTAG程式或其它相關裝置,均可程式化載入資料暫存器1104。第11圖所示的實施例亦可整合在第10圖所述的冗餘保險絲陣列機制中。
請參考第12圖,其顯示根據本發明之錯誤確認校正(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。
在操作時,如同第3-11圖所述,保險絲陣列1201會被資料方塊1203的組態資料所程式化。一特定的資料方塊1203或跨越多個資料方塊1203所對應的一特定資料型態(如微碼插入資料、微碼暫存器資料)的組態資料並不會被所程式 化。另外,相對於兩個以上資料型態的組態資料可能會被程式化至相同的資料方塊1203中。另外,ECC碼方塊1202裡的ECC碼程式化陣列1201。根據習知的ECC機制,ECC碼被程式化至一相對應的資料方塊1203,但並非用以限制本發明。在其它實施例中,亦可使用SECDED漢明(Hamming)碼、Chipkill ECC、或是前置錯誤校正(FEC)碼的變動。在一可能實施例中,資料方塊1203相關的位址及其相對應的ECC碼方塊1202均為習知。因此,不需使用在第12圖圖中相鄰資料方塊1203的相對應ECC碼方塊1202。
解壓縮器1226的結構及功能大致相同於第4圖所示的解壓縮器421,並且已略為敍述於第5-11圖中。在重置核心1220時,在執行上述的解壓縮功能之前,重置控制器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檢驗子,用以判斷是否沒有錯誤發生、是否發生可校正錯誤或是不可校正錯誤發生。ECC元件1224更用以校正可校正錯誤。藉由匯流排CDATA將未校正及已校正資料提供予解壓縮器1226,用以進行上述的解壓縮動 作。藉由匯流排CDATA將不可校正的錯誤提供予解壓縮器1226。若組態資料的操作上關鍵部分被判斷是不可校正時,解壓縮器1226可能造成核心1220的關閉或是以其它方式標註錯誤。
在一可能實施例中,ECC元件124包括至少一微碼程序,其用以執行上述的ECC功能。
本發明及相對應敍述內容所提供的軟體或是演算法及符號係表示一電腦記憶體裡的資料位元的操作。這些內容及圖示可使本領域之技術人員有效地表達相關內容予本領域之其它技術人員。使用上述的演算法係用以表達一自我前後一致的順序。這些步驟需要物理量的物理級操作。一般而言,這些物理量可能是光、電或是磁性號,其可被儲存、轉換、整合、比較及其它操作。有些為了方便,這些信號會被稱為位元、值、元件、符號、特性、項目、數量或其它相關內容。
然而,需注意的是,這些相似的術語係與物理量有關,並且只是用以方便說明這些物理量。除非另外特別說明,不然上述的術語(如處理、估算、計算、判斷、顯示、或其它相關術語)指的是一電腦系統、一微處理器、一中央處理單元或相似的電子電腦裝置的動作及處理,其操作並轉換資料,其表示物理性、電腦系統的暫存器及記憶體的數量,用以得到其它相似電腦系統的記憶體、暫存器或其它相似的資訊儲存裝置、或顯示裝置的物理量的資料。
需注意到的是,本發明實現軟體的方法係在程式儲存媒體或其它相似型態的傳送媒體上進行編碼。程式儲存媒 體可能是電子式(如唯讀記憶體、快閃唯讀記憶體、電子抺除式唯讀記憶體)、隨機存取記憶體磁性裝置(如一軟碟或一硬碟)或光學式(如唯讀光碟記憶體CD ROM)、以及其它唯讀或隨機存取元件。同樣地,傳送媒體可能是金屬導線、雙絞線、同軸電纜、光纖、或其它習知相似的傳送媒體。本發明並不限制在這些實施例。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000‧‧‧多核心裝置
1001‧‧‧物理級保險絲陣列
1002‧‧‧核心
1003‧‧‧陣列控制
1004‧‧‧組態資料暫存器

Claims (22)

  1. 一種處理裝置,用以提供組態資料予一微處理器,該處理裝置包括:一保險絲陣列組,設置在一晶粒上,並包括:一第一保險絲陣列;以及一第二保險絲陣列;以及至少一核心,設置在該晶粒上,至少該核心耦接該保險絲陣列組,並包括:一陣列控制,存取該第一及第二保險絲陣列,並根據一組態資料暫存器的內容,處理該第一保險絲陣列的一第一狀態及該第二保險絲陣列的一第二狀態,其中該第一保險絲陣列根據至少該核心的一壓縮組態資料而被程式化,並且該組態資料暫存器的內容令該陣列控制阻止該第二保險絲陣列的存取並且只允許該第一保險絲陣列的存取,用以得知該第一狀態。
  2. 如申請專利範圍第1項所述之處理裝置,其中至少該核心包括一x86相容的單核或多核心微處理器。
  3. 如申請專利範圍第1項所述之處理裝置,其中該組態資料暫存器的內容令該陣列控制處理該第一狀態及該第二狀態,用以作為一聚集保險絲陣列,該聚集保險絲陣列包括至少該核心的一壓縮組態資料,並且該壓縮組態資料被程式化至該第一及該第二保險絲陣列中。
  4. 如申請專利範圍第1項所述之處理裝置,其中該組態資料暫存器的內容令該陣列控制處理該等第一狀態及該第二狀態, 用以作為複數冗餘保險絲陣列,該等冗餘保險絲陣列係被至少該核心的一壓縮組態資料而程式化,並且該陣列控制包括複數元件,用以對該第一狀態及該第二狀態進行OR邏輯運算。
  5. 如申請專利範圍第1項所述之處理裝置,其中該第二保險絲陣列根據至少該核心的一壓縮組態資料而被程式化,並且該組態資料暫存器的內容令該陣列控制阻止該第一保險絲陣列的存取並且只允許該第二保險絲陣列的存取,用以得知該第二狀態。
  6. 如申請專利範圍第1項所述之處理裝置,更包括一虛擬保險絲陣列,該虛擬保險絲陣列的資料被壓縮,用以產生該壓縮組態資料,該虛擬保險絲陣列對應至少該核心。
  7. 一種處理方法,用以提供組態資料予一微處理器,該處理方法包括:設置一保險絲陣列組在一晶粒上,其中該保險絲陣列組包括一第一保險絲陣列以及一第二保險絲陣列;設置至少一核心在該晶粒上,至少該核心耦接該保險絲陣列組;以及使用至少該核心的一陣列控制,用以根據一組態資料暫存器的內容,存取並處理該第一保險絲陣列的一第一狀態及該第二保險絲陣列的一第二狀態,其中該第一保險絲陣列根據至少該核心的一壓縮組態資料而被程式化,並且該組態資料暫存器的內容令該陣列控制阻止該第二保險絲陣列的存取並且只允許該第一保險絲陣列的存取,用以得知該 第一狀態。
  8. 如申請專利範圍第7項所述之處理方法,其中至少該核心包括一x86相容的單核或多核心微處理器。
  9. 如申請專利範圍第7項所述之處理方法,其中該組態資料暫存器的內容令該陣列控制處理該第一狀態及該第二狀態,用以作為一聚集保險絲陣列,該聚集保險絲陣列包括至少該核心的一壓縮組態資料,並且該壓縮組態資料被程式化至該第一及該第二保險絲陣列中。
  10. 如申請專利範圍第7項所述之處理方法,其中該組態資料暫存器的內容令該陣列控制處理該第一狀態及該第二狀態,用以作為複數冗餘保險絲陣列,該等冗餘保險絲陣列係被至少該核心的一壓縮組態資料而程式化,並且該陣列控制包括複數元件,用以對該第一狀態及該第二狀態進行OR邏輯運算。
  11. 如申請專利範圍第7項所述之處理方法,其中該第二保險絲陣列根據至少該核心的一壓縮組態資料而被程式化,並且該組態資料暫存器的內容令該陣列控制阻止該第一保險絲陣列的存取並且只允許該第二保險絲陣列的存取,用以得知該第二狀態。
  12. 如申請專利範圍第7項所述之處理方法,更包括壓縮一虛擬保險絲陣列的資料,用以產生該壓縮組態資料,該虛擬保險絲陣列對應至少該核心。
  13. 一種處理裝置,用以提供組態資料予一微處理器,該處理裝置包括: 一保險絲陣列,設置在一晶粒上,並包括複數半導體保險絲,該等半導體保險絲根據一壓縮組態資料而被程式化;一隨機存取記憶體(RAM),設置在該晶粒上;以及複數核心,各自地設置在該晶粒上,其中每一核心耦接該保險絲陣列及該隨機存取記憶體,並且在啟動/重置操作下,該等核心之每一者根據一載入資料暫存器的內容存取該保險絲陣列或該隨機存取記憶體,用以得知該壓縮組態資料,其中該載入資料暫存器的內容係說明該等核心之每一者的一載入順序,該載入順序指定該等核心之一者為一主核心,並且在啟動/重置操作下,該主核心讀取該保險絲陣列,並將該壓縮組態資料寫入該隨機存取記憶體。
  14. 如申請專利範圍第13項所述之處理裝置,其中一虛擬保險絲陣列的資料被壓縮,用以產生該壓縮組態資料,該虛擬保險絲對應該等核心。
  15. 如申請專利範圍第13項所述之處理裝置,其中該等核心之每一者存取並解壓縮該等壓縮組態資料,用以初始化該等核心之每一者的複數元件。
  16. 如申請專利範圍第13項所述之處理裝置,其中該等核心之每一者包括:一陣列控制,用以讀取該載入資料暫存器,並根據該載入資料暫存器的內容控制該保險絲陣列或該隨機存取記憶體的存取。
  17. 如申請專利範圍第13項所述之處理裝置,其中該載入順序指定該等核心中其餘核心為次核心,並且在該主核心已將 該壓縮組態資料寫入該隨機存取記憶體中後,每一次核心根據該載入順序讀取該隨機存取記憶體,用以得知該壓縮組態資料。
  18. 一種處理方法,用以提供組態資料予一微處理器,該處理方法包括:設置一保險絲陣列設置在一晶粒上,其中該保險絲陣列包括複數半導體保險絲,該等半導體保險絲根據一壓縮組態資料而被程式化;設置一隨機存取記憶體(RAM)在該晶粒上;將複數核心各自地設置在該晶粒上,並耦接每一核心與該保險絲陣列及該隨機存取記憶體;以及在啟動/重置操作下,透過該等核心之每一者根據一載入資料暫存器的內容存取該保險絲陣列或該隨機存取記憶體,用以得知該壓縮組態資料,其中該載入資料暫存器的內容係說明該等核心之每一者的一載入順序,該載入順序指定該等核心之一者為一主核心,並且在啟動/重置操作下,該主核心讀取該保險絲陣列,並將該壓縮組態資料寫入該隨機存取記憶體。
  19. 如申請專利範圍第18項所述之處理方法,更包括:壓縮一虛擬保險絲陣列的資料,用以產生該壓縮組態資料,該虛擬保險絲對應該等核心。
  20. 如申請專利範圍第18項所述之處理方法,其中該等核心之每一者存取並解壓縮該等壓縮組態資料,用以初始化該等核心之每一者的複數元件。
  21. 如申請專利範圍第18項所述之處理方法,其中該等核心之每一者包括:一陣列控制,用以讀取該載入資料暫存器,並根據該載入資料暫存器的內容控制該保險絲陣列或該隨機存取記憶體的存取。
  22. 如申請專利範圍第18項所述之處理方法,其中該載入順序指定該等核心中其餘核心為次核心,並且在該主核心已將該壓縮組態資料寫入該隨機存取記憶體中後,每一次核心根據該載入順序讀取該隨機存取記憶體,用以得知該壓縮組態資料。
TW103125467A 2013-08-21 2014-07-25 組態資料的處理裝置及方法 TWI571797B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/972,609 US20150058598A1 (en) 2013-08-21 2013-08-21 Apparatus and method for configurable redundant fuse banks
US13/972,690 US20150054543A1 (en) 2013-08-21 2013-08-21 Apparatus and method for rapid fuse bank access in a multi-core processor

Publications (2)

Publication Number Publication Date
TW201508634A TW201508634A (zh) 2015-03-01
TWI571797B true TWI571797B (zh) 2017-02-21

Family

ID=51964249

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103125467A TWI571797B (zh) 2013-08-21 2014-07-25 組態資料的處理裝置及方法

Country Status (2)

Country Link
CN (1) CN104183270B (zh)
TW (1) TWI571797B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016097811A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude load replays dependent on fuse array access in out-of-order processor
EP3049956B1 (en) 2014-12-14 2018-10-10 VIA Alliance Semiconductor Co., Ltd. Mechanism to preclude i/o-dependent load replays in out-of-order processor
US10114646B2 (en) 2014-12-14 2018-10-30 Via Alliance Semiconductor Co., Ltd Programmable load replay precluding mechanism
US10146539B2 (en) 2014-12-14 2018-12-04 Via Alliance Semiconductor Co., Ltd. Load replay precluding mechanism
EP3055768B1 (en) 2014-12-14 2018-10-31 VIA Alliance Semiconductor Co., Ltd. Mechanism to preclude uncacheable-dependent load replays in out-of-order processor
US10088881B2 (en) 2014-12-14 2018-10-02 Via Alliance Semiconductor Co., Ltd Mechanism to preclude I/O-dependent load replays in an out-of-order processor
US10108429B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude shared RAM-dependent load replays in an out-of-order processor
US10175984B2 (en) 2014-12-14 2019-01-08 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor
WO2016097804A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Programmable load replay precluding mechanism
US10127046B2 (en) 2014-12-14 2018-11-13 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude uncacheable-dependent load replays in out-of-order processor
US10228944B2 (en) 2014-12-14 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus and method for programmable load replay preclusion
US9804845B2 (en) 2014-12-14 2017-10-31 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor
US10083038B2 (en) 2014-12-14 2018-09-25 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on page walks in an out-of-order processor
US10108430B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor
WO2016097815A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude x86 special bus cycle load replays in out-of-order processor
US10146540B2 (en) 2014-12-14 2018-12-04 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor
WO2016097800A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Power saving mechanism to reduce load replays in out-of-order processor
WO2016097790A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor
US10108428B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor
US10133580B2 (en) 2014-12-14 2018-11-20 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor
US10120689B2 (en) 2014-12-14 2018-11-06 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor
US10108420B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor
US10209996B2 (en) 2014-12-14 2019-02-19 Via Alliance Semiconductor Co., Ltd. Apparatus and method for programmable load replay preclusion
US9645827B2 (en) 2014-12-14 2017-05-09 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude load replays dependent on page walks in an out-of-order processor
US10089112B2 (en) 2014-12-14 2018-10-02 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor
US10108421B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude shared ram-dependent load replays in an out-of-order processor
KR101822726B1 (ko) 2014-12-14 2018-01-26 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 로드 리플레이를 억제하는 메커니즘
CN108153559A (zh) * 2017-12-08 2018-06-12 芯海科技(深圳)股份有限公司 一种不影响mcu工作实时性的快速重构架构
TWI696113B (zh) * 2019-01-02 2020-06-11 慧榮科技股份有限公司 用來進行組態管理之方法以及資料儲存裝置及其控制器
CN116338439B (zh) * 2023-05-29 2023-08-04 成都瑞迪威科技有限公司 一种通过移相控制的芯片初始化数据测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW567502B (en) * 2001-09-25 2003-12-21 Mitsubishi Electric Corp Semiconductor memory device
CN1855313A (zh) * 2005-04-26 2006-11-01 国际商业机器公司 通过重复数据的使用而提高熔丝编程产率的方法和装置
US8208281B2 (en) * 2009-02-25 2012-06-26 Samsung Electronics Co., Ltd. Semiconductor devices supporting multiple fuse programming modes
TWM455257U (zh) * 2011-11-03 2013-06-11 Etron Technology Inc 可重組態的高速記憶晶片模組和電子系統裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW567502B (en) * 2001-09-25 2003-12-21 Mitsubishi Electric Corp Semiconductor memory device
CN1855313A (zh) * 2005-04-26 2006-11-01 国际商业机器公司 通过重复数据的使用而提高熔丝编程产率的方法和装置
US8208281B2 (en) * 2009-02-25 2012-06-26 Samsung Electronics Co., Ltd. Semiconductor devices supporting multiple fuse programming modes
TWM455257U (zh) * 2011-11-03 2013-06-11 Etron Technology Inc 可重組態的高速記憶晶片模組和電子系統裝置

Also Published As

Publication number Publication date
CN104183270A (zh) 2014-12-03
CN104183270B (zh) 2017-08-25
TW201508634A (zh) 2015-03-01

Similar Documents

Publication Publication Date Title
TWI571797B (zh) 組態資料的處理裝置及方法
US8879345B1 (en) Microprocessor mechanism for decompression of fuse correction data
US9740622B2 (en) Extended fuse reprogrammability mechanism
TWI556158B (zh) 組態資料的處理裝置及方法
US8982655B1 (en) Apparatus and method for compression and decompression of microprocessor configuration data
US20150058609A1 (en) Apparatus and method for storage and decompression of configuration data
TWI552068B (zh) 組態資料的處理裝置及方法
US9348690B2 (en) Correctable configuration data compression and decompression system
EP2840490B1 (en) Core-specific fuse mechanism for a multi-core die
US20150058563A1 (en) Multi-core fuse decompression mechanism
TWI532049B (zh) 向積體電路提供配置資料的裝置和方法
EP2840491B1 (en) Extended fuse reprogrammability mechanism
EP2840508B1 (en) Apparatus and method for extended cache correction
US20150058565A1 (en) Apparatus and method for compression of configuration data
US20150058598A1 (en) Apparatus and method for configurable redundant fuse banks
US20150054543A1 (en) Apparatus and method for rapid fuse bank access in a multi-core processor
US20150055427A1 (en) Multi-core microprocessor configuration data compression and decompression system