《请求控制设备、请求控制方法及相关的处理器.pdf》由会员分享,可在线阅读,更多相关《请求控制设备、请求控制方法及相关的处理器.pdf(20页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102004702A43申请公布日20110406CN102004702ACN102004702A21申请号200910171387622申请日20090831G06F12/0820060171申请人国际商业机器公司地址美国纽约72发明人常晓涛王鲲刘卫曾洪博74专利代理机构中国国际贸易促进委员会专利商标事务所11038代理人党建华54发明名称请求控制设备、请求控制方法及相关的处理器57摘要本发明提供了请求控制设备、请求控制方法以及相关的处理器。所述控制设备包括判断装置,配置为判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;置标装置,配置为在所述第一队。
2、列单元与请求存储单元中的所述队列单元对应于相同消息的情况下,将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。根据本发明的技术方案,可以减少由于不必要的保存/加载状态引起的内存访问,从而提高处理器的处理速度。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书10页附图6页CN102004715A1/3页21一种请求控制设备,连接到请求存储单元,所述请求控制设备包括判断装置,配置为判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;置标装置,配置为在所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相。
3、同消息的情况下,将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。2如权利要求1所述的请求控制设备,其中所述请求存储单元包括首要请求存储器;所述判断装置判断所述第一队列单元是否与所述首要请求存储器的队列尾处的第二队列单元对应于相同消息;所述置标装置在所述第一队列单元和第二队列单元对应于相同消息的情况下,将所述第二队列单元的保存标识符设置为指示不保存与该消息相关的状态。3如权利要求1所述的请求控制设备,其中所述请求存储单元包括首要请求存储器和辅助请求存储器;所述控制设备进一步包括合并装置,配置为在所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息。
4、的情况下,将所述第一队列单元放入所述辅助请求存储器中。4如权利要求3所述的请求控制设备,其中所述辅助请求存储器对于所述首要请求存储器的单位硬件存储单元是公用的。5如权利要求4所述的请求控制设备,其中所述判断装置在所述辅助请求存储器为空的情况下,判断所述第一队列单元是否与所述首要请求存储器中的第三队列单元对应于相同消息;其中所述置标装置在所述判断装置确定所述第一队列单元与所述第三队列单元对应于相同消息的情况下,将所述第三队列单元的保存标识符设置为指示不保存与该消息相关的状态。6如权利要求5所述的请求控制设备,其中所述合并装置在所述第一队列单元与所述第三队列单元对应于相同消息且所述第三队列单元不是。
5、位于首要请求存储器的队列尾的情况下,才将所述第一队列单元放入所述辅助请求存储器中。7如权利要求4所述的请求控制设备,其中所述判断装置在所述辅助请求存储器不为空的情况下,判断所述第一队列单元是否与所述辅助请求存储器的队列尾处的第四队列单元对应于相同消息;其中所述置标装置在所述第一队列单元与所述第四队列单元对应于相同消息的情况下,将所述第四队列单元的保存标识符设置为指示不保存与该消息相关的状态;以及其中所述合并装置在所述第一队列单元与所述第四队列单元对应于相同消息的情况下,将所述第一队列单元放入所述辅助请求存储器中。8如权利要求3所述的请求控制设备,其中所述辅助请求存储器是与首要请求存储器中的至少。
6、一个单位硬件存储单元对应的专用辅助请求存储器。9如权利要求8所述的请求控制设备,其中所述判断装置判断所述第一队列单元是否与首要请求存储器中第五队列单元对应于相同的消息,其中所述第五队列单元所在的单位硬件存储单元有对应的辅助请求存储器;权利要求书CN102004702ACN102004715A2/3页3所述合并装置在所述第一队列单元与所述第五队列单元对应于相同消息的情况下,将第一队列单元放入与第五队列单元所在的单位硬件存储单元对应的辅助请求存储器中。10如权利要求9所述的请求控制设备,其中如果在第一队列单元到来时所述与第五队列单元所在的单位硬件存储单元对应的辅助请求存储器为空,则所述置标装置设置。
7、所述第五队列单元的保存标识符为指示不保存与该消息相关的状态。11如权利要求9所述的请求控制设备,其中如果在第一队列单元到来时所述与第五队列单元对应的辅助请求存储器不为空,则置标装置设置所述与第五队列单元所在的单位硬件存储单元对应的辅助请求存储器的队列尾处的队列单元的保存标识符为指示不保存与该消息相关的状态。12如权利要求3到11中任意一项所述的请求控制设备,进一步包括计数装置,配置为检查在一个辅助请求存储器中连续放入对应于相同消息的队列单元的数目是否超过了第一阈值;所述置标装置在所述数目不超过所述第一阈值的情况下才将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状。
8、态;所述合并装置在所述数目不超过所述第一阈值的情况下才将第一队列单元放入所述辅助请求存储器中。13一种连接到请求存储单元的处理器,所述请求存储单元连接到如权利要求112中任意一项所述的请求控制设备,所述处理器包括读标装置,配置为根据所述已经在请求存储单元中的队列单元的保存标识符确定在处理完该已经在请求存储单元中的队列单元后是否保存与该消息相关的状态。14一种请求控制方法,包括判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;和如果所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息。
9、相关的状态。15如权利要求14所述的请求控制方法,其中所述请求存储单元包括首要请求存储器,其中判断所述第一队列单元是否与所述已经在请求存储单元中的队列单元对应于相同消息包括判断所述第一队列单元是否与首要请求存储器的队列尾处的第二队列单元对应于相同消息;和其中将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态包括设置所述第二队列单元的保存标识符为指示不保存与该消息有关的状态。16如权利要求13所述的请求控制方法,其中所述请求存储单元包括首要请求存储器和辅助请求存储器,所述控制方法进一步包括将所述第一队列单元放入所述辅助请求存储器中。17如权利要求16所述的请求控制。
10、方法,其中所述辅助请求存储器对于所述首要请求存储器的单位硬件存储单元是公用的。权利要求书CN102004702ACN102004715A3/3页418如权利要求17所述的请求控制方法,其中判断所述第一队列单元是否与所述已经在请求存储单元中的队列单元对应于相同的消息包括在所述辅助请求存储器为空的情况下,判断所述第一队列单元是否与所述首要请求存储器中的第三队列单元对应于相同消息;将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与所述消息相关的状态包括将所述第三队列单元的保存标识符设置为指示不保存与该消息相关的状态。19如权利要求17所述的请求控制方法,其中判断所述第一队列单元是否与。
11、所述已经在请求存储单元中的队列单元对应于相同的消息包括在所述辅助请求存储器不为空的情况下,判断所述第一队列单元是否与所述辅助请求存储器的队列尾处的第四队列单元对应于相同消息;将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与所述消息相关的状态包括将所述第四队列单元的保存标识符设置为指示不保存与该消息相关的状态。20如权利要求16所述的请求控制方法,其中所述辅助请求存储器是与首要请求存储器中的至少一个单位硬件存储单元对应的专用辅助请求存储器;判断所述第一队列单元是否与所述已经在请求存储单元中的队列单元对应于相同的消息包括判断所述第一队列单元是否与首要请求存储器中的第五队列单元对应。
12、于相同的消息,其中所述第五队列单元所在的单位硬件存储单元有对应的辅助请求存储器;将第一队列单元放入所述辅助请求存储器中包括将第一队列单元放入与第五队列单元所在的单位硬件存储单元对应的辅助请求存储器中。21如权利要求16所述的请求控制方法,进一步包括检查在一个辅助请求存储器中连续放入对应于相同消息的队列单元的数目是否超过了第一阈值;如果所述数目不超过所述第一阈值,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存于所述消息相关的状态,并且将第一队列单元放入所述辅助请求存储器中。权利要求书CN102004702ACN102004715A1/10页5请求控制设备、请求控制方法及相关的。
13、处理器技术领域0001本发明涉及数据处理领域,更具体地说,涉及请求控制设备、请求控制方法及相关的处理器。背景技术0002一种常见的多处理器协作架构是,所述多个处理器具有不同的类型。例如,一个通用处理器作为主处理器,加上多个与该通用处理器对应的专用处理器作为协处理器。所述专用处理器针对某些特殊应用进行了特别的优化,从而在处理所述特殊应用时具有比通用处理器更高的性能。所述应用可以是,例如,加密/解密、压缩/解压缩、编码/解码、模式匹配或XML解析等。图1给出了这种架构的示意图。通用处理器将需要进行处理的数据通过请求存储单元发送给专用处理器,专用处理器将处理得到的结果通过结果存储单元发送给通用处理器。
14、。0003在网络环境下,原始消息在发送端被包装成多个数据包,每个数据包包括一个原始消息段;这些数据包然后通过网络发送到接收端,由接收端将这些数据包包括的原始消息段组合起来从而恢复原始消息。图2示出了一种常见的结合预处理的消息发送接收流程。图2所示的流程针对需要发送端和接收端进行对称处理的情况。如图2所示,发送端的通用处理器可以利用发送端的专用处理器对原始消息进行预处理,例如压缩或者加密,形成变形消息,然后再将所述变形消息分成多个变形消息段包装到多个数据包。在这里,原始消息和变形消息是相同消息的两种形式。由于网络环境的不稳定性,虽然发送端连续地发送所述多个数据包,但是接收端可能并不能连续地收到所。
15、述多个数据包。根据一种称为无状态处理的方案,接收端的通用处理器可以在收到并解包对应于一个消息的所有数据包后,得到完整的变形消息,再利用接收端的专用处理器对所述变形消息进行逆处理,从而恢复原始消息。根据一种称为有状态处理的方案,接收端的通用处理器也可以每收到并解包一个数据包,就将该数据包所包括的变形消息段发送给接收端的专用处理器,得到原始消息段;然后在收到、解包、逆处理对应于一个消息的所有数据包后,将各个原始消息段组合起来,从而恢复原始消息。0004在接收端,对应于不同消息的数据包可能彼此交织地到达接收端。在有状态处理的情况下,接收端的通用处理器解包每个消息包,将所得到的变形消息段按照一定格式封。
16、装成队列单元后放入专用处理器的首要请求存储器。首要请求存储器是请求存储单元的一部分。专用处理器在处理队列单元时需要频繁地保存和加载与消息相关的状态。图3给出了专用处理器的首要请求存储器和相应的状态切换的示例。如图3左侧所示,每一行表示一个队列单元,其至少包括两部分的内容,一部分是消息ID,另一部分是需要处理的数据或指向该数据的指针。在该首要请求存储器中的各队列单元封装了对应于三个消息的变形消息段,即消息A的变形消息段、消息B的变形消息段和消息C的变形消息段。如图3右侧所示,在处理完封装了消息C变形消息段C1的队列单元后,需要保存与消息C相关的状态;在准备处理封装了消息C的变形消息段C2的队列单。
17、元时,又需要加载与消息C相关的状态。说明书CN102004702ACN102004715A2/10页6更糟的是,专用处理器并不知道前后两个队列单元是否对应于相同消息,因此如图3所示,每次处理完一个队列单元都需要保存与对应于该队列单元的消息相关的状态,并且每次准备处理一个队列单元时都需要加载所述状态,除非之前没有保存过所述状态。0005可以通过将所述状态保存在专用处理器的高速缓存CACHE中来提高保存和加载所述状态的速度。但是,如果所述状态的数据量太大,或者需要保存状态的消息数目太多,或者所述高速缓存的容量太小,则会导致必须将所述状态保存到内存中。这样,频繁地保存和加载所述状态就会引起频繁的内存。
18、访问,从而大大增加处理延时。发明内容0006本发明提供了请求控制设备、请求控制方法以及相关的处理器。0007所述控制设备包括判断装置,配置为判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;置标装置,配置为在所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息的情况下,将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。0008连接到上述请求存储单元的处理器还包括读标装置,配置为根据所述已经在请求存储单元中的队列单元的保存标识符确定在处理完该已经在请求存储单元中的队列单元后是否保存与该消息相关的状态。0009根据本发明实施例。
19、的请求存储单元的控制方法包括判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;和如果所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。0010根据本发明的技术方案,可以减少由于不必要的保存/加载状态引起的内存访问,从而提高处理器的处理速度。附图说明0011图1示出了典型的多处理器协作架构。0012图2示出了结合预处理的消息发送接收流程。0013图3是专用处理器的请求存储单元和相应的状态切换的示意。0014图4A示出了根据本发明一个实施例的多处理器协作架构。0015图4。
20、B示出了图4A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。0016图5A示出了根据本发明另一个实施例的多处理器协作架构。0017图5B示出了图5A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。0018图6A示出了根据本发明又一个实施例的多处理器协作架构。0019图6B示出了图6A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。说明书CN102004702ACN102004715A3/10页7具体实施方式0020以下参照附图说明本发明提供的处理器和调度处理器的方法的具体实施方式。根据本发明的实施例,如果到来的第一队列单元与已经位于请求存储单元。
21、中的队列单元对应于相同消息,则将所述已经位于请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。这样,处理器在处理完所述已经位于请求存储单元中的所述队列单元后,就可以不用保存状态,从而减少对内存的访问。在以下的描述中,判断甲队列单元是否与乙队列单元对应于相同消息可以是直接判断甲队列单元对应的消息与乙队列单元对应的消息是否相同;如果已经判断出丙队列单元与乙队列单元对应于相同的消息,那么判断甲队列单元是否与乙队列单元对应于相同消息也可以是判断甲队列单元对应的消息与丙队列单元对应的消息是否相同。0021图4A示出了根据本发明一个实施例的多处理器协作架构。如前面参照图3所进行的描述。
22、,专用处理器并不知道前后两个队列单元是否对应于相同消息,因此导致每次处理完一个队列单元都需要保存与对应于该队列单元的消息相关的状态,并且每次准备处理一个队列单元时都需要加载所述状态,除非之前没有保存过所述状态。根据图4A所示的架构,可以通知专用处理器前后两个队列单元是否对应于相同消息。0022如图4A所示,通用处理器和专用处理器之间通过首要请求存储器和结果存储单元通信。已经说明,首要请求存储器首要请求存储器是请求存储单元的一部分。本领域技术人员可以根据需要设置请求存储单元和结果存储单元的形式,例如可以作为逻辑队列在内存中实现,也可以作为物理队列在通用处理器或专用处理器所在的芯片上实现。如果通用。
23、处理器和专用处理器位于不同的芯片上,请求存储单元或结果存储单元可以与通用处理器设置在相同芯片上,也可以与专用处理器设置在相同芯片上。在通用处理器和专用处理器是相同芯片的不同单元的情况下,所述请求存储单元或结果存储单元就是芯片上的特定单元。判断装置414和置标装置412是请求控制设备的一部分,其优选地和首要请求存储器设置在相同位置。0023图4A所示的判断装置414用于判断当前到来的第一队列单元是否与前一个进入首要请求存储器的第二队列单元对应于相同的消息。如果判断出所述第一队列单元与所述第二队列单元对应于相同的消息,那么置标装置412根据该判断结果设置所述第二队列单元的保存标识符。这样,专用处理。
24、器在处理所述第二队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的所述第一队列单元对应于相同消息,因此不必进行状态的保存。0024根据本实施例的队列单元的数据结构包括消息ID,用于表示该队列单元对应于哪个消息。判断装置414通过比较两个队列单元中的消息ID,就可以确定这两个队列单元是否对应于相同消息。队列单元还包括所述保存标识符,用于指示专用处理器在处理完当前队列单元后是否需要保存状态。可以将所述保存标识符的默认值设置为指示需要保存状态,这样,只有在判断装置414判断出第一队列单元和第二队列单元对应于相同的消息时,置标装置412才将所述保存标识符的值设置为指示不需要保存状态。队列。
25、单元的数据结构中所包括的其他内容是本领域的公知常识,在此不再赘述。0025所述判断操作和置标操作可以与第一队列单元进入首要请求存储器的操作并行地进行,如何将新的队列单元放入队列中是本领域的公知常识,在此也不再赘述。说明书CN102004702ACN102004715A4/10页80026请求存储单元和结果存储单元优选地作为物理队列实现,这是因为对内存中的数据进行比较和修改都需要进行内存访问,从而增加了处理时间。而作为物理队列实现时,判断装置414和置标装置412可以通过简单的组合电路实现,从而不仅提高了处理速度,还降低了处理的复杂度。例如,判断装置414可以通过异或电路实现,当两个消息ID相同。
26、时输出1,不同时输出0,假设所述保存标识符的默认值是0,那么置标装置412只要将判断装置414的输出写入到第二队列单元的保存标识符即可。0027如果通用处理器和专用处理器位于不同的芯片上,请求存储单元或结果存储单元可以与通用处理器设置在相同芯片上,也可以与专用处理器设置在相同芯片上。在通用处理器和专用处理器是相同芯片的不同单元的情况下,所述请求存储单元或结果存储单元也可以就是芯片上的特定单元。0028图4B示出了图4A的实施例所对应的专用处理器的首要请求存储器和相应的状态切换的示意。本领域技术人员可以理解,图4B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。在图4B左侧。
27、,同样每一行表示一个队列单元,每个队列单元至少包括三部分,第一部分是消息ID,第二部分是需要处理的数据或指向该数据的指针,第三部分是所述保存标识符。注意虚线所环绕的部分。封装了消息C变形消息段C4的队列单元在进入首要请求存储器时,根据上面的描述,置标装置412将封装了消息C变形消息段C3的队列单元的保存标识符设置为指示不保存状态。虽然在图4B中,封装了消息C变形消息段C3的队列单元和封装了消息C变形消息段C4的队列单元位于队列中部而不是队列尾,但是本领域技术人员可以理解,在封装了消息C变形消息段C4的队列单元到来的时候,封装了消息C变形消息段C3的队列单元是位于队列尾的。专用处理器处理完封装了。
28、消息C变形消息段C3的队列单元后,就不保存状态,从而不用进行内存的访问。0029图5A和图6A示出了根据本发明另外两个实施例的多处理器协作架构。0030在图5A和图6A所示的架构中,在请求存储单元中设置辅助请求存储器,这样就可以实现针对非队列尾的队列单元减少对状态的保存。判断装置判断到来的第一队列单元与请求存储单元中的队列单元是否对应于相同的消息,并且在第一队列单元与请求存储单元中的队列单元是否对应于相同的消息时,通知合并装置将第一队列单元放入辅助请求存储器中,通知置标装置将首要请求存储器或辅助请求存储器中与所述第一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消息相关的状。
29、态。下面描述根据本发明实施例的设置有辅助请求存储器的请求存储单元。0031在图5A所示的架构中,请求存储单元进一步包括合并装置516和辅助请求存储器。辅助请求存储器的队列单元的数据结构可以与首要请求存储器的队列单元的数据结构相同也可以不同。为了简单起见,以下的描述主要针对辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构相同的情况。0032在图5A所示的实施例中,所述辅助请求存储器是对于所述首要请求存储器的单位硬件存储单元公用的。首要请求存储器或辅助请求存储器中的每个单位硬件存储单元用于存储一个队列单元。辅助请求存储器对于单位硬件存储单元是公用的,表示该辅助请求存储器中存储。
30、可以存储与首要请求存储器中任意一个单位硬件存储单元中存储的队列单元对应于相同消息的队列单元。在此情况下,判断装置514可以判断以下条件是否成立00331辅助请求存储器为空,且到来的第一队列单元与已经在请求存储单元中的任说明书CN102004702ACN102004715A5/10页9何一个队列单元对应于相同的消息。0034如果判断装置514发现,当前到来的第一队列单元与已经在请求存储单元中的某一个,称为第三队列单元,对应于相同消息,则置标装置512将该第三队列单元的保存标识符设置为指示不需要进行保存操作。如果首要请求存储器的队列单元的数据结构与辅助请求存储器的队列单元的数据结构相同,那么响应于。
31、判断装置514发现第一队列单元与第三队列单元对应于相同消息,合并装置516将所述第一队列单元放入辅助请求存储器。如果辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构不同,那么合并装置516将第一队列单元按照辅助请求存储器的队列单元的数据结构格式化后放入辅助请求存储器。如果第一队列单元与首要请求存储器中的任意一个队列单元都不是对应于相同的消息,则合并装置516将第一队列单元放入首要请求存储器的队列尾。本领域技术人员可以理解,如果所述第三队列单元位于首要请求存储器的队列尾,可以将第一队列单元放入辅助请求存储器,也可以将第一队列单元放入首要请求存储器。0035专用处理器在处理所。
32、述第三队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的所述第一队列单元对应于相同消息,因此不必进行状态的保存;专用处理器还通过所述保存标识符知道所述第一队列单元位于辅助请求存储器中,从而在处理完所述第三队列单元后不是从首要请求存储器中读取位于第三队列单元后面的队列单元,而是从辅助请求存储器中读取第一队列单元或其被格式化后形成的第一队列单元。0036作为替换地,判断装置也可以判断以下条件是否成立00372辅助请求存储器不为空,且到来的第一队列单元与辅助请求存储器中的队列单元对应于相同的消息。0038如果判断装置514发现辅助请求存储器不为空,且到来的第一队列单元与辅助请求存储器中。
33、的队列单元对应于相同的消息。那么合并装置516将第一队列单元放入或者格式化后放入辅助请求存储器,而置标装置512将辅助请求存储器中最后一个队列单元,称为第四队列单元的保存标识符设置为指示不保存状态。如果第一队列单元与辅助请求存储器中的队列单元对应于不同的消息,那么合并装置516将第一队列单元放入首要请求存储器末尾。0039专用处理器在处理辅助请求存储器中的第四队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的第一队列单元对应于相同消息,因此不必进行状态的保存;专用处理器还通过所述保存标识符知道所述第一队列单元位于辅助请求存储器中,从而在处理完所述第四队列单元后不是从首要请求存储器。
34、中读取位于第三队列单元后面的队列单元,而是从辅助请求存储器中读取第一队列单元。0040本领域技术人员可以理解,如果为了简化设计,判断装置514可以只判断条件1是否成立,并在成立的基础上通知置标装置512将该第三队列单元的保存标识符设置为指示不需要进行保存操作,通知合并装置516将所述第一队列单元放入辅助请求存储器。判断装置514也可以只判断条件2是否成立,并在成立时通知合并装置516将第一队列单元放入辅助请求存储器,通知置标装置512将辅助请求存储器中最后一个队列单元即第四队列单元的保存标识符设置为指示不保存状态。本领域技术人员还可以针对设置公用的辅助请求存储器的架构设计出更多的判断和控制逻辑。
35、。0041辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结说明书CN102004702ACN102004715A6/10页10构不同的场景主要是辅助请求存储器的队列单元是首要请求存储器的队列单元的简化版本。例如,首要请求存储器的队列单元的数据结构中可能包括服务质量QOS等控制标记,用于指导专用处理器的工作。如果这些控制标记对于特定的消息是不变的,那么合并装置516就可以从第一队列单元剥除这些控制标记后将该第一队列单元放入辅助请求存储器。0042在硬件设计时,考虑到硬件的容量,辅助请求存储器可能被设计为只有一个单位硬件存储单元。换句话说,辅助请求存储器可能被设计为只能同时容纳。
36、一个队列单元。在这种情况下,专用处理器在处理完被放入辅助请求存储器的第一队列单元后,保存与该队列单元有关的状态,然后从首要请求存储器中的队列头读取下一个队列单元,而不管保存标识符的值是什么。也就是说,合并装置516可以从所述第一队列单元的数据结构中进一步剥除保存标识符。0043图5B示出了在设置了一个可以同时容纳多个队列单元,即具有多个单位硬件存储单元的辅助请求存储器的情况下,专用处理器的首要请求存储器、辅助请求存储器和相应的状态切换。本领域技术人员可以理解,图5B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。其中虚线表示所连接的两个队列单元在物理位置上是相邻的,但是从。
37、处理时间上来说却是隔开的。为了简单起见,图5B将辅助请求存储器的队列单元示出为与首要请求存储器的队列单元具有相同的数据结构。0044图5B所示的首要请求存储器和辅助请求存储器是如下这样形成的。通用处理器发出队列单元的顺序和图3以及图4B一样,因此,封装了消息C变形消息段C1的队列单元、封装了消息A变形消息段A1的队列单元、封装了消息B变形消息段B1的队列单元依次进入队列单元。封装了消息C变形消息段C2的队列单元到来时,按照本发明的实施例,判断装置514判断条件1满足,因此合并装置516将其放入了辅助请求存储器。在封装了消息C变形消息段C2的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理。
38、之前,封装了消息A变形消息段A2的队列单元到来,此时由于辅助请求存储器中已经放入了对应于消息C的队列单元,即判断装置514判断条件1和2均不满足,因此封装了消息A变形消息段A2的队列单元只能放在首要请求存储器中。此后,仍然在封装了消息C变形消息段C2的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理之前,封装了消息C变形消息段C3的队列单元、封装了消息C变形消息段C4的队列单元依次到来,根据本发明的实施例,判断装置514判断条件2满足,因此合并装置516将其放入辅助请求存储器并相应地设置相关的保存标识符。在封装了消息C变形消息段C4的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理。
39、之前,封装了消息B变形消息段B2的队列单元到来,此时由于辅助请求存储器中已经放入了对应于消息C的队列单元,即判断装置514判断条件1和2均不满足,因此封装了消息B变形消息段B2的队列单元只能放在首要请求存储器中。0045比较图4B和图5B的情况,可以看出保存/加载状态的数目被进一步减少了。0046根据本实施例,可以设置辅助请求存储器组,其包括两个以上的辅助请求存储器。一般来说,辅助请求存储器的数目不超过首要请求存储器所能同时容纳的队列单元的总数,即不超过首要请求存储器的单位硬件存储单元的总数。0047图6A示出了根据本发明又一个实施例的多处理器协作架构。0048在图6A示出的实施例中,为首要请。
40、求存储器中的一个或多个单位硬件存储单元说明书CN102004702ACN102004715A7/10页11设置专用的辅助请求存储器。一个辅助请求存储器对应于或者专用于首要请求存储器中的一个单位硬件存储单元,表示该辅助请求存储器中只能存储与首要请求存储器中的该单位硬件存储单元中存储的队列单元对应于相同消息的队列单元。在下面的描述中,提到一个队列单元被设置有辅助请求存储器或者对应于辅助请求存储器,指的是该队列单元所在的单位硬件存储单元设置有辅助请求存储器或者对应于辅助请求存储器。0049同样,辅助请求存储器的队列单元的数据结构可以与首要请求存储器的队列单元的数据结构相同也可以不同。为了简单起见,以。
41、下的描述主要针对辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构相同的情况。0050判断装置614判断到来的第一队列单元是否与已经在首要请求存储器中的任何一个设置有辅助请求存储器的队列单元对应于相同的消息。如果判断装置614判断到来的第一队列单元与已经在首要请求存储器的任何一个设置有辅助请求存储器的队列单元,称为第五队列单元,对应于相同的消息,则合并装置616将第一队列单元放入与第五队列单元对应的辅助请求存储器中。本领域技术人员可以理解,所述第五队列单元可以位于首要请求存储器的队列尾。置标装置612进行相应地置标操作,即如果第一队列单元是进入与第五队列单元对应的辅助请求存。
42、储器中的第一个队列单元,即在第一队列单元到来时辅助请求存储器为空,则置标装置612设置所述第五队列单元的保存标识符;如果第一队列单元不是进入与第五队列单元对应的辅助请求存储器中的第一个队列单元,即在第一队列单元到来时辅助请求存储器不为空,那么置标装置612设置在第一队列单元之前进入与第五队列单元对应的辅助请求存储器的队列单元的保存标识符。本领域技术人员可以理解,如果所述第五队列单元位于首要请求存储器的队列尾,可以将第一队列单元放入与所述第五队列单元所在的单位硬件存储单元对应的辅助请求存储器,也可以将第一队列单元放入首要请求存储器。0051图6B示出了在针对首要请求存储器中每一个队列单元设置一个。
43、辅助请求存储器的情况下,专用处理器的首要请求存储器、辅助请求存储器和相应的状态切换。其中虚线表示所连接的两个队列单元在物理位置上是相邻的,但是从处理时间上来说却是隔开的。本领域技术人员可以理解,图6B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。为了简单起见,图6B将辅助请求存储器的队列单元示出为与首要请求存储器的队列单元具有相同的数据结构。0052图6B所示的首要请求存储器和辅助请求存储器是如下这样形成的。通用处理器发出队列单元的顺序和图3、图4B以及图5B一样,因此,封装了消息C变形消息段C1的队列单元、封装了消息A变形消息段A1的队列单元、封装了消息B变形消息段B。
44、1的队列单元依次进入队列单元。封装了消息C变形消息段C2的队列单元到来时,按照本发明的实施例,合并装置616将其放入了第一辅助请求存储器,即对应于封装了消息C变形消息段C1的队列单元的辅助请求存储器,并且置标装置612将封装了消息C变形消息段C1的队列单元的保存标识符设置为指示不进行状态保存。封装了消息A变形消息段A2的队列单元到来时,按照本发明的实施例,合并装置616将其放入第二辅助请求存储器,即对应于封装了消息A变形消息段A1的队列单元的辅助请求存储器,并且置标装置612将封装了消息A变形消息段A1的队列单元的保存标识符设置为指示不进行状态保存。封装了消息C变形消息段C3的队列单元、封装了。
45、消息C变形消息段C4的队列单元依次到来,根据本发明的实施例,合并说明书CN102004702ACN102004715A8/10页12装置616将其放入第一辅助请求存储器并相应地设置相关的保存标识符。封装了消息B变形消息段B2的队列单元到来时,按照本发明的实施例,合并装置616将其放入第三辅助请求存储器,即对应于封装了消息B变形消息段B1的队列单元的辅助请求存储器。0053比较图6B和图5B,可以看出保存/加载状态的数目被进一步减少了。0054对于图5A和图6A所示的实施例,参照图5B和图6B中的首要请求存储器和辅助队列示意,如果对应于消息C的请求单元不停地进入图5B中的辅助请求存储器或图6B中。
46、的第一辅助请求存储器,那么对应于消息A和消息B的请求单元就总是得不到处理。为了克服这一问题,可以在请求控制设备中设置计数装置,检查在一个辅助请求存储器中连续放入对应于相同消息的队列单元的个数是否超过第一阈值。如果超过该第一阈值,则即使判断装置发现到来的第一队列单元与已经在首要请求存储器或辅助请求存储器中的某队列单元对应于相同消息,合并装置也仍然将该第一队列单元放在首要请求存储器的队列尾。假定设该第一阈值为3,那么在图5B和图6B中,即使再来一个对应于消息C的请求单元,合并装置也将其放入首要请求存储器的队列尾,而置标装置也不进行相应的置标操作。0055根据本发明实施例的请求存储单元控制方法包括以。
47、下步骤0056判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;和0057如果所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。0058如果所述请求存储单元只包括首要请求存储器而不包括辅助请求存储器,那么判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息就是判断到来的第一队列单元是否与首要请求存储器的队列尾处的第二队列单元对应于相同消息;而将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态的步骤就是设置所述第二队列。
48、单元的保存标识符为指示不保存与该消息有关的状态。0059如果所述请求存储单元既包括首要请求存储器又包括辅助请求存储器,那么以上控制方法可以进一步包括0060将第一队列单元放入所述辅助请求存储器中。0061其中,所述辅助请求存储器可以是公用的,也可以是为首要请求存储器中的至少一个单位硬件存储单元设置的专用辅助请求存储器。0062如果所述辅助请求存储器是公用的,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括0063在所述辅助请求存储器为空的情况下,判断所述第一队列单元是否与所述首要请求存储器中任意一个第三队列单元对应于相同消息;0064将所述请求存储单元中与所述第。
49、一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消息相关的状态的步骤包括0065将所述第三队列单元的保存标识符设置为指示不保存与该消息相关的状态。0066作为替换地,如果所述辅助请求存储器是公用的,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括说明书CN102004702ACN102004715A9/10页130067在所述辅助请求存储器不为空的情况下,判断所述第一队列单元是否与所述辅助请求存储器的队列尾处的第四队列单元对应于相同消息;0068将所述请求存储单元中与所述第一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消。
50、息相关的状态的步骤包括0069将所述第四队列单元的保存标识符设置为指示不保存与该消息相关的状态。0070如果所述辅助请求存储器是为首要请求存储器中的至少一个单位硬件存储单元设置的专用辅助请求存储器,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括0071判断所述第一队列单元是否与首要请求存储器中的任何一个设置有辅助请求存储器的第五队列单元对应于相同的消息;0072将第一队列单元放入所述辅助请求存储器中的步骤包括0073将第一队列单元放入与第五队列单元对应的辅助请求存储器中。0074如果在第一队列单元到来时所述与第五队列单元对应的辅助请求存储器为空,则设置所述第五。