CN1444154A - 多处理机*** - Google Patents

多处理机*** Download PDF

Info

Publication number
CN1444154A
CN1444154A CN02121784A CN02121784A CN1444154A CN 1444154 A CN1444154 A CN 1444154A CN 02121784 A CN02121784 A CN 02121784A CN 02121784 A CN02121784 A CN 02121784A CN 1444154 A CN1444154 A CN 1444154A
Authority
CN
China
Prior art keywords
mentioned
data
processor
task
storer
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.)
Pending
Application number
CN02121784A
Other languages
English (en)
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of CN1444154A publication Critical patent/CN1444154A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明的构成包括可以以块单位访问的存储器,可利用存放于存储器中的块数据,执行指定的任务的一个以上的运算处理器,以及控制在运算处理器中的任务的执行的控制处理器;控制处理器的构成包括检验执行指定的任务时所使用的块数据之间的依赖关系的依赖关系检验单元,根据检出的依赖关系对访问存储器,从存储器中向运算处理器2传送数据,以及运算处理器的数据处理进行调度的调度单元。

Description

多处理机***
相关申请参考
本申请以2002年3月7日在日本特许厅提出的专利申请2002-61576为基本申请提出优先权权利要求,该基本申请的所有内容此处作为参考文献引用。
技术领域
本发明涉及可处理图像数据等的大容量数据的由多个处理机组成的多处理机***。
背景技术
通常的处理机,因为是以处理容量比较小的数据为前提,寄存器一般是使用昂贵的小容量的多端口存储器。因此,如使用多个这种通常的处理机构筑多处理机***,则各处理机之间必需进行频繁的数据交换,各处理机的控制变得很复杂。
现有的多处理机***的代表性***有共享存储型并行处理机***和向量处理机***。
共享存储型并行处理机***,因为运算器用的处理机是自发地取得数据,程序很难对各处理机的处理进行最优调度。比如,在重叠描绘图形的场合,因为重复小处理单位,结果数据容量很大,因此在同一***中,各处理机变成自发的多次取得数据进行重复地处理,事实上不可能优化各处理机的处理。
另外,在向量处理机***中,主计算机控制向量处理机的处理。但是,在现有的***中,主计算机不对向量处理机的网络访问及存储器访问进行调度,而是由编译器进行调度。比如,在同一***中进行图形的重叠描绘的场合,数据的依赖关系全部都必须在编译器上检验而进行调度,需要编译处理时间。
发明内容
根据本发明的一实施例的多处理机***的构成包括利用存放于存储器中的数据执行任务的一个以上的运算处理器和控制上述运算处理器的任务的执行的控制处理器,上述控制处理器的构成包括检验执行任务之际数据之间的依赖关系的检验单元和根据上述检验的依赖关系,访问上述存储器,将数据从上述存储器传送到上述运算处理器以及进行上述运算处理器中的运算调度的调度单元。
附图说明
图1为示出本发明的多处理机***的一实施例的概略构成的框图。
图2为本实施例的处理内容的说明图。
图3为示出Blend指令的一例的示图。
图4为图3的Blend指令变换为中间指令的图。
图5为控制处理器的动作说明图。
图6为示出控制处理器的动作的流程图。
图7为示出控制处理器6的进行的调度管理的一例的图。
图8为示出本实施例的调度方法的一例的流程图。
图9为示出调度管理单元的内部构成的一例的框图。
图10为示出块数据的有效利用率和传送速度提高率的曲线图。
图11为示出图像处理专用的本发明的多处理机***的一例的框图。
具体实施方式
下面参照附图对本发明的多处理机***的一优选实施例予以具体说明。
图1为示出本发明的多处理机***的一实施例的概略构成的框图。图1的多处理机***的构成包括:由多个存储体构成的可以以存储体为单位进行访问的存储器1;具有利用以存储体为单位读出的块数据进行规定的运算处理的多个运算处理器2的运算处理单元(LDALU)3;控制在多个运算处理器2和存储器1之间收发数据的纵横单元(x-bar)4;控制纵横单元4的纵横控制单元5;控制运算处理单元3的控制处理器(LDPCU)6;以及和外存储器7进行数据收发的外部接口单元8。
存储器1,比如,是利用有多个存储体组成的单端口存储器构成的。运算处理单元3包含利用以存储体单位读出的块数据执行任务的多个运算处理器2和对应于各运算处理器2而设置的SRAM 9。
存储器1,运算处理单元3及外部接口单元8,通过缓存10与纵横单元4进行数据收发。
控制处理器6的构成包括检验各任务使用的块数据之间的依赖关系的依赖关系检验单元21;掌握运算处理器2及纵横单元4的处理状况等的资源检验单元22;从存储器1向运算处理器2传送数据、访问存储器1及进行上述运算处理器2中的数据处理的调度的调度管理单元23;控制在存储器1和运算处理器2之间的DMA传送的DMA控制器24;以及存放由程序给出的指令集的指令存放单元25。
图2为本实施例的处理内容的说明图。如图所示,在本实施例中,比如,假设以两幅图像合成(混合)的任务的多次反复处理作为一个线程,并行执行相互没有依赖关系的多个线程。此处,假设在生成同一或不同的合成图像之际共用的任务之间具有依赖关系,其他的任务没有依赖关系。
在图2中,带有符号0~12的各块表示图像数据,在各块的上侧记载的addrXX表示对应的图像数据的存放地址。比如,addr0a表示存储器1的地址0a。
图2的线程0,在由标识号P0的运算处理器2将存放于存储器1的地址0a中的图像0和存放于地址1a中的图像1合成的图像8存放于地址0c中的同时,由标识号P2的运算处理器2将存放于存储器1的地址2a中的图像2和存放于地址3a中的图像3合成的图像9存放于地址2c中,之后,由标识号P0的运算处理器2对图像8,9合成的图像12进行存放于地址0d中的处理。
另外,图2的线程1,在由标识号P1的运算处理器2将存放于存储器1的地址3c中的图像4和存放于地址0b中的图像5合成的图像10存放于地址1b中的同时,由运算处理器P3将存放于地址1d中的图像6和存放于地址2b中的图像7合成的图像11放于地址3b中,之后,由标识号P1的运算处理器2对图像10,11合成的图像13进行存放于地址1c中的处理。
在本实施例中,准备了Blend指令作为将两幅图像合成用的专用指令。Blend指令表述为Blend(p,x,y,z)。p是运算处理器2的标识号,y是从存储器1读出的第1输入块数据的地址,z是从存储器1读出的第2输入块数据的地址,x是写入存储器1的输出块数据的地址。就是说,Blend(p,x,y,z)表示由标识号p的运算处理器2将存储器1的地址y,z的第1及第2输入块数据合成的块数据存放于地址x中。
图2的线程0,1,如图3所示,由6个Blend指令表述。图3的线程0的Blend(P0,0c,0a,1a)对应于生成图2的图像8的处理,Blend(P2,2c,2a,3a)对应于生成图像9的处理,而Blend(P0,0d,0c,2c)对应于生成图像12的处理。
另外,线程1的Blend(P1,1b,3c,0b)对应于生成图2的图像10的处理,Blend(p3,3b,1d,2b)对应于生成图像11的处理,而Blend(P1,1c,1b,3b)对应于生成图像13的处理。
图3所示的指令集,存放于图1所示的指令存放单元25中。控制处理器6或图中未示出的比较器及解释器将图3所示的指令集变换为如图4所示的中间指令。变换后的中间指令,可存放于指令存放单元25,也可另外设置用于存放中间指令的存放单元。
如图所示,一个Blend指令变换为3个中间指令,并且由图中未示出的汇编器变换为机械语言而由控制处理器6执行。
比如,以Blend(P0,0c,0a,1a)为例,首先,利用中间指令DMA(POSPM,0a)将存储器1的地址0a的块数据DMA传送到与识别号P0的运算处理器2相对应的SRAM 9。接着,按照中间指令DMA(POSPM,1a)将存储器1的地址1a的块数据经DMA传送到与识别号P0的运算处理器2相对应的SRAM 9。接着,按照中间指令kick(P0,0c,POSPM,Blend),由识别号P0的运算处理器2将存放于SRAM 9中的两个块数据合成,合成的块数据存放于存储器1的地址0c中。kick指令的最后自变量Blend是表示是否有Blend处理的指令集的地址的标志。
在图4的中间指令集的右侧记述的数字0A,0B等是识别中间指令的序号。
图5为控制处理器6的动作说明图,图5的右侧方向表示时间轴。图5说明的是图4所示的处理线程0,1的场合的控制处理器6的动作。
首先,控制处理器6,顺序处理线程0的中间指令0A,0B,0C。此时,控制处理器6,指示对设置于调度管理单元23内的任务队列进行DMA传送,立刻进行下一个中间指令的处理。
这样,控制处理器6,不是对各个中间指令一个个进行DMA传送,而只是对DMA传送指示进行蓄积于任务队列中的处理。
在线程0的中间指令0C的处理结束阶段,比如,如果从图中未示出的定时器有线程的切换中断信号输入到调度管理单元23,则控制处理器6就顺序处理线程0顺序1的中间指令1A,1B,1C代替线程0。并且在此处,控制处理器6还指示对设置于调度管理单元23内的任务队列进行DMA传送,立刻进行下一个中间指令的处理。
在线程1的中间指令1C的处理结束阶段,比如,如果从图中未示出的定时器有调度中断信号输入到调度管理单元23,则调度管理单元23进行关于执行蓄积于任务队列中的中间指令的处理的任务调度,按照调度的顺序,控制处理器6,控制DMA控制器24及运算处理器2执行各任务。
线程的切换中断信号及调度中断信号,比如,是从微处理器***内的图中未示出的定时器及计数器等具有时间计测功能的电路周期地输入。或者也可以从微处理器***的外部电路输入这些中断信号。
在图5中示出的是,在将线程0,1的各中间指令每3个为一组执行时,输入调度中断信号,表示每当线程0或1的各中间指令每3个为一组执行时输入线程的切换中断信号的示例,但这些中断信号的输入定时也可根据实际装置形式而进行种种改变。
如果将图5的动作按照时间时序总结,就成为图6的流程图。首先,控制处理器6,选择线程顺序执行各中间指令(步骤S1),指示对调度管理单元23的任务队列进行DMA传送(步骤S2)。
接着,控制处理器6,判断是否有线程的切换中断信号输入到调度管理单元23(步骤S3),并且反复执行步骤S1,S2的处理一直到此中断信号输入为止。
如有线程的切换中断信号输入,控制处理器6在可执行的线程间进行仲裁,选择一个线程执行(步骤S4)。在图5中,因为只有两个线程,在线程0之后执行线程1。
其后,如有调度中断信号输入(步骤S5),调度管理单元23就执行调度处理。如输入调度中断,首先,调度管理单元23,在读出进入任务队列的任务(步骤S6)后,在按照地址检验所读出的任务的数据的依赖关系的同时,检验资源冲突(纵横单元4及存储器1的端口号等),以效率最高的方式对任务进行调度(步骤S7)。这种调度,因为可以作为控制处理器6的软件安装,可根据安装方式而有种种改变。
接着,控制处理器6,按照调度的顺序,控制DMA控制器24及运算处理器2以执行实际上可执行的任务(步骤S8)。
图7为示出控制处理器6的进行的调度管理的一例的示图。如图7(a)所示,假设在任务队列中蓄积有对标识号P0的运算处理器2的任务E0,E1,E0,E2和对标识号P1的运算处理器2的任务E0,E0,E2,E2。不特别关心这些任务的具体内容,下面以执行上述的Blend指令的任务为例进行说明。
在不进行任何调度管理的场合,控制处理器6,因为是从先进入任务队列的任务顺序执行,无论是标识号P0,P1的运算处理器2中的任何一个首先都是执行任务E0。但是,任务E0是执行同一Blend指令,因为在执行该指令之际是利用存放于存储器1中的同一数据,标识号P0,P1的运算处理器2不能同时进行处理。因此,如图7(b)所示,标识号P1的运算处理器2必须等待标识号P0的运算处理器2结束任务E0的处理。所以,标识号P1的运算处理器2需要花费的时间是一直到所有的处理结束的时间。
另一方面,本实施例中的调度管理单元23,为了使标识号P0,P1的运算处理器2可以高效率地执行任务,对蓄积于任务队列中的任务进行调度。图7(c)示出使标识号P1的运算处理器2先执行任务E2的调度示例。因为任务E0,E2分别利用另外的数据执行Blend指令,不同的运算处理器2可同时执行各任务。
这样,在本实施例中,因为是由控制各运算处理器2的任务的控制处理器6进行调度以使多个运算处理器2并行执行任务,所以各运算处理器2可高效率地处理任务。就是说,根据本实施例,可以对各运算处理器2中的处理进行有效的调度。
在上述实施例中,是针对执行Blend指令的任务予以说明的,执行的指令不限定于Blend指令。作为构成任务的要素,只要是具备以下3种的指令就可以。
1)表示任务所需要的数据的标识符。此处,所谓的标识符是表示指示存储器1的块数据用的,标识符也可以是多个。
2)表示执行任务的运算器的标识符。
3)表示作为执行任务的结果的数据的标识符。
1)~3)的标识符不一定必须是用来访问存储器1的地址本身,也可以是与地址相对应的标识符(权标)。调度管理单元23,将任务的顺序依赖关系表现为标识符之间的依赖关系而执行任务的调度。
下面对调度管理单元23的调度方法的一例予以详述。调度管理单元23的处理,可以以软件或硬件任何一种来实现,也可以使软件和硬件协调动作而实现。
图8为示出本实施例的调度方法的一例的流程图。在图8的流程图中,示出以对应于地址的标识符对在各运算处理器2中的处理的开始和结束进行管理的示例。
首先,控制处理器6,向要开始处理的运算处理器2发送对应于地址的标识符(步骤S21)。接收到此标识符的运算处理器2执行指定的处理(步骤S22),在处理结束时,将该标识符返回到控制处理器6(步骤S23)。
控制处理器6,将返回的标识符送到控制处理器6内的调度管理单元23。调度管理单元23确定下一个应该向其发送标识符的运算处理器2(步骤S24)。这样,块数据的依赖关系的检验全部由调度管理单元23进行。调度管理单元23,除了块数据的依赖关系之外,还考虑运算处理器2及纵横单元4的处理状况等资源信息,确定下一个应该向其发送标识符的运算处理器2。
于是,控制处理器6,向适应依赖关系的检验,并且可确保资源的运算处理器2发送与地址相对应的标识符(步骤S25)。
以上的动作反复执行一直到执行任务信息单元中登录的任务全部执行完毕为止(步骤S26)。
图9为示出调度管理单元23的内部构成的一例的框图。如图所示,调度管理单元23的构成包括记录对应于应该执行的任务的标识符的一览表的执行任务信息单元31,记录任务的执行条件的执行条件信息单元32,记录执行任务时可利用的运算处理器2的种类和其他的资源信息的资源管理表33,以及表示标识符与任务的对应关系的标识符表34。
任务,比如,是上述的Blend指令,对各Blend指令每一个都赋予一个标识符。比如,图9的标识符表34示出标识符T1对应于Blend(P0,0c,0a,1a),标识符T2对应于Blend(P2,2c,2a,3a),标识符T3对应于Blend(P0,0c,0c,2c),而标识符T4对应于Blend(P1,1b,3c,0b)。
记录于执行条件信息单元32中的条件与记录于执行任务信息单元31中的标识符互相对应。比如,在图9中,在同时执行与标识符T2相对应的Blend指令和与标识符T5相对应的Blend指令时,也执行与执行任务信息单元31的标识符T4相对应的Blend指令。另外,在执行与标识符T2相对应的Blend指令,或与标识符T3相对应的Blend指令时,执行与执行任务信息单元31的标识符T1相对应的Blend指令。
另外,如执行与执行任务信息单元31的标识符T4相对应的Blend指令结束,执行条件信息单元32,就当作记录的标识符T4全部结束。在不能为标识符分配多个位字段的场合,在执行任务信息单元中有时会出现多个T4。在此场合,已经结束的T4作为执行任务信息单元中从该T4到下一个出现的T4之间的时隙的任务。
执行任务信息单元31,在执行与标识符T4相对应的Blend指令之际,参照资源管理表33,确定执行对应的Blend指令的运算处理器2。调度管理单元23,参照资源管理表33的信息,确定执行Blend指令的运算处理器2的种类和Blend指令的执行时期。
如确定的运算处理器2结束处理,该运算处理器2释放资源,并将这一点记录于资源管理表33中。另外,在多个运算处理器2要求同一资源的场合,原则上优先处理先发出的Blend指令。
在本实施例中,是以块数据为单位从存储器1中读出,为了提高数据的传送速度,块数据的数据大小最好是设定为1千字节以上。这一点从一般的帧缓存的组块大小为2千字节来考虑可认为是合适的。但是,根据实际安装形式的不同最佳块数据的大小可以改变。
图10为示出表示在块数据中进行运算处理时可有效利用的数据的比例的有效利用率和从存储器1向运算处理器2发送的块数据的传送速度提高率的曲线图。有效利用率是数据大小越小越高,传送速度提高率是数据大小越大越高。
这样,块数据为1千字节以上的数据大小,对于块数据的传送及处理需要通常的处理器的***时钟的数个周期。存储器1和运算处理器2,因为是以块数据为单位进行处理,所以可以利用以块数据的处理时间为单位的时钟使控制处理器6动作。由此,可以使用比通常的处理器的***时钟慢的时钟使控制处理器6动作,不需要使用昂贵的高速部件及高速处理过程,并且硬件的定时设计也容易。
另外,对运算处理器2的数目没有特别限制,希望随着运算处理器2的数目的增加,可以使运算处理器2一次处理的块数据的数据大小加大。因此,由于在一个运算处理器2中的处理时间变长而使得控制处理器6切换运算处理器2的频繁程度相应地减小,可以减轻控制处理器6的处理负担。
此外,为了使多处理机***整体的性能提高,可以考虑提高相同***整体的动作频率的方法及增加运算处理器2的数目的方法,希望增加运算处理器2的数目而使各运算块应处理的块数据的大小加大。
(第2实施例)
第2实施例是将本发明应用于图像处理专用***的示例。
图11为示出图像处理专用的本发明的多处理机***的第2实施例的框图。如图所示,与纵横单元4相连接的有分别另外进行图像处理的多个运算处理单元(LDALU)3,控制处理器(LDPCU)6,以及存储器1。
在运算处理单元3的内部,设置有多个像素管道31,与各像素管道31相连接的SRAM(SPM)9,以及进行前处理的初始化/DDA单元32。
各运算处理单元3内的像素管道31相当于图1的运算处理器2,进行多边形的再现和模板匹配处理等图像处理。
图11的控制处理器6,检验在图像处理用的任务中使用的块数据的依赖关系,根据该检验结果对运算处理单元3内的像素管道31的动作进行调度。由此,可使各像素管道31并行动作,可以以极高速度进行各种图像处理。
在上述实施例中,说明的是在运算处理单元3内设置多个运算处理器2的示例,但在运算处理器2仅仅为一个时也可应用本发明。
在上述实施例中,说明的是进行图像数据的合成的处理的示例,但本发明也可应用于图像数据合成处理以外的各种运算处理。
另外,图1,图5及图9中示出的框图的至少一部分也可以利用软件代替硬件来实现。

