CN103294623B - 一种可配置simd系统的多线程调度电路 - Google Patents

一种可配置simd系统的多线程调度电路 Download PDF

Info

Publication number
CN103294623B
CN103294623B CN201310077408.4A CN201310077408A CN103294623B CN 103294623 B CN103294623 B CN 103294623B CN 201310077408 A CN201310077408 A CN 201310077408A CN 103294623 B CN103294623 B CN 103294623B
Authority
CN
China
Prior art keywords
processor
program
data
module
initialization
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
Application number
CN201310077408.4A
Other languages
English (en)
Other versions
CN103294623A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310077408.4A priority Critical patent/CN103294623B/zh
Publication of CN103294623A publication Critical patent/CN103294623A/zh
Application granted granted Critical
Publication of CN103294623B publication Critical patent/CN103294623B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明公开了一种可配置SIMD系统的多线程调度电路。本发明中的资源管理模块,用于保存对应处理器的初始化信息、运行/空闲状态、本地程序SRAM中所存程序编号、是否为重复状态、是否是首处理器、是否为向上取指模式;处理器状态寄存器,用于保存对应处理器是否完成程序初始化、是否完成数据初始化、是否处于同步状态;轮寻控制器,查询需要使用DMA或者AHB的处理器请求信号,使用round?robin仲裁器响应相关请求,外围设备交互接口,用于与处理器、AHB总线、DMA控制器、外部程序分配模块的信号交互。本发明弥补静态编译器对SIMD系统调度的不足,并提高整个多核系统的硬件利用率。

Description

