当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于SMI处理的方法、装置和系统制造方法及图纸

技术编号:2846645 阅读:187 留言:0更新日期:2012-04-11 18:40
在本文中描述了用于高效的存储器分配和系统管理中断(SMI)处理的方法和装置。一旦唤醒多个处理器系统中第二处理器,那么可以使用单个SMI来初始化每个处理器,可以使用单个默认SMI处理程序的位置作为第二处理器的唤醒向量,并且可以在使用第二处理器处理SMI期间将指令指针修改到未对齐地址,以避免传统的额外的对齐存储器的分配。此外,可以使用统一的处理程序代码在第一和第二处理器两者上处理软件产生的SMI,并且在处理完硬件SMI后可以直接退出SMM以节省执行时间。

【技术实现步骤摘要】
【国外来华专利技术】领域本专利技术涉及计算机系统领域,并且更具体地说,涉及系统管理模式优化。背景计算机系统在我们的社会中正变得越来越普遍,所述计算机系统包括从例如个人数字数据助理和蜂窝电话的小型手持电子设备到例如机顶盒和其他消费类电子的专用电子组件,再到完全可移动设备、桌面和服务器系统的一切事物。但是,系统变的越小和越便宜,对高效的存储器分配和系统管理的需求就变得越重要。一直以来,服务器系统的传统特征在于同一系统(多处理器系统)中的大量的常规存储器和多个物理处理器,其中物理处理器是指单个处理器管芯(die)或单个封装(package)。服务器系统可用的大量存储器已经导致效率极其低下的存储器空间分配和严重浪费的执行时间。典型地,在多处理器系统中,在引导时(upon boot),每个处理器对唤醒进行仲裁(arbitrate),所述唤醒操作可以包括分配存储器和重新定位处理器的基地址(SMBase)。在初始化每个处理器的过程中产生系统管理中断(SMI),所述SMI使用每个处理器(processor)的默认SMI处理程序(SMI handler)来处理。通常,处理器使用赛跑(race toflag)的方案来仲裁,其中开始处理SMI的第一处理器能够开始初始化。初始化通常包括为每个处理器分配分开的且不同的4KB对齐的存储器空间,这迫使人们分配比系统管理所需的存储器要多的存储器。此外,当发生系统管理中断(SMI)时,无论是在引导期间还是常规操作期间,多处理器系统中的每个处理器运行分开的且不同的SMI处理程序来服务/处理SMI。存在着两种类型的SMI。第一种是异步中断,异步中断可以由系统硬件产生,例如当电池电量低时。因为不需要知道另一个处理器的状态保存区的信息来服务请求,所以异步中断可以分别被任一处理器处理。第二种中断即同步SMI由软件产生,应该被每个处理器处理。典型地,软件产生的SMI发生在操作系统(OS)需要处理器进入系统管理模式(SMM)时。SMM是用于执行不干扰操作系统和应用程序的软件例程/处理程序的环境。在当前的多处理器系统中,每个处理器进入SMM并且随后一条接一条地执行不同的SMI处理程序来核查它们的寄存器,以找出哪个处理器产生所述SMI。这需要为每个处理器执行分开的SMI处理程序,这就引入了资源争夺问题,并因此使得对SMI处理程序代码的更新变得困难。但是,这些效率低下的初始化和处理方法不限于多处理器服务器系统,还存在于其他系统中,例如移动多处理器系统。超线程技术(HT)是一项来自加利福尼亚州圣塔克莱拉市的Intel公司的技术,所述技术使得能够使用信号物理处理器并行地执行线程。HT在一个物理处理器(同一管芯)上包括两个逻辑处理器。逻辑处理器是操作系统(OS)可见的独立处理器,能够执行代码并且维持相对于系统中其他处理器来说独特的体系结构状态。HT是通过包括多个体系结构状态来实现的,所述多个体系结构状态共享一套执行资源。因此,HT使得人们能够在移动平台中实现多(逻辑)处理器系统。如上所示,效率低下的存储器分配、处理器初始化和SMI处理存在于传统的多处理器系统(例如服务器系统)中。此外,随着多处理器系统开始渗入资源(例如存储器)受限的移动领域,对于上述的低效率的优化的需求就变得愈发重要。附图简要说明本专利技术是以示例性的方式描述的,并且不应认为本专利技术受附图限制。附图说明图1示出具有多个处理器的设备的方框图,所述多个处理器共享执行资源、缓存和存储器。图2示出具有多个处理器的系统的方框图。图3示出具有物理处理器的系统的方框图,所述物理处理器包括多个逻辑处理器图4示出第一处理器唤醒第二处理器的流程图。图5示出使用第一处理器唤醒第二处理器的例证性实施方案的流程图。图6示出在第一和第二处理器上使用相同的SMI处理程序处理SMI的流程图。图7示出在第一和第二处理器上使用一个SMI处理程序处理SMI的例证性实施方案的流程图。图8示出如果产生的SMI是软件SMI的情况下在第一和第二处理器上执行相同的系统管理中断代码的流程图,。图9示出如果正被处理的SMI是软件产生的情况下执行相同的SMI处理程序的第一和第二处理器的例证性实施方案的流程图。详细描述在以下描述中阐述了大量具体的细节,例如具体的存储器地址、存储器大小、组件配置的实施例,以提供对本专利技术的完整理解。然而,本领域的技术人员将会清楚,无需使用这些具体的细节可以实现本专利技术。此外,没有详细描述公知的组件和方法,例如例程引导模块(block)(例如上电自检(POST))、具体的系统管理模式(SMM)实现以及具体的系统管理中断处理程序代码,以免不必要地模糊本专利技术。在此描述的方法和装置用于在多处理器系统中当唤醒处理器时优化存储器分配和优化系统管理中断(SMI)处理。唤醒处理器的方法可以发生为任何数量的普通操作的结果。例如,当计算机上电或重启时,可以唤醒非活动/睡眠的处理器。此外,当系统从低功率状态返回时,可以唤醒非活动的处理器,所述低功率状态例如睡眠、待机、挂起、休眠、等待SIPI、睡眠、深度睡眠、重启和第二处理器不响应中断的任何其他模式。本领域的技术人员将会很容易理解,所公开的唤醒第二处理器的方法可以适用于任何级别的计算机系统(个人数字助理、移动平台、桌面平台和服务器平台)以及任何数量的处理器。例如,具有四个或更多个处理器的多处理器系统可以采用该方法利用活动的处理器来唤醒非活动的处理器。图1-3示出了可以具体实施在此描述的方法的一些硬件的例证性的实施例。在此描述的方法可以用于任何多处理器系统;因此所述方法只在参考图3时详细描述,以免因为不必要的细节模糊本专利技术。图1示出了具有多个逻辑处理器的设备105的方框图。物理处理器是指物理处理器管芯或单个封装。逻辑处理器是操作系统(OS)可见的独立处理器,所述逻辑处理器能够执行代码并保存相对于系统中其他处理器来说独特的体系结构状态。超线程技术(HT)是一项来自加利福尼亚州圣塔克莱拉市的Intel公司的技术,所述技术使得能够使用信号物理处理器并行地执行线程。HT在一个物理处理器上包括两个逻辑处理器,并且通过复制体系结构状态来实现,其中每个体系结构状态共享一套处理器执行资源。设备105可以包括第一处理器120和第二处理器125。设备105可以是物理处理器。设备105也可以是嵌入式系统或其他的具有至少两个处理器的设备。处理器120和125可以是逻辑处理器。例如,处理器105可以包括体系结构状态寄存器130和135,所述体系结构状态寄存器130和135各自保存独特的体系结构状态。很容易理解,设备105可以包括两个以上的逻辑处理器,所述逻辑处理器各自具有与其相关联的体系结构状态寄存器以保存各自的体系结构状态。所述两个处理器120和125共享相同的执行资源140、缓存145、总线150和存储器155。设备105还可以包括控制器110。控制器110可以是高级可编程中断控制器(APIC)控制器。控制器110可以被用于产生系统管理中断(SMI)。控制器110也可以被用于在APIC总线(未示出)上通信,所述APIC总线将第一处理器120和第二处理器125耦合到一起。设备105还可以包括存储器155。存储器可以是任何类型的可以存储数据的储存装置。例如存储器155可以是存储信息本文档来自技高网...

