首页> 中国专利> 基于数据特性来识别对应指令的数据处理系统

基于数据特性来识别对应指令的数据处理系统

摘要

本发明涉及基于数据特性来识别对应指令的数据处理系统。一些方法、计算机程序产品、以及数据处理节点识别要被处理器电路操作的数据存储器中的数据单元,并且使用数据单元的特性来识别指令存储器内的什么指令被处理器电路运行以在数据单元上执行操作。数据存储器可以位于处理器电路本地,并且指令存储器可以是处理器电路通过数据网络可远程访问的。

著录项

  • 公开/公告号CN103777920A

    专利类型发明专利

  • 公开/公告日2014-05-07

    原文格式PDF

  • 申请/专利权人 CA公司;

    申请/专利号CN201310443565.2

  • 发明设计人 G.L.博丁;

    申请日2013-09-26

  • 分类号G06F9/30(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人谢攀;刘春元

  • 地址 美国纽约州

  • 入库时间 2024-02-19 23:54:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-13

    授权

    授权

  • 2015-10-14

    实质审查的生效 IPC(主分类):G06F9/30 申请日:20130926

    实质审查的生效

  • 2014-05-07

    公开

    公开

说明书

背景技术

本公开涉及数据处理系统,且更具体地,涉及用于从存储器取指令的操作和方法。

已知的数据处理系统通过一系列操作来处理数据,所述一系列操作包括:1)从存储器取指令;2)对指令进行解码以识别指向要被指令所操作的数据在存储器中的位置的地址;3)从存储器取数据;4)执行指令以操作数据;以及5)然后存储/传递结果。指令和存储器可以存在于相同的存储器中。然而,数据库和其他大型数据应用导致了以下架构:指令存在于处理器本地的存储器中,而数据存在于远程数据存储器中,所述远程数据存储器是处理器通过网络可访问的。

发明内容

本公开的一个实施例针对一种方法,所述方法包括从数据存储器中的多个数据单元之中选择要被处理器电路所操作的数据单元。响应于数据单元的特性而在指令存储器中的多个指令之中识别指令。向指令存储器请求指令以供处理器电路运行以操作数据单元。

在进一步实施例中,数据单元的内容被检查以识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址。通过经由数据网络来传递消息而从指令存储器内的地址检索所述指令,所述消息被定向到该网络地址且请求从指令存储节点的指令存储器中检索指令。指令的地址可以响应于数据单元的多个定义的位位置值而确定,并且数据单元的其他位位置可以用来确定被指令操作的数据值。

在进一步实施例中,使用数据单元的特性来确定运行循环率(cycle rate),其中将以所述运行循环率来调度指令以供处理器电路运行,并且响应于该运行循环率而确定指令的地址。可替代地或附加地,使用数据单元的特性来确定运行优先级别,其中将以所述运行优先级别对指令区分优先次序以供处理器电路运行,并且响应于该运行优先级别而确定指令的地址。

本公开的另一个实施例针对包括其中包含计算机可读程序代码的计算机可读存储介质的计算机程序产品。计算机可读程序代码被配置成从数据存储器中的多个数据单元之中选择要被处理器电路所操作的数据单元。其他计算机可读程序代码被配置成响应于数据单元的特性而在指令存储器中的多个指令之中识别指令。其他计算机可读程序代码被配置成向指令存储器请求指令以供处理器电路运行以操作数据单元。

本公开的另一个实施例针对包括网络接口、数据存储器、和处理器电路的数据处理节点。网络接口通过数据网络来与指令存储器通信。数据存储器包括多个数据单元。处理器电路从数据存储器中的多个数据单元之中选择数据单元,响应于数据单元的特性而在指令存储器中的多个指令之中识别指令,以及向指令存储器请求指令以供处理器电路运行以操作数据单元。

附图说明

本公开的各方面通过示例的方式来图示并且不被附图所限制,其中相同的附图标记指示相同的元素。

图1图示了包括包含本地数据存储器的多个数据处理节点和包含指令存储器的指令存储节点的示例性数据处理系统。

图2图示了图1的数据处理节点的示例性组件。

图3-7图示了为了操作本地数据存储器中的数据单元而从远程联网存储器识别、获取、以及运行指令的示例性操作。

具体实施方式

