旋转然后运算所选位的工具及其指令制造技术

技术编号:4891457 阅读:206 留言:0更新日期:2012-04-11 18:40
在操作计算机的方法中,取出并执行具有T位的旋转然后运算指令,其中,将第一寄存器中的第一操作数旋转一定量,并对旋转后第一操作数的所选部分和第二寄存器的第二操作数进行布尔运算。如果T位是‘0’,将布尔运算结果的所选部分插入第二寄存器的第二操作数的相应位中。如果T位是‘1’,除了插入的位之外,不同于经旋转的第一操作数的所选部分的其它位被保存在第二寄存器中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机系统,尤其涉及计算机系统处理器指令功能。
技术介绍
f示 IBM ^HI^lSiffll/l^l^B] (International Business Machines Corporation, Armonk, New York, U. S. A.)的注册商标。S/390、Z900 和 z990 以及其它产品 名称可能是国际商用机器公司或其它公司的注册商标或产品名称。从20世纪60年代的称为IBM 系统360的机器开始直到现在,IBM已经开 发出一种特殊体系结构,由于其对计算系统的本质特性,该特殊体系结构被称为“大型机 (mainframe)”,其操作原理通过描述可以根据已经由IBM专利技术人员专利技术的指令的“大型 机”实现执行的,并由于它们对改善“大型机”所代表的计算机器的状态的重要贡献,可以 通过包括在如多年来所述的IBM的Principles of Operation (操作原理)中,作为重要 贡献采用的指令,阐述了机器的体系结构。2007年4月发布的IBM z/Architecture Principles of Operation的第六版作为SA22-7832-05已经成为标准发布参考文献,并且 已并入IBM的z9 大型机服务器中。这里通过引用全部并入发布序号为SA22-7832-05的 IBM Z/Architecture (§)Principles of Operation。参照图1A,其中描绘了现有技术主计算机系统迎的代表性部件。在计算机系统中 也可以应用部件的其它安排,它们在本领域是众所周知的。代表性主计算机迎包括与主存 (计算机存储器2)通信的一个或多个CPU 1,以及与存储设备11和与其它计算机或SAN等 通信的网络10的1/0接口。CPU 1遵从具有结构化指令集和结构化功能的体系结构。CPU 1可以具有将程序地址(虚地址)变换成存储器的实地址的动态地址转换器(DAT) 3。DAT 通常包括用于高速缓存这些转换、使得以后对计算机存储器2的块的访问不要求延迟地址 转换的转换旁视缓冲器(Translation Lookaside Buffer,TLB) 7。通常,将高速缓冲存储器 9应用在计算机存储器2与处理器1之间。高速缓冲存储器9可以是分等级的,具有可用于 多于一个CPU的大的高速缓冲存储器、和在大的高速缓冲存储器与每个CPU之间的更小更 快的(低级)高速缓冲存储器。在一些实现方式中,低级高速缓冲存储器被分割以便提供 独立的低级高速缓冲存储器来用于指令取出和数据访问。在一个实施例中,由指令取出单 元4经由高速缓冲存储器9从存储器2中取出指令。在指令解码单元6中将指令解码,并 调度(在一些实施例中,与其它指令一起)给指令执行单元8。通常,采用几个执行单元8, 例如算术运算单元、浮点执行单元、和分支指令执行单元。指令被执行单元执行,如有需要, 从指令规定的寄存器或存储器中访问操作数。如果要从存储器2访问(装载或存储)操作 数,装载存储单元5通常在正被执行的指令的控制下管理访问。可以在硬件电路中或在内 部微码(固件)中或通过两者的组合执行这些指令。在图IB中,提供了现有技术仿真主计算机系统21的一个例子,它模仿了主体系结 构的主计算机系统迎。在仿真主计算机系统21中,主处理器(CPU) 1是仿真主处理器(或 虚拟主处理器),包括具有与主计算机50的处理器1不同的本机指令集体系结构的仿真处4理器27。仿真主计算机系统21具有仿真处理器27可访问的存储器22。在示范性实施例 中,存储器27被划分成主计算机存储器2的部分和仿真例程23的部分。按照主计算机体 系结构,主计算机存储器2可用于仿真主计算机21的程序。仿真处理器27执行与仿真处 理器1的体系结构不同的体系结构的结构化指令集的本机指令(该本机指令是从仿真例程 存储器23中获取的),并可以通过应用在排序和访问/解码(Sequence & Access/Decode) 例程中获得的一条或多条指令,从主计算机存储器2中的程序中访问要执行的主指令,排 序和访问/解码例程可以解码受到访问以确定本机指令执行例程的主指令,以便模仿受到 访问的主指令的功能。为主计算机系统迎体系结构定义的其它工具可以通过结构化工具 (Architected Facilities)例程来仿真,包括像例如通用寄存器、控制寄存器、动态地址转 换器和I/O子系统支持、和处理器高速缓冲存储器那样的工具。仿真例程也可以利用在仿 真处理器27 (诸如通用寄存器和虚地址的动态转换器)中可用的功能,以改善仿真例程的 性能。也可以配备特殊硬件和卸载引擎,以帮助处理器27仿真主计算机迎的功能。在大型机中,编程人员,当前通常是“C”编程人员经常通过编译器应用程序使用结 构化机器指令。这些存储在存储媒体中的指令可以在z/Architecture IBM服务器中本机 执行,或可替代地,在执行其它体系结构的机器中执行。可以在现有的和将来的IBM大型机 服务器中和在IBM的其它机器(例如,pSeries 服务器和xSeries 服务器)上模仿它 们。可以在使用IBM 、Intel 、AMD 、和Sim Microsystems等制造的硬件的多种机器 上运行Linux的机器中执行它们。除了在Z/Architecture⑧下的那种硬件上执行之外,也 可以使用 Linux,以及使用 Hercules、UMX、FSI (Fundamental Software 公司)或 Platform Solutions公司(PSI)的仿真的机器,其中,一般说来,在仿真模式下执行。在仿真模式下, 本机处理器执行仿真软件,以模仿仿真处理器的体系结构。本机处理器27通常执行包括固件或本机操作系统的仿真软件益,以便进行仿真 处理器的仿真。仿真软件益负责取出和执行仿真处理器体系结构的指令。仿真软件益使 仿真程序计数器持续跟踪指令边界。仿真软件益可以一次取出一条或多条仿真机器指令, 并将一条或多条仿真机器指令转换成供本机处理器27执行的相应一组本机机器指令。可 以高速缓存这些转换指令,以便可以完成较快转换。不管怎样,仿真软件必须遵守仿真处 理器体系结构的体系结构规则,以便保证为仿真处理器编写的操作系统和应用程序正确工 作。而且,仿真软件必须提供通过仿真处理器1的体系结构识别的资源,包括但不局限于控 制寄存器、通用寄存器、浮点寄存器、包括例如段表和页表的动态地址转换功能、中断机制、 上下文切换机制、当日时间(TOD)时钟和与1/0子系统的结构化接口,以便可以在具有仿真 软件的本机处理器上运行设计成运行在仿真处理器上的操作系统或应用程序。解码正受到模仿的特定指令,并调用子例程来执行各个指令的功能。模仿仿真处 理器1的功能的仿真软件功能巡在例如“C”例程或驱动器,或如在本领域技术人员在理解 了优选实施例的描述之后所认识到的范围内的为特定硬件提供驱动器的一些其它方法中 实现。各种软件和硬件仿真专利,包括但不局限于,US 5551013 =BeausoIeil等人的有关 “用于硬件仿真的多处理器”;US6009261 =Scalzi等人的“在目标处理器上仿真不兼容指令 的存储目标例程的预处理”本文档来自技高网...

