TWI552068B - Processing device and method for configuration data - Google Patents
Processing device and method for configuration data Download PDFInfo
- Publication number
- TWI552068B TWI552068B TW103125466A TW103125466A TWI552068B TW I552068 B TWI552068 B TW I552068B TW 103125466 A TW103125466 A TW 103125466A TW 103125466 A TW103125466 A TW 103125466A TW I552068 B TWI552068 B TW I552068B
- Authority
- TW
- Taiwan
- Prior art keywords
- fuse
- fuses
- core
- correction data
- address
- Prior art date
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明係有關於一種處理裝置,特別是有關於一種提供組態資料予一微處理器的處理裝置及方法。 The present invention relates to a processing apparatus, and more particularly to a processing apparatus and method for providing configuration information to a microprocessor.
積體電路的技術在過去40年內,以指數方式成長。特別是在微處理器領域中,由4位元單指令、10微米裝置開始,半導體製造技術的成長讓設計者可提高複合式裝置內部的元件密度。在80及90年代的管線式微處理器及超純量微處理器中,可將數百萬個電晶體設置在單一晶粒中。在隨後的20年中,出現了64位元的32奈米裝置,其將數十億個電晶體設置在單一晶粒中,該晶粒具有多微處理器核心,用以處理資料。 The technology of integrated circuits has grown exponentially over the past 40 years. Especially in the field of microprocessors, starting with 4-bit single-instruction, 10 micron devices, the growth of semiconductor manufacturing technology has allowed designers to increase the component density inside composite devices. In pipeline microprocessors and ultra-pure microprocessors in the 1980s and 1990s, millions of transistors were placed in a single die. Over the next 20 years, a 64-bit 32 nm device emerged that placed billions of transistors in a single die with a multi-microprocessor core for processing data.
在啟動或重置裝置時,這些早期的裝置需被組態資料所初始化。舉例而言,許多架構利用至少一可選擇的頻率及/或電壓,致能裝置。其它架構要求每一裝置需具有一序號以及其它可透過執行指令而讀取的資訊。另一些裝置內部的暫存器及控制電路需要初始化資料。當前述電路在製造時發生錯誤或是並未位於臨界限制中時,其它裝置利用組態資料執行額外電路。 These early devices need to be initialized by the configuration data when starting or resetting the device. For example, many architectures utilize at least one selectable frequency and/or voltage to enable the device. Other architectures require each device to have a serial number and other information that can be read by executing the instructions. The internal registers and control circuits of other devices require initialization data. When the aforementioned circuit is in error at the time of manufacture or is not in a critical limit, other devices perform additional circuits using the configuration data.
本領域人士均深知,設計者可利用傳統整合在晶粒上的半導體保險絲陣列儲存並提供初始組態資料。當部分保 險絲陣列已製造完成時,可藉由熔斷所選擇到的保險絲,對這些保險絲陣列進行程式化,並且保險絲陣列具有數千位元的資訊,在啟動/重置裝置時,便可讀取保險絲陣列,用以初始化及設定相對應裝置的操作。 It is well known in the art that designers can store and provide initial configuration data using conventional semiconductor fuse arrays integrated on the die. Partial insurance When the array of dangerous wires has been manufactured, these fuse arrays can be programmed by blowing the selected fuses, and the fuse array has thousands of bits of information. When the device is activated/reset, the fuse can be read. An array for initializing and setting the operation of the corresponding device.
當裝置的複雜性愈來愈高時,組態資料量會隨之增加。然而,本領域人士深知,雖然電晶體的尺寸隨半導體製程而縮小,但整合在晶粒上的半導體保險絲的尺寸卻增加。這個現象影響可使用空間以及功率損耗,因而成為設計者的問題。因此,若欲製造一大保險絲陣列在晶粒上時,晶粒可能無法提供足夠的可使用空間。 As the complexity of the device increases, so does the amount of configuration data. However, it is well known in the art that although the size of the transistor is reduced with the semiconductor process, the size of the semiconductor fuse integrated on the die is increased. This phenomenon affects the usable space and power loss, and thus becomes a designer's problem. Therefore, if a large fuse array is to be fabricated on a die, the die may not provide sufficient usable space.
另外,由於每一核心需要一定數量的保險絲,因此,若欲在單一晶粒上製造許多核心時,將使上述問題惡化。 In addition, since a certain number of fuses are required for each core, the above problems are aggravated if a large number of cores are to be fabricated on a single die.
因此,需要一裝置及方法使組態資料可被儲存並提供在一多核心裝置中,並且在單一晶粒中,不會佔用太多的空間及消耗太多的電源。 Therefore, there is a need for a device and method that allows configuration data to be stored and provided in a multi-core device, and in a single die, does not take up too much space and consumes too much power.
另外,需要一保險絲陣列機制,用以在相同或更小的空間中,儲存並提供比傳統技術更多的組態資料。 In addition, a fuse array mechanism is needed to store and provide more configuration data than conventional techniques in the same or smaller space.
本發明利用一多核心裝置裡的一保險絲陣列的壓縮組態資料,提供較佳的技術,用以解決上述問題並滿足其它問題及缺點以及習知的受限。在一可能實施例中,本發明提供一種處理裝置,用以提供組態資料予一微處理器,並包括一保險絲陣列、一快取記憶體以及至少一核心。保險絲陣列設置在一晶粒上,並根據組態資料而被程式化。保險絲陣列包括複數 第一半導體保險絲,用以儲存一壓縮的快取校正資料。快取記憶體設置在晶粒上。核心設置在晶粒上。核心耦接保險絲陣列及快取記憶體,並在啟動/重置操作下,存取保險絲陣列,用以解壓縮壓縮的快取校正資料,並發佈一解壓縮的快取校正資料,用以初始化快取記憶體。 The present invention utilizes a compressed configuration of a fuse array in a multi-core device to provide a preferred technique for solving the above problems and meeting other problems and disadvantages as well as the limitations of the prior art. In a possible embodiment, the present invention provides a processing device for providing configuration data to a microprocessor and including a fuse array, a cache memory, and at least one core. The fuse array is placed on a die and programmed according to the configuration data. Fuse array includes plural The first semiconductor fuse is configured to store a compressed cache correction data. The cache memory is placed on the die. The core is placed on the die. The core couples the fuse array and the cache memory, and accesses the fuse array under the start/reset operation to decompress the compressed cache correction data and issue a decompressed cache correction data for initialization Cache memory.
本發明另提供一種處理裝置,用以提供組態資料予一微處理器,並包括一保險絲陣列。保險絲陣列設置在一晶粒上,根據壓縮組態資料而被程式化,並包括複數第一半導體保險絲以及複數第二半導體保險絲。第一半導體保險絲用以根據一編碼壓縮格式,儲存組態資料。第二半導體保險絲用以儲存一第一保險絲校正資料。第一保險絲校正資料用以表示對應於第一半導體保險絲中需要改變狀態的至少一第一保險絲的位址及值。 The invention further provides a processing device for providing configuration data to a microprocessor and including an array of fuses. The fuse array is disposed on a die and is programmed according to the compression configuration data and includes a plurality of first semiconductor fuses and a plurality of second semiconductor fuses. The first semiconductor fuse is used to store configuration data according to a code compression format. The second semiconductor fuse is used to store a first fuse correction data. The first fuse correction data is used to indicate an address and a value corresponding to at least one first fuse of the first semiconductor fuse that needs to be changed.
本發明更提供一種處理方法,用以提供組態資料予一微處理器,並包括設置一保險絲陣列在一晶粒上,保險絲陣列包括複數第一半導體保險絲,且儲存一壓縮的快取校正資料在第一半導體保險絲中;設置至少一核心在晶粒上,其中核心耦接保險絲陣列及快取記憶體;以及在啟動/重置操作下,透過核心存取保險絲陣列,解壓縮壓縮的快取校正資料,並發佈一解壓縮的快取校正資料,用以初始化快取記憶體。 The present invention further provides a processing method for providing configuration data to a microprocessor, and including setting a fuse array on a die, the fuse array including a plurality of first semiconductor fuses, and storing a compressed cache correction data In the first semiconductor fuse; at least one core is disposed on the die, wherein the core is coupled to the fuse array and the cache memory; and in the start/reset operation, the core is accessed through the fuse array, and the compressed cache is decompressed Correct the data and issue a decompressed cache correction data to initialize the cache memory.
本發明另提供一種處理方法,用以提供組態資料予一微處理器,並包括設置一保險絲陣列在一晶粒上,其中設置步驟包括:儲存組態資料在複數第一半導體保險絲中,其中組態資料係被儲存成一編碼壓縮格式;以及儲存第一保險絲校 正資料在複數第二半導體保險絲中,其中第一保險絲校正資料用以表示對應於第一半導體保險絲中需要改變狀態的至少一第一保險絲的位址及值。 The present invention further provides a processing method for providing configuration data to a microprocessor, and including setting a fuse array on a die, wherein the setting step includes: storing configuration data in the plurality of first semiconductor fuses, wherein The configuration data is stored in a code compression format; and the first fuse is stored The positive data is in a plurality of second semiconductor fuses, wherein the first fuse correction data is used to indicate an address and a value corresponding to at least one first fuse of the first semiconductor fuse that needs to be changed.
對於工業應用,本發明可應用在微處理器中,其係應用在一般或特殊用途的電腦裝置中。 For industrial applications, the invention is applicable to microprocessors that are used in general or special purpose computer devices.
為讓本發明之特徵和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下: In order to make the features and advantages of the present invention more comprehensible, the preferred embodiments are described below, and are described in detail with reference to the accompanying drawings.
100、200‧‧‧方塊 100, 200‧‧‧ squares
101‧‧‧微處理器核心 101‧‧‧Microprocessor core
102、201、336‧‧‧保險絲陣列 102, 201, 336 ‧ ‧ fuse array
103‧‧‧重置邏輯 103‧‧‧Reset logic
104‧‧‧重置電路 104‧‧‧Reset circuit
105‧‧‧重置微碼 105‧‧‧Reset microcode
107‧‧‧控制電路 107‧‧‧Control circuit
108‧‧‧微碼暫存器 108‧‧‧Microcode register
109‧‧‧微碼插入元件 109‧‧‧Microcode Insertion Components
110‧‧‧快取校正元件 110‧‧‧Cache correction component
RESET‧‧‧重置信號 RESET‧‧‧Reset signal
202、PFB1~PFBN、RFB1~RFBN‧‧‧保險絲組 202, PFB1~PFBN, RFB1~RFBN‧‧‧Fuse Group
203‧‧‧保險絲 203‧‧‧Fuse
210~211‧‧‧暫存器 210~211‧‧‧ register
PR1‧‧‧主要暫存器 PR1‧‧‧main register
RR1‧‧‧冗餘暫存器 RR1‧‧‧Redundant Register
212‧‧‧互斥或邏輯閘 212‧‧‧Exclusive or logic gate
FB3‧‧‧輸出 FB3‧‧‧ output
310‧‧‧裝置程式器 310‧‧‧ device programmer
320‧‧‧壓縮器 320‧‧‧Compressor
301‧‧‧虛擬保險絲組 301‧‧‧Virtual fuse set
302‧‧‧虛擬保險絲 302‧‧‧virtual fuse
330‧‧‧晶粒 330‧‧‧ grain
332、1002、1102‧‧‧核心 332, 1002, 1102‧‧ core
334‧‧‧快取記憶體 334‧‧‧Cache memory
401、1001、1101、1201‧‧‧物理級保險絲陣列 401, 1001, 1101, 1201‧‧‧ physical fuse array
403‧‧‧已壓縮的微碼插入保險絲 403‧‧‧Compressed microcode insertion fuse
404‧‧‧已壓縮的暫存器保險絲 404‧‧‧Compressed register fuse
405‧‧‧已壓縮的快取校正保險絲 405‧‧‧Compressed cache correction fuse
406‧‧‧已壓縮的保險絲校正保險絲 406‧‧‧Compressed fuse correction fuse
408‧‧‧插入保險絲元件 408‧‧‧Insert fuse element
409‧‧‧暫存器保險絲元件 409‧‧‧Storage fuse element
410‧‧‧快取保險絲元件 410‧‧‧Quick Fuse Components
411‧‧‧保險絲校正元件 411‧‧‧Fuse correction component
412‧‧‧匯流排 412‧‧‧ busbar
414‧‧‧微碼插入元件 414‧‧‧Microcode Insertion Component
415‧‧‧微碼暫存器 415‧‧‧microcode register
416‧‧‧快取校正元件 416‧‧‧Cache correction component
417‧‧‧重置控制器 417‧‧‧Reset controller
420‧‧‧微處理器核心 420‧‧‧Microprocessor core
421‧‧‧解壓縮器 421‧‧Decompressor
500‧‧‧壓縮組態資料 500‧‧‧Compressed configuration data
502‧‧‧壓縮資料欄位 502‧‧‧Compressed data field
503‧‧‧結束型態欄位 503‧‧‧End type field
504‧‧‧結束熔斷欄位 504‧‧‧End of the melting field
600‧‧‧解壓縮微碼插入組態資料 600‧‧‧Uncompressed microcode insertion configuration data
601‧‧‧核心位址欄位 601‧‧‧ core address field
602‧‧‧微碼ROM位址欄位 602‧‧‧Microcode ROM address field
603‧‧‧微碼插入資料欄位 603‧‧‧Microcode insertion data field
604‧‧‧解壓縮資料方塊 604‧‧Decompressed data block
700‧‧‧解壓縮微碼暫存器組態資料 700‧‧‧Uncompressed Microcode Register Configuration Data
701‧‧‧核心位址欄位 701‧‧‧Core address field
702‧‧‧微碼暫存器位址欄位 702‧‧‧Microcode register address field
703‧‧‧微碼暫存器資料欄位 703‧‧‧Microcode register data field
704‧‧‧解壓縮資料方塊 704‧‧‧Uncompressed data block
800‧‧‧解壓縮快取校正資料 800‧‧‧Uncompressed cache correction data
802‧‧‧次單元行位址欄位 802‧‧‧unit cell address field
803‧‧‧替換行位址欄位 803‧‧‧Replacement of the address field
804‧‧‧解壓縮資料方塊 804‧‧‧Uncompressed data box
900‧‧‧解壓縮保險絲校正資料 900‧‧·Uncompressed fuse correction data
901‧‧‧結束熔斷欄位 901‧‧‧End of the melting field
902‧‧‧重熔欄位 902‧‧‧ remelting field
903‧‧‧保險絲校正欄位 903‧‧‧Fuse correction field
1000‧‧‧多核心裝置 1000‧‧‧Multi-core devices
1003、1103‧‧‧陣列控制 1003, 1103‧‧‧ array control
1004‧‧‧組態資料暫存器 1004‧‧‧Configuration Data Register
1100‧‧‧裝置 1100‧‧‧ device
1104‧‧‧載入資料暫存器 1104‧‧‧Load data register
1105‧‧‧非核心RAM 1105‧‧‧Non-core RAM
1200‧‧‧錯誤確認校正機制 1200‧‧‧Error confirmation correction mechanism
1202‧‧‧ECC碼方塊 1202‧‧‧ECC code block
1203‧‧‧壓縮組態資料方塊 1203‧‧‧Compressed configuration data block
1224‧‧‧ECC元件 1224‧‧‧ECC components
1226‧‧‧解壓縮器 1226‧‧ decompressor
1220‧‧‧微處理器核心 1220‧‧‧Microprocessor core
1222‧‧‧重置控制器 1222‧‧‧Reset controller
CDATA‧‧‧匯流排 CDATA‧‧‧ busbar
ADDR‧‧‧位址匯流排 ADDR‧‧‧ address bus
CODE‧‧‧碼匯流排 CODE‧‧‧ code bus
DATA‧‧‧資料匯流排 DATA‧‧‧ data bus
300‧‧‧保險絲陣列壓縮系統 300‧‧‧Fuse Array Compression System
303‧‧‧虛擬保險絲陣列 303‧‧‧Virtual Fuse Array
400‧‧‧保險絲解壓縮機制 400‧‧‧Fuse decompression mechanism
第1圖為習知具有一保險絲陣列的微處理器核心的示意圖。 Figure 1 is a schematic illustration of a conventional microprocessor core having a fuse array.
第2圖係為第1圖之具有冗餘保險絲組的微處理器核心的示意圖。 Figure 2 is a schematic diagram of the microprocessor core with redundant fuse sets of Figure 1.
第3圖係為根據本發明之提供壓縮及解壓縮組態資料予一多核心裝置之示意圖。 Figure 3 is a schematic illustration of the provision of compression and decompression configuration data to a multi-core device in accordance with the present invention.
第4圖為根據本發明之保險絲解壓縮機制之一可能實施例。 Figure 4 is a possible embodiment of a fuse decompression mechanism in accordance with the present invention.
第5圖係為本發明之壓縮組態資料的一可能格式示意圖。 Figure 5 is a schematic diagram of a possible format of the compressed configuration data of the present invention.
第6圖為本發明的解壓縮微碼插入組態資料的一可能格式示意圖。 Figure 6 is a schematic diagram of a possible format of the decompressed microcode insertion configuration data of the present invention.
第7圖為本發明之解壓縮微碼暫存器組態資料的一可能格式示意圖。 Figure 7 is a schematic diagram of a possible format of the decompressed microcode register configuration data of the present invention.
第8圖為本發明之解壓縮快取校正資料的一可能格式示意圖。 Figure 8 is a schematic diagram of a possible format of the decompressed cache correction data of the present invention.
第9圖為本發明之解壓縮保險絲校正資料的一可能格式示意圖。 Figure 9 is a schematic diagram of a possible format of the decompressed fuse correction data of the present invention.
第10圖為本發明之具有可組態冗餘保險絲陣列的多核心裝置的一可能實施例。 Figure 10 is a possible embodiment of a multi-core device with a configurable redundant fuse array of the present invention.
第11圖為本發明之快速地載入組態資料至多核心裝置的機制示意圖。 Figure 11 is a schematic diagram of the mechanism for quickly loading configuration data into a multi-core device of the present invention.
第12圖為本發明之錯誤確認校正機制的一可能實施例。 Figure 12 is a possible embodiment of the error confirmation correction mechanism of the present invention.
積體電路(IC)係指一電子電路集合形成在一小尺寸的半導體材料上,如矽。一積體電路也可稱為一晶片、一微晶片或一晶粒。 Integrated circuit (IC) refers to a collection of electronic circuits formed on a small size semiconductor material, such as germanium. An integrated circuit can also be referred to as a wafer, a microchip or a die.
中央處理單元(CPU)係指電子電路(即硬體)藉由執行一資料的操作,執行一電腦程式(即為電腦應用程式或應用程式)的指令,該資料的操作包括算述操作、邏輯操作及輸入/輸出操作。 A central processing unit (CPU) is an electronic circuit (ie, a hardware) that executes a data program to execute a computer program (ie, a computer application or an application). The operation of the data includes arithmetic operations and logic. Operation and input/output operations.
微處理器係指一電子裝置作為一單一積體電路上的一中央處理單元。一微處理器接收數位資料,作為輸入,根據一記憶體的指令處理資料,並產生輸出指令所要求的操作結果,其中記憶體設置或不設置在晶粒上。一通用微處理器可應用在桌上型、可攜帶型或平板電路中,並且可計算、文字處理、多媒體顯示以及網路瀏覽。一微處理器可能設置在一嵌入式系統中,用以控制許多裝置,包括設備、行動電話、智慧型手機以及工業用控制裝置。 Microprocessor refers to an electronic device as a central processing unit on a single integrated circuit. A microprocessor receives the digital data as input, processes the data according to a memory instruction, and produces an operation result required by the output instruction, wherein the memory is set or not disposed on the die. A general purpose microprocessor can be used in desktop, portable or tablet circuits and can be used for computing, word processing, multimedia display and web browsing. A microprocessor may be placed in an embedded system to control a number of devices, including devices, mobile phones, smart phones, and industrial controls.
多核心處理器也稱為多核心微處理器、多核心處 理器係為一微處理器,其具有多中央處單元(核心),其係形成在同一積體電路上。 Multi-core processors are also known as multi-core microprocessors, multi-core The processor is a microprocessor having a plurality of central units (cores) formed on the same integrated circuit.
指令集架構(ISA)或指令集係指用以程式化的一電腦架構的部分,其包括資料型態、指令、暫存器、位址模式、記憶體架構、中斷及異常處理與輸入/輸出。一ISA包括操作碼集合的特性(即機械語言指令)以及一特定CPU所使用的本地命令。 An instruction set architecture (ISA) or instruction set is a part of a computer architecture that is used to be programmed, including data types, instructions, registers, address patterns, memory architecture, interrupts, exception handling, and input/output. . An ISA includes the characteristics of the set of opcodes (ie, machine language instructions) and local commands used by a particular CPU.
x86相容微處理器係指一具有執行電腦應用程式的微處理器,根據x86 ISA便可程式化電腦應用程式。 An x86-compatible microprocessor is a microprocessor with a computer-implemented application that can be used to program a computer application based on the x86 ISA.
微碼係指複數微指令。一微指令(也稱為本地指令)係為一指令,其可由一微處理器次運算單元所執行。在一可能實施例中,次單元包括整數運算單元、浮點運算單元、MMX運算單元以及載入/儲存運算單元。舉例而言,藉由精簡指令集(RISC)直接執行微指令。對於複數指令集(CISC)微處理器(如x86相容性微處理器)而言,x86指令被轉譯成組合微指令,並且藉由CISC的微處理器直接執行組合微指令。 Microcode refers to a complex microinstruction. A microinstruction (also referred to as a local instruction) is an instruction that can be executed by a microprocessor sub-operational unit. In a possible embodiment, the secondary unit includes an integer arithmetic unit, a floating point arithmetic unit, an MMX arithmetic unit, and a load/store arithmetic unit. For example, microinstructions are directly executed by a reduced instruction set (RISC). For a Complex Instruction Set (CISC) microprocessor (such as an x86 compatible microprocessor), the x86 instructions are translated into combined microinstructions and the combined microinstructions are executed directly by the CISC's microprocessor.
保險絲係為一導體結構,一般係為細線,藉由施加電壓至細線上及/或使電流流過細線,便可熔斷細線。利用習知的製造技術,將保險絲沈積在一晶粒拓樸的一特定位置,用以製造出可程式化的細線。在製造完成後,熔斷(或不熔斷)保險絲,用以提供晶粒上的一相對應裝置的程式化。 The fuse is a conductor structure, typically a thin wire, which can be blown by applying a voltage to the thin wire and/or causing a current to flow through the thin wire. Using conventional manufacturing techniques, a fuse is deposited at a specific location on a grain topology to create a programmable thin line. After fabrication is complete, the fuse is blown (or not blown) to provide a stylization of a corresponding device on the die.
請參考第1圖,方塊100為目前微處理器核心101的示意圖。微處理器核心101具有一保險絲陣列102,用以提供組態資料予微處理器核心101。保險絲陣列102具有複數半導體保 險絲(未顯示)。半導體保險絲一般是成列排列。保險絲陣列102耦接重置邏輯103。重置邏輯103包括重置電路104及重置微碼105。重置邏輯103耦接控制電路107、微碼暫存器108、微碼插入元件109以及快取校正元件110。一外部重置信號RESET耦接微處理器核心101。重置邏輯103接收外部重置信號RESET。 Please refer to FIG. 1, which is a schematic diagram of the current microprocessor core 101. The microprocessor core 101 has a fuse array 102 for providing configuration information to the microprocessor core 101. Fuse array 102 has multiple semiconductor guarantees Dangerous wire (not shown). Semiconductor fuses are typically arranged in columns. The fuse array 102 is coupled to the reset logic 103. The reset logic 103 includes a reset circuit 104 and a reset microcode 105. The reset logic 103 is coupled to the control circuit 107, the microcode register 108, the microcode insertion component 109, and the cache correction component 110. An external reset signal RESET is coupled to the microprocessor core 101. The reset logic 103 receives the external reset signal RESET.
本領域之技術人員均深知,在積體電路裝置製造完後,大量的積體電路裝置使用保險絲(也稱為連結或保險絲結構),用以提供積體電路的組態。舉例而言,第1圖的微處理器核心101提供功能選擇,用以選擇是應用在桌上型裝置或可攜式裝置中。因此,在製造時,保險絲陣列102裡的保險絲可能會被燒斷,用以選擇裝置,如一可攜式裝置。因此,當重置信號RESET被致能後,重置邏輯103讀取保險絲陣列102裡被指定的保險絲的狀態,並且重置電路104(在此例中,不是重置微碼105)致能相對應的控制電路107。控制電路107禁能微處理器核心101中與桌上型功能有關的元件,並致能微處理器核心101中與可攜式功能有關的元件。因此,微處理器核心101被啟動,並被重置成一可攜式裝置。另外,重置邏輯103讀取保險絲陣列102裡的其它保險絲的狀態,並且重置電路104(在此例中,不是重置微碼105)致能相對應的快取校正元件110,用以對予微處理器核心101的至少一快取記憶體(未顯示)提供校正機制。因此,微處理器核心101被啟動,並被重置成一可攜式裝置,並且微處理器核心101的快取記憶體的校正機制也被設置妥當。 It is well known to those skilled in the art that after the integrated circuit device is manufactured, a large number of integrated circuit devices use fuses (also referred to as connection or fuse structures) to provide configuration of the integrated circuit. For example, the microprocessor core 101 of FIG. 1 provides a function selection for selection in a desktop device or a portable device. Thus, at the time of manufacture, the fuses in the fuse array 102 may be blown to select a device, such as a portable device. Thus, when the reset signal RESET is enabled, the reset logic 103 reads the state of the specified fuse in the fuse array 102, and the reset circuit 104 (in this example, not resetting the microcode 105) enables the phase Corresponding control circuit 107. The control circuit 107 disables the components of the microprocessor core 101 that are associated with the desktop function and enables the components of the microprocessor core 101 that are associated with the portable function. Thus, the microprocessor core 101 is activated and reset to a portable device. Additionally, the reset logic 103 reads the state of the other fuses in the fuse array 102, and the reset circuit 104 (in this example, not resetting the microcode 105) enables the corresponding cache correction component 110 for At least one cache memory (not shown) of microprocessor core 101 provides a correction mechanism. Therefore, the microprocessor core 101 is activated and reset to a portable device, and the correction mechanism of the cache memory of the microprocessor core 101 is also set.
上述的例子僅僅是在描述第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)元件(即一列或一行)需被替換成一特定取代次組元件。 The above examples are only for the microprocessor core that describes Figure 1. Many different uses of the fuse in 101. Those skilled in the art are well aware of other uses of the fuse and are not limited to the configuration of the device specific data (such as serial number, unique encryption code, authorized data of the internal structure of the computer, which can be accessed by the user, speed setting, Voltage setting), initialization data and insert data. For example, many current devices execute microcode to initialize the microcode register 108. A microcode register fuse (not shown) in fuse array 102 may provide information for initialization by reset logic 103 (reset circuit 104 or reset microcode 105, or reset) during reset operation The circuit 104 and the reset microcode 105) read the initialized data and provide the read initialization data to the microcode register 108. In order to achieve the above object, the reset circuit 104 includes hardware components that provide a specific type of configuration data, and the reset microcode 105 system cannot provide configuration data for these specific types. The reset microcode 105 includes a plurality of microinstructions that are placed in an internal microcode memory (not shown). When the microprocessor core 101 is reset, an internal microcode memory is executed to perform the initialization function of the microprocessor core 101. These functions include reading the configuration data in the fuse array 102 and providing the read result. The plurality of components, such as the microcode register 108 and the microcode insertion mechanism 109. A special setting of the microprocessor core 101 is to determine whether the configuration data of the fuse array is provided to the different components 107-110 of the microprocessor core 101 via the reset microcode 105. The purpose of the present invention is not to initialize the integrated circuit device individually. It is well known to those skilled in the art that the types of configuration elements 107-110 of the current microprocessor core 101 generally fall into four types, as shown in Figure 1. For example, it is a control circuit, a microcode register, a microcode insertion mechanism, and a cache correction mechanism. In addition, those skilled in the art will appreciate that the value of the configuration data is obviously changed depending on the type of the data. For example, a 64-bit control circuit 107 may include ASCII The data, ASCII data is used to specify the serial number of the microprocessor core 101. Other 64-bit control registers may have 64 different speed settings, and only one speed setting will be enabled at a time to control the operating speed of the microprocessor core 101. In general, the microcode register 108 may be initialized to all zeros (ie, low logic states) or all ones (eg, high logic states). The microcode insertion mechanism 109 may include uniformly distributed 1's and 0's to represent the addresses of the microcode values in a microcode ROM (not shown) that need to be replaced, the microcode values of which will be replaced. Finally, the cache correction mechanism may contain very few setpoints 1 to indicate that a certain cache sub-bank component (ie, a column or row) needs to be replaced with a particular replacement sub-group component.
保險絲陣列102提供一優秀的功能,用以在一裝置(如微處理器核心101)製造完成後,設定微處理器核心101。藉由熔斷保險絲陣列102裡的某些保險絲,就可使微處理器核心101操作在相對應的環境中。然而,本領域之技術人員均深知,藉由程式化保險絲陣列102,便可改變微處理器核心101的操作環境。微處理器核心101可能因業務需求而被初始化,如由一桌上型裝置被初始化成一可攜式裝置。因此,設計者可設置冗餘保險絲在保險絲陣列102中,作為不熔斷保險絲,因此,便可初始化微處理器核心101的組態、校正製造錯誤…等等。具有冗餘保險絲的保險絲陣列將敍明於第2圖中。 Fuse array 102 provides an excellent function for setting microprocessor core 101 after fabrication of a device, such as microprocessor core 101. By blowing some of the fuses in the fuse array 102, the microprocessor core 101 can be operated in a corresponding environment. However, those skilled in the art are well aware that by programming the fuse array 102, the operating environment of the microprocessor core 101 can be changed. The microprocessor core 101 may be initialized for business needs, such as being initialized by a desktop device into a portable device. Therefore, the designer can set the redundant fuse in the fuse array 102 as a non-blown fuse, so that the configuration of the microprocessor core 101 can be initialized, the manufacturing error can be corrected, and the like. A fuse array with redundant fuses will be described in Figure 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使用組態資料。 Referring to FIG. 2, block 200 shows a fuse array 201 in the microprocessor core 101 having a fuse bank 202 (redundant fuse sets RFB1~RFBN and first fuses PFB1~PFBN). The first fuse sets PFB1~PFBN in the fuse array 201 are blown first, and then the redundant fuses are blown. Group RFB1~RFBN. The redundant fuse sets RFB1~RFBN and PFB1~PFBN include a predetermined number of fuses 203, and the fuses 203 are independent of each other. The number of fuses 203 is related to the specific design of the microprocessor core 101. For example, in a 64-bit microprocessor core 101, the number of fuses 203 of the fuse bank 202 may be 64, in order to facilitate the use of configuration data by the microprocessor core 101.
保險絲陣列201耦接暫存器210~211。一般而言,暫存器210~211係設置在微處理器核心101的重置邏輯中。主要暫存器PR1用以讀取第一保險絲組PFB1~PFBN之一者(假設是方塊圖200裡的保險絲組PFB3)。冗餘暫存器RR1用以讀取冗餘保險絲組RFB1~RFBN之一者。暫存器210與211均耦接一互斥或邏輯閘212。互斥或邏輯閘212提供一輸出FB3。 The fuse array 201 is coupled to the registers 210-211. In general, the registers 210-211 are disposed in the reset logic of the microprocessor core 101. The main register PR1 is used to read one of the first fuse groups PFB1 to PFBN (assumed to be the fuse group PFB3 in the block diagram 200). The redundancy register RR1 is used to read one of the redundant fuse sets RFB1~RFBN. Each of the registers 210 and 211 is coupled to a mutually exclusive or logic gate 212. Mutually exclusive or logic gate 212 provides an output FB3.
在操作中,在製造出微處理器核心101之後,可藉由習知的技術程式化第一保險絲組PFB1~PFBN,使其成為微處理器核心101可使用的組態資料。冗餘保險絲組RFB1~RFBN均未被熔斷,並且維持在一低邏輯狀態。在啟動/重置微處理器核心101時,主要暫存器210以及冗餘暫存器211分別讀取第一保險絲組PFB1~PFBN及冗餘保險絲組RFB1~RFBN的狀態。互斥或邏輯閘212對暫存器210及211所儲存的資料進行互斥或運算,用以產生輸出FB3。由於所有的冗餘保險絲組均未被熔斷(即均為低邏輯狀態),因此,輸出FB3的值很簡單,就是製造後,第一保險絲組PFB1~PFBN被程式化的結果。 In operation, after the microprocessor core 101 is fabricated, the first fuse sets PFB1~PFBN can be programmed by conventional techniques to be configuration data that can be used by the microprocessor core 101. The redundant fuse sets RFB1~RFBN are not blown and are maintained in a low logic state. When the microprocessor core 101 is started/reset, the main register 210 and the redundancy register 211 read the states of the first fuse groups PFB1 to PFBN and the redundant fuse groups RFB1 to RFBN, respectively. The exclusive or logic gate 212 mutually exclusive ORs the data stored in the registers 210 and 211 to generate an output FB3. Since all of the redundant fuse sets are not blown (ie, both are in a low logic state), the value of the output FB3 is simple, that is, the result of the first fuse set PFB1~PFBN being programmed after manufacture.
目前,因設計或業務需求,要求寫入至第一保險絲組PFB1~PFBN的資訊可被更改。因此,為了改變啟動後所讀取到的資訊,必須執行一可程式操作,用以熔斷冗餘保險絲組 RFB1~RFBN裡的對應冗餘保險絲203。在熔斷所選擇的冗餘保險絲組RFB1~RFBN裡的一保險絲203時,第一保險絲組PFB1~PFBN裡的一相對應保險絲203係邏輯性地與其相配。 Currently, information required to be written to the first fuse group PFB1~PFBN can be changed due to design or business requirements. Therefore, in order to change the information read after startup, a programmable operation must be performed to blow the redundant fuse set. Corresponding redundant fuse 203 in RFB1~RFBN. When a fuse 203 in the selected redundant fuse group RFB1~RFBN is blown, a corresponding fuse 203 in the first fuse group PFB1~PFBN is logically matched thereto.
第2圖的機制可能在微處理器核心101中,提供重熔的保險絲203,但是本領域人士所深知,由於只有一組冗餘保險絲組RFB1~RFBN,因此,冗餘保險絲組RFB1~RFBN裡的每保險絲203只能被重熔一次,為了提供多次的重熔,可在微處理器核心101中加入多組額外保險絲組202及暫存器210~211。 The mechanism of Figure 2 may provide a remelted fuse 203 in the microprocessor core 101, but it is well known in the art that since there is only one set of redundant fuse sets RFB1~RFBN, the redundant fuse sets RFB1~RFBN Each fuse 203 in the fuse can only be re-melted once. In order to provide multiple re-melting, multiple sets of additional fuse sets 202 and registers 210-211 can be added to the microprocessor core 101.
截止目前為止,第1及2圖的保險絲陣列機制提供足夠的彈性予微處理器核心及其它相關的裝置,用以允許有限次數的重熔。製造技術(如65及45奈米製程)可在晶粒上形成足夠的保險絲,用以設定晶粒上的一微處理器核心101。然而,目前的技術仍受限制於兩個明顯的因素。第一個因素是,本領域的趨勢是形式多個微處理器核心101在同一晶粒中,用以增加處理效能。這些稱為多核心裝置可能具有2-16個獨立核心101,為了開啟/重置核心101,每一核心配置有保險絲資料。因此,對於4核心裝置而言,4個保險絲陣列201會被使用獨立的核心中,每一核心的資料可能不同(如快取校正資料、冗餘保險絲資料等)。第二是,本領域人士均深知,製造技術的降低(如32奈米),因此,電晶體的尺寸也降低,故保險絲的尺寸增加,故需在32奈米的晶粒上實現45奈米的保險絲陣列。 To date, the fuse array mechanism of Figures 1 and 2 provides sufficient flexibility to the microprocessor core and other associated devices to allow for a limited number of remelting. Manufacturing techniques (such as 65 and 45 nm processes) can form enough fuses on the die to set up a microprocessor core 101 on the die. However, current technology is still limited to two distinct factors. The first factor is that the trend in the art is to form multiple microprocessor cores 101 in the same die to increase processing performance. These may be referred to as multi-core devices with 2-16 independent cores 101. To enable/reset core 101, each core is configured with fuse data. Therefore, for a 4-core device, the four fuse arrays 201 will be used in separate cores, and the data for each core may be different (such as cache correction data, redundant fuse data, etc.). Secondly, people in the field are well aware that the manufacturing technology is reduced (such as 32 nm), so the size of the transistor is also reduced, so the size of the fuse is increased, so it is necessary to achieve 45 nanometers on the 32 nm die. The fuse array of meters.
根據上述的限制以及裝置設計者的其它挑戰,特別是多核心裝置的設計者,本發明提供明顯的改善,優於習知 裝置組態機制,本發明在多核心裝置中程式化獨立的核心,並增加快取校正及保險絲再程式化(重熔)的次數。稍後將透過第3-12圖說明本發明。 In accordance with the above limitations and other challenges of the device designer, particularly the designer of the multi-core device, the present invention provides significant improvements over conventional ones. The device configuration mechanism, the present invention programs a separate core in a multi-core device and increases the number of cache corrections and fuse reprogramming (remelting). The invention will be described later through Figures 3-12.
第3圖係為本發明之保險絲陣列壓縮系統300的示意圖,用以壓縮並解壓縮多核心裝置的組態資料。多核心裝置具有多核心332。核心332設置在一晶粒330上。為方便說明,第3圖僅顯示核心CORE1~CORE4。核心CORE1~CORE4設置在晶粒330上。在其它實施例中,晶粒330可能具有其它數量的核心332。在本實施例中,所有核心332共用單一快取記憶體334。快取記憶體334也設置在晶粒330之上。單一可程式保險絲陣列336也設置在晶粒330上,並且在啟動/重置操作下,每一核心332用以存取保險絲陣列336,用以擷取並解壓縮組態資料。 Figure 3 is a schematic illustration of a fuse array compression system 300 of the present invention for compressing and decompressing configuration data for a multi-core device. The multi-core device has multiple cores 332. The core 332 is disposed on a die 330. For convenience of explanation, Figure 3 only shows the core CORE1~CORE4. The cores CORE1~CORE4 are disposed on the die 330. In other embodiments, die 330 may have other numbers of cores 332. In this embodiment, all cores 332 share a single cache memory 334. The cache memory 334 is also disposed over the die 330. A single programmable fuse array 336 is also disposed on the die 330, and under start/reset operation, each core 332 is used to access the fuse array 336 for capturing and decompressing configuration data.
在一實施例中,核心332包括微處理器核心,用以構成一多核心微處理器(晶粒)330。在其它實施例中,多核心微處理器330作為x86相容多核心微處理器。在其它實施例,快取記憶體334包括二級(level 2)快取記憶體,其耦接微處理器核心332。在一可能實施例中,保險絲陣列336具有8192(8K)個各自獨立的保險絲(未顯示),但也可使用其它數量的保險絲。在單一核心的實施例中,只有一核心332設置在晶粒330之上,並且該核心332耦接快取記憶體334及保險絲陣列336。雖然稍後將說明多核心裝置(晶粒)330的特徵及功能,但多核心裝置的特徵與單一核心的特徵相同。 In one embodiment, core 332 includes a microprocessor core to form a multi-core microprocessor (die) 330. In other embodiments, multi-core microprocessor 330 acts as an x86 compatible multi-core microprocessor. In other embodiments, the cache memory 334 includes a level 2 cache memory coupled to the microprocessor core 332. In one possible embodiment, fuse array 336 has 8192 (8K) separate fuses (not shown), although other numbers of fuses can be used. In a single core embodiment, only one core 332 is disposed over the die 330, and the core 332 is coupled to the cache memory 334 and the fuse array 336. Although the features and functions of the multi-core device (die) 330 will be described later, the features of the multi-core device are the same as those of the single core.
保險絲陣列壓縮系統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。 The fuse array compression system 300 also includes a device programmer 310. The device programmer 310 includes a compressor 320. The compressor 320 is coupled to the virtual fuse Array 303. In one possible embodiment, the device programmer 310 may include a central processing unit (not shown) for processing the configuration data and, after the fabrication of the die 330 is completed, the programmed fuse array is programmed using conventional programming techniques. 336. The central processor may be integrated into a wafer test facility to test the fabricated device die 330. In a possible embodiment, the compressor 320 may have an application program that can be executed on the device programmer 310, and the virtual fuse array 303 may include an address of a memory that is stored by the compressor 320. take. The virtual fuse array 303 has a number of virtual fuse sets 301. Each virtual fuse set 301 has a plurality of virtual fuses 302. In one possible embodiment, virtual fuse array 303 has 128 virtual fuse sets 301, each virtual fuse set 301 having 64 virtual fuses 302, and thus fuse array 303 is 8Kb in size.
操作上,如同第1圖所示,在製造階段中,裝置330的組態資訊會被輸入至虛擬保險絲陣列330中。因此,組態資訊包括控制電路的組態資料、微碼暫存器的初始化資料、微碼插入資料以及快取校正資料。另外,如上所述,不同型態的組態資料的值均不相同。虛擬保險絲陣列303係為一保險絲陣列(未顯示)的邏輯代表,其具有晶粒330上的每一微處理器核心332的組態資訊,以及晶粒330上的每一快取記憶體334的校正資料。 Operationally, as shown in FIG. 1, the configuration information of the device 330 is input to the virtual fuse array 330 during the manufacturing phase. Therefore, the configuration information includes the configuration data of the control circuit, the initialization data of the microcode register, the microcode insertion data, and the cache correction data. In addition, as described above, the values of the configuration data of different types are different. The virtual fuse array 303 is a logical representation of a fuse array (not shown) having configuration information for each microprocessor core 332 on the die 330 and each cache memory 334 on the die 330. Correct the data.
當資訊存入虛擬保險絲陣列303後,壓縮器320讀取每一虛擬保險絲組301的虛擬保險絲302的狀態,並利用每一資料型態所對應的分離壓縮演算法(distinct compression algorithms)進行壓縮,用以產生壓縮保險絲陣列資料。在一可能實施例中,控制電路的系統資料並不會被壓縮,但會在沒有 壓縮的情況下被轉換。為了壓縮微碼暫存器資料,可使用一微碼暫存器資料壓縮演算法,用以壓縮具有一狀態分佈的資料,該狀態分佈相對於微碼暫存器資料。為了壓縮微碼插入資料,可使用一微碼插入資料壓縮演算法,用以有效地壓縮具有一狀態分佈的資料,該狀態分佈對應於微碼插入資料。為了壓縮快取校正資料,可使用一快取校正資料壓縮演算法,用以有效地壓縮具有一狀態分佈的資料,該狀態分佈對應於快取校正資料。 After the information is stored in the virtual fuse array 303, the compressor 320 reads the state of the virtual fuse 302 of each virtual fuse group 301, and compresses using the distinct compression algorithms corresponding to each data type. Used to generate compressed fuse array data. In a possible embodiment, the system data of the control circuit is not compressed, but will not be Converted in case of compression. To compress the microcode register data, a microcode register data compression algorithm can be used to compress the data having a state distribution that is relative to the microcode register data. To compress the microcode insertion data, a microcode insertion data compression algorithm can be used to effectively compress the data having a state distribution corresponding to the microcode insertion data. To compress the cache correction data, a cache correction data compression algorithm can be used to effectively compress the data having a state distribution corresponding to the cache correction data.
接著,裝置程式器310將未被壓縮及已被壓縮的保險絲陣列資料程式化至晶粒330上的物理級保險絲陣列336。 Next, device programmer 310 programs the uncompressed and compressed fuse array data to physical level fuse array 336 on die 330.
在啟動/重置操作時,每一核心332可能存取物理級保險絲陣列336,用以擷取未壓縮及已壓縮的保險絲陣列資料,並且在每一核心332內的重置電路/微碼(未顯示)發佈未壓縮保險絲陣列資料,並根據每一資料型態所對應的分離解壓縮演算法,解壓縮已壓縮的保險絲陣列資料,用以提供原本在虛擬保險絲陣列303裡的原始值。然後,重置電路/微碼將組態資訊提供予控制電路(未顯示)、微碼暫存器(未顯示)、插入元件(未顯示)以及快取校正元件(未顯示)。 At the start/reset operation, each core 332 may access the physical level fuse array 336 for extracting uncompressed and compressed fuse array data and reset circuitry/microcode within each core 332 ( Not shown) uncompressed fuse array data is released, and the compressed fuse array data is decompressed according to the separate decompression algorithm for each data type to provide the original value originally in the virtual fuse array 303. The reset circuit/microcode then provides configuration information to a control circuit (not shown), a microcode register (not shown), an interposer (not shown), and a cache correction component (not shown).
藉由本發明的保險絲陣列壓縮系統300,可使得裝置設計者減少物理級保險絲陣列336裡的保險絲數量,並且在啟動/重置操作中,利用已壓縮的資訊程式,對一多核心裝置330進行設定。 With the fuse array compression system 300 of the present invention, the device designer can be enabled to reduce the number of fuses in the physical level fuse array 336, and to set up a multi-core device 330 using a compressed information program during the start/reset operation. .
請參考第4圖,方塊400顯示本發明之保險絲解壓縮機制。解壓縮機制可能設置在第3圖的每一微處理器核心332 中。為了清楚敍明本發明,第4圖僅顯示單一核心420,但第3圖的晶粒上的每一核心332均具有第4圖的核心420的元件。物理級保險絲陣列401設置在晶粒上,並且耦接核心420。物理級保險絲陣列401具有已壓縮的微碼插入保險絲403、已壓縮的暫存器保險絲404、已壓縮的快取校正保險絲405以及已壓縮的保險絲校正保險絲406。物理級保險絲陣列401可能也具有未壓縮的組態資料(未顯示),如上述的系統組態資料及/或錯誤檢測及校正(Error Checking and Correction;以下簡稱ECC)碼(未顯示)。稍後將說明根據本發明的ECC特徵。 Referring to Figure 4, block 400 shows the fuse decompression mechanism of the present invention. The decompression mechanism may be provided in each of the microprocessor cores 332 of FIG. in. For clarity of the present invention, FIG. 4 shows only a single core 420, but each core 332 on the die of FIG. 3 has elements of core 420 of FIG. The physical level fuse array 401 is disposed on the die and coupled to the core 420. The physical grade fuse array 401 has a compressed microcode insertion fuse 403, a compressed register fuse 404, a compressed cache correction fuse 405, and a compressed fuse correction fuse 406. The physical grade fuse array 401 may also have uncompressed configuration data (not shown), such as the system configuration data described above and/or the Error Checking and Correction (ECC) code (not shown). The ECC feature according to the present invention will be described later.
微處理器核心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)快取記憶體(未顯 示)的晶粒上。 Microprocessor core 420 includes a reset controller 417. The reset controller 417 receives a reset signal REST, which is used to initialize the core 420, causing the core 420 to perform a reset step. The reset controller 417 has a decompressor 421. The decompressor 421 has an insertion fuse element 408, a register fuse element 409, and a cache fuse element 410. The decompressor 421 also includes a fuse correction component 411 coupled through the bus bar 412 to the fuse element 408, the register fuse element 409, and the cache fuse element 410. The insertion fuse element 408 is coupled to the microcode insertion element 414 within the core 420. The register fuse element 409 is coupled to the microcode register 415 in the core 420. The cache fuse element 410 is coupled to the cache correction component 416 within the core 420. In one possible embodiment, the cache correction component 416 is disposed on a die having a secondary (L2) cache (not shown). All cores 420 share a cache correction component 416, such as cache memory 334 of FIG. In another embodiment, the cache correction component 416 is disposed on a die having a level one (L1) cache (not shown). In other embodiments, the cache correction component 416 is provided with one level (L1) and two level (L2) cache memories (not shown) Show) on the die.
在操作時,當重置信號RESET被致能時,重置控制器417讀取物理級保險絲陣列401裡的保險絲403~406的狀態,並將已壓縮系統保險絲(未顯示)的狀態提供予解壓縮器421。在讀取並提供完成後,解壓縮器421裡的保險絲校正元件411解壓縮已壓縮的保險絲校正保險絲406的狀態,用以提供資料,該資料表示物理級保險絲陣列401的至少一保險絲位址,先前已被程式化的這狀態會被改變。解壓縮後的資料可能包含至少一保險絲位址的值。此至少一保險絲位址(及隨意值)會透過匯流排412傳送至元件408~410,使得相對應的保險絲的狀態在被解壓縮前就被改變。 In operation, when the reset signal RESET is enabled, the reset controller 417 reads the states of the fuses 403-406 in the physical-stage fuse array 401 and provides a state of the compressed system fuse (not shown). Compressor 421. After reading and providing, the fuse correction component 411 in the decompressor 421 decompresses the state of the compressed fuse correction fuse 406 for providing information indicative of at least one fuse address of the physical level fuse array 401, This state that has been previously programmed will be changed. The decompressed data may contain values for at least one fuse address. The at least one fuse address (and random value) is transmitted through bus bar 412 to components 408-410 such that the state of the corresponding fuse is changed before being decompressed.
在一可能實施例中,插入保險絲元件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。 In a possible embodiment, the inserted fuse element 408 includes microcode for decompressing the state of the compressed microcode inserted into the fuse 403 according to a microcode insertion decompression algorithm, and the microcode insertion decompression algorithm corresponds to The microcode insertion compression algorithm described in FIG. 3 is inserted. In a possible embodiment, the register fuse element 409 includes microcode for decompressing the compressed register fuse 404 according to a register fuse decompression algorithm, and the register fuse decompression algorithm corresponds to The register fuse compression algorithm described in Figure 3. In a possible embodiment, the cache fuse element 410 includes microcode for decompressing the compressed cache correction fuse 405 according to a cache correction fuse decompression algorithm, and the cache correction fuse decompression algorithm corresponds to The cache correction compression algorithm described in Figure 3. The fuse correction component 411 provides the address of the fuse through the bus bar 412. Each of the components 408-410 changes the state of the corresponding fuse according to the addresses, and then decompresses the respective fuses according to the corresponding algorithm. data. The multiple remelting fuse of the present invention will be described in detail later, and the remelting step is earlier than the initialization of the decompression action of the components 408-411. In a possible embodiment, bus 412 may include a conventional microcode programming mechanism for transmitting data. The invention further has a comprehensive decompressor 421 which can distinguish and decompress the configuration data according to the type of the configuration data. Thus, for purposes of illustrating the present invention, decompressor 421 has only elements 408-411, however, as long as condensation decompressor 421 can provide the functionality of elements 408-411, elements 408-411 may not be required by the present invention.
在一可能實施例中,重置控制器417初始化插入保險絲元件408的微碼,用以對已壓縮的微碼插入保險絲403進行解壓縮。重置控制器417也初始化暫存器保險絲元件409的微碼,用以對已壓縮的暫存器保險絲404的狀態進行解壓縮。再者,重置控制器417更初始化快取保險絲元件410的微碼,用以對已壓縮的快取校正保險絲405進行解壓縮。在進行解壓縮前,解壓縮器421的微碼會先改變某些保險絲的狀態,其中這些被改變的保險絲係為已壓縮的保險絲校正保險絲406的保險絲校正資料所指定的保險絲。 In a possible embodiment, the reset controller 417 initializes the microcode inserted into the fuse element 408 for decompressing the compressed microcode insert fuse 403. The reset controller 417 also initializes the microcode of the scratchpad fuse element 409 for decompressing the state of the compressed scratchpad fuse 404. Moreover, the reset controller 417 further initializes the microcode of the cache fuse element 410 for decompressing the compressed cache correction fuse 405. Prior to decompression, the microcode of decompressor 421 first changes the state of certain fuses, which are the fuses specified by the fuse correction data for the compressed fuse correction fuse 406.
重置控制器417、解壓縮器421及元件408~411用以執行上述的功能。重置控制器417、解壓縮器421及元件408~411可能包括邏輯、電路、裝置或微碼、或邏輯、電路、裝置或微碼的組合、或等效元件,其可執行上述功能及操作。這些用以實現重置控制器417、解壓縮器421及元件408~411的元件可能被其它電路、微碼…等所共用,其可執行重置控制器417、解壓縮器421及元件408~411或核心420裡的其它元件的其它功能及/或操作。 The reset controller 417, the decompressor 421, and the components 408-411 are used to perform the functions described above. Reset controller 417, decompressor 421, and components 408-411 may include logic, circuitry, devices, or microcode, or a combination of logic, circuitry, devices, or microcode, or equivalent components that perform the functions and operations described above. . The components for implementing the reset controller 417, the decompressor 421, and the components 408-411 may be shared by other circuits, microcodes, etc., which may execute the reset controller 417, the decompressor 421, and the component 408~ Other functions and/or operations of 411 or other components in core 420.
在改變及解壓縮物理級保險絲陣列401內的保險絲403~406的狀態後,解壓縮後的虛擬保險絲的狀態會被提供予微碼插入元件414、微碼暫存器415以及快取校正元件416。因此,核心420進行接下來的重置操作。 After changing and decompressing the states of the fuses 403-406 in the physical-grade fuse array 401, the state of the decompressed virtual fuse is provided to the microcode insertion component 414, the microcode register 415, and the cache correction component 416. . Therefore, the core 420 performs the next reset operation.
在其它實施例中,在進行重置操作時,上述的解壓縮功能並不需依照一特別的順序而被執行。舉例而言,微碼插入資料的解壓縮動作可能在微碼暫存器初始化資料的解壓縮動作之後。同樣地,在其它實施例中,為了滿足設計需求,解壓縮功能可能同時進行。 In other embodiments, the decompression functions described above are not required to be performed in a particular order when performing a reset operation. For example, the decompression action of the microcode insertion data may be after the decompression action of the microcode register initialization data. As such, in other embodiments, the decompression function may be performed simultaneously to meet design requirements.
另外,本發明的元件408~411的實現並非一定要用硬體電路所對應的微代碼,由於在一般的微處理器核心420中,其具有一些元件,這些元件可更加輕易地透過硬體被初始化(如與一快取相關的一掃描鏈),而不同於直接寫入微碼。這些的實現細節係由設計者自行決定。然而,在初始化微碼之前的重置操作中,習知技術利用硬體電路,使快取校正保險絲按慣例被讀取並進入一快取校正掃描鏈。除非微碼開始動作,不然核心的快取記憶體並不會被導通,因此,本發明的特徵係利用相對應硬體控制電路的微碼,執行快取保險絲解壓縮器410。利用微碼執行快取保險絲元件410,便可將快取校正資料寫入一掃描鏈中,並且很明顯節省硬體元件,因而增加設計彈性及有益的機制。 In addition, the implementation of the elements 408-411 of the present invention does not necessarily require the use of microcode corresponding to the hardware circuit. Since in the general microprocessor core 420, it has some components that can be more easily penetrated through the hardware. Initialization (such as a scan chain associated with a cache), rather than direct write microcode. The implementation details of these are at the discretion of the designer. However, in the reset operation prior to initializing the microcode, the prior art utilizes a hardware circuit that causes the cache correction fuse to be read by convention and into a cache correction scan chain. Unless the microcode begins to operate, the core cache memory is not turned on. Therefore, the feature of the present invention utilizes the microcode corresponding to the hardware control circuitry to execute the cache fuse decompressor 410. By executing the cache fuse element 410 with microcode, the cache correction data can be written into a scan chain, and the hardware components are significantly saved, thereby increasing design flexibility and beneficial mechanisms.
請參考第5圖,其顯示本發明之壓縮組態資料500的格式。第3圖的壓縮器320壓縮虛擬保險絲陣列330的資料,並程式化(即熔斷)壓縮組態資料500至多核心裝置330的物理級 保險絲陣列336中。在上述的重置結果中,藉由每一核心332,壓縮組態資料500會從物理級保險絲陣列336中被擷取,並且被解壓縮,並被每一核心420的解壓縮器421的元件408~411所校正。解壓縮及校正組態資料會接著被提供予核心420的多元件414~416,用以初始化核心420。 Please refer to FIG. 5, which shows the format of the compressed configuration data 500 of the present invention. The compressor 320 of FIG. 3 compresses the data of the virtual fuse array 330 and programs (ie, blows) the compressed configuration data 500 to the physical level of the multi-core device 330. In the fuse array 336. In the reset result described above, the compressed configuration data 500 is retrieved from the physical level fuse array 336 by each core 332 and decompressed and decompressed by the components of the decompressor 421 of each core 420. Corrected by 408~411. The decompressed and corrected configuration data is then provided to the multi-element 414-416 of core 420 for initializing core 420.
壓縮組態資料500具有至少一壓縮資料欄位(D)502,而上述的每一組態資料型態係由結束型態欄位(ET)503所分隔。程式化事件(即熔斷)會被結束熔斷欄位(EB)504所分隔。根據一壓縮演算法,編碼與每一資料型態有關的壓縮資料欄位502,用以最小化位元(即保險絲)數量,這些位元係用以儲存與每一資料型態有關的特徵位元圖案。構成每一壓縮資料欄位502的物理級保險絲陣列336的保險絲數量係為一特定資料型態所使用的壓縮演算法的特徵。舉例而言,考慮到一核心具有64位元微碼暫存器時,其必須全被初始化成0或1。一最佳縮壓演算法可能根據資料型態,提供64個壓縮資料欄位502,每一壓縮資料欄位502具有一特定微碼暫存器的初始化資料,壓縮資料欄位502被指定在暫存器數量順序中(即1-64)。並且每一壓縮資料欄位502具有一單一保險絲,若一相對應的微碼暫存器需被初始化成1時,該單一保險絲被熔斷,若相對應的微碼暫存器需被初始化成0時,該單一保險絲不被熔斷。 The compressed configuration data 500 has at least one compressed data field (D) 502, and each of the configuration data types described above is separated by an End Type Field (ET) 503. Stylized events (ie, blown) are separated by an end blow field (EB) 504. According to a compression algorithm, a compressed data field 502 associated with each data type is encoded to minimize the number of bits (ie, fuses) used to store the feature bits associated with each data type. Meta pattern. The number of fuses of the physical level fuse array 336 that make up each compressed data field 502 is characteristic of the compression algorithm used by a particular data type. For example, considering that a core has a 64-bit microcode scratchpad, it must all be initialized to 0 or 1. An optimal compression algorithm may provide 64 compressed data fields 502 according to the data type. Each compressed data field 502 has initialization data of a specific microcode register, and the compressed data field 502 is designated. The number of registers is in the order (ie 1-64). And each compressed data field 502 has a single fuse. If a corresponding microcode register needs to be initialized to 1, the single fuse is blown, if the corresponding microcode register needs to be initialized to 0. When the single fuse is not blown.
在初始程式化事件後,核心420裡的解壓縮器421的元件408~410利用結束型態欄位503判斷是否它們各自的壓縮資料已被置於物理級保險絲陣列336中,並且保險絲校正解壓縮器411利用結束熔斷保險絲504,找出壓縮保險絲校正資料, 壓縮保險絲校正資料在一初始化程式事件後,已被程式化(即熔斷)。針對隨後進行的多程式化事件,本發明在物理級保險絲陣列336中設置了大量的備用保險絲,以下將詳細說明。 After the initial stylization event, elements 408-410 of decompressor 421 in core 420 use end type field 503 to determine if their respective compressed data has been placed in physical level fuse array 336, and fuse correction is decompressed. The device 411 uses the end fuse fuse 504 to find the compression fuse correction data. The compression fuse correction data has been programmed (ie, blown) after an initialization program event. The present invention provides a large number of spare fuses in the physical level fuse array 336 for subsequent multi-program events, as will be described in more detail below.
上述的壓縮型態格式係用以說明本發明的組態資料的壓縮及解壓縮。然而,第5圖所示的特定型態資料的壓縮、分隔及被壓縮至保險絲陣列401裡的資料型態與數量並非用以限制本發明。在其它實施例中,可利用其它的數量、型態與格式修改本發明,以得到不同的裝置及演算法。 The above compression type format is used to illustrate the compression and decompression of the configuration data of the present invention. However, the compression, separation, and compression of the particular type of data shown in FIG. 5 into the fuse array 401 are not intended to limit the invention. In other embodiments, the invention may be modified in other quantities, types, and formats to yield different devices and algorithms.
請參考第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替代電路/暫存器。 Please refer to FIG. 6, which shows a possible format of the decompressed microcode insertion configuration material 600 in accordance with the present invention. Under the reset operation, each core 420 reads the compressed microcode insertion configuration data in the physical level fuse array 401. Then, according to the fuse correction data provided by the bus bar 412, the compressed microcode insertion configuration data is corrected. The corrected compressed microcode insertion configuration data is then decompressed by inserting the fuse decompressor 408. The result of the decompression program is the decompressed microcode insertion configuration data 600. The data 600 includes a complex decompressed data block 604. The number of decompressed data blocks 604 corresponds to the number of microcode insertion elements 414 in the core 420 that need to be initialized. Each decompressed data block 604 includes a core address field 601, a microcode memory (ROM) address field 602, and a microcode insertion data field 603. The length of the fields 601~603 is a feature of the core algorithm. When a partial decompression procedure is performed, a complete image of the target material provided by fuse element 408 is inserted for initializing microcode insertion component 414. In the subsequent decompression of the microcode insertion configuration data 600, it is possible to use a conventional distribution mechanism for distributing the data 603 to the respective address core and the microcode ROM replacement circuit/scratch in the microcode insertion component 414. Device.
請參考第7圖,第7圖顯示根據本發明之解壓縮微碼暫存器組態資料700的格式。在重置操作中,藉由每一核心420,讀取物理級保險絲陣列401裡的壓縮微碼暫存器組態資料。然後根據匯流排412所提供的保險絲校正資料校正壓縮微碼暫存器組態資料。然後,暫存器保險絲元件409對校正後的壓縮微碼暫存器組態資料進行解壓縮。解壓縮程序的結果係為解壓縮微碼暫存器組態資料700。資料700包括複數解壓縮資料方塊704,解壓縮資料方塊704的數量對應核心420裡需要初始資料的微碼暫存器415的數量。每一解壓縮資料方塊704具有一核心位址欄位701、一微碼暫存器位址欄位702以及一微碼暫存器資料欄位703。欄位701~703的長度係為核心演算法的特徵。在進行部分的解壓縮程序時,暫存器保險絲元件提供目標資料的完整影像,用以初始化微碼暫存器415。在隨後的微碼暫存器組態資料700的解壓縮中,可能使用習知的發佈機制,用以發佈資料703予各自的位址核心以及微碼暫存器415。 Please refer to FIG. 7. FIG. 7 shows the format of the decompressed microcode register configuration data 700 in accordance with the present invention. In the reset operation, the compressed microcode register configuration data in the physical level fuse array 401 is read by each core 420. The compressed microcode register configuration data is then corrected based on the fuse correction data provided by the bus bar 412. The register fuse element 409 then decompresses the corrected compressed microcode register configuration data. The result of the decompressor is the decompressed microcode register configuration data 700. The data 700 includes a complex decompression data block 704, the number of decompressed data blocks 704 corresponding to the number of microcode registers 415 in the core 420 that require initial data. Each decompressed data block 704 has a core address field 701, a microcode register address field 702, and a microcode register data field 703. The length of the fields 701~703 is a feature of the core algorithm. The buffer fuse element provides a complete image of the target data for initializing the microcode register 415 during a partial decompression process. In the subsequent decompression of the microcode register configuration data 700, a conventional publishing mechanism may be used to publish the data 703 to the respective address cores and the microcode registers 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。 Please refer to FIG. 8. FIG. 8 shows a possible format of the decompressed cache correction data 800 in accordance with the present invention. In the reset operation, the compressed cache correction data of the physical stage fuse array 401 is read by each core 420. Then, the compression cache correction data is corrected based on the fuse correction data provided by the bus bar 412. Next, the compression fuse correction data is decompressed by the cache fuse element 410. The result of the decompression program is the decompressed cache correction data 800. The fuse array compression system 300 uses different cache mechanisms, and the decompressed cache correction data 800 is present in the shared secondary cache memory 334. All cores 332 may access the same cache memory 334 to use the same storage space. Therefore, Figure 8 The format shown is based on the algorithm described above. The data 800 includes a complex decompressed data block 804, the number of decompressed data blocks 804 corresponding to the number of cache correction elements 416 in the core 420 that require correction data. Each decompressed data block 804 has a primary row address field 802 and a replacement row address field 803. It is well known in the art that when manufacturing a cache memory, redundant rows (or columns) are formed in the secondary unit of the cache memory to utilize a non-functional row (or column). Replaces functional redundant rows (or columns) in a particular subunit. Thus, decompressing the cache correction data 800 allows non-functional lines to replace the functional lines (as shown in Figure 8). In addition, it is well known to those skilled in the art that when it is desired to replace with a redundant sub-cell row, it is conventional that the fuse of each cell row having the fuse array mechanism of the cache correction is blown. Therefore, since a large number of fuses are required (to access all of the sub-units and rows), only a part of the sub-units can be included, so that the conventional cache correction fuse is rarely blown. The invention is characterized by accessing and compressing the address of the secondary unit row and replacing the row address for the secondary unit row that needs to be replaced. Therefore, the number of fuses applied to the cache correction data is minimized. Therefore, the present invention extends the number of sub-cell rows (or columns) of the cache memory 334 under the constraints of the size of the physical-level fuse array and the amount of additional programmed data, and the cache memory 334 can be corrected. . In the embodiment illustrated in FIG. 8, associated core 332 shares secondary cache memory 334 for accessing and providing correction data 802-803 to respective cache correction elements 416. The length of the fields 801~803 is a feature of the core algorithm. In the portion of the decompression procedure, the cache correction fuse element 410 provides a complete image of the target data, and the target data is used to initialize the cache correction component 416. After decompressing the cache correction data 800, the conventional release mechanism in the responsible core 420 may issue the data 802~803 to the accessed cache. Correction element 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後,根據相對應的保險絲校正欄位,隨後至少保險絲可能會被再次熔斷。因此,在限定的保險絲陣列尺寸及陣列所能提供的資料中,本發明可對相同的保險絲進行多次的設定。 Please refer to FIG. 9. FIG. 9 shows a possible format of the decompressed fuse correction data 900 of the present invention. As described above, upon reset, the fuse correction component 411 accesses the compression fuse correction data 406 in the physical stage fuse array 401, decompresses the compression fuse correction data, and provides decompressed fuse correction data 900 to the core 420. Element 408~410. The decompressed fuse correction data has at least one End Fuse Field (EB) 901 indicating that the stylized event in the physical level fuse array 401 has successfully completed. If a stylized event occurs, a reflow field (R) 902 is stylized to indicate the subsequent at least one fuse correction field (FC) 903, which indicates that the fuse in the physical class fuse array 401 will again It is blown. Each fuse correction field has the address of a particular fuse in the physical level fuse array 401, and the particular fuse is again set to a state (ie, blown or not blown). Only the fuses in the fuse correction block field 903 will be set again, and each field 903 of the reset event will be separated by an end fuse field 901. If the remelting field 902 is successfully encoded after a particular end fuse field 901, the field is corrected according to the corresponding fuse, and then at least the fuse may be blown again. Thus, the present invention can be used to set the same fuse multiple times in a defined fuse array size and data that can be provided by the array.
對於一多核心晶粒上的額外特徵,本發明共用具有已壓縮組態資料的物理級保險絲陣列,便可具有實際特性以及電源增益。另外,本領域之技術人員均深知目前的半導體保險絲結構常常具有一些缺點,其中一項就是“長回”(growback)。長回就是程式化程序的顛倒,如一保險絲在熔斷 一段時間後,又恢復連接,也就是從一程式狀態(即熔斷)回到一未程式狀態(即未熔斷)。 For additional features on a multi-core die, the present invention shares a physical-level fuse array with compressed configuration data to provide actual characteristics and power gain. Additionally, those skilled in the art are well aware that current semiconductor fuse structures often have some drawbacks, one of which is "growback." Long back is the reversal of the stylized program, such as a fuse is blown After a period of time, the connection is resumed, that is, from a program state (ie, blown) back to an unprogrammed state (ie, not blown).
為了控制長回以及其它挑戰,本發明具有許多優點,其中一項就是提供冗餘、未組態的物理級保險絲陣列。因此,第11圖提供一可配置的冗餘保險絲組機制。 In order to control long return and other challenges, the present invention has many advantages, one of which is to provide a redundant, unconfigured physical level fuse array. Thus, Figure 11 provides a configurable redundant fuse bank mechanism.
請參考第10圖,第10圖顯示根據本發明的多核心裝置1000的物理級保險絲陣列1001的一可能實施例。多核心裝置1000包括複數核心1002,其特徵已揭露在第3-10圖及相關說明中。另外,每一核心1002包括陣列控制1003,其根據組態資料暫存器1004裡的組態資料而被程式化。每一陣列控制1003耦接冗餘保險絲陣列1001。 Please refer to FIG. 10, which shows a possible embodiment of a physical level fuse array 1001 of a multi-core device 1000 in accordance with the present invention. Multi-core device 1000 includes a plurality of cores 1002, the features of which are disclosed in Figures 3-10 and related description. Additionally, each core 1002 includes an array control 1003 that is programmed according to configuration data in the configuration data register 1004. Each array control 1003 is coupled to a redundant fuse array 1001.
為了說明本發明,第10圖僅顯示四個核心1002以及兩個物理級保險絲陣列1001,但並非用以限制本發明,在其它實施例中,根據本發明的揭露,亦可使用其它數量的核心1002及物理級保險絲陣列1001。 For the purpose of illustrating the invention, FIG. 10 shows only four cores 1002 and two physical level fuse arrays 1001, but is not intended to limit the invention. In other embodiments, other numbers of cores may be used in accordance with the disclosure of the present invention. 1002 and physical class fuse array 1001.
在操作時,每一物理級保險絲陣列1001接收組態資料暫存器1004裡的組態資料,其表示物理級保險絲陣列1001的一特定組態。在一實施例中,根據組態資料的值,物理級保險絲陣列1001作為一聚集物理級保險絲陣列。聚集物理級保險絲陣列的尺寸等於各自的物理級保險絲陣列1001的尺寸總合,並且聚集物理級保險絲陣列可能用以儲存接下來的多筆組態資料,其所儲存的資料量大於單一物理級保險絲陣列1001所儲存的資料量。因此,陣列控制1003控制相對應的核心1002,用以讀取物理級保險絲陣列1001,如一聚集物理級保險絲陣列。 在其它實施例中,為了控制長回,物理級保險絲陣列1001根據組態資料的值,作為冗餘保險絲陣列,其利用相同的組態資料而被程式化,並且每一核心1002裡的陣列控制1003具有許多元件,用以對兩個(或更多)陣列的內容進行OR邏輯,因此,若陣列1001的至少一熔斷保險絲發生長回時,陣列1001裡的至少另一相對應保險絲仍維持熔斷狀態。在一自動防故障實施例中,根據組態資料的值,選擇性地禁能至少一物理級保險絲陣列1001,並且致能剩餘的陣列1001,用以作為一聚集組態或是一OR邏輯組態。因此,每一核心1002裡的陣列控制1003根據組態資料暫存器1004裡的一特定組態資料,不存取被禁能的陣列1001的內容,但存取被致能的冗餘陣列。 In operation, each physical stage fuse array 1001 receives configuration data from the configuration data register 1004, which represents a particular configuration of the physical level fuse array 1001. In one embodiment, the physical level fuse array 1001 acts as an aggregate physical level fuse array based on the value of the configuration data. The size of the aggregated physical-level fuse array is equal to the size of the respective physical-grade fuse array 1001, and the aggregated physical-level fuse array may be used to store the next multiple configuration data, which stores more data than a single physical-grade fuse. The amount of data stored in array 1001. Thus, array control 1003 controls the corresponding core 1002 for reading physical level fuse array 1001, such as an aggregate physical level fuse array. In other embodiments, to control the long return, the physical level fuse array 1001 acts as a redundant fuse array based on the value of the configuration data, which is programmed with the same configuration data, and array control in each core 1002 The 1003 has a number of components for OR logic of the contents of the two (or more) arrays, so that if at least one of the fuses of the array 1001 is prolonged, at least one other corresponding fuse in the array 1001 remains fused. status. In a fail-safe embodiment, at least one physical-level fuse array 1001 is selectively disabled based on the value of the configuration data, and the remaining array 1001 is enabled for use as an aggregate configuration or an OR logical group state. Thus, the array control 1003 in each core 1002 does not access the contents of the disabled array 1001, but accesses the enabled redundant array, based on a particular configuration data in the configuration data register 1004.
藉由任意習知具有可程式化保險絲的裝置、外部接腳設定、JTAG程式或其它相似裝置,便可程式化組態資料暫存器1004。 The configuration data register 1004 can be programmed by any conventional device having a programmable fuse, an external pin setting, a JTAG program, or the like.
另一實施例中,本發明發現當至少一物理級保險絲陣列被設置在具有多核心的單一晶粒上時,在核心存取陣列時,可能會發生問題。具體而言,在啟動/重置操作下,多核心處理器裡的每一核心必須根據一串行方向,讀取物理級保險絲陣列。首先,第一核心讀取陣列,然後第二核心讀取陣列,接著第三核心讀取陣列,以此類推。本領域之技術人員均深知,相較於核心所執行的其它操作,保險絲陣列的讀取是最花費時間,因此,當許多核心必需讀取相同陣列時,所需要的時間大致上是一核心的讀取時間乘上晶粒上的核心數量。本領域人士均深知,為了得到可可靠的結果,必需讀取這些保險絲,但根 據製造過程,半導體保險絲的讀取次數及壽命影響將會影響半導體保險絲的品質。因此,在其它實施例中,本發明降低所巾核心讀取物理級保險絲陣列的時間,並在啟動及重置操作中藉由降低多核心處理器的核心的存取數量,用以增加保絲陣列的壽命。 In another embodiment, the present invention finds that when at least one physical level fuse array is placed on a single die having multiple cores, problems can occur when the core accesses the array. Specifically, under the start/reset operation, each core in the multi-core processor must read the physical-level fuse array according to a serial direction. First, the first core reads the array, then the second core reads the array, then the third core reads the array, and so on. It is well known to those skilled in the art that the reading of the fuse array is the most time consuming compared to other operations performed by the core, so when many cores have to read the same array, the time required is roughly a core The read time is multiplied by the number of cores on the die. It is well known in the art that in order to obtain reliable results, it is necessary to read these fuses, but According to the manufacturing process, the number of semiconductor fuses read and the impact of life will affect the quality of semiconductor fuses. Thus, in other embodiments, the present invention reduces the time it takes for the core of the towel to read the physical-level fuse array and increases the number of accesses to the core of the multi-core processor during startup and reset operations to increase the retention The life of the array.
請參考第11圖,其顯示根據本發明快速地將組態資料載入多核心裝置1100的機制示意圖。裝置1100具有複數核心1102,其特性如第3-10圖的相關說明所述。另外,每一核心1102具有陣列控制1103,其係被一載入資料暫存器1104的載入資料所程式化。每一核心1102耦接一物理級保險絲1101,其特徵如第3-10圖的相關說明所述。每一核心1102耦接隨機存取記憶(RAM)1105,其與核心1102設置在相同的晶粒之上,但不能設置在核心1102之中。因此,RAM 1105稱為非核心RAM 1105。 Please refer to FIG. 11, which shows a schematic diagram of the mechanism for quickly loading configuration data into the multi-core device 1100 in accordance with the present invention. Apparatus 1100 has a plurality of cores 1102, the characteristics of which are described in the related description of Figures 3-10. In addition, each core 1102 has an array control 1103 that is programmed by a load data loaded into the data register 1104. Each core 1102 is coupled to a physical stage fuse 1101, which is characterized by the associated description of Figures 3-10. Each core 1102 is coupled to a random access memory (RAM) 1105 that is disposed on the same die as the core 1102 but cannot be disposed in the core 1102. Therefore, the RAM 1105 is referred to as a non-core RAM 1105.
為方便說明,第11圖僅顯示四核心1102以及一物理級保險絲陣列1101,但並非用以限制本發明,在其它實施例中,可延伸成任意數量的核心1101以及複數物理級保險絲陣列1101。 For convenience of explanation, FIG. 11 shows only the quad core 1102 and a physical fuse array 1101, but is not intended to limit the present invention. In other embodiments, it may be extended to any number of cores 1101 and a plurality of physical level fuse arrays 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的特定內容。 In operation, each core receives the load data loaded into the data register 1104, which represents a particular load profile relative to the physical level fuse array 1101. The content value of the load data register 1104 specifies a core 1102 as the primary core 1102, while the other remaining cores are referred to as the secondary core 1102, which has a load order. Thus, under the start/reset operation, array control 1103 causes main core 1102 to read the contents of physical level fuse array 1101 and then write the contents of physical level fuse array 1101 to non-core RAM 1105. If multiple physical level fuse arrays 1101 are set On the die, the capacity of the non-core RAM 1105 must be capable of storing data for all physical level fuse arrays 1101. After the main core 1102 stores the contents of the physical-level fuse array 1101 in the non-core RAM 1105, the array control 1103 causes the corresponding secondary core 1102 to read the specific content loaded into the data register 1104 in the non-core RAM 1105.
習知具有可程式保險絲、外部接腳設定、JTAG程式或其它相關裝置,均可程式化載入資料暫存器1104。第11圖所示的實施例亦可整合在第10圖所述的冗餘保險絲陣列機制中。 Conventional programmable fuses, external pin settings, JTAG programs, or other related devices can be programmed into the data register 1104. The embodiment shown in Fig. 11 can also be integrated in the redundant fuse array mechanism described in Fig. 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。 Please refer to Fig. 12, which shows a possible embodiment of an error confirmation correction (ECC) mechanism in accordance with the present invention. The error confirmation correction mechanism 1200 can be integrated in the embodiment of Figures 3-11 and enhances the compression and decompression of the configuration data. Figure 12 depicts a microprocessor core 1220 disposed over a die and coupled to a physical stage fuse array 1201. The physical level fuse array 1201 includes a compressed configuration data block 1203. The compressed configuration data block is as described above. To compress configuration data block 1203, physical level fuse array 1201 has an ECC code block 1202. Each ECC code block 1202 is associated with a corresponding data block 1203. In one possible embodiment, data block 1203 has 64 bits (ie, 64 fuses) and ECC code block 1202 has 8 bits (ie, 8 fuses). The core 1220 has a reset controller 1222 that receives a reset signal RESET. The reset controller 1222 has an ECC element 1224 coupled to a decompressor 1226 via a bus bar CDATA. The ECC component 1224 is coupled to the fuse array 1201 through an address bus ADDR, a data bus DATA, and a code bus CODE.
在操作時,如同第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。 In operation, as described in Figures 3-11, the fuse array 1201 It will be programmed by the configuration data of data block 1203. A specific data block 1203 or a configuration data spanning a specific data type (such as microcode insertion data, microcode register data) corresponding to multiple data blocks 1203 is not programmed. In addition, configuration data relative to more than two data types may be programmed into the same data block 1203. Additionally, the ECC code in block ECC code 1202 is programmed to array 1201. According to the conventional ECC mechanism, the ECC code is programmed to a corresponding data block 1203, but is not intended to limit the invention. In other embodiments, changes in the SECDED Hamming code, Chipkill ECC, or Pre-Error Correction (FEC) code may also be used. In a possible embodiment, the address associated with data block 1203 and its corresponding ECC code block 1202 are well known. Therefore, the corresponding ECC code block 1202 of the adjacent data block 1203 in Figure 12 is not required.
解壓縮器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的關閉或是以其它方式標註錯誤。 The structure and function of the decompressor 1226 are substantially the same as those of the decompressor 421 shown in Fig. 4, and have been slightly described in Figs. 5-11. Upon resetting the core 1220, the ECC component in the reset controller 1222 accesses the fuse array to retrieve its contents prior to performing the decompression function described above. Through the bus ADDR, it is possible to obtain the address of the data block 1203 and the ECC code block 1202. The configuration data in the compressed data block 1203 can be obtained through the bus DATA. The ECC code in each ECC code block 1202 is obtained through the bus CODE. After obtaining the data, the address and the code, the ECC component 1224 generates an ECC confirmation for the data retrieved by each data block 1202 according to the ECC mechanism, and the ECC mechanism is used to generate the ECC code, and the ECC code is stored in the corresponding ECC code block 1202. The ECC component 1224 also compares the ECC confirmation with the corresponding ECC code of the array 1201 for generating an ECC syndrome. The ECC component 1224 further decodes the ECC syndrome to determine if there is no An error occurred, a correctable error occurred, or an uncorrectable error occurred. The ECC component 1224 is also used to correct for correctable errors. The uncorrected and corrected data is provided to the decompressor 1226 by bus bar CDATA for performing the decompression operation described above. Uncorrectable errors are provided to decompressor 1226 by bus CDATA. If the critical portion of the operation of the configuration data is judged to be uncorrectable, the decompressor 1226 may cause the core 1220 to be turned off or otherwise flagged.
在一可能實施例中,ECC元件124包括至少一微碼程序,其用以執行上述的ECC功能。 In a possible embodiment, the ECC component 124 includes at least one microcode program for performing the ECC functions described above.
本發明及相對應敍述內容所提供的軟體或是演算法及符號係表示一電腦記憶體裡的資料位元的操作。這些內容及圖示可使本領域之技術人員有效地表達相關內容予本領域之其它技術人員。使用上述的演算法係用以表達一自我前後一致的順序。這些步驟需要物理量的物理級操作。一般而言,這些物理量可能是光、電或是磁性號,其可被儲存、轉換、整合、比較及其它操作。有些為了方便,這些信號會被稱為位元、值、元件、符號、特性、項目、數量或其它相關內容。 The software or algorithms and symbols provided by the present invention and corresponding descriptions represent the operation of data bits in a computer memory. These and the illustrations will enable those skilled in the art to effectively express the relevant content to those skilled in the art. The algorithm described above is used to express a self-consistent order. These steps require physical level operations of physical quantities. Generally, these physical quantities may be optical, electrical or magnetic numbers that can be stored, converted, integrated, compared, and otherwise manipulated. For convenience, these signals are referred to as bits, values, components, symbols, characteristics, items, quantities, or other related content.
然而,需注意的是,這些相似的術語係與物理量有關,並且只是用以方便說明這些物理量。除非另外特別說明,不然上述的術語(如處理、估算、計算、判斷、顯示、或其它相關術語)指的是一電腦系統、一微處理器、一中央處理單元或相似的電子電腦裝置的動作及處理,其操作並轉換資料,其表示物理性、電腦系統的暫存器及記憶體的數量,用以得到其它相似電腦系統的記憶體、暫存器或其它相似的資訊儲存裝置、或顯示裝置的物理量的資料。 However, it should be noted that these similar terms are related to physical quantities and are merely used to facilitate the description of these physical quantities. Unless otherwise stated, the above terms (such as processing, estimating, calculating, judging, displaying, or other related terms) refer to the actions of a computer system, a microprocessor, a central processing unit, or a similar electronic computer device. And processing, which operates and converts data, which represents physicality, the number of registers of the computer system, and the amount of memory used to obtain memory, scratchpads, or other similar information storage devices, or displays of other similar computer systems. Information on the physical quantity of the device.
需注意到的是,本發明實現軟體的方法係在程式儲存媒體或其它相似型態的傳送媒體上進行編碼。程式儲存媒體可能是電子式(如唯讀記憶體、快閃唯讀記憶體、電子抹除式唯讀記憶體)、隨機存取記憶體磁性裝置(如一軟碟或一硬碟)或光學式(如唯讀光碟記憶體CD ROM)、以及其它唯讀或隨機存取元件。同樣地,傳送媒體可能是金屬導線、雙絞線、同軸電纜、光纖、或其它習知相似的傳送媒體。本發明並不限制在這些實施例。 It should be noted that the method of implementing the software of the present invention encodes on a program storage medium or other similar type of transmission medium. The program storage medium may be electronic (such as read-only memory, flash-read only memory, electronic erased read-only memory), random access memory magnetic device (such as a floppy disk or a hard disk) or optical (such as CD-ROM memory CD ROM), and other read-only or random access components. Likewise, the transmission medium may be a metal wire, a twisted pair cable, a coaxial cable, an optical fiber, or other conventionally similar transmission medium. The invention is not limited to these embodiments.
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 Although the present invention has been disclosed in the above preferred embodiments, it is not intended to limit the invention, and any one of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.
1000‧‧‧多核心裝置 1000‧‧‧Multi-core devices
1001‧‧‧物理級保險絲陣列 1001‧‧‧Physical Grade Fuse Array
1002‧‧‧核心 1002‧‧‧ core
1003‧‧‧陣列控制 1003‧‧‧Array control
1004‧‧‧組態資料暫存器 1004‧‧‧Configuration Data Register
Claims (44)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/972,481 US20150058564A1 (en) | 2013-08-21 | 2013-08-21 | Apparatus and method for extended cache correction |
US13/972,414 US20150055395A1 (en) | 2013-08-21 | 2013-08-21 | Extended fuse reprogrammability mechanism |
US13/972,768 US8879345B1 (en) | 2013-08-21 | 2013-08-21 | Microprocessor mechanism for decompression of fuse correction data |
US13/972,785 US9223715B2 (en) | 2013-08-21 | 2013-08-21 | Microprocessor mechanism for decompression of cache correction data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201508632A TW201508632A (en) | 2015-03-01 |
TWI552068B true TWI552068B (en) | 2016-10-01 |
Family
ID=52086116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103125466A TWI552068B (en) | 2013-08-21 | 2014-07-25 | Processing device and method for configuration data |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104200837B (en) |
TW (1) | TWI552068B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489169B (en) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | Quick starting method for memory of system on chip |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW533425B (en) * | 2000-12-05 | 2003-05-21 | Ibm | Method and apparatus for initializing an integrated circuit using compressed data from a remote fusebox |
US20060131743A1 (en) * | 2004-12-17 | 2006-06-22 | International Business Machines Corporation | Changing chip function based on fuse states |
US20090190422A1 (en) * | 2008-01-29 | 2009-07-30 | Arm Limited | Electronic fuses |
TW200949688A (en) * | 2008-05-27 | 2009-12-01 | Via Tech Inc | Method to write new value to re-writable non-volatile state and microprocessor therefor |
US20100061168A1 (en) * | 2008-09-09 | 2010-03-11 | Thomas Aakjer | Fuses for memory repair |
US20110316583A1 (en) * | 2010-06-25 | 2011-12-29 | Via Technologies, Inc. | Apparatus and method for override access to a secured programmable fuse array |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3401522B2 (en) * | 1998-07-06 | 2003-04-28 | 日本電気株式会社 | Fuse circuit and redundant decoder circuit |
US7350119B1 (en) * | 2004-06-02 | 2008-03-25 | Advanced Micro Devices, Inc. | Compressed encoding for repair |
US7529997B2 (en) * | 2005-03-14 | 2009-05-05 | International Business Machines Corporation | Method for self-correcting cache using line delete, data logging, and fuse repair correction |
TWI451255B (en) * | 2010-06-25 | 2014-09-01 | Via Tech Inc | Microprocessor apparatus and method for precluding the use of extended jtag operations |
US20130070514A1 (en) * | 2011-09-16 | 2013-03-21 | Advanced Micro Devices, Inc. | Integrated circuit with on-die distributed programmable passive variable resistance fuse array and method of making same |
-
2014
- 2014-07-25 TW TW103125466A patent/TWI552068B/en active
- 2014-08-13 CN CN201410400724.5A patent/CN104200837B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW533425B (en) * | 2000-12-05 | 2003-05-21 | Ibm | Method and apparatus for initializing an integrated circuit using compressed data from a remote fusebox |
US20060131743A1 (en) * | 2004-12-17 | 2006-06-22 | International Business Machines Corporation | Changing chip function based on fuse states |
US20090190422A1 (en) * | 2008-01-29 | 2009-07-30 | Arm Limited | Electronic fuses |
TW200949688A (en) * | 2008-05-27 | 2009-12-01 | Via Tech Inc | Method to write new value to re-writable non-volatile state and microprocessor therefor |
US20100061168A1 (en) * | 2008-09-09 | 2010-03-11 | Thomas Aakjer | Fuses for memory repair |
US20110316583A1 (en) * | 2010-06-25 | 2011-12-29 | Via Technologies, Inc. | Apparatus and method for override access to a secured programmable fuse array |
Also Published As
Publication number | Publication date |
---|---|
CN104200837A (en) | 2014-12-10 |
CN104200837B (en) | 2017-11-14 |
TW201508632A (en) | 2015-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI571797B (en) | Processing device and method for configuration data | |
US8879345B1 (en) | Microprocessor mechanism for decompression of fuse correction data | |
US9740622B2 (en) | Extended fuse reprogrammability mechanism | |
TWI556158B (en) | Processing device and method for configuration data | |
US8982655B1 (en) | Apparatus and method for compression and decompression of microprocessor configuration data | |
TWI552068B (en) | Processing device and method for configuration data | |
US20150058609A1 (en) | Apparatus and method for storage and decompression of configuration data | |
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 (en) | Apparatus and method for providing configuration data to an integrated circuit | |
EP2840508B1 (en) | Apparatus and method for extended cache correction | |
EP2840491B1 (en) | Extended fuse reprogrammability mechanism | |
US20150058565A1 (en) | Apparatus and method for compression of configuration data | |
US20150055427A1 (en) | Multi-core microprocessor configuration data compression and decompression system | |
US20150058598A1 (en) | Apparatus and method for configurable redundant fuse banks |