Claims (12)

1.一种多处理机***,其构成包括:
利用存放于存储器中的数据执行任务的一个以上的运算处理器,和
控制上述运算处理器的任务的执行的控制处理器,
上述控制处理器的构成包括:
检验执行任务之际数据之间的依赖关系的检验单元,和
根据上述检验的依赖关系,访问上述存储器,将数据从上述存储器传送到上述运算处理器以及进行上述运算处理器中的运算调度的调度单元。
2.在权利要求1中记载的多处理机***中,
上述运算处理器以数据的块单位对上述存储器进行访问。
3.在权利要求1中记载的多处理机***中,
上述依赖关系检验单元检测在执行同一或不同的任务之际共用的数据之间的依赖关系。
4.在权利要求1中记载的多处理机***中,
包含控制在上述存储器和上述一个以上的运算处理器之间收发数据的数据传送控制单元,
上述调度单元考虑上述数据传送控制单元输出的传送控制信号进行上述的调度。
5.在权利要求1中记载的多处理机***中,包括:
指令存放单元,存放有包含指定上述运算处理器进行的处理内容的标识符,表示存放上述运算处理器作为输入数据而使用的数据的上述存储器上的第1地址,以及表示存放上述运算处理器的运算结果的上述存储器上的第2地址的宏指令,
上述依赖关系检测单元根据上述第1及第2地址检出数据之间的依赖关系。
6.在权利要求1中记载的多处理机***中,包括:
利用标识应执行的任务的标识符记录任务之间的依赖关系的条件表,和
根据上述条件表,记录上述应执行的任务的执行条件信息和各任务执行时所使用的资源信息的资源管理表,
上述依赖关系检测单元,根据上述资源管理表中记录的信息,检测在上述应执行的任务中所使用的数据的依赖关系。
7.在权利要求1中记载的多处理机***中,
上述数据是图像数据,
上述依赖关系检测单元判断在生成同一或不同合成图像之际共用的数据之间的依赖关系。
8.在权利要求1中记载的多处理机***中,
上述数据的大小设定为1千字节以上的数据大小。
9.在权利要求8中记载的多处理机***中,
执行多个任务的上述运算处理器的数目的越是增加,上述数据的数据大小就可以越大。
10.在权利要求1中记载的多处理机***中,
上述控制处理器,根据在上述存储器和运算处理器之间收发上述数据所需要的时间单位为基准的时钟进行处理动作。
11.在权利要求1中记载的多处理机***中,
上述存储器是分为多个存储体单端口存储器。
12.在权利要求1中记载的多处理机***中,包括:
上述存储器及上述运算处理器之间的数据传送用的缓存和在上述运算处理器中的数据处理用的缓存,以使上述存储器和上述运算处理器之间的数据传送和上述算处理器中的数据处理可并行进行。
CN02121784A 2002-03-07 2002-05-31 多处理机*** Pending CN1444154A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP061576/2002 2002-03-07
JP2002061576A JP2003263331A (ja) 2002-03-07 2002-03-07 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
CN1444154A true CN1444154A (zh) 2003-09-24

