平码五不中公式规律
  • / 17
  • 下载费用:30 金币  

VLIW型指令束结构和适用于处理该指令束的处理器.pdf

关 键 ?#21097;?/dt>
VLIW 指令 结构 适用于 处理 处理器
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580038659.9

申请日:

2015.04.27

公开号:

CN106662996A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 9/30申请日:20150427|||公开
IPC分类号: G06F9/30; G06F9/38 主分类号: G06F9/30
申请人: 卡尔雷公司
发明人: R·阿里格耐克; V·雷; B·杜邦德丁辰
地址: 法国奥尔赛
优?#28909;ǎ?/td> 2014.05.22 FR 1454638
专利代理机构: ?#26412;?#24066;中咨律师事务所 11247 代理人: 杨晓光;李峥
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580038659.9

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

本发明涉及一种处理器,包括用于并行处理多个基本指令(Pj)的多个处理单元(PU1??PU4),每个基本指令(Pj)包括一个或多个字节(Pj[1]、Pj[2]),每个字节具有在基本指令中的级;以及输入电路(INC、INC'),输入电路(INC、INC')被配置为接收包括多个基本指令的指令束(IW),以及在向处理单元传输指令束的基本指令的第二级(Pj[2])的字节之前向处理单元传输指令束的基本指令的第一级(Pj[1])的所有字节,相同级的字节根据每个字节的目标处理单元来排序。

权利要求书

