首页> 中国专利> 请求控制设备、请求控制方法及相关的处理器

请求控制设备、请求控制方法及相关的处理器

摘要

本发明提供了请求控制设备、请求控制方法以及相关的处理器。所述控制设备包括:判断装置,配置为判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;置标装置,配置为在所述第一队列单元与请求存储单元中的所述队列单元对应于相同消息的情况下,将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。根据本发明的技术方案,可以减少由于不必要的保存/加载状态引起的内存访问,从而提高处理器的处理速度。

著录项

  • 公开/公告号CN102004702A

    专利类型发明专利

  • 公开/公告日2011-04-06

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200910171387.6

  • 发明设计人 常晓涛;王鲲;刘卫;曾洪博;

    申请日2009-08-31

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人党建华

  • 地址 美国纽约

  • 入库时间 2023-12-18 01:48:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-09

    授权

    授权

  • 2011-05-25

    实质审查的生效 IPC(主分类):G06F12/08 申请日:20090831

    实质审查的生效

  • 2011-04-06

    公开

    公开

说明书

技术领域

本发明涉及数据处理领域,更具体地说,涉及请求控制设备、请求控制方法及相关的处理器。

背景技术

一种常见的多处理器协作架构是,所述多个处理器具有不同的类型。例如,一个通用处理器作为主处理器,加上多个与该通用处理器对应的专用处理器作为协处理器。所述专用处理器针对某些特殊应用进行了特别的优化,从而在处理所述特殊应用时具有比通用处理器更高的性能。所述应用可以是,例如,加密/解密、压缩/解压缩、编码/解码、模式匹配或XML解析等。图1给出了这种架构的示意图。通用处理器将需要进行处理的数据通过请求存储单元发送给专用处理器,专用处理器将处理得到的结果通过结果存储单元发送给通用处理器。

在网络环境下,原始消息在发送端被包装成多个数据包,每个数据包包括一个原始消息段;这些数据包然后通过网络发送到接收端,由接收端将这些数据包包括的原始消息段组合起来从而恢复原始消息。图2示出了一种常见的结合预处理的消息发送-接收流程。图2所示的流程针对需要发送端和接收端进行对称处理的情况。如图2所示,发送端的通用处理器可以利用发送端的专用处理器对原始消息进行预处理,例如压缩或者加密,形成变形消息,然后再将所述变形消息分成多个变形消息段包装到多个数据包。在这里,原始消息和变形消息是相同消息的两种形式。由于网络环境的不稳定性,虽然发送端连续地发送所述多个数据包,但是接收端可能并不能连续地收到所述多个数据包。根据一种称为无状态处理的方案,接收端的通用处理器可以在收到并解包对应于一个消息的所有数据包后,得到完整的变形消息,再利用接收端的专用处理器对所述变形消息进行逆处理,从而恢复原始消息。根据一种称为有状态处理的方案,接收端的通用处理器也可以每收到并解包一个数据包,就将该数据包所包括的变形消息段发送给接收端的专用处理器,得到原始消息段;然后在收到、解包、逆处理对应于一个消息的所有数据包后,将各个原始消息段组合起来,从而恢复原始消息。

在接收端,对应于不同消息的数据包可能彼此交织地到达接收端。在有状态处理的情况下,接收端的通用处理器解包每个消息包,将所得到的变形消息段按照一定格式封装成队列单元后放入专用处理器的首要请求存储器。首要请求存储器是请求存储单元的一部分。专用处理器在处理队列单元时需要频繁地保存和加载与消息相关的状态。图3给出了专用处理器的首要请求存储器和相应的状态切换的示例。如图3左侧所示,每一行表示一个队列单元,其至少包括两部分的内容,一部分是消息ID,另一部分是需要处理的数据或指向该数据的指针。在该首要请求存储器中的各队列单元封装了对应于三个消息的变形消息段,即消息A的变形消息段、消息B的变形消息段和消息C的变形消息段。如图3右侧所示,在处理完封装了消息C变形消息段C1的队列单元后,需要保存与消息C相关的状态;在准备处理封装了消息C的变形消息段C2的队列单元时,又需要加载与消息C相关的状态。更糟的是,专用处理器并不知道前后两个队列单元是否对应于相同消息,因此如图3所示,每次处理完一个队列单元都需要保存与对应于该队列单元的消息相关的状态,并且每次准备处理一个队列单元时都需要加载所述状态,除非之前没有保存过所述状态。