将参考附图在下文中更充分地描述本公开的实施例。其他实施例可以采取许多不同的形式,并且不应被解释为局限于本文提出的实施例。自始至终相同的附图标记指代相同的元素。

如上面解释的,一些数据库和其他大型数据应用导致了以下计算机架构:指令存在于处理器本地的存储器中,而数据存在于处理器通过数据网络可访问的远程数据存储器(例如,服务器)中。尽管将指令定位于处理器附近能够减少指令访问时间并且提供处理器和指令之间的紧密耦合,但是在多个联网的处理器之间共享此类指令可能不是可行的。而且,数据存储器距处理器的远程性能够增加数据访问时间并且减缓数据密集型应用的数据处理执行。

在各种目前的实施例中,将用于访问指令然后访问数据的已知系统的操作次序倒转。由数据处理节点执行的操作系统(OS)、微码、或者其他指令识别要被处理器电路所操作的数据存储器中的数据单元,并且然后识别指令存储器内的什么指令被处理器电路运行以在数据单元上执行操作。数据存储器可以位于处理器电路本地,并且指令存储器可以是处理器电路通过数据网络可远程访问的。

如本文使用的,数据单元是任何长度的数据位,所述数据位在运行一个或多个指令的处理器电路或者其他指令运行电路的一个或多个循环期间被操作(例如,算术运算)。数据存储器中的数据单元可以具有相同或不同的位长度。指令存储器中的指令也可以具有相同或不同的位长度。

图1图示了包括通过一个或多个数据网络120而通信地连接的多个数据处理节点100和指令存储节点110的示例性数据处理系统。在数据处理系统中可以包括任何数量的数据处理节点100、指令存储节点110、和数据网络120。数据处理节点100包括包含能够被处理器电路200操作的数据单元的本地附接的数据存储器102。数据存储器102可以,例如,存在于与处理器电路200相同的衬底上,存在于与处理器电路200相同的集成电路封装内,通过专用存储总线连接到处理器电路200,或者通过数据存储器102和处理器电路200固定地或可移动地连接到的印刷电路板的共享底板(backplane)总线而连接到处理器电路200。

指令存储节点110包括可由处理器电路200运行以操作数据存储器102中的数据单元的指令存储器112中的指令。与本地附接到处理器电路200的数据存储器102相反,指令存储器112通过数据网络120远程地连接到处理器电路200。将数据存储器102本地连接到处理器电路200能够减少数据存储器102访问时间并且提供处理器电路200和数据单元之间的紧密耦合。因为通过联网的指令存储节点110而使指令可用,所以指令能够在多个数据处理节点110之间高效地共享。因而,例如,能够得益于更大量数据的高吞吐量和/或低延迟处理的以及得益于指令的联网共享的数据库应用可以被有效地托管在图1的数据处理系统上。

数据网络120可以是个域网(例如,USB或火线网络)、局域网(例如,IEEE 802.11)、存储区域网、城域网、广域网、和/或其他公共(例如,因特网)和/或专用网络。存储区域网(SAN)是在数据处理节点100和指令存储节点100之间的专用网络,其提供对统一的(consolidated)、块级的数据存储的访问,以使得指令存储节点110的诸如磁盘阵列和磁带库之类的存储设备如同数据处理节点100的本地附接设备。数据网络120可以包括有线和/或无线(例如,蜂窝网络、无线局域网、无线城域网、卫星网络等)空中接口通信连接。

图2图示了图1的数据处理节点100的示例性组件。数据处理节点100能够包括处理器电路200、被配置成通过数据网络120来通信的网络接口220、以及包括数据存储器102的存储器210。处理器电路200可以包括诸如通用和/或专用处理器(例如,微处理器和/或数字信号处理器)之类的一个或多个数据处理电路。处理器电路200被配置成运行来自在下面描述为计算机可读介质的存储器210的指令(即,程序代码),以执行描述为被根据本文公开的一个或多个实施例的数据处理节点100所执行的一些或者全部操作。存储器210可以表示可以包括诸如电子闪存设备、磁盘驱动器、和/或光盘驱动器之类的易失和/或非易失的存储设备的存储器的层次结构。存储器210能够进一步包括操作系统212,所述操作系统212包括识别要被处理器电路200运行以操作数据单元的指令存储器112中指令的位置的数据到指令地址确定模块214,所述数据单元已经、或将从数据存储器102获取。数据到指令地址确定模块214可以另外或可替代地存在于作为处理器电路200的部分或处理器电路200可访问的微码中。数据处理节点100可以包括显示设备222、用户/机器输入设备224(例如,键盘、触敏显示器接口、语音识别等)、和/或扬声器设备226。

