CN102063287A - 一种处理器的指令执行结果存储结构 - Google Patents
一种处理器的指令执行结果存储结构 Download PDFInfo
- Publication number
- CN102063287A CN102063287A CN2011100018815A CN201110001881A CN102063287A CN 102063287 A CN102063287 A CN 102063287A CN 2011100018815 A CN2011100018815 A CN 2011100018815A CN 201110001881 A CN201110001881 A CN 201110001881A CN 102063287 A CN102063287 A CN 102063287A
- Authority
- CN
- China
- Prior art keywords
- instruction execution
- processor
- instruction
- execution result
- register
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 230000015654 memory Effects 0.000 claims abstract description 57
- 230000008520 organization Effects 0.000 claims description 27
- 238000009826 distribution Methods 0.000 claims description 21
- 238000013461 design Methods 0.000 claims description 12
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 241000218378 Magnolia Species 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
本发明提出一种处理器的指令执行结果存储结构,包括:处理器;和分别与所述处理器相连的通用寄存器堆和SPILL寄存器堆,其中,当所述处理器的指令执行结果的数据量大于所述通用寄存器堆的存储量时,将所述处理器的指令执行结果的一部分存入所述通用寄存器堆,将所述处理器的指令执行结果的另一部分存入所述SPILL寄存器堆。通过该处理器的指令执行结果存储结构能够有效地在寄存器溢出时减少访问内存的次数,降低能量的消耗,实现溢出数据的快速保存到SPILL寄存器堆中,极大的提高了处理器的执行效率。
Description
技术领域
本发明涉及数字处理设备,电子设备及处理系统,特别涉及一种处理器的指令执行结果存储结构。
背景技术
微处理器是一个集成在一片上的半导体集成电路,包括对一系列算术逻辑操作的控制和执行。为了提高处理器处理能力,高性能处理器普遍采用load-store结构。load-store结构在处理器核内设计若干寄存器堆,所有操作、计算的源和目的都是寄存器,处理器核内、外的数据交换由特定的指令如:load指令和store指令完成。主存的访问速度非常慢,过多的存储指令,会极大的影响程序的执行速度。
寄存器堆大小一方面要受到功耗和面积的制约,另一方面单个寄存器堆有设计上限,多端口大位宽的寄存器难以实现。作为存储层次金字塔最高的一层,寄存器有极快的访问速度和有限的容量,使得寄存器成为处理器当中珍贵的资源。寄存器的管理和分配由编译器完成,编译过程一般分为前端,中端,后端,对高级语言完成预处理,翻译,指令调度,指令优化,寄存器分配等工作后,翻译成机器可执行的机器码。寄存器分配一般在各种优化后执行,优化过程中一般假定有无限个虚拟寄存器可用,分配时如果发现实际寄存器数量小于虚拟寄存器个数时,出现寄存器溢出时(spill),便会在代码的合适位置插入存储指令,需要时再从主存中取出来。处理器的主存访问操作往往需要较多的CPU时间,如果出现大量的SPILL操作,一方面,存入主存和从主存中恢复到寄存器里,都需要较多的时间,因此限制了可进行SPILL操作的操作数的范围,也会影响处理器的性能。另一方面,对主存的访问相比寄存器堆之间的传输,所消耗的能量也更多。因此SPILL操作会极大影响程序的执行速度,增加功耗。
然而,有些处理器由于存在多个指令执行单元,如:Magnolia处理器,它是一款超长指令字(VLIW)处理器,而这些执行单元需要共用寄存器堆,所以导致寄存器溢出的情况更加严重。因此,为了减少在寄存器溢出时存储器的访问次数,如何提高处理器性能成了目前亟待解决的问题。
发明内容
本发明的目的旨在至少解决上述的技术缺陷之一。
为此,本发明的一个目的在于提出一种处理器的指令执行结果存储结构,该处理器的指令执行结果存储结构能够有效地在寄存器溢出时减少访问内存的次数,降低能量的消耗,实现溢出数据的快速保存,极大的提高了处理器的执行效率。
为达到上述目的,本发明提出了一种处理器的指令执行结果存储结构,包括:处理器;和分别与所述处理器相连的通用寄存器堆和SPILL寄存器堆,其中,当所述处理器的指令执行结果的数据量大于所述通用寄存器堆的存储量时,将所述处理器的所述指令执行结果的一部分存入所述通用寄存器堆,将所述处理器的所述指令执行结果的另一部分存入所述SPILL寄存器堆。
在本发明的一个实施例中,其中,优先在所述通用寄存器堆中存储所述指令执行结果,所述指令执行结果的超出部分存入所述SPILL寄存器堆。
在本发明的一个实施例中,其中,所述处理器自动检测所述指令执行结果的数据量是否大于所述通用寄存器堆的存储量。
在本发明的一个实施例中,当所述指令执行结果的数据量大于所述通用寄存器堆的存储量时,所述处理器判断是否预先加入SPILL寄存器堆设计选项;如果所述处理器判断预先加入SPILL寄存器堆设计选项,则所述处理器自动将主存访问指令替换成SPILL寄存器堆访问指令,所述SPILL寄存器堆访问指令控制所述处理器将所述指令执行结果的超出部分存储到所述SPILL寄存器堆中;和如果所述处理器判断没有预先加入SPILL寄存器堆设计选项,则所述处理器根据所述主存访问指令将所述指令执行结果的超出部分存储到主存中。
在本发明的一个实施例中,所述处理器进一步包括:指令获取模块,用于获取指令和产生所述指令的下一条指令的地址;指令分发模块,所述指令分发模块包括多个指令分发单元,所述指令分发单元用于接收所述指令获取模块的指令并进行分发;和执行单元,用于执行所述指令分发模块分发的指令以产生所述指令执行结果。
在本发明的一个实施例中,所述执行单元包括多个指令执行单元A、多个指令执行单元D、多个指令执行单元F和多个指令执行单元M,其中,所述指令执行单元A、所述指令执行单元D、所述指令执行单元F和所述指令执行单元M用于接收并执行所述指令分发模块分发的指令,以得到相应指令的所述指令执行结果。
在本发明的一个实施例中,所述通用寄存器堆用于优先存储所述指令执行单元A、所述指令执行单元D和所述指令执行单元M的所述指令执行结果,当所述指令执行单元D的执行结果的数据量大于所述通用寄存器堆的存储量时,所述SPILL寄存器堆用于存储所述指令执行单元D的执行结果的超出部分的所述指令执行结果。
在本发明的一个实施例中,所述处理器还包括浮点寄存器堆,所述浮点寄存器堆用于存储所述指令执行单元D和所述指令执行单元F的所述指令执行结果。
在本发明的一个实施例中,所述SPILL寄存器堆访问指令为32bit二进制代码,其中,所述32bit二进制代码的bit31-bit30为功能单元选择位、bit29-bit22为操作码、bit31-bit30为地址位、bit9-bit4为所述通用寄存器堆寻址位和bit3-bit0为跳转指示位。
在本发明的一个实施例中,所述通用寄存器堆为64位通用寄存器、所述浮点寄存器堆为128位浮点寄存器和所述SPILL寄存器堆为64位SPILL寄存器。
通过本发明提供的SPILL寄存器可以在寄存器溢出的情况下,使溢出的指令执行结果快速存放到SPILL寄存器中,减少了处理器访问内存的次数,不仅减少了能耗,而且节省了处理器处理时间。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的处理器的指令执行结果存储结构的结构图;
图2为本发明实施例的在Magnolia处理器上存储执行结果超出部分数据的示意图;以及
图3为本发明实施例的SPILL寄存器堆访问指令的结构图。
具体实施方式
下面详细描述本发明的全部实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明是针对指令执行结果在存储的寄存器发生溢出情况下的一种调配而提出的一种处理器的指令执行结果存储结构,该处理器的指令执行结果存储结构能够在寄存器发生溢出情况时,使指令执行结果不必通过主存访问指令的控制把数据存储到内存中,再在需要的时候把数据从内存中取出来放到寄存器中,一方面,数据存入主存和把数据从主存中取出来需要较多的时间。另一方面,访问主存相比访问寄存器要消耗更多的能量。因此,本发明实施例的处理器的指令执行结果存储结构能够在寄存器发生溢出情况时,编译器可以自动的把主存访问指令替换成本发明实施例的SPILL寄存器堆访问指令,从而直接通过SPILL寄存器堆访问指令控制溢出的数据存储到SPILL寄存器堆中,再在需要的时候把数据从SPILL寄存器堆中取出并提供给相应的寄存器,减少了访问内存的次数,而且在寄存器与寄存器之间的数据传输所消耗的时间短,能量消耗相对较低,从而提高了处理器的执行效率。
为了对本发明实施例的处理器的指令执行结果存储结构有更清楚的理解,以下参考附图详细描述根据本发明实施例的指令执行处理器结构的工作原理。
如图1所示,为本发明实施例的处理器的指令执行结果存储结构。该处理器的指令执行结果存储结构100包括处理器110,通用寄存器堆120和SPILL寄存器堆130,在本发明的实施例中,通用寄存器堆120和SPILL寄存器堆130都与处理器110相连,并且当该处理器110的指令执行结果的数据量大于该通用寄存器堆120的存储量时,将该处理器110的指令处理后的指令执行结果的一部分存入通用寄存器堆120中,并且处理器110将自动比较通用寄存器120的存储容量和执行结果的数据量,当判断通用寄存器120的存储容量小于执行结果的数据量时,处理器110将自动加载SPILL寄存器堆访问指令并执行,根据执行命令将指令执行结果的超出部分数据存入SPILL寄存器堆130中,而不是存入主存中,但是,当处理器110判断执行结果的超出部分数据量也大于SPILL寄存器堆130的存储量时,处理器110将自动加载主存访问指令并把通用寄存器120和SPILL寄存器130无法存入的数据暂时存储到主存中,当各个执行单元需要这些存储到主存中的数据时在调出来供处理器110使用。在本发明的具体实施例中,在处理器110的设计过程中已经预先加入SPILL寄存器选项,并且在该选项打开时适用于有SPILL寄存器堆130设计的处理器。如图1所示,该处理器的指令执行结果存储结构100能够自动检测通用寄存器堆120的使用情况,当发现通用寄存器堆120已经达到饱和状态后,处理器110自动完成把主存访问指令替换成SPILL寄存器堆访问指令,从而完成本发明实施例所要解决的对执行结果的超出部分数据不存入主存中,而存入适当的寄存器设备中(如:SPILL寄存器堆)。另外,如果该选项被关闭后,该处理器的指令执行结果存储结构100也能够把执行结果的超出部分存入到主存中,提高了该处理器的指令执行结果存储结构100的灵活性。
以上是对本发明实施例的处理器的指令执行结果存储结构的工作原理的介绍,以下就结合具体实施例的方式对本发明做进一步的描述。
实施例1】
以下就以在Magnolia处理器上如何存储执行结果超出部分数据为例,对本发明的实施例做详细描述。
在描述以在Magnolia处理器上如何存储执行结果超出部分数据之前,先对Magnolia处理器结构作简单介绍,Magnolia处理器是一款超长指令字(VLIW)处理器,由于有多个执行单元共用寄存器堆,寄存器溢出的情况更加严重。如图2所示,示出了本发明实施例的在Magnolia处理器上存储执行结果超出部分数据的示意图。该应用在Magnolia处理器上的SPILL寄存器堆存储结构200包括指令获取模块201(INSTRUNCTIONS FETCH)、指令分发模块202(INSTRUNCTIONS DISPATCH)、指令执行模块203(INSTRUNCTIONS EXECUTE)、64位通用寄存器204(GREGISTER)、128位浮点寄存器205(F REGISTER)和64位SPILL寄存器206(SPILLREGISTER)。其中,在本发明的实施例中,该应用在Magnolia处理器上的SPILL寄存器堆存储结构200拥有64个64位通用寄存器204(G REGISTER)、64个128位浮点寄存器205(F REGISTER)和64个64位SPILL寄存器206(SPILL REGISTER)。在本发明的一个具体实施例中,指令执行模块203包括指令执行单元A、指令执行单元M、(指令执行单元M在图中未示出)指令执行单元D和指令执行单元F,其中,指令执行单元A、指令执行单元M、指令执行单元D可以访问64位通用寄存器204,而指令执行单元D和指令执行单元F可以访问128位浮点寄存器205,并且通过指令执行单元D可以实现64位通用寄存器204和128位浮点寄存器205之间的数据传输。而SPILL寄存器206通过指令执行单元D完成64位通用寄存器204和128位浮点寄存器205之间的数据传输。具体地,在本发明的具体实施例中,指令获取模块201包括多个指令获取单元,每个指令获取单元判断本单元是否存在指令,如果没有指令,那么发出命令获取指令信息,从而能够为指令分发模块202源源不断的提供指令。而指令分发模块202同样包括多个指令分发单元,指令分发单元判断本单元是否有需要分发的指令,如果存在指令,通过控制程序把当前的指令分发给指令执行模块203中的相应指令执行单元。如果不存在指令,那么接收指令获取模块201获取的指令信息后,再通过控制程序把当前的指令分发给相应的指令执行单元;指令执行模块303包括多个指令执行单元A、多个指令执行单元D、多个指令执行单元F和多个指令执行单元M,所有指令执行单元用于接收指令分发模块202分发的指令信息并分别在各自的指令执行单元中进行执行处理,并把相应的指令执行结果储存到相应的位置。在本发明的一个实施例中,指令执行单元A和指令执行单元D的执行结果优先存储到64位通用寄存器204中,当然,指令执行单元D的执行结果还可以存储到128位浮点寄存器205中,而指令执行单元F的执行结果只能存储到128位浮点寄存器205中。
但是,由于指令执行结果的数量往往多于寄存器能够储存的执行结果的数量,导致剩余的执行结果需要提供专用的寄存单元,在本发明的优选实施例中,该存储剩余执行结果的寄存单元为SPILL寄存器206,当指令执行单元D的执行结果数量多于64位通用寄存器204和128位浮点寄存器205的存储数量时,Magnolia指令执行处理器结构200通过预先加入的SPILL寄存器选项,并且确保改选项处于打开状态,此时,Magnolia处理器结构200判断出发生溢出现象时,立即加载并执行SPILL寄存器堆访问指令控制SPILL寄存器206存储执行结果的超出部分数据,换句话说,当分配执行结果时发现实际寄存器数量小于执行结果的数量,便会出现寄存器溢出的情况,此时,Magnolia处理器结构200可以自动把主存访问指令替换成SPILL寄存器堆访问指令,从而执行SPILL寄存器堆访问指令控制SPILL寄存器206存储剩余的执行单元D的执行结果,从而保证了剩余的执行结果不必存储到内存中,而直接寄存到SPILL寄存器206中,这样避免了与主存进行数据传输,提高了访问效率。
当指令分发模块202分发指令完成之后,需要对指令进行调度和分配寄存器。而寄存器分配方法采用图染色算法,首先计算每个操作数的生存期,并为该操作数分配寄存器。由于处理器中的寄存器数目是有限的,当指令并行度较高,或者程序较复杂时,会出现寄存器数目不够用的情况。此时,处理器将这些寄存器中的数值暂时存放到主存中,使得这些寄存器能够存放其它操作数。当需要用到存放到主存中的操作数时,再从主存中将这些值恢复到原本存放的寄存器中。
而通过本发明提出的指令执行处理器结构,当出现寄存器数目不够用的情况后,编译器将这些执行结果数据暂时存放到SPILL寄存器206中,当需要用到存放在SPILL寄存器206中的执行结果数据时,再从SPILL寄存器206中将这些数据传送到相应的通用寄存器204中。在本发明的具体实施例中,通过把溢出数据存储到SPILL寄存器中,减小了与主存的交互,有助于数据的存储,更加方便数据的调度。需要说明的是,该指令执行处理器结构100在设计上需要支持SPILL寄存器访问的应用,在编译的过程中,加入SPILL寄存器选项,该处理器可以自动检测寄存器使用情况。在出现寄存器溢出时,处理器自动把主存访问指令替换成SPILL寄存器堆访问指令,从而控制溢出的执行结果存储到SPILL寄存器206中。在关闭掉SPILL寄存器选项后,处理器把溢出执行结果存储到内存中,正常编译。但是本领域的技术人员指导,本发明适用于有SPILL寄存器设计的所有处理器结构,只要处理器支持SPILL寄存器选项,并不局限于本发明具体实施例提出的指令执行处理器结构,但是,无论应用于任何其他支持SPILL寄存器选项的处理器结构,只要是基于本发明实施例思想的把溢出数据存储到寄存器中任何等同变化都应列为本发明的保护范围之内。
更为具体地,在本发明的一个实施例中,该应用在Magnolia处理器上的SPILL寄存器堆存储结构200的指令执行模块203的指令执行单元A、指令执行单元D、指令执行单元F和指令执行单元M与相应的64位通用寄存器204、128位浮点寄存器205和64位SPILL寄存器206之间进行双向数据传输。SPILL寄存器206存储的相应执行结果通过执行单元D完成64位通用寄存204器与128位浮点寄存器205之间的数据传输。首先,执行单元D根据SPILL寄存器访问指令把剩余执行结果临时存储到64位SPILL寄存器206中,而执行单元D同时能够与64位通用寄存器204和128位浮点寄存器205之间进行双向数据传输,因此,当64位通用寄存器204和128位浮点寄存器205需要数据传输时,可以把存储在64位SPILL寄存器206中的数据通过执行单元D获得相应的数据,同样能够通过执行单元D使64位通用寄存器204和128位浮点寄存器205两者之间传输数据。
如图3所示,为本发明实施例的SPILL寄存器堆访问指令的结构图。在本发明的优选实施例中,该SPILL寄存器堆访问指令由32位二进制代码组成,其中,bit31~30(01)为功能单元选择位、bit29~22(op、op_1、op_2)为操作码、bit21~10(rs)为SPILL寄存器地址位、bit9~4(rd)为通用寄存器寻址位和bit3~0(PRI)为跳转指示位。当然,本领域的技术人员知道,该SPILL寄存器堆访问指令只是为了更加清楚地描述本发明实施例,而在实际应用过程中,SPILL寄存器堆访问指令并不局限于本发明实施例的SPILL寄存器堆访问指令的设计方式,其中对SPILL寄存器访问指令各位的规定可以根据需要改变,而SPILL寄存器堆访问指令的位数根据不同处理器结构可以增加或者减少,但是,这些基于本发明思想的对SPILL寄存器堆访问指令的形式作何改变、修改、或等同变化都应列为本发明的保护范围之内。
通过本发明实施例提出的处理器的指令执行结果存储结构,通过提供专用的SPILL寄存器堆,当寄存器不够用时,不需要将寄存器中的值保存到主存中,而只需要通过特定功能单元将寄存器中的值的移放到SPILL寄存器堆中,在需要用到时,再取回。由于通用寄存器堆和SPILL寄存器堆之间的数据传输速度远远高于寄存器和主存之间的数据传输速度,使得处理器的性能得到进一步提高,所消耗的能量也更少,从而提高了处理器的执行效率,并且本发明能够在SPILL寄存器堆的存储量也不够用的情况下,能够灵活的将超出的数据再次以普通方式存入主存中,防止了数据的丢失且增加了处理器的灵活性。另外,本发明易于实现,操作简单。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (10)
1.一种处理器的指令执行结果存储结构,其特征在于,包括:
处理器;和
分别与所述处理器相连的通用寄存器堆和SPILL寄存器堆,其中,当所述处理器的指令执行结果的数据量大于所述通用寄存器堆的存储量时,将所述处理器的所述指令执行结果的一部分存入所述通用寄存器堆,将所述处理器的所述指令执行结果的另一部分存入所述SPILL寄存器堆。
2.如权利要求1所述的处理器的指令执行结果存储结构,其特征在于,其中,优先在所述通用寄存器堆中存储所述指令执行结果,所述指令执行结果的超出部分存入所述SPILL寄存器堆。
3.如权利要求2所述的处理器的指令执行结果存储结构,其特征在于,其中,所述处理器自动检测所述指令执行结果的数据量是否大于所述通用寄存器堆的存储量。
4.如权利要求3所述的处理器的指令执行结果存储结构,其特征在于,当所述指令执行结果的数据量大于所述通用寄存器堆的存储量时,所述处理器判断是否预先加入SPILL寄存器堆设计选项;
如果所述处理器判断预先加入SPILL寄存器堆设计选项,则所述处理器自动将主存访问指令替换成SPILL寄存器堆访问指令,所述SPILL寄存器堆访问指令控制所述处理器将所述指令执行结果的超出部分存储到所述SPILL寄存器堆中;和
如果所述处理器判断没有预先加入SPILL寄存器堆设计选项,则所述处理器根据所述主存访问指令将所述指令执行结果的超出部分存储到主存中。
5.如权利要求2所述的处理器的指令执行结果存储结构,其特征在于,所述处理器进一步包括:
指令获取模块,用于获取指令和产生所述指令的下一条指令的地址;
指令分发模块,所述指令分发模块包括多个指令分发单元,所述指令分发单元用于接收所述指令获取模块的指令并进行分发;和
执行单元,用于执行所述指令分发模块分发的指令以产生所述指令执行结果。
6.如权利要求5所述的处理器的指令执行结果存储结构,其特征在于,所述执行单元包括多个指令执行单元A、多个指令执行单元D、多个指令执行单元F和多个指令执行单元M,其中,所述指令执行单元A、所述指令执行单元D、所述指令执行单元F和所述指令执行单元M用于接收并执行所述指令分发模块分发的指令,以得到相应指令的所述指令执行结果。
7.如权利要求5所述的处理器的指令执行结果存储结构,其特征在于,所述通用寄存器堆用于优先存储所述指令执行单元A、所述指令执行单元D和所述指令执行单元M的所述指令执行结果,当所述指令执行单元D的执行结果的数据量大于所述通用寄存器堆的存储量时,所述SPILL寄存器堆用于存储所述指令执行单元D的执行结果的超出部分的所述指令执行结果。
8.如权利要求5所述的处理器的指令执行结果存储结构,其特征在于,所述处理器还包括浮点寄存器堆,所述浮点寄存器堆用于存储所述指令执行单元D和所述指令执行单元F的所述指令执行结果。
9.如权利要求4所述的处理器的指令执行结果存储结构,其特征在于,所述SPILL寄存器堆访问指令为32bit二进制代码,其中,所述32bit二进制代码的bit31-bit30为功能单元选择位、bit29-bit22为操作码、bit31-bit30为地址位、bit9-bit4为所述通用寄存器堆寻址位和bit3-bit0为跳转指示位。
10.如权利要求8所述的处理器的指令执行结果存储结构,其特征在于,所述通用寄存器堆为64位通用寄存器、所述浮点寄存器堆为128位浮点寄存器和所述SPILL寄存器堆为64位SPILL寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100018815A CN102063287A (zh) | 2011-01-06 | 2011-01-06 | 一种处理器的指令执行结果存储结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100018815A CN102063287A (zh) | 2011-01-06 | 2011-01-06 | 一种处理器的指令执行结果存储结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102063287A true CN102063287A (zh) | 2011-05-18 |
Family
ID=43998578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100018815A Pending CN102063287A (zh) | 2011-01-06 | 2011-01-06 | 一种处理器的指令执行结果存储结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063287A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231103A (zh) * | 2011-06-10 | 2011-11-02 | 清华大学 | 一种交替访问寄存器的装置及其方法 |
CN102381036A (zh) * | 2011-08-01 | 2012-03-21 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
CN111783969A (zh) * | 2020-06-30 | 2020-10-16 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030161172A1 (en) * | 2002-02-28 | 2003-08-28 | Jan Civlin | Register stack in cache memory |
CN101470600A (zh) * | 2007-12-27 | 2009-07-01 | 华为技术有限公司 | 一种超长指令字处理的方法和装置 |
CN101751244A (zh) * | 2010-01-04 | 2010-06-23 | 清华大学 | 微处理器 |
-
2011
- 2011-01-06 CN CN2011100018815A patent/CN102063287A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030161172A1 (en) * | 2002-02-28 | 2003-08-28 | Jan Civlin | Register stack in cache memory |
CN101470600A (zh) * | 2007-12-27 | 2009-07-01 | 华为技术有限公司 | 一种超长指令字处理的方法和装置 |
CN101751244A (zh) * | 2010-01-04 | 2010-06-23 | 清华大学 | 微处理器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231103A (zh) * | 2011-06-10 | 2011-11-02 | 清华大学 | 一种交替访问寄存器的装置及其方法 |
CN102381036A (zh) * | 2011-08-01 | 2012-03-21 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
CN102381036B (zh) * | 2011-08-01 | 2014-04-16 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
CN111783969A (zh) * | 2020-06-30 | 2020-10-16 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100557570C (zh) | 多处理器系统 | |
CN105659208B (zh) | 处理多个线程的数据处理装置及方法 | |
CN102934084B (zh) | 用于通过将第一核类型与第二核类型耦合来提高功率性能的装置、方法和系统 | |
US10430190B2 (en) | Systems and methods for selectively controlling multithreaded execution of executable code segments | |
CN102782672B (zh) | 用于高效嵌入式同类多核平台的基于瓦片的处理器架构模型 | |
CN102004719B (zh) | 支持同时多线程的超长指令字处理器结构 | |
CN102981807B (zh) | 一种基于cuda并行环境的gpu程序优化方法 | |
CN105867883A (zh) | 用于异构多核心系统的动态核心选择 | |
CN101366004A (zh) | 用于带有专用线程管理的多核处理的方法和设备 | |
GB2471067A (en) | Shared resource multi-thread array processor with heterogeneous function blocks | |
CN104424158A (zh) | 基于通用单元的高性能处理器系统和方法 | |
CN103809936A (zh) | 编译或运行时执行分叉-合并数据并行程序的系统和方法 | |
CN103513964A (zh) | 循环缓冲器打包 | |
CN102023844A (zh) | 并行处理器及其线程处理方法 | |
US9747216B2 (en) | Computer processor employing byte-addressable dedicated memory for operand storage | |
CN102708009A (zh) | 一种基于cuda实现多任务共享gpu的方法 | |
EP1760580B1 (en) | Processing operation information transfer control system and method | |
Marwedel et al. | Fast, predictable and low energy memory references through architecture-aware compilation | |
CN102063287A (zh) | 一种处理器的指令执行结果存储结构 | |
Han et al. | Compiling control-intensive loops for CGRAs with state-based full predication | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN102880449A (zh) | 一种超长指令字结构下延迟槽调度方法及其系统 | |
CN101341471B (zh) | 动态高速缓存管理的设备和方法 | |
US20160092182A1 (en) | Methods and systems for optimizing execution of a program in a parallel processing environment | |
CN103019657B (zh) | 支持数据预取与重用的可重构系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110518 |
|
RJ01 | Rejection of invention patent application after publication |