获取处理器工作状态的方法、多处理器系统与处理器的制作方法

文档序号:6458269阅读:193来源:国知局
专利名称:获取处理器工作状态的方法、多处理器系统与处理器的制作方法
技术领域
本发明涉及通信领域,尤其涉及获取处理器工作状态的方法、多处理器 系统与处理器。
背景技术
随着集成电路设计的不断进步,无论是计算机领域还是嵌入式领域,都 需要使用多个处理器,或者将多个处理器集成到一个芯片。而在多处理器系 统中,高效的多核通信与配合机制是关键技术。现有技术最常见的多核通信机制是邮箱通信,也就是多核之间通过双向 的邮箱来向对端发送信息或者接收对端发送的信息。 一般地,所述多核通信 机制在芯片上集成多个处理器内核,而处理器对邮箱消息的处理依赖于具体 调度程序,调度程序决定了处理器在某个时刻执行哪个任务,通常在没有更 高优先级任务的时候才处理邮箱消息,从而使得对端处理邮箱消息的时间和 响应时间不确定。发明人在实现本发明过程中,发现现有技术中至少存在如下问题由于 上述现有技术中处理器对邮箱的处理时间和响应时间不确定,这样在实时性 要求高的应用场合就会导致通过邮箱传递的重要信息被延迟。发明内容本发明实施例提供了一种获取处理器工作状态的方法,所述方法能够及 时获取从处理器的工作状态。本发明实施例提供了一种多处理器系统,所述系统能够及时获取从处理 器的工作状态。本发明实施例提供了一种处理器,所述处理器能够及时获取第一处理器 的工作状态。为解决上述技术问题,本发明实施例提供了一种获取处理器工作状态的方法,其特征在于,包括查询第一处理器对应的状态机,获取所述状态^L的状态;根据所述状态机的状态分析得到第一处理器所处的工作状态。本发明实施例还提供了一种处理器,所述处理器包括获取单元,用于通过查询第一处理器对应的状态机获取所述状态机的状态;分析单元,用于根据所述状态机的状态分析得到所述从处理器所处的工 作状态。本发明实施例还提供了 一种多处理器系统,所述系统包括状态机,用于在多个状态之间切换;从处理器,用于根据状态机所处的状态确定工作状态;主处理器,用于通过查询所述状态机获取所述状态机的状态,以及根据 所述状态机的状态得到所述从处理器所处的工作状态。以上技术方案具有如下优点或有益效果1、 由于本发明实施例通过查询所述状态机就能获知作为从处理器的第一 处理器所处的工作状态,这样使得作为主处理器的第二处理器可以及时了解 作为从处理器的第一处理器的工作状态,从而使得主处理器可以及时对第一 处理器进行控制,比如,通过修改状态机的状态强制第一处理器从当前的工 作状态进入所需要的某个工作状态或避开修改第一处理器当前所处工作状态 可能访问的一些资源。2、 由于本发明实施例通过查询所述状态机就能获知从处理器所处的工作 状态,这样能够及时了解从处理器的工作状态,从而可以及时对从处理器进 行控制,比如,通过修改状态机的状态强制从处理器从当前的工作状态进入 所需要的某个工作状态或避开修改从处理器当前所处工作状态可能访问的一 些资源。