图3图示了使用本地数据存储器中的选定数据单元的特性来从远程存储器识别、获取、和运行指令以操作数据单元的示例性操作。从数据存储器102中的多个数据单元之中选择(块300)数据单元,其中所述数据单元要被处理器电路200所操作。响应于数据单元的特性而在指令存储器112中的多个指令之中识别(块302)指令。向指令存储器112请求(块304)指令以供处理器电路200运行以操作数据单元。从指令存储器112接收(块306)指令,并且由处理器电路200运行(块308)该指令以在数据单元上执行由该指令定义的操作。指令可以使处理器电路200在数据单元上执行的各种操作能够包括,但是不局限于,算术的(例如,加法、减法、乘法、除法)、按位的(例如,和(AND)、或(OR)、异或(XOR))、以及逻辑的(例如,值比较)。

尽管在响应于数据单元的特性而识别指令的上下文中描述各种实施例,但是这些实施例不局限于使用单个数据单元来识别单个指令。而是,可以使用多个数据单元来识别单个指令,可以使用单个指令来识别多个指令,或者可以使用任何其他数量的数据单元来识别任何其他数量的指令。

图4图示了用于本地数据存储器中的选定数据单元的特性以从远程存储器识别、获取、以及运行指令以操作数据单元的进一步示例性操作。处理器电路200选择(块400)要被有待(yet-to-be)识别的指令所操作的数据存储器102内的数据单元。处理器电路200基于数据单元的一个或多个定义的特性来识别(块402)指向指令的地址。处理器电路200生成指令请求消息并且通过数据网络120将其传递(块404)到指令存储节点110,所述指令请求消息请求在指令存储器112中位于所识别的指令地址处的指令的传递。处理器电路200从指令存储节点110接收(块406)指令,运行(块408)指令以操作数据单元,以及在数据存储器102中存储(块410)(由指令操作产生的)数据单元和/或通过数据网络120将所述数据单元传递(块410)到另一个网络节点。

指令存储器112内的指令的地址可以由处理器电路200通过检查数据单元的内容来确定。图5图示了响应于数据单元的内容而识别指令存储器112中的指令的示例性操作。所述操作可以由数据处理节点100的处理器电路200来执行。从数据存储器102接收(块500)数据单元。从数据单元的内容识别(块502)网络地址,这实现通过数据网络120将指令请求消息传递(例如,路由)到指令存储节点110,并且进一步识别要被检索和传递到发送该消息的数据处理节点100的指令存储器112中指令的位置。处理器电路200通过数据网络120来传递(块504)被定向到所述网络地址并且请求从指令存储节点110的指令存储器112检索指令的消息。

为了获取指令而识别什么信息将基于被处理器用于从指令存储器112获取指令的通信的类型、或序列而变化。网络地址可以包括统一资源定位符(URL)地址。传递到指令存储节点110的消息可以包括识别在包含指令的指令存储器112内网络可访问文件的位置的URL地址。该消息可以包含识别指令存储节点110上要被访问的文件的URL地址的文件读取请求消息。

网络可访问文件可以包含要被运行以操作一个或多个数据单元的其他指令。例如,在指令存储器112内的文件中的第一个指令可以被检索和运行以操作数据单元,文件中的下一个顺序发生指令可以被检索和运行以操作数据存储器102中的下一个顺序发生的数据单元,以此类推其中文件中的进一步顺序发生的指令被检索和顺序运行以操作数据存储器102中的进一步顺序发生的数据单元。可替代地,文件中的第一个指令可以用来操作多个顺序发生的或者其他识别的数据单元。