1.一种方法,用于编译具有能够执行具有若干基本指令(Pj)的指令束(IW)的多个处理
单元的处理器的程序,所述方法包括以下步骤:
在指令束中收集多个基本指令,每个基本指令以所述处理器(PRC、PRC')的相应处理单
元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)为目标,每个基本指令包括一个或多个字节(Pj[1]、
Pj[2]),每个字节具有在所述基本指令中的级;以及
根据相同级的字节的组将所述基本指令的所述字节在所述指令束中进行分配,所述指
令束的所有基本指令的第一级(Pj[1])的字节的组(G1)在所述指令束中被插入到所述指令
束的所有基本指令的第二级(Pj[2])的字节的组之前,每个组中的所述字节根据每个字节
的目标处理单元来排序。
2.根据权利要求1所述的方法,其中,相同级的所述字节(Pj[1]、Pj[2])在所述指令束
(IW)中排序,使得高优先级处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)首先接收其相应
的基本指令字节。
3.根据权利要求1或2所述的方法,其中,每个指令束(IW)的每个字节(Pj[1]、Pj[2])包
括指示所述字节是否是所述指令束中的最后一个的结束代码(EW)。
4.根据权利要求1至3中的一项所述的方法,其中,每个指令束(IW)的每个字节(Pj[1]、
Pj[2])包括指示所述字节将被传输到的处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)的处
理单元代码(PUC0、PUC1)。
5.根据权利要求1至4中的一项所述的方法,其中,每个指令束(IW)的每个字节(Pj[1]、
Pj[2])包括指示所述字节的级的代码(RNG)。
6.根据权利要求1至5中的一项所述的方法,其中,每个指令束(IW)包括比处理单元
(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)的数量乘以每基本指令的最大字节数量更少的字节
(Pj[1]、Pj[2])。
7.根据权利要求1至6中的一项所述的方法,其中,所有基本指令的字节具有相同的长
度。
8.一种处理器,所述处理器包括:
用于并行处理多个基本指令的多个处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU),所
述基本指令(Pj)包括一个或多个字节(Pj[1]、Pj[2]),每个字节具有在所述基本指令中的
级;以及
输入电路(INC、INC'),所述输入电路(INC、INC')被配置为接收包括多个基本指令的指
令束(IW),以及向所述处理单元传输所述指令束的所述基本指令的第一级(Pj[1])的所有
字节比向所述处理单元传输所述指令束的所述基本指令的第二级(Pj[2])的字节更快,相
同级的字节根据每个字节的目标处理单元来排序。
9.根据权利要求8所述的处理器,其中,将所述指令束(IW)的所述字节(Pj[1]、Pj[2])
在相同级的字节的组中进行分配,第一级(Pj[1])的字节的组被放置在所述指令束(IW)的
开始,其中每个组中的所述字节以被指定给所述处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、
LSU)的顺序来排序。
10.根据权利要求8或9所述的处理器,其中,所述输入电路(INC、INC')被配置为相对于
被指定给所述处理单元的所述顺序向所述处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)传
输所述指令束(IW)的每个组的所述字节(Pj[1]Pj[2])。
11.根据权利要求8至10中的一项所述的处理器,其中,所述输入电路(INC、INC')包括
被配置为接收所述指令束(IW)的每个相应字节(Pj[1]、Pj[2])的寄存器(R21-R28、R31-
R39),所述寄存器的数量至多等于所述处理器(PRC、PRC')的处理单元(PU1-PU4、BCU、ALU0、
ALU1、MAU、LSU)的数量乘以每基本指令(Pj)的字节的最大数量。
12.根据权利要求8至11中的一项所述的处理器,其中,寄存器(R31-R38)的数量小于所
述处理器(PRC')的处理单元(BCU、ALU0、ALU1、MAU、LSU)的数量乘以每基本指令(Pj)的字节
的最大数量。
13.根据权利要求8至12中的一项所述的处理器,其中,每个指令束(IW)的每个字节(Pj
[1]、Pj[2])包括指示所述字节是否是所述指令束中的最后一个的结束码(EW)。
14.根据权利要求8至13中的一项所述的处理器,其中,每个指令束(IW)的每个字节(Pj
[1]、Pj[2])包括指示所述字节将被传输到的处理单元(PU1-PU4、BCU、ALU0、ALU1、MAU、LSU)
的处理单元代码(PUC0、PUC1)。
15.根据权利要求8至14中的一项所述的处理器,其中,每个指令束(IW)的每个字节(Pj
[1]、Pj[2])包括指示所述字节的级的代码(RNG)。

说明书

VLIW型指令束结构和适用于处理该指令束的处理器

技术领域

本发明涉及超长指令字(VLIW)处理器,并且特别地涉及可变长度指令束
(instruction bundle)处理器。

背景技术

该处理器包括具有用于并行执行多个指令的多个处理单元的CPU。VLIW指令束可
以包括以CPU的不同处理单元为目标的多个基本指令。因此,用于该处理器的指令束可以达
到典型地在64和128位之间的长度,或者甚至达到256位或更多。

在一些VLIW处理器中,通常以相同顺序执行对指令束的基本指令在CPU处理单元
之间的分配。图1示出了这种处理器的处理单元PU1、PU2、PU3、PU4的输入电路INC1。电路
INC1包括被设计为接收指令束的基本指令的寄存器R01-R04和R11-R14。寄存器R0j、R1j被
连接到处理单元PUj,其中j=1、2、3和4。然后,VLIW指令束被分成多个道(lane),每个道被
指定到处理单元PUj。编译器然后被配置为向它生成的每个指令束中的特定道指定仅可由
对应于该道的处理单元处理的基本指令。由编译器生成的指令束然后系统地呈现以下结
构:P1-P2-P3-P4,Pj是可由处理单元PUj(j=1、2、3或4)唯一地执行的基本指令。如果要由
处理器执行的程序包括需要相同处理单元的连续基本指令,则可能需要将这些基本指令分
配给不同的VLIW指令束。如果这些束的其它道不能接收要求其它处理单元的基本指令,则
这些道通常接收不触发任何处理的基本NOP指令。此外,在可变尺寸的基本指令的情况下,
编译器采用一个或多个基本NOP指令来完成接收小于最大尺寸的基本指令的道。术语“字节
(syllable)”指示组成可变尺寸的基本指令的固定尺寸的字。在图1的示例中,基本指令包
括相同尺寸的一个或两个字节。因此,寄存器R01-R04被配置为接收指令束的基本指令的第
一字节,并且寄存器R11-R14被配置为接收可能的基本指令的第二字节。对于没有第二字节
的每个基本指令,与接收基本指令的第一字节的寄存器R0j配对的寄存器R1j采用单个字节
NOP指令填充。

因此,包含程序的存储器的实质部分可能被NOP指令占用。因此同样地,处理器指
令总线上的数据流的实质部分包含该指令束。这些缺点导致CPU处理资源的不良使用以及
功率损耗。也因此,程序存储器的显著部分不必要地被NOP指令占用。

一些处理器被设计为不限制VLIW束指令到处理单元的分配。通过这种配置,不需
要在指令束中插入NOP指令。为此,每个处理单元的每个指令输入包括复用器,复用器的输
入被连接到接收VLIW束的基本指令的输入寄存器。图2示出了在VLIW指令束中的基本指令
具有多达两个字节的情况下,处理单元PU1-PU4的输入电路INC2。输入电路INC2包括寄存器
R01-R04和R11-R14,以及用于每个处理单元PU1-PU4的两个复用器MX01-MX04和MX11-MX14。
由这种处理器的编译器生成的VLIW束包括至多四个基本指令,每个具有相同尺寸的一个或
两个字节。每个第一复用器MX01-04向其所连接的处理单元PU1-PU4提供基本指令的第一字
节,并且每个第二复用器MX11-MX14向其所连接的处理单元PU1-PU4提供基本指令的第二字
节。由于寄存器R01不能接收第二基本指令字节,所以它只连接到第一复用器MX01-MX04。因
此,对于四个处理单元PU1-PU4,每个第一复用器MX01-MX04具有八个输入,并且每个第二复
用器MX11-MX14具有七个输入。因此,复用器MX01-MX04和MX11-MX14可以由三位控制字控
制。这导致寄存器R01-R04和R11-R14与复用器MX01-MX04和MX14-M11之间的互连电路,以及
具有相对高复杂度(60个复用器输入)的复用器控制电路。此外,信号在复用器中的传播时
间随着复用器的输入数量而增加。特别地,复用器MX01至MX04的存在可能需要将指令束的
处理延迟一个时钟周期。

通过根据被指定给处理单元的级(rank)对VLIW指令束中的基本指令进行排序,以
及通过使用NOP指令完成较短的基本指令(短于最大字节数),可以显著减少复用器输入的
数量,使得最后完成的指令束中的所有基本指令具有相同的长度,即相同数量的字节。

因此,图3示出了处理单元PU1-PU4的输入电路INC3。输入电路INC3包括寄存器
R01-R04和R11-R14,以及复用器MX22-MX24和MX32-MX34。寄存器R01和R11被直接连接到处
理单元PU1的第一和第二输入。复用器MX22通过其输入被连接到寄存器R01和R02,并且通过
其输出被连接到处理单元PU2的第一输入。复用器MX32通过其输入被连接到寄存器R11和
R12,并且通过其输出被连接到处理单元PU2的第二输入。复用器MX23通过其输入被连接到
寄存器R01、R02和R03,并且通过其输出被连接到处理单元PU3的第一输入。复用器MX33通过
其输入被连接到寄存器R11、R12和R13,并且通过其输出被连接到处理单元PU3的第二输入。
复用器MX24通过其输入被连接到寄存器R01-R04,并且通过其输出被连接到处理单元PU4的
第一输入。复用器MX34通过其输入被连接到寄存器R11-R14,并且通过其输出被连接到处理
单元PU4的第二输入。该解决方?#38468;?#22797;用器MX22-MX24、MX32-MX34的输入数量限制为18。然
而,因为NOP指令仍被添加到不具有最大数量的字节的基本指令的指令束中,所以该解决方
?#38468;?#37096;分地有助于改进处理器资源的使用和程序存储器的使用。

通过维持指令束中基本指令的顺序对应于被指定给处理单元的顺序,可以避免对
在VLIW指令束中插入NOP指令的需要。因此,图4示出了处理单元PU1-PU4的输入电路INC4。
输入电路INC4包括寄存器R01-R04和R11-R14,以及复用器MX42-MX44和MX52-MX54。寄存器
R01和R11被直接连接到处理单元PU1的第一和第二输入。复用器MX42通过其输入被连接到
寄存器R02、R11和R02,并且通过其输出被连接到处理单元PU2的第一输入。复用器MX52通过
其输入被连接到寄存器R11、R02和R12,并且通过其输出被连接到处理单元PU2的第二输入。
复用器MX43通过其输入被连接到寄存器R01、R11、R02、R12和R03,并且通过其输出被连接到
处理单元PU3的第一输入。复用器MX53通过其输入被连接到寄存器R11、R02、R12、R03和R13,
并且通过其输出被连接到处理单元PU3的第二输入。复用器MX44通过其输入被连接到寄存
器R01-R04和R11-R13,并且通过其输出被连接到处理单元PU4的第一输入。复用器MX54通过
其输入被连接到寄存器R02-R04和R11-R14,并且通过其输出被连接到处理单元PU4的第二
输入。该解决方?#38468;?#22797;用器MX42-MX44、MX52-MX54的输入数量限制为30,而无需在VLIW指令
束中插入NOP指令。然而,该解决方案还需要具有大量输入的复用器。特别地,复用器MX44可
能需要将指令束的处理延迟一个时钟周期。

期望简化VLIW处理器的处理单元的输入电路,而不会损害CPU处理资源的使用和
程序存储器的使用,并?#20063;?#22686;加功率消耗。还期望改进该输入电路的用于将指令束的基本
指令传输到各种处理单元的效率。

发明内容

实施例涉及一种用于具有能够执行具有若干基本指令的指令束的多个处理单元
的处理器的程序的编译方法,方法包括以下步骤:在指令束中收集多个基本指令,每个基本
指令以处理器的相应处理单元为目标,每个基本指令包括一个或多个字节,每个字节具有
在基本指令中的级;以及根据相同级的字节的组分配在指令束中基本指令的字节,将指令
束的所有基本指令的第一级的字节的组在指令束中插入到指令束的所有基本指令的第二
级的字节的组之前,每个组中的字节根据每个字节的目标处理单元来排序。

在实施例中,相同级的字节在指令束中排序,使得高优先级处理单元首先接收其
相应的基本指令字节。

在实施例中,每个指令束的每个字节包括指示字节是否是指令束中的最后一个的
结束码。

在实施例中,每个指令束的每个字节包括指示字节将被传输到的处理单元的处理
单元代码。

在实施例中,每个指令束的每个字节包括指示字节的级的代码。

在实施例中,每个指令束包括比处理单元的数量乘以每基本指令的最大字节数量
更少的字节。

在实施例中,所有基本指令的字节具有相同的长度。

实施例还涉及一种处理器,处理器包括:用于并行处理多个基本指令的多个处理
单元,基本指令包括一个或多个字节,每个字节具有在基本指令中的级;以及输入电路,输
入电路被配置为接收包括多个基本指令的指令束,以及向处理单元传输指令束的基本指令
的第一级的所有字节比向处理单元传输指令束的基本指令的第二级的字节更快,相同级的
字节根据每个字节的目标处理单元来排序。

在实施例中,指令束的字节在相同级的字节组中进行分配,第一级的字节的组被
放置在指令束的开始,其中每个组中的字节以被指定给处理单元的顺序来排序。

在实施例中,输入电路被配置为相对于被指定给处理单元的顺序向处理单元传输
指令束的每个组的字节。

在实施例中,输入电路包括被配置为接收指令束的每个相应字节的寄存器,寄存
器的数量至多等于处理器的处理单元的数量乘以每基本指令的字节的最大数量。

在实施例中,寄存器的数量小于处理器的处理单元的数量乘以每基本指令的字节
的最大数量。

在实施例中,每个指令束的每个字节包括指示字节是否是指令束中的最后一个的
结束码。

在实施例中,每个指令束的每个字节包括指示字节将被传输到的处理单元的处理
单元代码。

在实施例中,每个指令束的每个字节包括指示字节的级的代码。

附图说明

通过仅出于示例?#38405;?#30340;而提供的并且在附图中表示的本发明的具体实施例的以
下描述,其它优点和特征将变得更加显而易见,在附图中:

图1-4示意性地示出了根据现有技术的各种解决方案的VLIW处理器的处理单元以
及其输入电路;

图5示意性地示出了根据实施例的VLIW处理器的处理单元以及其输入电路;

图6示意性地示出了根据实施例的指令束;

图7和8示出了根据实施例的基本指令结构;

图9示意性地示出了根据另一实施例的VLIW处理器的处理单元以及其输入电路。

具体实施方式

根据实施例,编译器通过从基本指令的第一字节开?#32423;?#27599;个VLIW指令束中的基本
指令进行排序来产生VLIW指令束,每个VLIW指令束包括一个或多个基本指令,每个基本指
令由一个或多个字节形成。因此,每个VLIW指令束包括该束的所有基本指令的第一级的字
节,然后是可能的第二级的字节等等。每个级的字节根据被指定给处理单元的顺序来排序。
因此,仅字节的顺序被置于VLIW指令束中,而不是字节在束中的确切位置。

图5示出了处理器PRC的处理单元PU1-PU4和用于处理单元PU1-PU4的输入电路
INC,其适于处理该指令束。输入电路INC包括指令寄存器R21至R28,以及将输入寄存器连接
到处理单元的复用器MX62-MX64和MX71-MX74。每个寄存器R21-R28接收VLIW指令束的基本
指令的相应字节。图5示出了具有四个处理单元并因此能够处理多达四个基本指令的VLIW
指令束的处理器的情况。

寄存器R01被直接连接到处理单元PU1的第一输入。复用器MX71通过其输入被连接
到寄存器R22-R25,并且通过其输出被连接到处理单元PU1的第二输入。复用器MX62通过其
输入被连接到寄存器R21和R22,并且通过其输出被连接到处理单元PU2的第一输入。复用器
MX72通过其输入被连接到寄存器R22-R26,并且通过其输出被连接到处理单元PU2的第二输
入。复用器MX63通过其输入被连接到寄存器R21-R23,并且通过其输出被连接到处理单元
PU3的第一输入。复用器MX73通过其输入被连接到寄存器R22-R27,并且通过其输出被连接
到处理单元PU3的第二输入。复用器MX64通过其输入被连接到寄存器R21-R24,并且通过其
输出连接到处理单元PU4的第一输入。复用器MX74通过其输入被连接到寄存器R22-R28,并
且通过其输出被连接到处理单元PU4的第二输入。

因此,复用器MX62-MX64、MX71-MX74的输入数量被限制为32,并?#20063;?#24517;在VLIW指令
束中插入NOP指令。此外,接收指令束的第一字节的复用器MX62-MX64包括数量被减少的输
入,并且处理单元PU1的第一字节输入被直接连接到寄存器R01。因此,处理单元PU1-PU4接
收在第二字节之前的第一字节。由于第二字节不需要解码第一字节,输入电路INC具有启动
指令束的基本指令的处理的特征,并且因此在传送到可以存在于寄存器R22-R28中的基本
指令的可能后续字节的处理单元之前激活涉及的所有处理单元PU1-PU4。

图6示出了指令束IW。根据实施例,指令束包括基本指令Pj的第一级Pj[1]的字节
组G1,可能地基本指令Pj的第二级Pj[2]的字节组G2,以及可能地当基本指令具有多于两个
字节时基本指令Pj的一个或多个低级字节组。这里,j对应于处理器的处理单元号,并且可
以是图5的示例中的1、2、3或4。因此,指令束IW可以具有以下最小和最大内容,其分别为:

最小:Pj[1],其中j=1、2、3或4

最大:P1[1]-P2[1]-P3[1]-P4[1]-P1[2]-P2[2]-P3[2]-P4[2]

其中Pj[1]表示可由处理单元PUj(j=1、2、3或4)执行的基本指令Pj的第一字节
(或级1的字节),并且Pj[2]表示基本指令Pj的第二字节(级2的字节)。假设指令束在没有对
应的第一字节Pj[1]时无法具有第二字节Pj[2],通过从最大内容中移除一个或多个字节,
保持最大内容的字节的顺序,可以获得指令束的所有可能的内容。

寄存器R21-R28的可能内容如下表1所示:

表1

R21
P1[1]
P2[1]
P3[1]
P4[1]




R22

P2[1]
P3[1]
P4[1]
P1[2]
P2[2]
P3[2]
P4[2]
R23


P3[1]
P4[1]
P1[2]
P2[2]
P3[2]
P4[2]
R24



P4[1]
P1[2]
P2[2]
P3[2]
P4[2]
R25




P1[2]
P2[2]
P3[2]
P4[2]
R26





P2[2]
P3[2]
P4[2]
R27






P3[2]
P4[2]
R28







P4[2]
MUX
-
MX62
MX63
MX64
MX71
MX72
MX73
MX74

表1的从左上?#25509;?#19979;的对角线是指令束IW的最大内容。表1的每列表示在表的最后
一行MUX中指示的复用器MX62-MX64和MX71-MX74中的一个。表1的每?#22411;?#36807;其非空框限定在
对应的复用器MX62-MX64和MX71-MX74的输入处的寄存器R21-R28。

根据实施例,被指定给处理单元的顺序根据其时间关键性来定义。例如,?#31181;?#25511;制
单元BCU可被视为在时间上是最关键的,因为它需要尽快知道要执行的指令和相关联的操
作数,以便快速执行?#31181;?#24182;从而最小化用于执行?#31181;?#25805;作的必要时间。

根据实施例,每个字节包括指定它应当由哪个处理单元处理的处理单元代码。图7
示出了基本指令Pj的第一和第二级Pj[1]、Pj[2]的字节。字节Pj[1]包括指令字段IT0、处理
单元代码字段PUC0和指示该字节是否是VLIW指令束的最后一个字节的字段EW。如果处理器
具有被配置为执行相同操作的多个处理单元,则可以被设计为处理单元代码PUC0不区分处
理单元以便减少代码长度。

基本指令Pj的字节Pj[2]包括指令字段IT1、指示该字节是否是VLIW指令束的最后
一个的字段EW、被设定为0的处理单元代码字段PUC0以及用于第二字节的处理单元代码字
段PUC1。处理单元代码字段PUC0、PUC1可被用于控制复用器MX62-MX64和MX71-MX74。

当然,在字节Pj[i]中可以提供其它字段。因此,图8表示级i的字节Pj[i]。字节Pj
[i]包括指令字段IT、处理单元代码字段PUC、EW字段、以及指示字节(当基本指令包括多达
两个字节时在一位上被编码的)的级i的字段RNG。

所有基本指令从寄存器R21-R28到处理单元PU1-PU4的传送通过在一个寄存器中
写入指令束的最后一个字节(存在指示该束的最后一个字节的EW字段)来触发。处理单元中
字节的到达时间取决于复用器MX62-MX64、MW71-MX74的尺寸。因此,单元PU1-PU4可以首先
按照PU1、PU2、PU3、PU4的顺序接收第一字节。由于复用器MX71和MX64具有相同数量的输入,
它们可以同时接收存在于寄存器R21-R28中的指令束的字节。然后,处理单元PU2至PU4可以
连续地接收字节。

根据实施例,处理器包括一个或多个?#31181;?#25511;制单元BCU、一个或多个算术和逻辑单
元ALU、一个或多个加载和存储单元LSU、以及一个或多个固定或浮点乘法和累加单元MAU。

图9示出了包括五个处理单元的示例性处理器PRC',即BCU、两个ALU(被称为ALU0
和ALU1)、MAU和LSU。BCU仅处理单字节基本指令,而其它处理单元ALU0、ALU1、MAU和LSU可以
处理具有一个或两个字节的基本指令。处理单元可以按照BCU、ALU、MAU和LSU的顺序排序。
因此,指令束最多可以具有以下九个字节内容:

BC[1]-A0[1]-A1[1]-MA[1]-LS[1]-A0[2]-A1[2]-MA[2]

其中BC[1]、A0[1]、A1[1]、MA[1]和LS[1]是分别以单元BCU、ALU0、ALU1、MAU和LSU
为目标的基本指令的第一级字节,A0[2]、A1[2]、MA[2]和LS[2]是分别以单元ALU0、ALU1、
MAU和LSU为目标的第二级字节。

图9示出了包括处理单元BCU、ALU0、ALU1、MAU和LSU以及输入电路INC'的处理器
PRC'。输入电路INC'包括指令寄存器R31至R39、以及将输入寄存器连接到处理单元的复用
器MX82-MX85和MX92-MX94。每个寄存器R31-R39接收指令束IW的基本指令的相应字节。图9
因此示出了具有五个处理单元的处理器的情况,其能够处理具有一个或两个字节的五个基
本指令的指令束IW。

寄存器R31至R39的可能内容如下表2所示:

表2

R31
BC[1]
A0[1]
A1[1]
MA[1]
LS[1]




R32

A0[1]
A1[1]
MA[1]
LS[1]
A0[2]
A1[2]
MA[2]
LS[2]
R33


A1[1]
MA[1]
LS[1]]
A0[2]
A1[2]
MA[2]
LS[2]
R34