图1是本发明实施例一获取处理器工作状态的方法流程图; 图2是本发明实施例二获取处理器工作状态的方法流程图; 图3是本发明实施例三处理器的示意图; 图4是本发明实施例四多处理器系统的示意图。
具体实施方式
本发明实施例提供了一种获取处理器工作状态的方法,所述方法包括查询第 一处理器对应的状态机,获取所述状态机的状态;根据所述状态机的状态分析得到第一处理器所处的工作状态。为使本领域技术人员能够更好地理解本发明实施例,下面结合附图对本 发明实施例的技术方案进行描述。实施例一、 一种获取处理器工作状态的方法,其方法流程如图1所示, 包括以下步骤步骤IOI、根据业务需求划分从处理器的工作状态,例如,业务需要将从 处理器的工作状态分为等待、工作或休眠状态等,再为所述从处理器的工作这样状态机在每个时刻都处于一种确定的状态,从处理器就会根据状态机进 行相应的操作。可以用计数器实现状态机,这样计数器的每个值就可以表示从处理器所 处的工作状态。另外,从处理器在不同的工作状态会进行不同的操作。步骤102、从处理器获取状态机的当前状态,并根据所述当前状态进行相 应的操作, 一般地,从处理器在不同状态访问不同的系统资源,以及执行不 同的任务等操作。步骤103、状态机根据收到的事件从当前状态迁移到另一个状态,并触发 从处理器从当前所处的工作状态迁移到另 一个工作状态。所述事件可以为计 数器等于预置计数值、定时器等于预置时间或从处理器执行完当前工作状态 对应的操作等。其中,所述事件为计数器等于预置计数值时,该计数器是底层的一个计 数器,当它的计数值等于预置计数值时就会溢出,从而触发状态机进行状态 迁移。其中,所述事件为定时器等于预置时间时,假设预置时间为10ms,每次 定时器计满lOms就会触发状态机进行状态迁移。步骤104、主从处理器通过查询状态机获知从处理器所处的工作状态,根 据所述工作状态便可确定从处理器正在进行的相应操作,从而可以避免与从 处理的访问冲突和确定对从处理器的控制方法。值得说明的是,由于本发明实施例能够获取第一处理器对应的状态机, 以及通过查询所述状态机就能获知第 一处理器所处的工作状态以及第 一处理 器正在进行的相应操作,这样使得作为主处理器的第二处理器可以及时了解 作为从处理器的第一处理器的工作状态,从而使得第二处理器可以及时对第 一处理器进行控制,比如,通过修改状态机的状态强制第一处理器从当前的 工作状态进入所需要的某个工作状态或避开修改第一处理器当前所处工作状 态可能访问的一些资源。值得说明的是,主处理器可以通过修改状态机的状态强制从处理器从当 前所处的工作状态进入所需要的某个工作状态。值得说明的是,因为从处理器当前所处的工作状态确定,主处理器可以 避开修改从处理器当前工作状态可能访问的一些资源,例如,所述的资源可 以为控制寄存器存储的控制参数,所述控制参数可以为从处理器在某个状态 的运行参数或判决门限等,从而可以有效地避免资源冲突,同时也避免了从 处理器在一个状态中控制参数前后不一致带来的混乱。值得说明的是,主处理器在获取从处理器所处的工作状态后还进一步判 断将要下发的控制信息或数据是否为迟到的无意义操作,这样避免将控制信 息或数据发送给从处理器,从而中断从处理器做一些无意义的操作,进而提 高系统效率。最后,值得说明的是,主处理器可以作为从处理器,从处理器也可以作 为主处理器,通常也可将从处理器称为第一处理器,将i处理器称为第二处 理器。由上述可知,实施例一是一个普遍适用的技术方案,不针对某个具体的 业务,下面以从处理器对10个通道传输的数据进行编解码为例对实施例一进 行说明。实施例二、 一种获取处理器工作状态的方法,本实施例的主处理器是一个CPU (Center Process Unit,简称为"中央处理器"),从处理器为多个DSP (Digital Signal Processor,简称为"数字信号处理器"),其方法流程如图2所 示,包括以下步骤步骤201、配置一个模值为10的状态计数器,其计数范围为0 9,每个计 数值分别表示DSP所处的一个工作状态。其中,所述状态计数器相当于一个状 态机, 一般地,每个DSP都对应一个状态机。步骤202、 DSP获取状态计数器的当前计数值,并根据当前计数值进行相 应的操作,例如,计数值为O表示DSP所处的工作状态为O,表示DSP对第1个 通道的数据进行编解码;计数值为l表示DSP所处的工作状态为l,表示DSP对 第2个通道的数据进行编解码,其他计数值依次类推。步骤203、状态计数器根据收到的事件从当前状态迁移到另一个状态,此 时状态计数器自动加l,触发DSP从当前所处的工作状态迁移到另一个工作状 态。其中,所述事件为计数器等于预置计数值、定时器等于预置时间或从处 理器执行完当前工作状态对应的操作等。步骤204、 CPU通过查询状态计数器便可获知DSP所处的工作状态,根据 工作状态便可确定DSP正在进行的相应操作。例如,状态计数器为O表示DSP 正在对第l个通道的数据进行编解码操作,需要访问第l个通道的内存空间, 同时如果正好收到该通道的新数据,为了避免内存空间的读写冲突,CPU不 能立即更新这个通道的数据内存空间时,此时CPU可以选择丟弃数据、延迟更新或其他异常处理策略。另外,CPU通过查询状态计数器便可得知DSP在整个状态循环的哪个状 态,正在访问哪些共享资源。比如,假设状态计数器的每个状态表示从处理器在执行同一业务的某种不同操作,如果业务需要CPU收到的新数据或控制信息必须在DSP的状态3 ~ 5 之间修改某些控制寄存器才能生效,否则可能影响其他状态的运行,此刻DSP 已经运行到了状态8, CPU可以忽略新数据或控制信息、延迟更新或其他异常 处理等策略。如果业务需要CPU收到的新数据或控制信息必须在DSP的状态6 之前修改某些控制寄存器才能在当前状态循环中生效,否则要到下一个循环 的状态6才能生效,此刻DSP已经运行到了状态7,若CPU收到的是延迟的新数 据,则可以丢弃;若CPU收到的是控制信息,则根据延时是否允许来决定是 否需要对DSP发出控制操作。由上述可知,本发明实施例的主处理器和从处理器个数不限,可以是任 意组合,并且从处理器可以是CPU、 DSP和逻辑协处理器。可选地,控制从处理器的状态计数器可以是一个或多个,状态计数器的跳 转可以不是加l,而可以是任意数字之间的跳转。是可以通过程序来指示相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,该程序在执行时,包括以下步骤查询第一处理器对应的状态机,获取所述状态机的状态;根据所述状态机的状态分析得到第一处理器所处的工作状态。其中,所述的存储介质可以是ROM、 RAM、磁碟或光盘等等。实施例三、 一种处理器,参照图3,所述处理器包括获取单元301,用于获取第一处理器对应的状态机;分析单元302,用于查询所述状态机得到第一处理器所处的工作状态,并 根据所述工作状态确定第一处理器正在进行的相应操作。状态更新单元303,用于根据分析单元302得到的工作状态修改所述状态 机的状态,以使第一处理器从当前所处的工作状态进入所需要的工作状态。判断单元304,用于根据分析单元302得到的工作状态判断第一资源在所 述第一处理器的当前工作状态内是否会被第一处理器访问;资源更新控制单元305,用于在第一资源被第一处理器访问时不修改所述 第一资源,以及在第一资源不被第一处理器访问时修改所述第一资源。需要说明的是,所述处理器可以为中央处理器、数字信号处理器或逻辑 协处理器等。需要iJt明的是,所述处理器通过查询单元302得到第一处理器所处的工 作状态,并根据所述工作状态确定第一处理器正在进行的相应操作,从而可 以避免与从处理的访问冲突和确定对从处理器的控制方法。由上述可知,由于本发明实施例通过查询所述状态机就能获知第一处理 器所处的工作状态,这样能够及时了解第一处理器的工作状态,从而可以及 时对第一处理器进行控制,比如,通过修改状态机的状态强制第一处理器从 当前的工作状态进入所需要的某个工作状态或避开修改第一处理器当前所处工作状态可能访问的 一些资源。实施例四、 一种多处理器系统,参照图4,所述系统包括状态机401,用于在多个状态之间切换;从处理器402,用于根据状态机401所处的状态确定工作状态;主处理器403,用于通过查询所述状态机401获取所述状态才几401的状态, 以及根据所述状态机401的状态得到所述从处理器402所处的工作状态。 可选地,所述主处理器403包括第一获取单元,用于通过查询从处理器402对应的状态机获取所述状态 才几的状态。第一分析单元,用于根据所述状态机401的状态分析得到所述从处理器 402所处的工作状态。第 一状态更新单元,用于根据第 一分析单元得到的工作状态修改所述状态机401的状态,以使所述从处理器402从当前所处的工作状态进入所需要的 工作状态。第一判断单元,用于根据第一分析单元得到的工作状态判断第一资源在 所述从处理器402的当前工作状态内是否会被所述从处理器402访问;第一资源更新控制单元,用于在第一资源被所述从处理器402访问时不 修改所述第一资源。由上述可知,由于本发明实施例通过查询所述状态机就能获知从处理器 所处的工作状态,这样能够及时了解从处理器的工作状态,从而可以及时对 从处理器进行控制,比如,通过修改状态机的状态强制从处理器从当前的工 作状态进入所需要的某个工作状态或避开修改从处理器当前所处工作状态可 能访问的一些资源。以上对本发明实施例所提供的获取处理器工作状态的方法、多处理器系 统与处理器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施 方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核 心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实 施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为 对本发明的限制。
权利要求
1、一种获取处理器工作状态的方法,其特征在于,包括查询第一处理器对应的状态机,获取所述状态机的状态;根据所述状态机的状态分析得到第一处理器所处的工作状态。
2、 如权利要求l所述的方法,其特征在于,所述方法还包括 根据所述第一处理器的工作状态确定所述第一处理器正在进行的相应操作。
3、 如权利要求l所述的方法,其特征在于,所述状态机用于根据事件从 当前状态迁移到另一个状态,以触发所述第一处理器从当前所处的工作状态 切换到另一个工作状态。
4、 如权利要求3所述的方法,其特征在于,所述事件为计数器等于预置 计数值、定时器等于预置时间或所述第一处理器执行完当前工作状态对应的 操作。
5、 如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括 修改所述状态机的状态,以使所述第一处理器从当前所处的工作状态进入所需要的工作状态。
6、 如权利要求1至4任一项所述的方法,其特征在于,所述在根据所述 状态机的状态得到第一处理器所处的工作状态之后,还包括根据所述第一处理器所处的当前工作状态,判断第一资源在所述第一处 理器的当前工作状态内是否会被第一处理器访问,若是,则不修改该第一资 源。
7、 一种处理器,其特征在于,所述处理器包括获取单元,用于通过查询第一处理器对应的状态才几获取所述状态4几的状态;分析单元,用于根据所述状态机的状态分析得到所述从处理器所处的工 作状态。
8、 如权利要求7所述的处理器,其特征在于,所述处理器还进一步包括状态更新单元,用于根据分析单元得到的工作状态修改所述状态机的状 态,以使第一处理器从当前所处的工作状态进入所需要的工作状态。
9、 如权利要求8所述的处理器,其特征在于,所述处理器还进一步包括 判断单元,用于根据分析单元得到的工作状态判断第一资源在所述第一处理器的当前工作状态内是否会被第 一处理器访问;资源更新控制单元,用于在第一资源被第一处理器访问时不修改所述第 一资源。
10、 如权利要求7至9任一项所述的处理器,其特征在于,所述处理器 为中央处理器、数字信号处理器或逻辑协处理器。
11、 一种多处理器系统,其特征在于,所述系统包括 状态机,用于在多个状态之间切换;从处理器,用于根据状态机所处的状态确定工作状态; 主处理器,用于通过查询所述状态机获取所述状态机的状态,以及根据 所述状态机的状态得到所述从处理器所处的工作状态。
12、 如权利要求11所述的系统,其特征在于,所述主处理器包括 第一获取单元,用于通过查询从处理器对应的状态机获取所述状态机的状态;第一分析单元,用于根据所述状态机的状态得到所述从处理器所处的工 作状态;第一状态更新单元,用于根据所述第一分析单元得到的工作状态修改所 述状态机的状态,以使所述从处理器从当前所处的工作状态进入所需要的工 作状态。
13、 如权利要求11或12所述的系统,其特征在于,所述主处理器还进 一步包括第一判断单元,用于根据所述第一分析单元得到的工作状态判断第 一资 源在所述从处理器的当前工作状态内是否会被所述从处理器访问;第一资源更新控制单元,用于在所述第一资源被所述从处理器访问时不 修改所述第一资源。
全文摘要
本发明涉及通信领域,公开了获取处理器工作状态的方法、多处理器系统与处理器,其中,所述方法包括查询第一处理器对应的状态机,获取所述状态机的状态;根据所述状态机的状态分析得到第一处理器所处的工作状态。本发明使得作为主处理器的第二处理可以及时了解作为从处理器的第一处理器的工作状态,从而使得主处理器可以及时对从处理器进行控制。
文档编号G06F11/34GK101226498SQ20081000916
公开日2008年7月23日 申请日期2008年2月2日 优先权日2008年2月2日
发明者凡 余 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1