每个数据单元可以包括嵌入在每个相应数据单元中(例如,在数据存储器102中数据单元的连续可寻址位置内或邻近存储)或者以其他方式与数据单元逻辑关联的指令指针。数据单元的长度可以与每个存储器访问循环中处理器电路200所取的位数相对应。可替代地,一组数据单元可以与相同的指令指针关联。在一个实施例中,当检查数据单元的内容以识别(块402)指向指令存储器112内的指令的地址时,处理器电路200响应于数据单元的多个定义的位位置而确定指向指令的地址,以及响应于数据单元的其他定义的位位置而确定要被指令所操作的数据单元的数据内容部分。从而处理器电路200可以,例如,将由数据单元的第一组位位置所定义的数值解释为指令的地址,以及将由数据单元的第二组位位置(其可以或可以不与第一组位位置重叠)所定义的数值解释为定义要被所寻址的(addressed)指令所操作的数据值。

不同配置文件可以与不同数据单元关联,并且处理器电路200可以响应于相应配置文件中的信息而识别要被取出以操作相应数据单元的指令的位置。例如,数据存储器102能够包括与指令存储器112中多个指令的不同组关联的多个配置文件。当检查数据单元的内容来识别(块402)指向在指令存储器112内的指令的地址时,处理器电路200响应于数据单元的内容而选择多个配置文件之一,并且响应于包含在被选择的多个配置文件之一中的信息而识别指向结构存储器112内的指令的地址。

可替代地,单个配置文件可以包含均识别要被运行以操作对应的数据单元的指令的位置的信息项。处理器电路200能够响应于特定数据单元的特性而识别配置文件中的哪个信息项与数据单元中的特定数据单元关联。例如,数据存储器102能够包括识别指令存储器112中指令的地址的配置文件。当检查数据单元的内容以识别(块402)指向指令存储器112内的指令的地址时,处理器电路200响应于数据单元的内容而确定配置文件内的位置。从配置文件内的该位置获取信息项,并且响应于信息项而识别指向指令存储器112中的指令的地址。

处理器电路200可以识别数据单元的特性(例如,将数据单元分类为多个定义的类型之一),并且使用所识别的特性来识别要从指令存储器112获取以操作数据单元的指令的位置。

可以根据定义的运行优先级别来管理处理器电路200的不同数据单元的运行。要从指令存储器112获取以操作对应数据单元的指令的位置可以响应于它们关联的运行优先级别而确定。参考图7,响应于数据单元的特性而确定(块600)多个定义的运行优先级别之一,其中将以所述多个定义的运行优先级别之一来对指令区分优先次序以供处理器电路200运行。响应于该多个定义的运行优先级别之一而识别(块602)指向指令存储器112中的指令的地址。

可以以不同的运行循环率来调度不同的数据单元或者数据单元组以供处理器电路200运行。要从指令存储器112获取以操作对应的数据单元的指令的位置可以响应于它们关联的被调度的运行循环率而确定。参考图7,响应于数据单元的特性而确定(块700)多个定义的运行循环率之一,其中将以所述多个定义的运行循环率之一来调度指令以供处理器电路200运行。响应于所述多个定义的运行循环率之一而识别(块702)指向指令存储器112中的指令的地址。

处理器电路200可以通过应用程序接口(例如,命令行接口、机器对机器应用接口等)来接收数据单元以及指向指令存储器112中的指令的指针。

如本领域的技术人员将领会的,本公开的各方面可以在包括任何新且有用的过程、机器、制造、或者组合物、或者其任何新且有用的改进的多个专利类中的任何一个或上下文中在此进行图示和描述。因此,本公开的各方面可以在完全硬件、完全软件(包括固件、常驻软件、微码等)或者组合的软件和硬件实现方式中实现,在本文中这通常称作“电路”、“模块”、“组件”,或者“系统”。此外,本公开的各方面可以采取在其上包含计算机可读程序代码的一个或多个计算机可读介质中包含的计算机程序产品的形式。

可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是,例如但不局限于,电子的、磁性的、光学的、电磁的、或者半导体系统、装置、或者设备、或者前述的任何合适的组合。计算机可读存储介质的更多特定的示例(非穷举列表)将包括以下:便携式计算机软盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、具有缓冲转发器的适当的光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或者前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形的介质,其能够包含、或者存储用于被指令运行系统、装置、或者设备使用或与其结合使用的程序。

