处理单元制造技术

技术编号:2911890 阅读:279 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及处理单元。该处理单元具有扩展寄存器,能够向所述扩展寄存器设定指示指令的扩展的指令扩展信息。在向所述扩展寄存器设定所述指令扩展信息时,操作单元执行将所述指令扩展信息写入所述扩展寄存器的第一个指令之后的后续指令,并基于所述指令扩展信息来扩展所述后续指令。

【技术实现步骤摘要】

本专利技术的一个方面涉及处理单元
技术介绍
在处理浮点运算的数值计算程序中,增加处理单元内部的寄存器的数量使得能够通过编译器实现诸如循环展开和软件流水等的优化,从而能够改善性能。另一方面,在例如RISC指令集架构或者SPARC架构的处理单元中,例如设置了将指令长度固定为32位的限制,并且还以单个指令指示单个处理,使得一个指令所包含的信息受限。鉴于这样的限制,已经提出了各种新指令和增加寄存器数量的建议。根据专利文献1和专利文献2,指定寄存器的寄存器指定信息分为两部分。之后,将该两部分布置在分开的指令码的基础单元上,并且使一个指令码可被省略。如果省略了可省略的指令码,则通过隐含地假设预定寄存器指定信息来进行寄存器选择操作。根据专利文献3和专利文献4,通过合并存储器与寄存器之间的传送指令和寄存器之间的操作指令的多个指令代码,使得在保持与现有CPU的兼容性的同时,能够指示存储器中的数据操作。另外,根据专利文献5和专利文献6,用户能够增加命令,使得能够容易地重新设计处理器。【专利文献1】日本特开2001-202243【专利文献2】日本特开2006-313561【专利文献3】日本特开2005-353105【专利文献4】日本特开2006-284962【专利文献5】日本特开2003-518280-->【专利文献6】日本特开2007-250010假设指令具有32位的操作码长度。对于示出正执行处理的指令的逻辑地址和将要执行的下一指令的逻辑地址NPC(下一程序计数器)的PC(程序计数器)来说,只要PC所指向的指令不是分支指令或陷阱(trap)指令,就指定了诸如NPC=PC+4的逻辑规范。因此,如果将一个指令的长度扩展到64位,则无法操作现有软件。鉴于这种限制,在浮点乘积之和运算中,必须要指定总共四个寄存器,其中三个源寄存器和一个目标寄存器,当指定了8位寄存器地址时,将需要4×8位=32位。这意味着将32位指令中的32位用于指定寄存器,因而根本不能够保存乘积之和运算的指令类型的操作码的信息。因此,实践中不能定义具有8位寄存器地址的32位指令。作为在32位长度的限制下的操作多个寄存器的常规方式,已知一种采用了寄存器窗口系统的指令集架构。以SPARC架构为例,由单独的指令来设定被称为CWP(当前窗口指针)的指针,并且后续指令引用CWP所指向的窗口中的寄存器,例如,窗口中能够由一个操作码指示的32个5位寄存器。之后,将一个寄存器窗口分配给包含了多个指令的一个子例程。当引用或更新其它窗口时,改变CWP并随后执行指令。在该系统中,一个指令仅能够进行32个寄存器中的处理。因此,不能进行同时使用32个以上的寄存器的处理,并且不能实现通过编译器的诸如软件流水和循环展开等的优化,因而不能够用于性能的改善。通过编译器的优化,在性能改善后能够实现同时利用例如100或200个寄存器的任选寄存器数据输入的一条处理。也就是说,由于在常规的RISC指令集架构中的操作码长度的限制,在一条处理中操作的寄存器的数量不能超过特定数量,因此不能期望浮点程序的性能改善,这已经成为了一个主要问题。通过一个指令来执行多个处理的被称为SIMD(单指令多数据)类型的指令作为浮点指令是有效的。然而,如果在处理单元中重新增添加法、乘法、乘积之和运算、除-->法、以及平方根运算,则必须分配与附加指令一样多的指令操作码。为此,会分配许多对于现有加法、乘法、以及乘积之和运算来说没有用处的空操作码。因此,在其中未初始地假设SIMD指令而是分配操作码的指令集中,可能没有空字段,并且即便有空字段,也会将SIMD指令分配给碰巧为空的操作码,因此,很难按照良序方式将SIMD指令逻辑地分配给操作码。近年来的高性能处理器在处理器芯片中或靠近处理器的地方具有高速缓冲存储器。这是因为存储器的处理速度与处理器的处理速度之间的差异已变得非常大,并且存储器中的数据可被控制为寄存在高速缓冲存储器中,从而能够在高速缓冲存储器上进行针对读和写的高速存取。高速缓冲存储器具有组相联结构并且高速缓存的寄存/释放通常按照LRU(最近最少使用)来控制,因此,可通过硬件来任意地从高速缓存中释放寄存的数据。在此情况下,当寄存了将不会重新使用的数据时,即使根据寄存器的情况存在将不会重新使用的数据时,也会释放可能重新使用的数据,因此造成了性能下降。关于上面描述的由SIMD指令进行的通过一个指令来操作多条数据的处理,例如,通常通过使数据宽度加倍(即,使一个寄存器的位数加倍,成为128位)来实现通过SIMD指令对两条双倍精度浮点数据进行操作的处理。然而,并不是所有的程序都能够执行SIMD指令,而且在这种情况下,浪费了扩展的数据宽度的资源。此外,不能分开地操作128位中的前半部分数据和后半部分数据,由此给软件程序附加了限制。
技术实现思路
根据本专利技术的一个方面,提供了一种处理单元及其扩展指令的方法,该处理单元通过定义新的扩展专用指令,在即使操作代码具有固定长度的情况下,也能够扩展指令。另外,根据本专利技术的一个方面,提供了一种处理单元及其指令的扩展方法,该处理单元能够通过将现有指令与一个扩展指令合并,并且从扩展寄存器选择一个操作的输入数据来进行处理。-->另外,根据本专利技术的一个方面,提供了一种处理单元及其指令的扩展方法,该处理单元通过定义新增的扩展专用指令并且将该新指令与常规指令集中定义的加法、乘法、乘积之和运算等进行合并从而能够定义诸如加法、乘法、和/或乘积之和运算的SIMD指令处理的指令。另外,根据本专利技术的一个方面,提供了一种处理单元,该处理单元在通过加载指令、存储指令以及预取指令等以高速缓存来寄存数据时,能够针对每个指令来指示将进行寄存的高速缓存路组(cache way)的属性,例如,来自软件的路组号码等。另外,根据本专利技术的一个方面,提供了一种处理单元及其指令的扩展方法,该处理单元在不使用SIMD指令的程序中能够高效地将所有寄存器作为不同的地址来使用,并且即使在使用SIMD指令的程序中也能够在寄存器中独立地操作前半部分数据和后半部分数据,从而提高了程序设计的实用性。根据本专利技术的一个方面,提供了一种处理单元,所述处理单元具有扩展寄存器,能够针对该扩展寄存器设定指示指令的扩展的指令扩展信息;和操作单元,当向该扩展寄存器设定了指令扩展信息时,所述操作单元通过基于指令扩展信息对用于将指令扩展信息写入扩展寄存器的第一个指令之后的后续指令进行扩展,来执行该后续指令。本专利技术的附加方面和优点将在下面的描述中被部分地阐述,并且可部分地通过参考构成本说明的一部分的附图而从所述说明中显而易见,或可通过本专利技术的实践而习得,在所述附图中通篇采用相同的参考标记来指示相同的部分。本专利技术的各方面和优点将通过所附权利要求中具体指出的部件和组合来实现并获得。应当理解,上述一般描述和下面的详细描述仅是示例性和说明性的,并且并非对所要求的本专利技术的限制。附图说明图1是示出了本专利技术的实施方式的处理单元的图;图2是示出了所述处理单元的浮点寄存器的结构的图;-->图3是示出了所述处理单元的定点寄存器的结构的图;图4是示出了XAR寄存器的结构的图;图5是例示了通过XAR寄存器进行的指令扩展的图;图6是示出了其中在向该XAR寄存器设置了数据后,执行双倍精度浮点加载指令作为本文档来自技高网
...

