《配置数据的处理装置及方法.pdf》由会员分享,可在线阅读,更多相关《配置数据的处理装置及方法.pdf(28页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104183271A43申请公布日20141203CN104183271A21申请号201410396084522申请日2014081313/972,81220130821US13/972,29720130821US13/972,35820130821US13/972,65720130821US13/972,72520130821US13/972,74120130821US13/972,79420130821USG11C15/0220060171申请人威盛电子股份有限公司地址中国台湾新北市72发明人GG亨利弟尼斯K詹74专利代理机构北京市柳沈律师事务所11105代理人史新宏5。
2、4发明名称配置数据的处理装置及方法57摘要一种配置数据的处理装置及方法。该处理装置用以提供配置数据给一微处理器,并包括至少一内核以及一保险丝阵列。内核设置在一晶粒上。保险丝阵列设置在晶粒上,并耦接内核。保险丝阵列包括多个第一半导体保险丝。第一半导体保险丝根据内核的压缩配置数据而被编程。在启动/重置操作下,内核存取并解压缩压缩配置数据,用以初始化至少该内核内的多个元件。30优先权数据51INTCL权利要求书4页说明书14页附图9页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书14页附图9页10申请公布号CN104183271ACN104183271A1/4页21一种处理装置。
3、,用以提供配置数据给微处理器,该处理装置包括至少一内核,设置在晶粒上;以及保险丝阵列,设置在该晶粒上,并耦接至少该内核,其中该保险丝阵列包括多个第一半导体保险丝,所述第一半导体保险丝根据至少该内核的压缩配置数据而被编程,其中在启动/重置操作下,至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。2如权利要求1所述的处理装置,其中至少该内核包括X86相容的单核或多内核微处理器。3如权利要求1所述的处理装置,其中还包括虚拟保险丝阵列,该虚拟保险丝阵列的配置数据被压缩,用以产生该压缩配置数据,该虚拟保险丝阵列的数据对应于至少该内核。4如权利要求1所述的处理装置,其中该保险丝阵列还。
4、包括多个第二半导体保险丝,根据内核设计数据而被编程,该内核设计数据与至少该内核的特定内核的部分压缩配置数据有关,其中在启动/重置操作下,至少该特定内核存取并解压缩该内核设计数据,用以初始化至少该内核内的多个元件5如权利要求4所述的处理装置,其中该保险丝阵列还包括多个第三半导体保险丝,所述第三半导体保险丝根据未压缩系统硬件配置数据而被编程,该未压缩系统硬件配置数据用以初始化至少该特定内核内的多个控制电路元件。6如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,所述第二半导体保险丝根据未压缩系统硬件配置数据而被编程,该未压缩系统硬件配置数据用以初始化至少该内核内的多个控制电路。
5、元件。7如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据包括一压缩的微码插入数据,该压缩的微码插入数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该用以初始化至少该内核内的多个微码插入元件。8如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据还包括压缩的微码寄存器数据,该压缩的微码寄存器数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该压缩微码寄存器数据用以初始化至少该内核内的多个微码寄存器元件。9如权利要求1所述的处理装置,其中该保险丝阵列还包括多个第二半导体保险丝,该压缩配置数据还包括压缩的快。
6、取校正数据,该压缩的快取校正数据被编程至所述第二半导体保险丝,当至少该内核进行解压缩时,该压缩快取校正数据用以初始化至少该内核内的多个快取校正元件。10如权利要求1所述的处理装置,还包括装置编程器,耦接该保险丝阵列,用以存取该配置数据,并压缩该配置数据,用以产生该压缩配置数据,并根据该压缩配置数据编程该保险丝阵列。11如权利要求10所述的处理装置,其中该配置数据包括未压缩系统硬件配置数据,该未压缩系统硬件配置数据并未被该装置编程器所压缩,并且该未压缩系统硬件配置数据用以初始化至少该内核的多个控制电路元件。12如权利要求1所述的处理装置,还包括装置编程器,该装置编程器包括权利要求书CN10418。
7、3271A2/4页3虚拟保险丝阵列,用以存储至少该内核的配置数据,该配置数据包括多个数据类型;以及压缩器,耦接该虚拟保险丝阵列,用以读取该虚拟保险丝阵列,并利用多个压缩算法,压缩该配置数据,用以产生该压缩配置数据,其中所述压缩算法对应所述数据类型。13如权利要求12所述的处理装置,其中所述数据类型之一为系统硬件配置数据、微码插入数据、微码寄存器数据、或快取校正数据。14如权利要求12所述的处理装置,其中该装置编程器包括中央处理单元以及存储器,该中央处理单元及该存储器整合在晶圆测试设备中。15如权利要求1所述的处理装置,其中该内核包括重置控制器,用以解压缩该压缩配置数据,并发布解压缩的配置数据,。
8、用以初始化所述元件。16如权利要求15所述的处理装置,其中该重置控制器包括一插入保险丝解压缩器元件,用以解压缩该压缩配置数据里的一压缩的微码插入数据,并发布解压缩的微码插入数据,用以初始化对应该内核内的多个微码插入元件,而该压缩的微码插入数据由多个第二半导体保险丝中所提取出。17如权利要求15所述的处理装置,其中该重置控制器包括寄存器保险丝解压缩器元件,用以解压缩该压缩配置数据里的一压缩的微码寄存器数据,并发布解压缩的微码寄存器数据,用以初始化相对应该内核内的多个微码寄存器元件,而该压缩的微码寄存器数据由多个第二半导体保险丝中提取出。18如权利要求15所述的处理装置,其中该重置控制器包括快取保。
9、险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的快取校正数据,并发布解压缩的快取校正数据,用以初始化相对应该内核内的多个快取校正元件,而该压缩的快取校正数据由多个第二半导体保险丝中所提取出。19如权利要求15所述的处理装置,其中所述第一半导体保险丝根据该压缩配置数据以及错误确认校正码而被编程,而该重置控制器用以存取该压缩配置数据及该错误确认校正码,并校正错误,用以产生校正的压缩配置数据。20如权利要求19所述的处理装置,其中该保险丝阵列包括多个数据方块以及多个错误确认校正方块,所述数据方块具有一规定尺寸,所述错误确认校正方块的每一个具有所述错误确认校正码中的一个,该错误确认校正码对应所述数。
10、据方块中的一个。21一种处理方法,用以提供配置数据给一微处理器,该方法包括设置至少一内核在晶粒上;设置保险丝阵列在该晶粒上,并使该保险丝阵列耦接至少该内核,其中,该保险丝阵列具有多个第一半导体保险丝;根据至少该内核的压缩配置数据编程所述第一半导体保险丝;以及在启动/重置操作下,利用至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。22如权利要求21所述的处理方法,其中至少该内核包括X86相容的单核或多内核微处理器。23如权利要求21所述的处理方法,其中该压缩配置数据来自压缩虚拟保险丝阵列的数据而产生,该虚拟保险丝阵列的数据对应于至少该内核。权利要求书CN104183271。
11、A3/4页424如权利要求21所述的处理方法,还包括根据一内核设计数据编程多个第二半导体保险丝,该内核设计数据与至少该内核的特定内核的部分压缩配置数据有关;以及在启动/重置操作下,通过该特定内核,存取并解压缩该特定内核的部分压缩配置数据,用以初始化该特定内核的多个元件。25如权利要求24所述的处理方法,还包括存储一未压缩系统硬件配置数据在多个第三半导体保险丝中,用以初始化至少该特定内核内的多个控制电路元件。26如权利要求21所述的处理方法,还包括存储未压缩系统硬件配置数据在多个第二半导体保险丝中,用以初始化至少该内核内的多个控制电路元件。27如权利要求21所述的处理方法,其中该压缩配置数据包括。
12、压缩的微码插入数据,在至少该内核进行解压缩时,该压缩的微码插入数据用以初始化至少该内核内的多个微码插入元件。28如权利要求21所述的处理方法,其中该压缩配置数据包括压缩的微码寄存器数据,在至少该内核进行解压缩时,该压缩的微码寄存器数据用以初始化至少该内核内的多个微码寄存器元件。29如权利要求21所述的处理方法,其中该压缩配置数据包括压缩的快取校正数据,在至少该内核进行解压缩时,该压缩的快取校正数据用以初始化至少该内核内的多个快取校正元件。30如权利要求21所述的处理方法,还包括装置编程器与该保险丝阵列耦接,并使该装置编程器根据该压缩配置数据编程该保险丝阵列。31如权利要求30所述的处理方法,其。
13、中该配置数据包括未压缩系统硬件配置数据,该未压缩系统硬件配置数据用以初始化至少该内核内的多个控制电路元件。32如权利要求21所述的处理方法,还包括将装置编程器耦接至所述第一半导体保险丝,并根据多个内核的压缩配置数据编程所述第一半导体保险丝,将该装置编程器耦接至所述第一半导体保险丝的步骤包括将多个内核的配置数据存储至虚拟保险丝阵列,所述内核的配置数据包括多个数据类型;以及读取该虚拟保险丝阵列,并利用多个压缩算法,压缩所述内核的配置数据,用以产生所述合新的压缩配置数据,其中所述压缩算法对应所述数据类型。33如权利要求32所述的处理方法,其中所述数据类型之一为系统硬件配置数据、微码插入数据、微码寄存。
14、器数据、或快取校正数据。34如权利要求32所述的处理方法,其中该装置编程器包括中央处理单元以及存储器,该中央处理单元及该存储器整合在晶圆测试设备中。35如权利要求21所述的处理方法,其中该内核包括重置控制器,在启动/重置操作下,通过该重置控制器存取、解压缩及发布该压缩配置数据,用以初始化至少该内核内的多个元件。36如权利要求35所述的处理方法,其中该重置控制器包括插入保险丝解压缩器元权利要求书CN104183271A4/4页5件,用以解压缩该压缩配置数据里的压缩的微码插入数据,并发布解压缩的微码插入数据,用以初始化对应该内核内的多个微码插入元件。37如权利要求35所述的处理方法,其中该重置控制。
15、器包括寄存器保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的微码寄存器数据,并发布解压缩的微码寄存器数据,用以初始化相对应该内核内的多个微码寄存器元件。38如权利要求35所述的处理方法,其中该重置控制器包括快取保险丝解压缩器元件,用以解压缩该压缩配置数据里的压缩的快取校正数据,并发布解压缩的快取校正数据,用以初始化相对应该内核内的多个快取校正元件。39如权利要求35所述的处理方法,还包括根据错误确认校正码以及至少该内核的该压缩配置数据编程所述第一半导体保险丝;以及在启动/重置操作下,通过至少该内核的该重置控制器,存取该压缩配置数据及该错误确认校正码,并校正该压缩配置数据,用以产生校正的压。
16、缩配置数据,并解压缩该校正的压缩配置数据,并发布校正的解压缩配置数据,用以初始化至少该内核内的所述元件。40如权利要求39所述的处理方法,其中该保险丝阵列包括多个数据方块以及多个错误确认校正方块,所述数据方块具有一规定尺寸,所述错误确认校正方块的每一个具有所述错误确认校正码中的一个,该错误确认校正码对应所述数据方块中的一个。权利要求书CN104183271A1/14页6配置数据的处理装置及方法技术领域0001本发明涉及一种处理装置,特别涉及一种提供配置数据给一微处理器的处理装置及方法。背景技术0002集成电路的技术在过去40年内,以指数方式成长。特别是在微处理器领域中,由4位单指令、10微米装。
17、置开始,半导体制造技术的成长让设计者可提高复合式装置内部的元件密度。在80及90年代的流水线式微处理器及超标量纯量微处理器中,可将数百万个晶体管设置在单一晶粒中。在随后的20年中,出现了64位的32纳米装置,其将数十亿个晶体管设置在单一晶粒中,该晶粒具有多微处理器内核,用以处理数据。0003在启动或重置装置时,这些早期的装置需被配置数据所初始化。举例而言,许多架构利用至少一可选择的频率和/或电压,致能装置。其它架构要求每一装置需具有一序号以及其它可通过执行指令而读取的信息。另一些装置内部的寄存器及控制电路需要初始化数据。当前述电路在制造时发生错误或是并未位于临界限制中时,其它装置利用配置数据执。
18、行额外电路。0004本领域技术人员均深知,设计者可利用传统整合在晶粒上的半导体保险丝阵列存储并提供初始配置数据。当部分保险丝阵列已制造完成时,可藉由熔断所选择到的保险丝,对这些保险丝阵列进行编程,并且保险丝阵列具有数千位的信息,在启动/重置装置时,便可读取保险丝阵列,用以初始化及设定相对应装置的操作。0005当装置的复杂性愈来愈高时,配置数据量会随之增加。然而,本领域技术人员深知,虽然晶体管的尺寸随半导体工艺而缩小,但整合在晶粒上的半导体保险丝的尺寸却增加。这个现象影响可使用空间以及功率损耗,因而成为设计者的问题。因此,若欲制造一大保险丝阵列在晶粒上时,晶粒可能无法提供足够的可使用空间。000。
19、6另外,由于每一内核需要一定数量的保险丝,因此,若欲在单一晶粒上制造许多内核时,将使上述问题恶化。0007因此,需要一装置及方法使配置数据可被存储并提供在一多内核装置中,并且在单一晶粒中,不会占用太多的空间及消耗太多的电源。0008另外,需要一保险丝阵列机制,用以在相同或更小的空间中,存储并提供比传统技术更多的配置数据。发明内容0009本发明利用一多内核装置里的一保险丝阵列的压缩配置数据,提供较佳的技术,用以解决上述问题并满足其它问题及缺点以及已知的受限。在一可能实施例中,本发明提供一种处理装置,用以提供配置数据给一微处理器,并包括至少一内核以及一保险丝阵列。内核设置在一晶粒上。保险丝阵列设置。
20、在晶粒上,并耦接内核。保险丝阵列包括多个第一半导体保险丝。第一半导体保险丝根据内核的压缩配置数据而被编程。在启动/重置操作说明书CN104183271A2/14页7下,内核存取并解压缩压缩配置数据,用以初始化至少该内核内的多个元件。0010本发明还提供一种处理方法,用以提供一配置数据给一微处理器,并包括设置至少一内核在一晶粒上;设置一保险丝阵列在该晶粒上,并使该保险丝阵列耦接至少该内核,其中,该保险丝阵列具有多个第一半导体保险丝;根据至少该内核的压缩配置数据编程所述第一半导体保险丝;以及在启动/重置操作下,利用至少该内核存取并解压缩该压缩配置数据,用以初始化至少该内核内的多个元件。0011对于。
21、工业应用,本发明可应用在微处理器中,其应用在一般或特殊用途的计算机装置中。0012为让本发明的特征和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下附图说明0013图1为已知具有一保险丝阵列的微处器内核的示意图。0014图2为图1的具有冗余保险丝组的微处器内核的示意图。0015图3为根据本发明的提供压缩及解压缩配置数据给一多内核装置的示意图。0016图4为根据本发明的保险丝解解压缩机制的一可能实施例。0017图5为本发明的压缩配置数据的一可能格式示意图。0018图6为本发明的解压缩微码插入配置数据的一可能格式示意图。0019图7为本发明的解压缩微码寄存器配置数据的一可能格式示。
22、意图。0020图8为本发明的解压缩快取校正数据的一可能格式示意图。0021图9为本发明的解压缩保险丝校正数据的一可能格式示意图。0022图10为本发明的具有可配置冗余保险丝阵列的多内核装置的一可能实施例。0023图11为本发明的快速地载入配置数据至多内核装置的机制示意图。0024图12为本发明的错误确认校正机制的一可能实施例。0025【符号说明】0026100、200方块;101微处器内核;102、201、336保险丝阵列;103重置逻辑;104重置电路;105重置微码;107控制电路;108微码寄存器;109微码插入元件110快取校正元件;RESET重置信号;202、PFB1PFBN、RFB。
23、1RFBN保险丝组;203保险丝;210211寄存器;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。
24、重置控制器;420微处器内核;421解压缩器;500压缩配置数据;502压缩数据栏位;503结束类型栏位;504结束熔断栏位;600解压缩微码插入配置数据;601内核地址栏位;602微码ROM地址栏位;603微码插入数据栏位;604解压缩数据方块;700解压缩微码寄存器配置数据;701内核地址栏位;702微码寄存器地址栏位;703微码寄存器数据栏位;704解压缩数据方块;800解压缩快取校正数据;802说明书CN104183271A3/14页8次单元行地址栏位;803替换行地址栏位;804解压缩数据方块;900解压缩保险丝校正数据;901结束熔断栏位;902重熔栏位;903保险丝校正栏位;10。
25、00多内核装置;1003、1103阵列控制;1004配置数据寄存器;1100装置;1104载入数据寄存器;1101物理级保险丝阵列;1105非内核RAM;1200错误确认校正机制;1202ECC码方块;1203压缩配置数据方块;1224ECC元件;1226解压缩器;1220微处理器内核;1222重置控制器;CDATA总线;ADDR地址总线;CODE码总线;DATA数据总线。具体实施方式0027集成电路IC是指一电子电路集合形成在一小尺寸的半导体材料上,如硅。集成电路也可称为芯片、微芯片或晶粒。0028中央处理单元CPU是指电子电路即硬件藉由执行一数据的操作,执行一计算机程序即为计算机应用程序或。
26、应用程序的指令,该数据的操作包括算术操作、逻辑操作及输入/输出操作。0029微处理器是指一电子装置作为一单一集成电路上的一中央处理单元。一微处理器接收数字数据,作为输入,根据一存储器的指令处理数据,并产生输出指令所要求的操作结果,其中存储器设置或不设置在晶粒上。一通用微处理器可应用在桌上型、可携带型或平板电路中,并且可计算、文字处理、多媒体显示以及网络浏览。一微处理器可能设置在一嵌入式系统中,用以控制许多装置,包括设备、移动电话、智能手机以及工业用控制装置。0030多内核处理器也称为多内核微处理器、多内核处理器为一微处理器,其具有多中央处单元内核,其形成在同一集成电路上。0031指令集架构IS。
27、A或指令集是指用以编程的一计算机架构的部分,其包括数据类型、指令、寄存器、地址模式、存储器架构、中断及异常处理与输入/输出。一ISA包括操作码集合的特性即机器语言指令以及一特定CPU所使用的本地命令。0032X86相容微处理器是指一具有执行计算机应用程序的微处理器,根据X86ISA便可编程计算机应用程序。0033微码是指多个微指令。一微指令也称为本地指令为一指令,其可由一微处理器次运算单元所执行。在一可能实施例中,次单元包括整数运算单元、浮点运算单元、MMX运算单元以及载入/存储运算单元。举例而言,藉由精简指令集RISC直接执行微指令。对于多个指令集CISC微处理器如X86相容性微处理器而言,。
28、X86指令被转译成组合微指令,并且藉由CISC的微处理器直接执行组合微指令。0034保险丝为一导体结构,一般为细线,藉由施加电压至细线上和/或使电流流过细线,便可熔断细线。利用已知的制造技术,将保险丝沉积在一晶粒拓朴的一特定位置,用以制造出可编程的细线。在制造完成后,熔断或不熔断保险丝,用以提供晶粒上的一相对应装置的编程。0035请参考图1,方块100为目前微处器内核101的示意图。微处器内核101具有一保险丝阵列102,用以提供配置数据给微处器内核101。保险丝阵列102具有多个半导体保险丝未显示。半导体保险丝一般是成列排列。保险丝阵列102耦接重置逻辑103。重置逻辑103包括重置电路10。
29、4及重置微码105。重置逻辑103耦接控制电路107、微码寄存器108、微码插入元件109以及快取校正元件110。一外部重置信号RESET耦接微处器内核说明书CN104183271A4/14页9101。重置逻辑103接收外部重置信号RESET。0036本领域的技术人员均深知,在集成电路装置制造完后,大量的集成电路装置使用保险丝也称为连结或保险丝结构,用以提供集成电路的配置。举例而言,图1的微处器内核101提供功能选择,用以选择是应用在桌上型装置或便携式装置中。因此,在制造时,保险丝阵列102里的保险丝可能会被烧断,用以选择装置,如一便携式装置。因此,当重置信号RESET被致能后,重置逻辑103。
30、读取保险丝阵列102里被指定的保险丝的状态,并且重置电路104在此例中,不是重置微码105致能相对应的控制电路107。控制电路107禁能微处器内核101中与桌上型功能有关的元件,并致能微处器内核101中与便携式功能有关的元件。因此,微处器内核101被启动,并被重置成一便携式装置。另外,重置逻辑103读取保险丝阵列102里的其它保险丝的状态,并且重置电路104在此例中,不是重置微码105致能相对应的快取校正元件110,用以对给微处器内核101的至少一快取存储器未显示提供校正机制。因此,微处器内核101被启动,并被重置成一便携式装置,并且微处器内核101的快取存储器的校正机制也被设置妥当。0037。
31、上述的例子仅仅是在描述图1的微处器内核101里的保险丝的许多不同用途。本领域的技术人员均深知保险丝的其它用途,并不限制在装置特定数据的配置如序号、唯一的加密码、计算机内部结构的授权数据,其可被使用者存取、速度设定、电压设定,初始化数据及插入数据。举例而言,许多目前的装置执行微码,用以初始化微码寄存器108。保险丝阵列102里的微码寄存器保险丝未显示可能提供用以初始化的数据,在重置操作下,藉由重置逻辑103重置电路104或重置微码105,或重置电路104及重置微码105读取初始化的数据,并将读取到的初始化数据提供给微码寄存器108。为了达到上述目的,重置电路104包括硬件元件,其提供特定类型的配。
32、置数据,重置微码105无法提供这些特定类型的配置数据。重置微码105包括多个微指令,所述微指令设置在一内部微码存储器未显示中。在重置微处器内核101时,执行内部微码存储器,用以执行微处器内核101的初始化功能,这些功能包括,读取保险丝阵列102里的配置数据,并将读取结果提供给多个元件,如微码寄存器108及微代码插入机制109。微处器内核101的一特殊设置就是判断保险丝阵列的配置数据是否通过重置微码105提供给微处器内核101的不同元件107110中。本发明的目的并非个别地初始化集成电路装置,本领域的技术人员均深知目前的微处器内核101的配置元件107110的种类通常落在四种类型中,以图1为例,。
33、即为控制电路、微码寄存器、微码插入机制以及快取校正机制。另外,本领域的技术人员将可知,配置数据的值很明显是根据数据的类型而改变。例如,一64位的控制电路107可能包括ASCII数据,ASCII数据用以指定微处器内核101的序号。其它64位的控制寄存器可能具有64种不同的速度设定,每次只有一种速度设定会被致能,用以控制微处器内核101的操作速度。一般而言,微码寄存器108可能会被初始化成全为0即低逻辑状态或全为1如高逻辑状态。微代码插入机制109可能包括均匀分布的1及0,用以表示一微码ROM未显示中需要被置换的微码值的地址,这些地址的微码值将被置换。最后,快取校正机制可能包含很少的设定值1,用以。
34、表示一某一快取次组SUBBANK元件即一列或一行需被替换成一特定取代次组元件。0038保险丝阵列102提供一优秀的功能,用以在一装置如微处器内核101制造完成后,设定微处器内核101。藉由熔断保险丝阵列102里的某些保险丝,就可使微处器内核101说明书CN104183271A5/14页10操作在相对应的环境中。然而,本领域的技术人员均深知,藉由编程保险丝阵列102,便可改变微处器内核101的操作环境。微处器内核101可能因业务需求而被初始化,如由一桌上型装置被初始化成一便携式装置。因此,设计者可设置冗余保险丝在保险丝阵列102中,作为不熔断保险丝,因此,便可初始化微处器内核101的配置、校正制。
35、造错误等等。具有冗余保险丝的保险丝阵列将叙明于图2中。0039请参考图2,方块200显示微处器内核101里的一保险丝阵列201,其具有保险丝组202冗余保险丝组RFB1RFBN与第一保险丝PFB1PFBN。保险丝阵列201里的第一保险丝组PFB1PFBN会先被熔断,然后再熔断冗余保险丝组RFB1RFBN。冗余保险丝组RFB1RFBN及PFB1PFBN包括一既定的数量的保险丝203,并且保险丝203各自独立,保险丝203的数量与微处器内核101的特定设计有关。举例而言,在64位的微处器内核101中,保险丝组202的保险丝203数量可能是64个,用以便于微处器内核101使用配置数据。0040保险丝。
36、阵列201耦接寄存器210211。一般而言,寄存器210211设置在微处器内核101的重置逻辑中。主要寄存器PR1用以读取第一保险丝组PFB1PFBN中的一个假设是方块图200里的保险丝组PFB3。冗余寄存器RR1用以读取冗余保险丝组RFB1RFBN中的一个。寄存器210与211均耦接一异或逻辑门212。异或逻辑门212提供一输出FB3。0041在操作中,在制造出微处器内核101之后,可藉由已知的技术编程第一保险丝组PFB1PFBN,使其成为微处器内核101可使用的配置数据。冗余保险丝组RFB1RFBN均未被熔断,并且维持在一低逻辑状态。在启动/重置微处器内核101时,主要寄存器210以及冗余。
37、寄存器211分别读取第一保险丝组PFB1PFBN及冗余保险丝组RFB1RFBN的状态。异或EXCLUSIVEOR,又称之为“互斥或”逻辑门212对寄存器210及211所存储的数据进行异或运算,用以产生输出FB3。由于所有的冗余保险丝组均未被熔断即均为低逻辑状态,因此,输出FB3的值很简单,就是制造后,第一保险丝组PFB1PFBN被编程的结果。0042目前,因设计或业务需求,要求写入至第一保险丝组PFB1PFBN的信息可被更改。因此,为了改变启动后所读取到的信息,必须执行一可编程操作,用以熔断冗余保险丝组RFB1RFBN里的对应冗余保险丝203。在熔断所选择的冗余保险丝组RFB1RFBN里的一保。
38、险丝203时,第一保险丝组PFB1PFBN里的一相对应保险丝203逻辑性地与其相配。0043图2的机制可能在微处器内核101中,提供重熔的保险丝203,但是本领域技术人员所深知,由于只有一组冗余保险丝组RFB1RFBN,因此,冗余保险丝组RFB1RFBN里的每保险丝203只能被重熔一次,为了提供多次的重熔,可在微处器内核101中加入多组额外保险丝组202及寄存器210211。0044截止目前为止,图1及图2的保险丝阵列机制提供足够的弹性给微处理器内核及其它相关的装置,用以允许有限次数的重熔。制造技术如65及45纳米工艺可在晶粒上形成足够的保险丝,用以设定晶粒上的一微处器内核101。然而,目前的。
39、技术仍受限制于两个明显的因素。第一个因素是,本领域的趋势是形成多个微处器内核101在同一晶粒中,用以增加处理效能。这些称为多内核装置可能具有216个独立内核101,为了开启/重置内说明书CN104183271A106/14页11核101,每一内核配置有保险丝数据。因此,对于4内核装置而言,4个保险丝阵列201会被使用独立的内核中,每一内核的数据可能不同如快取校正数据、冗余保险丝数据等。第二是,本领域技术人员均深知,制造技术的降低如32纳米,因此,晶体管的尺寸也降低,故保险丝的尺寸增加,故需在32纳米的晶粒上实现45纳米的保险丝阵列。0045根据上述的限制以及装置设计者的其它挑战,特别是多内核装。
40、置的设计者,本发明提供明显的改善,优于已知装置配置机制,本发明在多内核装置中编程独立的内核,并增加快取校正及保险丝再编程重熔的次数。稍后将通过图3图12说明本发明。0046图3为本发明的系统300的示意图,用以压缩并解压缩多内核装置的配置数据。多内核装置具有多内核332。内核332设置在一晶粒330上。为方便说明,图3仅显示内核CORE1CORE4。内核CORE1CORE4设置在晶粒330上。在其它实施例中,晶粒330可能具有其它数量的内核332。在本实施例中,所有内核332共用单一快取存储器334。快取存储器334也设置在晶粒330之上。单一可编程保险丝阵列336也设置在晶粒330上,并且在。
41、启动/重置操作下,每一内核332用以存取保险丝阵列336,用以提取并解压缩配置数据。0047在一实施例中,内核332包括微处理器内核,用以构成一多内核微处理器晶粒330。在其它实施例中,多内核微处理器330作为X86相容多内核微处理器。在其它实施例,快取存储器334包括二级LEVEL2快取存储器,其耦接微处理器内核332。在一可能实施例中,保险丝阵列336具有81928K个各自独立的保险丝未显示,但也可使用其它数量的保险丝。在单一内核的实施例中,只有一内核332设置在晶粒330之上,并且该内核332耦接快取存储器334及保险丝阵列336。虽然稍后将说明多内核装置晶粒330的特征及功能,但多内核。
42、装置的特征与单一内核的特征相同。0048系统300也包括一装置编程器310。装置编程器310包括一压缩器320。压缩器320耦接虚拟保险丝阵列303。在一可能实施例中,装置编程器310可能包括一中央处理器未显示,用以处理配置数据,并在晶粒330制造完成后,利用已知的编程技术,编程保险丝阵列336。中央处理器可能整合在一晶圆测试设备中,用以测试制造完成后的装置晶粒330。在一可能实施例中,压缩器320可能具有一应用程序,其可在装置编程器310上被执行,并且虚拟保险丝阵列303可能包括一存储器的地址,该存储器由压缩器320所存取。虚拟保险丝阵列303具有许多虚拟保险丝组301。每一虚拟保险丝组30。
43、1具有多个虚拟保险丝302。在一可能实施例中,虚拟保险丝阵列303具有128个虚拟保险丝组301,每一虚拟保险丝组301具有64个虚拟保险丝302,因此,保险丝阵列303的尺寸为8KB。0049操作上,如同图1所示,在制造阶段中,装置330的配置信息会被输入至虚拟保险丝阵列330中。因此,配置信息包括控制电路的配置数据、微码寄存器的初始化数据、微码插入数据以及快取校正数据。另外,如上所述,不同类型的配置数据的值均不相同。虚拟保险丝阵列303为一保险丝阵列未显示的逻辑代表,其具有晶粒330上的每一微处理器内核332的配置信息,以及晶粒330上的每一快取存储器334的校正数据。0050当信息存入虚。
44、拟保险丝阵列303后,压缩器320读取每一虚拟保险丝组301的虚拟保险丝302的状态,并利用每一数据类型所对应的分离压缩算法DISTINCTCOMPRESSIONALGORITHMS进行压缩,用以产生压缩保险丝阵列数据。在一可能实施例中,控制电路的系统数据并不会被压缩,但会在没有压缩的情况下被转换。为了压缩微码寄存器数据,可使用一微码寄存器数据压缩算法,用以压缩具有一状态分布的数据,该状态分布相对于微码寄说明书CN104183271A117/14页12存器数据。为了压缩微码插入数据,可使用一微码插入数据压缩算法,用以有效地压缩具有一状态分布的数据,该状态分布对应于微码插入数据。为了压缩快取校正。
45、数据,可使用一快取校正数据压缩算法,用以有效地压缩具有一状态分布的数据,该状态分布对应于快取校正数据。0051接着,装置编程器310将未被压缩及已被压缩的保险丝阵列数据编程至晶粒330上的物理级保险丝阵列336。0052在启动/重置操作时,每一内核332可能存取物理级保险丝阵列336,用以提取未压缩及已压缩的保险丝阵列数据,并且在每一内核332内的重置电路/微码未显示发布未压缩保险丝阵列数据,并根据每一数据类型所对应的分离解压缩算法,解压缩已压缩的保险丝阵列数据,用以提供原本在虚拟保险丝阵列303里的原始值。然后,重置电路/微码将配置信息提供给控制电路未显示、微码寄存器未显示、插入元件未显示以。
46、及快取校正元件未显示。0053藉由本发明的保险丝阵列压缩系统300,可使得装置设计者减少物理级保险丝阵列336里的保险丝数量,并且在启动/重置操作中,利用已压缩的信息程序,对一多内核装置330进行设定。0054请参考图4,方块400显示本发明的保险丝解解压缩机制。解压缩机制可能设置在图3的每一微处理器内核332中。为了清楚叙明本发明,图4仅显示单一内核420,但图3的晶粒上的每一内核332均具有图4的内核420的元件。物理级保险丝阵列401设置在晶粒上,并且耦接内核420。物理级保险丝阵列401具有已压缩的微码插入保险丝403、已压缩的寄存器保险丝404、已压缩的快取校正保险丝405以及已压缩。
47、的保险丝校正保险丝406。物理级保险丝阵列401可能也具有未压缩的配置数据未显示,如上述的系统配置数据和/或错误检测及校正ERRORCHECKINGANDCORRECTION;以下简称ECC码未显示。稍后将说明根据本发明的ECC特征。0055微处器内核420包括一重置控制器417。重置控制器417接收一重置信号REST,重置信号REST用以初始化内核420,使内核420进行一重置步骤。重置控制器417具有一解压缩器421。解压缩器421具有一插入保险丝元件408、一寄存器保险丝元件409以及一快取保险丝元件410。解压缩器421也包括一保险丝校正元件411,其通过总线412耦接插入保险丝元件4。
48、08、寄存器保险丝元件409以及快取保险丝元件410。插入保险丝元件408耦接内核420内的微码插入元件414。寄存器保险丝元件409耦接内核420里的微码寄存器415。快取保险丝元件410耦接内核420内的快取校正元件416。在一可能实施例中,快取校正元件416设置在具有二级L2快取存储器未显示的晶粒上。所有内核420共用快取校正元件416,如图3的快取存储器334。在另一实施例中,快取校正元件416设置在具有一级L1快取存储器未显示的晶粒上。在其它实施例中,快取校正元件416设置在具有一级L1及二级L2快取存储器未显示的晶粒上。0056在操作时,当重置信号RESET被致能时,重置控制器41。
49、7读取物理级保险丝阵列401里的保险丝403406的状态,并将已压缩系统保险丝未显示的状态提供给解压缩器421。在读取并提供完成后,解压缩器421里的保险丝校正元件411解压缩已压缩的保险丝校正保险丝406的状态,用以提供数据,该数据表示物理级保险丝阵列401的至少一保险丝地址,先前已被编程的这状态会被改变。解压缩后的数据可能包含至少一保险丝地址的说明书CN104183271A128/14页13值。此至少一保险丝地址及随意值会通过总线412传送至元件408410,使得相对应的保险丝的状态在被解压缩前就被改变。0057在一可能实施例中,插入保险丝元件408包括微码,用以根据一微码插入解压缩算法,解压缩已被压缩的微码插入保险丝403的状态,微码插入解压缩算法对应于图3所述的微码插入压缩算法。在一可能实施例中,寄存器保险丝元件409包括微码,用以根据一寄存器保险丝解压缩算法,解压缩已压缩的寄存器保险丝404,寄存器保险丝解压缩算法对应于图3所述的寄存器保险丝压缩算法。在一可能实施例中,快取保险丝元件410包括微码,用以根据一快取校正保险丝解压缩算法,解压缩已压缩的快取校正保险丝405,快取校正保险丝解压缩算法对应于图3所述的快取校正保险丝压缩算法。保险丝校正元件411通过总线412提供保险丝的地址,元件408410的每一个根据。