CN101044450A - Processor - Google Patents
Processor Download PDFInfo
- Publication number
- CN101044450A CN101044450A CNA2005800358326A CN200580035832A CN101044450A CN 101044450 A CN101044450 A CN 101044450A CN A2005800358326 A CNA2005800358326 A CN A2005800358326A CN 200580035832 A CN200580035832 A CN 200580035832A CN 101044450 A CN101044450 A CN 101044450A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- register
- memory
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
技术领域technical field
本发明涉及一种可在高动作频率下动作的处理器,尤其是涉及可提高动作频率的处理器。The present invention relates to a processor capable of operating at a high operating frequency, and more particularly to a processor capable of increasing the operating frequency.
背景技术Background technique
现在具有一种处理器,在执行加载指令时,根据由该加载指令确定的数据的属性,在对从存储器输出的数据执行了配置变更、代码扩展、零扩展等的数据变换后,将其存储在寄存器文件中(例如参照专利文献1)。There is now a processor that, when executing a load instruction, stores the data output from the memory after performing data transformation such as configuration change, code extension, zero extension, etc., according to the attributes of the data determined by the load instruction. in the register file (for example, refer to Patent Document 1).
图1是表示现有的处理器构成的图。FIG. 1 is a diagram showing the configuration of a conventional processor.
如图所示,处理器10具备指令译码电路11、存储器读出控制电路12、存储器写入控制电路13、存储器14、运算器15、数据转换电路20及寄存器文件30。并且,寄存器文件30具备多个仅由数据字段31构成的寄存器。另外,使用寄存器序号(Reg#0~Reg#N)管理数据字段31。As shown in the figure, the
指令译码电路11根据译码的指令输出信号。例如,(a)在译码的指令是加载指令时,生成由该加载指令附加了特征的信号(以下称为加载指令译码信号。),并输出到存储器读出控制电路12和数据转换电路20。(b)在译码的指令是运算指令时,生成由该运算指令附加了特征的信号(以下称为运算指令译码信号。),并输出到运算器1 5和数据转换电路20。(c)在译码的指令是存储指令时,生成由该存储指令附加了特征的信号(以下称为存储指令译码信号。),并输出到存储器写入控制电路13。The
所谓的「加载指令」是指从存储器加载数据的指令。The so-called "load instruction" refers to an instruction to load data from memory.
所谓的「存储指令」是指向存储器存储数据的指令。The so-called "store instruction" is an instruction to store data in the memory.
所谓的「运算指令」是指执行运算处理的指令。The so-called "computation command" refers to a command to execute calculation processing.
在加载指令译码信号中包含访问存储器14并读出数据所需的地址、数据大小、及数据类型等信息。The load command decoding signal includes information such as address, data size, and data type required for accessing the
在运算指令译码信号中包含确定运算处理内容的信息。Information for specifying the contents of arithmetic processing is included in the arithmetic instruction decode signal.
在存储指令译码信号中包含访问存储器14并写入数据所需的地址、数据大小、及数据类型等信息。The storage instruction decoding signal includes information such as address, data size, and data type required for accessing the
存储器读出控制电路12根据从指令译码电路11输出的加载指令译码信号,将由该加载指令译码信号附加了特征的信号(以下称为存储器读出控制信号。)输出到存储器14。The memory read
存储器写入控制电路13根据从指令译码电路11输出的存储指令译码信号,将由该存储指令译码信号附加了特征的信号(以下称为存储器写入控制信号。)输出到存储器14。The memory
存储器14根据从存储器读出控制电路12输出的存储器读出控制信号,将由该存储器读出控制信号确定的数据存储到寄存器文件30。另外,根据从存储器写入控制电路13输出的存储器写入控制信号,从寄存器文件30中读出由该存储器写入控制信号确定的数据。The
另外,从存储器14读出的数据,在数据转换电路20中被执行了配置变更、代码扩展、零扩展等的数据变换后,被存储在寄存器文件30中。Also, the data read from the
运算器15根据从指令译码电路11输出的运算指令译码信号,从寄存器文件30中读出由该运算指令译码信号确定的数据,并对该数据执行由运算指令译码信号确定的运算处理。然后,将执行运算处理得到的数据存储到寄存器文件30。According to the operation instruction decoding signal output from the
图2是表示数据变换电路的构成的图。FIG. 2 is a diagram showing the configuration of a data conversion circuit.
如图所示,这里,作为一例,数据变换电路20具备排序部21、零扩展部22、代码扩展部23、选择器24等。As shown in the figure, here, as an example, the
排序部21对从存储器14输出的数据施行排序处理,并将处理后的数据输出到零扩展部22和代码扩展部23。The
所谓「排序处理」是指,使M(M为自然数。)位数据的部分位串与最低位的位一致地排列并输出。例如,在输入32位数据的第8位到第15位的部分位串时,输出从第0位排列至第7位的位串。The "sorting process" refers to arranging and outputting a partial bit string of M (M is a natural number) bit data in accordance with the lowest bit. For example, when a partial bit string of the 8th bit to the 15th bit of 32-bit data is input, a bit string arranged from the 0th bit to the 7th bit is output.
零扩展部22对从排序部21输出的数据施行零扩展处理,并将处理后的数据输出到选择器24。The zero
所谓「零扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「0」并输出。The so-called "zero extension processing" means that when extending M (M is a natural number.) bit data to N (N is a natural number greater than M.) bit data, the data from the M-1th bit to the highest bit Bit is "0" and output.
代码扩展部23对从排序部21输出的数据施行代码扩展处理,并将处理后的数据输出到选择器24。The
所谓「代码扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「M位数据的代码位的值」并输出。The so-called "code expansion processing" means that when expanding M (M is a natural number.) bit data to N (N is a natural number greater than M.) bit data, make the code from the M-1th bit to the highest bit The bit is "the value of the code bit of the M-bit data" and output.
选择器24根据从指令译码电路11输出的加载指令译码信号,选择从存储器14输出的数据、从零扩展部22输出的数据、从代码扩展部23输出的数据之一,并输出到寄存器文件30。The selector 24 selects one of the data output from the
专利文献1:特开平9-269895号公报Patent Document 1: Japanese Unexamined Patent Publication No. 9-269895
但是,在所述的现有的技术中,存在如下问题:当从存储器14将数据输出到寄存器文件30时,因需要通过数据转换电路20,所以在存储器14和寄存器文件30之间产生的延迟增加,在进行以高动作频率动作的处理器的开发上,该延迟成为弊病。However, in the prior art described above, there is a problem that when data is output from the
发明内容Contents of the invention
因此,本发明是鉴于上述问题而进行的,其目的在于提供一种处理器,削减在存储器和寄存器文件之间产生的延迟,可以高动作频率动作。Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to provide a processor capable of reducing the delay generated between a memory and a register file and operating at a high operating frequency.
为了实现所述目的,本发明的处理器,具备:(a)具有多个寄存器的寄存器文件;(b)生成表示数据属性的标记值的生成单元,(c)所述各寄存器具有保持数据的数据字段和保持所述标记值的标记字段,(d)所述生成单元在执行从存储器加载到寄存器的加载指令时,根据所述加载指令生成所述标记值,并存储在所述标记字段中。In order to achieve the above object, the processor of the present invention has: (a) a register file having a plurality of registers; (b) a generation unit for generating a tag value representing a data attribute; (c) each of the registers has a A data field and a flag field holding the flag value, (d) when the generating unit executes a load instruction loaded from the memory to the register, the flag value is generated according to the load instruction and stored in the flag field .
由此,存储在数据字段中的数据,在执行进行运算处理的指令、从寄存器文件将数据存储到存储器的存储指令时,可根据表示数据属性的标记值执行数据转换,不必在存储器和寄存器文件之间执行配置变更、代码扩展、零扩展等的数据转换。As a result, the data stored in the data field can be converted according to the tag value indicating the attribute of the data when executing the instruction for arithmetic processing or the storage instruction for storing data from the register file to the memory, without having to store data in the memory and register file Perform data conversion between configuration changes, code extensions, zero extensions, etc.
另外,本发明不只是作为处理器被实现,也可以作为控制处理器的方法(以下称为控制方法)等来实现。另外,也可以作为组装了由处理器提供的功能(以下称为处理器功能。)的LSI、在FPGA、CPLD等可编程逻辑器件中形成处理器功能的IP核心程序(以下称为处理器核心程序。)、及记录了处理器核心程序的记录媒体等来实现。In addition, the present invention can be realized not only as a processor, but also as a method of controlling a processor (hereinafter referred to as a control method), or the like. In addition, it can also be used as an LSI that assembles functions provided by a processor (hereinafter referred to as processor functions), and an IP core program that forms processor functions in programmable logic devices such as FPGAs and CPLDs (hereinafter referred to as processor cores). program.), and a recording medium on which the processor core program is recorded.
发明效果Invention effect
如上所述,根据本发明的处理器,能够提供一种处理器,在从存储器将数据输出到寄存器文件时,因不需要通过数据转换电路,所以削减在存储器和寄存器文件之间产生的延迟,可以高动作频率动作。As described above, according to the processor of the present invention, it is possible to provide a processor that does not need to pass through a data conversion circuit when outputting data from the memory to the register file, thereby reducing the delay generated between the memory and the register file, High operating frequency operation is possible.
另外,还提供一种处理器,由于可容易处理比分配给一个寄存器序号的寄存器的大小大的数据,所以可提高数据处理能力。In addition, there is provided a processor capable of improving data processing capability because it can easily process data larger than the size of a register allocated to one register number.
附图说明Description of drawings
图1是表示现有的处理器的构成的图。FIG. 1 is a diagram showing the configuration of a conventional processor.
图2是表示数据转换电路的构成的图。FIG. 2 is a diagram showing the configuration of a data conversion circuit.
图3是表示实施方式1的处理器的构成的图。FIG. 3 is a diagram showing the configuration of a processor according to
图4是表示作为一例、实施方式1的寄存器文件的构成的图。FIG. 4 is a diagram showing the configuration of a register file according to
图5是表示作为一例、实施方式1的寄存器的数据结构的图。FIG. 5 is a diagram showing a data structure of a register according to
图6A是表示在实施方式1的数据转换电路中数据转换的实例的第1图。6A is a first diagram showing an example of data conversion in the data conversion circuit of
图6B是表示在实施方式1的数据转换电路中数据转换的实例的第2图。6B is a second diagram showing an example of data conversion in the data conversion circuit of the first embodiment.
图6C是表示在实施方式1的数据转换电路中数据转换的实例的第3图。FIG. 6C is a third diagram showing an example of data conversion in the data conversion circuit of
图7是表示实施方式1的处理器动作的第1图。FIG. 7 is a first diagram showing the operation of the processor according to the first embodiment.
图8A是表示实施方式1的处理器动作的第2图。8A is a second diagram showing the operation of the processor according to the first embodiment.
图8B是表示实施方式1的处理器动作的第3图。8B is a third diagram showing the operation of the processor according to the first embodiment.
图8C是表示实施方式1的处理器动作的第4图。8C is a fourth diagram showing the operation of the processor according to the first embodiment.
图9是表示实施方式2的处理器的构成的图。FIG. 9 is a diagram showing the configuration of a processor according to
图10是表示作为一例、实施方式2的寄存器文件的构成的图。FIG. 10 is a diagram showing the configuration of a register file according to
图11是表示实施方式2的处理器动作的第1图。FIG. 11 is a first diagram showing the operation of the processor according to the second embodiment.
图12A是表示实施方式2的处理器动作的第2图。12A is a second diagram showing the operation of the processor according to the second embodiment.
图12B是表示实施方式2的处理器动作的第3图。12B is a third diagram showing the operation of the processor according to the second embodiment.
图13是表示实施方式3的处理器的构成的图。FIG. 13 is a diagram showing the configuration of a processor according to
图14是表示作为一例、实施方式3的运算器的构成的图。FIG. 14 is a diagram showing a configuration of an arithmetic unit according to
图15A是表示实施方式3的处理器的动作的图。FIG. 15A is a diagram showing the operation of the processor according to
图15B是表示实施方式3的处理器的动作的图。FIG. 15B is a diagram showing the operation of the processor according to the third embodiment.
图16是表示实施方式4的处理器的构成的图。FIG. 16 is a diagram showing the configuration of a processor according to Embodiment 4. FIG.
图17是表示作为一例、实施方式4的运算器的构成的图。FIG. 17 is a diagram showing a configuration of an arithmetic unit according to Embodiment 4 as an example.
图18是表示实施方式4的处理器动作的第1图。FIG. 18 is a first diagram showing the operation of the processor according to the fourth embodiment.
图19是表示实施方式4的处理器动作的第2图。FIG. 19 is a second diagram showing the operation of the processor according to the fourth embodiment.
图20是表示实施方式5的处理器的构成的图。FIG. 20 is a diagram showing the configuration of a processor according to Embodiment 5. FIG.
图21是表示作为一例、实施方式5的运算器的构成的图。FIG. 21 is a diagram showing a configuration of an arithmetic unit according to Embodiment 5 as an example.
图22是表示作为一例、实施方式5的寄存器的数据结构的图。FIG. 22 is a diagram showing a data structure of a register according to Embodiment 5 as an example.
图23是表示实施方式5的处理器动作的第1图。FIG. 23 is a first diagram showing the operation of the processor according to Embodiment 5. FIG.
图24是表示实施方式5的处理器动作的第2图。FIG. 24 is a second diagram showing the operation of the processor according to Embodiment 5. FIG.
图25是表示实施方式5的处理器动作的第3图。FIG. 25 is a third diagram showing the operation of the processor according to Embodiment 5. FIG.
图26是表示实施方式6的处理器的构成的图。FIG. 26 is a diagram showing the configuration of a processor according to Embodiment 6. FIG.
图27是表示作为一例、实施方式6的运算器的构成的图。FIG. 27 is a diagram showing a configuration of an arithmetic unit according to Embodiment 6 as an example.
图28是表示实施方式6的处理器动作的第1图。FIG. 28 is a first diagram showing the operation of the processor according to the sixth embodiment.
图29是表示实施方式6的处理器动作的第2图。FIG. 29 is a second diagram showing the operation of the processor according to the sixth embodiment.
符号说明Symbol Description
10处理器10 processors
11指令译码电路11 instruction decoding circuit
12存储器读出控制电路12 memory read control circuit
13存储器写入控制电路13 memory write control circuit
14存储器14 memory
15运算器15 calculator
20数据转换电路20 data conversion circuit
21排序部21 Sorting Department
22零扩展部22 Zero Extension
23代码扩展部23 Code Extension
24选择器24 selectors
30寄存器文件30 register files
31数据字段31 data fields
Reg#0~Reg#N寄存器
100,200处理器100, 200 processors
101指令译码电路101 instruction decoding circuit
102标记值生成电路102 tag value generating circuit
110,210寄存器文件110, 210 register files
111,211标记字段111, 211 tag field
112,212数据字段112, 212 data fields
113,213数据属性判断电路113, 213 data attribute judgment circuit
114,214数据转换电路114, 214 data conversion circuit
121,221排序部121, 221 Sorting Department
122,222零扩展部122, 222 Zero Extension
123,223代码扩展部123, 223 Code Extension Section
124,224选择器124, 224 selector
300,400处理器300, 400 processors
310,410寄存器文件310, 410 register files
311,411标记字段311, 411 tag field
312,412数据字段312, 412 data fields
320,420运算器320, 420 calculator
321,421数据属性判断电路321, 421 data attribute judgment circuit
322,422运算处理电路322, 422 operation processing circuit
330存储器写入控制电路330 memory write control circuit
331数据属性判断电路331 data attribute judgment circuit
332数据转换电路332 data conversion circuit
341,441排序部341, 441 Sorting Department
342,442零扩展部342, 442 Zero Extension
343,443代码扩展部343, 443 Code Extension Section
344,444选择器344, 444 selector
345,445加法器345, 445 Adder
401指令译码电路401 instruction decoding circuit
402标记值生成电路402 tag value generation circuit
500,600处理器500, 600 processors
510,610寄存器文件510, 610 register files
520,620运算器520, 620 calculator
530存储器写入控制电路530 memory write control circuit
531数据属性判断电路531 data attribute judgment circuit
532数据转换电路532 data conversion circuit
541,641选择器541, 641 selector
542,642加法器542, 642 adders
543,643选择器543, 643 selector
具体实施方式Detailed ways
(实施方式1)(Embodiment 1)
下面,参照附图说明本发明的实施方式1。Next,
实施方式1的处理器的特征在于,在从寄存器文件将数据输出到运算器之前执行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间执行。The processor according to
根据以上的观点,说明本发明实施方式1的处理器。Based on the above points of view, the processor according to
图3是表示实施方式1的处理器的构成的图。FIG. 3 is a diagram showing the configuration of a processor according to
如图所示,处理器100具备存储器读出控制电路12、存储器写入控制电路13、存储器14、运算器15。并且,具备指令译码电路101、标记值生成电路102、寄存器文件110。As shown in the figure, the
指令译码电路110根据译码的指令输出信号。例如,(a)在译码的指令是加载指令时,生成由该加载指令附加了特征的信号(下面称为加载指令译码信号。),并输出到存储器读出控制电路12和标记值生成电路102。(b)在译码的指令是运算指令时,生成由该运算指令附加了特征的信号(下面称为运算指令译码信号。),并输出到运算器15和标记值生成电路102。(c)在译码的指令是存储指令时,生成由该存储指令附加了特征的信号(下面称为存储指令译码信号),并输出到存储器写入控制电路13。The
所谓「加载指令」是指从存储器加载数据的指令。The so-called "load instruction" refers to an instruction to load data from memory.
所谓「存储指令」是指向存储器存储数据的指令。The so-called "storage instruction" refers to an instruction to store data in the memory.
所谓「运算指令」是指执行运算处理的指令。The term "computation instruction" refers to an instruction to execute arithmetic processing.
在加载指令译码信号中包含访问存储器14并读出数据所需的地址、数据大小、及数据类型等的信息。The load command decode signal includes information such as address, data size, and data type required for accessing the
在运算指令译码信号中包含确定运算处理的内容的信息。The operation command decode signal includes information specifying the content of the operation processing.
在存储指令译码信号中包含访问存储器14并写入数据所需的地址、数据大小、及数据类型等的信息。The memory command decode signal includes information such as an address, data size, and data type required to access the
标记值生成电路102根据从指令译码电路101输出的加载指令译码信号,生成表示由该加载指令译码信号存储在寄存器文件110中的数据的属性的标记值,并将生成的标记值与该数据对应地存储在寄存器文件110中。另外,根据从指令译码电路101输出的运算指令译码信号,生成表示由该运算指令译码信号存储在寄存器文件110中的数据的属性的标记值,并将生成的标记值与该数据对应地存储在寄存器文件110中。The tag
另外,标记值显示与该标记值对应的数据的属性。另外,在属性中包含数据大小、数据类型、构成数据的各位的有效或无效的信息。In addition, the tag value shows the attribute of the data corresponding to the tag value. In addition, the attributes include data size, data type, and valid or invalid information of each bit constituting the data.
寄存器文件110具备多个由标记字段111和数据字段112构成的寄存器。并且,具备数据属性判断电路113和数据转换电路114。The
在标记字段111中存储标记值,在数据字段112中存储与该标记值对应的数据。A tag value is stored in the
另外,数据字段112和标记字段111具有1对1的对应关系,并通过寄存器序号(Reg#0~Reg#N)管理。In addition, the
数据属性判断电路113在从数据字段112读出数据时,从标记字段111读出与该数据对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路114。The data attribute judging
数据转换电路114在从数据字段112读出数据时,根据数据属性判断信号判断是否转换该数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并输出转换后的数据。在为不转换时,不转换读出的数据地直接输出。The
存储器读出控制电路12根据从指令译码电路101输出的加载指令译码信号,将由该加载指令译码信号附加了特征的信号(以下称为存储器读出控制信号。)输出到存储器14。The memory read
存储器写入控制电路13根据从指令译码电路101输出的存储指令译码信号,将由该存储指令译码信号附加了特征的信号(以下称为存储器写入控制信号。)输出到存储器14。The memory
存储器14根据从存储器读出控制电路12输出的存储器读出控制信号,将由该存储器读出控制信号确定的数据存储到寄存器文件110。另外,根据从存储器写入控制电路13输出的存储器写入控制信号,从寄存器文件110中读出由该存储器写入控制信号确定的数据。The
另外,从存储器14读出的数据,不执行配置变更、代码扩展、零扩展等的数据转换地存储到寄存器文件110。In addition, the data read from the
运算器15根据从指令译码电路101输出的运算指令译码信号,从寄存器文件110读出由该运算指令译码信号确定的数据,并对该数据执行由运算指令译码信号确定的运算处理。然后将执行运算处理得到的数据存储到寄存器文件110。The
下面,作为一例,说明实施方式1的寄存器文件的构成。Next, as an example, the configuration of the register file according to
这里,以如下情况为例进行说明:对从寄存器(Reg#0)读出的数据执行运算处理,并将执行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)。Here, a case will be described taking, as an example, a case where arithmetic processing is performed on data read from the register (Reg#0), and the data obtained by performing the arithmetic processing, that is, an arithmetic result is stored in the register (Reg#1).
图4是表示作为一例、实施方式1的寄存器文件的构成的图。FIG. 4 is a diagram showing the configuration of a register file according to
如图所示,数据属性判断电路113从寄存器(Reg#0)的标记字段111读出标记值,并根据读出的标记值,判断从寄存器(Reg#0)的数据字段112读出的数据属性。然后,将判断结果作为数据属性判断信号输出到选择器124等。As shown in the figure, the data attribute judging
与此相对,排序部121对从寄存器(Reg#0)的数据字段112输出的数据施行排序处理,并将处理后的数据输出到零扩展部122和代码扩展部123。On the other hand, the
所谓「排序处理」是指,使M(M是自然数。)位的数据的部分位串与最低位的位一致地排列并输出的处理。例如,在输入32位数据的第8位到第15位的部分位串时,输出从第0位排列至第7位的位串。The "sorting process" refers to a process of arranging and outputting a partial bit string of M (M is a natural number)-bit data in accordance with the lowest bit. For example, when a partial bit string of the 8th bit to the 15th bit of 32-bit data is input, a bit string arranged from the 0th bit to the 7th bit is output.
零扩展部122对从排序部121输出的数据施行零扩展处理,并将处理后的数据输出到选择器124。The zero
所谓「零扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「0」并输出的处理。The so-called "zero extension processing" means that when extending M (M is a natural number.) bit data to N (N is a natural number greater than M.) bit data, the data from the M-1th bit to the highest bit Bit is "0" and output processing.
代码扩展部123对从排序部121输出的数据施行代码扩展处理,并将处理后的数据输出到选择器124。The
所谓「代码扩展处理」是指,在将M(M是自然数。)位的数据扩展到N(N是比M大的自然数。)位的数据时,使从第M-1位到最高位的位为「M位数据的代码位的值」并输出的处理。The so-called "code expansion processing" means that when expanding M (M is a natural number.) bit data to N (N is a natural number greater than M.) bit data, make the code from the M-1th bit to the highest bit Bit is "the value of the code bit of M-bit data" and output.
选择器124根据从数据属性判断电路113输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段112输出的数据、从零扩展部122输出的数据、从代码扩展部123输出的数据之一,并输出到运算器15。The
然后,运算器15对从选择器124输出的数据执行运算处理,并将执行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)的数据字段112。Then, the
下面,作为一例,说明实施方式1的寄存器的数据结构。Next, as an example, the data structure of the register in
图5是表示作为一例、实施方式1的寄存器的数据结构的图。FIG. 5 is a diagram showing a data structure of a register according to
如图所示,寄存器由8位的标记字段151和32位的数据字段构成。As shown, the register is composed of an 8-
标记字段151的第0位至第3位的低位4位表示有效位、即从数据字段152的何处开始存储有数据。例如,(a)在为「1000」时,表示从第3位串(第31位)开始存储。(b)在为「0100」时,表示从第2位串(第23位)开始存储。(c)在为「0010」时,表示从第1位串(第15位)开始存储。(d)在为「0001」时,表示从第0位串(第7位)开始存储。The lower 4 bits from the 0th bit to the 3rd bit of the
标记字段151的第4位至第5位的2位表示存储在数据字段152中的数据的大小。例如,(a)在为「00」时表示32位,(b)在为「01」时表示16位,(c)在为「10」时表示8位。另外,「11」为空。2 bits of the 4th to 5th bits of the
标记字段151的第6位表示存储在数据字段152中的数据是否是有代码的数据。例如,(a)在为「0」时,表示是无代码的数据,(b)在为「1」时,表示是有代码的数据。Bit 6 of the
标记字段151的第7位表示存储在数据字段152中的数据是否是执行了配置变更、代码扩展、零扩展等的数据转换的数据。例如,(a)在为「0」时,表示是转换结束、即是转换后的数据,(b)在为「1」时,表示是转换未结束、即是转换前的数据。
下面,说明在实施方式1的数据转换电路中数据转换的实例。Next, an example of data conversion in the data conversion circuit of
图6A~图6C是表示在实施方式1的数据转换电路中数据转换的实例的图。6A to 6C are diagrams showing examples of data conversion in the data conversion circuit according to the first embodiment.
如图所示,数据转换电路114根据下述(1)~(3)的情况不同,数据转换的内容不同。As shown in the figure, the
(1)在执行指令161a(mov Reg,Mem)、并从存储器162b读出了32位的数据时,数据转换电路114不转换。即,将32位的数据存储到32位的寄存器163b中。(参照图6A。)。(1) When executing
(2)在执行指令161b(movb Reg,Mem)、并从存储器162b中读出了32位中从第1位串开始有效的8位数据时,数据转换电路114将其转换为与最低位的位一致地排列并进行了零扩展的数据。然后,将转换后的数据存储在32位的寄存器163b中。(参照图6B。)。(2) When executing the
(3)在执行指令161c(movbex Reg,Mem)、并从存储器162b中读出了32位中从第1位串开始有效的8位数据时,数据转换电路114将其转换成与最低位的位一致地排列并进行了代码扩展的数据。然后,将转换后的数据存储在32位的寄存器163c中。(参照图6C。)。(3) When the
下面,说明实施方式1的处理器的动作。Next, the operation of the processor according to
图7、图8A~图8C是表示实施方式1的处理器的动作的图。7 and 8A to 8C are diagrams showing operations of the processor according to the first embodiment.
如图7所示,指令译码电路101根据译码的指令,执行下述(1)~(3)之一(步骤S101)。As shown in FIG. 7 , the
(1)指令译码电路101在译码的指令是加载指令时,将加载指令译码信号输出到存储器读出控制电路12和标记值生成电路102(步骤S111)。(1) When the decoded command is a load command, the
与之对应,存储器读出控制电路12将存储器读出控制信号输出到存储器14(步骤S112)。存储器14将由存储器读出控制信号确定的数据存储到寄存器文件110(步骤S113)。另一方面,标记值生成电路102将表示由加载指令译码信号存储在寄存器文件110中的数据的属性的标记值,与该数据相对应地存储到寄存器文件110(步骤S114)。Correspondingly, the memory read
这时,如图8所示,寄存器文件110将由加载指令译码信号确定的数据存储到数据字段112(步骤S121),并将与该数据对应的标记值存储到标记字段111(步骤S122)。At this time, as shown in FIG. 8, the
(2)指令译码电路101在译码的指令是运算指令时,将运算指令译码信号输出到运算器15和标记值生成电路102(步骤S131)。(2) When the decoded instruction is an operation instruction, the
与之对应,运算器15从寄存器文件110读出由运算指令译码信号确定的数据(步骤S132),并对读出的数据执行由运算指令译码信号确定的运算处理(步骤S133)。然后,将执行运算处理得到的数据存储到寄存器文件110(步骤S134)。另一方面,标记值生成电路102将表示由运算指令译码信号存储在寄存器文件110中的数据的属性的标记值,与执行运算处理得到的数据相对应地存储到寄存器文件110(步骤S135)。Correspondingly, the
这时,如图8B所示,寄存器文件110在数据属性判断电路113中,根据与由运算指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S141),并将判断结果作为数据属性判断信号输出到数据转换电路114(步骤S142)。然后,在数据转换电路114中根据数据属性判断信号判断是否转换该数据(步骤S143)。在判断的结果为转换时(步骤S143:是),根据数据属性判断信号转换该数据(步骤S144),并将转换后的数据输出到运算器15(步骤S145)。At this time, as shown in FIG. 8B, in the data attribute judging
另外,在为不转换时(步骤S143:否),不转换由运算指令译码信号确定的数据地直接输出到运算器15。In addition, when it is not converted (step S143: NO), the data specified by the operation command decode signal is not converted and output to the
(3)指令译码电路101在译码的指令是存储指令时,将存储指令译码信号输出到存储器写入控制电路13(步骤S151)。(3) When the decoded command is a store command, the
与之对应,存储器写入控制电路13将存储器写入控制信号输出到存储器14(步骤S152)。存储器14从寄存器文件110读出由存储器写入控制信号确定的数据(步骤S153)。Correspondingly, the memory
这时,如图8C所示,寄存器文件110在数据属性判断电路113中,根据与由存储指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S161),并将判断结果作为数据属性判断信号输出到数据变换电路114(步骤S162)。然后,在数据转换电路114中,根据数据属性判断信号判断是否转换该数据(步骤S163)。在判断的结果为转换时(步骤S163:是),根据数据属性判断信号转换该数据(步骤S164),并将转换后的数据输出到存储器14(步骤S165)。At this time, as shown in FIG. 8C, in the data attribute judging
另外,在为不转换时(步骤S163:否),不转换由存储器写入控制信号确定的数据地输出到存储器14。In addition, when it is not converted (step S163: NO), the data determined by the memory write control signal are output to the
根据如上所述的实施方式1的处理器100,在寄存器文件110中具备标记字段111、数据字段112、数据属性判断电路113及数据转换电路114。According to the
由此,可在将数据从寄存器文件110输出到运算器15之前,进行配置变更、代码扩展、零扩展等的数据变换,代替在存储器14和寄存器文件110之间执行,并可削减在存储器14和寄存器文件110之间产生的延迟。并且,由于运算器15能够通用现有的运算器,所以设计也容易。As a result, before data is output from the
(实施方式2)(Embodiment 2)
下面,参照附图说明本发明的实施方式2。Next,
实施方式2的处理器的特征在于,在将数据从寄存器文件输出到运算器之前,在寄存器文件的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间进行。The processor according to
根据以上的观点,说明实施方式2的处理器。Based on the above points of view, the processor according to
另外,对与实施方式1相同的构成要素附加相同符号,并省略说明。In addition, the same code|symbol is attached|subjected to the same component as
图9是表示实施方式2的处理器的构成的图。FIG. 9 is a diagram showing the configuration of a processor according to
如图所示,处理器200与实施方式1的处理器100相比,不同之处在于:具备寄存器文件210代替寄存器文件110(参照图3。)。As shown in the figure, the
寄存器文件210与寄存器文件110相比,不同之处在于:具备标记字段211、数据字段212、数据属性判断电路213、数据转换电路214,代替标记字段111、数据字段112、数据属性判断电路113、数据转换电路114。Compared with the
数据属性判断电路213,当重新将数据存储到数据字段212时,从标记字段211中读出与该数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路214。并且,根据该判断结果判断是否转换该标记值。在判断的结果为转换时,根据该判断结果转换该标记值,并将转换后的标记值存储到寄存器文件210,以将转换前的标记值置换为转换后的标记值。The data attribute judging
数据转换电路214,当重新将数据存储到数据字段212时,根据数据属性判断信号判断是否转换该数据。在判断的结果为转换时,根据数据属性判断信号转换该数据,并将转换后的数据存储到数据字段212。在为不转换时,不转换该数据。The
下面,作为一例,说明实施方式2的寄存器文件的构成。Next, as an example, the configuration of the register file according to
这里,以对从存储器(Reg#0)读出的数据进行数据转换,并将转换后的数据存储到寄存器(Reg#0)的情况为例进行说明。Here, the case where the data read from the memory (Reg#0) is converted into data and the converted data is stored in the register (Reg#0) will be described as an example.
图10是表示作为一例、实施方式2的寄存器文件的构成的图。FIG. 10 is a diagram showing the configuration of a register file according to
如图所示,数据属性判断电路213从寄存器(Reg#0)的标记字段211读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段212读出的数据的属性。然后,将判断结果作为数据属性判断信号输出到选择器224。As shown in the figure, the data attribute judging
与此相对,排序部221对从寄存器(Reg#0)的数据字段212输出的数据施行排序处理,并将处理后的数据输出到零扩展部222和代码扩展部223。On the other hand, the
另外,由于零扩展部222和代码扩展部223与实施方式1的零扩展部122和代码扩展部123构成相同,所以省略说明。In addition, since the zero
选择器224根据从数据属性判断电路213输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段212输出的数据、从零扩展部222输出的数据、从代码扩展部223输出的数据之一,并存储到寄存器(Reg#0)的数据字段112。The
并且,数据属性判断电路213转换读出的标记值,并将转换后的标记值存储到寄存器(Reg#0)的标记字段212。And, the data attribute judging
然后,运算器15对从寄存器(Reg#0)的数据字段212输出的转换后的数据进行运算处理,并将进行运算处理得到的数据、即运算结果存储到寄存器(Reg#1)等的数据字段212。Then, the
下面说明实施方式2的处理器200的动作。Next, the operation of the
图11、图12A、图12B是表示实施方式2的处理器的动作的图。11 , 12A, and 12B are diagrams showing operations of the processor according to the second embodiment.
如图11、图12A、图12B所示,处理器200与实施方式1的处理器100相比,存在下述(1)~(3)的不同点。As shown in FIG. 11 , FIG. 12A , and FIG. 12B , the
(1)关于在加载指令实行时的动作,与实施方式1的动作(步骤S111~S114、S121~S122)相比,存在下述的不同点(参照图8A、图11。)。(1) The operation when the load command is executed differs from the operation in Embodiment 1 (steps S111 to S114 , S121 to S122 ) in the following points (see FIG. 8A and FIG. 11 ).
当代替实施方式1的寄存器文件110的动作(步骤S121~S122),寄存器文件210执行加载指令,将数据重新存储到数据字段212时(步骤S221),在数据属性判断电路213中,根据与该数据对应的标记值判断该数据的属性(步骤S222),并将判断结果作为数据属性信号输出到数据转换电路213(步骤S223)。并且,根据该判断结果判断是否转换该标记值(步骤S224)。在判断的结果为转换时(步骤S224:是),根据该判断结果转换该标记值(步骤S225),并将转换后的标记值存储到标记字段211,以将转换前的标记值置换为转换后的标记值(步骤S226)。然后,在数据转换电路213中根据数据属性判断信号判断是否转换该数据(步骤S227)。在判断的结果为转换时(步骤S227:是),根据数据属性判断信号转换该数据(步骤S228),并将转换后的数据存储到数据字段212,以将转换前的数据置换为转换后的数据(步骤S229)。When the
(2)关于运算指令执行时的动作,与实施方式1的动作(步骤S131~S135、S141~S144)相比,存在下述的不同点(参照图8B、图12A。)。(2) The operation when the operation command is executed differs from the operation in Embodiment 1 (steps S131 to S135 , S141 to S144 ) in the following points (see FIG. 8B and FIG. 12A ).
当寄存器文件210替代实施方式1的寄存器文件110的动作(步骤S141~S144)执行运算指令时,从数据字段212中读出数据(步骤S241)。When
(3)关于存储指令执行时的动作,与实施方式1的动作(步骤S151~S153、S161~S164)相比,存在下述的不同点(参照图8C、图12B。)。(3) The operation when the store command is executed differs from the operation in Embodiment 1 (steps S151 to S153 , S161 to S164 ) in the following points (see FIG. 8C and FIG. 12B ).
当替代实施方式1的寄存器文件110的动作(步骤S161~S164),寄存器文件210执行存储指令时,将存储在数据字段212中的数据输出到存储器14(步骤S261)。When
根据如上所述的实施方式2的处理器200,在寄存器文件210中具备标记字段211、数据字段212、数据属性判断电路213及数据转换电路214。According to the
由此,可在将数据从寄存器文件210输出到运算器15之前,在寄存器文件210的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器14和寄存器文件210之间进行,并可以削减在存储器14和寄存器文件210之间产生的延迟。另外,因为在寄存器文件210的内部进行数据转换,所以对寄存器文件210和运算器15之间、寄存器文件210和存储器14之间不产生延迟增加的影响。并且,由于运算器15可通用现有的运算器所以设计容易。Therefore, data conversion such as configuration change, code extension, and zero extension can be performed inside the
(实施方式3)(Embodiment 3)
下面,参照附图说明本发明的实施方式3。Next,
实施方式3的处理器的特征在于,在运算器和存储器写入控制电路的各自的内部进行配置变更、代码扩展、零扩展等的数据转换,代替在存储器和寄存器文件之间进行。The processor according to
根据以上的观点,说明实施方式3的处理器。Based on the above points of view, the processor according to
另外,对与实施方式1相同的构成要素附加相同符号,并省略说明。In addition, the same code|symbol is attached|subjected to the same component as
图13是表示实施方式3的处理器的构成的图。FIG. 13 is a diagram showing the configuration of a processor according to
如图所示,处理器300与实施方式1的处理器100相比,存在下述(1)~(3)的不同点(参照图3。)。As shown in the figure, the processor 300 differs from the
(1)具备寄存器文件310,来替代寄存器文件110。(1) The
寄存器文件310与寄存器文件110相比,不同之处在于:不具备数据属性判断电路113和数据转换电路114。The difference between the
(2)具备运算器320来替代运算器15。(2) The
运算器320与运算器15相比,不同之处在于:新具备数据属性判断电路321和运算处理电路322。Compared with the
数据属性判断电路321从寄存器文件310读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到运算处理电路322。The data attribute judging
运算处理电路322从寄存器文件310读出由运算指令译码信号确定的数据。根据数据属性判断信号判断是否转换读出的数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据进行运算处理。然后,将进行运算处理得到的数据存储到寄存器文件310的数据字段311。The
另外,在为不转换时,不转换读出的数据地直接进行运算处理。In addition, in the case of no conversion, the read data is not converted, and the arithmetic processing is performed as it is.
(3)具备存储器写入控制电路330,来替代存储器写入控制电路13。(3) A memory
存储器写入控制电路330与存储器写入控制电路13相比,不同之处在于:新具备数据属性判断电路331和数据转换电路332。Compared with the memory
数据属性判断电路331从寄存器文件310读出与由存储指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。然后,将判断结果作为数据属性判断信号输出到数据转换电路332。并且,生成根据存储指令译码信号和标记值的存储器写入控制信号,并输出到存储器14。The data attribute judging
数据转换电路332从寄存器文件310读出由存储指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果为转换时,根据数据属性判断信号转换读出的数据,并将转换后的数据输出到存储器14。The
另外,在为不转换时,不转换读出的数据地直接输出到存储器14。In addition, in the case of no conversion, the read data is directly output to the
下面,作为一例,说明实施方式3的运算器的构成。Next, as an example, the configuration of the arithmetic unit according to
这里,以对从寄存器(Reg#0)读出的数据进行加法处理,并将进行加法处理得到的数据、即加法的结果存储到寄存器(Reg#1)的情况为例进行说明。Here, a case where addition processing is performed on data read from the register (Reg#0) and the addition result is stored in the register (Reg#1) will be described as an example.
图14是表示作为一例、实施方式3的运算器的构成的图。FIG. 14 is a diagram showing a configuration of an arithmetic unit according to
如图所示,数据属性判断电路321从寄存器(Reg#0)的标记字段311读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段312读出的数据的属性。然后,将判断结果作为数据属性判断信号输出到选择器344。As shown in the figure, the data attribute judging
与此相对,排序部341对从寄存器(Reg#0)的数据字段312输出的数据实施排序处理,并将处理后的数据输出到零扩展部342和代码扩展部343。On the other hand, the
零扩展部342对从排序部341输出的数据实施零扩展处理,并将处理后的数据输出到选择器344。The zero
代码扩展部343对从排序部341输出的数据实施代码扩展处理,并将处理后的数据输出到选择器344。The
选择器344根据从数据属性判断电路321输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段312输出的数据、从零扩展部342输出的数据、从代码扩展部343输出的数据之一,并输出到加法器345。The
加法器345对从选择器344输出的数据执行加法处理,并将执行加法处理得到的数据、即运算结果存储在寄存器(Reg#1)的数据字段312中。The
接着,说明实施方式3的处理器300的动作。Next, the operation of the processor 300 according to
图15A、图15B是表示实施方式3的处理器的动作的图。15A and 15B are diagrams showing operations of the processor according to the third embodiment.
如图所示,处理器300与实施方式的处理器100相比,存在下述不同点。As shown in the figure, the processor 300 differs from the
(1)关于加载指令执行时的动作,因与实施方式1的动作(步骤S111~S114、S121~S122)相同而省略说明。(1) The operation when the load command is executed is the same as the operation (steps S111 to S114 , S121 to S122 ) in
(2)关于运算指令执行时的动作,与实施方式1的动作(步骤S131~S135、S141~S145)相比,存在下述不同点(参照图8B、图15A)。(2) The operation when the operation command is executed differs from the operation in the first embodiment (steps S131 to S135 , S141 to S145 ) in the following points (see FIG. 8B and FIG. 15A ).
当代替实施方式1的寄存器文件110的动作(步骤S141~S144),运算器320执行运算指令时,在数据属性判断电路321中根据与由运算指令译码信号确定的数据相对应的标记值,判断该数据的属性(步骤S341),并将判断结果作为数据属性判断信号输出到运算处理电路322(步骤S342)。而且,在运算处理电路322中根据数据属性判断信号,判断是否转换该数据(步骤S343)。在判断的结果是转换时(步骤S343:是),根据数据属性判断信号转换该数据(步骤S344),并对转换后的数据执行运算处理(步骤S345)。将执行该运算处理得到的数据存储在寄存器文件310的数据字段312中(步骤S346)。When replacing the operation of the
另外,在为不转换时(步骤S343:否),不转换由运算指令译码信号确定的数据地直接执行运算处理。In addition, when it is not converted (step S343: No), the calculation process is directly performed without converting the data specified by the calculation instruction decode signal.
(3)关于存储指令执行时的动作,与实施方式1的动作(步骤S151~S153、S161~S165)相比,存在下述不同点(参照图8C、图15B)。(3) The operation when the store command is executed differs from the operation in Embodiment 1 (steps S151 to S153 , S161 to S165 ) in the following points (see FIG. 8C and FIG. 15B ).
当代替实施方式1的寄存器文件110的动作(步骤S161~S164),存储器写入控制电路330执行存储指令时,在数据属性判断电路331中根据与由存储器写入控制信号确定的数据相对应的标记值,判断该数据的属性(步骤S361),并将判断结果作为数据属性判断信号输出到数据转换电路332(步骤S362)。而且,在数据转换电路332中根据数据属性判断信号判断是否转换该数据(步骤S363)。在判断的结果是转换时(步骤S363:是),根据数据属性判断信号转换该数据(步骤S364),并将转换后的数据输出到存储器(步骤S365)。When the memory
另外,在为不转换时(步骤S363:否),不转换由存储器写入控制信号确定的数据地直接输出到存储器14。In addition, when it is not converted (step S363: NO), the data determined by the memory write control signal are output to the
根据如上所述的实施方式3的处理器300,在寄存器文件310中具备标记字段311和数据字段312,在运算器320中具备数据属性判断电路321和运算处理电路322,在存储器写入控制部330中具备数据属性判断电路331和数据转换电路332。According to the processor 300 of
由此,可在运算器320和存储器写入控制电路330各自的内部进行配置变更、代码扩展、零扩展等数据转换,来代替在存储器14和寄存器文件310之间进行,并可削减在存储器14和寄存器文件310之间产生的延迟。As a result, data conversion such as configuration change, code extension, and zero extension can be performed inside the
(实施方式4)(Embodiment 4)
下面,参照附图说明本发明的实施方式4。Next, Embodiment 4 of the present invention will be described with reference to the drawings.
实施方式4的处理器的特征在于,在运算器和存储器写入控制电路各自的内部进行配置变更、代码扩展、零扩展等数据转换,来代替在存储器和寄存存储器之间进行。The processor according to Embodiment 4 is characterized in that data conversion such as configuration change, code extension, and zero extension is performed inside each of the arithmetic unit and the memory write control circuit instead of between the memory and the register memory.
根据上述方面,说明实施方式4的处理器。Based on the above points, a processor according to Embodiment 4 will be described.
另外,对与实施方式3相同的构成要素附加相同的符号,并省略说明。In addition, the same reference numerals are attached to the same constituent elements as those in
图16是表示实施方式4的处理器的结构的图。FIG. 16 is a diagram showing the configuration of a processor according to Embodiment 4. FIG.
如图所示,处理器400与实施方式3的处理器300相比,存在下述(1)~(3)的不同点(参照图5。)。As shown in the figure, the
(1)具备指令译码电路401,来代替指令译码电路101。(1) An
指令译码电路401与指令译码电路101相比,不同之处在于:在执行运算指令时,不将运算指令译码信号输出到标记值生成电路402。Compared with the
(2)具备标记值生成电路402,来代替标记值生成电路102。(2) A flag
标记值生成电路402与标记值生成电路102相比,不同之处在于:不生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值。The flag
(3)具备运算器420,来代替运算器320。(3) A
运算器420与运算器320相比,不同之处在于:具备数据属性判断电路421和运算处理电路422,来代替数据属性判断电路321和运算处理电路322。Compared with the
数据属性判断电路421从寄存器文件410读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路422。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储到寄存器文件410。The data attribute judging
运算处理电路422从寄存器文件410读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件410中。The
另外,在为不转换时,不转换读出的数据地直接执行运算处理。In addition, in the case of no conversion, the read data is not converted and the arithmetic processing is directly executed.
接着,作为一实例,说明实施方式4的运算器的构成。Next, as an example, the configuration of the arithmetic unit according to Embodiment 4 will be described.
这里,以对从寄存器(Reg#0)读出的数据执行运算处理,并将执行运算处理得到的数据、即运算的结果存储在寄存器(Reg#1)中的情况为例进行说明。Here, a case where arithmetic processing is performed on data read from the register (Reg#0) and the data obtained by performing the arithmetic processing, that is, the calculation result is stored in the register (Reg#1) will be described as an example.
图17是表示作为一例、实施方式4的运算器的构成的图。FIG. 17 is a diagram showing a configuration of an arithmetic unit according to Embodiment 4 as an example.
如图所示,数据属性判断电路421从寄存器(Reg#0)的标记字段411读出标记值,并根据读出的标记值判断从寄存器(Reg#0)的数据字段412读出的数据的属性。而且,将判断结果作为属性判断信号输出到选择器444等。As shown in the figure, the data attribute judging
与此相对,排序部441对从寄存器(Reg#0)的数据字段412输出的数据实施排序处理,并将处理后的数据输出到零扩展部442和代码扩展部443。On the other hand, the
选择器444根据从数据属性判断电路421输出的数据属性判断信号,选择从寄存器(Reg#0)的数据字段412输出的数据、从零扩展部442输出的数据、从代码扩展部443输出的数据之一,并输出到加法器445。The
加法器445对从选择器444输出的数据执行加法处理,并将执行加法处理得到的数据、即运算结果存储在寄存器(Reg#1)的数据字段412中。The
并且,数据属性判断电路421生成关于在加法器445中执行加法处理得到的数据、即运算结果的标记值,并将生成的标记值存储在寄存器(Reg#1)的标记字段411中。Then, the data attribute
另外,零扩展部442和代码扩展部443的构成与实施方式3的零扩展部342和代码扩展部343相同,省略说明。In addition, the configurations of the zero
接着,说明实施方式4的动作。Next, the operation of Embodiment 4 will be described.
图18、图19是表示实施方式4的处理器的动作的图。18 and 19 are diagrams showing operations of the processor according to the fourth embodiment.
如图18、图19所示,处理器400与实施方式3的处理器300相比,存在下述(2)的不同点。As shown in FIGS. 18 and 19 , the
(1)关于加载指令执行时的动作,与实施方式3的动作(步骤S111~S114、S121~S122)相同,因此省略说明。(1) The operation when the load command is executed is the same as the operation (steps S111 to S114 , S121 to S122 ) in
(2)关于运算指令执行时的动作,与实施方式3的动作相比,存在下述的不同点(参照图7、图15A、图18、图19)。(2) The operation when the operation instruction is executed differs from the operation in the third embodiment in the following points (see FIG. 7 , FIG. 15A , FIG. 18 , and FIG. 19 ).
代替实施方式3的指令译码电路101的动作(步骤S131),指令译码电路401,在译码的指令是运算指令时,将运算指令译码信号输出到运算器420(步骤S431)。Instead of the operation of the
另外,代替实施方式3的标记值生成电路102的动作(步骤S135),运算器420在数据属性判断电路421中,将表示由运算指令译码信号存储在寄存器文件410中的数据的属性的标记值,与该数据相对应地存储在寄存器文件410的标记字段411中(步骤S441)。In addition, instead of the operation of the flag
(3)关于存储指令执行时的动作,与实施方式3的动作(步骤S151~S153、S361~S365)相同,因此省略说明。(3) The operation when the store command is executed is the same as the operation (steps S151 to S153 , S361 to S365 ) in
根据如上所述的实施方式4的处理器400,在寄存器文件410中具备标记字段411和数据字段412,在运算器420中具备数据属性判断电路421和运算处理电路422,在存储器写入控制部430中具备数据属性判断电路431和数据转换电路432。According to the
由此,可在运算器420和存储器写入控制电路330各自的内部执行配置变更、代码扩展、零扩展等数据转换,来代替在存储器14和寄存器文件410之间进行,可削减在存储器14和寄存器文件410之间产生的延迟。另外,由于将表示该数据的属性的标记值附加在执行运算处理得到的数据上,所以不必对执行运算处理的指令指定数据的属性,可实现指令数的削减、指令译码电路401的简化。As a result, data conversions such as configuration change, code extension, and zero extension can be performed inside the
(实施方式5)(Embodiment 5)
下面,参照附图说明本发明的实施方式5。Next, Embodiment 5 of the present invention will be described with reference to the drawings.
实施方式5的处理器的特征在于,跨多个寄存器存储大小比数据字段大的数据。并且,从跨多个寄存器存储的数据还原数据,并对还原后的数据执行运算处理。The processor according to Embodiment 5 is characterized in that data having a size larger than a data field is stored across a plurality of registers. And, data is restored from data stored across a plurality of registers, and arithmetic processing is performed on the restored data.
根据上述方面,说明实施方式5的处理器。Based on the above points, a processor according to Embodiment 5 will be described.
另外,对与实施方式3相同的构成要素附加相同符号,并省略说明。In addition, the same code|symbol is attached|subjected to the same component as
图20是表示实施方式5中的处理器的构成的图。FIG. 20 is a diagram showing the configuration of a processor in Embodiment 5. FIG.
如图所示,处理器500与实施方式3中的处理器300相同,存在下述(1)~(3)的不同点(参照图5。)。As shown in the figure, the
(1)具备寄存器文件510,来代替寄存器文件310。(1) A
寄存器文件510与寄存器文件310相比,不同之处在于:在存储大小比数据字段512大的数据时,跨多个寄存器存储该数据。
(2)具备运算器520,来代替运算器320。(2) A
运算器520与运算器320相比,不同之处在于:具备数据属性判断电路521和运算处理电路522,来代替数据属性判断电路321和运算处理电路322。Compared with the
数据属性判断电路521从寄存器文件510读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路522。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储在寄存器文件中。The data attribute judging
运算处理电路522从寄存器文件510读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据。对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件中。The
另外,在为不转换时,不转换读出的数据地直接执行运算处理。In addition, in the case of no conversion, the read data is not converted and the arithmetic processing is directly executed.
另外,运算处理电路522,在数据跨多个寄存器存储在寄存器中时,根据从这些寄存器读出的数据还原数据,并对还原后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据跨多个寄存器存储在寄存器文件510中。In addition, the
(3)具备存储器写入控制电路530,来代替存储器写入控制电路330。(3) A memory
存储器写入控制电路530与存储器写入控制电路330相比,不同之处在于:具备数据属性判断电路531和数据转换电路532,来代替数据属性判断电路331和数据转换电路332。Compared with the memory
数据属性判断电路531从寄存器文件510读出与由存储指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到数据转换电路530。并且,将根据存储指令译码信号和标记值的存储器写入控制信号输出到存储器。The data attribute judging
数据转换电路532从寄存器文件510读出由存储指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并将转换后的数据输出到存储器。The
另外,在为不转换时,不转换读出的数据地直接输出到存储器14。In addition, in the case of no conversion, the read data is directly output to the
另外,数据转换电路532,在数据跨多个寄存器存储在寄存器文件510中时,根据从这些寄存器读出的数据还原数据,并将还原后的数据输出到存储器14。In addition, the
接着,作为一实例,说明实施方式5中的运算器的构成。Next, the configuration of the arithmetic unit in Embodiment 5 will be described as an example.
这里,以对跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据执行加法处理,并将执行加法处理得到的数据、即相加的结果分割地存储在寄存器(Reg#2)和寄存器(Reg#3)中的情况为例来说明。Here, the addition processing is performed on the data stored across the register (Reg#0) and the register (Reg#1), and the data obtained by performing the addition processing, that is, the result of the addition is stored in the register (Reg#2) and register (Reg#2) and Take the situation in the register (Reg#3) as an example to illustrate.
图21是表示作为一实例、实施方式5的运算器的构成的图。FIG. 21 is a diagram showing a configuration of an arithmetic unit according to Embodiment 5 as an example.
如图所示,数据属性判断电路521从寄存器(Reg#0)的标记字段511读出标记值,并根据读出的标记值,判断与读出的标记值相对应的数据是否是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据。而且,将表示是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据这一情况的数据属性判断信号,输出到选择器541、加法器542、选择器543。As shown in the figure, the data attribute judging
与此相对,选择器541在从寄存器(Reg#0)的数据字段512输出的数据、和从寄存器(Reg#1)的数据字段512输出的数据中,选择从寄存器(Reg#1)的数据字段512输出的数据并输出到加法器542。In contrast, the
并且,加法器542使从寄存器(Reg#0)的数据字段512输出的数据为高位部分,使从选择器541输出的数据、即从寄存器(Reg#1)的数据字段512输出的数据为低位部分,并结合高位部分和低位部分,还原数据。而且,对还原后的数据执行加法处理,将执行加法处理得到的数据、即相加的结果分割为高位部分和低位部分,并分别输出到选择器543。另外,将低位部分存储在寄存器(Reg#3)的数据字段中。In addition, the
而且,选择器543在从加法器542输出的高位部分和低位部分中,选择高位部分并存储在寄存器(Reg#2)的数据字段512中。Further, the
接着,作为一实例,说明实施方式5的寄存器的数据结构。Next, the data structure of the register in Embodiment 5 will be described as an example.
图22是表示作为一实例、实施方式5的寄存器的数据结构的图。FIG. 22 is a diagram showing a data structure of a register in Embodiment 5 as an example.
如图所示,实施方式5的寄存器与实施方式1的寄存器存在下述(2)的不同点。As shown in the figure, the register according to Embodiment 5 differs from the register according to
(1)标记字段551的第0位至第3位的低位4位,与标记字段151的第0位至第3位的低位4位相同,因此省略说明。(1) The lower 4 bits from
(2)标记字段551的第4位至第5位的2位,与标记字段151的第4位至第5位的2位相比,(d)在为「11」时,在是64位这一点上不同。这时,数据字段的大小保持32位,分配多个寄存器的数据字段553。(2) The 2 bits from the 4th to the 5th bits of the
(3)标记字段551的第6位至第7位的2位,与标记字段151的第6位至第7位的2位相同,因此省略说明。(3) The 6th to 7th two bits of the
接着,说明实施方式5中的处理器的动作。Next, the operation of the processor in Embodiment 5 will be described.
图23~图25是表示实施方式5的处理器的动作的图。23 to 25 are diagrams showing operations of the processor according to the fifth embodiment.
如图23~图25所示,处理器500与实施方式3的处理器300相比,存在下述(1)~(3)的不同点。As shown in FIGS. 23 to 25 , the
(1)关于加载指令执行时的动作,与实施方式3的动作(步骤S111~S114、S121~S122)相比,存在下述不同点(参照图8A、图23。)。(1) The operation when the load command is executed differs from the operation in Embodiment 3 (steps S111 to S114 , S121 to S122 ) in the following points (see FIG. 8A and FIG. 23 ).
寄存器文件510,在由存储器读出控制信号确定的数据比数据字段的大小大时(步骤S521:否),跨多个寄存器存储该数据(步骤S522)。The
(2)关于运算指令执行时的动作,与实施方式3中的动作(步骤S131~S135、S341~S346)相比,存在下述的不同点(参照图15A、图24。)。(2) The operation when the operation instruction is executed differs from the operation in Embodiment 3 (steps S131 to S135 , S341 to S346 ) in the following points (see FIG. 15A and FIG. 24 ).
运算器520,在跨多个寄存器存储由运算指令译码信号确定的数据时(步骤S541:否),根据从这些寄存器读出的数据还原该数据(步骤S254),并对还原后的数据执行运算处理(步骤S543)。将执行运算处理得到的数据跨多个寄存器存储在寄存器文件510中(步骤S544)。The
(3)关于存储指令执行时的动作,实施方式3中的动作(步骤S151~S153、S361~S365)相比,存在下述的不同点(参照图15A、图25)。(3) The operation when the store command is executed differs from the operation (steps S151 to S153 , S361 to S365 ) in
存储器写入控制电路530,在跨多个寄存器存储由存储器写入控制信号确定的数据时(步骤561:否),根据从这些寄存器读出的数据还原数据(步骤S562),并将还原后的数据输出到存储器14(步骤S365)。The memory
根据如上所述的实施方式5的处理器,在寄存器文件510中具备标记字段511和数据字段512,在运算器520中具备数据属性判断电路521和运算处理电路522,在存储器写入控制部530中具备数据属性判断电路531和数据转换电路532。According to the processor according to Embodiment 5 as described above, the
由此,可容易地处理大小比数据字段512大的数据。Thus, data larger in size than the
(实施方式6)(Embodiment 6)
下面,参照附图说明本发明的实施方式6。Next, Embodiment 6 of the present invention will be described with reference to the drawings.
实施方式6的处理器的特征在于,跨多个寄存器存储大小比数据字段大的数据。并且,根据跨多个寄存器存储的数据还原数据,并对还原后的数据执行运算处理。The processor according to Embodiment 6 is characterized in that data having a size larger than a data field is stored across a plurality of registers. And, data is restored from data stored across a plurality of registers, and arithmetic processing is performed on the restored data.
根据上述方面,说明实施方式6中的处理器。Based on the above points, the processor in Embodiment 6 will be described.
另外,对与实施方式5相同的构成要素附加相同符号,并省略说明。In addition, the same code|symbol is attached|subjected to the same component as Embodiment 5, and description is abbreviate|omitted.
图26是表示实施方式6的处理器的构成的图。FIG. 26 is a diagram showing the configuration of a processor according to Embodiment 6. FIG.
如图所示,处理器600与实施方式5中的处理器500相比,存在下述(1)~(3)的不同点(参照图7。)。As shown in the figure, the
(1)具备指令译码电路601,来代替指令译码电路101。(1) An
指令译码电路601与指令译码电路101相比,不同之处在于:在执行运算指令时,不将运算指令译码信号输出到标记值生成电路602。Compared with the
(2)具备标记值生成电路602,来代替标记值生成电路102。(2) A flag
标记值生成电路602与标记值生成电路102相比,不同之处在于:不生成表示执行由运算指令译码信号确定的运算处理得到的数据属性的标记值。The flag
(3)具备运算器620,来代替运算器520。(3) A
运算器620与运算器520相比,不同之处在于:具备数据属性判断电路621和运算处理电路622,来代替数据属性判断电路521和运算处理电路522。Compared with the
数据属性判断电路621从寄存器文件610读出与由运算指令译码信号确定的数据相对应的标记值,并根据读出的标记值判断该数据的属性。而且,将判断结果作为数据属性判断信号输出到运算处理电路622。并且,生成表示执行由运算指令译码信号确定的运算处理得到的数据的属性的标记值,并将生成的标记值与执行运算处理得到的数据相对应地存储到寄存器文件610。The data attribute judging
运算处理电路622从寄存器文件610读出由运算指令译码信号确定的数据,并根据数据属性判断信号判断是否转换读出的数据。在判断的结果是转换时,根据数据属性判断信号转换读出的数据,并对转换后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据存储在寄存器文件610中。The
另外,在为不转换时,不转换读出的数据地直接执行运算处理。In addition, in the case of no conversion, the read data is not converted and the arithmetic processing is directly executed.
另外,运算处理电路622,在数据跨多个寄存器存储在寄存器文件610中时,根据从这些寄存器读出的数据还原数据,并对还原后的数据执行由运算指令译码信号确定的运算处理。而且,将执行运算处理得到的数据跨多个寄存器存储在寄存器文件610中。In addition, when data is stored in the
接着,作为一实例,说明实施方式6中的运算器的构成。Next, the configuration of the arithmetic unit in Embodiment 6 will be described as an example.
这里,以对跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据执行加法处理,并对执行加法处理得到的数据、即相加的结果进行分割,并存储在寄存器(Reg#2)和寄存器(Reg#3)中的情况为例来进行说明。Here, the addition process is performed on the data stored across the register (Reg#0) and the register (Reg#1), and the data obtained by performing the addition process, that is, the result of the addition is divided and stored in the register (Reg#2 ) and register (Reg#3) as an example to illustrate.
图27是表示作为一实例、实施方式6中的运算器的构成的图。FIG. 27 is a diagram showing a configuration of an arithmetic unit in Embodiment 6 as an example.
如图所示,数据属性判断电路621从寄存器(Reg#0)的标记字段611读出标记值,并根据读出的标记值判断与读出的标记值相对应的数据是否是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据。而且,将表示是跨寄存器(Reg#0)和寄存器(Reg#1)存储的数据这一情况的数据属性判断信号,输出到选择器641、加法器642、选择器643等。As shown in the figure, the data attribute judging
与此相对,选择器641在从寄存器(Reg#0)的数据字段612输出的数据、和从寄存器(Reg#1)的数据字段612输出的数据中,选择从寄存器(Reg#1)的数据字段612输出的数据,并输出到加法器642。In contrast, the
并且,加法器642使从寄存器(Reg#0)的数据字段612输出的数据为高位部分,使从选择器641输出的数据、即从寄存器(Reg#1)的数据字段612输出的数据为低位部分,并结合高位部分和低位部分,还原数据。而且,对还原后的数据执行加法处理,将执行加法处理得到的数据、即相加的结果分割为高位部分和低位部分,并分别输出到选择器643。另外,将低位部分存储在寄存器(Reg#3)的数据字段中。In addition, the
而且,选择器643在从加法器642输出的高位部分和低位部分中,选择高位部分并存储在寄存器(Reg#2)的数据字段612中。Further, the
并且,数据属性判断电路621生成关于在加法器642中相加的结果的标记值、即表示是跨寄存器(Reg#2)和寄存器(Reg#3)存储的数据这一情况的标记值,并将生成的标记值存储在寄存器(Reg#2)的标记字段611中。And, the data attribute judging
接着,说明实施方式6中的处理器600的动作。Next, the operation of the
图28、图29是表示实施方式6的处理器的动作的图。28 and 29 are diagrams showing operations of the processor according to the sixth embodiment.
如图28、图29所示,处理器600与实施方式5中的处理器相比,存在下述(2)的不同点。As shown in FIGS. 28 and 29 , the
(1)关于加载指令执行时的动作,与实施方式5的动作(步骤S111~S114、S121~S122、S521~S522)相同,因此省略说明。(1) The operation when the load command is executed is the same as the operation (steps S111 to S114 , S121 to S122 , S521 to S522 ) in Embodiment 5, and therefore description thereof will be omitted.
(2)关于运算指令执行时的动作,与实施方式5的动作(步骤S131~S135、S341~S346、S541~S544)相比,存在下述的不同点(参照图7、图24、图28、图29。)。(2) Regarding the operation when the operation command is executed, compared with the operation of Embodiment 5 (steps S131 to S135, S341 to S346, S541 to S544), there are the following differences (see FIG. 7, FIG. 24, and FIG. 28 , Figure 29.).
代替实施方式5的指令译码电路101的动作(步骤S131),指令译码电路601,在译码的指令是运算指令时,将运算指令译码信号输出到运算器620(步骤S631)。Instead of the operation of the
另外,代替实施方式5的标记值生成电路102的动作(步骤S135),运算器620,在数据属性判断电路621中将表示进行运算处理得到的数据的属性的标记值,与该数据相对应地存储在寄存器文件610的标记字段611中(步骤S641)。In addition, instead of the operation of the flag
(3)关于存储指令执行时的动作,与实施方式5的动作(步骤S151~S153、S361~S365、S561~S562)相同,因此省略说明。(3) The operation when the store command is executed is the same as the operation (steps S151 to S153 , S361 to S365 , and S561 to S562 ) in Embodiment 5, and therefore description thereof will be omitted.
根据如上所述的实施方式6的处理器600,在寄存器文件610中具备标记字段611和数据字段612,在运算器620中具备数据属性判断电路621和运算处理电路622,在存储器写入控制部530中具备数据属性判断电路531和数据转换电路532。According to the above-mentioned
由此,可容易地处理大小比数据字段大的数据。另外,由于在执行运算处理得到的数据上附加表示该数据的属性的标记值,所以不必对执行运算处理的指令指定数据的属性,可实现指令数的削减、指令译码电路的简化。Thus, data larger in size than the data field can be easily handled. In addition, since the data obtained by executing the arithmetic processing is added with a tag value indicating the attribute of the data, it is not necessary to specify the attribute of the data for the instruction executing the arithmetic processing, and the number of instructions can be reduced and the instruction decoding circuit can be simplified.
(其他)(other)
另外,标记值生成电路,在跨多个寄存器存储从存储器读出的数据时,也可生成包含该数据所跨越存储的寄存器的数量、即数据的分割数的标记值,并存储在标记字段中。In addition, when the tag value generation circuit stores data read from the memory across a plurality of registers, it may generate a tag value including the number of registers the data is stored across, that is, the number of divisions of the data, and store it in the tag field. .
另外,处理器也可通过全定制(full custom)LSI(Large Scale Integration)来实现。另外,也可通过如ASIC(Application Specific Integrated Circuit)等的半定制(semi-custom)LSI来实现。另外,也可通过如FPGA(Fild Programmable GateArray)、CPLD(Complex Programmable Logic Device)等的可编程逻辑器件来实现。另外,也可实现为电路结构可动态地改写的动态重构器件。In addition, the processor can also be realized by full custom (full custom) LSI (Large Scale Integration). In addition, it can also be realized by a semi-custom (semi-custom) LSI such as ASIC (Application Specific Integrated Circuit). In addition, it can also be realized by programmable logic devices such as FPGA (Fild Programmable Gate Array) and CPLD (Complex Programmable Logic Device). In addition, it can also be implemented as a dynamic reconfigurable device whose circuit structure can be dynamically rewritten.
并且,在这些LSI中形成构成处理器的1个至2个以上的功能的设计数据,也可是由如VHDL(Very high speed integrated circuit Hardware DesciptionLanguage)、Verilog-HDL、SystemC等的硬件记述语言记述的程序(下面称为HDL程序)。另外,也可为逻辑合成HDL程序得到的门级(gate level)的网表(netlist)。另外,也可为在门级的网表中附加了配置信息、处理条件等的宏单元(macrocell)信息。另外,也可为规定了大小、定时等的掩码(mask)数据。In addition, the design data forming one to two or more functions constituting the processor in these LSIs may be described in a hardware description language such as VHDL (Very high speed integrated circuit Hardware Description Language), Verilog-HDL, SystemC, etc. program (hereinafter referred to as HDL program). In addition, it may also be a gate-level netlist (netlist) obtained by logic synthesis of an HDL program. In addition, macrocell (macrocell) information to which configuration information, processing conditions, and the like are added to a gate-level netlist may be used. In addition, mask (mask) data defining size, timing, etc. may be used.
并且,设计数据也可预先记录在光学记录媒体(例如,CD-ROM等。)、磁记录媒体(例如,硬盘等。)、光磁记录媒体(例如,MO等。)、半导体存储器(例如,RAM等。)等那样的计算机可读取的记录媒体中,以便可由计算机系统、内部系统等硬件系统读出。而且,经记录媒体被其他硬件系统读取的设计数据,也可经下载电缆下载到可编程逻辑器件。And, the design data can also be pre-recorded on an optical recording medium (for example, CD-ROM, etc.), a magnetic recording medium (for example, a hard disk, etc.), a magneto-optical recording medium (for example, MO, etc.), a semiconductor memory (for example, RAM, etc.) etc. in a computer-readable recording medium so that it can be read by hardware systems such as computer systems and internal systems. Moreover, the design data read by other hardware systems via the recording medium can also be downloaded to the programmable logic device via the download cable.
或者,设计数据也可预先保持在传送路径上的硬件系统中,以便可经由网络等传送路径并由其他硬件系统取得。并且,从硬件系统经传送路径被其他硬件系统取得的设计数据,也可经下载电缆下载到可编程逻辑器件。Alternatively, design data may be held in advance in a hardware system on a transmission path so that it can be acquired by another hardware system via a transmission path such as a network. Moreover, the design data obtained from the hardware system by other hardware systems through the transmission path can also be downloaded to the programmable logic device through the download cable.
或者,逻辑合成、配置、布线的设计数据也可预先记录在串行ROM中,以便可在通电时传送到FPGA。而且,记录在串行ROM中的设计数据也可在通电时直接下载到FPGA。Alternatively, design data for logic synthesis, configuration, and routing can also be pre-recorded in serial ROM so that it can be transferred to the FPGA at power-on. Furthermore, the design data recorded in the serial ROM can also be directly downloaded to the FPGA at power-on.
产业上的可利用性Industrial availability
本发明可利用为处理数据的处理器等,尤其是执行需要进行高速、庞大的运算处理的声音、图像处理等媒体处理的处理器。The present invention can be used as a processor for processing data, especially a processor for performing media processing such as audio and image processing that requires high-speed and huge calculation processing.
Claims (14)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004304400 | 2004-10-19 | ||
| JP304400/2004 | 2004-10-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101044450A true CN101044450A (en) | 2007-09-26 |
Family
ID=36202771
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2005800358326A Pending CN101044450A (en) | 2004-10-19 | 2005-03-01 | Processor |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20070255928A1 (en) |
| JP (1) | JPWO2006043345A1 (en) |
| CN (1) | CN101044450A (en) |
| TW (1) | TW200614074A (en) |
| WO (1) | WO2006043345A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102622206A (en) * | 2011-01-28 | 2012-08-01 | 中兴通讯股份有限公司 | Processor and data processing method thereof |
| CN105453030A (en) * | 2013-06-28 | 2016-03-30 | 英特尔公司 | Processor, method and system for mode dependent partial width loads to wider registers |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2006134693A1 (en) * | 2005-06-15 | 2009-01-08 | 松下電器産業株式会社 | Processor |
| CN101346695A (en) * | 2005-12-27 | 2009-01-14 | 松下电器产业株式会社 | Processor with reconfigurable arithmetic units |
| WO2007083421A1 (en) * | 2006-01-20 | 2007-07-26 | Matsushita Electric Industrial Co., Ltd. | Processor |
| US20080270658A1 (en) * | 2007-04-27 | 2008-10-30 | Matsushita Electric Industrial Co., Ltd. | Processor system, bus controlling method, and semiconductor device |
| US20090157334A1 (en) * | 2007-12-14 | 2009-06-18 | Kenneth Joseph Goodnow | Measurement of power consumption within an integrated circuit |
| US7715995B2 (en) * | 2007-12-14 | 2010-05-11 | International Business Machines Corporation | Design structure for measurement of power consumption within an integrated circuit |
| JP5263498B2 (en) * | 2008-07-09 | 2013-08-14 | セイコーエプソン株式会社 | Signal processor and semiconductor device |
| JP5263497B2 (en) * | 2008-07-09 | 2013-08-14 | セイコーエプソン株式会社 | Signal processor and semiconductor device |
| CN102609378B (en) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | A kind of message type internal storage access device and access method thereof |
| WO2015089314A1 (en) * | 2013-12-11 | 2015-06-18 | Mill Computing, Inc. | Computer processor employing operand data with associated meta-data |
| US9600194B1 (en) * | 2015-11-25 | 2017-03-21 | International Business Machines Corporation | Integrating sign extensions for loads |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60134937A (en) * | 1983-12-23 | 1985-07-18 | Hitachi Ltd | address extender |
| JPS63216129A (en) * | 1987-03-04 | 1988-09-08 | Mitsubishi Electric Corp | Register constitution system |
| JPH0628034B2 (en) * | 1988-10-24 | 1994-04-13 | 工業技術院長 | Calculator with tag |
| JP3546980B2 (en) * | 1996-03-29 | 2004-07-28 | 松下電器産業株式会社 | Data processing device |
| US5978901A (en) * | 1997-08-21 | 1999-11-02 | Advanced Micro Devices, Inc. | Floating point and multimedia unit with data type reclassification capability |
| JP3123047B2 (en) * | 1998-10-02 | 2001-01-09 | 日本電気株式会社 | Microprocessor |
| JP3805578B2 (en) * | 1999-09-14 | 2006-08-02 | 松下電器産業株式会社 | Processor |
| JP4158496B2 (en) * | 2002-11-18 | 2008-10-01 | 松下電器産業株式会社 | Image processing device |
| JP2004280924A (en) * | 2003-03-14 | 2004-10-07 | Oki Electric Ind Co Ltd | Memory test circuit |
| EP1460519B1 (en) * | 2003-03-18 | 2014-05-07 | Panasonic Corporation | Processor, driving method thereof, and information processing device |
-
2005
- 2005-03-01 CN CNA2005800358326A patent/CN101044450A/en active Pending
- 2005-03-01 WO PCT/JP2005/003356 patent/WO2006043345A1/en not_active Ceased
- 2005-03-01 JP JP2006542233A patent/JPWO2006043345A1/en active Pending
- 2005-03-01 US US11/575,756 patent/US20070255928A1/en not_active Abandoned
- 2005-03-07 TW TW094106774A patent/TW200614074A/en unknown
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102622206A (en) * | 2011-01-28 | 2012-08-01 | 中兴通讯股份有限公司 | Processor and data processing method thereof |
| CN105453030A (en) * | 2013-06-28 | 2016-03-30 | 英特尔公司 | Processor, method and system for mode dependent partial width loads to wider registers |
| CN105453030B (en) * | 2013-06-28 | 2019-02-15 | 英特尔公司 | Processor, method and system for mode-dependent partial width loads to wider registers |
Also Published As
| Publication number | Publication date |
|---|---|
| US20070255928A1 (en) | 2007-11-01 |
| WO2006043345A1 (en) | 2006-04-27 |
| TW200614074A (en) | 2006-05-01 |
| JPWO2006043345A1 (en) | 2008-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1186714C (en) | High radix divider and method | |
| CN1097795C (en) | Document processing method and device and computer readable recording medium | |
| CN1875345A (en) | Extensible type system for representing and checking consistency of program components during the process of compilation | |
| CN1860441A (en) | Efficient high performance data operation element for use in a reconfigurable logic environment | |
| CN1469241A (en) | Processor, program conversion device and conversion method, and computer program | |
| CN1177482C (en) | Encoding method, decoding method, encoding device, and decoding device | |
| CN101044450A (en) | Processor | |
| CN1263042C (en) | Fetch circuit, reference circuit and semiconductor storage device | |
| CN101047390A (en) | Decoding device, control method, and program | |
| CN1453687A (en) | Communication apparatus and system, insert module control method and recording media | |
| CN1813252A (en) | Information processing method, information processing program, information processing device, and remote controller | |
| CN1977531A (en) | Program creation device, program test device, program execution device, information processing system | |
| CN1633749A (en) | Obtaining cyclic redundancy code | |
| CN101078994A (en) | Compiler apparatus, compiler method, and compiler program | |
| CN1106941A (en) | Method, system, equipment and multiplier for automatic design of logic circuit | |
| CN101040306A (en) | Pseudo-random number generator | |
| CN1296825C (en) | Simulator and simulation method | |
| CN1599445A (en) | Data processing method,data processing device | |
| CN1577266A (en) | Program converting method, program and storage medium | |
| CN1595807A (en) | Semiconductor integrated circuit in which voltage down converter output can be observed as digital value | |
| CN1529889A (en) | Associative memory system, network equipment and network system | |
| CN1492318A (en) | Microprocessors supporting reduced program code length | |
| CN1991798A (en) | semiconductor storage device | |
| CN1282920C (en) | A processor that decodes and executes instructions | |
| CN1776621A (en) | Program Transformation Method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |