用于建立安全处理器工作点的方法和装置的制作方法

文档序号:6649401阅读:116来源:国知局
专利名称:用于建立安全处理器工作点的方法和装置的制作方法
技术领域
本发明的实施例大体涉及可调处理器工作参数的控制和计算机处理器的安全。
背景技术
计算机的处理器有时具有可调工作参数,诸如处理器的工作电压或处理器的时钟频率。例如在某些笔记本电脑系统中,期望降低处理器的工作电压和/或处理器的时钟频率以节省电源。这些可调参数的工作点(即处理器运行的水平)可在处理器运行或者在诸如冷启动或重启之类的处理器启动期间改变。可调工作参数可至参考例如由处理器制造商提供的一组工作点的设置值。即使在做出调整尽管只有有限的调整范围、有限的时间和/或器件和机制招致调整的约束,但是仍可认为这些处理器工作参数是可调的或者动态的。
由上可知,可调工作参数的一个实例可以是处理器的工作电压。在某些处理器中,处理器的工作电压由外部电压调节器管理,在此情况下该电压调节器能够接受定义用于提供给处理器期望电压的电压选择输入。电压调节器的电压选择输入可由芯片组或处理器自身提供并且可由外部软件编程。可调工作参数的另一个实例可以是处理器的时钟频率。可调处理器时钟频率可由例如外部输入源时钟(例如外部总线时钟)和内部处理器核心时钟之间的分配器编程所支持。处理器核心时钟可显示由诸如锁相环(PLL)或等效功能生成的外部时钟分数倍数的的某些整数。在此情况下,内部处理器时钟的工作频率可通过重编由外部总线至核心时钟分配器值而改变。
计算机安全包括用于保护计算机或计算机系统免遭未经授权访问损害的技术和机制。这些技术可涉及软件和/或硬件安全机制并且可以包括用于处理器安全的技术。