【技术保护点】
一种方法,包括:接收第一系统管理中断(SMI);使用第一处理器处理所述第一SMI;使用所述第一处理器产生唤醒信号;基于来自所述第一处理器的所述唤醒信号唤醒第二处理器;以及使用第二处理器处理所述第一SMI。

【技术特征摘要】
【国外来华专利技术】US 2003-10-6 10/681,4461.一种方法,包括接收第一系统管理中断(SMI);使用第一处理器处理所述第一SMI;使用所述第一处理器产生唤醒信号;基于来自所述第一处理器的所述唤醒信号唤醒第二处理器;以及使用第二处理器处理所述第一SMI。2.如权利要求1所述方法,其中所述第一和第二处理器是逻辑处理器。3.如权利要求1所述方法,其中所述第一和第二处理器是物理处理器。4.如权利要求1所述方法,其中使用第一处理器处理所述第一SMI的操作包括执行位于第一存储器地址上的默认SMI处理程序。5.如权利要求4所述方法,其中所述唤醒信号包括基于所述第一存储器地址的向量。6.如权利要求5所述方法,其中所述第一存储器地址是对齐的。7.如权利要求6所述方法,其中所述第一存储器地址是按4k对齐的。8.如权利要求5所述方法,其中使用所述第二处理器处理所述第一SMI的操作包括执行位于所述第一存储器地址的所述默认SMI处理程序。9.如权利要求8所述方法,其中使用所述第二处理器处理所述第一SMI的操作还包括将指令指针修改为第二存储器地址。10.如权利要求9所述方法,其中所述第二存储器地址是未对齐的地址。11.如权利要求10所述方法,还包括在所述第二处理器已经处理了所述第一SMI之后执行所述第二存储器地址上的代码。12.一种方法,包括接收第一系统管理中断(SMI);响应于所述第一SMI,使用第一处理器执行第一存储器地址上的代码;使用所述第一处理器产生唤醒信号;基于来自所述第一处理器的唤醒信号唤醒第二处理器;以及使用所述第二处理器执行所述第一存储器地址上的所述代码。13.如权利要求12所述方法,其中所述唤醒信号基于所述第一存储器地址。14.如权利要求13所述方法,其中所述第一存储器地址是默认SMI处理代码的位置。15.如权利要求14所述方法,其中所述第一存储器地址位于常规存储器中。16.如权利要求15所述方法,其中所述第一存储器地址是对齐的。17.如权利要求12所述方法,其中所述第一和第二处理器都是位于相同管芯上的逻辑处理器。18.如权利要求12所述方法,其中所述第一和第二处理器是位于分开的封装上的物理处理器。19.如权利要求12所述方法,还包括将所述第二处理器的指令指针修改为第二存储器地址。20.如权利要求19所述方法,其中所述第二存储器地址是未对齐的地址。21.如权利要求20所述方法,还包括在将所述指令指针修改为所述第二存储器地址之后执行所述第二存储器地址上的代码。22.如权利要求12所述方法,还包括在使用第一和第二处理器接收所述SMI之前产生所述SMI。23.如权利要求22所述方法,其中产生所述SMI的操作包括改变耦合到控制器中心的管脚的逻辑电平。24.如权利要求22所述方法,其中APIC被用于产生所述SMI。25.如权利要求24所述方法,其中所述APIC位于所述第一处理器中。26.一种方法,包括接收系统管理中断;执行SMI处理程序来为第一处理器处理SMI;以及执行所述SMI处理程序来为第二处理器处理所述SMI。27.如权利要求26所述方法,其中所述SMI是软件产生的SMI。28.如权利要求27所述方法,其中所述第一处理器执行所述SMI处理程序来为所述第一和第二处理器处理所述SMI。29.如权利要求26所述方法,其中所述SMI处理程序位于第一存储器地址。30.如权利要求29所述方法,其中所述第一存储器地址是相对于用于所述第一处理器的第一系统管理基(SMBase)地址的默认偏移。31.如权利要求30所述方法,其中使用所述第一SMI处理程序处理所述第二SMI的操作包括将所述SMI处理程序的目标SMBase从所述第一SMBase改为所述第二处理器的第二SMBase;以及使用所述第二处理器的SMBase作为所述目标SMBase来执行所述第一SMI处理程序。32.一种方法,包括使用第一处理器执行系统管理中断(SMI)代码来为所述第一处理器处理SMI;核查所述SMI时候是否是软件产生的SMI;以及如果所述SMI是软件产生的,执行所述SMI代码来为第二处理器处理所述SMI。33.如权利要求32所述方法,其中,如果所述SMI是软件产生的,所述第一处理器...

【专利技术属性】
技术研发人员:巴恩斯库珀格兰特小林
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1