增加于多核心处理器上的一个或多个核心的工作量效能的制作方法

文档序号:6568420阅读:184来源:国知局
专利名称:增加于多核心处理器上的一个或多个核心的工作量效能的制作方法
技术领域
本发明系关于多核心处理器,且详而言之,系关于多核心处理器 环境内之工作量效能。
背景技术
单芯片多处理器(chip multiprocessor, CMP)目前系日益普遍。CMP 系将两个或更多个处理器核心实施在相同集成电路上。CMP系能比如 较为复杂的单处理器更有效的利用包含于集成电路的数以百万的晶体在许多情况中,CMP可藉由具有不只一个处理器执行中央处理工 作而增加系统之运算能力。此外,CMP藉由分担该处理工作量,当相 较于单核心处理器以其最大频率运作时,系能增加其处理效率并能降 低整体热流及功率预算。然而,在某些CMP中,由于加诸于该CMP的热及功率限制(thermal and power constraints),而浪费某些可得的处理频宽。例如,在双核心 设计中,两个核心皆能单独操作在三十亿赫(GHz)。然而,由于包装的 热预算(thermal budget),或系统的功率预算,两个处理器核心皆被限制 在2.7GHz。发明内容揭露多核心处理节点之各种实施例。广而言之,思量处理节点, 其中在整合于该处理节点内之多个处理器核心中之一者执行的操作系 统可监视各个该等处理器核心之使用。响应检测到一个或多个之该等 处理器核心操作低于使用临限值(utilizationthreshold),该操作系统可使一个或多个处理器核心操作在降低效能状态或置于最小功率状态,如 所期望者。此外,该操作系统可进一歩使正在被使用之处理器核心操 作在高于系统最大效能状态的效能状态。在一个实施例中,整合在单一集成电路芯片上的处理节点包括第 一处理器核心及第二处理器核心。该处理节点包括在该第一处理器核 心及该第二处理器核心中之一者执行的操作系统。该操作系统可设成 监视该第一处理器核心及该第二处理器核心之电流使用。响应检测到 该第一处理器核心操作低于使用临限值,该操作系统可设成使该第一 处理器核心操作在低于系统最大性能水平的性能水平,并使该第二处 理器核心操作在高于该系统最大性能水平的性能水平。在一个特定实作中,响应检测到该第一处理器核心之使用位准降 低为低于最小使用临限值,该操作系统可将该第一处理器核心置于最 小功率状态并增加该第二处理器核心之性能水平至核心最大性能水 平。要注意,该系统最大性能水平可当该第一处理器核心及该第二处 理器核心二者在操作时对应至最大频率及电压位准,且该核心最大性 能水平可对应至各个该第一处理器核心及该第二处理器核心当单独操 作时能够操作的最大频率及电压位准。


