CN112732416B - 有效消除数据访问延迟的并行数据处理方法及并行处理器 - Google Patents

有效消除数据访问延迟的并行数据处理方法及并行处理器 Download PDF

Info

Publication number
CN112732416B
CN112732416B CN202110064248.4A CN202110064248A CN112732416B CN 112732416 B CN112732416 B CN 112732416B CN 202110064248 A CN202110064248 A CN 202110064248A CN 112732416 B CN112732416 B CN 112732416B
Authority
CN
China
Prior art keywords
thread
data
parallel
processing engine
parallel processor
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
Application number
CN202110064248.4A
Other languages
English (en)
Other versions
CN112732416A (zh
Inventor
钟伟
冀谦祥
梅思行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Icube Corp ltd
Original Assignee
Icube Corp ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Icube Corp ltd filed Critical Icube Corp ltd
Priority to CN202110064248.4A priority Critical patent/CN112732416B/zh
Publication of CN112732416A publication Critical patent/CN112732416A/zh
Application granted granted Critical
Publication of CN112732416B publication Critical patent/CN112732416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种有效消除数据访问延迟的并行数据处理方法,包括如下步骤:把可并行处理数据分成若干工作组,针对每个工作组设置参数;启动多线程进行处理,每个线程处理一个工作项;若遇需到外部存储器访问的数据,则保存上下文,当前线程进行休眠等待,硬件切换到下一个线程并开展运算;等数据返回后通知休眠等待的线程进入随时切换等待,只要硬件资源释放出来,便可立即重新运算。本发明还提供了一种并行处理器。本发明的有益效果是:能较好的降低任务切换代价以及分支跳转代价,降低计算资源的浪费及能量的消耗。

Description

有效消除数据访问延迟的并行数据处理方法及并行处理器
技术领域
本发明涉及处理器,尤其涉及一种有效消除数据访问延迟的并行数据处理方法及并行处理器。
背景技术
目前,现有的并行数据处理方法的任务切换代价较大,例如专利号为:200910190339.1的中国专利,并行处理器及其线程处理方法,揭示了一种能够实现并行任务的MVP(Multi-thread Virtual Pipeline,多线程虚拟流水线)处理器,其能有效应对大量并行任务,性价比较高。但是,当数据访问指令相对较多,而计算指令和最大线程数掩盖不了延迟时,该并行处理器不能很好适应任务特性,导致任务切换代价较大,计算资源浪费及能量的过度消耗。
发明内容
为了解决现有技术中的问题,本发明提供了一种有效消除数据访问延迟的并行数据处理方法及并行处理器。
本发明提供了一种有效消除数据访问延迟的并行数据处理方法,包括如下步骤:把可并行处理数据分成若干工作组,针对每个工作组设置参数;启动多线程进行处理,每个线程处理一个工作项;若遇需到外部存储器访问的数据,则保存上下文,当前线程进行休眠等待,硬件切换到下一个线程并开展运算;等数据返回后通知休眠等待的线程进入随时切换等待,只要硬件资源释放出来,便可立即重新运算。
作为本发明的进一步改进,每个线程都配置有对应的通用寄存器。
本发明还提供了一种用于实现如上述中任一项所述有效消除数据访问延迟的并行数据处理方法的并行处理器,包括:
多个线程处理引擎:用于处理被分配给该线程处理引擎的线程,多个所述线程处理引擎并行连接;
线程管理单元:用于取得、判断所述线程处理引擎的状态,并将处于等待队列中的线程分配到所述线程处理引擎中,所述线程管理单元与所述线程处理引擎连接。
作为本发明的进一步改进,所述并行处理器还包括用于数据及线程缓冲、指令缓冲的内部存储系统以及用于存储所述线程处理引擎的各种状态的寄存器,所述内部存储系统、寄存器分别与所述线程处理引擎连接,内部存储系统、寄存器分别与所述线程管理单元连接。
作为本发明的进一步改进,所述线程处理引擎、线程管理单元以及内部存储系统通过系统总线接口与外接或内置的通用处理器以及外部存储系统相连。
作为本发明的进一步改进,所述线程处理引擎包括多个并行的、相互独立的算术逻辑运算单元以及与所述算术逻辑运算单元一一对应的乘加器单元。
作为本发明的进一步改进,所述内部存储系统包括用于对所述数据进行缓冲的数据缓冲单元、对线程进行缓冲的线程缓冲单元以及对指令进行缓冲的指令缓冲单元,所述线程缓冲单元与所述数据缓冲单元连接,所述数据缓冲单元、指令缓冲单元,分别与所述系统总线接口连接,所述数据缓冲单元分别与所述算术逻辑运算单元、线程管理单元连接,所述指令缓冲单元连接有指令取得单元,所述线程管理单元的输出端与所述指令取得单元连接,所述线程管理单元指令取得单元的输出连接有指令输出单元,所述指令输出单元的输出端分别与所述算术逻辑运算单元以及乘加器单元连接。
作为本发明的进一步改进,所述线程管理单元包括用于配置线程的线程控制寄存器,所述线程控制寄存器包括:用于表明任务程序的起始物理地址的起始程序指针寄存器,用于表明一个线程的线程本地存储区域的起始地址的本地存储区域起始基点寄存器,用于表明线程全局存储区域的起始地址的全局存储区域起始基点寄存器,用于表明一个线程工作组/工作项配置信息的线程配置寄存器组,以及用于表明一个线程的线程标识的配置寄存器。
作为本发明的进一步改进,所述线程管理单元依据线程的输入数据状态以及并行处理器的硬件资源来确定是否激活相应线程。
本发明还提供了一种有效消除数据访问延迟的并行数据处理方法,在上述中任一项所述的并行处理器中对线程进行并行处理,包括如下步骤:
a、配置所述并行处理器中的线程管理单元,分配各个线程的资源;
b、根据所述线程处理引擎的状态及待处理线程队列状态,将待处理线程队列中的线程送入所述线程处理引擎;
c、所述线程处理引擎处理送入的线程,使之运行;
所述步骤a进一步包括:
a1、配置该并行处理器运行程序的程序指针寄存器,配置并行处理器内各个线程的本地存储区域起始基点寄存器,配置并行处理器内线程的全局存储区域起始基点寄存器,配置并行处理器内各个线程的工作组/
工作项的线程配置寄存器组;
所述步骤b进一步包括:
b1、将待处理线程队列划分为多个组,每个组包含若干个线程,每个组组成一个1维多线程,若线程处理引擎存在空闲硬件计算资源,则把待处理线程的组一起送入所述线程处理引擎,多个空闲的组之间按轮询的机制进行调度;
所述步骤c进一步包括:
c1、线程处理引擎实现多级流水线设计,每个时钟都访问不同组的指令,若干时钟后回到访问最初组的下一条指令;
c2、线程处理引擎每级流水都同时传递着每个线程的线程标识,当线程处理引擎到达执行流水阶段时,如果数据加载与存储指令访问的地址没在数据缓存时,该组涉及到的多个线程均被调度出线程处理引擎,同时释放出该组占据的硬件时间片资源;
c3、当取值和执行阶段之间相隔达到设定时间时,每个组执行跳转指令时将会没有代价,也就达到最佳指令执行效率。
本发明的有益效果是:能较好的降低任务切换代价以及分支跳转代价,降低计算资源的浪费及能量的消耗。
附图说明
图1是本发明一种并行处理器的示意图。
图2是本发明一种并行处理器的线程分组示意图。
具体实施方式
下面结合附图说明及具体实施方式对本发明作进一步说明。
本发明提供一种新的有效消除数据访问延迟的并行数据处理方法和并行处理器,能实现最小任务切换代价,以及最小的分支跳转代价。
一种有效消除数据访问延迟的并行数据处理方法,包括如下步骤:把可并行处理数据分成若干WORKGROUP(工作组),针对每个WORKGROUP(工作组)设置必要的参数;启动多线程进行处理,每个线程处理一个WORKITEM(工作项);若遇需到外部存储器访问的数据,保存必要的上下文,当前线程进行休眠等待,硬件切换到下一个线程并开展运算;等数据返回后通知其线程进入随时切换等待,只要硬件资源释放出来,便可立即重新运算;每个线程都有自己的通用寄存器,运算逻辑则只有若干份,通过线程间的切换,去消除数据访问延迟。
本发明还提供一种实现上述方法的装置。实施本发明的有效消除数据访问延迟的方法及装置,具有以下有益效果:对大数据的并行处理效率高,有效消除数据访问延迟,上下文切换代价小,性能好,支持OpenCL(Open Computing Language,开放运算语言)通用并行计算接口。
构造一种并行处理器,包括:
多个线程处理引擎:用于处理被分配给该线程处理引擎的线程,所述多个线程处理引擎并行连接;
线程管理单元:用于取得、判断所述多个线程处理引擎的状态,并将处于等待队列中的线程分配到所述多个线程处理引擎中。
在本发明所述并行处理器中,还包括用于数据及线程缓冲、指令缓冲的内部存储系统以及用于存储所述并行处理器的各种状态的寄存器。
在本发明所述并行处理器中,所述内部存储系统包括用于对所述数据及线程进行缓冲的数据及线程缓冲单元以及对指令进行缓冲的指令缓冲单元。
在本发明所述并行处理器中,所述多个线程处理引擎包括4个并行的、相互独立的算术逻辑运算单元以及与所述算术逻辑运算单元一一对应的乘加器元。
在本发明所述并行处理器中,所述线程管理单元包括用于配置线程的线程控制寄存器,所述线程控制寄存器包括:用于表明任务程序的起始物理地址的起始程序指针寄存器,用于表明一个线程的线程本地存储区域的起始地址的本地存储区域起始基点寄存器,用于表明线程全局存储区域的起始地址的全局存储区域起始基点寄存器,用于表明一个线程工作组/工作项配置信息的线程配置寄存器组,以及用于表明一个线程的线程标识的配置寄存器等。
在本发明所述并行处理器中,所述线程管理单元依据线程的输入数据状态以及处理器的硬件资源来确定是否激活相应线程。
在本发明所述并行处理器中,所述线程处理引擎、线程管理单元以及内部存储系统通过系统总线接口与外接或内置的通用处理器以及外部存储系统相连。
一种在并行处理器中对线程进行并行处理的方法,包括如下步骤:
a配置所述并行处理器中的线程管理单元,分配各个线程的资源;
b根据所述线程处理引擎的状态及待处理线程队列状态,将所述待处理线程队列中的线程送入所述线程处理引擎;
c所述线程处理引擎处理送入的线程,使之运行。
在本发明所述的方法中,所述步骤a进一步包括:
a1配置该并行处理器运行程序的程序指针寄存器,配置处理器内各个线程的本地存储区域起始基点寄存器,配置处理器内线程的全局存储区域起始基点寄存器,配置处理器内各个线程的工作组/工作项的线程配置寄存器组。
在本发明所述的方法中,所述步骤b进一步包括:
b1将待处理线程队列划分为多个组,每个组包含若干个线程。每个组组成一个horizontal threading(1D threading)(水平多线程,1维多线程)。若线程处理引擎存在空闲硬件计算资源,则把待处理线程组(包含若干个线程)一起送入所述线程处理引擎。多个空闲组之间按轮询的机制进行调度。
在本发明所述的方法中,所述步骤c进一步包括:
c1线程处理引擎实现多级流水线设计,每个时钟都访问不同组的指令,若干时钟后会回到访问最初组的下一条指令,其模式可归纳为(以4个时钟为一个循环周期为例)组0→组1→组2→组3→组0。每个循环周期形成一个vertical threading(2D threading)(垂直多线程,2维多线程)。
c2线程处理引擎每级流水都同时传递着每个线程的线程标识。当线程处理引擎到达EX(执行)流水阶段时,如果Load/Store(数据加载与存储)指令访问的地址没在数据缓存时(可能是该组中一个或多个线程的数据加载与存储指令),该涉及到的多个线程均会被调度出线程处理引擎,同时释放出该组占据的硬件时间片资源。这些组之间组成3Dthreading(3维多线程)。
c3当FE(取值)和EX(执行)阶段之间相隔至少4个时钟时,每个组执行Branch(跳转)指令时将会没有代价,也就达到最佳指令执行效率。
实施本发明的并行处理器及其线程处理方法,具有以下有益效果:利用并行处理器支持较多的硬件线程的特性,使用多个并行的算术逻辑单元及其对应的核内存储系统,通过线程管理单元对该处理器要处理的线程进行管理,使得该多个算术逻辑单元可以实现满负荷运行,同时花费最小代价进行线程间上下文切换以及解决跳转指令的代价。因此,可以花费较小的代价来达到较高的性能,其性价比较高。
如图1所示,在本实施例中,该并行处理器是一个通用并行多线程处理器,所述处理器包括线程管理及控制单元1、指令取得单元2、指令输出单元3、算术逻辑单元(ALU)[3:0]4、乘加器(Multiply-Add unit,MAC)[3:0]5、特定功能单元6、寄存器7、指令缓冲单元8、数据缓冲单元91、线程缓冲单元92、系统总线接口10;其中,线程管理及控制单元1用于管理、控制当前已准备好的线程、正在运行的线程等,其分别与系统总线接口10、指令取得单元2等单元连接;指令取得单元2在上述线程管理及控制单元1的控制下,通过指令缓冲单元8及系统总线接口10取得指令,并在线程管理及控制单元1的控制下将取得指令输出到指令输出单元3;指令输出单元3的输出通过并行的总线与上述算术逻辑单元[3:0]4、乘加器[3:0]5以及特定功能单元6连接,将取得指令中的操作码及操作数分别根据其需要传送到上述4个算术逻辑单元、4个乘加器以及特定功能单元6中;而上述算术逻辑单元[3:0]4、乘加器[3:0]5以及特定功能单元6还分别通过总线与寄存器7连接,便于将其中状态的变化情况及时写入上述寄存器7;数据缓冲单元91连接在上述系统总线接口10上,其通过上述系统总线接口10取得数据及指令,并存储起来,供其单元访问。在本实施例中,一个线程处理引擎包括一个算术逻辑单元和一个乘加器。在本实施例中,并行处理器包括4个在硬件上并行的线程处理引擎,1个8KByte(字节)的指令缓存单元,1个2KByte(字节)的数据缓存单元,以及1个32KByte(字节)的线程缓存单元,以及1个线程管理单元。
该并行处理器可以作为一个带有软件驱动层的OpenCL(开放运算语言)设备,单个处理器支持OpenCL(开放运算语言)定义的数据并行计算模式,多个处理器支持OpenCL(开放运算语言)定义的任务并行计算模式。在处理数据并行计算模式时,处理器核在一个工作组中能够最多处理64个工作项,这64个工作项根据硬件资源状态及时间片分配,被映射到处理器核4个并行的线程处理引擎。在处理任务并行计算模式时,不同处理器核同时处理不同的计算任务。
在本实施例中,每个组包含4条线程(T0,T1,T2,T3),该组作为一个整体,在线程处理引擎对应时间片段执行。假定T0~T3执行的都是同一条指令,这对数据并行计算模式大部分情况都是成立的;倘若遇到跳转指令后,组内线程执行不同指令,线程处理引擎会相应的处理,若指令取得单元访问指令缓存单元的4个PC(Program Counter,指令计数器)地址分布在不同缓存BANK(块),则依然可以在单个时钟周期内完成取值、执行操作,否则需要相应时钟周期来处理该组的各个线程。如图2所示的实施例中是以4个时钟为一个Round(Vertical threading)(循环周期,垂直多线程),详细呈现了不同时钟片的执行情况。
在本实施例中,若一个组内的线程访问数据缓存单元时遇到所需数据不在数据缓存单元内,则该组会被集体移出线程处理引擎,等待数据缓存单元将所需数据从外部存储读回数据缓存单元。在该组被移出线程处理引擎的同时,线程管理单元将处于等待状态的组送入线程处理引擎相对应的时钟片。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (9)

1.一种用于实现有效消除数据访问延迟的并行数据处理方法的并行处理器,其特征在于:该有效消除数据访问延迟的并行数据处理方法包括如下步骤:把可并行处理数据分成若干工作组,针对每个工作组设置参数;启动多线程进行处理,每个线程处理一个工作项;若遇需到外部存储器访问的数据,则保存上下文,当前线程进行休眠等待,硬件切换到下一个线程并开展运算;等数据返回后通知休眠等待的线程进入随时切换等待,只要硬件资源释放出来,便可立即重新运算;
所述并行处理器包括:
多个线程处理引擎:用于处理被分配给该线程处理引擎的线程,多个所述线程处理引擎并行连接;
线程管理单元:用于取得、判断所述线程处理引擎的状态,并将处于等待队列中的线程分配到所述线程处理引擎中,所述线程管理单元与所述线程处理引擎连接。
2.根据权利要求1所述的并行处理器,其特征在于:每个线程都配置有对应的通用寄存器。
3.根据权利要求1所述的并行处理器,其特征在于:所述并行处理器还包括用于数据及线程缓冲、指令缓冲的内部存储系统以及用于存储所述线程处理引擎的各种状态的寄存器,所述内部存储系统、寄存器分别与所述线程处理引擎连接,内部存储系统、寄存器分别与所述线程管理单元连接。
4.根据权利要求3所述的并行处理器,其特征在于:所述线程处理引擎、线程管理单元以及内部存储系统通过系统总线接口与外接或内置的通用处理器以及外部存储系统相连。
5.根据权利要求4所述的并行处理器,其特征在于:所述线程处理引擎包括多个并行的、相互独立的算术逻辑运算单元以及与所述算术逻辑运算单元一一对应的乘加器单元。
6.根据权利要求5所述的并行处理器,其特征在于:所述内部存储系统包括用于对所述数据进行缓冲的数据缓冲单元、对线程进行缓冲的线程缓冲单元以及对指令进行缓冲的指令缓冲单元,所述线程缓冲单元与所述数据缓冲单元连接,所述数据缓冲单元、指令缓冲单元,分别与所述系统总线接口连接,所述数据缓冲单元分别与所述算术逻辑运算单元、线程管理单元连接,所述指令缓冲单元连接有指令取得单元,所述线程管理单元的输出端与所述指令取得单元连接,所述线程管理单元指令取得单元的输出连接有指令输出单元,所述指令输出单元的输出端分别与所述算术逻辑运算单元以及乘加器单元连接。
7.根据权利要求1所述的并行处理器,其特征在于:所述线程管理单元包括用于配置线程的线程控制寄存器,所述线程控制寄存器包括:用于表明任务程序的起始物理地址的起始程序指针寄存器,用于表明一个线程的线程本地存储区域的起始地址的本地存储区域起始基点寄存器,用于表明线程全局存储区域的起始地址的全局存储区域起始基点寄存器,用于表明一个线程工作组/工作项配置信息的线程配置寄存器组,以及用于表明一个线程的线程标识的配置寄存器。
8.根据权利要求1所述的并行处理器,其特征在于:所述线程管理单元依据线程的输入数据状态以及并行处理器的硬件资源来确定是否激活相应线程。
9.一种有效消除数据访问延迟的并行数据处理方法,其特征在于:在权利要求1至8 中任一项所述的并行处理器中对线程进行并行处理,包括如下步骤:
a、配置所述并行处理器中的线程管理单元,分配各个线程的资源;
b、根据所述线程处理引擎的状态及待处理线程队列状态,将待处理线程队列中的线程送入所述线程处理引擎;
c、所述线程处理引擎处理送入的线程,使之运行;
所述步骤a进一步包括:
a1、配置该并行处理器运行程序的程序指针寄存器,配置并行处理器内各个线程的本地存储区域起始基点寄存器,配置并行处理器内线程的全局存储区域起始基点寄存器,配置并行处理器内各个线程的工作组/工作项的线程配置寄存器组;
所述步骤b进一步包括:
b1、将待处理线程队列划分为多个组,每个组包含若干个线程,每个组组成一个1维多线程,若线程处理引擎存在空闲硬件计算资源,则把待处理线程的组一起送入所述线程处理引擎,多个空闲的组之间按轮询的机制进行调度;
所述步骤c进一步包括:
c1、线程处理引擎实现多级流水线设计,每个时钟都访问不同组的指令,若干时钟后回到访问最初组的下一条指令;
c2、线程处理引擎每级流水都同时传递着每个线程的线程标识,当线程处理引擎到达执行流水阶段时,如果数据加载与存储指令访问的地址没在数据缓存时,该组涉及到的多个线程均被调度出线程处理引擎,同时释放出该组占据的硬件时间片资源;
c3、当取值和执行阶段之间相隔达到设定时间时,每个组执行跳转指令时将会没有代价,也就达到最佳指令执行效率。
CN202110064248.4A 2021-01-18 2021-01-18 有效消除数据访问延迟的并行数据处理方法及并行处理器 Active CN112732416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110064248.4A CN112732416B (zh) 2021-01-18 2021-01-18 有效消除数据访问延迟的并行数据处理方法及并行处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110064248.4A CN112732416B (zh) 2021-01-18 2021-01-18 有效消除数据访问延迟的并行数据处理方法及并行处理器

Publications (2)

Publication Number Publication Date
CN112732416A CN112732416A (zh) 2021-04-30
CN112732416B true CN112732416B (zh) 2024-03-26

Family

ID=75592250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110064248.4A Active CN112732416B (zh) 2021-01-18 2021-01-18 有效消除数据访问延迟的并行数据处理方法及并行处理器

Country Status (1)

Country Link
CN (1) CN112732416B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221493A (zh) * 1999-08-31 2008-07-16 英特尔公司 并行处理器中的多线程执行
CN101739242A (zh) * 2009-11-27 2010-06-16 宇盛通信科技(深圳)有限公司 一种流数据处理方法及流处理器
CN101763285A (zh) * 2010-01-15 2010-06-30 西安电子科技大学 零开销切换多线程处理器及其线程切换方法
CN102023844A (zh) * 2009-09-18 2011-04-20 深圳中微电科技有限公司 并行处理器及其线程处理方法
CN109408118A (zh) * 2018-09-29 2019-03-01 古进 Mhp异构多流水线处理器
CN111339207A (zh) * 2020-03-20 2020-06-26 宁夏菲麦森流程控制技术有限公司 一种多类型数据库之间同步数据的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11792307B2 (en) * 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
CN112835713B (zh) * 2021-01-28 2024-02-06 交通银行股份有限公司 一种基于多容器集群的工作负载组合统一部署方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221493A (zh) * 1999-08-31 2008-07-16 英特尔公司 并行处理器中的多线程执行
CN102023844A (zh) * 2009-09-18 2011-04-20 深圳中微电科技有限公司 并行处理器及其线程处理方法
CN101739242A (zh) * 2009-11-27 2010-06-16 宇盛通信科技(深圳)有限公司 一种流数据处理方法及流处理器
CN101763285A (zh) * 2010-01-15 2010-06-30 西安电子科技大学 零开销切换多线程处理器及其线程切换方法
CN109408118A (zh) * 2018-09-29 2019-03-01 古进 Mhp异构多流水线处理器
CN111339207A (zh) * 2020-03-20 2020-06-26 宁夏菲麦森流程控制技术有限公司 一种多类型数据库之间同步数据的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GPU通用计算软硬件处理架构研究;谢建春;;航空计算技术(第02期);全文 *
SMP2仿真引擎的多核并行化;苏年乐;周鸿伟;李群;王维平;;宇航学报;20100730(第07期);全文 *
提高硬件多线程处理器性能的方法;王传福;周学海;;计算机工程(第04期);全文 *
时间戳服务器并行数据处理的设计与实现;容晓峰;苏锐丹;刘平;周利华;;计算机工程(第16期);全文 *

Also Published As

Publication number Publication date
CN112732416A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
US8756605B2 (en) Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
CN101739242B (zh) 一种流数据处理方法及流处理器
CN102023844B (zh) 并行处理器及其线程处理方法
EP1839146B1 (en) Mechanism to schedule threads on os-sequestered without operating system intervention
US7627770B2 (en) Apparatus and method for automatic low power mode invocation in a multi-threaded processor
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US8972699B2 (en) Multicore interface with dynamic task management capability and task loading and offloading method thereof
US8341641B2 (en) Task processor
JP4292198B2 (ja) 実行スレッドをグループ化するための方法
KR20120070303A (ko) 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법
CN110308982B (zh) 一种共享内存复用方法及装置
EP1760581A1 (en) Processing operations management systems and methods
WO2007076190A2 (en) Efficient task scheduling by assigning fixed registers to scheduler
CN111459647B (zh) 基于嵌入式操作系统的dsp多核处理器并行运算方法及装置
WO2017054541A1 (zh) 一种处理器及其处理任务的方法、存储介质
EP4336352A1 (en) Instruction execution method, processor and electronic apparatus
EP2282265A1 (en) A hardware task scheduler
CN111045800A (zh) 一种基于短作业优先的优化gpu性能的方法及系统
CN112732416B (zh) 有效消除数据访问延迟的并行数据处理方法及并行处理器
CN109408118B (zh) Mhp异构多流水线处理器
CN109388429B (zh) Mhp异构多流水线处理器的任务分发方法
US6895497B2 (en) Multidispatch CPU integrated circuit having virtualized and modular resources and adjustable dispatch priority
CN117501254A (zh) 使用近存储器计算为复杂操作提供原子性
US20140136818A1 (en) Fetch less instruction processing (flip) computer architecture for central processing units (cpu)
KR100728899B1 (ko) 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서

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