【技术保护点】
一种操作计算机的方法,包括:取出程序中的旋转然后运算指令,所述旋转然后运算指令是为计算机体系结构定义的,所述旋转然后运算指令包括操作码字段、第一寄存器字段(R2)、第二寄存器字段(R1)、和T位,其中,所述第一寄存器字段规定多个通用寄存器之一,其中所述第二寄存器字段规定多个通用寄存器之一;执行所述旋转然后运算指令,包括:从由所述第一寄存器字段规定的第一寄存器中获取第一操作数;将所述第一操作数旋转一定旋转量以产生经旋转的值,其中,所述旋转有效地将位向更高阶位置移动,并且有效地将位从高阶位位置移出到低阶位位置中;选择经旋转的值的一部分;从由所述第二寄存器字段规定的第二寄存器中获取第二操作数;对所选部分和所述第二操作数的相应位执行布尔运算,产生与所选部分相对应的结果,所述布尔运算由所述旋转然后运算指令规定;以及响应于所述T位为零,将所述结果保存在所述第二寄存器中的所述第二操作数的第二操作数部分中,并继续到下一条指令以便执行,所述第二操作数部分对应于所选部分的位位置,其中,所述保存操作在所述第二寄存器中不改变除了所述第二操作数部分之外的所述第二寄存器的所有其它位。

【技术特征摘要】
【国外来华专利技术】US 2008-1-11 11/972,679一种操作计算机的方法,包括取出程序中的旋转然后运算指令,所述旋转然后运算指令是为计算机体系结构定义的,所述旋转然后运算指令包括操作码字段、第一寄存器字段(R2)、第二寄存器字段(R1)、和T位,其中,所述第一寄存器字段规定多个通用寄存器之一,其中所述第二寄存器字段规定多个通用寄存器之一;执行所述旋转然后运算指令,包括从由所述第一寄存器字段规定的第一寄存器中获取第一操作数;将所述第一操作数旋转一定旋转量以产生经旋转的值,其中,所述旋转有效地将位向更高阶位置移动,并且有效地将位从高阶位位置移出到低阶位位置中;选择经旋转的值的一部分;从由所述第二寄存器字段规定的第二寄存器中获取第二操作数;对所选部分和所述第二操作数的相应位执行布尔运算,产生与所选部分相对应的结果,所述布尔运算由所述旋转然后运算指令规定;以及响应于所述T位为零,将所述结果保存在所述第二寄存器中的所述第二操作数的第二操作数部分中,并继续到下一条指令以便执行,所述第二操作数部分对应于所选部分的位位置,其中,所述保存操作在所述第二寄存器中不改变除了所述第二操作数部分之外的所述第二寄存器的所有其它位。2.按照权利要求1所述的方法,其中,所述旋转然后运算指令进一步包括第一中间字 段(13)、第二中间字段(14)和第三中间字段(15),所述第一中间字段(13)包括指示要选 择的部分的开始位位置的第一值,所述第二中间字段(14)包括指示要选择的部分的结束 位位置的第二值,以及所述第三中间字段(15)具有所述旋转量,所述方法包括使用所述第一值和第二值来选择所述经旋转的值的所述部分;响应于所述经旋转的值的所选部分为零,设置指示所述经旋转的值的所选部分为零的 条件码;以及响应于所述经旋转的值的所选部分不为零,设置指示所述经旋转的值的所选部分不为 零的...

【专利技术属性】
技术研发人员:D格林纳T斯勒格尔J范巴特拉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利