图1系包含芯片多处理器之计算器系统的一个实施例的方块图;以及图2系叙述显示在图1中之处理节点之一个实施例的操作的流程图。本发明藉由随附图式显示其特定实施例,系容许各种修改及替代 形式,并且在此将详细叙述。然而,应了解,该随附图式及其详述并 非意于限制本发明至特定揭露之形式,而相反的,系用以涵盖由附加 申请专利范围所定义之本发明之精神及范畴内所有的修饰、等效与替 代形式。注意,该标题系仅作组织目的用,而非用以限制或阐释该叙 述或申请专利范围。再者,注意此申请书全文中"可"(may)字系指许 可的意思(亦即,具有潜力能…,或能够…),而非强制的意思(亦即, 必须)。用语"包括"(include)及其衍伸系指"包括,但非限制"。用语 "连接"(connected)系指"直接或间接地连接",而用语"耦合"(coupled) 系指"直接或间接地耦合"。
具体实施方式
现在参照图l,系显示计算器系统IO之一实施例的方块图。在该 实施例中,计算器系统10包括处理节点12、存储器14、外围集线器 16、外围装置17、传感器35、电压调整器45A与45B及基本输入/输 出系统(BIOS)30。该处理节点12包括耦合至节点控制器20的处理器 核心18A至18B,该节点控制器20系进一步耦合至存储器控制器22 及复数个HyperTransportTM(HT)接口电路24A至24C(在此实施例中系 透过HT接口)。 HT电路24B系耦合至该外围集线器16,其中该外围 集线器16系以菊链(daisy-chain)组态耦合至该外围装置17(在此实施例 中系利用HT接口)。外围集线器16亦耦合至BIOS30。该存储器控制 器22系耦合至存储器14。在一实施例中,各个该处理器核心18A至 18B可包括个别的快取或多个快取(未图标)。在一实施例中,处理节点 12可以是包括如图1所示之该电路的单一集成电路芯片。换言之,处 理节点12可以是单芯片多处理器(CMP)。其它实施例可依期望实施处 理节点12作为两个或更多个分离的集成电路。可使用任何等级的整合 或离散组件。应注意,在其它实施例中,系可在节点12内使用任何数 量之处理器核心。进一歩应注意,为求简化,同时具有文字及数字的 参考指示的组件系能仅参照适当的数字。一般而言,处理器核心18A与18B可各包括指定执行由给定指令 集架构所定义之指令的电路。换言之,该处理器核心电路可设成提取 (fetch)、译码、执行及储存由指令集架构所定义之指令的结果。该处理 器核心18可包括任何期望之组态,包含超管线(superpipeline)、超纯量 (superscalar)或其组合。其它组态可包括纯量、管线、非管线等。各种 实施例可不依顺序臆测执行(speculative execution)或依序执行。该处理 器核心可包括一个或多个指令或其它功能的微编码(microcoding),连同 任何上述架构。各种实施例可实施多种其它设计特征,例如快取、转 换后备缓冲区(transiation lookaside buffer, TLB)等。在一实施例中,处理节点12可执行控制两个处理器核心18A至 18B的操作系统范例。该操作系统(OS)核心(指定为OS 13A及OS 13B) 可分别执行在处理器核心18A或处理器核心18B。在一实施例中,处 理器核心18A至18B其中之一可在系统初始化期间被指定为激活程序(bootstrap)核心,而一个处理器核心(可能为同一个)可被指定执行该节 点12之该OS核心13。在一实施例中,各处理器核心18及OS 13可包括使该OS 13控制 各处理器核心之该性能水平及该功率位准的特征及功能。例如,经由 使用特定寄存器(例如寄存器19A至19B),OS 13可使各处理器核心18 操作在一个或多个频率及/或电压位准组合。具体而言,先进组态及电 力接口(Advanced Configuration and Power Interface, ACPI)规格系定义 系统及含有处理器之系统组件的功率位准及性能水平。由此,处理器 核心频率及电压在操作期间可动态地调整以提供有效的功率及效能取 舍(trade-off)。例如,某些应用软件可能较不如其它软件需求大。因此, 该OS 13可步降(step down)该频率及/或电压以提供增强的电池寿命同 时仍能提供有用的效能。相似地,在未使用期间欲降低功率消耗,系 定义各种功率状态使处理器核心能有效地设置在最小功率状态(例如睡 眠状态)。再者,OS 13可设成单独地动态调整各处理器核心18之该功 率及效能状态,端看使用各处理器核心18时之此类参数而定。该节点控制器20 —般可设成接收来自该处理器核心18A至18B、 该存储器控制器22及该HT电路24A至24C的通讯,并依据通讯类型、 通讯地址等发送这些通讯至该处理器核心18A至18B、该HT电路24A 至24C及该存储器控制器22。在一实施例中,该节点控制器20包括 系统管理单元21,其可设成接收系统管理信息,例如处理器节点温度 或其它系统环境信息。系统管理单元21可包括电路以提供ACPI顺应 功能(compliant functionality)。如下将详细叙述,在节点控制器20内之 该系统管理单元21可设成告知该OS核心13特定系统管理事件。在一 实施例中,系统管理信息可以是使处理器核心18A至18B进入特定状 态的要求。例如,该状态可以是功率管理状态或效能管理状态(例如以 上所述)。其它实施例则可定义如下所述之其它系统管理信息。在该说明实施例中,传感器35可以是任何类型用以监视环境状况 的装置。例如,在一实施例中,传感器35可以是设成决定处理节点12 内之参考二极管之接面温度的温度感应装置。传感器35系可进一歩设 成提供系统管理单元21温度的指示。在该说明实施例中,电压调整器45A与45B可设成可程序化地调整并控制分别提供处理器核心18A与18B的操作电压。例如,在一实 施例中,OS核心13可送出改变两个核心或其中之一至节点控制器20 之操作电压的要求。节点控制器20可送出对应信号至可影响电压改变 的电压调整器45A与45B。在此实施例中,为允许处理器核心18A与 18B的单独电压控制,处理节点12可包括各处理器核心18A与18B分 离的电压供应针脚(例如VDD及Gnd)。一般而言,该处理器核心18A至18B可使用连至该节点控制器20 的接口与该计算器系统10之其它组件(例如外围集线器16、外围装置 17、其它处理器核心、该存储器控制器22等)通讯。该接口能以任何期 望方式设计。该接口系可定义快取连贯通讯(coherent communication)。 在一实施例中,在该节点控制器20与该处理器核心18A至18B之间 的接口通讯系可以是相似于那些使用在该HT接口的封包形式。在其它 实施例中,系可使用任何期望之通讯(例如总线接口的交易、不同形式 的封包等)。在其它实施例中,该处理器核心18A至18B可共享连至该 节点控制器20的接口(例如共享总线接口)。该存储器1.4可包括任何适合的存储器装置。例如,存储器14可 包括一个或多个RAMBUS DRAM(RDRAM)、同步DRAM(SDRAM)、 双倍资料速率(DDR)SDRAM、静态RAM等。该计算器系统10之地址 空间在存储器14与其它处理节点之任何相似存储器(未图标)之间系可 被分割。在此情况中,各节点12可包括存储器映像(memorymap)(例如 在该节点控制器20中)以决定哪个地址被映像至哪个存储器14,以及 存储器所要求之特定地址应被发送至哪个节点12。该存储器控制器22 可包括用以与该存储器14形成接口的控制电路。另外,该存储器控制 器22可包括要求队列存储器要求的要求等。该HT电路24A至24C可包括各种用以接收来自HT链接的封包 及在HT链接上传送封包的缓冲及控制电路。该HT接口包括用以传送 封包的单向链接。各HT电路24A至24C可耦合至两个此类链接(一个 作为传送而一个作为接收)。给定之HT接口可以快取连贯方式(例如在 两个节点12之间)或非连贯方式(例如至/从外围集线器16/外围装置17) 操作。在该说明实施例中,该HT电路24C可透过连贯HT链接耦合至 在另一节点上之相似HT接口(未图标)藉以在节点间通讯。该HT电路24A并未使用,而该HT电路24B系透过非连贯链接耦合至该外围集 线器16/外围装置17。该外围集线器16及外围装置17可以是任何类型的外围装置。例 如,该外围集线器16/外围装置17可包括与另一计算器系统通讯的装 置,而该装置系可耦合至该另一计算器系统(例如网络接口卡、整合在 计算器系统之主电路板上的电路实施网络接口功能、或调制解调器等)。 再者,该外围集线器16/外围装置17可包括视频加速器、声频卡(audio cai"d)、硬盘或软盘或磁盘控制器、SCSI(小型计算器系统接口)转接器及 电话语音卡(telephony card)、声卡及各种资料撷取卡,例如通用接口总 线(GPIB)或场总线接口卡(field bus interface cards)。应注意,名词"外围装置"系意指包含输入/输出(i/o)装置。当本实施例使用该HT接口在节点间及节点与外围装置间通讯时, 应注意到其它实施例系可使用任何期望的接口或多个接口来通讯。例 如,可使用其它封包基础接口、总线接口、各种标准外围接口等(例如 外围组件连结(PC1)、快速PCI(PCI express)等)。如上所述,OS核心13可执行在任一处理器核心18A至处理器核 心18B上。OS核心13可监视并控制系统功能,决定并分派哪个处理 器核心18执行特定执行绪(executionthread)等。具体而言,OS核心13 可监视各处理器核心18A至18B之使用。此外,依据各处理器核心18A 至18B之使用及其它系统参数,OS核心13可单独地控制各处理器核 心18A至18B之该功率状态及该效能状态。在图2中,系显示说明图1之处理节点12之一实施例的操作流程 图。在系统初始化期间合并参照图1及图2,可利用初始性能水平及功 率位准以执行处理器核心18A至18B(方块205)。例如,该初始设定可 以是写入寄存器19A至19B的预设设定。在一实施例中,寄存器19A 至19B可以是模型特定寄存器(model specific register, MSR),然而系可 使用任何寄存器。该预设设定可透过保险丝来固定编码(hard coded)或 在激活期间或开机自动测试(power-on self-test, POST)期间透过该BIOS 而被写入。在任一情况中,该OS 13可利用储存于寄存器19A与19B 的值来决定各处理器核心18A至18B之该操作频率、电压及功率状态。 根据系统分析,该初始或预设设定可以是预定值。例如,可为系统最大性能水平设定该频率及电压设定。该系统最大性能水平可对应至两个处理器核心18A至18B可一起操作而不超过处理节点12之该热预算时的频率及电压位准。该系统最大性能水平系典型地不同于核心最大性能水平,该核心最大性能水平系对应至给定处理器核心18能操作之该频率及电压位准。该核心最大值可在制造期间经由测试及特性化(characterization)而决定。在一实施例之操作处理节点12时,OS 13可监视各处理器核心18 使用任何可用之公用程序(utility)时之电流使用。此外,OS 13可监视系 统管理参数,例如是否以接收到任何外部或内部系统管理中断或要求 信息(方块210)。假使OS 13决定处理器核心18A或处理器核心18B之使用已降低 至低于预定临限值(方块215)时,OS则决定是否该核心己降至低于最 小临限值(方块220), OS 13可切断具有低使用之该处理器核心的电源 或使其操作在最小功率状态(方块230)。此外,OS 13可使正在使用之 该处理器核心18操作在核心最大位准(方块235)。经由范例说明,假定不管任何系统位准或热流规定,各个处理器 核心18A至18B皆能操作在3GHz。因此,各处理器核心18之该核心 最大性能水平系3GHz。然而,当两个处理器核心18皆在相同包装时, 假使两者同时一起操作在3Ghz则会超过该热预算。因此,可设定该系 统最大性能水平俾使该处理器核心18在一起操作时不会超过2.6GHz。现在,应用程序可仅执行在处理器核心18A,而处理器核心18B 闲置,例如执行单绪应用(single threaded application)的情况。由此,OS 13可切断处理器核心18B的电源并使处理器核心18A操作在其核心最 大性能水平。以此方法,该热预算便不会超过,而该应用程序则能执 行在最大性能水平。此外,该使用可能会有最大值与最小值间描述不清的情况。因此, OS13可设成检查对于各种临限值之该电流使用。因此,OS13可以改 变增量的方式动态地调低一个处理器核心性能水平,同时调高另一个 处理器核心性能水平,而不会超过该热预算。因此,回头参照方块220, 假使OS 13决定该处理器核心并未低于该最小使用临限值,但低于某 些其它临限值时,OS 13可以增量的方式降低具有较低使用之该处理器核心之该性能水平并增加具有较高使用之该处理器核心之该性能水平(方块225)。然后操作便如方块210所述进行,其中OS 13监视各处理 器核心18之电流使用。回头参照方块215,假使OS 13决定处理器核心18两个都未低于 使用临限值,OS 13可决定是否该系统温度低于最小临限值(方块240)。 例如,该处理器核心18典型的晶粒操作温度可以是9(TC。此温度可由 传感器35所监视。在一实施例中,传感器35可检测处理器核心18A 及/或处理器核心18B内参考二极管的温度。传感器35可提供系统管 理单元21的温度指示。在一实施例中,例如,最小临限值可以是75 。C,而最大临限值可以是88"C。因此,假使该温度低于该最小临限值, OS 13可以增量方式增加一个或二者(one or both)处理器核心性能水平 (方块245)直到该温度在该最小临限值(方块240)及最大临限值(方块 250)内。方块240及250之操作可反复执行数次以获得所期望的性能水 平及温度。然后操作便如方块210所述进行,其中OS 13监视各处理 器核心18之电流使用。参照方块250,假使该温度高于该最大临限值(方块250)。假使该 温度高于该最小临限值,OS 13可以增量方式降低一个或二者处理器核 心性能水平(方块245),直到该温度在该最小临限值及最大临限值内。 然而,在此上限情况中,该OS 13可增加该性能水平歩长(step size)来 尽快地降低该温度。然后操作便如方块210所述进行,其中OS 13监 视各处理器核心18之电流使用。应注意,该操作电压系可以如同频率以相同方式增量地增加及降 低。在一实施例中,该电压可随该频率调整,而在另一实施例中,该 电压则独立于该频率作调整。例如,如上所述,OS13可藉由送出要求 至节点控制器20来增加或降低该操作电压。节点控制器20需要时可 提供信号给电压调整器45A及/或电压调整器45B来增加或降低该电 压。虽已详尽叙述以上之实施例,然而一旦完整了解以上揭露后,对 于熟习该技术领域者而言系能明白各种改变及修饰之可能。下列之申 请专利范围系意于涵盖所有此类改变及修饰。工业实用性本发明通常应用于多核心处理器。
权利要求
1、一种处理节点(12),集成在单个集成电路芯片上,所述的处理节点包括第一处理器核心(18A);第二处理器核心(18B);操作系统(13A,13B),在所述第一处理器核心及所述第二处理器核心的任意一个上面执行,所述操作系统设置成依据所述第一处理器核心和所述第二处理器核心的任意一个电流使用水平独立地控制所述第一处理器核心和所述第二处理器核心的每一个的性能水平。
2、 如权利要求1所述的处理节点,其中响应于检测所述第一处理 器核心的电流使用水平的降低,所述操作系统设置成通过高于系统最 大性能水平的相应的量以降低所述第一处理器核心的性能水平和增加 所述第二处理器核心的性能水平。
3、 如权利要求l所述的处理节点,其中响应于检测所述第二处理 器核心的电流使用水平的降低,所述操作系统设置成通过高于系统最 大性能水平的相应的量以降低所述第二处理器核心的性能水平和增加 所述第一处理器核心的性能水平。
4、 如权利要求l所述的处理节点,其中响应于检测所述第一处理 器核心的电流使用水平降低到最小使用水平以下,所述操作系统设置 成将所述第一处理器核心置于最小功率状态,并且将所述第二处理器 核心的性能水平增加至核心最大性能水平。
5、 如权利要求l所述的处理节点,其中,当所述第一处理器核心 和所述第二处理器核心都运行时,所述系统最大性能水平相当于最大 的频率和电压水平,并且其中所述核心最大性能水平相当于能够使所 述第一处理器核心和所述第二处理器核心的每一个运行的最大的频率 和电压水平。
6、 一种方法,包括 第一处理器核心(18A)执行指令; 第二处理器核心(18B)执行指令;操作系统(13A, 13B)在所述第一处理器核心及所述第二处理器核心的任意一个上面执行,以及依据所述第一处理器核心和所述第二 处理器核心的任意一个的电流使用水平独立地控制所述第一处理器核 心和所述第二处理器核心的每一个的性能水平。
7、 如权利要求6所述的方法,其中响应于检测所述第一处理器核 心的电流使用水平的降低,所述操作系统通过高于系统最大性能水平 的相应的量以降低所述第一处理器核心的性能水平和增加所述第二处 理器核心的性能水平。
8、 如权利要求6所述的方法,其中响应于检测所述第二处理器核 心的电流使用水平的降低,所述操作系统通过高于系统最大性能水平 的相应的量以降低所述第二处理器核心的性能水平和增加所述第一处 理器核心的性能水平。
9、 如权利要求6所述的方法,其中响应于检测所述第一处理器核 心的电流使用水平降低到最小使用水平以下,所述操作系统将所述第 一处理器核心置于最小功率状态,并且将所述第二处理器核心的性能 水平增加至核心最高性能水平。
10、 如权利要求6所述的方法,其中,当所述第一处理器核心和 所述第二处理器核心都运行时,所述系统的最大性能水平相当于最大 的频率和电压水平,并且其中所述核心最大性能水平相当于能够使所 述第一处理器核心和所述第二处理器核心的每一个运行的最大的频率 和电压水平。
全文摘要
整合在单一集成电路芯片上的处理节点(12)包括第一处理器核心(18A)及第二处理器核心(18B)。该处理节点亦包括在该第一处理器核心及该第二处理器核心中之一者执行的操作系统(13A、13B)。该操作系统可监视该第一处理器核心及该第二处理器核心之电流使用(current utilization)。响应检测到该第一处理器核心操作低于使用临限值,该操作系统可使该第一处理器核心操作在低于系统最大性能水平的性能水平,并可使该第二处理器核心操作在高于该系统最大性能水平的性能水平。
文档编号G06F1/32GK101233475SQ200680028075
公开日2008年7月30日 申请日期2006年7月20日 优先权日2005年8月2日
发明者M·T·克拉克 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1