多处理器系统、同步控制装置及同步控制方法

文档序号:6552875阅读:190来源:国知局
专利名称:多处理器系统、同步控制装置及同步控制方法
技术领域
本发明涉及包含多个单元处理器(element processor)的多处理器系统,特别涉及各单元处理器分别执行的进程(process)间的同步控制。
背景技术
在多处理器系统的并行分布式处理中,在需要保持各单元处理器执行的进程间的数据的交换或处理顺序的一致性的情况下,各单元处理器取得同步来进行处理。
例如,在下述专利文献1公开的多处理器系统中,包括与各单元处理器对应的同步控制部,通过在同步控制部间发送接收同步信号,来实现各单元处理器执行的进程间的同步。
图13是专利文献1公开的多处理器系统1500的结构简图。
多处理器系统1500包含5个单元处理器PE0~PE4、和对应于各单元处理器而设的同步控制部Z0~Z4。
各单元处理器PE0~PE4和各同步控制部Z0~Z4如该图所示,分别通过SYNCREQ信号线及SYNCACK信号线相连。
SYNCREQ信号线是用于从单元处理器向对应的同步控制部通知同步信号的断言(assert)、解除断言(deassert)的信号线,SYNCACK信号线是用于从同步控制部向对应的单元处理器通知同步允许信号的断言、解除断言的信号线。
各同步控制部Z0~Z4被连接在同步总线1501上,能够相互发送接收断言或解除断言后的同步信号。
这里,考虑使多处理器系统1500执行分层并行处理的情况。
图14是各单元处理器PE0~PE4执行的分层并行处理的流程图。
向单元处理器PE0分配了应用层的应用、进程层的进程A以及线程层的线程A的处理,向单元处理器PE1分配了线程B,向单元处理器PE2分配了线程C,向单元处理器PE3分配了进程B和线程D,向单元处理器PE4分配了线程E。
执行应用的单元处理器PE0在某个时刻开始进程A的处理,同时使单元处理器PE3开始进程B的处理。
执行进程A的单元处理器PE0在某个时刻开始线程A的处理,使单元处理器PE1开始线程B的处理,使单元处理器PE2开始线程C的处理。
执行进程B的单元处理器PE3在某个时刻开始线程D的处理,使单元处理器PE4开始线程E的处理。
执行进程A的单元处理器PE0在线程A、B、C的处理都已结束的时刻,用各个线程的处理结果来进行处理;执行进程B的单元处理器PE3在线程D、E的处理都已结束的时刻,用各个线程的处理结果来进行处理。
然后,执行应用的单元处理器PE0在进程A、B的处理都已结束的时刻,用各个处理结果来进行处理。
例如,单元处理器PE0结束了线程A的处理后,断言SYNCREQ信号,对应的同步控制部Z0断言同步信号SYNC0,以便表示单元处理器PE0处于同步等待,经同步总线1501向其他同步控制部Z1~Z4通知单元处理器PE0处于同步等待。
单元处理器PE0停止执行接着的处理,直至从同步控制部Z0断言了SYNCACK信号。
从与执行线程B的处理的单元处理器PE1对应的同步控制部Z1及与执行线程C的处理的单元处理器PE2对应的同步控制部Z2分别被通知了断言后的同步信号后,同步控制部Z0向单元处理器PE0通知表示解除同步等待的、被断言的同步允许信号。
单元处理器PE0从同步控制部Z0收到被断言的同步允许信号的通知后,开始接着的进程A的处理。
专利文献1(日本)特许(专利)第1940586号但是,这里成问题的是执行线程D的单元处理器PE3在已结束线程D的时刻断言SYNCREQ信号、收到它的同步控制部Z3断言同步信号这一点。
如果在此时刻单元处理器PE0已结束进程A的处理,则单元处理器PE0等待来自与执行进程B的处理的单元处理器PE3对应的同步控制部Z3的同步信号,与单元处理器PE0对应的同步控制部Z0,将单元处理器PE3结束线程D而造成的同步控制部Z3的同步信号的断言、误认为结束进程B而造成的同步信号的断言,向单元处理器PE0送出同步允许信号。
即,在使上述专利文献1公开的多处理器系统进行分层并行处理的情况下,认为不能在单元处理器间正确地取得同步。