可以通过将所述状态保存在专用处理器的高速缓存(cache)中来提高保存和加载所述状态的速度。但是,如果所述状态的数据量太大,或者需要保存状态的消息数目太多,或者所述高速缓存的容量太小,则会导致必须将所述状态保存到内存中。这样,频繁地保存和加载所述状态就会引起频繁的内存访问,从而大大增加处理延时。

发明内容

本发明提供了请求控制设备、请求控制方法以及相关的处理器。

所述控制设备包括:判断装置,配置为判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;置标装置,配置为在所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息的情况下,将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。

连接到上述请求存储单元的处理器还包括读标装置,配置为根据所述已经在请求存储单元中的队列单元的保存标识符确定在处理完该已经在请求存储单元中的队列单元后是否保存与该消息相关的状态。

根据本发明实施例的请求存储单元的控制方法包括:判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;和如果所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。

根据本发明的技术方案,可以减少由于不必要的保存/加载状态引起的内存访问,从而提高处理器的处理速度。

附图说明

图1示出了典型的多处理器协作架构。

图2示出了结合预处理的消息发送-接收流程。

图3是专用处理器的请求存储单元和相应的状态切换的示意。

图4A示出了根据本发明一个实施例的多处理器协作架构。

图4B示出了图4A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。

图5A示出了根据本发明另一个实施例的多处理器协作架构。

图5B示出了图5A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。

图6A示出了根据本发明又一个实施例的多处理器协作架构。

图6B示出了图6A的实施例所对应的专用处理器的请求存储单元和相应的状态切换的示意。

具体实施方式

以下参照附图说明本发明提供的处理器和调度处理器的方法的具体实施方式。根据本发明的实施例,如果到来的第一队列单元与已经位于请求存储单元中的队列单元对应于相同消息,则将所述已经位于请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。这样,处理器在处理完所述已经位于请求存储单元中的所述队列单元后,就可以不用保存状态,从而减少对内存的访问。在以下的描述中,判断甲队列单元是否与乙队列单元对应于相同消息可以是直接判断甲队列单元对应的消息与乙队列单元对应的消息是否相同;如果已经判断出丙队列单元与乙队列单元对应于相同的消息,那么判断甲队列单元是否与乙队列单元对应于相同消息也可以是判断甲队列单元对应的消息与丙队列单元对应的消息是否相同。

图4A示出了根据本发明一个实施例的多处理器协作架构。如前面参照图3所进行的描述,专用处理器并不知道前后两个队列单元是否对应于相同消息,因此导致每次处理完一个队列单元都需要保存与对应于该队列单元的消息相关的状态,并且每次准备处理一个队列单元时都需要加载所述状态,除非之前没有保存过所述状态。根据图4A所示的架构,可以通知专用处理器前后两个队列单元是否对应于相同消息。

如图4A所示,通用处理器和专用处理器之间通过首要请求存储器和结果存储单元通信。已经说明,首要请求存储器首要请求存储器是请求存储单元的一部分。本领域技术人员可以根据需要设置请求存储单元和结果存储单元的形式,例如可以作为逻辑队列在内存中实现,也可以作为物理队列在通用处理器或专用处理器所在的芯片上实现。如果通用处理器和专用处理器位于不同的芯片上,请求存储单元或结果存储单元可以与通用处理器设置在相同芯片上,也可以与专用处理器设置在相同芯片上。在通用处理器和专用处理器是相同芯片的不同单元的情况下,所述请求存储单元或结果存储单元就是芯片上的特定单元。判断装置414和置标装置412是请求控制设备的一部分,其优选地和首要请求存储器设置在相同位置。

图4A所示的判断装置414用于判断当前到来的第一队列单元是否与前一个进入首要请求存储器的第二队列单元对应于相同的消息。如果判断出所述第一队列单元与所述第二队列单元对应于相同的消息,那么置标装置412根据该判断结果设置所述第二队列单元的保存标识符。这样,专用处理器在处理所述第二队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的所述第一队列单元对应于相同消息,因此不必进行状态的保存。

