处理器的制作方法

文档序号:6657152阅读:263来源:国知局
专利名称:处理器的制作方法
技术领域
本发明涉及一种可在高动作频率下动作的处理器,尤其是涉及可提高动作频率的处理器。
背景技术
现在具有一种处理器,在执行加载指令时,根据由该加载指令确定的数据的属性,在对从存储器输出的数据执行了配置变更、代码扩展、零扩展等的数据变换后,将其存储在寄存器文件中(例如参照专利文献1)。
图1是表示现有的处理器构成的图。
如图所示,处理器10具备指令译码电路11、存储器读出控制电路12、存储器写入控制电路13、存储器14、运算器15、数据转换电路20及寄存器文件30。并且,寄存器文件30具备多个仅由数据字段31构成的寄存器。另外,使用寄存器序号(Reg#0~Reg#N)管理数据字段31。
指令译码电路11根据译码的指令输出信号。例如,(a)在译码的指令是加载指令时,生成由该加载指令附加了特征的信号(以下称为加载指令译码信号。),并输出到存储器读出控制电路12和数据转换电路20。(b)在译码的指令是运算指令时,生成由该运算指令附加了特征的信号(以下称为运算指令译码信号。),并输出到运算器1 5和数据转换电路20。(c)在译码的指令是存储指令时,生成由该存储指令附加了特征的信号(以下称为存储指令译码信号。),并输出到存储器写入控制电路13。
所谓的「加载指令」是指从存储器加载数据的指令。
所谓的「存储指令」是指向存储器存储数据的指令。
所谓的「运算指令」是指执行运算处理的指令。
在加载指令译码信号中包含访问存储器14并读出数据所需的地址、数据大小、及数据类型等信息。
在运算指令译码信号中包含确定运算处理内容的信息。
在存储指令译码信号中包含访问存储器14并写入数据所需的地址、数据大小、及数据类型等信息。
存储器读出控制电路12根据从指令译码电路11输出的加载指令译码信号,将由该加载指令译码信号附加了特征的信号(以下称为存储器读出控制信号。)输出到存储器14。
存储器写入控制电路13根据从指令译码电路11输出的存储指令译码信号,将由该存储指令译码信号附加了特征的信号(以下称为存储器写入控制信号。)输出到存储器14。
存储器14根据从存储器读出控制电路12输出的存储器读出控制信号,将由该存储器读出控制信号确定的数据存储到寄存器文件30。另外,根据从存储器写入控制电路13输出的存储器写入控制信号,从寄存器文件30中读出由该存储器写入控制信号确定的数据。
另外,从存储器14读出的数据,在数据转换电路20中被执行了配置变更、代码扩展、零扩展等的数据变换后,被存储在寄存器文件30中。
运算器15根据从指令译码电路11输出的运算指令译码信号,从寄存器文件30中读出由该运算指令译码信号确定的数据,并对该数据执行由运算指令译码信号确定的运算处理。然后,将执行运算处理得到的数据存储到寄存器文件30。
图2是表示数据变换电路的构成的图。
如图所示,这里,作为一例,数据变换电路20具备排序部21、零扩展部22、代码扩展部23、选择器24等。
排序部21对从存储器14输出的数据施行排序处理,并将处理后的数据输出到零扩展部22和代码扩展部23。
所谓「排序处理」是指,使M(M为自然数。)位数据的部分位串与最低位的位一致地排列并输出。例如,在输入32位数据的第8位到第15位的部分位串时,输出从第0位排列至第7位的位串。
零扩展部22对从排序部21输出的数据施行零扩展处理,并将处理后的数据输出到选择器24。
所谓「零扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「0」并输出。
代码扩展部23对从排序部21输出的数据施行代码扩展处理,并将处理后的数据输出到选择器24。
所谓「代码扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「M位数据的代码位的值」并输出。
选择器24根据从指令译码电路11输出的加载指令译码信号,选择从存储器14输出的数据、从零扩展部22输出的数据、从代码扩展部23输出的数据之一,并输出到寄存器文件30。
专利文献1特开平9-269895号公报但是,在所述的现有的技术中,存在如下问题当从存储器14将数据输出到寄存器文件30时,因需要通过数据转换电路20,所以在存储器14和寄存器文件30之间产生的延迟增加,在进行以高动作频率动作的处理器的开发上,该延迟成为弊病。

发明内容
因此,本发明是鉴于上述问题而进行的,其目的在于提供一种处理器,削减在存储器和寄存器文件之间产生的延迟,可以高动作频率动作。
为了实现所述目的,本发明的处理器,具备(a)具有多个寄存器的寄存器文件;(b)生成表示数据属性的标记值的生成单元,(c)所述各寄存器具有保持数据的数据字段和保持所述标记值的标记字段,(d)所述生成单元在执行从存储器加载到寄存器的加载指令时,根据所述加载指令生成所述标记值,并存储在所述标记字段中。
由此,存储在数据字段中的数据,在执行进行运算处理的指令、从寄存器文件将数据存储到存储器的存储指令时,可根据表示数据属性的标记值执行数据转换,不必在存储器和寄存器文件之间执行配置变更、代码扩展、零扩展等的数据转换。
另外,本发明不只是作为处理器被实现,也可以作为控制处理器的方法(以下称为控制方法)等来实现。另外,也可以作为组装了由处理器提供的功能(以下称为处理器功能。)的LSI、在FPGA、CPLD等可编程逻辑器件中形成处理器功能的IP核心程序(以下称为处理器核心程序。)、及记录了处理器核心程序的记录媒体等来实现。
发明效果如上所述,根据本发明的处理器,能够提供一种处理器,在从存储器将数据输出到寄存器文件时,因不需要通过数据转换电路,所以削减在存储器和寄存器文件之间产生的延迟,可以高动作频率动作。
另外,还提供一种处理器,由于可容易处理比分配给一个寄存器序号的寄存器的大小大的数据,所以可提高数据处理能力。


图1是表示现有的处理器的构成的图。
图2是表示数据转换电路的构成的图。
图3是表示实施方式1的处理器的构成的图。
图4是表示作为一例、实施方式1的寄存器文件的构成的图。
图5是表示作为一例、实施方式1的寄存器的数据结构的图。
图6A是表示在实施方式1的数据转换电路中数据转换的实例的第1图。
图6B是表示在实施方式1的数据转换电路中数据转换的实例的第2图。
图6C是表示在实施方式1的数据转换电路中数据转换的实例的第3图。
图7是表示实施方式1的处理器动作的第1图。
图8A是表示实施方式1的处理器动作的第2图。
图8B是表示实施方式1的处理器动作的第3图。
图8C是表示实施方式1的处理器动作的第4图。
图9是表示实施方式2的处理器的构成的图。
图10是表示作为一例、实施方式2的寄存器文件的构成的图。
图11是表示实施方式2的处理器动作的第1图。
图12A是表示实施方式2的处理器动作的第2图。
图12B是表示实施方式2的处理器动作的第3图。
图13是表示实施方式3的处理器的构成的图。
图14是表示作为一例、实施方式3的运算器的构成的图。
图15A是表示实施方式3的处理器的动作的图。
图15B是表示实施方式3的处理器的动作的图。
图16是表示实施方式4的处理器的构成的图。
图17是表示作为一例、实施方式4的运算器的构成的图。
图18是表示实施方式4的处理器动作的第1图。
图19是表示实施方式4的处理器动作的第2图。
图20是表示实施方式5的处理器的构成的图。
图21是表示作为一例、实施方式5的运算器的构成的图。
图22是表示作为一例、实施方式5的寄存器的数据结构的图。
图23是表示实施方式5的处理器动作的第1图。
图24是表示实施方式5的处理器动作的第2图。
图25是表示实施方式5的处理器动作的第3图。
图26是表示实施方式6的处理器的构成的图。
图27是表示作为一例、实施方式6的运算器的构成的图。
图28是表示实施方式6的处理器动作的第1图。
图29是表示实施方式6的处理器动作的第2图。
符号说明10处理器11指令译码电路12存储器读出控制电路13存储器写入控制电路14存储器15运算器20数据转换电路
21排序部22零扩展部23代码扩展部24选择器30寄存器文件31数据字段Reg#0~Reg#N寄存器100,200处理器101指令译码电路102标记值生成电路110,210寄存器文件111,211标记字段112,212数据字段113,213数据属性判断电路114,214数据转换电路121,221排序部122,222零扩展部123,223代码扩展部124,224选择器300,400处理器310,410寄存器文件311,411标记字段312,412数据字段320,420运算器321,421数据属性判断电路322,422运算处理电路330存储器写入控制电路331数据属性判断电路332数据转换电路
341,441排序部342,442零扩展部343,443代码扩展部344,444选择器345,445加法器401指令译码电路402标记值生成电路500,600处理器510,610寄存器文件520,620运算器530存储器写入控制电路531数据属性判断电路532数据转换电路541,641选择器542,642加法器543,643选择器具体实施方式
(实施方式1)下面,参照

本发明的实施方式1。
实施方式1的处理器的特征在于,在从寄存器文件将数据输出到运算器之前执行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间执行。
根据以上的观点,说明本发明实施方式1的处理器。
图3是表示实施方式1的处理器的构成的图。
如图所示,处理器100具备存储器读出控制电路12、存储器写入控制电路13、存储器14、运算器15。并且,具备指令译码电路101、标记值生成电路102、寄存器文件110。
指令译码电路110根据译码的指令输出信号。例如,(a)在译码的指令是加载指令时,生成由该加载指令附加了特征的信号(下面称为加载指令译码信号。),并输出到存储器读出控制电路12和标记值生成电路102。(b)在译码的指令是运算指令时,生成由该运算指令附加了特征的信号(下面称为运算指令译码信号。),并输出到运算器15和标记值生成电路102。(c)在译码的指令是存储指令时,生成由该存储指令附加了特征的信号(下面称为存储指令译码信号),并输出到存储器写入控制电路13。
所谓「加载指令」是指从存储器加载数据的指令。
所谓「存储指令」是指向存储器存储数据的指令。
所谓「运算指令」是指执行运算处理的指令。
在加载指令译码信号中包含访问存储器14并读出数据所需的地址、数据大小、及数据类型等的信息。
在运算指令译码信号中包含确定运算处理的内容的信息。
在存储指令译码信号中包含访问存储器14并写入数据所需的地址、数据大小、及数据类型等的信息。
标记值生成电路102根据从指令译码电路101输出的加载指令译码信号,生成表示由该加载指令译码信号存储在寄存器文件110中的数据的属性的标记值,并将生成的标记值与该数据对应地存储在寄存器文件110中。另外,根据从指令译码电路101输出的运算指令译码信号,生成表示由该运算指令译码信号存储在寄存器文件110中的数据的属性的标记值,并将生成的标记值与该数据对应地存储在寄存器文件110中。
另外,标记值显示与该标记值对应的数据的属性。另外,在属性中包含数据大小、数据类型、构成数据的各位的有效或无效的信息。
寄存器文件110具备多个由标记字段111和数据字段112构成的寄存器。并且,具备数据属性判断电路113和数据转换电路114。
在标记字段111中存储标记值,在数据字段112中存储与该标记值对应的数据。
另外,数据字段112和标记字段111具有1对1的对应关系,并通过寄存器序号(Reg#0~Reg#N)管理。
数据属性判断电路113在从数据字段112读出数据时,从标记字段111读出与该数据对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路114。
数据转换电路114在从数据字段112读出数据时,根据数据属性判断信号判断是否转换该数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并输出转换后的数据。在为不转换时,不转换读出的数据地直接输出。
存储器读出控制电路12根据从指令译码电路101输出的加载指令译码信号,将由该加载指令译码信号附加了特征的信号(以下称为存储器读出控制信号。)输出到存储器14。
存储器写入控制电路13根据从指令译码电路101输出的存储指令译码信号,将由该存储指令译码信号附加了特征的信号(以下称为存储器写入控制信号。)输出到存储器14。
存储器14根据从存储器读出控制电路12输出的存储器读出控制信号,将由该存储器读出控制信号确定的数据存储到寄存器文件110。另外,根据从存储器写入控制电路13输出的存储器写入控制信号,从寄存器文件110中读出由该存储器写入控制信号确定的数据。
另外,从存储器14读出的数据,不执行配置变更、代码扩展、零扩展等的数据转换地存储到寄存器文件110。
运算器15根据从指令译码电路101输出的运算指令译码信号,从寄存器文件110读出由该运算指令译码信号确定的数据,并对该数据执行由运算指令译码信号确定的运算处理。然后将执行运算处理得到的数据存储到寄存器文件110。
下面,作为一例,说明实施方式1的寄存器文件的构成。
这里,以如下情况为例进行说明对从寄存器(Reg#0)读出的数据执行运算处理,并将执行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)。
图4是表示作为一例、实施方式1的寄存器文件的构成的图。
如图所示,数据属性判断电路113从寄存器(Reg#0)的标记字段111读出标记值,并根据读出的标记值,判断从寄存器(Reg#0)的数据字段112读出的数据属性。然后,将判断结果作为数据属性判断信号输出到选择器124等。
与此相对,排序部121对从寄存器(Reg#0)的数据字段112输出的数据施行排序处理,并将处理后的数据输出到零扩展部122和代码扩展部123。
所谓「排序处理」是指,使M(M是自然数。)位的数据的部分位串与最低位的位一致地排列并输出的处理。例如,在输入32位数据的第8位到第15位的部分位串时,输出从第0位排列至第7位的位串。
零扩展部122对从排序部121输出的数据施行零扩展处理,并将处理后的数据输出到选择器124。
所谓「零扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「0」并输出的处理。
代码扩展部123对从排序部121输出的数据施行代码扩展处理,并将处理后的数据输出到选择器124。
所谓「代码扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「M位数据的代码位的值」并输出的处理。
选择器124根据从数据属性判断电路113输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段112输出的数据、从零扩展部122输出的数据、从代码扩展部123输出的数据之一,并输出到运算器15。
然后,运算器15对从选择器124输出的数据执行运算处理,并将执行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)的数据字段112。
下面,作为一例,说明实施方式1的寄存器的数据结构。
图5是表示作为一例、实施方式1的寄存器的数据结构的图。
如图所示,寄存器由8位的标记字段151和32位的数据字段构成。
标记字段151的第0位至第3位的低位4位表示有效位、即从数据字段152的何处开始存储有数据。例如,(a)在为「1000」时,表示从第3位串(第31位)开始存储。(b)在为「0100」时,表示从第2位串(第23位)开始存储。(c)在为「0010」时,表示从第1位串(第15位)开始存储。(d)在为「0001」时,表示从第0位串(第7位)开始存储。
标记字段151的第4位至第5位的2位表示存储在数据字段152中的数据的大小。例如,(a)在为「00」时表示32位,(b)在为「01」时表示16位,(c)在为「10」时表示8位。另外,「11」为空。
标记字段151的第6位表示存储在数据字段152中的数据是否是有代码的数据。例如,(a)在为「0」时,表示是无代码的数据,(b)在为「1」时,表示是有代码的数据。
标记字段151的第7位表示存储在数据字段152中的数据是否是执行了配置变更、代码扩展、零扩展等的数据转换的数据。例如,(a)在为「0」时,表示是转换结束、即是转换后的数据,(b)在为「1」时,表示是转换未结束、即是转换前的数据。
下面,说明在实施方式1的数据转换电路中数据转换的实例。
图6A~图6C是表示在实施方式1的数据转换电路中数据转换的实例的图。
如图所示,数据转换电路114根据下述(1)~(3)的情况不同,数据转换的内容不同。
(1)在执行指令161a(mov Reg,Mem)、并从存储器162b读出了32位的数据时,数据转换电路114不转换。即,将32位的数据存储到32位的寄存器163b中。(参照图6A。)。
(2)在执行指令161b(movb Reg,Mem)、并从存储器162b中读出了32位中从第1位串开始有效的8位数据时,数据转换电路114将其转换为与最低位的位一致地排列并进行了零扩展的数据。然后,将转换后的数据存储在32位的寄存器163b中。(参照图6B。)。
(3)在执行指令161c(movbex Reg,Mem)、并从存储器162b中读出了32位中从第1位串开始有效的8位数据时,数据转换电路114将其转换成与最低位的位一致地排列并进行了代码扩展的数据。然后,将转换后的数据存储在32位的寄存器163c中。(参照图6C。)。
下面,说明实施方式1的处理器的动作。
图7、图8A~图8C是表示实施方式1的处理器的动作的图。
如图7所示,指令译码电路101根据译码的指令,执行下述(1)~(3)之一(步骤S101)。
(1)指令译码电路101在译码的指令是加载指令时,将加载指令译码信号输出到存储器读出控制电路12和标记值生成电路102(步骤S111)。
与之对应,存储器读出控制电路12将存储器读出控制信号输出到存储器14(步骤S112)。存储器14将由存储器读出控制信号确定的数据存储到寄存器文件110(步骤S113)。另一方面,标记值生成电路102将表示由加载指令译码信号存储在寄存器文件110中的数据的属性的标记值,与该数据相对应地存储到寄存器文件110(步骤S114)。
这时,如图8所示,寄存器文件110将由加载指令译码信号确定的数据存储到数据字段112(步骤S121),并将与该数据对应的标记值存储到标记字段111(步骤S122)。
(2)指令译码电路101在译码的指令是运算指令时,将运算指令译码信号输出到运算器15和标记值生成电路102(步骤S131)。
与之对应,运算器15从寄存器文件110读出由运算指令译码信号确定的数据(步骤S132),并对读出的数据执行由运算指令译码信号确定的运算处理(步骤S133)。然后,将执行运算处理得到的数据存储到寄存器文件110(步骤S134)。另一方面,标记值生成电路102将表示由运算指令译码信号存储在寄存器文件110中的数据的属性的标记值,与执行运算处理得到的数据相对应地存储到寄存器文件110(步骤S135)。
这时,如图8B所示,寄存器文件110在数据属性判断电路113中,根据与由运算指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S141),并将判断结果作为数据属性判断信号输出到数据转换电路114(步骤S142)。然后,在数据转换电路114中根据数据属性判断信号判断是否转换该数据(步骤S143)。在判断的结果为转换时(步骤S143是),根据数据属性判断信号转换该数据(步骤S144),并将转换后的数据输出到运算器15(步骤S145)。
另外,在为不转换时(步骤S143否),不转换由运算指令译码信号确定的数据地直接输出到运算器15。
(3)指令译码电路101在译码的指令是存储指令时,将存储指令译码信号输出到存储器写入控制电路13(步骤S151)。
与之对应,存储器写入控制电路13将存储器写入控制信号输出到存储器14(步骤S152)。存储器14从寄存器文件110读出由存储器写入控制信号确定的数据(步骤S153)。
这时,如图8C所示,寄存器文件110在数据属性判断电路113中,根据与由存储指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S161),并将判断结果作为数据属性判断信号输出到数据变换电路114(步骤S162)。然后,在数据转换电路114中,根据数据属性判断信号判断是否转换该数据(步骤S163)。在判断的结果为转换时(步骤S163是),根据数据属性判断信号转换该数据(步骤S164),并将转换后的数据输出到存储器14(步骤S165)。
另外,在为不转换时(步骤S163否),不转换由存储器写入控制信号确定的数据地输出到存储器14。
根据如上所述的实施方式1的处理器100,在寄存器文件110中具备标记字段111、数据字段112、数据属性判断电路113及数据转换电路114。
由此,可在将数据从寄存器文件110输出到运算器15之前,进行配置变更、代码扩展、零扩展等的数据变换,代替在存储器14和寄存器文件110之间执行,并可削减在存储器14和寄存器文件110之间产生的延迟。并且,由于运算器15能够通用现有的运算器,所以设计也容易。
(实施方式2)下面,参照

本发明的实施方式2。
实施方式2的处理器的特征在于,在将数据从寄存器文件输出到运算器之前,在寄存器文件的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间进行。
根据以上的观点,说明实施方式2的处理器。
另外,对与实施方式1相同的构成要素附加相同符号,并省略说明。
图9是表示实施方式2的处理器的构成的图。
如图所示,处理器200与实施方式1的处理器100相比,不同之处在于具备寄存器文件210代替寄存器文件110(参照图3。)。
寄存器文件210与寄存器文件110相比,不同之处在于具备标记字段211、数据字段212、数据属性判断电路213、数据转换电路214,代替标记字段111、数据字段112、数据属性判断电路113、数据转换电路114。
数据属性判断电路213,当重新将数据存储到数据字段212时,从标记字段211中读出与该数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路214。并且,根据该判断结果判断是否转换该标记值。在判断的结果为转换时,根据该判断结果转换该标记值,并将转换后的标记值存储到寄存器文件210,以将转换前的标记值置换为转换后的标记值。
数据转换电路214,当重新将数据存储到数据字段212时,根据数据属性判断信号判断是否转换该数据。在判断的结果为转换时,根据数据属性判断信号转换该数据,并将转换后的数据存储到数据字段212。在为不转换时,不转换该数据。
下面,作为一例,说明实施方式2的寄存器文件的构成。
这里,以对从存储器(Reg#0)读出的数据进行数据转换,并将转换后的数据存储到寄存器(Reg#0)的情况为例进行说明。
图10是表示作为一例、实施方式2的寄存器文件的构成的图。
如图所示,数据属性判断电路213从寄存器(Reg#0)的标记字段211读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段212读出的数据的属性。然后,将判断结果作为数据属性判断信号输出到选择器224。
与此相对,排序部221对从寄存器(Reg#0)的数据字段212输出的数据施行排序处理,并将处理后的数据输出到零扩展部222和代码扩展部223。
另外,由于零扩展部222和代码扩展部223与实施方式1的零扩展部122和代码扩展部123构成相同,所以省略说明。
选择器224根据从数据属性判断电路213输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段212输出的数据、从零扩展部222输出的数据、从代码扩展部223输出的数据之一,并存储到寄存器(Reg#0)的数据字段112。
并且,数据属性判断电路213转换读出的标记值,并将转换后的标记值存储到寄存器(Reg#0)的标记字段212。
然后,运算器15对从寄存器(Reg#0)的数据字段212输出的转换后的数据进行运算处理,并将进行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)等的数据字段212。
下面说明实施方式2的处理器200的动作。
图11、图12A、图12B是表示实施方式2的处理器的动作的图。
如图11、图12A、图12B所示,处理器200与实施方式1的处理器100相比,存在下述(1)~(3)的不同点。
(1)关于在加载指令实行时的动作,与实施方式1的动作(步骤S111~S114、S121~S122)相比,存在下述的不同点(参照图8A、图11。)。
当代替实施方式1的寄存器文件110的动作(步骤S121~S122),寄存器文件210执行加载指令,将数据重新存储到数据字段212时(步骤S221),在数据属性判断电路213中,根据与该数据对应的标记值判断该数据的属性(步骤S222),并将判断结果作为数据属性信号输出到数据转换电路213(步骤S223)。并且,根据该判断结果判断是否转换该标记值(步骤S224)。在判断的结果为转换时(步骤S224是),根据该判断结果转换该标记值(步骤S225),并将转换后的标记值存储到标记字段211,以将转换前的标记值置换为转换后的标记值(步骤S226)。然后,在数据转换电路213中根据数据属性判断信号判断是否转换该数据(步骤S227)。在判断的结果为转换时(步骤S227是),根据数据属性判断信号转换该数据(步骤S228),并将转换后的数据存储到数据字段212,以将转换前的数据置换为转换后的数据(步骤S229)。
(2)关于运算指令执行时的动作,与实施方式1的动作(步骤S131~S135、S141~S144)相比,存在下述的不同点(参照图8B、图12A。)。
当寄存器文件210替代实施方式1的寄存器文件110的动作(步骤S141~S144)执行运算指令时,从数据字段212中读出数据(步骤S241)。
(3)关于存储指令执行时的动作,与实施方式1的动作(步骤S151~S153、S161~S164)相比,存在下述的不同点(参照图8C、图12B。)。
当替代实施方式1的寄存器文件110的动作(步骤S161~S164),寄存器文件210执行存储指令时,将存储在数据字段212中的数据输出到存储器14(步骤S261)。
根据如上所述的实施方式2的处理器200,在寄存器文件210中具备标记字段211、数据字段212、数据属性判断电路213及数据转换电路214。
由此,可在将数据从寄存器文件210输出到运算器15之前,在寄存器文件210的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器14和寄存器文件210之间进行,并可以削减在存储器14和寄存器文件210之间产生的延迟。另外,因为在寄存器文件210的内部进行数据转换,所以对寄存器文件210和运算器15之间、寄存器文件210和存储器14之间不产生延迟增加的影响。并且,由于运算器15可通用现有的运算器所以设计容易。
(实施方式3)下面,参照

本发明的实施方式3。
实施方式3的处理器的特征在于,在运算器和存储器写入控制电路的各自的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间进行。
根据以上的观点,说明实施方式3的处理器。
另外,对与实施方式1相同的构成要素附加相同符号,并省略说明。
图13是表示实施方式3的处理器的构成的图。
如图所示,处理器300与实施方式1的处理器100相比,存在下述(1)~(3)的不同点(参照图3。)。
(1)具备寄存器文件310,来替代寄存器文件110。
寄存器文件310与寄存器文件110相比,不同之处在于不具备数据属性判断电路113和数据转换电路114。
(2)具备运算器320来替代运算器15。
运算器320与运算器15相比,不同之处在于新具备数据属性判断电路321和运算处理电路322。
数据属性判断电路321从寄存器文件310读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到运算处理电路322。
运算处理电路322从寄存器文件310读出由运算指令译码信号确定的数据。根据数据属性判断信号判断是否转换读出的数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据进行运算处理。然后,将进行运算处理得到的数据存储到寄存器文件310的数据字段311。
另外,在为不转换时,不转换读出的数据地直接进行运算处理。
(3)具备存储器写入控制电路330,来替代存储器写入控制电路13。
存储器写入控制电路330与存储器写入控制电路13相比,不同之处在于新具备数据属性判断电路331和数据转换电路332。
数据属性判断电路331从寄存器文件310读出与由存储指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路332。并且,生成根据存储指令译码信号和标记值的存储器写入控制信号,并输出到存储器14。
数据转换电路332从寄存器文件310读出由存储指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并将转换后的数据输出到存储器14。
另外,在为不转换时,不转换读出的数据地直接输出到存储器14。
下面,作为一例,说明实施方式3的运算器的构成。
这里,以对从寄存器(Reg#0)读出的数据进行加法处理,并将进行加法处理得到的数据、即加法的结果存储到寄存器(Reg#1)的情况为例进行说明。
图14是表示作为一例、实施方式3的运算器的构成的图。
如图所示,数据属性判断电路321从寄存器(Reg#0)的标记字段311读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段312读出的数据的属性。然后,将判断结果作为数据属性判断信号输出到选择器344。
与此相对,排序部341对从寄存器(Reg#0)的数据字段312输出的数据实施排序处理,并将处理后的数据输出到零扩展部342和代码扩展部343。
零扩展部342对从排序部341输出的数据实施零扩展处理,并将处理后的数据输出到选择器344。
代码扩展部343对从排序部341输出的数据实施代码扩展处理,并将处理后的数据输出到选择器344。
选择器344根据从数据属性判断电路321输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段312输出的数据、从零扩展部342输出的数据、从代码扩展部343输出的数据之一,并输出到加法器345。
加法器345对从选择器344输出的数据执行加法处理,并将执行加法处理得到的数据、即运算结果存储在寄存器(Reg#1)的数据字段312中。
接着,说明实施方式3的处理器300的动作。
图15A、图15B是表示实施方式3的处理器的动作的图。
如图所示,处理器300与实施方式的处理器100相比,存在下述不同点。
(1)关于加载指令执行时的动作,因与实施方式1的动作(步骤S111~S114、S121~S122)相同而省略说明。
(2)关于运算指令执行时的动作,与实施方式1的动作(步骤S131~S135、S141~S145)相比,存在下述不同点(参照图8B、图15A)。
当代替实施方式1的寄存器文件110的动作(步骤S141~S144),运算器320执行运算指令时,在数据属性判断电路321中根据与由运算指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S341),并将判断结果作为数据属性判断信号输出到运算处理电路322(步骤S342)。而且,在运算处理电路322中根据数据属性判断信号,判断是否转换该数据(步骤S343)。在判断的结果是转换时(步骤S343是),根据数据属性判断信号转换该数据(步骤S344),并对转换后的数据执行运算处理(步骤S345)。将执行该运算处理得到的数据存储在寄存器文件310的数据字段312中(步骤S346)。
另外,在为不转换时(步骤S343否),不转换由运算指令译码信号确定的数据地直接执行运算处理。
(3)关于存储指令执行时的动作,与实施方式1的动作(步骤S151~S153、S161~S165)相比,存在下述不同点(参照图8C、图15B)。
当代替实施方式1的寄存器文件110的动作(步骤S161~S164),存储器写入控制电路330执行存储指令时,在数据属性判断电路331中根据与由存储器写入控制信号确定的数据相对应的标记值,判断该数据的属性(步骤S361),并将判断结果作为数据属性判断信号输出到数据转换电路332(步骤S362)。而且,在数据转换电路332中根据数据属性判断信号判断是否转换该数据(步骤S363)。在判断的结果是转换时(步骤S363是),根据数据属性判断信号转换该数据(步骤S364),并将转换后的数据输出到存储器(步骤S365)。
另外,在为不转换时(步骤S363否),不转换由存储器写入控制信号确定的数据地直接输出到存储器14。
根据如上所述的实施方式3的处理器300,在寄存器文件310中具备标记字段311和数据字段312,在运算器320中具备数据属性判断电路321和运算处理电路322,在存储器写入控制部330中具备数据属性判断电路331和数据转换电路332。
由此,可在运算器320和存储器写入控制电路330各自的内部进行配置变更、代码扩展、零扩展等数据转换,来代替在存储器14和寄存器文件310之间进行,并可削减在存储器14和寄存器文件310之间产生的延迟。
(实施方式4)下面,参照

本发明的实施方式4。
实施方式4的处理器的特征在于,在运算器和存储器写入控制电路各自的内部进行配置变更、代码扩展、零扩展等数据转换,来代替在存储器和寄存存储器之间进行。
根据上述方面,说明实施方式4的处理器。
另外,对与实施方式3相同的构成要素附加相同的符号,并省略说明。
图16是表示实施方式4的处理器的结构的图。
如图所示,处理器400与实施方式3的处理器300相比,存在下述(1)~(3)的不同点(参照图5。)。
(1)具备指令译码电路401,来代替指令译码电路101。
指令译码电路401与指令译码电路101相比,不同之处在于在执行运算指令时,不将运算指令译码信号输出到标记值生成电路402。
(2)具备标记值生成电路402,来代替标记值生成电路102。
标记值生成电路402与标记值生成电路102相比,不同之处在于不生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值。
(3)具备运算器420,来代替运算器320。
运算器420与运算器320相比,不同之处在于具备数据属性判断电路421和运算处理电路422,来代替数据属性判断电路321和运算处理电路322。
数据属性判断电路421从寄存器文件410读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路422。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储到寄存器文件410。
运算处理电路422从寄存器文件410读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件410中。
另外,在为不转换时,不转换读出的数据地直接执行运算处理。
接着,作为一实例,说明实施方式4的运算器的构成。
这里,以对从寄存器(Reg#0)读出的数据执行运算处理,并将执行运算处理得到的数据、即运算的结果存储在寄存器(Reg#1)中的情况为例进行说明。
图17是表示作为一例、实施方式4的运算器的构成的图。
如图所示,数据属性判断电路421从寄存器(Reg#0)的标记字段411读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段412读出的数据的属性。而且,将判断结果作为属性判断信号输出到选择器444等。
与此相对,排序部441对从寄存器(Reg#0)的数据字段412输出的数据实施排序处理,并将处理后的数据输出到零扩展部442和代码扩展部443。
选择器444根据从数据属性判断电路421输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段412输出的数据、从零扩展部442输出的数据、从代码扩展部443输出的数据之一,并输出到加法器445。
加法器445对从选择器444输出的数据执行加法处理,并将执行加法处理得到的数据、即运算结果存储在寄存器(Reg#1)的数据字段412中。
并且,数据属性判断电路421生成关于在加法器445中执行加法处理得到的数据、即运算结果的标记值,并将生成的标记值存储在寄存器(Reg#1)的标记字段411中。
另外,零扩展部442和代码扩展部443的构成与实施方式3的零扩展部342和代码扩展部343相同,省略说明。
接着,说明实施方式4的动作。
图18、图19是表示实施方式4的处理器的动作的图。
如图18、图19所示,处理器400与实施方式3的处理器300相比,存在下述(2)的不同点。
(1)关于加载指令执行时的动作,与实施方式3的动作(步骤S111~S114、S121~S122)相同,因此省略说明。
(2)关于运算指令执行时的动作,与实施方式3的动作相比,存在下述的不同点(参照图7、图15A、图18、图19)。
代替实施方式3的指令译码电路101的动作(步骤S131),指令译码电路401,在译码的指令是运算指令时,将运算指令译码信号输出到运算器420(步骤S431)。
另外,代替实施方式3的标记值生成电路102的动作(步骤S135),运算器420在数据属性判断电路421中,将表示由运算指令译码信号存储在寄存器文件410中的数据的属性的标记值,与该数据相对应地存储在寄存器文件410的标记字段411中(步骤S441)。
(3)关于存储指令执行时的动作,与实施方式3的动作(步骤S151~S153、S361~S365)相同,因此省略说明。
根据如上所述的实施方式4的处理器400,在寄存器文件410中具备标记字段411和数据字段412,在运算器420中具备数据属性判断电路421和运算处理电路422,在存储器写入控制部430中具备数据属性判断电路431和数据转换电路432。
由此,可在运算器420和存储器写入控制电路330各自的内部执行配置变更、代码扩展、零扩展等数据转换,来代替在存储器14和寄存器文件410之间进行,可削减在存储器14和寄存器文件410之间产生的延迟。另外,由于将表示该数据的属性的标记值附加在执行运算处理得到的数据上,所以不必对执行运算处理的指令指定数据的属性,可实现指令数的削减、指令译码电路401的简化。
(实施方式5)
下面,参照

本发明的实施方式5。
实施方式5的处理器的特征在于,跨多个寄存器存储大小比数据字段大的数据。并且,从跨多个寄存器存储的数据还原数据,并对还原后的数据执行运算处理。
根据上述方面,说明实施方式5的处理器。
另外,对与实施方式3相同的构成要素附加相同符号,并省略说明。
图20是表示实施方式5中的处理器的构成的图。
如图所示,处理器500与实施方式3中的处理器300相同,存在下述(1)~(3)的不同点(参照图5。)。
(1)具备寄存器文件510,来代替寄存器文件310。
寄存器文件510与寄存器文件310相比,不同之处在于在存储大小比数据字段512大的数据时,跨多个寄存器存储该数据。
(2)具备运算器520,来代替运算器320。
运算器520与运算器320相比,不同之处在于具备数据属性判断电路521和运算处理电路522,来代替数据属性判断电路321和运算处理电路322。
数据属性判断电路521从寄存器文件510读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路522。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储在寄存器文件中。
运算处理电路522从寄存器文件510读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据。对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件中。
另外,在为不转换时,不转换读出的数据地直接执行运算处理。
另外,运算处理电路522,在数据跨多个寄存器存储在寄存器中时,根据从这些寄存器读出的数据还原数据,并对还原后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据跨多个寄存器存储在寄存器文件510中。
(3)具备存储器写入控制电路530,来代替存储器写入控制电路330。
存储器写入控制电路530与存储器写入控制电路330相比,不同之处在于具备数据属性判断电路531和数据转换电路532,来代替数据属性判断电路331和数据转换电路332。
数据属性判断电路531从寄存器文件510读出与由存储指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到数据转换电路530。并且,将根据存储指令译码信号和标记值的存储器写入控制信号输出到存储器。
数据转换电路532从寄存器文件510读出由存储指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并将转换后的数据输出到存储器。
另外,在为不转换时,不转换读出的数据地直接输出到存储器14。
另外,数据转换电路532,在数据跨多个寄存器存储在寄存器文件510中时,根据从这些寄存器读出的数据还原数据,并将还原后的数据输出到存储器14。
接着,作为一实例,说明实施方式5中的运算器的构成。
这里,以对跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据执行加法处理,并将执行加法处理得到的数据、即相加的结果分割地存储在寄存器(Reg#2)和寄存器(Reg#3)中的情况为例来说明。
图21是表示作为一实例、实施方式5的运算器的构成的图。
如图所示,数据属性判断电路521从寄存器(Reg#0)的标记字段511读出标记值,并根据读出的标记值,判断与读出的标记值相对应的数据是否是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据。而且,将表示是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据这一情况的数据属性判断信号,输出到选择器541、加法器542、选择器543。
与此相对,选择器541在从寄存器(Reg#0)的数据字段512输出的数据、和从寄存器(Reg#1)的数据字段512输出的数据中,选择从寄存器(Reg#1)的数据字段512输出的数据并输出到加法器542。
并且,加法器542使从寄存器(Reg#0)的数据字段512输出的数据为高位部分,使从选择器541输出的数据、即从寄存器(Reg#1)的数据字段512输出的数据为低位部分,并结合高位部分和低位部分,还原数据。而且,对还原后的数据执行加法处理,将执行加法处理得到的数据、即相加的结果分割为高位部分和低位部分,并分别输出到选择器543。另外,将低位部分存储在寄存器(Reg#3)的数据字段中。
而且,选择器543在从加法器542输出的高位部分和低位部分中,选择高位部分并存储在寄存器(Reg#2)的数据字段512中。
接着,作为一实例,说明实施方式5的寄存器的数据结构。
图22是表示作为一实例、实施方式5的寄存器的数据结构的图。
如图所示,实施方式5的寄存器与实施方式1的寄存器存在下述(2)的不同点。
(1)标记字段551的第0位至第3位的低位4位,与标记字段151的第0位至第3位的低位4位相同,因此省略说明。
(2)标记字段551的第4位至第5位的2位,与标记字段151的第4位至第5位的2位相比,(d)在为「11」时,在是64位这一点上不同。这时,数据字段的大小保持32位,分配多个寄存器的数据字段553。
(3)标记字段551的第6位至第7位的2位,与标记字段151的第6位至第7位的2位相同,因此省略说明。
接着,说明实施方式5中的处理器的动作。
图23~图25是表示实施方式5的处理器的动作的图。
如图23~图25所示,处理器500与实施方式3的处理器300相比,存在下述(1)~(3)的不同点。
(1)关于加载指令执行时的动作,与实施方式3的动作(步骤S111~S114、S121~S122)相比,存在下述不同点(参照图8A、图23。)。
寄存器文件510,在由存储器读出控制信号确定的数据比数据字段的大小大时(步骤S521否),跨多个寄存器存储该数据(步骤S522)。
(2)关于运算指令执行时的动作,与实施方式3中的动作(步骤S131~S135、S341~S346)相比,存在下述的不同点(参照图15A、图24。)。
运算器520,在跨多个寄存器存储由运算指令译码信号确定的数据时(步骤S541否),根据从这些寄存器读出的数据还原该数据(步骤S254),并对还原后的数据执行运算处理(步骤S543)。将执行运算处理得到的数据跨多个寄存器存储在寄存器文件510中(步骤S544)。
(3)关于存储指令执行时的动作,实施方式3中的动作(步骤S151~S153、S361~S365)相比,存在下述的不同点(参照图15A、图25)。
存储器写入控制电路530,在跨多个寄存器存储由存储器写入控制信号确定的数据时(步骤561否),根据从这些寄存器读出的数据还原数据(步骤S562),并将还原后的数据输出到存储器14(步骤S365)。
根据如上所述的实施方式5的处理器,在寄存器文件510中具备标记字段511和数据字段512,在运算器520中具备数据属性判断电路521和运算处理电路522,在存储器写入控制部530中具备数据属性判断电路531和数据转换电路532。
由此,可容易地处理大小比数据字段512大的数据。
(实施方式6)下面,参照

本发明的实施方式6。
实施方式6的处理器的特征在于,跨多个寄存器存储大小比数据字段大的数据。并且,根据跨多个寄存器存储的数据还原数据,并对还原后的数据执行运算处理。
根据上述方面,说明实施方式6中的处理器。
另外,对与实施方式5相同的构成要素附加相同符号,并省略说明。
图26是表示实施方式6的处理器的构成的图。
如图所示,处理器600与实施方式5中的处理器500相比,存在下述(1)~(3)的不同点(参照图7。)。
(1)具备指令译码电路601,来代替指令译码电路101。
指令译码电路601与指令译码电路101相比,不同之处在于在执行运算指令时,不将运算指令译码信号输出到标记值生成电路602。
(2)具备标记值生成电路602,来代替标记值生成电路102。
标记值生成电路602与标记值生成电路102相比,不同之处在于不生成表示执行由运算指令译码信号确定的运算处理得到的数据属性的标记值。
(3)具备运算器620,来代替运算器520。
运算器620与运算器520相比,不同之处在于具备数据属性判断电路621和运算处理电路622,来代替数据属性判断电路521和运算处理电路522。
数据属性判断电路621从寄存器文件610读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路622。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储到寄存器文件610。
运算处理电路622从寄存器文件610读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件610中。
另外,在为不转换时,不转换读出的数据地直接执行运算处理。
另外,运算处理电路622,在数据跨多个寄存器存储在寄存器文件610中时,根据从这些寄存器读出的数据还原数据,并对还原后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据跨多个寄存器存储在寄存器文件610中。
接着,作为一实例,说明实施方式6中的运算器的构成。
这里,以对跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据执行加法处理,并对执行加法处理得到的数据、即相加的结果进行分割,并存储在寄存器(Reg#2)和寄存器(Reg#3)中的情况为例来进行说明。
图27是表示作为一实例、实施方式6中的运算器的构成的图。
如图所示,数据属性判断电路621从寄存器(Reg#0)的标记字段611读出标记值,并根据读出的标记值判断与读出的标记值相对应的数据是否是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据。而且,将表示是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据这一情况的数据属性判断信号,输出到选择器641、加法器642、选择器643等。
与此相对,选择器641在从寄存器(Reg#0)的数据字段612输出的数据、和从寄存器(Reg#1)的数据字段612输出的数据中,选择从寄存器(Reg#1)的数据字段612输出的数据,并输出到加法器642。
并且,加法器642使从寄存器(Reg#0)的数据字段612输出的数据为高位部分,使从选择器641输出的数据、即从寄存器(Reg#1)的数据字段612输出的数据为低位部分,并结合高位部分和低位部分,还原数据。而且,对还原后的数据执行加法处理,将执行加法处理得到的数据、即相加的结果分割为高位部分和低位部分,并分别输出到选择器643。另外,将低位部分存储在寄存器(Reg#3)的数据字段中。
而且,选择器643在从加法器642输出的高位部分和低位部分中,选择高位部分并存储在寄存器(Reg#2)的数据字段612中。
并且,数据属性判断电路621生成关于在加法器642中相加的结果的标记值、即表示是跨寄存器(Reg#2)和寄存器(Reg#3)存储的数据这一情况的标记值,并将生成的标记值存储在寄存器(Reg#2)的标记字段611中。
接着,说明实施方式6中的处理器600的动作。
图28、图29是表示实施方式6的处理器的动作的图。
如图28、图29所示,处理器600与实施方式5中的处理器相比,存在下述(2)的不同点。
(1)关于加载指令执行时的动作,与实施方式5的动作(步骤S111~S114、S121~S122、S521~S522)相同,因此省略说明。
(2)关于运算指令执行时的动作,与实施方式5的动作(步骤S131~S135、S341~S346、S541~S544)相比,存在下述的不同点(参照图7、图24、图28、图29。)。
代替实施方式5的指令译码电路101的动作(步骤S131),指令译码电路601,在译码的指令是运算指令时,将运算指令译码信号输出到运算器620(步骤S631)。
另外,代替实施方式5的标记值生成电路102的动作(步骤S135),运算器620,在数据属性判断电路621中将表示进行运算处理得到的数据的属性的标记值,与该数据相对应地存储在寄存器文件610的标记字段611中(步骤S641)。
(3)关于存储指令执行时的动作,与实施方式5的动作(步骤S151~S153、S361~S365、S561~S562)相同,因此省略说明。
根据如上所述的实施方式6的处理器600,在寄存器文件610中具备标记字段611和数据字段612,在运算器620中具备数据属性判断电路621和运算处理电路622,在存储器写入控制部530中具备数据属性判断电路531和数据转换电路532。
由此,可容易地处理大小比数据字段大的数据。另外,由于在执行运算处理得到的数据上附加表示该数据的属性的标记值,所以不必对执行运算处理的指令指定数据的属性,可实现指令数的削减、指令译码电路的简化。
(其他)另外,标记值生成电路,在跨多个寄存器存储从存储器读出的数据时,也可生成包含该数据所跨越存储的寄存器的数量、即数据的分割数的标记值,并存储在标记字段中。
另外,处理器也可通过全定制(full custom)LSI(Large Scale Integration)来实现。另外,也可通过如ASIC(Application Specific Integrated Circuit)等的半定制(semi-custom)LSI来实现。另外,也可通过如FPGA(Fild Programmable GateArray)、CPLD(Complex Programmable Logic Device)等的可编程逻辑器件来实现。另外,也可实现为电路结构可动态地改写的动态重构器件。
并且,在这些LSI中形成构成处理器的1个至2个以上的功能的设计数据,也可是由如VHDL(Very high speed integrated circuit Hardware DesciptionLanguage)、Verilog-HDL、SystemC等的硬件记述语言记述的程序(下面称为HDL程序)。另外,也可为逻辑合成HDL程序得到的门级(gate level)的网表(netlist)。另外,也可为在门级的网表中附加了配置信息、处理条件等的宏单元(macrocell)信息。另外,也可为规定了大小、定时等的掩码(mask)数据。
并且,设计数据也可预先记录在光学记录媒体(例如,CD-ROM等。)、磁记录媒体(例如,硬盘等。)、光磁记录媒体(例如,MO等。)、半导体存储器(例如,RAM等。)等那样的计算机可读取的记录媒体中,以便可由计算机系统、内部系统等硬件系统读出。而且,经记录媒体被其他硬件系统读取的设计数据,也可经下载电缆下载到可编程逻辑器件。
或者,设计数据也可预先保持在传送路径上的硬件系统中,以便可经由网络等传送路径并由其他硬件系统取得。并且,从硬件系统经传送路径被其他硬件系统取得的设计数据,也可经下载电缆下载到可编程逻辑器件。
或者,逻辑合成、配置、布线的设计数据也可预先记录在串行ROM中,以便可在通电时传送到FPGA。而且,记录在串行ROM中的设计数据也可在通电时直接下载到FPGA。
产业上的可利用性本发明可利用为处理数据的处理器等,尤其是执行需要进行高速、庞大的运算处理的声音、图像处理等媒体处理的处理器。
权利要求
1.一种处理器,其特征在于,具备具有多个寄存器的寄存器文件;和生成表示数据属性的标记值的生成单元,所述各寄存器具有保持数据的数据字段和保持所述标记值的标记字段,在执行从存储器加载到寄存器的加载指令时,所述生成单元根据所述加载指令生成所述标记值,并存储到所述标记字段。
2.根据权利要求1所述的处理器,其特征在于通过执行将数据从所述存储器加载到所述寄存器的加载指令,所述数据字段原样保持从所述存储器输出的数据。
3.根据权利要求2所述的处理器,其特征在于所述生成单元根据由所述加载指令指定的地址、数据大小和数据类型,生成所述标记值,所述数据类型表示应传送的数据是带有代码的数据或是无代码的数据。
4.根据权利要求3所述的处理器,其特征在于所述处理器还具备转换单元,根据所述标记值转换保持在所述寄存器的数据字段中的数据。
5.根据权利要求4所述的处理器,其特征在于所述转换单元根据所述标记值,对保持在所述寄存器的数据字段中的数据执行零扩展或代码扩展。
6.根据权利要求5所述的处理器,其特征在于在执行读出寄存器的指令时,所述转换单元执行所述转换。
7.根据权利要求5所述的处理器,其特征在于所述转换单元,在未发生按照指令的寄存器读写的空闲周期中执行所述转换,并根据转换结果更新标记字段及数据字段。
8.根据权利要求4所述的处理器,其特征在于在执行将保持在所述寄存器的数据字段中的数据存储到存储器中的存储指令时,所述转换单元执行转换。
9.根据权利要求8所述的处理器,其特征在于所述处理器还具有写入处理部,通过对应于所述标记值的写入处理,将由所述转换单元转换的数据写入存储器。
10.根据权利要求2所述的处理器,其特征在于所述处理器在执行从存储器读出大小比所述数据字段大的数据的加载指令时,分割从存储器读出的数据,并将分割的数据存储在2个以上数据字段中。
11.根据权利要求10所述的处理器,其特征在于所述生成单元将包含所述分割的数据的分割数的标记值存储在标记字段中。
12.根据权利要求11所述的处理器,其特征在于所述处理器具备运算处理部,在执行读出存储在所述寄存器的数据字段中的数据、并执行进行运算处理的运算指令时,根据所述分割数,结合存储在2个以上数据字段中的数据,还原数据,并对还原后的数据执行运算处理。
13.根据权利要求12所述的处理器,其特征在于所述运算处理部,在运算处理结果的大小比数据字段大时,跨2个以上数据字段来存储运算处理结果,并将表示跨2个以上数据字段存储所述运算结果的标记值,与所述运算处理结果相对应,存储在所述标记字段中。
14.根据权利要求11所述的处理器,其特征在于所述处理器在执行将大小比所述数据字段大的数据写入存储器的存储指令时,还原跨2个以上数据字段存储的数据,并将还原后的数据写入存储器。
全文摘要
提供一种削减在存储器和寄存器文件之间产生的延迟,可在高动作频率下动作的处理器。处理器(100)具备具有多个寄存器的寄存器文件(110);和生成表示数据的属性的标记值的标记值生成电路(102),各寄存器具有保持数据的数据字段(112)、和保持标记值的标记字段(111),标记值生成电路(102)在执行将数据从存储器(14)加载到寄存器文件(110)的寄存器的加载指令时,根据该加载指令生成标记值并存储到标记字段(111)中。
文档编号G06F9/34GK101044450SQ20058003583
公开日2007年9月26日 申请日期2005年3月1日 优先权日2004年10月19日
发明者深井慎一郎 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1