发明内容
因此,本发明的目的在于提供一种实现上述分层并行处理的多处理器系统、同步控制装置及同步控制方法。
为了实现上述目的,本发明的多处理器系统包含多个单元处理器、和对应于各单元处理器而设的多个同步控制部,其特征在于,某一单元处理器,对某一同步控制部,按照与该同步控制部对应的单元处理器接着要执行的处理,设定该同步控制部要发送的同步信号的值、和选择接收到的同步信号时所用的同步选择信息;各单元处理器,在开始与其他单元处理器取得同步所需的某处理之前,向对应的同步控制部输出同步请求信号,并在从该同步控制部输入同步允许信号之前停止执行该处理;各同步控制部,为了相互发送接收上述设定的同步信号而被连接;包括同步允许单元,在从对应的单元处理器输入了同步请求信号,并且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,该同步允许单元向对应的单元处理器输出同步允许信号。
此外,本发明的同步控制装置,在包含多个单元处理器的多处理器系统中,对应于各单元处理器而设置,其特征在于,包括将表示由某一单元处理器设定的值的同步信号发送到其他的多个同步控制装置的单元;从其他的同步控制装置接收同步信号的单元;以及同步允许单元,在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,该同步允许单元向对应的单元处理器输出同步允许信号。
此外,本发明的同步控制方法,用于多处理器系统,该多处理器系统包含多个单元处理器、和对应于各单元处理器而设置的多个同步控制部,其特征在于,某一单元处理器,对某一同步控制部,按照与该同步控制部对应的单元处理器接着要执行的处理,设定该同步控制部要发送的同步信号的值、和选择接收到的同步信号时所用的同步选择信息;各同步控制部,相互发送接收由某一单元处理器设定的值的同步信号;在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,向对应的单元处理器输出同步允许信号;各单元处理器在开始与其他单元处理器取得同步所需的处理之前,向对应的同步控制部输出同步请求信号,并在从该同步控制部输入了同步允许信号之前停止执行该处理。
发明效果如果采用上述结构的多处理器系统,则在分层并行处理中,可以进行设定,使得即使在下级层的处理之后、等待进行同层的处理的其他第1单元处理器的处理后进行中级层的处理的第2单元处理器结束下级层的处理,对应的同步控制部也不断言同步信号;相反,可以进行设定,使得如果该第2单元处理器已结束中级层的处理,则断言同步信号,以便向进行上级层的处理的第3单元处理器通知中级层的处理已结束;所以能够实现分层并行处理,而不会发生不能在单元处理器间正确地取得同步的问题。
对应于各单元处理器而设有上述结构的同步控制装置的多处理器系统、及采用上述同步控制方法的多处理器系统也同样能够实现分层并行处理。
这里,也可以是,上述多处理器系统包含共享存储器,该共享存储器可从各单元处理器及各同步控制部存取,并映射有保持各同步控制部的同步选择信息的区域;各同步控制部包括通过专用线与对应的单元处理器相连接的同步寄存器;各单元处理器按照接着要执行的处理,对该同步寄存器设定同步信号的值。
通过该结构,对于同步选择信息,能够通过由某一单元处理器事先写入到共享存储器中而被设定为某一同步控制部的同步选择信息,对于同步信号的值,能够通过各单元处理器将值事先写入到对应的同步控制部的同步寄存器中来设定,所以各单元处理器无需为了设定而持续发出信号。
例如,进行上级层的处理的第3单元处理器在其处理中,能够事先设定与进行中级层及下级层的处理的第2单元处理器对应的同步控制部的同步选择信息。
这里,也可以是,某一单元处理器通过执行包含确定了同步选择信息的信息的同步指令,将同步请求信号输出到对应的同步控制部,并对指定的同步控制部设定该同步选择信息。
通过该结构,能够用单指令来进行同步请求信号的输出、和对所指定的同步控制部的同步选择信息的设定。
此外,也可以是,某一单元处理器还对某一同步控制部设定确定上述规定的值的同步模式信息;在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据上述设定的同步选择信息而被选择出的同步信号都表示由上述同步模式信息所确定的规定的值的情况下,上述同步允许单元向对应的单元处理器输出同步允许信号。
通过同步模式信息和同步选择信息,能够进行设定,使得如果选择出的同步信号达到了所确定的规定的值,则输出同步允许信号。
这里,也可以是,上述多处理器系统包含共享存储器,该共享存储器可从各单元处理器及各同步控制部存取,并映射有保持各同步控制部所发送的同步信号的值的区域;各同步控制部,包括通过专用线与对应的单元处理器相连接的同步寄存器和同步模式寄存器;各单元处理器按照接收的同步信号中的应关注的同步信号的值,对对应的同步控制部的同步选择寄存器设定同步选择信息,并对对应的同步控制部的同步模式寄存器设定同步模式信息。
通过该结构,对于同步信号的值,能够通过由某一个单元处理器事先写入到共享存储器中而被设定为某一个同步控制部的同步信号,对于同步选择信息及同步模式信息,能够通过由各单元处理器事先将信息写入到对应的同步控制部的同步寄存器中来设定,所以各单元处理器无需为了设定而持续发出信号。
这里,也可以是,某一单元处理器通过执行包含确定了上述同步选择信息及上述同步模式信息的信息的同步指令,将同步请求信号输出到对应的同步控制部,并对所指定的同步控制部设定该同步选择信息及该同步模式。
通过该结构,能够用单指令来进行同步请求信号的输出、和对所指定的同步控制部的同步选择信息及同步模式信息的设定。