根据本实施例的队列单元的数据结构包括消息ID,用于表示该队列单元对应于哪个消息。判断装置414通过比较两个队列单元中的消息ID,就可以确定这两个队列单元是否对应于相同消息。队列单元还包括所述保存标识符,用于指示专用处理器在处理完当前队列单元后是否需要保存状态。可以将所述保存标识符的默认值设置为指示需要保存状态,这样,只有在判断装置414判断出第一队列单元和第二队列单元对应于相同的消息时,置标装置412才将所述保存标识符的值设置为指示不需要保存状态。队列单元的数据结构中所包括的其他内容是本领域的公知常识,在此不再赘述。

所述判断操作和置标操作可以与第一队列单元进入首要请求存储器的操作并行地进行,如何将新的队列单元放入队列中是本领域的公知常识,在此也不再赘述。

请求存储单元和结果存储单元优选地作为物理队列实现,这是因为对内存中的数据进行比较和修改都需要进行内存访问,从而增加了处理时间。而作为物理队列实现时,判断装置414和置标装置412可以通过简单的组合电路实现,从而不仅提高了处理速度,还降低了处理的复杂度。例如,判断装置414可以通过异或电路实现,当两个消息ID相同时输出1,不同时输出0,假设所述保存标识符的默认值是0,那么置标装置412只要将判断装置414的输出写入到第二队列单元的保存标识符即可。

如果通用处理器和专用处理器位于不同的芯片上,请求存储单元或结果存储单元可以与通用处理器设置在相同芯片上,也可以与专用处理器设置在相同芯片上。在通用处理器和专用处理器是相同芯片的不同单元的情况下,所述请求存储单元或结果存储单元也可以就是芯片上的特定单元。

图4B示出了图4A的实施例所对应的专用处理器的首要请求存储器和相应的状态切换的示意。本领域技术人员可以理解,图4B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。在图4B左侧,同样每一行表示一个队列单元,每个队列单元至少包括三部分,第一部分是消息ID,第二部分是需要处理的数据或指向该数据的指针,第三部分是所述保存标识符。注意虚线所环绕的部分。封装了消息C变形消息段C4的队列单元在进入首要请求存储器时,根据上面的描述,置标装置412将封装了消息C变形消息段C3的队列单元的保存标识符设置为指示不保存状态。虽然在图4B中,封装了消息C变形消息段C3的队列单元和封装了消息C变形消息段C4的队列单元位于队列中部而不是队列尾,但是本领域技术人员可以理解,在封装了消息C变形消息段C4的队列单元到来的时候,封装了消息C变形消息段C3的队列单元是位于队列尾的。专用处理器处理完封装了消息C变形消息段C3的队列单元后,就不保存状态,从而不用进行内存的访问。

图5A和图6A示出了根据本发明另外两个实施例的多处理器协作架构。

在图5A和图6A所示的架构中,在请求存储单元中设置辅助请求存储器,这样就可以实现针对非队列尾的队列单元减少对状态的保存。判断装置判断到来的第一队列单元与请求存储单元中的队列单元是否对应于相同的消息,并且在第一队列单元与请求存储单元中的队列单元是否对应于相同的消息时,通知合并装置将第一队列单元放入辅助请求存储器中,通知置标装置将首要请求存储器或辅助请求存储器中与所述第一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消息相关的状态。下面描述根据本发明实施例的设置有辅助请求存储器的请求存储单元。

在图5A所示的架构中,请求存储单元进一步包括合并装置516和辅助请求存储器。辅助请求存储器的队列单元的数据结构可以与首要请求存储器的队列单元的数据结构相同也可以不同。为了简单起见,以下的描述主要针对辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构相同的情况。

在图5A所示的实施例中,所述辅助请求存储器是对于所述首要请求存储器的单位硬件存储单元公用的。首要请求存储器或辅助请求存储器中的每个单位硬件存储单元用于存储一个队列单元。辅助请求存储器对于单位硬件存储单元是公用的,表示该辅助请求存储器中存储可以存储与首要请求存储器中任意一个单位硬件存储单元中存储的队列单元对应于相同消息的队列单元。在此情况下,判断装置514可以判断以下条件是否成立:

