配置数据的处理装置及方法

文档序号:6766997阅读:115来源:国知局
配置数据的处理装置及方法
【专利摘要】一种配置数据的处理装置及方法。该处理装置用以提供配置数据给一微处理器,并包括至少一内核以及一保险丝阵列。内核设置在一晶粒上。保险丝阵列设置在晶粒上,并耦接内核。保险丝阵列包括多个第一半导体保险丝。第一半导体保险丝根据内核的压缩配置数据而被编程。在启动/重置操作下,内核存取并解压缩压缩配置数据,用以初始化至少该内核内的多个元件。
【专利说明】
配置数据的处理装置及方法

【技术领域】
[0001]本发明涉及一种处理装置,特别涉及一种提供配置数据给一微处理器的处理装置及方法。

【背景技术】
[0002]集成电路的技术在过去40年内,以指数方式成长。特别是在微处理器领域中,由4位单指令、10微米装置开始,半导体制造技术的成长让设计者可提高复合式装置内部的元件密度。在80及90年代的流水线式微处理器及超标量(纯量)微处理器中,可将数百万个晶体管设置在单一晶粒中。在随后的20年中,出现了 64位的32纳米装置,其将数十亿个晶体管设置在单一晶粒中,该晶粒具有多微处理器内核,用以处理数据。
[0003]在启动或重置装置时,这些早期的装置需被配置数据所初始化。举例而言,许多架构利用至少一可选择的频率和/或电压,致能装置。其它架构要求每一装置需具有一序号以及其它可通过执行指令而读取的信息。另一些装置内部的寄存器及控制电路需要初始化数据。当前述电路在制造时发生错误或是并未位于临界限制中时,其它装置利用配置数据执行额外电路。
[0004]本领域技术人员均深知,设计者可利用传统整合在晶粒上的半导体保险丝阵列存储并提供初始配置数据。当部分保险丝阵列已制造完成时,可藉由熔断所选择到的保险丝,对这些保险丝阵列进行编程,并且保险丝阵列具有数千位的信息,在启动/重置装置时,便可读取保险丝阵列,用以初始化及设定相对应装置的操作。
[0005]当装置的复杂性愈来愈高时,配置数据量会随之增加。然而,本领域技术人员深知,虽然晶体管的尺寸随半导体工艺而缩小,但整合在晶粒上的半导体保险丝的尺寸却增力口。这个现象影响可使用空间以及功率损耗,因而成为设计者的问题。因此,若欲制造一大保险丝阵列在晶粒上时,晶粒可能无法提供足够的可使用空间。
[0006]另外,由于每一内核需要一定数量的保险丝,因此,若欲在单一晶粒上制造许多内核时,将使上述问题恶化。
[0007]因此,需要一装置及方法使配置数据可被存储并提供在一多内核装置中,并且在单一晶粒中,不会占用太多的空间及消耗太多的电源。
[0008]另外,需要一保险丝阵列机制,用以在相同或更小的空间中,存储并提供比传统技术更多的配置数据。


【发明内容】

[0009]本发明利用一多内核装置里的一保险丝阵列的压缩配置数据,提供较佳的技术,用以解决上述问题并满足其它问题及缺点以及已知的受限。在一可能实施例中,本发明提供一种处理装置,用以提供配置数据给一微处理器,并包括至少一内核以及一保险丝阵列。内核设置在一晶粒上。保险丝阵列设置在晶粒上,并耦接内核。保险丝阵列包括多个第一半导体保险丝。第一半导体保险丝根据内核的压缩配置数据而被编程。在启动/重置操作下,内核存取并解压缩压缩配置数据,用以初始化至少该内核内的多个元件。
[0010]本发明还提供一种处理方法,用以提供一配置数据给一微处理器,并包括设置至少一内核在一晶粒上;设置一保险丝阵列在该晶粒上,并使该保险丝阵列耦接至少该内核,其中,该保险丝阵列具有多个第一半导体保险丝;根据至少该内核的压缩配置数据编程所述第一半导体保险丝;以及在启动/重置操作下,利用至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。
[0011]对于工业应用,本发明可应用在微处理器中,其应用在一般或特殊用途的计算机装置中。
[0012]为让本发明的特征和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下:

【专利附图】

【附图说明】
[0013]图1为已知具有一保险丝阵列的微处器内核的示意图。
[0014]图2为图1的具有冗余保险丝组的微处器内核的示意图。
[0015]图3为根据本发明的提供压缩及解压缩配置数据给一多内核装置的示意图。
[0016]图4为根据本发明的保险丝解解压缩机制的一可能实施例。
[0017]图5为本发明的压缩配置数据的一可能格式示意图。
[0018]图6为本发明的解压缩微码插入配置数据的一可能格式示意图。
[0019]图7为本发明的解压缩微码寄存器配置数据的一可能格式示意图。
[0020]图8为本发明的解压缩快取校正数据的一可能格式示意图。
[0021]图9为本发明的解压缩保险丝校正数据的一可能格式示意图。
[0022]图10为本发明的具有可配置冗余保险丝阵列的多内核装置的一可能实施例。
[0023]图11为本发明的快速地载入配置数据至多内核装置的机制示意图。
[0024]图12为本发明的错误确认校正机制的一可能实施例。
[0025]【符号说明】
[0026]100、200:方块;101:微处器内核;102、201、336:保险丝阵列;103:重置逻辑;104:重置电路;105:重置微码;107:控制电路;108:微码寄存器;109:微码插入元件:110:快取校正元件;RESET:重置信号;202、PFBl?PFBN、RFBl?RFBN:保险丝组;203:保险丝;210?211:寄存器;PR1:主要寄存器;RR1:冗余寄存器;212:异或逻辑门;FB3:输出;310:装置编程器;320:压缩器;301、302:虚拟保险丝组;302:虚拟保险丝;330:晶粒;332,1002,1102:内核;334:快取存储器;401、1001、1101、1201:物理级保险丝阵列;403:已压缩的微码插入保险丝;404:已压缩的寄存器保险丝;405:已压缩的快取校正保险缩;406:已压缩的保险丝校正保险丝;408:插入保险丝元件;409:寄存器保险丝元件;410:快取保险丝元件;411:保险丝校正元件;412:总线;414:微码插入元件;415:微码寄存器;416:快取校正元件;417:重置控制器;420:微处器内核;421:解压缩器;500:压缩配置数据;502:压缩数据栏位;503:结束类型栏位;504:结束熔断栏位;600:解压缩微码插入配置数据;601:内核地址栏位;602:微码ROM地址栏位;603:微码插入数据栏位;604:解压缩数据方块;700:解压缩微码寄存器配置数据;701:内核地址栏位;702:微码寄存器地址栏位;703:微码寄存器数据栏位;704:解压缩数据方块;800:解压缩快取校正数据;802:次单元行地址栏位;803:替换行地址栏位;804:解压缩数据方块;900:解压缩保险丝校正数据;901:结束熔断栏位;902:重熔栏位;903:保险丝校正栏位;1000:多内核装置;1003、1103:阵列控制;1004:配置数据寄存器;1100:装置;1104:载入数据寄存器;1101:物理级保险丝阵列;1105:非内核RAM ;1200:错误确认校正机制;1202:ECC码方块;1203:压缩配置数据方块;1224 =ECC元件;1226:解压缩器;1220:微处理器内核;1222:重置控制器;CDATA:总线;ADDR:地址总线;CODE:码总线;DATA:数据总线。