【技术保护点】
一种处理单元,该处理单元包括: 扩展寄存器,能够向所述扩展寄存器设定对指令的扩展进行表示的指令扩展信息;和 操作单元,在通过扩展指令向所述扩展寄存器设定指令扩展信息时,所述操作单元执行在将所述指令扩展信息写入所述扩展寄存器中的扩 展指令之后的后续指令,并且基于设定在所述扩展寄存器中的所述指令扩展信息来扩展所述后续指令。

【技术特征摘要】
JP 2007-12-28 2007-3413871、一种处理单元,该处理单元包括:扩展寄存器,能够向所述扩展寄存器设定对指令的扩展进行表示的指令扩展信息;和操作单元,在通过扩展指令向所述扩展寄存器设定指令扩展信息时,所述操作单元执行在将所述指令扩展信息写入所述扩展寄存器中的扩展指令之后的后续指令,并且基于设定在所述扩展寄存器中的所述指令扩展信息来扩展所述后续指令。2、根据权利要求1所述的处理单元,其中,所述扩展寄存器存储表示设定的所述指令扩展信息是否有效的信息,并且在向所述扩展寄存器设定了表示所述指令扩展信息有效的信息时,所述操作单元基于设定在所述扩展寄存器中的所述指令扩展信息来扩展所述后续指令。3、根据权利要求1所述的处理单元,其中,在提交了所述扩展的后续指令的情况下,使设定到所述扩展寄存器的所述指令扩展信息无效。4、根据权利要求1所述的处理单元,其中,针对多条指令,将所述指令扩展信息设定到所述扩展寄存器。5、根据权利要求4所述的处理单元,其中,每次扩展所述后续指令并在执行后提交该后续指令时,使所述多个指令扩展信息中的与被执行的指令相对应的指令扩展信息无效。6、根据权利要求1所述的处理单元,该处理单元还包括:陷阱寄存器,其在第一个指令的执行和要扩展的所述后续指令的执行之间出现陷阱时,存储设定到所述扩展寄存器的指令扩展信息。7、根据权利要求6所述的处理单元,其中,在出现所述陷阱和开始陷阱处理时,使所述扩展寄存器中的所述指令扩展信息无效。8、根据权利要求1所述的处理单元,其中,所述指令扩展信息包括寄存器地址和通过所述指令扩展信息扩展的指令。9、根据权利要求1所述的处理单元,其中,所...

【专利技术属性】
技术研发人员:本藤干雄吉田利雄
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1