MA[1]
LS[1]
A0[2]
A1[2]
MA[2]
LS[2]
R35




LS[1]]
A0[2]
A1[2]
MA[2]
LS[2]
R36





A0[2]
A1[2]
MA[2]
LS[2]
R37






A1[2]
MA[2]
LS[2]
R38







MA[2]
LS[2]
R39








LS[2]
MUX
-
MX82
MX83
MX84
MX85
MX92
MX93
MX94
MX95

表2的每列由非空单元限定如在表的最后一行MUX中识别的复用器MX82-MX85和
MX92-MX95中的一个的输入处的寄存器R31至R39。

寄存器R31被直接连接到处理单元BCU的单个输入。复用器MX82通过其输入被连接
到寄存器R31和R32,并且通过其输出被连接到处理单元ALU0的第一输入。复用器MX92通过
其输入被连接到寄存器R32-R36,并且通过其输出被连接到处理单元ALU0的第二输入。复用
器MX83通过其输入被连接到寄存器R31-R33,并且通过其输出被连接到处理单元ALU1的第
一输入。复用器MX93通过其输入被连接到寄存器R32-R37,并且通过其输出被连接到处理单
元ALU1的第二输入。复用器MX84通过其输入被连接到寄存器R31-R34,并且通过其输出被连
接到处理单元MAU的第一输入。复用器MX94通过其输入被连接到寄存器R32-R38,并且通过
其输出被连接到处理单元MAU的第二输入。复用器MX85通过其输入被连接到寄存器R31-
R35,并且通过其输出被连接到处理单元LSU的第一输入。复用器MX95通过其输入被连接到
寄存器R32-R39,并且通过其输出被连接到处理单元LSU的第二输入。复用器MX82-MX85和
MX92-MX95共有40个入口(entry)。