【具体实施方式】
[0027]集成电路(IC)是指一电子电路集合形成在一小尺寸的半导体材料上,如硅。集成电路也可称为芯片、微芯片或晶粒。
[0028]中央处理单元(CPU)是指电子电路(即硬件)藉由执行一数据的操作,执行一计算机程序(即为计算机应用程序或应用程序)的指令,该数据的操作包括算术操作、逻辑操作及输入/输出操作。
[0029]微处理器是指一电子装置作为一单一集成电路上的一中央处理单元。一微处理器接收数字数据,作为输入,根据一存储器的指令处理数据,并产生输出指令所要求的操作结果,其中存储器设置或不设置在晶粒上。一通用微处理器可应用在桌上型、可携带型或平板电路中,并且可计算、文字处理、多媒体显示以及网络浏览。一微处理器可能设置在一嵌入式系统中,用以控制许多装置,包括设备、移动电话、智能手机以及工业用控制装置。
[0030]多内核处理器也称为多内核微处理器、多内核处理器为一微处理器,其具有多中央处单元(内核),其形成在同一集成电路上。
[0031]指令集架构(ISA)或指令集是指用以编程的一计算机架构的部分,其包括数据类型、指令、寄存器、地址模式、存储器架构、中断及异常处理与输入/输出。一 ISA包括操作码集合的特性(即机器语言指令)以及一特定CPU所使用的本地命令。
[0032]x86相容微处理器是指一具有执行计算机应用程序的微处理器,根据X86ISA便可编程计算机应用程序。
[0033]微码是指多个微指令。一微指令(也称为本地指令)为一指令,其可由一微处理器次运算单元所执行。在一可能实施例中,次单元包括整数运算单元、浮点运算单元、MMX运算单元以及载入/存储运算单元。举例而言,藉由精简指令集(RISC)直接执行微指令。对于多个指令集(CISC)微处理器(如x86相容性微处理器)而言,x86指令被转译成组合微指令,并且藉由CISC的微处理器直接执行组合微指令。
[0034]保险丝为一导体结构,一般为细线,藉由施加电压至细线上和/或使电流流过细线,便可熔断细线。利用已知的制造技术,将保险丝沉积在一晶粒拓朴的一特定位置,用以制造出可编程的细线。在制造完成后,熔断(或不熔断)保险丝,用以提供晶粒上的一相对应装置的编程。
[0035]请参考图1,方块100为目前微处器内核101的示意图。微处器内核101具有一保险丝阵列102,用以提供配置数据给微处器内核101。保险丝阵列102具有多个半导体保险丝(未显示)。半导体保险丝一般是成列排列。保险丝阵列102耦接重置逻辑103。重置逻辑103包括重置电路104及重置微码105。重置逻辑103耦接控制电路107、微码寄存器108、微码插入元件109以及快取校正元件110。一外部重置信号RESET耦接微处器内核101。重置逻辑103接收外部重置信号RESET。
[0036]本领域的技术人员均深知,在集成电路装置制造完后,大量的集成电路装置使用保险丝(也称为连结或保险丝结构),用以提供集成电路的配置。举例而言,图1的微处器内核101提供功能选择,用以选择是应用在桌上型装置或便携式装置中。因此,在制造时,保险丝阵列102里的保险丝可能会被烧断,用以选择装置,如一便携式装置。因此,当重置信号RESET被致能后,重置逻辑103读取保险丝阵列102里被指定的保险丝的状态,并且重置电路104 (在此例中,不是重置微码105)致能相对应的控制电路107。控制电路107禁能微处器内核101中与桌上型功能有关的元件,并致能微处器内核101中与便携式功能有关的元件。因此,微处器内核101被启动,并被重置成一便携式装置。另外,重置逻辑103读取保险丝阵列102里的其它保险丝的状态,并且重置电路104 (在此例中,不是重置微码105)致能相对应的快取校正元件110,用以对给微处器内核101的至少一快取存储器(未显示)提供校正机制。因此,微处器内核101被启动,并被重置成一便携式装置,并且微处器内核101的快取存储器的校正机制也被设置妥当。
[0037]上述的例子仅仅是在描述图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可能会被初始化成全为O (即低逻辑状态)或全为I (如高逻辑状态)。微代码插入机制109可能包括均匀分布的I及0,用以表示一微码ROM(未显示)中需要被置换的微码值的地址,这些地址的微码值将被置换。最后,快取校正机制可能包含很少的设定值1,用以表示一某一快取次组(sub-bank)元件(即一列或一行)需被替换成一特定取代次组元件。
[0038]保险丝阵列102提供一优秀的功能,用以在一装置(如微处器内核101)制造完成后,设定微处器内核101。藉由熔断保险丝阵列102里的某些保险丝,就可使微处器内核101操作在相对应的环境中。然而,本领域的技术人员均深知,藉由编程保险丝阵列102,便可改变微处器内核101的操作环境。微处器内核101可能因业务需求而被初始化,如由一桌上型装置被初始化成一便携式装置。因此,设计者可设置冗余保险丝在保险丝阵列102中,作为不熔断保险丝,因此,便可初始化微处器内核101的配置、校正制造错误…等等。具有冗余保险丝的保险丝阵列将叙明于图2中。
[0039]请参考图2,方块200显示微处器内核101里的一保险丝阵列201,其具有保险丝组202 (冗余保险丝组RFBl?RFBN与第一保险丝PFBl?PFBN)。保险丝阵列201里的第一保险丝组PFBl?PFBN会先被熔断,然后再熔断冗余保险丝组RFBl?RFBN。冗余保险丝组RFBl?RFBN及PFBl?PFBN包括一既定的数量的保险丝203,并且保险丝203各自独立,保险丝203的数量与微处器内核101的特定设计有关。举例而言,在64位的微处器内核101中,保险丝组202的保险丝203数量可能是64个,用以便于微处器内核101使用配置数据。
[0040]保险丝阵列201耦接寄存器210?211。一般而言,寄存器210?211设置在微处器内核101的重置逻辑中。主要寄存器PRl用以读取第一保险丝组PFBl?PFBN中的一个(假设是方块图200里的保险丝组PFB3)。冗余寄存器RRl用以读取冗余保险丝组RFBl?RFBN中的一个。寄存器210与211均耦接一异或逻辑门212。异或逻辑门212提供一输出FB3。
[0041]在操作中,在制造出微处器内核101之后,可藉由已知的技术编程第一保险丝组PFBl?PFBN,使其成为微处器内核101可使用的配置数据。冗余保险丝组RFBl?RFBN均未被熔断,并且维持在一低逻辑状态。在启动/重置微处器内核101时,主要寄存器210以及冗余寄存器211分别读取第一保险丝组PFBl?PFBN及冗余保险丝组RFBl?RFBN的状态。异或(Exclusive OR,又称之为“互斥或”)逻辑门212对寄存器210及211所存储的数据进行异或运算,用以产生输出FB3。由于所有的冗余保险丝组均未被熔断(即均为低逻辑状态),因此,输出FB3的值很简单,就是制造后,第一保险丝组PFBl?PFBN被编程的结果O
[0042]目前,因设计或业务需求,要求写入至第一保险丝组PFBl?PFBN的信息可被更改。因此,为了改变启动后所读取到的信息,必须执行一可编程操作,用以熔断冗余保险丝组RFBl?RFBN里的对应冗余保险丝203。在熔断所选择的冗余保险丝组RFBl?RFBN里的一保险丝203时,第一保险丝组PFBl?PFBN里的一相对应保险丝203逻辑性地与其相配。
[0043]图2的机制可能在微处器内核101中,提供重熔的保险丝203,但是本领域技术人员所深知,由于只有一组冗余保险丝组RFBl?RFBN,因此,冗余保险丝组RFBl?RFBN里的每保险丝203只能被重熔一次,为了提供多次的重熔,可在微处器内核101中加入多组额外保险丝组202及寄存器210?211。
[0044]截止目前为止,图1及图2的保险丝阵列机制提供足够的弹性给微处理器内核及其它相关的装置,用以允许有限次数的重熔。制造技术(如65及45纳米工艺)可在晶粒上形成足够的保险丝,用以设定晶粒上的一微处器内核101。然而,目前的技术仍受限制于两个明显的因素。第一个因素是,本领域的趋势是形成多个微处器内核101在同一晶粒中,用以增加处理效能。这些称为多内核装置可能具有2-16个独立内核101,为了开启/重置内核101,每一内核配置有保险丝数据。因此,对于4内核装置而言,4个保险丝阵列201会被使用独立的内核中,每一内核的数据可能不同(如快取校正数据、冗余保险丝数据等)。第二是,本领域技术人员均深知,制造技术的降低(如32纳米),因此,晶体管的尺寸也降低,故保险丝的尺寸增加,故需在32纳米的晶粒上实现45纳米的保险丝阵列。
[0045]根据上述的限制以及装置设计者的其它挑战,特别是多内核装置的设计者,本发明提供明显的改善,优于已知装置配置机制,本发明在多内核装置中编程独立的内核,并增加快取校正及保险丝再编程(重熔)的次数。稍后将通过图3-图12说明本发明。
[0046]图3为本发明的系统300的示意图,用以压缩并解压缩多内核装置的配置数据。多内核装置具有多内核332。内核332设置在一晶粒330上。为方便说明,图3仅显示内核COREl?C0RE4。内核COREl?C0RE4设置在晶粒330上。在其它实施例中,晶粒330可能具有其它数量的内核332。在本实施例中,所有内核332共用单一快取存储器334。快取存储器334也设置在晶粒330之上。单一可编程保险丝阵列336也设置在晶粒330上,并且在启动/重置操作下,每一内核332用以存取保险丝阵列336,用以提取并解压缩配置数据。
[0047]在一实施例中,内核332包括微处理器内核,用以构成一多内核微处理器(晶粒)330。在其它实施例中,多内核微处理器330作为x86相容多内核微处理器。在其它实施例,快取存储器334包括二级(leVel2)快取存储器,其耦接微处理器内核332。在一可能实施例中,保险丝阵列336具有8192(8K)个各自独立的保险丝(未显示),但也可使用其它数量的保险丝。在单一内核的实施例中,只有一内核332设置在晶粒330之上,并且该内核332耦接快取存储器334及保险丝阵列336。虽然稍后将说明多内核装置(晶粒)330的特征及功能,但多内核装置的特征与单一内核的特征相同。
[0048]系统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。
[0049]操作上,如同图1所示,在制造阶段中,装置330的配置信息会被输入至虚拟保险丝阵列330中。因此,配置信息包括控制电路的配置数据、微码寄存器的初始化数据、微码插入数据以及快取校正数据。另外,如上所述,不同类型的配置数据的值均不相同。虚拟保险丝阵列303为一保险丝阵列(未显示)的逻辑代表,其具有晶粒330上的每一微处理器内核332的配置信息,以及晶粒330上的每一快取存储器334的校正数据。
[0050]当信息存入虚拟保险丝阵列303后,压缩器320读取每一虚拟保险丝组301的虚拟保险丝302的状态,并利用每一数据类型所对应的分离压缩算法(distinct compress1nalgorithms)进行压缩,用以产生压缩保险丝阵列数据。在一可能实施例中,控制电路的系统数据并不会被压缩,但会在没有压缩的情况下被转换。为了压缩微码寄存器数据,可使用一微码寄存器数据压缩算法,用以压缩具有一状态分布的数据,该状态分布相对于微码寄存器数据。为了压缩微码插入数据,可使用一微码插入数据压缩算法,用以有效地压缩具有一状态分布的数据,该状态分布对应于微码插入数据。为了压缩快取校正数据,可使用一快取校正数据压缩算法,用以有效地压缩具有一状态分布的数据,该状态分布对应于快取校正数据。
[0051]接着,装置编程器310将未被压缩及已被压缩的保险丝阵列数据编程至晶粒330上的物理级保险丝阵列336。
[0052]在启动/重置操作时,每一内核332可能存取物理级保险丝阵列336,用以提取未压缩及已压缩的保险丝阵列数据,并且在每一内核332内的重置电路/微码(未显示)发布未压缩保险丝阵列数据,并根据每一数据类型所对应的分离解压缩算法,解压缩已压缩的保险丝阵列数据,用以提供原本在虚拟保险丝阵列303里的原始值。然后,重置电路/微码将配置信息提供给控制电路(未显示)、微码寄存器(未显示)、插入元件(未显示)以及快取校正元件(未显示)。
[0053]藉由本发明的保险丝阵列压缩系统300,可使得装置设计者减少物理级保险丝阵列336里的保险丝数量,并且在启动/重置操作中,利用已压缩的信息程序,对一多内核装置330进行设定。
[0054]请参考图4,方块400显示本发明的保险丝解解压缩机制。解压缩机制可能设置在图3的每一微处理器内核332中。为了清楚叙明本发明,图4仅显示单一内核420,但图3的晶粒上的每一内核332均具有图4的内核420的元件。物理级保险丝阵列401设置在晶粒上,并且耦接内核420。物理级保险丝阵列401具有已压缩的微码插入保险丝403、已压缩的寄存器保险丝404、已压缩的快取校正保险丝405以及已压缩的保险丝校正保险丝406。物理级保险丝阵列401可能也具有未压缩的配置数据(未显示),如上述的系统配置数据和/或错误检测及校正(Error Checking and Correct1n ;以下简称ECC)码(未显示)。稍后将说明根据本发明的ECC特征。
[0055]微处器内核420包括一重置控制器417。重置控制器417接收一重置信号REST,重置信号REST用以初始化内核420,使内核420进行一重置步骤。重置控制器417具有一解压缩器421。解压缩器421具有一插入保险丝元件408、一寄存器保险丝元件409以及一快取保险丝元件410。解压缩器421也包括一保险丝校正元件411,其通过总线412耦接插入保险丝元件408、寄存器保险丝元件409以及快取保险丝元件410。插入保险丝元件408耦接内核420内的微码插入元件414。寄存器保险丝元件409耦接内核420里的微码寄存器415。快取保险丝元件410耦接内核420内的快取校正元件416。在一可能实施例中,快取校正元件416设置在具有二级(L2)快取存储器(未显示)的晶粒上。所有内核420共用快取校正元件416,如图3的快取存储器334。在另一实施例中,快取校正元件416设置在具有一级(LI)快取存储器(未显示)的晶粒上。在其它实施例中,快取校正元件416设置在具有一级(LI)及二级(L2)快取存储器(未显示)的晶粒上。
[0056]在操作时,当重置信号RESET被致能时,重置控制器417读取物理级保险丝阵列401里的保险丝403?406的状态,并将已压缩系统保险丝(未显示)的状态提供给解压缩器421。在读取并提供完成后,解压缩器421里的保险丝校正元件411解压缩已压缩的保险丝校正保险丝406的状态,用以提供数据,该数据表示物理级保险丝阵列401的至少一保险丝地址,先前已被编程的这状态会被改变。解压缩后的数据可能包含至少一保险丝地址的值。此至少一保险丝地址(及随意值)会通过总线412传送至元件408?410,使得相对应的保险丝的状态在被解压缩前就被改变。
[0057]在一可能实施例中,插入保险丝元件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。
[0058]在一可能实施例中,重置控制器417初始化插入保险丝元件408的微码,用以对已压缩的微码插入保险丝403进行解压缩。重置控制器417也初始化寄存器保险丝元件409的微码,用以对已压缩的寄存器保险丝404的状态进行解压缩。再者,重置控制器417更初始化快取保险丝元件410的微码,用以对已压缩的快取校正保险丝405进行解压缩。在进行解压缩前,解压缩器421的微码会先改变某些保险丝的状态,其中这些被改变的保险丝为已压缩的保险丝校正保险丝406的保险丝校正数据所指定的保险丝。
[0059]重置控制器417、解压缩器421及元件408?411用以执行上述的功能。重置控制器417、解压缩器421及元件408?411可能包括逻辑、电路、装置或微码、或逻辑、电路、装置或微码的组合、或等效元件,其可执行上述功能及操作。这些用以实现重置控制器417、解压缩器421及元件408?411的元件可能被其它电路、微码…等所共用,其可执行重置控制器417、解压缩器421及元件408?411或内核420里的其它元件的其它功能和/或操作。
[0060]在改变及解压缩物理级保险丝阵列401内的保险丝403?406的状态后,解压缩后的虚拟保险丝的状态会被提供给微码插入元件414、微码寄存器415以及快取校正元件416。因此,内核420进行接下来的重置操作。
[0061]在其它实施例中,在进行重置操作时,上述的解压缩功能并不需依照一特别的顺序而被执行。举例而言,微码插入数据的解压缩动作可能在微码寄存器初始化数据的解压缩动作之后。同样地,在其它实施例中,为了满足设计需求,解压缩功能可能同时进行。
[0062]另外,本发明的元件408?411的实现并非一定要用硬件电路所对应的微代码,由于在一般的微处理器内核420中,其具有一些元件,这些元件可更加轻易地通过硬件被初始化(如与一快取相关的一扫描链),而不同于直接写入微码。这些的实现细节由设计者自行决定。然而,在初始化微码之前的重置操作中,已知技术利用硬件电路,使快取校正保险丝按惯例被读取并进入一快取校正扫描链。除非微码开始动作,不然内核的快取存储器并不会被导通,因此,本发明的特征是利用相对应硬件控制电路的微码,执行快取保险丝解压缩器410。利用微码执行快取保险丝元件410,便可将快取校正数据写入一扫描链中,并且很明显节省硬件元件,因而增加设计弹性及有益的机制。
[0063]请参考图5,其显示本发明的压缩配置数据500的格式。图3的压缩器320压缩虚拟保险丝阵列330的数据,并编程(即熔断)压缩配置数据500至多内核装置330的物理级保险丝阵列336中。在上述的重置结果中,藉由每一内核332,压缩配置数据500会从物理级保险丝阵列336中被提取,并且被解压缩,并被每一内核420的解压缩器421的元件408?411所校正。解压缩及校正配置数据会接着被提供给内核420的多元件414?416,用以初始化内核420。
[0064]压缩配置数据500具有至少一压缩数据栏位(D) 502,而上述的每一配置数据类型由结束类型栏位(ET)503所分隔。编程事件(即熔断)会被结束熔断栏位(EB)504所分隔。根据一压缩算法,编码与每一数据类型有关的压缩数据栏位502,用以最小化位(即保险丝)数量,这些位用以存储与每一数据类型有关的特征位图案。构成每一压缩数据栏位502的物理级保险丝阵列336的保险丝数量为一特定数据类型所使用的压缩算法的特征。举例而言,考虑到一内核具有64位微码寄存器时,其必须全被初始化成O或I。一最佳缩压算法可能根据数据类型,提供64个压缩数据栏位502,每一压缩数据栏位502具有一特定微码寄存器的初始化数据,压缩数据栏位502被指定在寄存器数量顺序中(即1-64)。并且每一压缩数据栏位502具有一单一保险丝,若一相对应的微码寄存器需被初始化成I时,该单一保险丝被熔断,若相对应的微码寄存器需被初始化成O时,该单一保险丝不被熔断。
[0065]在初始编程事件后,内核420里的解压缩器421的元件408?410利用结束类型栏位503判断是否它们各自的压缩数据已被置于物理级保险丝阵列336中,并且保险丝校正解压缩器411利用结束熔断保险丝504,找出压缩保险丝校正数据,压缩保险丝校正数据在一初始化程序事件后,已被编程(即熔断)。针对随后进行的多编程事件,本发明在物理级保险丝阵列336中设置了大量的备用保险丝,以下将详细说明。
[0066]上述的压缩类型格式用以说明本发明的配置数据的压缩及解压缩。然而,图5所示的特定类型数据的压缩、分隔及被压缩至保险丝阵列401里的数据类型与数量并非用以限制本发明。在其它实施例中,可利用其它的数量、类型与格式修改本发明,以得到不同的装置及算法。
[0067]请参考图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替代电路/寄存器。
[0068]请参考图7,图7显示根据本发明的解压缩微码寄存器配置数据700的格式。在重置操作中,藉由每一内核420,读取物理级保险丝阵列401里的压缩微码寄存器配置数据。然后根据总线412所提供的保险丝校正数据校正压缩微码寄存器配置数据。然后,寄存器保险丝元件409对校正后的压缩微码寄存器配置数据进行解压缩。解压缩程序的结果为解压缩微码寄存器配置数据700。数据700包括多个解压缩数据方块704,解压缩数据方块704的数量对应内核420里需要初始数据的微码寄存器415的数量。每一解压缩数据方块704具有一内核地址栏位701、一微码寄存器地址栏位702以及一微码寄存器数据栏位703。栏位701?703的长度为内核算法的特征。在进行部分的解压缩程序时,寄存器保险丝元件提供目标数据的完整影像,用以初始化微码寄存器415。在随后的微码寄存器配置数据700的解压缩中,可能使用已知的发布机制,用以发布数据703给各自的地址内核以及微码寄存器415。
[0069]请参考图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。
[0070]请参考图9,图9显示本发明的解压缩保险丝校正数据900的一可能格式。如上所述,在重置时,保险丝校正元件411存取物理级保险丝阵列401里的压缩保险丝校正数据406,对压缩保险丝校正数据进行解压缩,并且提供解压缩保险丝校正数据900给内核420的其它元件408?410。解压缩保险丝校正数据具有至少一结束熔断栏位(EB)901,其表示在物理级保险丝阵列401里的编程事件已成功结束。若随后生一编程事件时,一重熔栏位(R)902会被编程,用以表示随后的至少一保险丝校正栏位(FC) 903,其表示物理级保险丝阵401里的保险丝会再次被熔断。每一保险丝校正栏位具有物理级保险丝阵列401里的特定保险丝的地址,特定保险丝会再次被设定成一状态(即熔断或不熔断)。只有保险丝校正方块栏位903里的保险丝会再次被设定,并且每一再次设定事件的栏位903会被一结束熔断栏位901所隔开。若重熔栏位902成功地被编码在一特定结束熔断栏位901后,根据相对应的保险丝校正栏位,随后至少保险丝可能会被再次熔断。因此,在限定的保险丝阵列尺寸及阵列所能提供的数据中,本发明可对相同的保险丝进行多次的设定。
[0071]对于一多内核晶粒上的额外特征,本发明共用具有已压缩配置数据的物理级保险丝阵列,便可具有实际特性以及电源增益。另外,本领域的技术人员均深知目前的半导体保险丝结构常常具有一些缺点,其中一项就是“长回”(growback)。长回就是编程程序的颠倒,如一保险丝在熔断一段时间后,又恢复连接,也就是从一编程状态(即熔断)回到一未编程状态(即未熔断)。
[0072]为了控制长回以及其它挑战,本发明具有许多优点,其中一项就是提供冗余、未配置的物理级保险丝阵列。因此,图11提供一可配置的冗余保险丝组机制。
[0073]请参考图10,图10显示根据本发明的多内核装置1000的物理级保险丝阵列1001的一可能实施例。多内核装置1000包括多个内核1002,其特征已公开在图3-图10及相关说明中。另外,每一内核1002包括阵列控制1003,其根据配置数据寄存器1004里的配置数据而被编程。每一阵列控制1003耦接冗余保险丝阵列1001。
[0074]为了说明本发明,图10仅显示四个内核1002以及两个物理级保险丝阵列1001,但并非用以限制本发明,在其它实施例中,根据本发明的公开,也可使用其它数量的内核1002及物理级保险丝阵列1001。
[0075]在操作时,每一物理级保险丝阵列1001接收配置数据寄存器1004里的配置数据,其表示物理级保险丝阵列1001的一特定配置。在一实施例中,根据配置数据的值,物理级保险丝阵列1001作为一聚集物理级保险丝阵列。聚集物理级保险丝阵列的尺寸等于各自的物理级保险丝阵列1001的尺寸总和,并且聚集物理级保险丝阵列可能用以存储接下来的多笔配置数据,其所存储的数据量大于单一物理级保险丝阵列1001所存储的数据量。因此,阵列控制1003控制相对应的内核1002,用以读取物理级保险丝阵列1001,如一聚集物理级保险丝阵列。在其它实施例中,为了控制长回,物理级保险丝阵列1001根据配置数据的值,作为冗余保险丝阵列,其利用相同的配置数据而被编程,并且每一内核1002里的阵列控制1003具有许多元件,用以对两个(或更多)阵列的内容进行OR逻辑,因此,若阵列1001的至少一熔断保险丝发生长回时,阵列1001里的至少另一相对应保险丝仍维持熔断状态。在一自动防故障实施例中,根据配置数据的值,选择性地禁能至少一物理级保险丝阵列1001,并且致能剩余的阵列1001,用以作为一聚集配置或是一 OR逻辑配置。因此,每一内核1002里的阵列控制1003根据配置数据寄存器1004里的一特定配置数据,不存取被禁能的阵列1001的内容,但存取被致能的冗余阵列。
[0076]藉由任意已知具有可编程保险丝的装置、外部引脚设定、JTAG程序或其它相似装置,便可编程配置数据寄存器1004。
[0077]另一实施例中,本发明发现当至少一物理级保险丝阵列被设置在具有多内核的单一晶粒上时,在内核存取阵列时,可能会发生问题。具体而言,在启动/重置操作下,多内核处理器里的每一内核必须根据一串行方向,读取物理级保险丝阵列。首先,第一内核读取阵列,然后第二内核读取阵列,接着第三内核读取阵列,以此类推。本领域的技术人员均深知,相较于内核所执行的其它操作,保险丝阵列的读取是最花费时间,因此,当许多内核必需读取相同阵列时,所需要的时间大致上是一内核的读取时间乘上晶粒上的内核数量。本领域技术人员均深知,为了得到可靠的结果,必需读取这些保险丝,但根据制造过程,半导体保险丝的读取次数及寿命影响将会影响半导体保险丝的质量。因此,在其它实施例中,本发明降低所述内核读取物理级保险丝阵列的时间,并在启动及重置操作中藉由降低多内核处理器的内核的存取数量,用以增加保丝阵列的寿命。
[0078]请参考图11,其显示根据本发明快速地将配置数据载入多内核装置1100的机制示意图。装置1100具有多个内核1102,其特性如图3-图10的相关说明所述。另外,每一内核1102具有阵列控制1103,其被一载入数据寄存器1104的载入数据所编程。每一内核1102耦接一物理级保险丝1101,其特征如图3-图10的相关说明所述。每一内核1102耦接随机存取存储器(RAM) 1105,其与内核1102设置在相同的晶粒之上,但不能设置在内核1102之中。因此,RAM1105称为非内核RAM1105。
[0079]为方便说明,图11仅显示四内核1102以及一物理级保险丝阵列1101,但并非用以限制本发明,在其它实施例中,可延伸成任意数量的内核1101以及多个物理级保险丝阵列1101。
[0080]在操作时,每一内核接收载入数据寄存器1104的载入数据,其代表相对于物理级保险丝阵列1101的一特定载入数据。载入数据寄存器1104的内容值指定一内核1102为主内核1102,而其它剩余内核称为次内核1102,其具有载入顺序。因此,在启动/重置操作下,阵列控制1103令主内核1102读取物理级保险丝阵列1101的内容,然后将物理级保险丝阵列1101的内容写入非内核RAM1105。若多个物理级保险丝阵列1101设置在晶粒上,则非内核RAM1105的容量必须能够存储所有物理级保险丝阵列1101的数据。在主内核1102将物理级保险丝阵列1101的内容存入非内核RAM1105后,阵列控制1103令相对应的次内核1102读取非内核RAM1105中载入数据寄存器1104的特定内容。
[0081]已知具有可编程保险丝、外部引脚设定、JTAG程序或其它相关装置,均可编程载入数据寄存器1104。图11所示的实施例也可整合在图10所述的冗余保险丝阵列机制中。
[0082]请参考图12,其显示根据本发明的错误确认校正(ECC)机制的一可能实施例。错误确认校正机制1200可整合在图3-图11所的实施例中,并强化配置数据的压缩及解压缩。图12描述一微处理器内核1220,其设置在一晶粒之上,并耦接一物理级保险丝阵列1201。物理级保险丝阵列1201包括压缩配置数据方块1203。压缩配置数据方块如上所述。为了压缩配置数据方块1203,物理级保险丝阵列1201具有ECC码方块1202。每一 ECC码方块1202与一相对应的数据方块1203有关。在一可能实施例中,数据方块1203具有64位(即64保险丝),并且ECC码方块1202具有8位(即8保险丝)。内核1220具有一重置控制器1222,其接收一重置信号RESET。重置控制器1222具有一 ECC元件1224,其通过总线CDATA耦接一解压缩器1226。ECC元件1224通过一地址总线ADDR、一数据总线DATA以及一码总线CODE,耦接保险丝阵列1201。
[0083]在操作时,如同图3-图11所述,保险丝阵列1201会被数据方块1203的配置数据所编程。一特定的数据方块1203或跨越多个数据方块1203所对应的一特定数据类型(如微码插入数据、微码寄存器数据)的配置数据并不会被所编程。另外,相对于两个以上数据类型的配置数据可能会被编程至相同的数据方块1203中。另外,ECC码方块1202里的ECC码编程阵列1201。根据已知的ECC机制,ECC码被编程至一相对应的数据方块1203,但并非用以限制本发明。在其它实施例中,也可使用SE⑶ED汉明(Hamming)码、Chipki11ECC、或是前置错误校正(FEC)码的变动。在一可能实施例中,数据方块1203相关的地址及其相对应的ECC码方块1202均为已知。因此,不需使用在图12中相邻数据方块1203的相对应ECC码方块1202。
[0084]解压缩器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的关闭或是以其它方式标注错误。
[0085]在一可能实施例中,ECC元件124包括至少一微码程序,其用以执行上述的ECC功倉泛
[0086]本发明及相对应叙述内容所提供的软件或是算法及符号表示一计算机存储器里的数据位的操作。这些内容及图示可使本领域的技术人员有效地表达相关内容给本领域的其它技术人员。使用上述的算法用以表达一自我前后一致的顺序。这些步骤需要物理量的物理级操作。一般而言,这些物理量可能是光、电或是磁性号,其可被存储、转换、整合、比较及其它操作。有些为了方便,这些信号会被称为位、值、元件、符号、特性、项目、数量或其它相关内容。
[0087]然而,需注意的是,这些相似的术语与物理量有关,并且只是用以方便说明这些物理量。除非另外特别说明,不然上述的术语(如处理、估算、计算、判断、显示、或其它相关术语)指的是一计算机系统、一微处理器、一中央处理单元或相似的电子计算机装置的动作及处理,其操作并转换数据,其表示物理性、计算机系统的寄存器及存储器的数量,用以得到其它相似计算机系统的存储器、寄存器或其它相似的信息存储装置、或显示装置的物理量的数据。
[0088]需注意到的是,本发明实现软件的方法在程序存储介质或其它相似类型的传送介质上进行编码。程序存储介质可能是电子式(如只读存储器、快闪只读存储器、电子抹除式只读存储器)、随机存取存储器磁性装置(如一软盘或一硬盘)或光学式(如只读光盘存储器⑶ROM)、以及其它只读或随机存取元件。同样地,传送介质可能是金属导线、双绞线、同轴电缆、光纤、或其它已知相似的传送介质。本发明并不限制在这些实施例。
[0089]虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。
【权利要求】
1.一种处理装置,用以提供配置数据给微处理器,该处理装置包括: 至少一内核,设置在晶粒上;以及 保险丝阵列,设置在该晶粒上,并耦接至少该内核,其中该保险丝阵列包括多个第一半导体保险丝,所述第一半导体保险丝根据至少该内核的压缩配置数据而被编程,其中在启动/重置操作下,至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。
2.如权利要求1所述的处理装置,其中至少该内核包括x86相容的单核或多内核微处理器。
3.如权利要求1所述的处理装置,其中还包括虚拟保险丝阵列,该虚拟保险丝阵列的配置数据被压缩,用以产生该压缩配置数据,该虚拟保险丝阵列的数据对应于至少该内核。
4.如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,根据内核设计数据而被编程,该内核设计数据与至少该内核的特定内核的部分压缩配置数据有关,其中在启动/重置操作下,至少该特定内核存取并解压缩该内核设计数据,用以初始化至少该内核内的多个元件
5.如权利要求4所述的处理装置,其中该保险丝阵列还包括多个第三半导体保险丝,所述第三半导体保险丝根据未压缩系统硬件配置数据而被编程,该未压缩系统硬件配置数据用以初始化至少该特定内核内的多个控制电路元件。
6.如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,所述第二半导体保险丝根据未压缩系统硬件配置数据而被编程,该未压缩系统硬件配置数据用以初始化至少该内核内的多个控制电路元件。
7.如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据包括一压缩的微码插入数据,该压缩的微码插入数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该用以初始化至少该内核内的多个微码插入元件。
8.如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据还包括压缩的微码寄存器数据,该压缩的微码寄存器数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该压缩微码寄存器数据用以初始化至少该内核内的多个微码寄存器兀件。
9.如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据还包括压缩的快取校正数据,该压缩的快取校正数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该压缩快取校正数据用以初始化至少该内核内的多个快取校正元件。
10.如权利要求1所述的处理装置,还包括装置编程器,耦接该保险丝阵列,用以存取该配置数据,并压缩该配置数据,用以产生该压缩配置数据,并根据该压缩配置数据编程该保险丝阵列。
11.如权利要求10所述的处理装置,其中该配置数据包括未压缩系统硬件配置数据,该未压缩系统硬件配置数据并未被该装置编程器所压缩,并且该未压缩系统硬件配置数据用以初始化至少该内核的多个控制电路元件。
12.如权利要求1所述的处理装置,还包括装置编程器,该装置编程器包括: 虚拟保险丝阵列,用以存储至少该内核的配置数据,该配置数据包括多个数据类型;以及 压缩器,耦接该虚拟保险丝阵列,用以读取该虚拟保险丝阵列,并利用多个压缩算法,压缩该配置数据,用以产生该压缩配置数据,其中所述压缩算法对应所述数据类型。
13.如权利要求12所述的处理装置,其中所述数据类型之一为系统硬件配置数据、微码插入数据、微码寄存器数据、或快取校正数据。
14.如权利要求12所述的处理装置,其中该装置编程器包括中央处理单元以及存储器,该中央处理单元及该存储器整合在晶圆测试设备中。
15.如权利要求1所述的处理装置,其中该内核包括重置控制器,用以解压缩该压缩配置数据,并发布解压缩的配置数据,用以初始化所述元件。
16.如权利要求15所述的处理装置,其中该重置控制器包括:一插入保险丝解压缩器元件,用以解压缩该压缩配置数据里的一压缩的微码插入数据,并发布解压缩的微码插入数据,用以初始化对应该内核内的多个微码插入元件,而该压缩的微码插入数据由多个第二半导体保险丝中所提取出。
17.如权利要求15所述的处理装置,其中该重置控制器包括:寄存器保险丝解压缩器元件,用以解压缩该压缩配置数据里的一压缩的微码寄存器数据,并发布解压缩的微码寄存器数据,用以初始化相对应该内核内的多个微码寄存器元件,而该压缩的微码寄存器数据由多个第二半导体保险丝中提取出。
18.如权利要求15所述的处理装置,其中该重置控制器包括:快取保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的快取校正数据,并发布解压缩的快取校正数据,用以初始化相对应该内核内的多个快取校正元件,而该压缩的快取校正数据由多个第二半导体保险丝中所提取出。
19.如权利要求15所述的处理装置,其中所述第一半导体保险丝根据该压缩配置数据以及错误确认校正码而被编程,而该重置控制器用以存取该压缩配置数据及该错误确认校正码,并校正错误,用以产生校正的压缩配置数据。
20.如权利要求19所述的处理装置,其中该保险丝阵列包括多个数据方块以及多个错误确认校正方块,所述数据方块具有一规定尺寸,所述错误确认校正方块的每一个具有所述错误确认校正码中的一个,该错误确认校正码对应所述数据方块中的一个。
21.—种处理方法,用以提供配置数据给一微处理器,该方法包括: 设置至少一内核在晶粒上; 设置保险丝阵列在该晶粒上,并使该保险丝阵列耦接至少该内核,其中,该保险丝阵列具有多个第一半导体保险丝; 根据至少该内核的压缩配置数据编程所述第一半导体保险丝;以及 在启动/重置操作下,利用至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。
22.如权利要求21所述的处理方法,其中至少该内核包括x86相容的单核或多内核微处理器。
23.如权利要求21所述的处理方法,其中该压缩配置数据来自压缩虚拟保险丝阵列的数据而产生,该虚拟保险丝阵列的数据对应于至少该内核。
24.如权利要求21所述的处理方法,还包括: 根据一内核设计数据编程多个第二半导体保险丝,该内核设计数据与至少该内核的特定内核的部分压缩配置数据有关;以及 在启动/重置操作下,通过该特定内核,存取并解压缩该特定内核的部分压缩配置数据,用以初始化该特定内核的多个元件。
25.如权利要求24所述的处理方法,还包括: 存储一未压缩系统硬件配置数据在多个第三半导体保险丝中,用以初始化至少该特定内核内的多个控制电路元件。
26.如权利要求21所述的处理方法,还包括: 存储未压缩系统硬件配置数据在多个第二半导体保险丝中,用以初始化至少该内核内的多个控制电路元件。
27.如权利要求21所述的处理方法,其中该压缩配置数据包括压缩的微码插入数据,在至少该内核进行解压缩时,该压缩的微码插入数据用以初始化至少该内核内的多个微码插入元件。
28.如权利要求21所述的处理方法,其中该压缩配置数据包括压缩的微码寄存器数据,在至少该内核进行解压缩时,该压缩的微码寄存器数据用以初始化至少该内核内的多个微码寄存器元件。
29.如权利要求21所述的处理方法,其中该压缩配置数据包括压缩的快取校正数据,在至少该内核进行解压缩时,该压缩的快取校正数据用以初始化至少该内核内的多个快取校正元件。
30.如权利要求21所述的处理方法,还包括:装置编程器与该保险丝阵列耦接,并使该装置编程器根据该压缩配置数据编程该保险丝阵列。
31.如权利要求30所述的处理方法,其中该配置数据包括未压缩系统硬件配置数据,该未压缩系统硬件配置数据用以初始化至少该内核内的多个控制电路元件。
32.如权利要求21所述的处理方法,还包括: 将装置编程器耦接至所述第一半导体保险丝,并根据多个内核的压缩配置数据编程所述第一半导体保险丝,将该装置编程器耦接至所述第一半导体保险丝的步骤包括: 将多个内核的配置数据存储至虚拟保险丝阵列,所述内核的配置数据包括多个数据类型;以及 读取该虚拟保险丝阵列,并利用多个压缩算法,压缩所述内核的配置数据,用以产生所述合新的压缩配置数据,其中所述压缩算法对应所述数据类型。
33.如权利要求32所述的处理方法,其中所述数据类型之一为系统硬件配置数据、微码插入数据、微码寄存器数据、或快取校正数据。
34.如权利要求32所述的处理方法,其中该装置编程器包括中央处理单元以及存储器,该中央处理单元及该存储器整合在晶圆测试设备中。
35.如权利要求21所述的处理方法,其中该内核包括重置控制器,在启动/重置操作下,通过该重置控制器存取、解压缩及发布该压缩配置数据,用以初始化至少该内核内的多个元件。
36.如权利要求35所述的处理方法,其中该重置控制器包括:插入保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的微码插入数据,并发布解压缩的微码插入数据,用以初始化对应该内核内的多个微码插入元件。
37.如权利要求35所述的处理方法,其中该重置控制器包括:寄存器保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的微码寄存器数据,并发布解压缩的微码寄存器数据,用以初始化相对应该内核内的多个微码寄存器元件。
38.如权利要求35所述的处理方法,其中该重置控制器包括:快取保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的快取校正数据,并发布解压缩的快取校正数据,用以初始化相对应该内核内的多个快取校正元件。
39.如权利要求35所述的处理方法,还包括: 根据错误确认校正码以及至少该内核的该压缩配置数据编程所述第一半导体保险丝;以及 在启动/重置操作下,通过至少该内核的该重置控制器,存取该压缩配置数据及该错误确认校正码,并校正该压缩配置数据,用以产生校正的压缩配置数据,并解压缩该校正的压缩配置数据,并发布校正的解压缩配置数据,用以初始化至少该内核内的所述元件。
40.如权利要求39所述的处理方法,其中该保险丝阵列包括多个数据方块以及多个错误确认校正方块,所述数据方块具有一规定尺寸,所述错误确认校正方块的每一个具有所述错误确认校正码中的一个,该错误确认校正码对应所述数据方块中的一个。
【文档编号】G11C15/02GK104183271SQ201410396084
【公开日】2014年12月3日 申请日期:2014年8月13日 优先权日:2013年8月21日
【发明者】G.G.亨利, 弟尼斯.K.詹 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1