一种可配置SIMD系统的多线程调度电路
技术领域
本发明涉及一种可配置的单指令多数据流(SIMD)的多核系统的调度电路。
背景技术
单指令多数据流(SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据矢量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。在微处理器中,单指令流多数据流技术则是一个控制器控制多个平行的处理微元,例如Intel的MMX或SSE以及AMD的3DNow!技术。
单指令流多数据流(SIMD)的关键特征是它的并行处理机。它的并行处理机是由单一控制部件控制多个处理单元同时进行运算操作,多个处理单元通常通过互连网络连接成阵列结构,故也称为阵列处理机。并行处理机的所有处理单元同时执行从控制部件广播来的同一条指令,但指令使用不同的数据,因此,并行处理机是指令操作级并行的单指令流多数据流处理机。
SIMD的效率取决于计算程序向量化的程度,依靠的并行措施是资源重复,实际有效速度取决于另外两个因素:一是标量运算速度,二是编译过程的时间开销,它是根据功能专用化的原则组成的一种异构型多核系统。所以说,程序的向量化程度以及多核资源的利用率是SIMD系统的最大制约因素,传统的方法是在编译过程中尽量增加指令的并行程度从而提高多核系统的利用率,但该方法对程序员要求较高且机器自动化处理能力较弱,所以我们必须设计相应的硬件来配合,提高多核系统的利用率。
发明内容
为了弥补静态编译器对SIMD系统调度的不足,并提高整个多核系统的硬件利用率,本发明提供了一种可配置的用于SIMD系统的多线程调度设计,能够满足16核的处理器的线程调度,本发明提供了整套调度方案,能够大大提高多核系统的硬件利用率,并大幅减少系统中AHB总线的带宽压力,加快了整个系统的运行效率,降低了成本。
本发明解决其技术问题所采用的技术方案为:
一种可配置的用于SIMD系统的多线程调度电路,包括以下一些电路模块:资源管理模块,处理器状态寄存器模块,轮寻控制模块和外围设备交互接口。
所述资源管理模块包括三个子模块:主配置寄存器模块、空闲资源计数模块、最优先空闲处理器查询模块,其中:
所述的主配置寄存器模块为一个80位宽、32深度的寄存器组,记录对应线程是否有效及其初始化状态,由外部的线程分配模块根据空闲资源以及最优先空闲线程查询器进行初始化,线程控制模块根据该寄存器中的值对相应处理器做初始化操作并做后续处理和维护。
所述空闲资源计数器由两个加法器组成,每个时钟若有新线程加入或完成则重新计算当前的空闲资源数量。
所述最优先空闲线程查询器由一些列与或逻辑组合够成,每个时钟查找最优的首个空闲处理器的编号
所述的轮寻控制模块由两个轮寻电路组成,分别为需调用DMA轮寻和AHB总线需求轮寻,其中:
所述的DMA轮寻电路在每个时钟查找是否有处理器需要调用DMA,AHB总线需求轮寻电路则再每个时钟查找是否有处理器需要通过AHB总线完成配置寄存器的初始化。
所述的AHB总线为32位宽度。
所述处理器状态寄存器包括六个子模块:配置初始化状态寄存器、程序初始化状态寄存器、数据初始化状态寄存器、数据状态寄存器、对应首线程序号寄存器组,其中:
所叙述的配置初始化状态寄存器有16位宽度,每一位记录对应处理器的配置寄存器初始化状态。
所叙述的程序初始化状态寄存器有16位宽度,每一位记录对应处理器的程序初始化状态。
所叙述的数据初始化状态寄存器有16位宽度,每一位记录对应处理器的数据初始化状态。
所叙述的同步状态寄存器有16位宽度,每一位记录对应处理器是否处于同步状态。
所叙述的数据状态寄存器有16位宽度,每一位记录对应处理器的下一段程序所需数据是否准备就绪。
所述对应首线程序号寄存器组由16个4位寄存器构成,用于存放对应处理器所运行程序存放的处理器编号(若为“向上取指模式”则该处理器中运行的程序不在本地程序SRAM中,而是在首线程所在的处理器中)。
所述向上取指模式是指几个编号相连的处理器被分配了“同态程序”,为减少程序数据在总线中的传输故只将程序存放于一个处理器中,其他与其相邻的后续处理器则运行该处理器向外发出的程序指令。
所述同态程序是指令相同而程序不同的程序段,常见与加解密程序中,加密过程的指令是相同的只是加密的数据不同。
所述外围设备交互接口包括与处理器、AHB总线、DMA控制器、外部程序分配模块的接口。
所述与处理器的接口包含同步信号、等待信号、完成信号以及使能信号等。
所述同步信号是处理器运行的程序需要其他处理器中产生的数据时暂停运行并向线程调度器发出同步请求。
所述等待信号是处理器中程序运行到wait指令时需要等待数据从外部传输至本地数据SRAM,处理器暂停运行并发出等待请求,通过该方式将数据段的运输分块,即先传输部分计算时需要使用到的数据后就开始运行相关的程序指令,同时请求传输下一部分的数据,以实现程序运行和数据运输并行进行。
所述完成信号是处理器中程序运行到halt指令时需要向线程调度器发送程序运行完成的请求。
所述使能信号是线程调度器在响应处理器请求并完成同步、数据传输后将对应处理器的使能信号置位,从而使处理器继续运行,或者是在新程序分配完成后控制对应处理器开始运行。
进一步地,上述一种可配置的用于SIMD系统的多线程调度电路还具有以下特点:资源管理模块包括外部写入接口、轮寻控制模块的信号接口以及寄存器组,其中:
所述外部写入接口与外部程序分配模块相连。
所述轮寻控制模块的信号接口与寻控制模块相连。
所述寄存器组由外部程序分配模块写入相应程序的初始化信息并将对应寄存器置为有效,由轮寻模块在处理完某个处理器的HALT请求后将器在主配置寄存器中对应的寄存器置为无效(即表示该处理器处于空闲状态)。主配置寄存器中还包含了重复程序标记,若本地程序SRAM中已有相同程序指令则将对应位置位,从而无需再次调用DMA传输程序指令从而节省总线开销。
所述HALT请求是指程序指令运行结束后会向线程调度器发出完成请求,若有数据需要写回则线程调度电路将会调用DMA完成数据传输。
进一步地,上述一种可配置的用于SIMD系统的多线程调度电路还具有以下特点:轮寻控制模块包含了DMA调用接口、AHB模块接口以及处理器请求查询模块,其中:
所述DMA调用接口包括了DMA使能信号、对应处理器编号、对应程序编号。
所述AHB模块接口包括了通用的AHB主设备信号接口,作为主机向对应的处理器写入初始化信息。
所述处理器请求查询模块即为roundrobin仲裁器,根据处理器的请求情况作出响应的判断,即每次查询都将之前响应过的处理器作为起点(比如编号为2的处理器),这时下一个处理器(编号为3的处理器)的需求为最高优先级,以此类推优先级逐渐降低,从而保证对每个线程的资源分配保持公平。
进一步地,上述一种可配置的用于SIMD系统的多线程调度电路还具有以下特点:根据当前资源管理模块的空闲资源信息,选择一个或者几个处理器运行于SIMD模式下,先检查首个空闲的处理器的本地程序SRAM中所存程序编号是否与将要分配的程序编号相同,若相同则对该处理器的资源管理寄存器中重复状态位设为1,否则设为0,同时对这些组成SIMD模式的处理器所对应的资源管理模块中写入将要分配程序的编号,然后对该组的首个处理器对应资源管理寄存器的首处理器位设为0,其他处理器对应资源管理寄存器的相应位设为1。在轮寻模块处理初始化请求时,将是否为首处理器的信息通过AHB传输到处理器中,处理器在运行时根据初始化时得到的信息判断是通过本地程序SRAM取指或者是“向上取指”来获取程序指令,从而达到SIMD模式下指令共享的目的。
本发明的技术思路为:此可配置的用于SIMD系统的多线程调度电路利用加解密等多“同态”程序的特点,采用“向上取指”的模式,通过计算资源数以及同态程序数尽可能的实现最优的SIMD模式,减少总线开销,并且利用数据段的分块传输到达指令运行与数据传输的并行从而提高系统效率。
该电路支持单个处理器运行单一程序和多个处理器运行同一程序:通过在对处理器中状态寄存器初始化时对取指模式寄存器设为1或0来实现,当处理器的取指模式寄存器为1时,将从前一处理器的指令传递接口获得指令程序,并将获得的指令通过自身的指令传递接口向外发出;当处理器的取指模式寄存器为0时,将从自身的本地程序SRAM中获得指令程序,并将获得的指令通过自身的指令传递接口向外发出。
本发明的有益效果:1、实现了SIMD模式的可配置,可支持1-16个处理器运行于SIMD模式。2、通过数据段分段传输达到与指令运行并行进行,提高了总线的利用率。3、检查当前处理器中是否已有需要运行的程序段,若有则无需再次通过总线传输程序指令减少了总线的负载。4、在SIMD模式下指令程序只需传输一次同样减少了总线的负载。
附图说明
图1是本发明的可配置的用于SIMD系统的多线程调度电路结构框图;
图2是本发明的资源管理模块模块框图;
图3是本发明的主配置寄存器模块;
图4是本发明的轮寻控制模块框图;
图5是本发明的DMA轮寻模块的运行过程;
图6是本发明的AHB模块轮寻过程;
图7是本发明的处理器状态寄存器模块。
具体实施方式
下面结合附图对本发明作进一步描述。
图1是整个可配置的用于SIMD系统的多线程调度电路的模块框图,包括资源管理模块,用于保存对应处理器的初始化信息、运行/空闲状态、本地程序SRAM中所存程序编号、是否为重复状态(不需传输程序指令,本地SRAM中已存在)、是否为向上取指模式,并计算当前系统的空闲资源数以及最优先空闲线程的编号;处理器状态寄存器,用于保存对应处理器是否完成程序初始化、是否完成数据初始化、是否处于同步状态、下一段数据是否准备就绪、首线程的处理器编号等;轮寻控制器,查询需要使用DMA或者AHB的处理器请求信号,使用roundrobin仲裁器响应相关请求,并修改响应的处理器状态寄存器、主配置寄存器等;与处理器的交互接口。
图2是资源管理模块框图,包括主配置寄存器模块、空闲资源计数模块、最优先空闲处理器查询模块,其中:
图3是主配置寄存器模块,ONF为32位,记录了线程的相关控制信息,如下表所示:
PC为16位,为线程的起始地址;PCOffset为16位,为PC的偏移值;DataOffset为16位,为数据指针的偏移值
空闲资源计数模块,由两个加法器构成,当外部分配模块写入新的程序信息并置为线程有效时,将当前有效资源数减1,当轮寻控制模块发出有处理器完成程序运行时,当前有效资源数减去本次完成处理的处理器个数。
最优先空闲处理器查询模块,指向首个空闲处理器的位置,当外部程序分配模块需要写入新的程序信息时,将程序分配到首个空闲的处理器中(即将程序信息写入到该主配置寄存器中)。
图4是轮寻控制模块框图,包括了DMA轮寻模块、AHB轮寻模块、与DMA的控制接口、与AHB的接口、与主配置寄存器以及处理器状态寄存器的接口、与处理器的交互接口。其中:
图5是DMA轮寻模块的运行过程,DMA轮寻模块模块用于查找各个处理器是否有需要使用DMA的申请,通过使用roundrobin仲裁器来响应各个处理器的请求,完成对应的数据传输任务后,修改主配置寄存器中的对应处理器的有效位或者处理器状态寄存器中对应处理器的程序初始化标志位、数据初始化标志位、数据就绪标志位。具体过程如下:
1、若有请求则对各个处理器的DMA使用请求进行roundrobin仲裁,并执行步骤2。
2、判断是否是第一次相应该处理器的请求,若是就执行步骤3,否则执行步骤10。
3、判断该处理器是否为首线程模式,若是则执行步骤4,否则执行步骤5。4、将当前处理器编号保存于rModeCheck[n]中(n为当前处理器编号),并执行步骤6。
5、查找首线程处理器编号,并保存于rModeCheck[n]中(n为当前处理器编号),并执行步骤6。
6、使用AHB总线为对应处理器的配置寄存器做初始化,完成后对rReg_Init(配置初始化状态寄存器)相应位置位,并执行步骤7。
7、使用DMA将程序指令传输到对应处理器的程序SRAM中,完成后对rPro_init(程序初始化状态寄存器)相应位置位,并执行步骤8。
8、使用DMA将首段数据传输到对应处理器的数据SRAM中,完成后对rReady(数据就绪状态寄存器)相应位置位,并执行步骤9.
9、查询与其构成SIMD模式的其他处理器是否都准备就绪,若就绪将这些处理器同时使能,并执行步骤1。
10、判断是否为wait请求,若是则执行步骤11,否则执行步骤12。
11、若有数据需要送出去则使用DMA将相关数据传输到外部存储器中,同时将下一部分数据传输到对应处理器的数据SRAM中,完成后对rReady(数据就绪状态寄存器)相应位置位,并执行步骤1。
12、若有数据需要送出去则使用DMA将相关数据传输到外部存储器中,然后将主配置寄存器中对应处理器的有效位置为0,并执行步骤1。
图6是AHB模块轮寻过程,AHB轮寻模块用于处理收到同步请求时使用AHB接口获取对应处理器中相关的同步信息,并送到外部同步处理模块中处理。器具体过程如下:
1、若有请求则对各个处理器的DMA使用请求进行roundrobin仲裁,并执行步骤2。
2、通过AHB接口获取对应处理器中的同步信息,并执行步骤3。
3、将同步信息发送到外部同步处理模块中,并执行步骤1。
图7是处理器状态寄存器模块,包含配置初始化状态寄存器、程序初始化状态寄存器、数据初始化状态寄存器、数据状态寄存器、对应首线程序号寄存器组,其中:
所叙述的配置初始化状态寄存器有16位宽度,每一位记录对应处理器的配置寄存器初始化状态。
所叙述的程序初始化状态寄存器有16位宽度,每一位记录对应处理器的程序初始化状态。
所叙述的数据初始化状态寄存器有16位宽度,每一位记录对应处理器的数据初始化状态。
所叙述的同步状态寄存器有16位宽度,每一位记录对应处理器是否处于同步状态。
所叙述的数据状态寄存器有16位宽度,每一位记录对应处理器的下一段程序所需数据是否准备就绪。
所述对应首线程序号寄存器组由16个4位寄存器构成,用于存放对应处理器所运行程序存放的处理器编号(若为“向上取指模式”则该处理器中运行的程序不在本地程序SRAM中,而是在首线程所在的处理器中)。
所述向上取指模式是指几个编号相连的处理器被分配了“同态程序”,为减少程序数据在总线中的传输故只将程序存放于一个处理器中,其他与其相邻的后续处理器则运行该处理器向外发出的程序指令。
所述同态程序是指令相同而程序不同的程序段,常见与加解密程序中,加密过程的指令是相同的只是加密的数据不同。
图1中与处理器交互的信号包括了同步信号(syn)、等待信号(wait)、完成信号(halt)以及使能信号(start)等。
所述同步信号是处理器运行的程序需要其他处理器中产生的数据时暂停运行并向线程调度器发出同步请求,该请求信号一个周期的脉冲信号,直到使能信号再次为高电平后处理器继续运行。
所述等待信号是处理器中程序运行到wait指令时需要等待数据从外部传输至本地数据SRAM,处理器暂停运行并发出等待请求,通过该方式将数据段的运输分块,即先传输部分计算时需要使用到的数据后就开始运行相关的程序指令,同时请求传输下一部分的数据,以实现程序运行和数据运输并行进行,该请求信号需要持续保持高电平,直到检测到使能信号拉低后再次拉高到高电平后将该信号置为低电平,同时处理器继续向下运行。
所述完成信号是处理器中程序运行到halt指令时需要向线程调度器发送程序运行完成的请求,该请求为一个周期的脉冲信号。
所述使能信号是线程调度器在响应处理器请求并完成同步、数据传输后将对应处理器的使能信号置位,从而使处理器继续运行,或者是在新程序分配完成后控制对应处理器开始运行。当收到同步信号时,将使能信号置为低电平,直到外部同步模块发出同步完成信号后使能信号置为高电平;当收到等待请求时,检查对应处理器的下一段数据是否就绪(查看rReady寄存器的相应位),若为0即下一段数据已经就绪,则使能信号拉低一个周期后再置为高电平,并且记录下该请求从而发起下一段数据传输的DMA请求,若rReady寄存器的相应位为1,则使能信号保持不变,并且每次DMA完成一个操作后均会检查是该次操作否是wait信号为高的处理器所请求的DMA操作,若有该情况则将对应处理器的使能信号拉低一个周期后再次置为高电平并记录下该请求从而发起下一段数据传输的DMA请求。
综上所述,本发明的一种可配置SIMD系统的多线程调度电路优点:第一方面,实现SIMD的可配置,使得资源利用更加合理充分。第二方面,使用向上取指和本地程序重用减少了总线的负载,提高了系统的整体性能。第三方面,采用数据分段传输达到数据运输与指令运行的并行操作,提高了硬件的利用率。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。

Claims (3)

1.一种可配置SIMD系统的多线程调度电路,包括资源管理模块,处理器状态寄存器,轮寻控制模块和外围设备接口,其特征在于:
资源管理模块,用于保存对应处理器的初始化信息、运行/空闲状态、本地程序SRAM中所存程序编号、是否为重复状态、是否是首处理器、是否为向上取指模式,并计算当前系统的空闲资源数以及最优先空闲线程的编号;处理器状态寄存器,用于保存对应处理器是否完成程序初始化、是否完成数据初始化、是否处于同步状态、下一段数据是否准备就绪、首线程的处理器编号;轮寻控制模块,查询需要使用DMA或者AHB的处理器请求信号,使用roundrobin仲裁器响应相关请求,并修改响应的处理器状态寄存器、主配置寄存器;外围设备接口,用于与处理器、AHB总线、DMA控制器、外部程序分配模块的信号交互;所述向上取指模式是指几个编号相连的处理器被分配了“同态程序”,为减少程序数据在总线中的传输故只将程序存放于一个处理器中,其他与其相邻的后续处理器则运行该处理器向外发出的程序指令;“同态程序”是常见与加解密程序中,加密过程的指令是相同的只是加密的数据不同。
2.根据权利要求1所述的一种可配置SIMD系统的多线程调度电路,其特征在于:
该多线程调度电路中的轮寻控制模块根据当前资源管理模块的空闲资源信息,选择一个或者几个处理器运行于SIMD模式下,先检查首个空闲的处理器的本地程序SRAM中所存程序编号是否与将要分配的程序编号相同,若相同则对该处理器的资源管理寄存器中重复状态位设为1,否则设为0,同时对这些组成SIMD模式的处理器所对应的资源管理模块中写入将要分配程序的编号,然后对所述组成SIMD模式的处理器中的首个处理器对应资源管理寄存器的首处理器位设为0,其它处理器对应资源管理寄存器的相应位设为1;在轮寻控制模块处理初始化请求时,将是否为首处理器的信息通过AHB传输到处理器中,处理器在运行时根据初始化时得到的信息判断是通过本地程序SRAM取指或者是“向上取指”,来获取程序指令,从而达到SIMD模式下指令共享的目的。
3.根据权利要求1所述的一种可配置SIMD系统的多线程调度电路,其特征在于:
轮寻控制模块处理数据初始化时,根据外部程序分配模块中的程序信息来调用DMA控制器对第一部分程序所需的数据进行传输,而不是将所有数据一次性传输,完成这部分数据传输后通过外围设备接口对相应处理器进行使能,并根据外部程序分配模块中的程序信息调用DMA控制器对下一部分程序所需的数据进行传输;当运行到等待指令时,轮寻控制模块处理该请求时检查下一部分程序所需数据是否传输完毕,若已完毕则通过外围设备接口对相应处理器进行使能,并根据外部程序分配模块中的程序信息来调用DMA控制器对第一部分程序所需的数据进行传输,再进行下一部分程序所需数据进行传输,否则等待其传输完毕后通过外围设备接口对相应处理器进行使能,同时根据外部程序分配模块中的程序信息来调用DMA控制器对第一部分程序所需的数据进行传输,再进行下一部分程序所需数据进行传输,从而使得数据传输和程序运行并行处理。
CN201310077408.4A 2013-03-11 2013-03-11 一种可配置simd系统的多线程调度电路 Expired - Fee Related CN103294623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310077408.4A CN103294623B (zh) 2013-03-11 2013-03-11 一种可配置simd系统的多线程调度电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310077408.4A CN103294623B (zh) 2013-03-11 2013-03-11 一种可配置simd系统的多线程调度电路

Publications (2)

Publication Number Publication Date
CN103294623A CN103294623A (zh) 2013-09-11
CN103294623B true CN103294623B (zh) 2016-04-27

Family

ID=49095531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310077408.4A Expired - Fee Related CN103294623B (zh) 2013-03-11 2013-03-11 一种可配置simd系统的多线程调度电路

Country Status (1)

Country Link
CN (1) CN103294623B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597654B (zh) * 2018-12-07 2022-01-11 湖南国科微电子股份有限公司 寄存器初始化方法、基础配置表的生成方法及嵌入式系统
CN116881090B (zh) * 2023-09-06 2024-01-26 北京壁仞科技开发有限公司 计算装置以及控制计算装置中的计算核的能耗的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2437837A (en) * 2005-02-25 2007-11-07 Clearspeed Technology Plc Microprocessor architecture
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法
CN101763285A (zh) * 2010-01-15 2010-06-30 西安电子科技大学 零开销切换多线程处理器及其线程切换方法
CN102012803A (zh) * 2010-11-25 2011-04-13 中国人民解放军国防科学技术大学 支持多宽度simd和多粒度simt的可配置矩阵寄存器单元
CN102681889A (zh) * 2012-04-27 2012-09-19 电子科技大学 一种云计算开放平台的调度方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US10061618B2 (en) * 2011-06-16 2018-08-28 Imagination Technologies Limited Scheduling heterogenous computation on multithreaded processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2437837A (en) * 2005-02-25 2007-11-07 Clearspeed Technology Plc Microprocessor architecture
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法
CN101763285A (zh) * 2010-01-15 2010-06-30 西安电子科技大学 零开销切换多线程处理器及其线程切换方法
CN102012803A (zh) * 2010-11-25 2011-04-13 中国人民解放军国防科学技术大学 支持多宽度simd和多粒度simt的可配置矩阵寄存器单元
CN102681889A (zh) * 2012-04-27 2012-09-19 电子科技大学 一种云计算开放平台的调度方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Efficient implementation of sorting on multi-core SIMD CPU architecture;Jatin Chhugani等;《Proceedings of the VLDB Endowment》;20081231;全文 *
Robust SIMD: Dynamically adapted SIMD width and multi-threading depth;Jiayuan Meng等;《Parallel & Distributed Processing Symposium (IPDPS)》;20121231;全文 *
芯片级多线程处理器的操作系统调度研究;邵立松等;《计算机工程》;20090831;全文 *

Also Published As

Publication number Publication date
CN103294623A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
US8209690B2 (en) System and method for thread handling in multithreaded parallel computing of nested threads
EP2972907B1 (en) Work stealing in heterogeneous computing systems
US9146777B2 (en) Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process
CN106462219B (zh) 管理处理器设备功耗的系统和方法
CN102023844B (zh) 并行处理器及其线程处理方法
CN103049241B (zh) 一种提高cpu+gpu异构装置计算性能的方法
CN101366004A (zh) 用于带有专用线程管理的多核处理的方法和设备
RU2012127580A (ru) Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред
CN104375882B (zh) 匹配于高性能计算机结构的多级嵌套数据驱动计算方法
CN106933669A (zh) 用于数据处理的装置和方法
KR20130080722A (ko) 병렬 컴퓨팅 프레임워크 기반의 클러스터 시스템, 호스트 노드, 계산 노드 및 어플리케이션 실행 방법
CN104050032A (zh) 用于有条件的屏障和急迫的屏障的硬件调度的系统和方法
JP2012507080A (ja) コンピュータシステムにおける割り込み通信技術
CN109522108A (zh) 一种基于Kernel合并的GPU任务调度系统及方法
Zheng et al. Architecture-based design and optimization of genetic algorithms on multi-and many-core systems
CN113407352A (zh) 用于处理任务的方法、处理器、设备和可读存储介质
Dogan et al. Accelerating graph and machine learning workloads using a shared memory multicore architecture with auxiliary support for in-hardware explicit messaging
JP2020027613A (ja) 人工知能チップ及び人工知能チップに用いられる命令実行方法
CN102760073B (zh) 一种任务调度方法、系统及装置
CN104503948A (zh) 支持多核网络处理架构的紧耦合自适应协处理系统
CN103294623B (zh) 一种可配置simd系统的多线程调度电路
CN105988856B (zh) 解释器访存优化方法及装置
CN109918335A (zh) 一种基于cpu+fpga 8路dsm架构服务器系统及处理方法
CN103294449A (zh) 发散操作的预调度重演
CN106537343A (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
C14 Grant of patent or utility model
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: 20160427

Termination date: 20190311