计算机可读信号介质可以包括其中包含计算机可读程序代码的传播数据信号,例如,在基带中或作为载波的部分。这类传播的信号可以采取各种形式中的任何一个,包括但不局限于,电磁的、光学的、或者其任何合适的组合。计算机可读信号介质可以是非计算机可读存储介质的任何计算机可读介质,并且其能够传递、传播、或传输用于被指令运行系统、装置、或者设备使用或与其结合使用的程序。可以使用任何适当的介质来发送在计算机可读信号介质上包含的程序代码,所述介质包括但不局限于,无线、线缆、光纤电缆、RF等、或者前述的任何合适的组合。

对于本公开的各方面,用于执行操作的计算机程序代码可以用一种或多种编程语言的任何组合来书写,所述一种或多种编程语言包括诸如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等等之类的面向对象编程语言,诸如“C”编程语言、Visual Basic、Fortran2003、Perl、COBOL 2002、PHP、ABAP之类的传统过程编程语言,诸如Python、Ruby、和Groovy之类的动态编程语言,或者其他的编程语言。程序代码可以完全地在用户的计算机上、部分地在用户的计算机上、作为独立软件包、部分地在用户的计算机上且部分地在远程计算机上、或者完全地在远程计算机或服务器上运行。在后面的情形中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者连接可以被连到外部计算机(例如,通过使用因特网服务提供商的因特网)、或者在云计算环境中、或者被提供为诸如软件即服务(SaaS)之类的服务。

本文中参考根据本公开的实施例的方法、装置(系统)以及计算机程序产品的流程图图解和/或框图描述了本公开的各方面。将理解的是流程图图解和/或框图的每个块,以及流程图图解和/或框图中的块的组合能够通过计算机程序指令来实现。这些计算机程序指令可以被提供到通用计算机、专用计算机或者其他的可编程数据处理装置的处理器来产生机器,以使得经由计算机或者其他的可编程指令运行装置的处理器而运行的指令创建用于实现在流程图和/或一个或多个框图块中规定的功能/动作的机制。

这些计算机程序指令也可以被存储在计算机可读存储介质中,当所述计算机程序指令被运行时,其能够指导计算机、其他可编程数据处理装置、或者其他设备以特定方式运行,以使得当指令被存储在计算机可读存储介质中时,其产生包括指令的制造产品,当所述指令被运行时,其使计算机实现在流程图和/或一个或多个框图块中规定的功能/动作。计算机程序指令也可以装载到计算机、其他的可编程指令运行装置、或者其他设备上来使一系列操作步骤在计算机、其他的可编程装置、或者其他设备上执行以产生计算机实现过程,以使得在计算机或者其他的可编程装置上运行的指令提供用于实现在流程图和/或一个或多个框图块中规定的功能/动作的过程。

图中的流程图和框图图示了根据本公开的各种方面的系统、方法和计算机程序产品的可能的实现方式的架构、功能、和操作。在这点上,流程图或框图中的每个块可以表示包括用于实现一个或多个规定逻辑功能的一个或多个可运行指令的模块、段、或者部分代码。还应该注意到的是,在一些可替代的实现方式中,块中注释的功能可以不按图中注释的次序发生。例如,取决于所涉及的功能,连续地示出的两个块实际上可以基本上同时运行,或者有时能以颠倒的次序来运行所述块。还将注意的是框图和/或流程图图解的每个块,以及框图和/或流程图图解中的块的组合能够由执行规定的功能或动作的基于专用硬件的系统、或者专用硬件和计算机指令的组合来实现。

本文使用的术语仅为了描述特定方面的目的,并且不打算限制本公开。如本文使用的,单数形式“一”、“一个”和“这个”同样意在也包括复数形式,除非上下文另有明确指示。将进一步理解的是,当术语“包括”和/或“包含”在本说明书中被使用时,其规定了所述特征、整体、步骤、操作、元素、和/或组件的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元素、组件、和/或其群组的存在或添加。

在下面的权利要求中的任何装置或步骤加功能元素的对应的结构、材料、动作、以及等价物意在包括用于与其他的要求保护的元素结合而执行功能的任何公开的结构、材料、或动作,如明确要求的。为了说明和描述的目的提出了本公开的描述,但是不打算是穷举的或者限制为以公开的形式的本公开。在不背离本公开的范围和精神的情况下,许多修改和变形对本领域一般技术人员显而易见。本文选择和描述本公开的各方面以便最好地解释本公开的原理和实际应用,并且以便使其他本领域一般技术人员能够理解本公开,其中各种修改是适合于预期的特定使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号