(1)辅助请求存储器为空,且到来的第一队列单元与已经在请求存储单元中的任何一个队列单元对应于相同的消息。

如果判断装置514发现,当前到来的第一队列单元与已经在请求存储单元中的某一个,称为第三队列单元,对应于相同消息,则置标装置512将该第三队列单元的保存标识符设置为指示不需要进行保存操作。如果首要请求存储器的队列单元的数据结构与辅助请求存储器的队列单元的数据结构相同,那么响应于判断装置514发现第一队列单元与第三队列单元对应于相同消息,合并装置516将所述第一队列单元放入辅助请求存储器。如果辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构不同,那么合并装置516将第一队列单元按照辅助请求存储器的队列单元的数据结构格式化后放入辅助请求存储器。如果第一队列单元与首要请求存储器中的任意一个队列单元都不是对应于相同的消息,则合并装置516将第一队列单元放入首要请求存储器的队列尾。本领域技术人员可以理解,如果所述第三队列单元位于首要请求存储器的队列尾,可以将第一队列单元放入辅助请求存储器,也可以将第一队列单元放入首要请求存储器。

专用处理器在处理所述第三队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的所述第一队列单元对应于相同消息,因此不必进行状态的保存;专用处理器还通过所述保存标识符知道所述第一队列单元位于辅助请求存储器中,从而在处理完所述第三队列单元后不是从首要请求存储器中读取位于第三队列单元后面的队列单元,而是从辅助请求存储器中读取第一队列单元或其被格式化后形成的第一队列单元。

作为替换地,判断装置也可以判断以下条件是否成立:

(2)辅助请求存储器不为空,且到来的第一队列单元与辅助请求存储器中的队列单元对应于相同的消息。

如果判断装置514发现辅助请求存储器不为空,且到来的第一队列单元与辅助请求存储器中的队列单元对应于相同的消息。那么合并装置516将第一队列单元放入或者格式化后放入辅助请求存储器,而置标装置512将辅助请求存储器中最后一个队列单元,称为第四队列单元的保存标识符设置为指示不保存状态。如果第一队列单元与辅助请求存储器中的队列单元对应于不同的消息,那么合并装置516将第一队列单元放入首要请求存储器末尾。

专用处理器在处理辅助请求存储器中的第四队列单元时,通过读标装置读取所述保存标识符,就知道接下来要处理的第一队列单元对应于相同消息,因此不必进行状态的保存;专用处理器还通过所述保存标识符知道所述第一队列单元位于辅助请求存储器中,从而在处理完所述第四队列单元后不是从首要请求存储器中读取位于第三队列单元后面的队列单元,而是从辅助请求存储器中读取第一队列单元。

本领域技术人员可以理解,如果为了简化设计,判断装置514可以只判断条件(1)是否成立,并在成立的基础上通知置标装置512将该第三队列单元的保存标识符设置为指示不需要进行保存操作,通知合并装置516将所述第一队列单元放入辅助请求存储器。判断装置514也可以只判断条件(2)是否成立,并在成立时通知合并装置516将第一队列单元放入辅助请求存储器,通知置标装置512将辅助请求存储器中最后一个队列单元即第四队列单元的保存标识符设置为指示不保存状态。本领域技术人员还可以针对设置公用的辅助请求存储器的架构设计出更多的判断和控制逻辑。

辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构不同的场景主要是辅助请求存储器的队列单元是首要请求存储器的队列单元的简化版本。例如,首要请求存储器的队列单元的数据结构中可能包括服务质量(QoS)等控制标记,用于指导专用处理器的工作。如果这些控制标记对于特定的消息是不变的,那么合并装置516就可以从第一队列单元剥除这些控制标记后将该第一队列单元放入辅助请求存储器。