由于BCU单元的输入被直接连接到寄存器R31,因此可以首先开始?#31181;?#25351;令的处
理。由于它们所连接的复用器输入的数量,处理单元ALU0、ALU1、MAU和LSU然后可以连续地
接收第一字节。ALU0单元可以接收第二字节,而LSU接收第一字节。然后,单元ALU1、MAU和
LSU可以连续地接收第二字节。

根据实施例,编译器生成最多具有八个字节的指令束IW。结果,可以省略寄存器
R39,并且复用器MX95仅具有七个输入而不?#21069;?#20010;。因此,输入电路INC'的复用器最多具有3
个控制位。这种布置还减少了第二字节到LSU处理单元的传播时间。输入电路INC'的这种简
化具有可忽略的副作用,因为编译器产生具有九个字节的指令束IW的概?#23454;汀?br />

因为处理器具有两个类似的处理单元ALU0、ALU1,所以PUC0字段不需要区分这两
个处理单元,由此该字段对于四种类型的处理单元可以仅用2位编码。如果指令束包括用于
ALU单元之一的基本指令,则它将被转发到单元ALU0。仅当指令束IW包括要由ALU处理的两
个基本指令时,单元ALU1才将被激活。由于BCU单元不接收第二字节,所以只有四个处理单
元ALU0、ALU1、MAU、LSU可能接收第二字节。PUC1字?#25105;?#27492;也可以仅包括2位。在字节包含PUC
和RNG字段的情况下,仅需要4位来编码处理单元号(3位用于5个处理单元)和字节的级(1位
用于一个或两个字节的基本指令)。

对本领域技术人员显而易见的是,本发明容许各种替代和应用。特别地,本发明不
限于其中字节根据级分组并根据被指定给处理单元的级来排序的指令束。充分的是,从字
节的第一级开始执行将字节传送到处理单元。将第一级的字节放置在指令束的开始处仅允
许首先将位于输入寄存器中的第一级的字节传输到处理单元。

此外,每个指令束的每个字节不必包括指示该字节是否是指令束中的最后一个的
结束码。实际上,可以设计每个指令束包括例如指定指令束中的字节的数量的头部或尾部
字段。指定要向其传输字节的处理单元和每个字节的级RNG的字段PUC0、PUC1,或每个字节
要传输到的处理单元的输入号码,也可以插入到指令束的该头部或尾部字段中。

关于本文
本文标题:VLIW型指令束结构和适用于处理该指令束的处理器.pdf
链接地址:http://www.pqiex.tw/p-6091818.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 北京pk赛车人工计划 河北时时软件手机版下载 西洋棋试炼过不了 怎么压老虎机可以赢 容易赢钱的棋牌游戏 11选5压大小单双技巧 逆水寒多开怎么赚钱 黑红梅方下载 三公是哪三公 领航时时彩软件