Family

ID=28034834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02121784A Pending CN1444154A (zh) 2002-03-07 2002-05-31 多处理机***

Country Status (6)

Country Link
US (1) US20030177288A1 (zh)
EP (1) EP1365321A3 (zh)
JP (1) JP2003263331A (zh)
KR (1) KR100538727B1 (zh)
CN (1) CN1444154A (zh)
TW (1) TWI221250B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076783B (zh) * 2004-03-08 2010-07-07 起元科技有限公司 控制任务的执行
WO2018076979A1 (zh) * 2016-10-31 2018-05-03 华为技术有限公司 一种指令间数据依赖的检测方法和装置
CN109522048A (zh) * 2017-09-18 2019-03-26 展讯通信(上海)有限公司 一种同步多线程中断验证方法及***
CN110059024A (zh) * 2019-04-19 2019-07-26 中国科学院微电子研究所 一种内存空间数据缓存方法及装置
CN111052084A (zh) * 2017-08-30 2020-04-21 富士胶片株式会社 图像处理装置、图像处理方法以及图像处理程序

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3793062B2 (ja) * 2001-09-27 2006-07-05 株式会社東芝 メモリ内蔵データ処理装置
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
JP4606142B2 (ja) * 2004-12-01 2011-01-05 株式会社ソニー・コンピュータエンタテインメント スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
US20090158293A1 (en) * 2005-09-05 2009-06-18 Nec Corporation Information processing apparatus
KR100791296B1 (ko) * 2006-03-03 2008-01-04 삼성전자주식회사 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
US8345053B2 (en) * 2006-09-21 2013-01-01 Qualcomm Incorporated Graphics processors with parallel scheduling and execution of threads
US7809926B2 (en) * 2006-11-03 2010-10-05 Cornell Research Foundation, Inc. Systems and methods for reconfiguring on-chip multiprocessors
KR100856468B1 (ko) * 2007-01-08 2008-09-04 재단법인서울대학교산학협력재단 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법
JP5146444B2 (ja) * 2007-03-20 2013-02-20 富士通株式会社 マルチプロセッサシステム及びその制御方法
EP2138937A4 (en) 2007-04-12 2011-01-26 Nec Corp DATA PROCESSING DEVICE OF ARRAY PROCESSORYPSY
KR100957060B1 (ko) * 2007-12-12 2010-05-13 엠텍비젼 주식회사 명령어 병렬 스케줄러, 방법 및 그 기록매체
US8561072B2 (en) * 2008-05-16 2013-10-15 Microsoft Corporation Scheduling collections in a scheduler
JP5365201B2 (ja) * 2009-01-07 2013-12-11 日本電気株式会社 プロセス実行制御システム、プロセス実行制御方法、及びプロセス実行制御プログラム
KR101083049B1 (ko) 2010-06-11 2011-11-16 엘아이지넥스원 주식회사 시뮬레이션 시스템 및 시뮬레이션 방법
KR20120017294A (ko) 2010-08-18 2012-02-28 삼성전자주식회사 어플리케이션을 효율적으로 처리하는 스케쥴링 시스템 및 스케쥴링 방법
JP5238876B2 (ja) * 2011-12-27 2013-07-17 株式会社東芝 情報処理装置及び情報処理方法
CN104714838A (zh) * 2013-12-12 2015-06-17 ***通信集团四川有限公司 一种任务调度方法及装置
KR102270791B1 (ko) 2014-12-10 2021-06-29 삼성전자주식회사 매크로 명령어를 처리하는 방법 및 장치

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2064383C3 (de) * 1970-01-12 1981-02-26 Fujitsu Ltd., Kawasaki, Kanagawa (Japan) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
JP2628079B2 (ja) * 1988-11-25 1997-07-09 三菱電機株式会社 マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置
JP2658397B2 (ja) * 1989-06-13 1997-09-30 日本電気株式会社 マルチプロセッサシステム
JPH0640324B2 (ja) * 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5276798A (en) * 1990-09-14 1994-01-04 Hughes Aircraft Company Multifunction high performance graphics rendering processor
JPH0695879A (ja) * 1992-05-05 1994-04-08 Internatl Business Mach Corp <Ibm> コンピュータシステム
JP2861647B2 (ja) * 1992-07-08 1999-02-24 松下電器産業株式会社 画像生成装置
US6105053A (en) * 1995-06-23 2000-08-15 Emc Corporation Operating system for a non-uniform memory access multiprocessor system
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
US5991542A (en) * 1996-09-13 1999-11-23 Apple Computer, Inc. Storage volume handling system which utilizes disk images
US6069705A (en) * 1996-10-07 2000-05-30 Texas Instruments Incorporated Managing interpreter cofunctions on multiprocessor-based printer
KR19980027320A (ko) * 1996-10-15 1998-07-15 김광호 멀티 프로세서 컴퓨터 시스템
US6012142A (en) * 1997-11-14 2000-01-04 Cirrus Logic, Inc. Methods for booting a multiprocessor system
EP0918280B1 (en) * 1997-11-19 2004-03-24 IMEC vzw System and method for context switching on predetermined interruption points
US6230151B1 (en) * 1998-04-16 2001-05-08 International Business Machines Corporation Parallel classification for data mining in a shared-memory multiprocessor system
US6212622B1 (en) * 1998-08-24 2001-04-03 Advanced Micro Devices, Inc. Mechanism for load block on store address generation
KR100400165B1 (ko) * 1998-11-16 2003-10-01 텔레폰아크티에볼라게트 엘엠 에릭슨 처리 시스템 스케쥴링
SE9902373D0 (sv) * 1998-11-16 1999-06-22 Ericsson Telefon Ab L M A processing system and method
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
US6272522B1 (en) * 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6675380B1 (en) * 1999-11-12 2004-01-06 Intel Corporation Path speculating instruction scheduler
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US20030105620A1 (en) * 2001-01-29 2003-06-05 Matt Bowen System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architetures

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076783B (zh) * 2004-03-08 2010-07-07 起元科技有限公司 控制任务的执行
WO2018076979A1 (zh) * 2016-10-31 2018-05-03 华为技术有限公司 一种指令间数据依赖的检测方法和装置
US10684834B2 (en) 2016-10-31 2020-06-16 Huawei Technologies Co., Ltd. Method and apparatus for detecting inter-instruction data dependency
CN111052084A (zh) * 2017-08-30 2020-04-21 富士胶片株式会社 图像处理装置、图像处理方法以及图像处理程序
CN111052084B (zh) * 2017-08-30 2023-10-17 富士胶片株式会社 图像处理装置、图像处理方法以及图像处理程序
CN109522048A (zh) * 2017-09-18 2019-03-26 展讯通信(上海)有限公司 一种同步多线程中断验证方法及***
CN110059024A (zh) * 2019-04-19 2019-07-26 中国科学院微电子研究所 一种内存空间数据缓存方法及装置
CN110059024B (zh) * 2019-04-19 2021-09-21 中国科学院微电子研究所 一种内存空间数据缓存方法及装置

