本发明专利技术公开了一种微处理器、集成电路与提供微码指令储存空间的方法,该微处理器包含多个处理核,每一处理核包含对应的核内记忆体,其实体位于该处理核内且仅可被该处理核读取。微处理器亦包含核外记忆体,其实体位于所有处理核外且可被所有处理核读取。对每一处理核,核外记忆体与对应的核内记忆体共同提供对可被该处理核提取的多个微码指令而设的M字组的储存空间,其中核外记忆体提供J字组的储存空间,核内记忆体提供K字组的储存空间,J、K与M为正整数且M=J+K。前述诸记忆体为非架构上可见,且以非架构的程序计数器所提供的提取地址存取。前述微码指令是实作微处理器的架构指令的非架构指令。
【技术实现步骤摘要】
微处理器、集成电路与提供微码指令储存空间的方法
本专利技术关于多核微处理器设计,特别关于核外的微码只读记忆体。
技术介绍
集成电路上的晶粒(die)空间弥足珍贵。这主要有两个原因。第一,晶粒愈大则合格率愈低、成本愈高。第二,因为实际的最大晶粒尺寸受制于经济上可接受的合格率,功能的多寡(约当为效能的衡量)亦受限于可被放在晶粒上的电路数量。对如微处理器的高度复杂集成电路尤莫如是。微处理器设计趋于多核,亦即每一微处理器在单一集成电路上具有多颗处理核(processingcore)。一般而言,这些处理核是在晶粒上重复出现、本质相同的设计,但它们也可共享不属任何一核的资源。一个常见的共享资源的例子是二级快取(level-2cache)。处理核设计中各电路常被复制多次,四次以上并非罕见,为在集成电路上多次复制同样的处理核,每个核需愈小愈好。
技术实现思路
在一面向上,本专利技术提供一种微处理器。微处理器包含多个处理核。每一处理核包含对应的核内记忆体,核内记忆体(corememory)实体位于该处理核内且可被该处理核读取但不可被其他的处理核读取。微处理器亦包含核外记忆体(uncorememory),其实体位于所有处理核外且可被所有处理核读取。对每一处理核,核外记忆体与对应的核内记忆体共同提供对可被该处理核提取的多个微码指令而设的M字组的储存空间,其中核外记忆体提供M字组中J字组的储存空间,核内记忆体提供M字组中K字组的储存空间,J、K与M为正整数且M=J+K。在另一面向上,本专利技术提供一种提供微码指令储存空间的方法,用于一个微处理器的多个处理核中。所述方法包含对每一处理核提供对可被该处理核提取的多个微码指令而设的M字组的储存空间。所提供的M字组储存空间包含对每一处理核而言,自核外记忆体提供M字组中J字组的储存空间,以及对应的核内记忆体所提供的M字组中K字组的储存空间。核外记忆体实体位于所有处理核外且可被所有处理核读取;每一处理核的核内记忆体实体位于该处理核内且仅可被该处理核读取。J、K与M为正整数且M=J+K。在又一面向上,本专利技术提供一种集成电路。集成电路包含多个处理核,每一处理核包含自有的非共享记忆体,其实体位于该处理核内且用以储存微码指令的第一部分。集成电路亦包含共享记忆体,其实体位于彼等处理核外且用以储存微码指令的第二部分。每一处理核用以从自有的非共享记忆体提取第一部分,并自共享记忆体提取第二部分。在又一面向上,本专利技术提供一种计算机程序产品,编码于至少一个非暂态的计算机可用媒介中以与计算装置合用。计算机程序产品包含计算机可用程序码,其体现于前述计算机可用媒介中,用以阐明一种微处理器。计算机可用程序码包含第一程序码,其用以阐明多个处理核,每一处理核包含对应的核内记忆体,其实体位于该处理核内且可被该处理核读取但不可被其他的处理核读取。计算机可用程序码亦包含第二程序码,其用以阐明一个核外记忆体,其实体位于所有处理核外且可被所有处理核读取。对每一处理核,核外记忆体与对应的核内记忆体共同提供对可被该处理核提取的多个微码指令而设的M字组的储存空间,其中核外记忆体提供M字组中J字组的储存空间,核内记忆体提供M字组中K字组的储存空间,J、K与M为正整数且M=J+K。附图说明图1为一多核微处理器的方块图。图2为一方块图,描绘图1中一处理核的细部。图3为一方块图,描绘图1各处理核的微码定址空间的实例。图4为将微码指令置于图1中核内与核外只读记忆体的流程图。图5为一流程图,描绘图1与图2中微处理器的运作。图6为一方块图,描绘图1中处理核的另一实施例。其中,附图标记:100微处理器102处理核104核内只读记忆体106仲裁逻辑108核外只读记忆体112排线202指令快取204简单指令转译器206暂存器别名表208保留站212执行单元214引退单元216提取单元218架构程序计数器222多工器224目标地址226微指令232微程序计数器235指令间接暂存器236微序列器237微转译器242架构指令244、246微指令245、248选择输入247、249、251微码指令252微码地址254微码提取地址255ISA指令资讯262记忆体子系统264暂存器292多工器294指令转译器296复杂指令转译器300微码定址空间具体实施方式“微码指令”为储存于微处理器的一或多个记忆体的非架构指令,由微处理器的一或多个处理核依据储存于一非架构的程序计数器的记忆体地址所提取,且被彼等处理核用来实作微处理器的指令集架构(instructionsetarchitecture,简称ISA)中的指令。一个“字组”为多个位元。“指令转译器”包含多个晶体管的配置,用以接收ISA机器语言指令作为输入,并对应地将一或多道微指令输出至微处理器的诸执行单元执行。微指令的执行结果由ISA指令所定义,因此执行单元对微指令的集体执行“实作”了ISA指令;也就是说,执行单元对指令转译器所输出的实作微指令的集体执行,在ISA指令所指定的输入上进行ISA指令所指定的操作,以产生ISA指令所定义的结果。由是,指令转译器被称为将ISA指令“转译”为一或多道实作微指令。“微指令集”为微处理器的诸执行单元可执行的(微)指令的集合。“指令集”定义一些二进制编码值(即机器语言指令)的集合与微处理器所进行的操作间的对应关系。机器语言指令指示微处理器进行的操作如:将暂存器1内的运算元与暂存器2内的运算元相加并将结果写入暂存器3、将记忆体地址0x12345678的运算元减掉指令所指定的立即(immediate)运算元并将结果写入暂存器5、依据暂存器7所指定的位元数使暂存器6内的数值移位、若零旗标被设置时则分支至本指令后36个位元组的指令、将数值自记忆体地址0xABCD0000载入暂存器8。因此,指令集定义各机器语言指令必须具有、以使微处理器进行所欲进行操作的二进制编码值。应注意的是,指令集虽定义了二进制值与微处理器操作间的对应关系,这并不意味着单一个二进制值就会对应到单一个微处理器操作。具体而言,在某些指令集中,多个二进制值可能会对应到同一个微处理器操作。在一个微处理器家族的脉络中,“指令集架构”包含:(1)指令集;(2)指令集的指令可存取的资源的集合,资源如用来为记忆体定址的暂存器和模式;以及(3)微处理器处理指令集的指令时产生的例外的集合,如除以零、分页错误、违反了对记忆体的保护等。由于编程人员(如组译器“assembler”、编译器“compiler”的撰写者)想做出在此微处理器家族运行的机器语言程序时需要其ISA定义,因此微处理器家族的制造商通常会将ISA定义于一本编程人员手册之中。举例来说,西元2009年3月出版的Intel64与IA-32架构软件开发者手册(Intel64andIA-32ArchitecturesSoftwareDeveloper’sManual)即定义了Intel64与IA-32处理器架构的ISA。该软件开发者手册在此列为参考文件,其由五卷组成,第1卷描述基本架构;第2A卷是A至M的指令集参考;第2B卷是N至Z的指令集参考;第3A卷是系统编程指南;第3B卷是系统编程指南的第二部分。此处理器架构常被称为x86架构,本文中则以x86、x86ISA、x86ISA家族、x86家族或本文档来自技高网...
【技术保护点】
一种微处理器,其特征在于,包含:多个处理核,每一该处理核包含对应的一核内记忆体,该核内记忆体实体位于对应的该处理核内且可被对应的该处理核读取但不可被其他的该些处理核读取;以及一核外记忆体,实体位于所有的该些处理核外且可被所有的该些处理核读取;其中对每一该处理核,该核外记忆体与对应的该核内记忆体共同提供一M字组的储存空间,所述储存空间对可被该处理核提取的多个微码指令而设,于该M字组的所述储存空间中:该核外记忆体提供该M字组中J字组的所述储存空间;以及该核内记忆体提供该M字组中K字组的所述储存空间;其中J、K与M为正整数,且M=J+K。
【技术特征摘要】
2013.11.05 US 14/072,4281.一种微处理器,其特征在于,包含:多个处理核,每一该处理核包含对应的一核内记忆体,该核内记忆体实体位于对应的该处理核内且可被对应的该处理核读取但不可被其他的该些处理核读取;以及一核外记忆体,实体位于所有的该些处理核外且可被所有的该些处理核读取;其中对每一该处理核,该核外记忆体与对应的该核内记忆体共同提供一M字组的储存空间,所述储存空间对可被该处理核提取的多个微码指令而设,于该M字组的所述储存空间中:该核外记忆体提供该M字组中J字组的所述储存空间;以及该核内记忆体提供该M字组中K字组的所述储存空间;其中J、K与M为正整数,且M=J+K。2.如权利要求1所述的微处理器,其特征在于,该微处理器包含单一个集成电路。3.如权利要求2所述的微处理器,其特征在于,该些处理核有Q个核内记忆体,Q为大于等于2的整数,该核外记忆体和该Q个核内记忆体于该集成电路上所占的总实体面积小于Q个记忆体于该集成电路上会占去的总实体面积,该Q个记忆体中的每一用以提供M字组的对多个微码指令而设的储存空间。4.如权利要求3所述的微处理器,其特征在于,该核外记忆体与该Q个核内记忆体为多个只读记忆体。5.如权利要求3所述的微处理器,其特征在于,该Q个核内记忆体与该核外记忆体为非架构上可见的记忆体。6.如权利要求1所述的微处理器,其特征在于,对每一该处理核,自对应的该核内记忆体较自该核外记忆体提取多个微码指令省时。7.如权利要求1所述的微处理器,其特征在于,该些微码指令为多个非架构指令,该些非架构指令用以实作该微处理器的多个架构指令。8.一种提供微码指令储存空间的方法,用于一微处理器的多个处理核,其特征在于,该提供微码指令储存空间的方法包含:对每一该处理核,提供M字组的储存空间,所述储存空间是对可被该处理核提取的多个微码指令而设;其中提供该M字组的所述储存空间包含:对每一该处理核,自一核外记忆体提供该M字组中J字组的所述储存空间,该核外记忆体实体位于所有的该些处理核外且可被所有的该些处理核读取;以及对每一该处理核,自对应的一核内记忆体提供该M字组中K字组的所述储存空间,该核内记忆体实体位于对应的该处理核内且仅可被对应的该处理核读取...
【专利技术属性】
技术研发人员:G·葛兰·亨利,泰瑞·派克斯,罗德尼·E·虎克,约翰·D·布恩达,布兰特·比恩,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:中国台湾;71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。