在硬件设计时,考虑到硬件的容量,辅助请求存储器可能被设计为只有一个单位硬件存储单元。换句话说,辅助请求存储器可能被设计为只能同时容纳一个队列单元。在这种情况下,专用处理器在处理完被放入辅助请求存储器的第一队列单元后,保存与该队列单元有关的状态,然后从首要请求存储器中的队列头读取下一个队列单元,而不管保存标识符的值是什么。也就是说,合并装置516可以从所述第一队列单元的数据结构中进一步剥除保存标识符。

图5B示出了在设置了一个可以同时容纳多个队列单元,即具有多个单位硬件存储单元的辅助请求存储器的情况下,专用处理器的首要请求存储器、辅助请求存储器和相应的状态切换。本领域技术人员可以理解,图5B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。其中虚线表示所连接的两个队列单元在物理位置上是相邻的,但是从处理时间上来说却是隔开的。为了简单起见,图5B将辅助请求存储器的队列单元示出为与首要请求存储器的队列单元具有相同的数据结构。

图5B所示的首要请求存储器和辅助请求存储器是如下这样形成的。通用处理器发出队列单元的顺序和图3以及图4B一样,因此,封装了消息C变形消息段C1的队列单元、封装了消息A变形消息段A1的队列单元、封装了消息B变形消息段B1的队列单元依次进入队列单元。封装了消息C变形消息段C2的队列单元到来时,按照本发明的实施例,判断装置514判断条件(1)满足,因此合并装置516将其放入了辅助请求存储器。在封装了消息C变形消息段C2的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理之前,封装了消息A变形消息段A2的队列单元到来,此时由于辅助请求存储器中已经放入了对应于消息C的队列单元,即判断装置514判断条件(1)和(2)均不满足,因此封装了消息A变形消息段A2的队列单元只能放在首要请求存储器中。此后,仍然在封装了消息C变形消息段C2的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理之前,封装了消息C变形消息段C3的队列单元、封装了消息C变形消息段C4的队列单元依次到来,根据本发明的实施例,判断装置514判断条件(2)满足,因此合并装置516将其放入辅助请求存储器并相应地设置相关的保存标识符。在封装了消息C变形消息段C4的队列单元尚未被专用处理器从辅助请求存储器中取走进行处理之前,封装了消息B变形消息段B2的队列单元到来,此时由于辅助请求存储器中已经放入了对应于消息C的队列单元,即判断装置514判断条件(1)和(2)均不满足,因此封装了消息B变形消息段B2的队列单元只能放在首要请求存储器中。

比较图4B和图5B的情况,可以看出保存/加载状态的数目被进一步减少了。

根据本实施例,可以设置辅助请求存储器组,其包括两个以上的辅助请求存储器。一般来说,辅助请求存储器的数目不超过首要请求存储器所能同时容纳的队列单元的总数,即不超过首要请求存储器的单位硬件存储单元的总数。

图6A示出了根据本发明又一个实施例的多处理器协作架构。

在图6A示出的实施例中,为首要请求存储器中的一个或多个单位硬件存储单元设置专用的辅助请求存储器。一个辅助请求存储器对应于或者专用于首要请求存储器中的一个单位硬件存储单元,表示该辅助请求存储器中只能存储与首要请求存储器中的该单位硬件存储单元中存储的队列单元对应于相同消息的队列单元。在下面的描述中,提到一个队列单元被设置有辅助请求存储器或者对应于辅助请求存储器,指的是该队列单元所在的单位硬件存储单元设置有辅助请求存储器或者对应于辅助请求存储器。

同样,辅助请求存储器的队列单元的数据结构可以与首要请求存储器的队列单元的数据结构相同也可以不同。为了简单起见,以下的描述主要针对辅助请求存储器的队列单元的数据结构与首要请求存储器的队列单元的数据结构相同的情况。

