CN103777920B - 基于数据特性来识别对应指令的数据处理系统 - Google Patents
基于数据特性来识别对应指令的数据处理系统 Download PDFInfo
- Publication number
- CN103777920B CN103777920B CN201310443565.2A CN201310443565A CN103777920B CN 103777920 B CN103777920 B CN 103777920B CN 201310443565 A CN201310443565 A CN 201310443565A CN 103777920 B CN103777920 B CN 103777920B
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- data cell
- response
- memory
- 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.)
- Expired - Fee Related
Links
- 238000013500 data storage Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 58
- 230000001351 cycling effect Effects 0.000 claims description 17
- 238000011022 operating instruction Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000001052 transient effect Effects 0.000 claims 7
- 238000003672 processing method Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 10
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Mobile Radio Communication Systems (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及基于数据特性来识别对应指令的数据处理系统。一些方法、计算机程序产品、以及数据处理节点识别要被处理器电路操作的数据存储器中的数据单元,并且使用数据单元的特性来识别指令存储器内的什么指令被处理器电路运行以在数据单元上执行操作。数据存储器可以位于处理器电路本地,并且指令存储器可以是处理器电路通过数据网络可远程访问的。
Description
背景技术
本公开涉及数据处理系统,且更具体地,涉及用于从存储器取指令的操作和方法。
已知的数据处理系统通过一系列操作来处理数据,所述一系列操作包括: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获取以操作对应数据单元的指令的位置可以响应于它们关联的运行优先级别而确定。参考图6 ,响应于数据单元的特性而确定(块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)之类的服务。
本文中参考根据本公开的实施例的方法、装置(系统)以及计算机程序产品的流程图图解和/或框图描述了本公开的各方面。将理解的是流程图图解和/或框图的每个块,以及流程图图解和/或框图中的块的组合能够通过计算机程序指令来实现。这些计算机程序指令可以被提供到通用计算机、专用计算机或者其他的可编程数据处理装置的处理器来产生机器,以使得经由计算机或者其他的可编程指令运行装置的处理器而运行的指令创建用于实现在流程图和/或一个或多个框图块中规定的功能/动作的机制。
这些计算机程序指令也可以被存储在计算机可读存储介质中,当所述计算机程序指令被运行时,其能够指导计算机、其他可编程数据处理装置、或者其他设备以特定方式运行,以使得当指令被存储在计算机可读存储介质中时,其产生包括指令的制造产品,当所述指令被运行时,其使计算机实现在流程图和/或一个或多个框图块中规定的功能/动作。计算机程序指令也可以装载到计算机、其他的可编程指令运行装置、或者其他设备上来使一系列操作步骤在计算机、其他的可编程装置、或者其他设备上执行以产生计算机实现过程,以使得在计算机或者其他的可编程装置上运行的指令提供用于实现在流程图和/或一个或多个框图块中规定的功能/动作的过程。
图中的流程图和框图图示了根据本公开的各种方面的系统、方法和计算机程序产品的可能的实现方式的架构、功能、和操作。在这点上,流程图或框图中的每个块可以表示包括用于实现一个或多个规定逻辑功能的一个或多个可运行指令的模块、段、或者部分代码。还应该注意到的是,在一些可替代的实现方式中,块中注释的功能可以不按图中注释的次序发生。例如,取决于所涉及的功能,连续地示出的两个块实际上可以基本上同时运行,或者有时能以颠倒的次序来运行所述块。还将注意的是框图和/或流程图图解的每个块,以及框图和/或流程图图解中的块的组合能够由执行规定的功能或动作的基于专用硬件的系统、或者专用硬件和计算机指令的组合来实现。
本文使用的术语仅为了描述特定方面的目的,并且不打算限制本公开。如本文使用的,单数形式“一”、“一个”和“这个”同样意在也包括复数形式,除非上下文另有明确指示。将进一步理解的是,当术语“包括”和/或“包含”在本说明书中被使用时,其规定了所述特征、整体、步骤、操作、元素、和/或组件的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元素、组件、和/或其群组的存在或添加。
在下面的权利要求中的任何装置或步骤加功能元素的对应的结构、材料、动作、以及等价物意在包括用于与其他的要求保护的元素结合而执行功能的任何公开的结构、材料、或动作,如明确要求的。为了说明和描述的目的提出了本公开的描述,但是不打算是穷举的或者限制为以公开的形式的本公开。在不背离本公开的范围和精神的情况下,许多修改和变形对本领域一般技术人员显而易见。本文选择和描述本公开的各方面以便最好地解释本公开的原理和实际应用,并且以便使其他本领域一般技术人员能够理解本公开,其中各种修改是适合于预期的特定使用。
Claims (21)
1.一种数据处理方法,包括:
从数据存储器中的多个数据单元之中选择要被处理器电路所操作的数据单元;
响应于数据单元的特性而在指令存储器中的多个指令之中识别指令,该识别包括:
从数据存储器接收数据单元;
检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址;以及
通过数据网络来传递被定向到所述网络地址并且请求从指令存储节点的指令存储器检索指令的消息;
向指令存储器请求指令以供处理器电路运行以操作数据单元;
从指令存储器接收指令;以及
由处理器电路运行指令以在数据单元上执行定义的操作。
2.如权利要求1的方法,其中:
识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址包括从数据单元的内容识别统一资源定位符(URL)地址,该URL地址识别包含指令的网络可访问文件的位置;以及
通过数据网络来传递被定向到所述网络地址并且请求检索指令的消息包括传递识别URL地址的文件读取请求消息。
3.如权利要求1的方法,其中检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址包括:
响应于数据单元的多个定义的位位置而确定指向指令的网络地址;以及
响应于数据单元的其他定义的位位置而确定要被指令操作的数据单元的数据内容部分。
4.如权利要求1的方法,其中检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址包括:
响应于数据单元的内容而确定配置文件内的位置;
从配置文件内的位置而获取信息;以及
响应于所述信息而识别用于访问指令存储节点的指令存储器的网络地址。
5.如权利要求1的方法,其中:
多个配置文件与指令存储器中的多个指令的不同组关联;以及
检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址包括:
响应于数据单元的内容而选择多个配置文件之一;以及
响应于包含在所选择的多个配置文件之一中的信息而识别用于访问指令存储节点的指令存储器的网络地址。
6.如权利要求1的方法,其中响应于数据单元的特性而在指令存储器中的多个指令之中识别指令包括:
响应于数据单元的特性而确定多个定义的运行循环率之一,其中将以所述多个定义的运行循环率之一来调度指令以供处理器电路运行;以及
响应于所述多个定义的运行循环率之一而识别用于访问指令存储节点的指令存储器的网络地址。
7.如权利要求1的方法,其中响应于数据单元的特性而在指令存储器中的多个指令之中识别指令包括:
响应于数据单元的特性而确定多个定义的运行优先级别之一,其中将以所述多个定义的运行优先级别之一来对指令区分优先次序以供处理器电路运行;以及
响应于所述多个定义的运行优先级别之一而识别用于访问指令存储节点的指令存储器的网络地址。
8.如权利要求1的方法,进一步包括:
通过应用编程接口来接收数据单元以及指向指令存储器中的指令的指针。
9.一种包含计算机可读程序代码的非瞬变计算机可读存储介质,所述计算机可读程序代码包括:
被配置成从数据存储器中的多个数据单元之中选择要被处理器电路操作的数据单元的计算机可读程序代码;
被配置成响应于数据单元的特性而在指令存储器中的多个指令之中识别指令的计算机可读程序代码,该识别包括:
从数据存储器接收数据单元;
检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址;以及
通过数据网络来传递被定向到所述网络地址并且请求从指令存储节点的指令存储器检索指令的消息;
被配置成向指令存储器请求指令以供处理器电路运行以操作数据单元的计算机可读程序代码;
被配置成从指令存储器接收指令的计算机可读程序代码;以及
被配置成当处理器电路运行指令时在数据单元上执行定义的操作的计算机可读程序代码。
10.如权利要求9的非瞬变计算机可读存储介质,其中被配置成检查数据单元的内容以识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址的计算机可读程序代码包括:
被配置成响应于数据单元的多个定义的位位置而确定指向指令的网络地址的计算机可读程序代码;以及
被配置成响应于数据单元的其他定义的位位置而确定要被指令操作的数据单元的数据内容部分的计算机可读程序代码。
11.如权利要求9的非瞬变计算机可读存储介质,其中被配置成检查数据单元的内容以识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址的计算机可读程序代码包括:
被配置成响应于数据单元的内容而确定配置文件内的位置的计算机可读程序代码;
被配置成从配置文件内的位置获取信息的计算机可读程序代码;以及
被配置成响应于所述信息而识别指向用于访问指令存储节点的指令存储器的网络地址的计算机可读程序代码。
12.如权利要求9的非瞬变计算机可读存储介质,其中:
多个配置文件与指令存储器中的多个指令的不同组关联;以及
被配置成检查数据单元的内容以识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址的计算机可读程序代码包括:
被配置成响应于数据单元的内容而选择多个配置文件之一的计算机可读程序代码;以及被配置成响应于包含在所选择的多个配置文件之一中的信息而识别用于访问指令存储节点的指令存储器的网络地址的计算机可读程序代码。
13.如权利要求9的非瞬变计算机可读存储介质,其中被配置成响应于数据单元的特性而在指令存储器中的多个指令之中识别指令的计算机可读程序代码包括:
被配置成响应于数据单元的特性而选择多个定义的运行循环率之一的计算机可读程序代码,其中将以所述多个定义的运行循环率之一来调度指令以供处理器电路运行;以及
被配置成响应于所述多个定义的运行循环率之一而识别用于访问指令存储节点的指令存储器的网络地址的计算机可读程序代码。
14.如权利要求9的非瞬变计算机可读存储介质,其中被配置成响应于数据单元的特性而在指令存储器中的多个指令之中识别指令的计算机可读程序代码包括:
被配置成响应于数据单元的特性而选择多个定义的运行优先级别之一的计算机可读程序代码,其中将以所述多个定义的运行优先级别之一来对指令区分优先次序以供处理器电路运行;以及
被配置成响应于所述多个定义的运行优先级别之一而识别用于访问指令存储节点的指令存储器的网络地址的计算机可读程序代码。
15.如权利要求9的非瞬变计算机可读存储介质,进一步包括:
被配置成通过应用编程接口接收数据单元以及指向指令存储器中的指令的指针的计算机可读程序代码。
16.一种数据处理节点,包括:
用于通过数据网络来与指令存储器通信的网络接口;
包括多个数据单元的数据存储器;以及
处理器电路,用于:
从数据存储器中的多个数据单元之中选择数据单元;
响应于数据单元的特性而在指令存储器中的多个指令之中识别指令,指令的该识别包括:
从数据存储器接收数据单元;
检查数据单元的内容来识别用于通过数据网络来访问指令存储节点的指令存储器的网络地址;以及
通过数据网络来传递被定向到所述网络地址并且请求从指令存储节点的指令存储器检索指令的消息;
向指令存储器请求指令以供处理器电路运行以操作数据单元;
从指令存储器接收指令;以及
运行指令以在数据单元上执行定义的操作。
17.如权利要求16的数据处理节点,其中:
处理器电路进一步用于通过网络接口从数据存储器接收数据单元,从识别包含指令的指令存储器中的网络可访问文件的位置的数据单元的内容识别统一资源定位符(URL)地址,以及通过网络接口来传递识别URL地址的文件读取请求消息。
18.如权利要求16的数据处理节点,其中:
处理器电路进一步用于响应于数据单元的多个定义的位位置而确定用于通过数据网络来访问指令存储节点的指令存储器的网络地址,以及响应于数据单元的其他定义的位位置而确定要被指令操作的数据单元的数据内容部分。
19.如权利要求16的数据处理节点,其中:
处理器电路进一步用于响应于数据单元的内容而确定配置文件内的位置,从配置文件内的位置获取信息,以及响应于所述信息而识别用于访问指令存储节点的指令存储器的网络地址。
20.如权利要求16的数据处理节点,其中:
处理器电路进一步用于响应于数据单元的特性而选择多个定义的运行循环率之一,其中将以所述多个定义的运行循环率之一来调度指令以供处理器电路运行,以及响应于所述多个定义的运行循环率之一而识别用于访问指令存储节点的指令存储器的网络地址。
21.如权利要求16的数据处理节点,其中:
处理器电路进一步用于响应于数据单元的特性而选择多个定义的运行优先级别之一,其中将以所述多个定义的运行优先级别之一来对指令区分优先次序以供处理器电路运行,以及响应于所述多个定义的运行优先级别之一而识别用于访问指令存储节点的指令存储器的网络地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/658,372 | 2012-10-23 | ||
US13/658,372 US9632787B2 (en) | 2012-10-23 | 2012-10-23 | Data processing system with data characteristic based identification of corresponding instructions |
US13/658372 | 2012-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103777920A CN103777920A (zh) | 2014-05-07 |
CN103777920B true CN103777920B (zh) | 2018-04-13 |
Family
ID=49356217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310443565.2A Expired - Fee Related CN103777920B (zh) | 2012-10-23 | 2013-09-26 | 基于数据特性来识别对应指令的数据处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9632787B2 (zh) |
EP (1) | EP2733603B1 (zh) |
CN (1) | CN103777920B (zh) |
BR (1) | BR102013023836A2 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10157060B2 (en) | 2011-12-29 | 2018-12-18 | Intel Corporation | Method, device and system for control signaling in a data path module of a data stream processing engine |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10896022B2 (en) | 2017-11-30 | 2021-01-19 | International Business Machines Corporation | Sorting using pipelined compare units |
US11354094B2 (en) | 2017-11-30 | 2022-06-07 | International Business Machines Corporation | Hierarchical sort/merge structure using a request pipe |
US10936283B2 (en) | 2017-11-30 | 2021-03-02 | International Business Machines Corporation | Buffer size optimization in a hierarchical structure |
US11048475B2 (en) | 2017-11-30 | 2021-06-29 | International Business Machines Corporation | Multi-cycle key compares for keys and records of variable length |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10417175B2 (en) * | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0911728A1 (en) * | 1997-10-27 | 1999-04-28 | Sun Microsystems, Inc. | Method and apparatus for providing plug-in media decoders |
CN102541510A (zh) * | 2011-12-27 | 2012-07-04 | 中山大学 | 一种指令缓存系统及其取指方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821174A (en) * | 1984-03-20 | 1989-04-11 | Westinghouse Electric Corp. | Signal processing system including a bus control module |
US6073159A (en) * | 1996-12-31 | 2000-06-06 | Compaq Computer Corporation | Thread properties attribute vector based thread selection in multithreading processor |
US6094708A (en) * | 1997-05-06 | 2000-07-25 | Cisco Technology, Inc. | Secondary cache write-through blocking mechanism |
JP3676257B2 (ja) | 2001-05-21 | 2005-07-27 | 松下電器産業株式会社 | データ処理装置 |
FR2826471A1 (fr) * | 2001-06-26 | 2002-12-27 | Canal Plus Technologies | Extension d'un logiciel dans un recepteur/decodeur de television numerique |
TW576977B (en) * | 2002-09-11 | 2004-02-21 | Sunplus Technology Co Ltd | Structure and method for planning control commands and data access |
US7697429B2 (en) * | 2006-07-10 | 2010-04-13 | Scientific-Atlanta, Llc | Enhancing a configuration file |
JP5437878B2 (ja) * | 2010-03-29 | 2014-03-12 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
-
2012
- 2012-10-23 US US13/658,372 patent/US9632787B2/en active Active
-
2013
- 2013-09-17 BR BRBR102013023836-8A patent/BR102013023836A2/pt not_active Application Discontinuation
- 2013-09-26 CN CN201310443565.2A patent/CN103777920B/zh not_active Expired - Fee Related
- 2013-10-09 EP EP13187878.7A patent/EP2733603B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0911728A1 (en) * | 1997-10-27 | 1999-04-28 | Sun Microsystems, Inc. | Method and apparatus for providing plug-in media decoders |
CN102541510A (zh) * | 2011-12-27 | 2012-07-04 | 中山大学 | 一种指令缓存系统及其取指方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2733603A1 (en) | 2014-05-21 |
BR102013023836A2 (pt) | 2014-10-21 |
US9632787B2 (en) | 2017-04-25 |
CN103777920A (zh) | 2014-05-07 |
US20140115300A1 (en) | 2014-04-24 |
EP2733603B1 (en) | 2018-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103777920B (zh) | 基于数据特性来识别对应指令的数据处理系统 | |
US11036552B2 (en) | Cognitive scheduler | |
CN105122211B (zh) | 用于针对非对称执行单元高效调度的方法和装置 | |
CN116501683A (zh) | 用于协调解聚的加速器装置资源的技术 | |
CN108292241A (zh) | 处理计算图 | |
CN103970604A (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
CN104778079A (zh) | 用于调度、执行的装置和方法以及分布式系统 | |
CN105453031B (zh) | 用于优化指令的方法和系统 | |
CN104731607B (zh) | 终端终生学习处理方法、装置和系统 | |
US9978091B2 (en) | Method and system for tracking marketing channel of application | |
CN105005911A (zh) | 深度神经网络的运算系统及运算方法 | |
CN109190754A (zh) | 量化模型生成方法、装置和电子设备 | |
CN106030518A (zh) | 用于整理和退出存储的指令和逻辑 | |
US10514954B2 (en) | Platform for hierarchy cooperative computing | |
US9471383B2 (en) | Task allocation in a computing environment | |
CN115668129A (zh) | 流水线工件选择的动态自动化 | |
JP2023036773A (ja) | データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
EP3857384B1 (en) | Processing sequential inputs using neural network accelerators | |
CN106030519A (zh) | 用于从多个股分派指令的处理器逻辑和方法 | |
CN105094857A (zh) | 用于应用加载的方法和系统 | |
CN104216834A (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
CN109190367A (zh) | 利用沙箱运行应用程序安装包的方法及装置 | |
CN105723329A (zh) | 用于识别多指令串无序处理器中的引退的指令的指令和逻辑 | |
CN115964984A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 Termination date: 20190926 |