Also Published As

Publication number Publication date
EP1365321A2 (en) 2003-11-26
US20030177288A1 (en) 2003-09-18
TWI221250B (en) 2004-09-21
JP2003263331A (ja) 2003-09-19
EP1365321A3 (en) 2005-11-30
KR20030074047A (ko) 2003-09-19
KR100538727B1 (ko) 2005-12-26

Similar Documents

Publication Publication Date Title
CN1444154A (zh) 多处理机***
Chen et al. GFlink: An in-memory computing architecture on heterogeneous CPU-GPU clusters for big data
Wang et al. Blasx: A high performance level-3 blas library for heterogeneous multi-gpu computing
CN101069161B (zh) 调度方法、调度装置和多处理器***
Warneke et al. Exploiting dynamic resource allocation for efficient parallel data processing in the cloud
CN100538628C (zh) 用于在simd结构中处理线程组的***和方法
TWI386814B (zh) 具動態工作管理能力之多處理器界面及其程式載卸方法
CN1914597A (zh) 处理单元的动态加载和卸载
CN1975663A (zh) 具有用于不同线程的非对称硬件多线程支持的装置
CN1434380A (zh) 图像处理装置和方法以及用于该装置的编译程序
JP2001350638A (ja) 多重スレッド使用方法、多重スレッド処理システム、スレッド実行コントローラおよびバッファ使用方法
CN110308982B (zh) 一种共享内存复用方法及装置
CN103226463A (zh) 用于使用预解码数据调度指令的方法和装置
DE102012221502A1 (de) System und Verfahren zum Durchführen von gestalteter-Speicherzugriff-Operationen
CN100489830C (zh) 面向科学计算的64位流处理器芯片
Shen et al. Magnet: push-based shuffle service for large-scale data processing
Saha et al. STGM: Spatio-temporal GPU management for real-time tasks
US10659396B2 (en) Joining data within a reconfigurable fabric
CN1928811A (zh) 处理操作管理***和方法
Perwej The ambient scrutinize of scheduling algorithms in big data territory
US20240231903A1 (en) Data transfer in dataflow computing systems using an intelligent dynamic transfer engine
CN101341471B (zh) 动态高速缓存管理的设备和方法
CN105677582A (zh) 基于可重构***配置多模式传输的可控缓存实现***
US8387009B2 (en) Pointer renaming in workqueuing execution model
CN1795442A (zh) 用于在主存储器和存储装置之间传送数据的方法和设备

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication