公开/公告号CN101320347A
专利类型发明专利
公开/公告日2008-12-10
原文格式PDF
申请/专利权人 晶心科技股份有限公司;
申请/专利号CN200810009791.9
申请日2008-02-14
分类号G06F11/34;G06F1/32;
代理机构上海专利商标事务所有限公司;
代理人陈亮
地址 台湾省新竹科学工业园区力行一路1号2楼
入库时间 2023-12-17 21:06:40
法律状态公告日
法律状态信息
法律状态
2010-06-09
授权
授权
2009-02-04
实质审查的生效
实质审查的生效
2008-12-10
公开
公开
技术领域
本发明是关于一种电脑系统和其控制处理器的方法,特别是关于一种电脑系统,为避免处理器转换操作模式时产生不可预期行为的方法。
背景技术
当一电脑系统中的处理器要改变其操作模式时,通常该处理器的操作状态相对的必需被调整,且调整操作状态的动作通常由另一个装置来完成。举例来说,当一个现代的处理器没有工作可以被执行时,通常会进入待机模式(StandbyMode)。此时处理器关闭大部份的电路,仅留小部份的电路来等待唤醒(Wake Up)事件发生,然后回复到与先前一致(consistent)的操作状态。当该处理器准备要进入待机模式时,处理器会将它的新操作状态告知一个处理器管理单元(Processor Management Unit,PMU),包括调整操作电压及/或操作频率。且处理器管理单元会在处理器进入待机模式后开始调整那些操作状态。
大部份现代的处理器都会将待机模式的告知信号送出至处理器管理单元,来使处理器管理单元开始调整操作模式。但是处理器管理单元却没有可以告知处理器操作模式的调整已经完成的信号。因此,如果于处理器正处于待机模式而处理器管理单元还在调整其操作状态时发生唤醒事件,例如中断(interrupt)。则该处理器会被过早唤醒然后被强迫工作在一个与状态改变前后不一致(inconsistent)的操作状态下。不可预期的行为如竞赛状况(racing condition)或不稳定(instability)将会发生。
为了避免上述的不可预测的行为,传统的解决方法是利用一种加于处理器的外的特设的系统层次的逻辑电路,利用该电路来阻隔尚在调整操作状态时期的唤醒动作。然而,系统中有很多会送唤醒事件给处理器的资源,因此该系统层次的逻辑电路就必需针对不同的资源用不同的方法来阻隔。此外,该系统层次的逻辑电路就必需检测操作状态的调整是否已经完成。这将导致系统层次的逻辑电路的复杂度变高。再者,系统层次的逻辑电路的设计也会受限于处理器及处理器管理单元现存的功能接口。必然的,阻隔唤醒事件的灵活度也会被限制住。没有一个整合性的机制来解决这个提早被唤醒的问题,不可预测的行为就会发生,整个电脑系统的稳定度及可靠度将会被影响。
发明内容
因此,本发明的目的是在提供一种控制处理器的方法。此方法是在处理器及处理器管理单元间相互交流信号,以避免处理器过早被唤醒而发生不可预测的行为。
本发明还提供一种电脑系统,该系统使用一种握手(Handshaking)机制,用以确定处理器会在其操作状态改变稳定以后才会被唤醒。
本发明提出一种控制处理器的方法。此方法包括下面几个步骤。首先,一处理器或另一处理器依据该处理器所需要的新操作状态的改变来编程(program)处理器管理单元。接下来,该处理器在其进入待机模式的同时送出一个告知信号给处理器管理单元。处理器管理单元在接到告知信号后,根据最新状态的需求,开始调整该处理器的操作状态。最终,在操作状态的变更稳定以后,处理器管理单元送出一个完成信号给该处理器。
在本发明的控制处理器的方法的一实施例中,处理器经由执行待机指令进入待机模式。且该待机指令有三个可选择的模式。在第一个可选模式下,处理器进入待机模式,送出告知信号给处理器管理单元,并在收到处理器管理单元送达的完成信号后开始监控唤醒事件有无发生。在第二个可选模式下,处理器进入待机模式,送出告知信号给处理器管理单元,并且在收到处理器管理单元送来的完成信号时被唤醒。在第三个可选模式下,处理器进入待机模式并不送出告知信号,并且开始监控唤醒事件有无发生。
在本发明的上述实施例中,处理器借由对待机控制寄存器写入一预先决定的数值来进入待机模式。该预设值为一第一数值,一第二数值或一第三数值。若待机控制寄存器被写入第一数值,则该处理器进入待机模式,送出告知信号给处理器管理单元,并且于收到处理器管理单元送出的完成信号后开始监控唤醒事件。若待机控制寄存器被写入第二数值,则该处理器进入待机模式,送出告知信号给处理器管理单元,并且在收到处理器管理单元送出的完成信号时被唤醒。若待机控制寄存器被写入第三数值,则该处理器进入待机模式,但不送出告知信号给处理器管理单元,并且开始监控唤醒事件。
在上述的实施例中,处理器的操作状态至少包括下列其中之一:处理器的供应电源、处理器的操作频率、处理器的一组寄存器值、以及处理器的操作参数。而操作参数被储存在该处理器中或另一处理器中或一储存元件中。
在上述的实施例中,处理器包括多数个功能单元,且该处理器的操作状态包括这些功能单元的启动和关闭状态。
在上述的实施例中,处理器包括多数个独立执行单元,且该处理器的操作状态包括这些独立执行单元的启动和关闭状态。
本发明另提供一种电脑系统,此电脑系统包括了一个或一个以上的处理器及一个处理器管理单元。处理器管理单元可根据处理器操作状态的改变而被该处理器或其它处理器编程。当即将改变操作状态的处理器进入待机模式,并送出一告知信号给处理器管理单元。处理器管理单元在接收到告知信号之后,根据上述的操作状态改变开始调整该处理器的操作状态。并在处理器的操作状态变更完成稳定了以后,送出一完成信号给该处理器。
在本发明的电脑系统及处理器控制方法中,使用一处理器与处理器管理单元间,于操作状态变更期间使用的握手机制。此握手机制预防过早终止操作状态的调整,确保了处理器的唤醒在该处理器的新操作状态调整稳定完成之后。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是依照本发明一实施例的电脑系统的方块图。
图2~图4是本发明的实施例的不同的处理器控制方法的流程图。
主要元件符号说明:
100:电脑系统
110:处理器
120:处理器管理单元
130:另一处理器
210~250:流程图的步骤
310~350:流程图的步骤
410~420:流程图的步骤
具体实施方式
当电脑系统中处理器的操作模式需要被改变时,若该处理器在操作状态稳定后才恢复正常操作,不能预期的电脑系统的行为,例如竞赛状况,将可以被避免。因此本发明提出一种电脑系统及其控制处理器的方法。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。并且以附图加以说明。
图1绘示为依照本发明一实施例的电脑系统方块图。请参照图1,本实施例的电脑系统100包括处理器110,处理器管理单元120及另一处理器130。有时处理器110需要变更它的操作模式。举例而言,处理器110可能要关闭它的一部份电路以降低它的操作电压及操作频率,或处理器110需要新的操作参数,如起始地址。当操作状态需要被改变时,处理器110或另一处理器130依据操作状态的改变,对处理器管理单元120作编程,接下来处理器110进入待机模式且送出一告知信号给处理器管理单元120。处理器管理单元120在接收到告知信号后,依据上述的操作状态改变,调整处理器110的操作状态,接着送出一个完成信号以告知处理器110此时被唤醒继续正常工作是安全的。
在本发明的一个实施例中,处理器110的操作状态可以包括处理器110的电源电压、处理器110的操作频率、处理器110的寄存器的值、处理器110的操作参数。其操作参数可以储存在处理器110中、另一处理器130中、或储存在电脑系统100的存储器中(图中未绘示)。此外,处理器110可以包含多个功能单元(如算数逻辑单元,Arithmetic and Logic Unit,ALU),且处理器110的操作状态可包括这些功能单元的启动跟关闭状态。或者处理器110可含有多个独立的执行单元。每一个独立执行单元拥有自己的指令管线(pipeline)以进行并行处理(parallel processing)。在这种情况下,处理器110的操作状态可包括这些独立执行单元的启动和关闭状态。
处理器110可借由执行待机指令或写入一预设值到待机控制寄存器来进入待机模式。待机指令有三种可选择的模式,而预设值可以在三种数值中作选择。三种预设值正好对应于待机指令的三种可选模式。执行待机指令的第一种可选模式相当于对待机控制寄存器写入第一数值。执行待机指令的第二种可选模式相当于对待机控制寄存器写入第二数值。执行待机指令的第三种可选模式相当于对待机控制寄存器写入第三数值。
在第一种可选模式中(或待机控制寄存器写入第一数值),处理器110进入待机模式,送出告知信号给处理器管理单元120,并于接收到处理器管理单元送达的完成信号后开始监控唤醒事件。在这个可选模式下,只有小部份处理器110的电路会被用来监控唤醒事件,因此处理器110的操作状态可以被调整到最低的消耗功率。值得注意的是,在处理器110进入待机模式之后以及在处理器110开始监控唤醒事件以前发生的任何唤醒事件(例如,键盘上因按键导致的中断或传送来的网路封包)都会被忽略掉。也因此避免掉过早地唤醒处理器110的可能。
在第二种可选模式中(或待机控制寄存器写入第二数值),处理器110进入待机模式,送出告知信号给处理器管理单元120,并且在收到处理器管理单元120送达的完成信号时立刻被唤醒。因此,处理器110可以在调整操作状态完成后立刻恢复运作。和第一可选模式相类似,在处理器110进入待机模式之后以及在处理器110收到来自于处理器管理单元120送达的完成信号前所发生的任何唤醒事件,都会被忽略掉。也因此避免掉过早地唤醒处理器110的可能。
在第三种可选模式中(或待机控制寄存器写入第三数值),处理器110进入待机模式,并不送出告知信号给处理器管理单元120。接着处理器110便开始监控唤醒事件。这个可选模式可用在当处理器110需要等待唤醒事件而不需要改变操作状态时。所以此第三种可选模式可用来取代为了节省功耗而由处理器110执行的传统的闲置等待回路(idle waiting loop)。
为了阐明处理器110和处理器管理单元间120的握手机制,以下进一步说明在电脑系统100中控制处理器110的方法。图2是本实施例中,依待机指令的第一种可选模式下的处理器110的控制方法流程图。参照图2,在步骤210中,处理器110或另一处理器130根据处理器110即将发生的操作状态的变更来编程处理器管理单元120。例如,处理器110或另一处理器130可经由一输入输出总线,依新的操作状态参数来编程处理器管理单元120。
紧接着,在步骤220中,处理器110储存所有需要的状态后进入待机模式,并且送出一告知信号给处理器管理单元120。如之前所提及的,处理器110可借由执行第一种可选模式的待机指令或借由写入第一数值到待机控制寄存器来进入待机模式。
在步骤230中,当处理器管理单元120接收到告知信号后,处理器管理单元120开始依据处理器110或另一处理器130在步骤210中告知的操作状态的变更来调整处理器110的操作状态。在步骤240中,处理器管理单元120在处理器110的操作状态变更稳定后,送出一完成信号给处理器110。值得一提的是,处理器110在进入待机模式后到收到完成信号前,将忽略掉所有的唤醒事件。
最后,在步骤250中,在处理器110收到完成信号之后,处理器110开始监控唤醒事件。从现在开始,任何唤醒事件的发生,都将唤醒处理器110。处理器110在被唤醒后,将以新的操作状态工作。
图3是本实施例中,依待机指令的第二种可选模式下的处理器110的控制方法流程图。参照图3,在步骤310中,当处理器110需要在另一个不同的操作模式下工作时,该操作模式的改变可以经由处理器110或另一处理器130编程于处理器管理单元120。接着在步骤320,处理器110借由执行第二种可选模式的待机指令或借由写入第二数值到待机控制寄存器来进入待机模式,并且送出一告知信号。
在步骤330中,处理器管理单元120在收到告知信号后,开始根据操作状态的变更来调整处理器110。如步骤340所描述的,在新操作状态变更完成后,处理器管理单元120发送一完成信号给处理器110。
在步骤350中,处理器110在收到完成信号后被唤醒,并且根据处理器管理单元120设定的新操作状态立刻重新正常运作。在这个可选模式下,处理器110在进入待机模式后,即忽略所有的唤醒事件,直到被完成信号所唤醒。
如果处理器110不需要调整操作状态,处理器110和处理器管理单元120间的信号交换就不需要。图4是利用第三种可选模式的待机指令控制处理器110的实施例的流程图。参照图4,在步骤410中,处理器110进入待机模式而不送出任何信号给处理器管理单元120。在步骤420中,处理器110在进入待机模式后立刻开始监控唤醒事件。
综上所述,本发明提出一种电脑系统及其控制处理器的方法。根据以上的实施例,一种在处理器与处理器管理单元间的握手机制被用来避免于处理器调整操作状态期间,因过早的唤醒事件而导致的无法预期的行为。电脑系统的稳定性和可靠度必然因此而提升。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
机译: 电传处理器,设备控制装置,家用电器,电传处理器程序,微计算机系统和微电脑系统程序
机译: 电脑系统特别是多用途计算机-具有多个主机处理器,它们共享同一外部数据存储单元和存储控制单元,以管理存储访问和数据流
机译: 用于控制共享存储器的多个处理器和内部总线的多处理器控制装置以及用于执行该多处理器控制装置的多处理器控制方法和多处理器控制电路