判断装置614判断到来的第一队列单元是否与已经在首要请求存储器中的任何一个设置有辅助请求存储器的队列单元对应于相同的消息。如果判断装置614判断到来的第一队列单元与已经在首要请求存储器的任何一个设置有辅助请求存储器的队列单元,称为第五队列单元,对应于相同的消息,则合并装置616将第一队列单元放入与第五队列单元对应的辅助请求存储器中。本领域技术人员可以理解,所述第五队列单元可以位于首要请求存储器的队列尾。置标装置612进行相应地置标操作,即:如果第一队列单元是进入与第五队列单元对应的辅助请求存储器中的第一个队列单元,即在第一队列单元到来时辅助请求存储器为空,则置标装置612设置所述第五队列单元的保存标识符;如果第一队列单元不是进入与第五队列单元对应的辅助请求存储器中的第一个队列单元,即在第一队列单元到来时辅助请求存储器不为空,那么置标装置612设置在第一队列单元之前进入与第五队列单元对应的辅助请求存储器的队列单元的保存标识符。本领域技术人员可以理解,如果所述第五队列单元位于首要请求存储器的队列尾,可以将第一队列单元放入与所述第五队列单元所在的单位硬件存储单元对应的辅助请求存储器,也可以将第一队列单元放入首要请求存储器。

图6B示出了在针对首要请求存储器中每一个队列单元设置一个辅助请求存储器的情况下,专用处理器的首要请求存储器、辅助请求存储器和相应的状态切换。其中虚线表示所连接的两个队列单元在物理位置上是相邻的,但是从处理时间上来说却是隔开的。本领域技术人员可以理解,图6B所示的情况是处理器在处理队列单元时的情况,而不是队列单元到来时的情况。为了简单起见,图6B将辅助请求存储器的队列单元示出为与首要请求存储器的队列单元具有相同的数据结构。

图6B所示的首要请求存储器和辅助请求存储器是如下这样形成的。通用处理器发出队列单元的顺序和图3、图4B以及图5B一样,因此,封装了消息C变形消息段C1的队列单元、封装了消息A变形消息段A1的队列单元、封装了消息B变形消息段B1的队列单元依次进入队列单元。封装了消息C变形消息段C2的队列单元到来时,按照本发明的实施例,合并装置616将其放入了第一辅助请求存储器,即对应于封装了消息C变形消息段C1的队列单元的辅助请求存储器,并且置标装置612将封装了消息C变形消息段C1的队列单元的保存标识符设置为指示不进行状态保存。封装了消息A变形消息段A2的队列单元到来时,按照本发明的实施例,合并装置616将其放入第二辅助请求存储器,即对应于封装了消息A变形消息段A1的队列单元的辅助请求存储器,并且置标装置612将封装了消息A变形消息段A1的队列单元的保存标识符设置为指示不进行状态保存。封装了消息C变形消息段C3的队列单元、封装了消息C变形消息段C4的队列单元依次到来,根据本发明的实施例,合并装置616将其放入第一辅助请求存储器并相应地设置相关的保存标识符。封装了消息B变形消息段B2的队列单元到来时,按照本发明的实施例,合并装置616将其放入第三辅助请求存储器,即对应于封装了消息B变形消息段B1的队列单元的辅助请求存储器。

比较图6B和图5B,可以看出保存/加载状态的数目被进一步减少了。

对于图5A和图6A所示的实施例,参照图5B和图6B中的首要请求存储器和辅助队列示意,如果对应于消息C的请求单元不停地进入图5B中的辅助请求存储器或图6B中的第一辅助请求存储器,那么对应于消息A和消息B的请求单元就总是得不到处理。为了克服这一问题,可以在请求控制设备中设置计数装置,检查在一个辅助请求存储器中连续放入对应于相同消息的队列单元的个数是否超过第一阈值。如果超过该第一阈值,则即使判断装置发现到来的第一队列单元与已经在首要请求存储器或辅助请求存储器中的某队列单元对应于相同消息,合并装置也仍然将该第一队列单元放在首要请求存储器的队列尾。假定设该第一阈值为3,那么在图5B和图6B中,即使再来一个对应于消息C的请求单元,合并装置也将其放入首要请求存储器的队列尾,而置标装置也不进行相应的置标操作。

根据本发明实施例的请求存储单元控制方法包括以下步骤:

判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息;和

如果所述第一队列单元与所述已经在请求存储单元中的队列单元对应于相同消息,则将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态。

如果所述请求存储单元只包括首要请求存储器而不包括辅助请求存储器,那么判断到来的第一队列单元是否与已经在请求存储单元中的队列单元对应于相同消息就是判断到来的第一队列单元是否与首要请求存储器的队列尾处的第二队列单元对应于相同消息;而将所述已经在请求存储单元中的队列单元的保存标识符设置为指示不保存与该消息相关的状态的步骤就是设置所述第二队列单元的保存标识符为指示不保存与该消息有关的状态。