图1是结合了本发明的一个实施例的具有用于建立安全处理器工作点元件的处理器简化框图。
图2是结合了本发明的一个实施例示出配置以建立安全处理器工作点产生的处理器的系统简化框图。
图3是结合本发明的一个实施例的建立安全处理器工作点的用于安全引导的方法简化流程图。
具体实施例方式
以下描述的设备和方法可用于在诸如属于已知处理器恰当运行限制内的已建立的可接受工作点处建立处理器工作参数。以下所描述系统的某些实施例可使用在例如高度安全的软件环境中用来确保参与安全启动过程的处理器具有已知的安全操作电压和/或时钟频率,使在启动过程的完整度得到更高的保障。“安全引导”可在系统运行期间(诸如在为了执行安全应用的动态保护系统的过程中)动态地发生,并且可以仅仅要求安全核的一次引导(即,不需要整个操作系统的重新引导)。安全工作点的确认可以是执行安全引导的指令初始阶段的部分。某些实施例能够指出位于测试或支持工作点外的处理器工作参数有意或无意的错误编程的地址,这些错误编程可能还会导致不可靠的处理器运行和潜在的可被利用的安全漏洞。在某些实施例中,只有处理器在安全工作点处以可调的工作参数运行时才认为处理器已被安全地引导了,而且只有在系统中所有的处理器都在安全工作点处以可调的工作参数运行时才认为系统已被安全地引导了。可以认识到在此描述的这些实例的修改和变化都由以下提供的教导材料所包罗在内并且在所附权利要求的范围内。
图1是结合本发明的一个实施例的具有用于建立安全处理器工作点元件的处理器简化框图。图1显示了具有可调工作电压及核心时钟频率的处理器101。在其他的实施例中,处理器可以仅仅具有一个可调工作参数,也可以具有不同的可调工作参数,或者还可具有附加的可调工作参数(诸如基于温度、处理器性能和功耗等等的输出缓冲驱动力或者处理器节流点)。处理器101可以是嵌入芯片内或者以多个分离组件的形式的系统。
如图1所示,处理器101具有电压选择输入125和时钟源输入135,它们在处理器启动(在此也称为引导)时可以用来确定处理器101的工作电压和核心时钟频率。如上所述,电压选择输入125也可是指定输入至处理器101电压的外部电压调节器(未示出)的输入。处理器101通过读取电压选择输入125确定驱动什么样的电流电压至处理器101。在其他实施例中,处理器101可通过来自电压调整输出的反馈、来自逻辑结构的反馈或其他配置代替电压选择输入125来确定当前电压。在某些实施例中,时钟源输入135可接受来自诸如外部总线时钟的外部输入源时钟的输入,并且能够用于定义处理器101的内部核心时钟频率。
如图1所示,处理器101包括电压工作点控制器120、时钟工作点控制器130、参考信息存储器元件140和安全引导逻辑150。在示出的实施例中,电压工作点控制器120耦合至电压选择输入125,同时耦合至电压调整输出128,并且经由线126、127和129耦合至安全引导逻辑150。电压工作点控制器120可使用电压选择输入125以确定用于处理器101的当前电压工作点是多少。在某些实施例中,电压工作点控制器120可以通过由电压调整输出128发送信号至指定外部电压的设备(诸如外部电压调节器)调整当前电压工作点。这样,通过由电压调整输出128发送信号,电压工作点控制器120可调整用于处理器101工作电压的工作点。当然在其他实施例中的处理器101的工作电压也可使用其他机制进行调整,诸如不同的内部控制元件、不同的外部控制元件和完全的内部元件等等。在某些实施例中,电压调整输出和电压选择输入可在有线的或装置或者不同于图1所示的其他装置同一个引脚上实现。
在示出的实施例中,时钟工作点控制器130耦合至时钟输入源135并且经由线137-139耦合至安全引导逻辑150。在此实施例中,时钟工作点控制器130包括可编程分配器134,该分配器134如上所述可把来自时钟源输入135(即外部总线时钟)的外部输入源时钟分成内部处理器核心时钟,该核心时钟可表示的外部时钟分数倍数的某些整数。在此情况下,该内部处理器时钟工作频率可通过重新编程外部总线至核心时钟分配器的值得到改变。在其他实施例中,处理器101的时钟频率也可使用其他机制诸如控制提供时钟源的外部时钟发生器来调整。
在实施例中,参考信息存储器元件140存储用于一个或多个可调处理器工作参数的一个或更多可接受工作点存储参考信息。这样,给定处理器可具有用于一个至多个参考点的内部存储器。对于给定的工作参数,存储在参考信息存储器元件140内的参考信息可以定义单个可接受的工作点或者可以指定用于那个参数的可接受工作点的范围。如图1所示,参考信息存储器元件140包括电压参考存储器元件142和时钟参考存储器元件143。电压参考存储器元件142能够存储关于可接受工作电压的信息,而时钟参考存储器元件143能够存储关于可接受工作时钟频率的信息。电压参考存储器元件142和时钟参考存储器元件143可以是例如硅熔丝、ROM、EEPROM、闪存EPROM或者其他具有等效的抗干扰功能。虽然图1示出了分开的电压参考存储器元件142和时钟参考存储器元件143,但是用于多个工作参数的设置值也可以存储在一起。处理器101可以包括在相同芯片上的参考存储器元件140或者作为分离器件位于核心处理器芯片外部但仍被认为是这里使用的处理器101的一部分的参考存储器元件140。
在实施例中,参考信息存储元件140存储该参考信息所以它是抗干扰的。抗干扰存储器是以一种即便存储的信息可被修改,但是也不能被本领域技术人员在未经授权的情况下轻易修改的存储信息存储器。例如该参考信息可以包括固定在处理器硬件、固件、微码中的设置值等等或者是在制造期间所固定的设置值。在某些实施例中,参考信息存储元件可以是与处理器相结合的分离器件。在实施例中,这些设置值一旦安装在用户系统中如果不付出很大的努力将不会被改变。这些设置值可由处理器制造者基于测试或者其他已知的用于支持可靠处理器运行的质量保证方法来建立。
就处理器101的引导功能,安全引导逻辑150可基于当前工作点与参考信息的比较来确定工作参数(诸如工作电压或工作时钟频率)的当前工作点是否可接受。安全引导逻辑150可以是处理器的安全引导逻辑的一部分。在图1的实施例中,安全引导逻辑150经由线146耦合至参考信息存储元件140,该元件可以把存储在参考信息存储器元件140内的关于一个或更多可接受工作点(诸如可接受电压和时钟频率)的参考信息提供给安全引导逻辑150。安全引导逻辑150还耦合至如图1所示的提供来自处理器101输出的安全引导输出155,而且它包括比较器152和比较器153。在某些实施例中,比较器152可以比较通过线127由电压工作点控制器120指示的工作电压和存储在电压存储器元件142内的关于安全电压工作点的参考信息来确定当前的工作电压是否在可接受的范围内。类似地,比较器153可以比较通过线138由时钟频率点控制器130指示的工作时钟频率和存储在时钟频率存储器元件143内的关于安全电压工作点的参考信息来确定时钟频率工作电压是否在可接受的范围内。
在某些实施例中,如果安全引导逻辑150确定用于工作参数的当前工作点不可接受,那么安全引导逻辑150可以发信号给合适的工作参数控制器(诸如通过线129或139)使得控制器重新调整工作参数至可接受的工作点。在某些实施例中,如果安全引导逻辑150用于确定工作参数的当前工作点是可接受的,那么安全引导逻辑150可以通过安全引导输出155发送信号指示安全引导工作参数已被确认。在实施例中,这一指示可通过诸如在芯片组内设置寄存器或者通过特定的总线周期而加以间接提供。在某些实施例中,安全引导输出155可以指示所有的初始化已经完成用来启动安全引导,这就能够让安全引导进行下去。在某些实施例中,安全引导逻辑150可以包括硬件、固件、软件、微码、状态机或者这些组件的结合或者其他等效的组件。
因为在某些实施例中为了完成新近选择的工作目标,电压的改变可经过一系列电压控制输入步骤而包括增加或减少,所以电压工作点控制器120可以通过电压转换状态线126提供确信工作电压处于稳定状态还是变换状态的指示。类似地,在必须提供转换时间以重新计时并且此转换时间在新的核心时钟频率处必须变得稳定的实施例中,时钟转换状态线137可以把来自时钟工作点控制器130的一个是否核心时钟频率转换处于进行中的指示提供给安全引导逻辑150。在这个转换周期内,迫使处理器101进入临时休眠、挂起、停止状态以避免由不稳定处理器核心时钟引起的潜在定时故障。在这些实施例中,安全引导逻辑150在确定工作参数是否可接受之前一直等待直到相关工作参数处于稳定状态。
图2是结合本发明的一个实施例示出的配置以建立安全处理器工作点存在的处理器的系统简化框图。图2所示的系统200包括在图1中详细示出的处理器101的、处理器203-204和芯片组210,所以这些都耦合至总线255。系统200中的处理器和芯片组可全部位于相同的诸如母板的计算机平台上,或者在同一硅片上。总线255可以是系统总线。处理器101由图1的安全引导输出155耦合至总线255。就系统引导,每个处理器101、203和204可以给芯片组210提供指示了已经查明处理器101具有可接受的和安全的工作点的指示。在实施例中,信令可由例如特定总线消息的广播、处理器间中断信令、芯片组内状态位设置和处理器间专用管脚信令等等来完成。例如,处理器101可发送安全引导指示给芯片组210用来指示已经查明处理器101具有可接受工作点。如图2所示,芯片组210具有可以存储关于是否每个处理器都具有可接受工作点的指示的寄存器212。
在某些实施例中,处理器中的一个(诸如处理器204)可以是引导的启动设备或主设备并且可以通知系统中的其他处理器它们都具有确认的安全工作点。例如一旦处理器204确定它具有安全工作点,它就检查寄存器212来确定系统中的其他处理器是否也具有安全工作点。如果所有处理器都指出它们位于安全工作点上,那么处理器204可以得出行使安全引导功能是安全的结论并且可以发送这一指示(例如通过经由总线255的广播通信)给系统200内的其他处理器。在某些实施例中,代替芯片组210的其他设备(诸如处理器204)可以存储每个处理器都已达到安全工作点的指示。
图3是按照本发明的一个实施例的建立安全处理器工作点用于安全引导的方法简化流程图。图3所示的方法将参考图1-2中示出的实施例进行讨论,当然该方法也可用于其他装置。本发明可结合处理器的引导功能加以执行并且可以成为安全引导过程的一部分。例如,本方法可以由引导功能调用或控制并且可以在相关处理器引导功能进行之前,进行期间或其他操作之后产生。本方法可以由硬件、固件、软件、微码、状态机或者这些组件的结合或者其他任何等效组件来执行。
根据图3中所示的方法,引导功能被初始化(301)。此引导功能可由例如处理器基本输入输出系统(BIOS)或者其他元件来控制,如操作系统可以处于动态保障系统的进程中以执行安全应用。就此引导功能,就可确定某个工作参数的第一工作点(302)。第一工作点可基于接收来自处理器外部的信号。例如,处理器工作电压可如上所述由基于电压选择输入125的电压工作点控制器120来确定。第一工作点可与参考信息相比较(303)。在某些实施例中,该参考信息可存储在抗干扰或者可信任的存储元件的处理器中。例如,比较器152可以对此电压工作点和存储在存储元件142内的参考电压进行比较。在某些实施例中,处理器在工作参数与参考信息相比之前等待该工作参数到达稳定状态。如果第一工作点是可接收的(304),于是就发送一个信号给其他处理器或设备(例如,经由总线255)指出处理器引导的工作参数是安全的,并可使安全引导继续。在某些诸如图1所示的实施例中,如果对处理器可靠运行至关重要的所有可调参数已被确定处于安全工作点,那么处理器可以只作出安全引导继续进行是安全的指示。
如果确定第一工作点不可接受(304),于是可作出关于处理器是否可以调整该工作点的决定(306)。在某些实施例中,尽管芯片组或者其他外部设备能够调整该工作点(诸如处理器电压),但是例如要是该调整只能由芯片组完成的话,那么处理器就不能通过安全引导逻辑做出这一调整。如果处理器不能调整该工作点,于是处理器会中止安全处理引导(307)。如果处理器可以调整该工作点,于是会基于存储的参考信息对第一工作点做出调整(308)。例如,电压工作点控制器120能够经由电压调整输出128发送一个修改(增加或减少)处理器101的电压工作点的信号。可如上所述(304)测试该新的工作点以确定其是否可接受。在某些实施例中,在确定新的工作点是否可接收之前,此安全引导逻辑将等待转移至新的状态出现(如示,通过时钟转移状态线137)。在某些实施例中,可认为系统中每个可调工作参数(例如电压和时钟频率)都使用了上述方法。
在某些实施例中,将被引导的处理器是在物理的或逻辑的处理器系统内的一个处理器(这些处理器可在也可不在相同的芯片上),并且这些处理器中的一个可作为用于安全引导的主处理器或者启动设备。在这些实施例中,系统中的每个逻辑处理器都可以执行上述的方法。在实施例中,每个逻辑处理器可以发送一个关于每个处理器的工作点是否已被确认为可接受的指示给诸如芯片组210。如果主处理器确定其他处理器具有可接受的工作点,那么此主处理器可以提供一个指示给其他处理器即,系统中所有处理器都具有可接受工作点并且允许继续进行安全引导。
根据上述实施例,就引导功能,参与安全引导功能的处理器对于已知可接受工作参数的强制操作关闭了会导致不可靠处理器操作的安全漏洞。可以认识到上述实施例的修改和变换都由提供的教导材料所覆盖并且处在所附权利要求的范围内。
权利要求
1.一种系统,它包括抗干扰存储元件,它用于存储关于处理器可调工作参数的一个或者更多工作点的信息;用以确定工作参数的当前处理器工作点是什么的元件;以及比较当前工作点和存储信息的元件。
2.如权利要求1所述的系统,其特征在于,所述抗干扰存储元件位于该处理器内。
3.如权利要求1所述的系统,其特征在于,所述抗干扰存储元件是硅熔丝。
4.如权利要求1所述的系统,其特征在于,所述可调工作参数是处理器的工作电压。
5.如权利要求1所述的系统,其特征在于,所述可调工作参数是处理器的时钟频率。
6.如权利要求1所述的系统,其特征在于,所述可调工作参数是处理器的工作电压,其中该处理器还包括用以确定处理器的时钟频率的当前工作点是什么的元件;以及对当前时钟频率工作点和存储信息进行比较的元件。
7.如权利要求1所述的系统,其特征在于,该系统还包括当已确定当前工作点不可接受时用以调整工作参数的工作点的工作参数控制器。
8.如权利要求1所述的系统,其特征在于,该系统还包括当已确定处理器工作参数的当前工作点被确定为不可接受并且处理器不能调整该可调工作参数时中止引导的元件。
9.如权利要求1所述的系统,其特征在于,该系统还包括广播特定的总线周期的逻辑,用来指示可调工作参数的当前工作点是可接受。
10.一种处理器,它包括结合处理器的安全引导用以确定处理器可调工作参数的工作点是什么的元件;用以调整处理器的工作参数的工作点的控制器;以及结合安全引导对工作参数的当前工作点和存储在抗干扰存储器内的信息进行比较的比较器。
11.如权利要求10所述的处理器,其特征在于,如果比较器确定当前工作点是不可接受的,那么该控制器调整该处理器工作参数至可接受的当前工作点。
12.如权利要求11所述的处理器,其特征在于,处理器还包括仅当工作参数的当前工作点是可接受时用以确定允许处理器继续进行安全引导的引导逻辑。
13.如权利要求11所述的处理器,其特征在于,如果处理器在可接受工作点上运行,那么该引导逻辑指出安全工作点已确认。
14.如权利要求11所述的处理器,其特征在于,该可调工作参数是处理器的工作电压。
15.如权利要求11所述的处理器,其特征在于,该可调工作参数是处理器的时钟频率。
16.一种系统,它包括多个处理器,其中仅当影响可靠处理器操作的任一处理器可调工作参数处于可按受工作点处时,每个处理器指示该处理器已被安全地引导;以及主处理器,仅当多个处理器的每一个都指示具有可接受工作点时,该主处理器向所述多个处理器指示允许系统继续进行安全引导。
17.如权利要求16所述的系统,其特征在于,该系统还包括芯片组,它用以存储指示多个处理器的每一个是否都具有可接受工作点的数据,其中主处理器基于存储在该芯片组内的数据确定所述多个存储器是否具有可接受工作点。
18.如权利要求16所述的系统,其特征在于,如果所述处理器的工作点不可接受并且如果所述处理器不能调整该工作参数至可接受工作点,那么多个处理器之一会指出此处理器未被安全引导。
19.如权利要求16所述的系统,其特征在于,多个处理器中的一个的可调工作参数是处理器工作电压。
20.如权利要求16所述的系统,其特征在于,多个处理器中的一个的可调工作参数是处理器时钟频率。
21.如权利要求16所述的系统,其特征在于,多个处理器中的一个具有多个可调工作参数,其中多个可调工作参数中的一个是处理器工作电压,其中多个多个工作参数的另一个是处理器时钟频率,其中仅当该处理器的多个可调工作参数中的每一个都在可接受水平时,该设备会指示系统已被安全地引导。
22.如权利要求16所述的系统,其特征在于,信息存储在一个处理器内的硅熔丝内。
23.一种方法,它包括结合处理器安全引导确定处理器工作参数的第一工作点是什么;以及通过比较第一工作点和存储在抗干扰存储元件的处理器内的信息来确定此工作参数的第一工作点是否可接受;以及仅当确定第一工作点可接受时,使处理器能继续进行安全引导。
24.如权利要求23所述的方法,其特征在于,如果确定此工作参数的第一工作点不可接受,则本方法还包括基于存储在抗干扰存储元件内的信息将该工作参数调整至第二工作点。
25.如权利要求24所述的方法,其特征在于,把该工作参数调整至第二工作点之后,本方法还包括通过比较第二工作点和存储在抗干扰存储元件内的信息确定第二工作点是否可接受;以及仅当确定第二工作点可接受时,确定允许处理器继续进行安全引导。
26.如权利要求23所述的方法,其特征在于,该方法还包括如果确定处理器工作参数的工作点可接受,则从该处理器发送指示至其他设备。
27.如权利要求23所述的方法,其特征在于,该处理器是系统内多个处理器中的第一处理器,其中如果该第一处理器的工作点被确定为是可接受的,则该方法还包括确定其他处理器具有可接受工作点;以及从第一处理器发送系统中所有处理器已安全引导的指示。
28.如权利要求23所述的方法,其特征在于,还包括如果第一工作点被确定为不可接受并且如果该处理器无法调整工作点,则中止处理器引导。
29.如权利要求23所述的方法,其特征在于,第一工作点基于从处理器外部接收的信息。
30.如权利要求23所述的方法,其特征在于,该工作参数是处理器的工作电压。
31.如权利要求23所述的方法,其特征在于,该工作参数是处理器的时钟频率。
全文摘要
提供一种用于建立安全处理器工作点的系统和方法。某些实施例可包括存储关于可调处理器工作参数的一个或更多工作点信息的抗干扰存储元件。某些实施例还包括确定工作参数的工作点是什么的元件,还有比较工作参数的当前工作点和存储信息的元件。
文档编号G06F15/78GK1755576SQ20051010855
公开日2006年4月5日 申请日期2005年9月30日 优先权日2004年9月30日
发明者S·菲希尔, V·乔治, S·贾哈吉尔达, S·H·冈瑟 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1