一种基于共享存储器的多处理器间数据交互方法及装置制造方法及图纸

技术编号:2873832 阅读:384 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于共享存储器的多处理器间数据交互方法,该方法包括步骤:源处理器申请总线并将数据写入共享存储器并发送消息目的字;根据各处理器的总线请求消息及源处理器发送的消息目的字,采用隐式中断原则通知目的处理器从共享存储器中读取数据。本发明专利技术还提供了一种基于共享存储器的多处理器间数据交互装置,其中包括:多个一维多处理器;共享存储器组,用于存储各处理器之间需要交互的数据;总线仲裁器,决定各处理器对共享总线的使用权。利用本发明专利技术,可以提高多处理器系统中数据交互能力,减少系统的阻塞率。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据存取技术,具体涉及一种基于共享存储器的多处理器间数据交互方法及装置。多处理器间数据交互的方法一般有基于共享存储器的数据交互、串行数据交互和并行数据交互等。一般地,对于没有高速通信端口的处理器系统而言,采用基于共享存储器的方案是一个很好的选择。通常情况下,共享一条总线的多个处理器在进行数据交互时,源处理器必须首先申请总线,在获得总线占有权后将数据写入预定的缓冲区,而后通知(例如,通过中断方式)目的处理器,目的处理器申请总线,在获得总线占有权后将从预定的缓冲区中读取数据。由于一次数据交互需要进行两次数据读写,收发一条消息的两个处理器模块需要两次申请同一条总线,同时目的处理器响应目的通知中断信号,当总线不处于空闲状态时,目的处理器可能会多次响应中断,并且不断申请总线,从而带来不必要的较大的额外开销。这类系统通常难以满足高流量的数据交互的要求,同时当多个处理器同时向某个处理器发送多条消息时,有较大的阻塞率。
技术实现思路
本专利技术的目的是克服现有技术的上述缺点,提供一种基于共享存储器的多处理器间数据交互方法及装置,它可以提高系统多处理器间数据的交互能力,降低系统阻塞率。本专利技术提供了一种基于共享存储器的多处理器间数据交互方法,其特征在于,所述方法包括步骤源处理器申请总线并将数据写入所述共享存储器;所述源处理器发送消息目的字,所述消息目的字表示所述共享存储器中已有数据需要所述目的存储器读取;根据各处理器的总线请求消息及所述源处理器发送的所述消息目的字,判断是否通知所述目的处理器读取数据,如果通知所述目的处理器读取数据,所述目的处理器从所述共享存储器中读取数据;如果不通知所述目的处理器读取数据,等待预定时间后返回判断是否通知所述目的处理器读取数据的步骤。可选地,所述根据各处理器的总线请求消息及所述源处理器发送的所述消息目的字,判断是否通知所述目的处理器读取数据的步骤包括步骤将共享同一条总线的多个所述处理器设定为一个一维多处理器系统,将由多个所述一维多处理器系统设定为一个多维多处理器系统。可选地,还包括步骤设定所述多维多处理器系统中所述共享存储器的内部缓冲单元与所述多维多处理器系统中各处理器的对应关系。优选地,所述根据各处理器的总线请求消息及所述源处理器发送的所述消息目的字,判断是否通知所述目的处理器读取数据的步骤包括步骤所述多维多处理器系统中每个所述一维多处理器系统分别根据各自系统内的所述各处理器的总线请求消息进行所述一维多处理器的所述共享总线子仲裁。可选地,所述根据各处理器的总线请求消息及所述源处理器发送的所述消息目的字,判断是否通知所述目的处理器读取数据的步骤包括步骤根据所述消息目的字的内容将所述消息目的字转换成所述目的处理器的隐式总线请求消息,所述目的处理器的隐式总线请求消息表示需要通知所述目的处理器读取数据;根据所述共享总线子仲裁结果消息及所述目的处理器的隐式总线请求消息判断是否通知所述目的处理器读取数据。优选地,所述根据所述共享总线子仲裁结果消息及所述目的处理器的隐式总线请求消息判断是否通知所述目的处理器读取数据的步骤包括步骤采用隐式中断原则判断是否通知所述目的处理器读取数据,所述隐式中断原则表示,对于当前拥有总线控制权的所述目的处理器,通知所述目的处理器读取数据;对于当前正在申请总线但没有总线控制权的所述目的处理器,不通知所述目的处理器读取数据;对于当前没有申请总线但也没有总线控制权的所述目的处理器,采用固定优先级的策略或动态优先级的策略决定是否通知所述目的处理器读取数据。本专利技术还提供了一种基于共享存储器的多处理器间数据交互装置,其特征在于,所述装置包括多个一维多处理器用于处理系统中不同的业务,每个一维多处理器中包括共享一条总线的多个处理器;共享存储器组通过所述一维处理器的共享总线分别耦合到所述多个一维多处理器,用于存储各处理器之间需要交互的数据; 总线仲裁器通过所述一维处理器的共享总线分别耦合到所述多个一维多处理器,用于对所述多个一维多处理器中各处理器的总线请求进行仲裁,决定所述一维多处理器中各处理器对所述一维多处理器的共享总线的使用权。可选地,所述共享存储器组还包括有多个接口分别对应不同的所述一维多处理器的多口共享存储器,所述多口共享存储器的每个接口分别通过对应的所述一维多处理器的共享总线耦合到对应的所述一维多处理器,用于存储所述一维多处理器中各处理器需要与系统中其它处理器之间交互的数据。优选地,所述总线仲裁器包括一个核心处理器和多个子仲裁器,其中每个所述子仲裁器对应一个所述一维多处理器,通过对应的所述一维多处理器的共享总线耦合到对应的所述一维多处理器,并分别耦合到所述核心处理器,用于对所对应的所述一维多处理器进行共享总线的仲裁;其中所述核心处理器用于对所述子仲裁器的仲裁结果进行判断,并根据判断结果通知所述一维多处理器从所述共享存储器组中读取数据。优选地,所述子仲裁器还包括消息寄存器,用于处理所述一维多处理器与所述子仲裁器之间以及所述一维多处理器组与所述核心处理器之间的交互消息。线性仲裁器,用于根据所述消息寄存器中的消息对所对应的所述一维多处理器进行共享总线的仲裁。利用本专利技术,可以提高多处理器系统中数据交互能力,减少系统的阻塞率,进一步提高基于共享存储器的数据通信系统的性能。附图说明图1是本专利技术的优选实施例基于共享存储器的多处理器间数据交互方法的步骤的流程图;图2是本专利技术的优选实施例基于共享存储器的多处理器间数据交互装置结构示意图;图3是图1所示的本专利技术的优选实施例基于共享存储器的多处理器间数据交互装置中的共享存储器B200的内部缓冲单元的划分;图4是图1所示的本专利技术的优选实施例基于共享存储器的多处理器间数据交互装置中的仲裁器A200结构示意图;图5是图3所示的仲裁器A200中的子仲裁器A301结构示意图;图6是本专利技术中所述仲裁器根据隐式中断原则工作时序示意图。参照图1,图1是本专利技术的优选实施例基于共享存储器的多处理器间数据交互方法的步骤的流程首先在步骤11源处理器申请总线并将数据写入所述共享存储器;然后进到步骤12,源处理器发送消息目的字,所述消息目的字表示共享存储器中已有数据需要目的存储器读取;系统中的总线仲裁器收到上述消息目的字后,并不直接向目的处理器发送中断,而是进入步骤13,将消息目的字转换成目的处理器的隐式总线请求消息;然后进到步骤14,根据共享总线子仲裁结果及目的处理器的隐式总线请求消息采用隐式中断原则判断是否通知所述目的处理器读取数据, 如果通知目的处理器读取数据,则进到步骤15,向目的处理器发送中断通知信号,目的处理器收到上述中断信号后,进到步骤16,目的处理器申请总线并从共享存储器中读取数据,如果不通知目的处理器读取数据,则等待预定时间后返回步骤14,判断是否通知目的处理器读取数据。为了更好地理解本专利技术,下面结合本专利技术的共享存储器的多处理器间数据交互装置作详细地描述。参照图2,图2是本专利技术基于共享存储器的多处理器间数据交互装置结构示意图,为了简化说明,以四个一维多处理器、一个仲裁器A200和一个四口共享存储器B200组成的系统为例说明。其中,共享存储器B200有四个输入输出端口,即pt1,pt2,pt3,pt4;处理器101,102,103,104本文档来自技高网...

【技术保护点】
一种基于共享存储器的多处理器间数据交互方法,其特征在于,所述方法包括步骤: 源处理器申请总线并将数据写入所述共享存储器; 所述源处理器发送消息目的字,所述消息目的字表示所述共享存储器中已有数据需要所述目的存储器读取; 根据各处理器的总线请求消息及所述源处理器发送的所述消息目的字,判断是否通知所述目的处理器读取数据, 如果通知所述目的处理器读取数据,所述目的处理器从所述共享存储器中读取数据; 如果不通知所述目的处理器读取数据,等待预定时间后返回判断是否通知所述目的处理器读取数据的步骤。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:汪东艳唐海苏进喜刘峰马卫国
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利