如果所述请求存储单元既包括首要请求存储器又包括辅助请求存储器,那么以上控制方法可以进一步包括:

将第一队列单元放入所述辅助请求存储器中。

其中,所述辅助请求存储器可以是公用的,也可以是为首要请求存储器中的至少一个单位硬件存储单元设置的专用辅助请求存储器。

如果所述辅助请求存储器是公用的,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括:

在所述辅助请求存储器为空的情况下,判断所述第一队列单元是否与所述首要请求存储器中任意一个第三队列单元对应于相同消息;

将所述请求存储单元中与所述第一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消息相关的状态的步骤包括:

将所述第三队列单元的保存标识符设置为指示不保存与该消息相关的状态。

作为替换地,如果所述辅助请求存储器是公用的,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括:

在所述辅助请求存储器不为空的情况下,判断所述第一队列单元是否与所述辅助请求存储器的队列尾处的第四队列单元对应于相同消息;

将所述请求存储单元中与所述第一队列单元对应于相同消息的队列单元的保存标识符设置为指示不保存与所述消息相关的状态的步骤包括:

将所述第四队列单元的保存标识符设置为指示不保存与该消息相关的状态。

如果所述辅助请求存储器是为首要请求存储器中的至少一个单位硬件存储单元设置的专用辅助请求存储器,那么判断所述第一队列单元与请求存储单元中的队列单元是否对应于相同的消息的步骤包括:

判断所述第一队列单元是否与首要请求存储器中的任何一个设置有辅助请求存储器的第五队列单元对应于相同的消息;

将第一队列单元放入所述辅助请求存储器中的步骤包括:

将第一队列单元放入与第五队列单元对应的辅助请求存储器中。

如果在第一队列单元到来时所述与第五队列单元对应的辅助请求存储器为空,则设置所述第五队列单元的保存标识符为指示不保存与该消息相关的状态;如果在第一队列单元到来时所述与第五队列单元对应的辅助请求存储器不为空,则设置所述与第五队列单元对应的辅助请求存储器的队列尾处的队列单元的保存标识符为指示不保存与该消息相关的状态。

可选地,可以进一步检查在一个辅助请求存储器中连续放入对应于相同消息的队列单元的数目是否超过了第一阈值;

只有在所述数目不超过所述第一阈值的情况下,才设置所述请求存储单元中与所述第一队列单元对应于相同消息的队列单元的保存标识符,才将第一队列单元放入所述辅助请求存储器中。

队列单元的保存标识符可以用队列单元的数据结构中的数据标志位来实现,或者也可以用与首要请求存储器的单位硬件存储单元一一对应的硬件标志位来实现。还可以让全部需要保存状态的队列单元位于一个队列中,让全部不需要保存状态的队列单元位于另一个队列中,则所述队列的ID可以被看作是所述保存标识符。本领域技术人员可以采用多种方式来实现队列单元的所述保存标识符。

以上参照通用处理器和专用处理器的架构描述了本发明的优选实施方式。在这种架构中,专用处理器作为协处理器,在作为主处理器的通用处理器的请求下完成一定数据处理,并且将处理结果发送给通用处理器。本领域技术人员可以理解,本发明可以应用于其他架构。例如,架构中的至少两个处理器可以均为通用处理器,其中至少一个处理器为主处理器,另外至少一个为协处理器。在这种架构中,主处理器和协处理器是相对的,甚至是可以互相转换的。因此,所述请求存储单元应该理解为需要保存状态的一方用来接收数据的单元。本领域技术人员还可以理解,所述主处理器和协处理器可以是不同的处理器芯片,也可以是相同芯片中的不同单元。

本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的用于控制移动设备能耗的系统及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

虽然已经图示和描述了本发明的若干示例性实施例,不过本领域技术人员可以理解的是,在不偏离本发明原则和精神的前提下,可以对这些实施例进行改变,本发明的范围由权利要求书及其等价变换所限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号