图1是多处理器系统1的结构图。
图2是同步控制部S0的结构图。
图3是同步允许部201的逻辑电路结构图。
图4是使多处理器系统1执行分层并行处理的情况下的时序图。
图5是包含同步选择信号字段的同步指令的格式图。
图6是同步指令和同步选择表的图。
图7是同步控制部S0X的结构图。
图8是同步允许部801的逻辑电路结构图。
图9是使多处理器系统1X执行分层并行处理的情况下的时序图。
图10是包含同步选择信号字段及同步模式位的同步指令的格式图。
图11是同步控制部S0Y的结构图。
图12是同步控制部S0Z的结构图。
图13是现有的多处理器系统1500的结构图。
图14是各单元处理器PE0~PE4执行的分层并行处理的流程图。
标号说明
1、1500 多处理器系统2、1501 同步总线3 共享总线4 共享存储器200 同步寄存器201、801、1301、1401 同步允许部800、1300 同步信号输出部802 同步选择寄存器803、1302 同步模式寄存器PE0~PE4、PE0X、PE0Y、PE0Z 单元处理器S0~S4、S0X、S0Y、S0Z 同步控制部具体实施方式
以下,用附图来说明本发明一实施方式。
<结构>
图1是多处理器系统1的结构图。
多处理器系统1包含5个单元处理器PE0~PE4;对应于各单元处理器PE0~PE4而设的同步控制部S0~S4;连接各同步控制部S0~S4的同步总线2;以及连接各单元处理器PE0~PE4、各同步控制部S0~S4及共享存储器的共享总线3。
同步总线2由与单元处理器的数目相同的5根信号线组成。
各单元处理器PE0~PE4和对应的各同步控制部S0~S4分别通过SYNCSET信号线、SYNCREQ信号线及SYNCACK信号线相连。
在共享存储器4上,映射着保持各同步控制部S0~S4的同步选择信息的区域。
同步选择信息是从最高位起与各个同步信号SYNC4、SYNC3、SYNC2、SYNC1、SYNC0对应的5位二进制数的信息,通过由某一个单元处理器写入到共享存储器4中来设定。
图2是作为各同步控制部的代表的同步控制部S0的结构图。
同步控制部S1~S4只有相连接的单元处理器、信号线不同,是同样的结构,所以省略其说明。
同步控制部S0在其内部包括同步寄存器200、同步允许部201。
在同步寄存器200上,连接着SYNCSET信号线及SYNC0信号线,在同步允许部201上,连接着SYNC0~SYNC4信号线(同步总线2)、共享总线3、SYNCREQ信号线及SYNCACK信号线。
SYNCSET信号线是用于将单元处理器PE0设定的值通知给同步寄存器200的信号线。
如果同步寄存器200保持的值是1,则同步控制部S0将SYNC0信号线设为断言状态并输出;如果保持的值是0,则将SYNC0信号线设为解除断言状态并输出。
SYNCREQ信号线是用于将单元处理器PE0执行了同步指令时断言的同步请求信号通知给对应的同步控制部S0的信号线。
同步允许部201通过将来自SYNCREQ信号线的同步请求信号作为输入,从SYNC0~SYNC4信号线接收来自各同步控制部的同步信号,经共享总线3来读入写入到共享存储器4中的同步选择信息SYNCSEL0,用接收到的各同步信号、同步选择信息SYNCSEL0、以及同步请求信号进行逻辑运算,从而将0(解除断言)或1(断言)的同步允许信号经SYNCACK信号线输出到单元处理器PE0。
各单元处理器PE0~PE4在断言了同步请求信号后、直至同步允许信号被断言的期间,设为同步等待而停止执行处理。
图3是同步允许部201的逻辑电路结构图。
向虚线包围部分300所示的各OR(“或”)电路元件中分别输入从各同步控制部接收到的同步信号(SYNC0~SYNC4)、和读入的同步选择信息SYNCSEL0的各位(记作SYNCSEL
、SYNCSEL[1]、SYNCSEL[2]、SYNCSEL[3]、SYNCSEL[4])的反转值。
然后,各OR电路元件取逻辑“和”的各个结果被输入到线“AND”电路元件301中。然后,将线“AND”电路元件301的输出和同步请求信号输入到“AND”电路元件302中,将其结果输出到SYNCACK信号线。
<动作>
这里,用时序图来说明具体动作。
图4是使多处理器系统1执行背景技术中描述过的图14所示的分层并行处理的情况下的时序图。
按该图所示的各时间T1~T7来分别说明各单元处理器PE0~PE4及同步控制部S0~S4的动作。
<时间T1>
单元处理器PE0从时间T1起开始应用的处理,对共享存储器4进行将同步选择信息SYNCSEL0~SYNCSEL4都设为“00001”的设定。在与单元处理器PE0对应的同步控制部S0的同步寄存器中,设定了缺省的值0,所以同步信号SYNC0仍然是解除断言。
单元处理器PE1~PE4在时间T1分别对对应的同步控制部S1~S4的同步寄存器设定值1,断言同步请求信号。
同步控制部S1~S4的同步寄存器都被设定了1的值,所以断言同步信号SYNC1~4。此外,同步选择信息SYNCSEL0~SYNCSEL4都被设定为“00001”,与单元处理器PE0对应的同步控制部S0未断言同步信号SYNC0,所以输入的同步请求信号被断言的同步控制部S1~S4,不断言同步允许信号。
<时间T2>
在时间T2紧前、即开始进程A及进程B前,单元处理器PE0对共享存储器4进行将同步选择信息SYNCSEL3设为“01000”的设定,开始进程A的处理。
与单元处理器PE3对应的同步控制部S3断言了同步信号SYNC3,而且同步选择信息SYNCSEL3被设定为“01000”,从单元处理器PE3断言了同步请求信号,所以同步控制部S3的同步允许部断言同步允许信号。由此,单元处理器PE3开始进程B的处理。
同步控制部S3断言了同步允许信号后,立即解除断言同步信号SYNC3。
在时间T2,单元处理器PE1、PE2、PE4维持同步等待状态。
<时间T3>
在时间T3紧前、即开始线程A、B、C前,单元处理器PE0对共享存储器4进行将同步选择信息SYNCSEL1设为“00010”、将同步选择信息SYNCSEL2设为“00100”的设定,开始线程A的处理。
与单元处理器PE1对应的同步控制部S1断言了同步信号SYNC1,而且同步选择信息SYNCSEL1被设定为“00010”,从单元处理器PE1断言了同步请求信号,所以同步控制部S1的同步允许部断言同步允许信号。由此,单元处理器PE1开始线程B的处理。
同步控制部S1断言了同步允许信号后,立即解除断言同步信号SYNC1。
与单元处理器PE2对应的同步控制部S2断言了同步信号SYNC2,而且同步选择信息SYNCSEL2被设定为“00100”,从单元处理器PE2断言了同步请求信号,所以同步控制部S2的同步允许部断言同步允许信号。由此,单元处理器PE2开始线程C的处理。
同步控制部S2断言了同步允许信号后,立即解除断言同步信号SYNC2。
在时间T3,单元处理器PE4维持同步等待状态。
<时间T4>
在时间T4紧前、即开始线程D、E前,单元处理器PE3对共享存储器4进行将同步选择信息SYNCSEL4设为“10000”的设定,开始线程D的处理。
与单元处理器PE4对应的同步控制部S4断言了同步信号SYNC4,而且同步选择信息SYNCSEL4被设定为“10000”,从单元处理器PE4断言了同步请求信号,所以同步控制部S4的同步允许部断言同步允许信号。由此,单元处理器PE4开始线程E的处理。
同步控制部S4断言了同步允许信号后,立即解除断言同步信号SYNC4。
<时间T5>
在时间T5前,单元处理器PE0结束线程A的处理,并将SYNCSEL0设定为“00110”,断言同步请求信号。此时,同步信号SYNC0的值不被设定为1,仍然是0,所以同步信号SYNC0仍然被解除断言。
此外,单元处理器PE2也在时间T5前结束线程C的处理,并将SYNCSEL0设定为“00000”,断言同步请求信号。此时,单元处理器PE2将同步信号SYNC2的值设定为1,所以同步控制部S2断言同步信号SYNC2。
在时间T5紧前,单元处理器PE1结束线程B的处理,并将SYNCSEL1设定为“00000”,在时间T5断言同步请求信号。此时,单元处理器PE1将同步信号SYNC1的值设定为1,所以同步控制部S1断言同步信号SYNC1。
在时间T5,由于同步信号SYNC1、SYNC2被断言,所以同步控制部S0断言同步允许信号,收到它的单元处理器PE0开始进程A的处理。
<时间T6>
在时间T6前,单元处理器PE3结束线程D的处理,并将SYNCSEL3设定为“10000”,断言同步请求信号。此时,同步信号SYNC3的值不被设定为1,仍然是0,所以同步信号SYNC3仍然被解除断言。
在时间T6紧前,单元处理器PE4结束线程E的处理,并将SYNCSEL4设定为“00000”,在时间T6断言同步请求信号。此时,单元处理器PE4将同步信号SYNC4的值设定为1,所以同步控制部S4断言同步信号SYNC4。
在时间T6,由于同步信号SYNC4被断言,所以同步控制部S3断言同步允许信号,收到它的单元处理器PE3开始进程B的处理。
<时间T7>
在时间T7前,单元处理器PE0结束进程A的处理,并将SYNCSEL0设定为“01000”,断言同步请求信号。此时,同步信号SYNC0的值不被设定为1,仍然是0,所以同步信号SYNC0仍然被解除断言。
在时间T7紧前,单元处理器PE3结束进程B的处理,并将SYNCSEL3设定为“00000”,在时间T7断言同步请求信号。此时,单元处理器PE3将同步信号SYNC3的值设定为1,所以同步控制部S3断言同步信号SYNC3。
在时间T7,由于同步信号SYNC3被断言,所以同步控制部S0断言同步允许信号,收到它的单元处理器PE0开始应用的处理。
<效果>
采用以上所述的多处理器系统1,不依赖于表示各单元处理器的实际的同步等待的、断言的同步请求信号的输出,就能够按照与同步控制部对应的单元处理器接着要执行的处理,来设定该同步控制部要发送的同步信号的值,所以,在并行执行上述应用层、进程层、线程层各层的处理的情况下,在线程层的处理之后、等待进行同层的处理的其他单元处理器的处理,所以进行进程层的处理的单元处理器例如单元处理器PE3进行设定,使得即使单元处理器PE3结束了线程层的处理,对应的同步控制部S3也不断言同步信号,如果单元处理器PE3结束了进程层的处理,则断言同步信号,以便向进行应用层的处理的单元处理器PE0通知进程层的处理已结束。
由此,能够实现分层并行处理,而不会发生在单元处理器间不能正确取得同步的问题。
其中,在上述多处理器系统1的动作中,某一个单元处理器在执行断言同步请求信号的同步指令前设定了同步选择信息,但是同步选择信息和同步信号的值往往在同一定时变更,所以也可以在同步指令中设置同步选择信号字段。
图5是包含同步选择信号字段的同步指令的格式图。
将同步指令的指令长度设为32位,将低5位作为同步选择信号字段。
也可以使某一个单元处理器执行了这种同步指令后,将同步选择信号字段的值作为指定的同步控制部的同步选择信息,设定到共享存储器4中。
此外,考虑单元处理器数为5个以上的情况,也可以将低10位分配为同步选择信号字段。再者,在单元处理器数为32台以上、不能容纳在同步指令的指令长度中的情况下,也可以如图6所示准备与单元处理器数相同的位宽度的同步选择表,用同步指令的低位对该表进行寻址来选择同步选择信息。
此外,对于未实现上述同步指令的单元处理器,如果是按次序(in-order)地执行对数据存储器的加载/存储指令、并通过存储器存取等待来互锁的单元处理器,则可以用加载/存储指令来取代同步指令。例如,通过预先为同步控制部分配32位存储空间上的地址,将用存储指令向其进行的存储器请求(strobe选通)作为同步请求信号,将存储数据作为同步选择信息而输出到同步控制部,将同步允许信号作为存储器确认而返回给单元处理器,能够使存储指令起同步指令的功能。
<变形例1>
图7是变形例1的多处理器系统1X(未图示)的同步控制部S0X的结构图。
多处理器系统1X基本上与图1所示的多处理器系统1结构相同,但是各单元处理器PE0X~PE4X和各同步控制部S0X~S4X之间的连接关系不同,同步控制部S0X~S4X的内部结构也不同。
作为同步控制部S0X~S4X的代表,只说明同步控制部S0X。
<变形例1的结构>
同步控制部S0X在其内部包括同步信号输出部800、同步允许部801、同步选择寄存器802及同步模式寄存器803。
与上述同步控制部S0的不同点在于由某一个单元处理器写入到共享存储器4中的同步信号SYNC0的值被输入到与共享总线2相连的同步信号输出部800中;以及包括同步选择寄存器802和同步模式寄存器803。
在同步信号输出部800上连接着共享总线3,在同步允许部801上连接着SYNC0~SYNC4信号线(同步总线2)、SYNCREQ信号线及SYNCACK信号线。
此外,SYNCMODE0信号线被连接在同步模式寄存器803上,SYNCSEL0信号线被连接在同步选择寄存器802上。
同步信号输出部800经共享总线2输入由某一个单元处理器写入到共享存储器4中的SYNC0的值,如果该值是1,则将SYNC0信号线设为断言状态并输出,如果是0,则将SYNC0信号线设为解除断言状态并输出。
SYNCREQ信号线是在单元处理器PE0执行了同步指令时被断言的信号线。
SYNCMODE0信号线是将从单元处理器PE0设定的同步模式信息通知给同步模式寄存器803的信号线。
SYNCSEL0信号线是将从单元处理器PE0设定的同步选择信息通知给同步选择寄存器802的信号线。
同步允许部801通过用从SYNCREQ信号线输入的同步请求信号、经SYNC0~SYNC4信号线接收到的来自各同步控制部的同步信号、被写入到同步模式寄存器803中的同步模式信息SYNCMODE0、以及被写入到同步选择寄存器802中的同步选择信息SYNCSEL0进行逻辑运算,从而将0(解除断言)或1(断言)的同步允许信号经SYNCACK信号线输出到单元处理器PE0X。
图8是同步允许部801的逻辑电路结构图。
向虚线包围部分900所示的各XOR(“异或”)电路元件中分别输入从各同步控制部接收到的同步信号(SYNC0~SYNC4)和同步模式信息SYNCMODE0。然后,由各XOR电路元件取了“异或”的各个结果,被输入到虚线包围部分901所示的各OR电路元件中。
向各OR电路元件中还输入同步选择信息SYNCSEL0的各位(记作SYNCSEL
、SYNCSEL[1]、SYNCSEL[2]、SYNCSEL[3]、SYNCSEL[4])的反转值。
然后,由各OR电路元件取了逻辑“和”的各个结果被输入到线“AND”电路元件902中。然后,将线“AND”电路元件902的输出和同步请求信号输入到“AND”电路元件903中,将其结果输出到SYNCACK信号线。
这里说明同步模式信息的作用同步模式信息是0或1的值,在同步模式信息为0的情况下,同步信号以原来的值通过XOR电路元件;而在同步模式信息为1的情况下,同步信号在通过XOR电路元件时其值被反转。
因此,通过使同步模式信息为0,如果在同步选择信息SYNC0中,与为1的位对应的同步信号是1,则可以断言同步允许信号;相反,通过使同步模式信息为1,如果在同步选择信息SYNC0中,与为1的位对应的同步信号是0,则可以断言同步允许信号,因此,可以进行下述设定在想看到选择出的同步信号从解除断言变为断言的定时的情况下使同步模式信息为0;相反,在想看到从断言变为解除断言的定时的情况下使同步模式信息为1。
<变形例1的动作>
这里,用流程图来说明具体动作。
图9是使多处理器系统1执行背景技术中描述过的图14所示的分层并行处理的情况下的时序图。
按该图所示的各时间T1~T7来分别说明各单元处理器PE0X~PE4X及同步控制部S0X~S4X的动作。
<时间T1>
单元处理器PE0X从时间T1起开始应用的处理,对共享存储器4进行设定,将同步信号SYNC0设为0、将SYNC1设为1、将SYNC2设为0、将SYNC3设为1、将SYNC4设为1,对对应的同步控制部S0X的同步选择寄存器进行将同步选择信息SYNCSEL0设为“00000”的设定,对同步模式寄存器进行将同步模式信息设为0的设定。
单元处理器PE1X在时间T1对对应的同步控制部S1X的同步选择寄存器设定“00010”作为同步选择信息,对同步模式寄存器设定1作为同步模式信息,断言同步请求信号。
单元处理器PE2X在时间T1对对应的同步控制部S2X的同步选择寄存器设定“00010”作为同步选择信息,对同步模式寄存器设定1作为同步模式信息,断言同步请求信号。
单元处理器PE3X在时间T1对对应的同步控制部S3X的同步选择寄存器设定“01000”作为同步选择信息,对同步模式寄存器设定1作为同步模式信息,断言同步请求信号。
单元处理器PE4X在时间T1对对应的同步控制部S4X的同步选择寄存器设定“10000”作为同步选择信息,对同步模式寄存器设定1作为同步模式信息,断言同步请求信号。
由于向同步信号输出部中输入了SYNC0的值0,所以同步控制部S0X解除断言同步信号SYNC0。
由于向同步信号输出部中输入了SYNC1的值1,所以同步控制部S1X断言同步信号SYNC1。
由于向同步信号输出部中输入了SYNC2的值0,所以同步控制部S2X解除断言同步信号SYNC2。
由于向同步信号输出部中输入了SYNC3的值1,所以同步控制部S3X断言同步信号SYNC3。
由于向同步信号输出部中输入了SYNC4的值1,所以同步控制部S4X断言同步信号SYNC4。
由于对同步模式寄存器设定了0的值,所以只要对同步选择寄存器设定的待选择的同步信号不被断言(1),同步控制部S0X就不断言同步允许信号。
由于都对同步模式寄存器设定了1的值,所以只要对同步选择寄存器设定的待选择的同步信号不被解除断言(0),同步控制部S1X~S4X就不断言同步允许信号。
<时间T2>
在时间T2,单元处理器PE0X对共享存储器4进行将同步信号SYNC3的值设为0的设定,开始进程A的处理。
同步控制部S3X的同步信号输出部根据经共享总线2输入的同步信号SYNC3的值0,来解除断言同步信号SYNC3。同步控制部S3X的同步允许部接受该同步信号SYNC3的解除断言,并断言同步允许信号。
由此,单元处理器PE3X开始进程B的处理。
在时间T2,单元处理器PE1X、PE2X、PE4X维持同步等待状态。
<时间T3>
在时间T3,单元处理器PE0X对共享存储器4进行将同步信号SYNC1的值设为0的设定,开始线程A的处理。
同步控制部S1X的同步信号输出部根据经共享总线2输入的同步信号SYNC1的值0,来解除断言同步信号SYNC1。同步控制部S1X和同步控制部S2X各自的同步允许部接受该同步信号SYNC1的解除断言,各同步允许部断言同步允许信号。
由此,单元处理器PE1X开始线程B的处理,而单元处理器PE2X开始线程C的处理。
在时间T3,单元处理器PE4X维持同步等待状态。
<时间T4>
在时间T4,单元处理器PE3X对共享存储器4进行将同步信号SYNC4的值设为0的设定,开始线程D的处理。
同步控制部S4X的同步信号输出部根据经共享总线2输入的同步信号SYNC4的值0,来解除断言同步信号SYNC4。同步控制部S4X的同步允许部接受该同步信号SYNC4的解除断言,并断言同步允许信号。
由此,单元处理器PE4X开始线程E的处理。
<时间T5>
在时间T5前,单元处理器PE0X结束线程A的处理,并将SYNCSEL0设定为“00110”,断言同步请求信号。此时,同步信号SYNC0的值不被设定为1,仍然是0,所以同步信号SYNC0仍然被解除断言。
此外,单元处理器PE2X也在时间T5前结束线程C的处理,并断言同步请求信号。此时,单元处理器PE2X对共享存储器2将同步信号SYNC2的值设定为1,所以同步控制部S2X断言同步信号SYNC2。
在时间T5,单元处理器PE1X结束线程B的处理,并断言同步请求信号。此时,单元处理器PE1X对共享存储器2将同步信号SYNC1的值设定为1,所以同步控制部S1X断言同步信号SYNC1。
在时间T5,由于同步信号SYNC1、SYNC2被断言,所以同步控制部S0X断言同步允许信号,收到它的单元处理器PE0X开始进程A的处理。
<时间T6>
在时间T6前,单元处理器PE3X结束线程D的处理,并断言同步请求信号。此时,同步信号SYNC3的值不被设定为1,仍然是0,所以同步信号SYNC3仍然被解除断言。
在时间T6,单元处理器PE4X结束线程E的处理,并断言同步请求信号。此时,单元处理器PE4X将同步信号SYNC4的值设定为1,所以同步控制部S4X断言同步信号SYNC4。
在时间T6,由于同步信号SYNC4被断言,所以同步控制部S3X断言同步允许信号,收到它的单元处理器PE3X开始进程B的处理。
<时间T7>
在时间T7前,单元处理器PE0X结束进程A的处理,并断言同步请求信号。此时,同步信号SYNC0的值不被设定为1,仍然是0,所以同步信号SYNC0仍然被解除断言。
在时间T7,单元处理器PE3X结束进程B的处理,并断言同步请求信号。此时,单元处理器PE3X将同步信号SYNC3的值设定为1,所以同步控制部S3X断言同步信号SYNC3。
在时间T7,由于同步信号SYNC3被断言,所以同步控制部S0X断言同步允许信号,收到它的单元处理器PE0X开始应用的处理。
<变形例1的效果>
以上所述的多处理器系统1X与多处理器系统1相比,能够大幅度减少其同步控制使用共享存储器及共享总线2的次数,所以可望取得抑制在单元处理器的数目增加了的情况下可能发生的开销的效果。
此外,作为同步指令,也可以采用图10所示的、包含同步选择字段和同步模式位的指令格式。
再者,也可以采用图11及图12所示的结构的同步控制部。
<变形例2>
图11是变形例2的多处理器系统1Y(未图示)的同步控制部S0Y的结构图。
多处理器系统1Y基本上与多处理器系统1X结构相同,动作也相同,但是各单元处理器PE0Y~PE4Y和各同步控制部S0Y~S4Y之间的连接关系不同,同步控制部S0Y~S4Y的内部结构也不同。
因此,将同步控制部S0Y作为同步控制部S0Y~S4Y的代表,只说明该不同点。
同步控制部S0Y在其内部包括同步信号输出部1300、同步允许部1301、同步模式寄存器1302。
与上述同步控制部S0X的不同点是不包括同步选择寄存器802。
SYNCSEL0信号线是将从单元处理器PE0Y设定的同步选择信息通知给同步允许部1301的信号线。
同步允许部1301通过用从SYNCREQ信号线输入的同步请求信号、经SYNC0~SYNC4信号线接收到的来自各同步控制部的同步信号、被写入到同步模式寄存器1303中的同步模式信息SYNCMODE0、以及从单元处理器PE0Y直接通知的同步选择信息SYNCSEL0进行逻辑运算,从而将0(解除断言)或1(断言)的同步允许信号经SYNCACK信号线输出到单元处理器PE0Y。
<变形例3>
图12是变形例3的多处理器系统1Z(未图示)的同步控制部S0Z的结构图。
多处理器系统1Z基本上与多处理器系统1X结构相同,动作也相同,但是各单元处理器PE0Z~PE4Z和各同步控制部S0Z~S4Z之间的连接关系不同,同步控制部S0Z~S4Z的内部结构也不同。
因此,将同步控制部S0Z作为同步控制部S0Z~S4Z的代表,只说明该不同点。
同步控制部S0Z在其内部包括同步信号输出部1400、同步允许部1401。
与上述同步控制部S0X的不同点是不包括同步选择寄存器802、同步模式寄存器803。
SYNCSEL0信号线是将从单元处理器PE0Z输入的同步选择信息通知给同步允许部1401的信号线。
SYNCMODE0信号线是将从单元处理器PE0Z输入的同步模式信息通知给同步允许部1401的信号线。
同步允许部1401通过用从SYNCREQ信号线输入的同步请求信号、经SYNC0~SYNC4信号线接收到的来自各同步控制部的同步信号、以及从单元处理器PE0Z直接通知的同步选择信息SYNCSEL0及同步模式信息SYNCMODE0进行逻辑运算,从而将0(解除断言)或1(断言)的同步允许信号经SYNCACK信号线输出到单元处理器PE0Z。
产业上的可利用性本发明对进行并行处理的多处理器系统来说是有用的。
权利要求
1.一种多处理器系统,包含多个单元处理器、和对应于各单元处理器而设的多个同步控制部,其特征在于,某一单元处理器,对某一同步控制部,按照与该同步控制部对应的单元处理器接着要执行的处理,设定该同步控制部要发送的同步信号的值、和选择接收到的同步信号时所用的同步选择信息;各单元处理器,在开始与其他单元处理器取得同步所需的某处理之前,向对应的同步控制部输出同步请求信号,并在从该同步控制部输入同步允许信号之前停止执行该处理;各同步控制部,为了相互发送接收上述设定的同步信号而被连接;包括同步允许单元,在从对应的单元处理器输入了同步请求信号,并且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,该同步允许单元向对应的单元处理器输出同步允许信号。
2.如权利要求1所述的多处理器系统,其特征在于,上述多处理器系统包含共享存储器,该共享存储器可从各单元处理器及各同步控制部存取,并映射有保持各同步控制部的同步选择信息的区域;各同步控制部包括通过专用线与对应的单元处理器相连接的同步寄存器;各单元处理器按照接着要执行的处理,对该同步寄存器设定同步信号的值。
3.如权利要求1所述的多处理器系统,其特征在于,某一单元处理器通过执行包含确定了同步选择信息的信息的同步指令,将同步请求信号输出到对应的同步控制部,并对指定的同步控制部设定该同步选择信息。
4.如权利要求1所述的多处理器系统,其特征在于,某一单元处理器还对某一同步控制部设定确定上述规定的值的同步模式信息;在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据上述设定的同步选择信息而被选择出的同步信号都表示由上述同步模式信息所确定的规定的值的情况下,上述同步允许单元向对应的单元处理器输出同步允许信号。
5.如权利要求4所述的多处理器系统,其特征在于,上述多处理器系统包含共享存储器,该共享存储器可从各单元处理器及各同步控制部存取,并映射有保持各同步控制部所发送的同步信号的值的区域;各同步控制部,包括通过专用线与对应的单元处理器相连接的同步寄存器和同步模式寄存器;各单元处理器按照接收的同步信号中的应关注的同步信号的值,对所对应的同步控制部的同步选择寄存器设定同步选择信息,并对所对应的同步控制部的同步模式寄存器设定同步模式信息。
6.如权利要求4所述的多处理器系统,其特征在于,某一单元处理器通过执行包含确定了上述同步选择信息及上述同步模式信息的信息的同步指令,将同步请求信号输出到对应的同步控制部,并对所指定的同步控制部设定该同步选择信息及该同步模式。
7.一种同步控制装置,在包含多个单元处理器的多处理器系统中,对应于各单元处理器而设置,其特征在于,包括将表示由某一单元处理器设定的值的同步信号发送到其他的多个同步控制装置的单元;从其他的同步控制装置接收同步信号的单元;以及同步允许单元,在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,该同步允许单元向对应的单元处理器输出同步允许信号。
8.一种同步控制方法,用于多处理器系统,该多处理器系统包含多个单元处理器、和对应于各单元处理器而设置的多个同步控制部,其特征在于,某一单元处理器,对某一同步控制部,按照与该同步控制部对应的单元处理器接着要执行的处理,设定该同步控制部要发送的同步信号的值、和选择接收到的同步信号时所用的同步选择信息;各同步控制部,相互发送接收由某一单元处理器设定的值的同步信号;在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,向对应的单元处理器输出同步允许信号;各单元处理器在开始与其他单元处理器取得同步所需的处理之前,向对应的同步控制部输出同步请求信号,并在从该同步控制部输入了同步允许信号之前停止执行该处理。
全文摘要
本发明的目的在于提供一种实现分层并行处理的多处理器系统。这种多处理器系统对应于各单元处理器而设有同步控制部。各同步控制部为了相互发送接收按照对应的单元处理器接着要执行的处理而设定的同步信号而被连接;包括同步允许部,在从对应的单元处理器输入了同步请求信号,而且接收到的同步信号中的、根据由某一单元处理器设定的同步选择信息而被选择出的同步信号都表示规定的值的情况下,该同步允许部向对应的单元处理器输出同步允许信号。
文档编号G06F9/52GK101048739SQ20058003714
公开日2007年10月3日 申请日期2005年10月21日 优先权日2004年10月27日
发明者西冈伸一郎 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1