CN113127177B - 处理装置及分布式处理系统 - Google Patents
处理装置及分布式处理系统 Download PDFInfo
- Publication number
- CN113127177B CN113127177B CN201911392565.8A CN201911392565A CN113127177B CN 113127177 B CN113127177 B CN 113127177B CN 201911392565 A CN201911392565 A CN 201911392565A CN 113127177 B CN113127177 B CN 113127177B
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- processing
- instruction
- module
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 claims abstract description 127
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims description 120
- 238000000034 method Methods 0.000 claims description 20
- 238000012512 characterization method Methods 0.000 description 34
- 230000003993 interaction Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及一种处理装置或使用该处理装置的分布式处理系统。该处理装置包括:指令解析模块,其被配置为接收指示对目标数据进行预定数据处理操作的至少包括任务类型字段、数据处理操作字段和数据地址字段的数据处理指令,并且根据所述任务类型字段判断所述数据处理指令是否携带所述目标数据;以及数据处理模块,根据所述数据处理操作字段来执行对目标数据的预定数据处理操作;其中,当所述数据处理指令携带目标数据时,数据处理模块从指令解析模块接收所述数据处理指令携带的目标数据以对其进行所述预定数据处理操作;当所述数据处理指令携带所述目标数据在存储模块中的存储地址时,处理装置访问存储模块并获取存储模块中存储的目标数据。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种处理装置以及包括该处理装置的分布式处理系统。
背景技术
在传统的以中央处理器(“CPU”)为核心的计算机架构系统中,CPU与内存各自具有不同的功能,CPU主要负责处理数据的计算和控制,而内存则负责数据的存储。然而,伴随着互联网和物联网技术发展所带来的海量数据处理和存储的需求,这种传统架构的缺陷越来越凸显。一方面,面对海量数据处理任务,CPU本身的计算能力严重不足。另一方面,现有CPU与内存之间的数据总线的带宽也难以满足大量数据交互的需求。
不仅如此,这种传统的计算机架构系统还导致了系统中的大量设备的内存资源无法得到有效使用。
因此,有必要提供一种改进的计算机处理架构。
发明内容
本申请的一个目的是提供一种分布式处理系统,以提高对传统计算机系统中各类设备的内存和处理单元的利用效率。
在本申请的一个方面,提供了一种处理装置。该处理装置耦接到存储模块并用于控制对所述存储模块的访问以及数据处理,而且该处理装置包括:指令解析模块,所述指令解析模块被配置为接收指示对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段;所述指令解析模块还被配置为解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据;以及数据处理模块,所述数据处理模块耦接到所述指令解析模块,其被配置为根据所述指令解析模块解析得到的所述数据处理指令中包括的所述数据处理操作字段来执行对所述目标数据的预定数据处理操作;其中,当所述数据处理指令携带所述目标数据时,所述数据处理模块从所述指令解析模块接收所述数据处理指令的数据地址字段携带的所述目标数据以对其进行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据在所述存储模块中的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据。
在本申请的另一方面,提供了一种分布式处理系统,该系统包括经由总线耦接的主控制器以及一个或多个处理部件。其中,所述处理部件包括存储模块和耦接到所述存储模块的处理装置,所述处理装置用于控制对所述存储模块的访问以及数据处理;所述主控制器被配置为向所述处理装置提供对目标数据进行预定数据处理操作的数据处理指令,其中,所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段;所述主控制器还被配置为选择性地在所述数据处理指令的数据地址字段中携带目标数据或所述目标数据的存储地址;所述处理装置被配置为接收并解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据,以及当所述数据处理指令的数据地址字段携带所述目标数据时,所述处理装置根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并且根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作。
在本申请的又一方面,提供了一种处理装置的控制方法。该处理装置包括相互耦接的指令解析模块和数据处理模块,且所述处理装置耦接到存储模块并用于控制对所述存储模块的访问以及数据处理。所述控制方法包括:通过所述指令解析模块接收指示对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段;通过所述指令解析模块解析所述数据处理指令,以基于所述任务类型字段判断其是否携带所述目标数据;其中,当所述数据处理指令的数据地址字段携带所述目标数据时,通过所述数据处理模块从所述指令解析模块接收所述数据处理指令携带的所述目标数据,并对其进行由所述数据处理操作字段指示的所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,通过所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并对其进行由所述数据处理操作字段指示的所述预定数据处理操作。
在本申请的又一方面,提供了一种控制分布式处理系统内的数据访问和处理的方法。该分布式处理系统包括经由总线耦接的主控制器以及一个或多个处理部件,所述处理部件包括存储模块和耦接到所述存储模块的处理装置,所述处理装置用于控制对所述存储模块的访问以及数据处理。其中,该方法包括:通过所述主控制器向所述处理装置提供对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段,所述数据地址字段选择性地携带目标数据或所述目标数据的存储地址;通过所述处理装置接收并解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据,以及当所述数据处理指令的数据地址字段携带所述目标数据时,所述处理装置根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并且根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作。
以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而非旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。
图1示出了根据本申请一个实施例的处理装置100的示意图;
图2示出了图1所示的处理装置100的控制方法200的流程图;
图3示出了根据本申请一个实施例的分布式处理系统300的示意图;
图4示出了图3所示的分布式处理系统300的数据访问和处理的方法400的流程图;
图5A示出了根据本申请的一个实施例的数据处理指令的表征字段500的结构的示意图;
图5B示出了图5A所示的数据处理指令的相关反馈信息的表征字段510的结构的示意图;
图5C示出了图5A所示的数据处理指令的处理结果返回指令的表征字段520的结构的示意图;
图6示出了图3所示的主控制器304与第一处理部件301之间交互的示意图;
图7示出了根据图3所示的分布式处理系统300的另一数据访问和处理的控制方法700的流程图。
具体实施方式
在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本申请的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本申请中一般性描述的、在附图中图解说明的本申请内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本申请内容的一部分。
图1示出了根据本申请一个实施例的处理装置100。该处理装置100可以被连接到存储模块110,以控制存储模块110并与其进行数据交互。该存储模块110可以包括一个或多个存储体。在一些实施例中,该存储模块110可以是符合JEDEC双倍速率同步动态随机存取存储器(SDRAM)标准的存储模块。例如包括JEDEC DDR、DDR2、DDR3、DDR4、DDR5以及其他双倍速率存储器标准。此外,存储模块110也可以是符合其他标准或协议的内部存储器,例如RAMBUS内部存储器,也可以是符合未来存储器标准或协议的存储器。在一些实施例中,存储模块可以包括易失性存储器(例如,动态随机存储器)、非易失性存储器(快闪存储器,例如NAND或NOR快闪存储器)或者这两者的组合。在另一些实施例中,存储模块还可以是采用不同的生产工艺制造的新型存储器,包括但不限于:磁阻式存储器、相变存储器、电阻式存储器、半浮栅存储器,或者任意类型的其他存储器。
彼此连接的处理装置100与存储模块110可以被用于例如计算机系统、移动设备、服务器、智能设备或其他电子设备,并作为其内部存储器或处理单元使用。一些实施例中,与存储模块110连接的处理装置100可以被连接到上述系统或设备的中央处理器,以完成中央处理器所指示的数据处理和存储交互任务。
如图1所示,处理装置100包括彼此耦接的指令解析模块101、数据处理模块102和存储控制模块103。其中,指令解析模块101接收来自于外部的主控制器(如中央处理器)的指令,并对所接收到的指令进行解析,数据处理模块102可以对所接收到的数据进行处理。一些实施例中,数据处理模块102也可执行任意所需的计算操作。存储控制模块103与存储模块110彼此耦接,用于控制对该存储模块110中存储的数据的访问,例如读取或写入数据。
一些实施例中,指令解析模块101根据对所接收到的指令的解析结果,选择性地向数据处理模块102和/或存储控制模块103发送具体信息和指令。例如,指令解析模块101解析数据处理指令,其中该数据处理指令用于指示对目标数据进行预定数据处理操作;指令解析模块101解析后进一步判断该数据处理指令是否携带目标数据。指令解析模块101对数据处理指令的解析可以是基于预设的数据应用协议,有关指令解析的具体信息将在下文中详述。
需要说明的是,“目标数据”可以是任意待处理的数据。一些实施例中,“目标数据”来源于存储模块110以外的外部存储装置,其包含于数据处理指令中。在一些实施例中,外部存储装置可以包括外部存储模块和耦接到外部存储模块的外部处理装置,并且外部处理装置被配置为控制对外部存储模块的访问以及数据处理。在另一些实施例中,目标数据可以已经存储于存储模块110中,该数据处理指令无需携带目标数据,而包括指示该目标数据存储位置的存储地址,这可以节省处理装置100与外部设备交互的数据总线资源。又一些实施例中,目标数据存储于存储模块110以外的耦接至外部的主控制器的任意可用的存储装置中。具体地,该存储装置可以是同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR SDRAM)和Rambus动态随机存储器(RDRAM),例如双列直插式存储模块(DIMM)或单列直插式存储模块(SIMM)。可选地,该存储装置也可以是固态驱动器(SSD)或类似的大容量存储器。在处理装置100对目标数据处理之前,该目标数据被转移至存储模块110中。
在一些实施例中,主控制器提供的存储地址可以直接寻址到存储模块110中的具体存储位置,从而主控制器可以根据该存储地址直接访问存储模块110,而无需存储控制模块103转换存储地址。
这里所说的“预定数据处理操作”可以是对目标数据的任意处理操作,包括由数据处理模块102执行的基于目标数据的任意所需的计算处理。一些实施例中,预定数据处理操作也可以是由存储控制模块103执行的对存储模块110中的目标数据的读写等访问操作。
图2示出了图1所示的处理装置100执行的控制方法200的流程图。
如图2所示,在步骤S201,指令解析模块101接收指示对目标数据进行预定数据处理操作的数据处理指令。在步骤S202,指令解析模块101对所接收的数据处理指令进行解析,并判断该数据处理指令是否携带待处理的目标数据。在一些实施例中,指令解析模块101所接收到的数据处理指令中包括任务类型表征信息,其可以用于指示该数据处理指令是否携带目标数据,该指令解析模块101可以根据任务类型表征信息进行相应的判断。在一些实施例中,该任务类型表征信息可以是基于预设数据应用协议下的任务类型表征字段或其他标识符,其具体细节将在下文中详述。
当该数据处理指令中携带了待处理的目标数据时,执行步骤S203A,数据处理模块102从指令解析模块101接收该数据处理指令所携带的目标数据并对其进行预定数据处理操作。在一些实施例中,指令解析模块101将该数据处理指令连同所携带的待处理的目标数据传输给数据处理模块102,并由数据处理模块102对该目标数据执行数据处理指令中所指示的预定数据处理操作。当该数据处理指令中未携带待处理的目标数据时,执行步骤S203B,存储控制模块103访问存储模块110以获取其中存储的目标数据,并将目标数据传输至数据处理模块102以执行预定数据处理操作。在一些实施例中,指令解析模块101向存储控制模块103提供访问存储模块110中的目标数据的指令和/或目标数据的存储地址,随后存储控制模块103访问该存储地址实现对目标数据的读/写操作。
在步骤S204中,处理装置100将数据处理模块102执行该预定数据处理操作的处理或计算结果存储在存储模块110中。具体地,数据处理模块102将其执行预定数据处理操作得到的处理结果提供给存储控制器103,进而由存储控制器103将该处理结果存储至存储模块110中。一些实施例中,上述处理结果在存储模块110中的存储地址预先包含在数据处理指令中。在另一些实施例中,上述处理结果在存储模块110中最终的存储地址随后通过指令解析模块101发送给外部的主控制器,如中央处理器等。需要说明的是,在一些实施例中,在步骤S203A或S203B之后,数据处理模块102执行预定数据处理操作的处理或计算结果可以经由指令解析模块101发送给外部的主控制器,进而由外部的主控制器将处理或计算结果提供给其他存储模块,例如与外部的主控制器耦接的其他存储器。
可选地,在步骤S201之前,处理装置100还可以执行状态反馈步骤。具体地,在接收到数据处理指令后,指令解析模块101可基于处理装置100的状态发出反馈信息,以指示是否接受或执行该数据处理指令。一些实施例中,数据处理指令中还可以包括用于识别所述数据处理指令的指令标识字段或标识符,并且处理装置100所发出的反馈信息中也包括该指令标识字段或标识符,从而便于发布数据处理指令的控制器识别反馈信息所对应的具体数据处理指令。一些实施例中,指令解析模块101基于预设的数据应用协议生成上述反馈信息,具体将在下文中进行详述。
图3示出了根据本申请一个实施例的分布式处理系统300的示意图。该分布式处理系统300可以包括一个或多个图1所示的处理装置100。
如图3所示,分布式处理系统300包括第一处理部件301和第二处理部件302,其经由总线303与主控制器304耦接。其中,主控制器304被配置为向第一处理部件301或第二处理部件302的处理装置310或320提供对目标数据进行预定数据处理操作的数据处理指令,并且选择性地在数据处理指令中携带目标数据。第一处理部件301包括存储模块314和耦接至存储模块314的处理装置310,该处理装置310进一步包括彼此相互耦接的指令解析模块311、数据处理模块312和存储控制模块313,其中存储控制模块313耦接至存储模块314以控制对该存储模块314中存储的数据的访问。第二处理部件302的结构和功能与第一处理部件301相对应,其包括存储模块324和耦接至存储模块324的处理装置320,该处理装置320进一步包括彼此相互耦接的指令解析模块321、数据处理模块322和存储控制模块323,其中存储控制模块323耦接至存储模块324以控制对该存储模块324中存储的数据的访问。第一处理部件301和第二处理部件302的处理装置310、320和存储模块314、324分别对应于图1所示的彼此耦接的处理装置100和存储模块110,所以其结构和功能在此不在赘述。需要指出的是,虽然图中仅示出了两个处理部件,该分布式处理系统也可以具有任意多个相应的处理部件。此外,两个或更多个处理部件可以具有相同或不同的结构,例如一个或多个处理部件可以不具有存储模块或数据处理模块。
在一些实施例中,一个或多个处理部件的存储模块能够由主控制器寻址和访问。优选地,一个或多个处理部件的存储模块是统一编址的。这样,主控制器可以更为有效地访问各个存储模块以及系统中的其他存储装置。
继续参照图3,分布式处理系统300还包括耦接至总线的存储设备305和耦接至主控制器304的存储模块306。该存储设备305和存储模块306可以是任意可用的存储装置。
图4示出了图3所示的分布式处理系统300执行的数据访问和处理的方法400的流程图。
如图4所示,在步骤S401,主控制器304向第一处理部件301的处理装置310提供对目标数据进行预定数据处理操作的数据处理指令,并且选择性地在该数据处理指令中携带目标数据。一些实施例中,可以通过下述方式来产生携带目标数据的数据处理指令。例如,主控制器304访问与其耦接的任意可用的存储装置以获取目标数据。在一些实施例中,该存储装置可以是同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR SDRAM)和Rambus动态随机存储器(RDRAM),例如双列直插式存储模块(DIMM)或单列直插式存储模块(SIMM)。另一些实施例中,该存储装置可以是固态驱动器(SSD)或类似的大容量存储器。随后,主控制器304将该目标数据和需要对其进行的预定数据处理操作以数据处理指令的形式发送至第一处理部件301。
在步骤S402,第一处理部件301的处理装置310接收该数据处理指令,并且解析该数据处理指令中是否携带目标数据。具体地,一些实施例中,通过指令解析模块311接收指示对目标数据进行预定数据处理操作的数据处理指令,并且解析该数据处理指令是否携带目标数据。在一些实施例中,指令解析模块311所接收到的数据处理指令中包括用于指示该数据处理指令是否携带目标数据的任务类型表征信息,该指令解析模块311可以根据该任务类型表征信息,直接判断出数据处理指令中是否携带目标数据。一些实施例中,该任务类型表征信息可以是基于预设数据应用协议下的表征任务类型的字段,其具体信息将在下文中详述。
当该数据处理指令中携带待处理的目标数据时,执行步骤S403A,处理装置310接收该数据处理指令携带的目标数据并对其进行预定数据处理操作。具体在一些实施例中,指令解析模块311将解析后获得的数据处理指令的具体信息连同所携带的待处理的目标数据传输至数据处理模块312,并由数据处理模块312对该目标数据执行预定的数据处理操作。当该数据处理指令中未携带待处理的目标数据时,执行步骤S403B,处理装置310访问存储模块314以获取存储模块314中存储的目标数据,并对获取的目标数据进行预定的数据处理操作。在一些实施例中,指令解析模块311将解析后获得的目标数据的存储地址提供给存储控制模块313,存储控制模块313将所读取的目标数据传输至数据处理模块312以执行预定数据处理操作。
随后,在步骤S404,处理装置310将数据处理模块312执行该预定数据处理操作的处理或计算结果存储在存储模块314中。具体地,通过存储控制器313将数据处理模块312执行预定数据处理操作得到的处理结果存储至存储模块314中。需要说明的是,预定数据处理操作的处理或计算结果也可以被替代地存储于耦接至外部的主控制器的任意可用的存储装置。一些实施例中,该存储装置可以是同步动态随机存储器(SDRAM)、双倍速率同步动态随机存储器(DDR SDRAM)和Rambus动态随机存储器(RDRAM),例如双列直插式存储模块(DIMM)或单列直插式存储模块(SIMM)。另一些实施例中,该存储装置可以是固态驱动器(SSD)或类似的大容量存储器。
可选地,在步骤401之前还可以包括数据转移步骤,主控制器304控制分布式处理系统300,将目标数据从第一处理部件301的外部预先转移到第一处理部件301的存储模块314中。一些实施例中,目标数据存储于与主控制器304耦接的任意可用的存储装置,例如存储设备305或者存储模块306。当执行数据转移步骤时,由分布式系统300的主控制器304或者直接存储器访问(DMA)控制器(图中未示出)直接访问存储于存储设备305或者存储模块306中的目标数据,并转移至第一处理部件301的存储模块314中。在一些实施例中,存储于第二处理部件302的存储模块324中的目标数据也可以经由分布式系统300的主控制器304或者直接存储器访问(DMA)控制器(图中未示出)直接访问,并转移至第一处理部件301的存储模块314中。该数据转移步骤可以用于目标数据的准备,例如在由第一处理部件301处理之前预先将目标数据存储到指定的存储地址,这样后续数据处理时仅需要提供不携带目标数据的数据处理指令。在另一些实施例中,第二处理部件302的处理装置320根据主控制器304的数据复制或转移指令访问存储模块324并将所获得的目标数据提供至第一处理部件301。
可以理解,图4所示的流程图以第一处理部件301执行数据处理操作为例进行说明。在一些实施例中,第二处理部件302或其他耦接到总线303的处理部件可以以类似的方式执行接收到的数据处理指令,在此不再赘述。在一些实施例中,主控制器304可以根据各个处理部件的占用情况分配数据处理指令相关的任务,这将在下文中进一步说明。
需要说明的是,在一些实施例中,图1所示的处理装置100与其外部的主控制器之间、图3所示的第一处理部件301和第二处理部件302与主控制器304之间可以通过符合CXL(Compute Express Link)、GenZ(Generation Z)、CCIX(Cache Coherent Interconnectfor Accelerators)、NVDIMM协议/标准或类似的物理总线接口耦接,从而可实现外部的控制器例如主控制器304对存储模块110、314和324的直接访问。其中,CXL协议接口是将CXL协议封装到PCIe链路层数据包中传送,并在CPU端的PCIe总控后端按照事务标识分流CXL专属事务给CXL处理逻辑处理。GenZ除了具有CXL的功能之外,还加入了GenZ Switch这个功能,将总线拓展成为了交换式网络,从而可以将大量的CPU、I/O设备、存储器耦接到该GenZ交互式网络中,实现更高的扩展性。CCIX与GenZ的架构和功能类似。
一些实施例中,图1所示的处理装置100和图3所示的分布式处理系统300采用了预设的数据应用协议,该预设的数据应用协议包括处理装置100、第一处理部件301和外部控制器或主控制器304之间具体交互关系的设定。具体地,该预设的数据应用协议可以包括:对数据处理指令、与该指令相关的反馈信息,以及处理结果返回指令的表征字段结构的定义、表征字段中具体字段的字符信息或编号的表征意义,以及处理装置100、第一处理部件301与外部控制器例如主控制器304间的具体交互规则。可以理解,在一些实施例中,图3所示的分布式处理系统300所采用的预设的数据应用协议还包括第二处理部件302或其他耦接到总线303的处理部件与主控制器304之间的具体交互关系的设定。一些实施例中,第二处理部件302或其他耦接到总线303的处理部件(图中未示出)与主控制器304之间具有与第一处理部件301相同或相似的具体交互关系的设定,而另一些实施例中,上述具体交互关系的设定可以因处理部件本身的特性差异而存有区别。
基于预设的数据应用协议,图1所示的应用装置100或图3所示的分布式处理系统300可以灵活定义或控制处理装置100、第一处理部件301和第二处理部件302的功能,降低外部控制器例如主控制器304的运行负载和对总线带宽的要求。一些实施例中,数据应用协议预先设置于指令解析模块及与其交互的控制器中,例如图1所示指令解析模块101和与其交互的外部的主控制器、图3所示的指令解析模块311、321和主控制器304。另一些实施例中,数据应用协议预设于所有涉及数据处理操作的模块或单元中。
表1示出了根据本申请的一个实施例的预设数据应用协议中所定义的任务类型字段(Task Type)的具体字符信息与所表征的具体信息。需要说明是,表1中示出的是具体的字符信息,但该任务类型字段也可以被设置为任意可区分的编号、数值、标号或编码。一些实施例中,表1中所列的任务类型字段的字符信息被替换为二进制、八进制、十进制或者十六进制的编码。
任务类型字段(Task type)的字符信息 | 任务类型字段所表征信息 |
Task_W_data | 带处理数据的指令 |
Task_Wo_data | 不带处理数据的指令 |
Task_Datamove | 数据搬移指令 |
Task_Rsp | 指令已接受反馈 |
Task_Ack | 对指令已接受反馈的应答 |
Task_Retry | 指令未接受反馈 |
Task_Result_Return | 处理结果返回指令 |
表1
如表1所示,当任务类型字段Task type被设定为不同的字符信息时,可以对应地表征与数据处理指令相关的不同的具体信息。图1所示的处理装置100和图3所示的分布式处理系统300中的处理部件或主控制器不仅可以根据表1所示的对应关系相应构建不同的数据处理指令、与指令相关的反馈信息和处理结果返回指令,也可以根据所接收到的指令或信息中的任务类型字段的字符信息或编码确定其所表征的具体信息。
具体如表1所示,Task_W_data用于表征数据处理指令已经携带目标数据,Task_Wo_data用于表征数据处理指令未携带目标数据,而Task_Datamove用于表征该数据处理指令只涉及对数据的搬移任务。因此,当图1所示的指令解析模块101或图3所示的指令解析模块311或321解析出其所接收的数据处理指令中的任务类型字段的字符信息为上述具体字符信息时,就能相应判断出该数据处理指令是否携带目标数据和是否涉及对数据的搬移任务。例如,当图1所示的指令解析模块101解析出其所接收的数据处理指令中的任务类型字段的字符信息为Task_W_data时,其可以判定该数据处理指令携带有待处理的目标数据。
继续参照表1,当任务类型字段的字符信息为Task_Rsp时,表征处理装置或部件已经接受该数据处理指令;当任务类型字段的字符信息为Task_Ack时,表征控制器对处理装置或部件所发送的任务类型字段的字符信息为Task_Rsp的反馈信息的应答;当任务类型字段的字符信息为Task_Retry时,表征处理装置或部件未接受该数据处理指令。基于此,处理装置或部件与控制器之间能够有效地更新与数据处理指令相关的状态或进度等信息。一方面,当图1所示的处理装置100或图3所示的第一处理部件301发送给控制器的反馈信息中的任务类型字段的字符信息为Task_Rsp时,控制器可以判定处理装置100或第一处理部件301已经接受该数据处理指令。随后,控制器可以将任务类型字段的字符信息为Task_Ack的进一步反馈信息发送给处理装置100或第一处理部件301,处理装置100或第一处理部件301据此可以判断控制器的进一步应答信息,比如确认控制器已经收到其此前发送的反馈信息。
如表1所示,当任务类型字段的字符信息为Task_Result_Return时,表征要求返回数据处理结果的处理结果返回指令。例如,当图1所示的指令解析模块101或图3所示的指令解析模块311或321解析出其所接收的指令中的任务类型字段的字符信息为Task_Result_Return,其可以判断发出指令的控制器要求其返回此前数据处理指令执行后的结果数据。
需要说明的是,表1仅起到示例性作用,一些实施例中,任务类型字段也可以被设置为其他的字符、编号、编码或数值,且也可以表征与数据处理指令相关的任何信息。
一些实施例中,除了上述的任务类型字段,预设的数据应用协议下的数据处理指令、相关反馈信息或处理结果返回指令还可以包括其他表征字段。具体地,一些实施例中,其可以包括指令标识字段,用于表征指令或信息所关联的具体数据处理任务。处理装置100、第一处理部件301和主控制器304可以解析该指令标识字段,以确定包括该指令标识字段的指令或反馈信息所对应的具体数据处理任务。一些实施例中,预设的数据应用协议下的指令或相关反馈信息还可以包括预定数据处理操作字段,用于表征对目标数据进行预定的数据处理操作。具体地,预定数据处理操作字段中的不同字符、编号或代码可以被定义为对应于数据处理的不同算子信息或操作信息,从而使得处理装置或部件可以快速准确地确定待执行的具体数据处理操作。一些实施例中,预设的数据应用协议下的指令或相关反馈信息还可以包括参数字段,用于表征与数据处理操作相关的任何参数设置信息。一些实施例中,预设的数据应用协议下的指令或相关反馈信息还可以包括数据地址字段,用于表征数据存储的地址,例如数据长度及其存储的起始存储地址。需要说明的是,该数据地址字段既可以用于表征目标数据的存储地址,也可以用于表征数据处理结果数据的存储地址,一些实施例中,该字段的字符信息、编号或值可以被设置为表征数据搬移任务中的起始地址和目标地址。除此之外,预设的数据应用协议下的指令或者相关反馈信息还可以包括用于表征数据处理操作的任何相关信息的字段,例如表征数据处理任务执行时间的时间字段、表征数据处理任务优先级的优先级字段或者直接表示数据处理结果的结果字段等。
如上所述,预设的数据应用协议不仅定义了指令及相关反馈信息所包括的具体表征字段,也定义了指令及其相关反馈信息的表征字段结构。图5A示出了根据本申请的一个实施例的数据处理指令的表征字段500的结构的示意图。图5B示出了图5A所示的数据处理指令的相关反馈信息的表征字段510的结构的示意图。图5C示出了图5A所示的数据处理指令的处理结果返回指令的表征字段520的结构的示意图。
如图5A所示,数据处理指令的表征字段500包括任务类型字段501、指令标识字段502、预定数据处理操作字段503、数据地址字段504。具体地,根据预设的应用协议、预定数据处理操作任务的具体信息,外部的主控制器304构建包括图5A所示表征字段500的数据处理指令,并发送给所示的指令解析模块101或者图3所示的指令解析模块311、321。随后,指令解析模块101、311或321根据任务类型字段501判断该数据处理任务是否携带数据,根据指令标识字段502判断数据处理任务的标识信息,根据预定数据处理操作字段503判断与数据处理任务相关的算子信息或操作信息,根据数据地址字段504确定目标数据的存储信息,例如数据长度及其存储的起始存储地址。需要说明的是,图5A所示的数据处理指令的表征字段500仅起到示例性作用,而非对其进行具体限定。例如,当数据处理指令本身携带数据时,数据地址字段504可以替代地表示目标数据,例如数据地址字段504可以包括数据长度子字段以及数据子字段;其中数据长度子字段可以用于标记数据子字段的最大长度,或者用于标记数据子字段中目标数据的长度;而数据子字段用于携带具体的目标数据。可以理解,数据地址字段504表示的信息可以与任务类型字段501的具体任务类型相关,即当任务类型字段501为Task_Wo_data时,数据地址字段504可以表示目标数据的存储地址;而当任务类型字段501为Task_W_data时,数据地址字段504可以表示目标数据。在一些实施例中,数据地址字段504可以同时包括用于表示存储地址的子字段和用于表示目标数据的子字段,而这些子字段再根据任务类型字段501的具体值而被赋值或不被赋值。一些实施例中,一些数据处理指令的表征字段还可以包括参数字段,用于表征与数据处理任务相关的所有设置信息。
如图5B所示,图5A所示的数据处理指令的相关反馈信息的表征字段510包括任务类型字段511和指令标识字段512,其中指令标识字段512与图5A所示指令标识字段502的字符、数值或者编码信息相同或相对应。如此前所述,相关反馈信息中的任务类型字段511的字符信息可以被设置为Task_Rsp、Task_Ack或者Task_Retry,从而实现控制器与处理装置间的有效交互,具体信息将在下文中详述。需要说明的是,图5B所示的相关反馈信息的表征字段510也仅起到示例性作用,而非对其进行具体限定,一些实施例中,表征字段510还可以包括其他类型的具体字段信息,比如表征延迟发送请求或延迟执行操作的延迟字段等。
如图5C所示,图5A所示的数据处理指令的处理结果返回指令520包括任务类型字段521和指令标识字段522,其中指令标识字段522与图5A所示指令标识字段502的字符、数值或者编码信息相同或相对应。如此前所述,处理结果返回指令中的任务类型字段521的字符信息可以被设置Task_Result_Return。需要说明的是,图5C所示的处理结果返回指令的表征字段520也仅起到示例性作用,而非对其进行具体限定,一些实施例中,表征字段520还可以包括其他类型的具体字段信息,比如表征处理结果返回时间的时间字段或其他参数字段。
图6示出了图3所示的主控制器304与第一处理部件301之间交互的多种情况的示意图。其中,A部分展示了主控制器304和第一处理部件301均处于空闲或正常状态下的交互。在步骤S611中,主控制器304向第一处理部件301发送了数据处理指令Task_Req0,其中的任务类型字段Task type可以是与任意数据处理操作相关联的任务类型字符信息、数值或编码,例如表1所示的Task_W_data、Task_Wo_data、Task_Datamove,或者Task_Result_Return。在步骤S612中,指令解析模块311根据第一处理部件301的空闲状态和预设的数据应用协议向主控制器304发送了反馈信息,该反馈信息的任务类型字段的字符信息为表示接受该数据处理指令的字符信息Task_Rsp0。此时主控制器304也处于空闲或正常状态,在步骤S613中,主控制器304在接收到来自于第一处理部件301的反馈信息后,向第一处理部件301发送了进一步反馈信息,该反馈信息的任务类型字段的字符信息为Task_Ack0,用于表征对此前反馈信息的应答。
图6的B部分则展示了主控制器304处于空闲或正常状态而第一处理部件301处于忙碌状态的交互情况。步骤S621类似于步骤S611,主控制器304向第一处理部件301发送了数据处理指令,其中包括的任务类型字段的字符信息为类似于Task_Req0的Task_Req1。由于第一处理部件301处于忙碌状态,无法接受该数据处理指令,因此,在步骤S622,指令解析模块311基于预设的数据应用协议向主控制器304发送了反馈信息,该反馈信息包括表示不接受该数据处理指令的任务类型字段的字符信息Task_Retry1。在接收到上述反馈信息的一定时间间隔后,主控制器304在步骤S623中重复步骤S621的操作,再次向第一处理部件301发送该数据处理指令。
图6的C部分表示了主控制器304处于忙碌状态而第一处理部件301处于空闲或正常状态的交互情况。步骤S631类似于步骤S611,主控制器304向第一处理部件301发送了数据处理指令,该数据任务处理指令中的任务类型字段的字符信息为类似于Task_Req0的Task_Req2。步骤S632类似于步骤S612,指令解析模块311根据第一处理部件301的空闲状态和预设的数据应用协议向主控制器304发送了反馈信息,该反馈信息的任务类型字段的字符信息为表征接受该数据处理指令的Task_Rsp2。由于此时主控制器304处于忙碌状态,其无法对第一处理部件301的上述反馈信息进行应答。因此,在接收到含有字符信息Task_Rsp2的反馈信息后的一定时间间隔后,主控制器304在步骤S633中重复步骤S631的操作,再次向第一处理部件301发送任务类型字段为Task_Req2的数据处理指令。
需要指出的是,虽然图6仅示出了主控制器304和第一处理部件301之间的状态和信息交互,但该方法也同样适用于主控制器304与第二处理部件302或其他耦接到总线303的处理部件(图中未示出)之间,以及图1所示的处理装置100和与其耦接的外部的主控制器之间。
图7示出了根据图3所示的分布式处理系统300的另一数据访问和处理的控制方法700的流程图。
如图7所示,在步骤S701中,主控制器304根据预设的数据应用协议和数据处理指令的具体信息构建数据处理指令的表征字段,其中的任务类型字段的字符信息选自:表征带处理数据指令的Task_W_data、表征不带处理数据指令的Task_Wo_data,和表征数据搬移指令的Task_Datamove。在步骤S702中,主控制器304通过总线接口将该数据处理指令的表征字段发送给第一处理部件301。随后,在步骤S703,该第一处理部件301通过其指令解析模块311根据预设的数据应用协议解析该数据处理指令的表征字段,以确定该数据处理指令的具体任务类型、指令标识信息、预定的具体数据处理操作信息等。
当判断数据处理指令的表征字段中的任务类型字段的字符信息为Task_W_data时,在步骤S704A中,该指令解析模块311将解析后的数据处理指令的具体信息和待处理数据直接发送给数据处理模块312。随后,数据处理模块312根据该预定数据处理操作的具体信息对待处理数据进行处理,并将处理结果传输给存储控制模块313,并通过存储控制模块313将处理结果存储于存储模块314中。
当判断数据处理指令的表征字段中的任务类型字段的字符信息为Task_Wo_data时,在步骤S704B中,该指令解析模块311将解析后的数据处理指令的具体信息发送给数据处理模块312,同时将解析出的待处理目标数据在存储模块314中的具体存储地址发送给存储控制模块313。随后,存储控制模块313根据具体存储地址访问存储模块314并将待处理的目标数据提供给数据处理模块312。数据处理模块312随后根据所接收到的解析后的数据处理指令的具体信息对待处理的目标数据进行处理后,并通过存储控制模块313将处理结果存储于存储模块314中。
当判断数据处理指令的表征字段中的任务类型字段的字符信息为Task_Datamove时,在步骤S704C中,该指令解析模块311根据表征字段解析出目标数据在存储模块314中的当前具体存储地址、具体读写操作和/或目标存储地址等。指令解析模块311将上述解析后的具体信息发送给存储控制模块313。随后,存储控制模块313根据所接收到的解析后的具体信息对存储模块314进行访问并执行具体的数据搬移任务。
在步骤S704A、S704B或S704C之后,指令解析模块311执行步骤S705。具体地,其根据步骤S704A、S704B或S704C的处理结果和预设的数据应用协议构建目标数据的处理结果的表征字段。一些实施例中,该字段表征信息至少包括数据处理指令的指令标识信息,比如如上所述的指令标识字段。随后在步骤S706中,指令解析模块311通过总线接口向主控制器304发送包括上述对目标数据处理结果的表征字段的处理结果信息。
需要说明的是,虽然在本实施例中,第一处理部件301在步骤S704A、S704B或S704C中均执行了将处理结果存储于存储模块314中的步骤,但在一些实施例中,第一处理部件301也可以不执行上述处理结果存储步骤,而仅仅将处理结果发送给主控制器304。相应地,一些实施例中,第一处理部件301也可以不执行步骤S705,而是在接收到主控制器304发出的任务类型字段为Task_Result_Return的处理结果返回指令后执行步骤S705。
此外需要说明的是,上述所有关于图5A、图5B、图5C、图6或图7的描述中所提及的第一处理部件301及其子模块与第二处理部件302及其子模块或者其他耦接到总线303的处理部件及其子模块仅仅是出于描述目的而对其进行区别。在其他的实施例中,第一处理部件301和第二处理部件302以及其他类似的处理部件具有相同或相似的功能,在此不再赘述。
可以理解,本申请的实施例中的处理装置可以被应用于存储器,并且这种存储器和本申请实施例中的分布式处理系统可以被用于不同的计算机系统中。
应当注意,尽管在上文详细描述中提及了处理装置或分布式处理系统的若干模块或子模块,但是这种划分仅仅是示例性的而非强制性的。实际上,根据本申请的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
那些本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本申请的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
Claims (21)
1.一种处理装置,其耦接到存储模块并且用于控制对所述存储模块的访问以及数据处理,所述处理装置包括:
指令解析模块,所述指令解析模块被配置为接收指示对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段,其中所述任务类型字段包括用于表征所述数据处理指令是否携带目标数据的字符信息;所述指令解析模块还被配置为解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据;以及
数据处理模块,所述数据处理模块耦接到所述指令解析模块,其被配置为根据所述指令解析模块解析得到的所述数据处理指令中包括的所述数据处理操作字段来执行对所述目标数据的预定数据处理操作;
其中,当所述数据处理指令携带所述目标数据时,所述数据处理模块从所述指令解析模块接收所述数据处理指令的数据地址字段携带的所述目标数据以对其进行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据在所述存储模块中的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据。
2.根据权利要求1所述的处理装置,其特征在于,所述处理装置还被配置为将所述数据处理模块执行所述预定数据处理操作的处理结果存储在所述存储模块中。
3.根据权利要求1所述的处理装置,其特征在于,所述处理装置还被配置为通过所述指令解析模块发出由所述数据处理模块执行所述预定数据处理操作的处理结果。
4.根据权利要求1所述的处理装置,其特征在于,所述存储模块中存储的目标数据是从外部存储装置预先转移到所述存储模块中。
5.根据权利要求4所述的处理装置,其特征在于,所述外部存储装置包括外部存储模块和耦接到所述外部存储模块的外部处理装置,所述外部处理装置被配置为控制对所述外部存储模块的访问以及数据处理。
6.根据权利要求1所述的处理装置,其特征在于,所述处理装置还包括存储控制模块,所述存储控制模块耦接至所述指令解析模块、存储模块和数据处理模块,并且所述存储控制模块被配置为当所述数据处理指令的数据地址字段不携带所述目标数据时基于所述存储地址访问所述存储模块中存储的目标数据。
7.根据权利要求1所述的处理装置,其特征在于,所述指令解析模块进一步被配置为在接收到所述数据处理指令后,基于所述处理装置的状态发出反馈信息以指示是否会执行所述数据处理指令。
8.根据权利要求7所述的处理装置,其特征在于,所述数据处理指令包括用于识别所述数据处理指令的指令标识信息,并且所述反馈信息包括所述指令标识信息。
9.一种分布式处理系统,包括经由总线耦接的主控制器以及一个或多个处理部件,其特征在于:
所述处理部件包括存储模块和耦接到所述存储模块的处理装置,所述处理装置用于控制对所述存储模块的访问以及数据处理;
所述主控制器被配置为向所述处理装置提供对目标数据进行预定数据处理操作的数据处理指令,其中,所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段,其中所述任务类型字段包括用于表征所述数据处理指令是否携带目标数据的字符信息;所述主控制器还被配置为选择性地在所述数据处理指令的数据地址字段中携带目标数据或所述目标数据的存储地址;
所述处理装置被配置为接收并解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据,以及当所述数据处理指令的数据地址字段携带所述目标数据时,所述处理装置根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并且根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作。
10.根据权利要求9所述的分布式处理系统,其特征在于,所述分布式处理系统包括多个所述处理部件,其中至少一个处理部件的存储模块中的目标数据是预先转移自至少一个其他处理部件的存储模块。
11.根据权利要求10所述的分布式处理系统,其特征在于,所述主控制器还被配置为控制至少一个处理部件将其存储模块中的目标数据提供给至少一个其他处理部件。
12.根据权利要求9所述的分布式处理系统,其特征在于,所述处理装置包括:
指令解析模块,所述指令解析模块被配置解析所述数据处理指令;以及
数据处理模块,所述数据处理模块耦接到所述指令解析模块,被配置为执行对所述目标数据的预定数据处理操作。
13.根据权利要求12所述的分布式处理系统,其特征在于,所述处理装置还被配置为将所述数据处理模块执行所述预定数据处理操作的处理结果存储在所述存储模块中。
14.根据权利要求12所述的分布式处理系统,其特征在于,所述处理装置还被配置通过所述指令解析模块向所述主控制器发送由所述数据处理模块执行所述预定数据处理操作的处理结果。
15.根据权利要求12所述的分布式处理系统,其特征在于,所述处理装置还包括存储控制模块,所述存储控制模块耦接至所述指令解析模块、存储模块和数据处理模块,并且所述存储控制模块被配置为当所述数据处理指令的数据地址字段不携带所述目标数据时基于所述存储地址访问所述存储模块中存储的所述目标数据。
16.根据权利要求12所述的分布式处理系统,其特征在于,所述指令解析模块进一步被配置为在接收到所述数据处理指令后,基于所述处理装置的状态发出反馈信息以指示是否会执行所述数据处理指令。
17.根据权利要求16所述的分布式处理系统,其特征在于,所述数据处理指令包括用于识别所述数据处理指令的指令标识信息,并且所述反馈信息包括所述指令标识信息。
18.根据权利要求9所述的分布式处理系统,其特征在于,所述一个或多个处理部件的存储模块能够由所述主控制器寻址和访问。
19.根据权利要求18所述的分布式处理系统,其特征在于,所述一个或多个处理部件的存储模块是统一编址的。
20.一种处理装置的控制方法,所述处理装置包括相互耦接的指令解析模块和数据处理模块,且所述处理装置耦接到存储模块并用于控制对所述存储模块的访问以及数据处理,其特征在于,所述控制方法包括:
通过所述指令解析模块接收指示对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段,其中所述任务类型字段包括用于表征所述数据处理指令是否携带目标数据的字符信息;
通过所述指令解析模块解析所述数据处理指令,以基于所述任务类型字段判断其是否携带所述目标数据;
其中,当所述数据处理指令的数据地址字段携带所述目标数据时,通过所述数据处理模块从所述指令解析模块接收所述数据处理指令携带的所述目标数据,并对其进行由所述数据处理操作字段指示的所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,通过所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并对其进行由所述数据处理操作字段指示的所述预定数据处理操作。
21.一种控制分布式处理系统内的数据访问和处理的方法,所述分布式处理系统包括经由总线耦接的主控制器以及一个或多个处理部件,所述处理部件包括存储模块和耦接到所述存储模块的处理装置,所述处理装置用于控制对所述存储模块的访问以及数据处理,其中所述方法包括:
通过所述主控制器向所述处理装置提供对目标数据进行预定数据处理操作的数据处理指令,其中所述数据处理指令至少包括任务类型字段、数据处理操作字段和数据地址字段,其中所述任务类型字段包括用于表征所述数据处理指令是否携带目标数据的字符信息,所述数据地址字段选择性地携带目标数据或所述目标数据的存储地址;
通过所述处理装置接收并解析所述数据处理指令,并且根据解析得到的所述数据处理指令中包括的所述任务类型字段判断所述数据处理指令是否携带所述目标数据,以及当所述数据处理指令的数据地址字段携带所述目标数据时,所述处理装置根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作;当所述数据处理指令的数据地址字段携带所述目标数据的存储地址时,所述处理装置基于所述存储地址访问所述存储模块并获取所述存储模块中存储的所述目标数据,并且根据所述数据处理指令中包括的所述数据处理操作字段对所述目标数据执行所述预定数据处理操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911392565.8A CN113127177B (zh) | 2019-12-30 | 2019-12-30 | 处理装置及分布式处理系统 |
US17/128,229 US11455170B2 (en) | 2019-12-30 | 2020-12-21 | Processing devices and distributed processing systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911392565.8A CN113127177B (zh) | 2019-12-30 | 2019-12-30 | 处理装置及分布式处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127177A CN113127177A (zh) | 2021-07-16 |
CN113127177B true CN113127177B (zh) | 2023-11-14 |
Family
ID=76546272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911392565.8A Active CN113127177B (zh) | 2019-12-30 | 2019-12-30 | 处理装置及分布式处理系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11455170B2 (zh) |
CN (1) | CN113127177B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022038688A (ja) * | 2020-08-27 | 2022-03-10 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN113704174A (zh) * | 2021-10-25 | 2021-11-26 | 华控清交信息科技(北京)有限公司 | 一种芯片和数据处理方法 |
CN114036142A (zh) * | 2021-11-08 | 2022-02-11 | 浙江网商银行股份有限公司 | 数据处理方法及装置 |
CN115835051B (zh) * | 2022-10-31 | 2023-09-29 | 武汉慧联无限科技有限公司 | 执行预定操作的方法、装置、处理设备及存储介质 |
CN116909628B (zh) * | 2023-09-13 | 2023-12-26 | 腾讯科技(深圳)有限公司 | 直接内存访问系统、数据搬运方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN103324582A (zh) * | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种内存迁移方法、装置及设备 |
CN104821982A (zh) * | 2015-03-27 | 2015-08-05 | 深圳市金立通信设备有限公司 | 一种数据恢复方法 |
CN105868122A (zh) * | 2016-03-28 | 2016-08-17 | 深圳市硅格半导体股份有限公司 | 快闪存储设备的数据处理方法及装置 |
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824335B2 (en) * | 2014-07-14 | 2020-11-03 | Western Digital Technologies, Inc. | Device and method to store predicted data at a host memory |
-
2019
- 2019-12-30 CN CN201911392565.8A patent/CN113127177B/zh active Active
-
2020
- 2020-12-21 US US17/128,229 patent/US11455170B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN103324582A (zh) * | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种内存迁移方法、装置及设备 |
CN104821982A (zh) * | 2015-03-27 | 2015-08-05 | 深圳市金立通信设备有限公司 | 一种数据恢复方法 |
CN105868122A (zh) * | 2016-03-28 | 2016-08-17 | 深圳市硅格半导体股份有限公司 | 快闪存储设备的数据处理方法及装置 |
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
Algorithms and Hardware Structures for Unobtrusive Real-Time Compression of Instruction and Data Address Traces;Milena Milenkovic;《2007 Data Compression Conference (DCC"07)》;20070410;1-10 * |
基于ARM协调控制的多路信号采集系统;马锐军等;《武汉职业技术学院学报》;20170615(第03期);82-85 * |
Also Published As
Publication number | Publication date |
---|---|
US20210200548A1 (en) | 2021-07-01 |
CN113127177A (zh) | 2021-07-16 |
US11455170B2 (en) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113127177B (zh) | 处理装置及分布式处理系统 | |
US20220197847A1 (en) | Techniques to support mulitple interconnect protocols for an interconnect | |
US9824004B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
CN105359114B (zh) | 用于在寻址方案之间进行迁移的方法和系统 | |
US20150324309A1 (en) | Communication via a memory interface | |
US11726701B2 (en) | Memory expander, heterogeneous computing device using memory expander, and operation method of heterogenous computing | |
EP3335124B1 (en) | Register files for i/o packet compression | |
CN106970810A (zh) | 固件烧录方法和系统 | |
CN107590099A (zh) | 一种多主机访问从机的方法、扩展装置及存储介质 | |
US10585822B2 (en) | Operation method of host system including storage device and operation method of storage device controller | |
US20140068125A1 (en) | Memory throughput improvement using address interleaving | |
US8639840B2 (en) | Processing unit, chip, computing device and method for accelerating data transmission | |
KR102558947B1 (ko) | 데이터 저장 장치 | |
CN110647359A (zh) | 半导体装置、其操作方法和具有其的层叠存储装置 | |
CN113794764A (zh) | 服务器集群的请求处理方法、介质和电子设备 | |
JP2013254419A (ja) | 情報処理装置 | |
EP3462321B1 (en) | Techniques to perform memory indirection for memory architectures | |
US20240143203A1 (en) | Systems and methods for storage device resource management | |
JP6331944B2 (ja) | 情報処理装置、メモリ制御装置及び情報処理装置の制御方法 | |
CN105103138A (zh) | 用于实时应用的嵌入式存储器管理方案 | |
CN116483259A (zh) | 一种数据处理方法以及相关装置 | |
CN116401043A (zh) | 一种计算任务的执行方法和相关设备 | |
KR20150090621A (ko) | 스토리지 장치 및 데이터 처리 방법 | |
US11221931B2 (en) | Memory system and data processing system | |
CN114138683A (zh) | 主机内存访问方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |