CN101427218A - 用于预测处理器组件挂起的系统及其方法 - Google Patents

用于预测处理器组件挂起的系统及其方法 Download PDF

Info

Publication number
CN101427218A
CN101427218A CNA2006800106584A CN200680010658A CN101427218A CN 101427218 A CN101427218 A CN 101427218A CN A2006800106584 A CNA2006800106584 A CN A2006800106584A CN 200680010658 A CN200680010658 A CN 200680010658A CN 101427218 A CN101427218 A CN 101427218A
Authority
CN
China
Prior art keywords
instruction
assembly
hang
processor
duration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006800106584A
Other languages
English (en)
Inventor
D·G·小菲克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101427218A publication Critical patent/CN101427218A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Abstract

一种指令周期是由储存于高速缓存中的指令所决定(502),其中该指令周期代表预期将要由处理装置执行的存在于该高速缓存中的序列指令。估计该指令周期的持续时间(duration),并且非预期用于该指令周期期间的处理装置的一个或多个组件可被挂起达一部份或全部的该持续时间(506)。举例来说,可藉由时钟闸控(clock gating)或将该组件从一个或多个电源域(power domain)隔离出来而挂起该组件(508)。

Description

用于预测处理器组件挂起的系统及其方法
技术领域
本发明是有关于处理装置的省电设计(power saving),尤指悬置处理装置的特定组件。
背景技术
由于在管线之不同组件同时处理多个指令之能力,管线处理(pipelined processing)通常提供改进的效能。使用分支预测(branchprediction)技术可进一步提升效能,藉此处理装置之分支预测单元预测是否选取即将来到的流程改变(change of flow,COF)指令所呈现的分支。若预测将要选取该分支,则可将分支后的指令预加载至该处理装置之指令高速缓存中,并且该指令亦可在解析(resolve)COF指令前被全部或部份地执行。然而,如果发生错误预测,通常管线会被注满(flushed)且会抛弃任何与错误预测有关联的指令之执行的结果。因此,错误预测经常造成处理器相当大的电力消耗以及未有效利用的处理周期。
无论处理器之分支预测的有效性如何,将会了解,管线处理装置提取(fetch)及执行指令可不包含或需要使用该处理装置之一个或多个组件。用以说明,代表整数运算之指令的执行通常不需要使用处理装置的浮点单元(floating point unit,FPU)。因此,即使即将来到的指令串流(stream)不需要使用某些组件,该处理装置在维持某些组件于致能状态的同时经常不必要地消耗电力。因此,一种降低处理装置的电力消耗以及降低与错误预测的分支有关联之损失的系统与方法将是有益的。
发明内容
图1至5说明用于动态挂起处理器组件的例示的系统与技术以便降低处理装置的电力消耗。在至少一个实施例中,指令周期是从储存于高速缓存中的指令决定,其中指令周期表示预测将要由处理装置所执行的存在于高速缓存中的序列指令。估计指令周期的持续时间,而可将非预期在指令周期期间使用的处理装置的一个或多个组件挂起达一部份或全部的该持续时间。举例来说,可藉由时钟闸控(clock gating)或藉由从一个或多个电源域(power domain)隔离该组件来挂起该组件。
附图说明
本发明之目的及优点从以下结合附加图标之详细说明对在此技术领域具有通常知识者将会是显而易见的,其中类似的组件符号系用来表示类似的组件,并且其中:
图1是说明根据本发明之至少一个实施例之例示的处理系统之方块图;
图2是说明根据本发明之至少一个实施例之第1图之例示处理系统之例示挂起控制器的方块图;以及
图3、4及5是说明根据本发明之至少一个实施例之用于动态挂起处理装置之组件之例示方法的流程图。
具体实施方式
现参考图1,说明根据本发明之至少一实施例之例示的处理系统100。该处理系统100包括如处理器102之处理装置,该处理装置耦合至一个或多个周边组件,例如主总线接口单元104、存储器控制器(MC)106、以及系统存储器108。该处理器102包括指令管线(instructionpipeline)110,该指令管线110具有如指令高速缓存112、预取模块114、译码模块116、地址计算模块118、以及执行模块120。该执行模块120可包括如整数单元122、浮点单元(FPU)124、多媒体延伸(MMX)单元126等。该处理器102可进一步包括挂起控制器130、译码高速缓存132、二阶(L2)高速缓存134、以及作为该处理器102之组件与周边组件间之接口的总线控制器(BC)136。
根据分支预测信息或其它预取信息,该预取模块114自指令高速缓存112或自系统存储器108撷取被识别的指令,并且提供该指令至译码模块116。在一个实施例中,该译码模块116将该预取指令部份地或完全地译码并且储存该指令在译码高速缓存132及/或L2高速缓存134中。然后可将译码高速缓存132中的指令及/或直接从该指令高速缓存112撷取的指令提供至地址计算模块118以及执行模块120以根据程序流程(program flow)而执行。
如参考图2以更详细的方式讨论,在一个实施例中,该译码模块116决定与由预取模块114所提供之指令相关联的某些程序流程特征,并且提供这些程序流程特征之表示至译码高速缓存132以与对应译码指令储存。该程序流程特征可包括(但非限制于):流程改变之特征(亦即,该指令是否可能造成分支);预期将要用来执行该指令之那些处理器组件或预期将要由于该指令之执行而使用之那些处理器组件的指示,而若该指令系COF指令则为分支预测特征,例如不论是否该分支预测将要被选取;在补充(complement)该预测前,预期将要选取该指令的次数;以及在实现该补充预测(complement prediction)之前,已正确解析该给定的COF指令的次数。
根据译码高速缓存132中的指令以及相关联的程序流程特征,在一个实施例中,挂起控制器130可在预期将要要求不存在于该译码高速缓存132中的指令之前估计持续时间。该挂起控制器130可识别在该估计之持续时间期间预期未使用到的处理器102之那些组件,然后将一个或多个被识别的组件挂起达一部份或全部的该持续时间,以便减少在该持续时间期间处理器102所消耗的电力。同样地,该挂起控制器130可识别在该持续时间期间预期未使用到的一个或多个周边组件,而将一个或多个这些周边组件挂起达一些或全部的该持续时间期间。如以下所讨论者,当决定是否挂起特定的组件时,可考虑牵涉关闭与重新启动处理器组件或周边组件之额外的电力消耗。
在至少一实施例中,藉由关闭对应的电源域来使一个或多个处理器组件从其对应电源域隔离出来以挂起一个或多个处理器组件。用以说明,预取模块114可与电源域140相关联,整数单元122可与电源域142相关联,FPU 124可与电源域144相关联,MMX单元126可与电源域146相关联,L2高速缓存134可与电源域148相关联,以及系统存储器108可与电源域150相关联。挂起控制器130因而可例如藉由提供宣告(asserted)挂起讯号至组件114、122、124、126、134与电源域140至148之电源供应线之间所插入的一个或多个开关单元160至168而断开一个或多个组件114、122、124、126、134与该对应的电源域140至148的连接。同样地,可供给停止宣告(deasserted)讯号以重新连接组件至对应的电源域。用以说明,响应预期MMX单元126将不使用达特定的指令周期的决定,该挂起控制器130可提供宣告挂起讯号至开关单元166以断开MMX单元126与电源域146之连接。当指令周期结束(come to conclusion)时,该挂起控制器130可提供停止宣告挂起讯号至该开关单元166以重新连接该MMX单元126至电源域146。同样地,响应预期该系统存储器108将不使用的决定,该挂起控制器130可经由例如BC136、MBIU 104以及MC 106而提供宣告讯号至开关单元170以断开该系统存储器108与电源域150之连接。该开关单元160至170可包含任何各种适合的开关机制,举例来说,例如晶体管。
虽然,为了容易说明起见,图1说明电源域与处理器组件之间的一对一的对应关系,但将会了解,多个组件可与一个电源域相关联及/或多个电源域可与一个组件相关联。在预期所有与特定的电源域相关联的组件在特定的指令周期期间将不被使用的这些例子中,该组件可藉由将电源域从其电源隔离开来而被挂起。另一种方式,在不脱离本发明之精神或范畴下,藉由使用其它技术(例如时钟闸控),可挂起处理器组件及周边组件。
兹参考图2,其系说明根据本发明之至少一个实施例之译码模块116、译码高速缓存132以及挂起控制器130之例示的实施方式。在一个实施例中,该译码模块116利用程序流程基准表格202以决定与该指令模块116储存于译码高速缓存132中之指令相关联的程序流程基准。在该例示的实例中,该表格202包括多个项目(entry),用于与处理器102兼容之该指令类型之至少一子集。各项目可具有前置码/操作码(prefix/opcode)字段204以识别特定的指令类型以及一个或多个字段以指示是否对应的处理器或周边组件在具有该对应的指令类型之指令的执行期间或由于具有该对应的指令类型之指令的执行结果而预期将要被使用。举例来说,字段可能包括存储器字段206、整数字段208、FPU字段210、以及MMX字段212以指示是否预期具有特定指令类型之指令分别使用系统存储器108、整数单元、FPU124或MMX单元126。除此之外,各项目可包括COF字段213以指示是否该指令类型系可能的COF指令。
一旦接收来自于预取模块114的指令,译码模块116译码该指令至适当的程度,并且使用识别符(identifier)(例如该指令之操作码或前置码)以识别在表格202中之该对应的指令类型项目。使用该表格202之项目之字段值,该译码模块116以至少部份被译码的指令(储存于字段214中)及适当的程序流程信息增加于译码高速缓存132之项目。该译码高速缓存132之程序流程字段可包括:线性指令指针(linearinstruction pointer,LIP)字段216以提供索引;COF字段218以指示是否该指令系COF指令以及字段218至226以指示是否预期该指令分别使用该系统存储器108、整数单元124、FPU 124或MMX单元126。该译码高速缓存132之项目可进一步包括:预测字段228以指示是否预测将要选取该COF指令;预测计数字段230以指示在补充预测前,预测将要选取COF指令的次数;预测索引字段232以指示在实现该补充预测之前,该执行模块120已正确解析该COF指令的次数;以及目标字段234以指示COF指令的目标。藉由使用来自于表格202之信息以及由与如预取模块114相关联之分支预测逻辑所提供的分支预测信息,该译码模块116可对这些字段的每一个字段决定适当的值。
在一个实施例中,挂起控制器130分析译码高速缓存132以识别一个或多个指令周期,各指令周期代表存在于译码高速缓存132中之一序列指令,该序列指令预期将要由执行模块120依次执行,其中指令周期之中断包括对于不存在于译码高速缓存132之指令的要求。请注意,若该译码高速缓存132包括在该译码高速缓存132内形成循环(loop)之指令,该序列指令可包括一个或多个指令之多个出现。藉由使用第2图之实例来说明,在LIP1开始之例示的指令周期会包括{LIP1,2,3,4,5,6,7,2,3,4,5,6,7,2,3,4,5,6,7,8,9,10}。将会了解,在LIP 2至7之序列指令系重复三次,乃由于:在COF字段218中与在预测字段228中的值”1”表示在LIP 7的指令为COF指令并且预测将要被选取;在目标字段234中的值”2”表示该指令将分支至在LIP 2之指令;以及在预测计数字段230中之值”2”表示该分支至在LIP 2之指令将重复两次。
在识别预期的指令周期后,若处理器102的确实际执行如在指令周期中所预测的指令,则该挂起控制器可决定预期将要花费之处理时间的持续时间。在一个实施例中,该持续时间系基于时钟周期而决定。藉由使用如每一指令的时钟周期之平均数,挂起控制器130可达成用于指令周期之时钟周期之总数。用以说明,如每一指令预定平均2.4个时钟周期,该挂起模块130可决定具有一序列30个指令之指令周期会花费72个时钟周期(亦即,2.4个时钟周期/指令X30个指令)。另一方面,该挂起控制器130能决定由处理器102所使用的时钟周期数以根据其指令类型执行指令周期之各指令以达成用于该指令周期之时钟周期之总数。
藉由使用如对应于指令周期中的指令之译码高速缓存132之项目的字段220至226,挂起控制器130可识别预期在指令周期之执行期间将不被使用的那些组件。用以说明,于字段220与224中,在LIP 2之指令具有”1”的值,其表示系统存储器108与FPU 124系用来执行指令,然而以上所提供之例示的指令周期中无任何指令在字段222或226中具有”1”的值,其表示整数单元122或MMX单元126均不预期将要在例示的指令周期之指令执行期间被使用。根据指令周期之预期的持续时间及预期在指令周期的执行期间不被使用的组件,藉由提供如宣告挂起讯号至适当的开关单元(第1图),该挂起控制器130可挂起适当的处理器组件以及周边组件。
兹参考图3,说明根据本发明之至少一个实施例之例示的方法300以识别与挂起处理器及周边组件。该方法300开始于步骤302,其中决定在译码高速缓存132中被识别的指令周期的持续时间。如以上所注意到的,该持续时间可由预期将要被使用于指令周期之序列指令的执行期间之时钟周期数来表示。
在步骤304中,挂起控制器130识别一个或多个可被挂起达部份或全部的预测持续时间之一个或多个组件。然而,将会了解,可能有电力与时钟周期浪费在关机与随后重新启动某些组件。举例来说,在开机时某些组件可能需要初始化,而开机时可能需要数十个、数百个或数千个时钟周期及多于可忽略的电力。于是,在步骤306中,该挂起控制器130在考虑到挂起特定组件之电力与时间成本之情形下做出对挂起特定组件是否有省电优势的决定。此评估可将当挂起该组件所节省的电力与关机并且随后重新启动该组件所消耗的电力列入考量。举例来说,若预期指令周期将为100个时钟周期长,并且特定组件能以每一周期省电0.001毫瓦特(mW)(或对该指令周期总共省电0.1mW)而关闭达那些周期中之90个时钟周期(假设重新初始化期间为10个周期),若该关机电力成本接近或超过0.1mW,则该挂起控制器130可选择放弃挂起该组件。
在另一实施例中,根据预期持续时间与一个或多个临界值的比较,可决定挂起组件的相对值。举例来说,若该持续时间小于于某一临界值(例如,100个时钟周期),则该挂起控制器可选择放弃挂起该组件。另一种方式为,根据所预测的比较值与一个或多个临界值的比较,可决定该挂起控制器130所使用的挂起操作的类型。用以说明,若该持续时间小于第一临界值(例如,50个时钟周期),则不进行挂起操作。若该持续时间大于该第一临界值但小于第二临界值(例如,200个时钟周期),则可进行时钟闸控挂起操作。若该持续时间大于该第二临界值,则可进行将组件从其电源域隔离出来之挂起操作。藉由具有多阶式的挂起操作,该省电/关机成本平衡可根据其预测的持续时间修改适合特定的指令周期。将会了解,可将临界值设定成有关于将要被挂起之该处理装置之特定组件。举例来说,若将要挂起简单的组件(例如多任务器或加法器),则时钟闸控临界值可设定为相当低(例如,几个时钟周期),然而挂起较复杂的组件(例如将要挂起FPU),则该时钟闸控临界值可设定为相当高(例如,数百或数千个时钟周期)。
若判定挂起组件达至少一部份的持续时间系有利的,则在步骤308中,挂起控制器130挂起该组件达持续时间之识别部份。在该持续时间之识别部份的执行结束时,该挂起控制器130重新初始化及/或重新启动该组件,除非该组件被识别为对下一指令周期是不需要的,其中该挂起控制器可维持该组件于挂起状态。若多个组件被识别为可挂起的,该挂起控制器130可在步骤310中对各被识别的组件重复步骤306与308。
现参考图4,其说明例示的方法400。方法400在步骤402开始,其中接受到多个指令。在步骤404中,识别在来自该多个指令之一序列指令的执行期间预期未使用到的处理器之一个或多个组件。在步骤406中,在由该处理器执行至少一部份之该序列指令的期间挂起一个或多个被识别的组件。
现参考图5,其说明例示的方法500。方法500在步骤502开始,其中多个译码指令系储存于高速缓存中。于步骤504中,识别在来自该多个指令之一序列指令之执行期间预期未使用到的处理器之一个或多个组件。于步骤506中,在要求由处理器执行不在该序列指令中的指令之前估计持续时间。于步骤508中,根据所估计的持续时间,在至少一部份该序列指令的执行期间,挂起该处理器之一个或多个被识别的组件之至少一个组件。
以上所揭露本发明之内容仅视为例示性的,而非限制性的,且所附加的权利要求书是为了涵盖所有的此种修改、功能增强,以及落于本发明之真实精神与范畴内之其它实施例。因此,在法律允许之最大程度下,本发明之范畴可由以下的权利要求书及其相等物之最广泛可允许的诠释来决定,而不应由前述详细的说明所局限或限制。

Claims (10)

1.一种方法,包含下列步骤:
接收多个指令;
识别在多个指令中的一序列指令的执行期间,预期未使用到的处理器的一个或多个组件;以及
在该处理器执行至少一部份的该序列指令的期间,挂起该处理器的该一个或多个被识别的组件的至少一个组件。
2.如权利要求1所述的方法,其中,挂起该至少一个组件包括将该至少一个组件从一个或多个电源域隔离出来。
3.如权利要求1所述的方法,其中,挂起该至少一个组件包括时钟闸控该至少一个组件。
4.如权利要求1所述的方法,其中,挂起该至少一个组件包括根据重新启动该至少一个组件预期消耗的电量而决定是否挂起该至少一个组件。
5.一种处理器,包括:
多个组件;
用于储存多个指令的储存装置;
用于识别在该处理器执行该多个指令的一序列指令的期间预期未使用到的该多个组件的一个或多个组件的装置;以及
用于在该处理器执行至少一部份的该序列指令的期间挂起该一个多个被识别的组件的至少一个组件的装置。
6.如权利要求5所述的处理器,其中,用于挂起该至少一个组件的该装置包括用于将该至少一个组件从一个或多个电源域隔离出来的装置。
7.如权利要求5所述的处理器,还包含用于处理器要求执行不包含在该序列指令内的指令之前决定持续时间的装置。
8.如权利要求7所述的处理器,其中,用于挂起该至少一个组件的该装置包括用于当该持续时间大于第一临界值时时钟闸控该至少一个组件的装置。
9.如权利要求7所述的处理器,其中,用于挂起该至少一个组件的装置包括用于当该持续时间大于第二临界值时将该至少一个组件从一个或多个电源域隔离出来的装置,其中,该第二临界值大于该第一临界值。
10.如权利要求7所述的处理器,其中,用于挂起该至少一个组件的装置包括用于当该持续时间大于第一临界值时将该至少一个组件从一个或多个电源域隔离出来的装置。
CNA2006800106584A 2005-04-04 2006-03-21 用于预测处理器组件挂起的系统及其方法 Pending CN101427218A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/098,321 US7441136B2 (en) 2005-04-04 2005-04-04 System for predictive processor component suspension and method thereof
US11/098,321 2005-04-04

Publications (1)

Publication Number Publication Date
CN101427218A true CN101427218A (zh) 2009-05-06

Family

ID=36695060

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800106584A Pending CN101427218A (zh) 2005-04-04 2006-03-21 用于预测处理器组件挂起的系统及其方法

Country Status (8)

Country Link
US (1) US7441136B2 (zh)
JP (1) JP2009501961A (zh)
KR (1) KR20070116857A (zh)
CN (1) CN101427218A (zh)
DE (1) DE112006000824T5 (zh)
GB (1) GB2440849B (zh)
TW (1) TWI401564B (zh)
WO (1) WO2006107589A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793559A (zh) * 2014-01-20 2015-07-22 Dmg森精机株式会社 考虑省电的nc程序产生装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806284B1 (ko) * 2005-12-08 2008-02-22 한국전자통신연구원 동적 전압 스케일링을 적용한 고효율 프로세서
JP5247037B2 (ja) * 2007-01-26 2013-07-24 キヤノン株式会社 半導体集積回路及びその制御方法
US8103562B2 (en) * 2007-04-03 2012-01-24 Sony Computer Entertainment America Llc System and method for processor cycle accounting and valuation
US8020017B2 (en) * 2008-08-15 2011-09-13 Freescale Semiconductor, Inc. Management of power domains in an integrated circuit
KR101197591B1 (ko) * 2008-12-22 2012-11-08 한국전자통신연구원 저전력 프로세서
JP5674611B2 (ja) * 2011-09-22 2015-02-25 株式会社東芝 制御システム、制御方法およびプログラム
WO2013147289A1 (en) * 2012-03-29 2013-10-03 Semiconductor Energy Laboratory Co., Ltd. Processor and electronic device
US8954775B2 (en) * 2012-06-20 2015-02-10 Intel Corporation Power gating functional units of a processor
US20140157017A1 (en) * 2012-12-05 2014-06-05 Qualcomm Incorporated Power management of communication devices
US10223123B1 (en) * 2016-04-20 2019-03-05 Apple Inc. Methods for partially saving a branch predictor state
US9977680B2 (en) * 2016-09-30 2018-05-22 International Business Machines Corporation Clock-gating for multicycle instructions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666537A (en) * 1994-08-12 1997-09-09 Intel Corporation Power down scheme for idle processor components
US6012125A (en) * 1997-06-20 2000-01-04 Advanced Micro Devices, Inc. Superscalar microprocessor including a decoded instruction cache configured to receive partially decoded instructions
US6457120B1 (en) * 1999-11-01 2002-09-24 International Business Machines Corporation Processor and method including a cache having confirmation bits for improving address predictable branch instruction target predictions
ATE366958T1 (de) * 2000-01-14 2007-08-15 Texas Instruments France Mikroprozessor mit ermässigtem stromverbrauch
US7849463B2 (en) * 2000-06-02 2010-12-07 Microsoft Corporation Dynamically variable idle time thread scheduling
US6839828B2 (en) * 2001-08-14 2005-01-04 International Business Machines Corporation SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode
US6816977B2 (en) * 2001-12-03 2004-11-09 Hewlett-Packard Development Company, L.P. Power reduction in computing devices using micro-sleep intervals
US6795781B2 (en) * 2002-06-27 2004-09-21 Intel Corporation Method and apparatus for compiler assisted power management
US7143243B2 (en) * 2003-05-29 2006-11-28 Via-Cyrix, Inc. Tag array access reduction in a cache memory
US7281144B2 (en) * 2004-02-17 2007-10-09 Intel Corporation Power management in communication devices
US20060074497A1 (en) * 2004-09-29 2006-04-06 Pollin Robert E Methods, systems, and articles of manufacture for providing a timing apparatus with an almanac memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793559A (zh) * 2014-01-20 2015-07-22 Dmg森精机株式会社 考虑省电的nc程序产生装置
CN104793559B (zh) * 2014-01-20 2019-11-26 Dmg森精机株式会社 考虑省电的nc程序产生装置

Also Published As

Publication number Publication date
WO2006107589A2 (en) 2006-10-12
WO2006107589A3 (en) 2007-02-08
US7441136B2 (en) 2008-10-21
GB2440849B (en) 2008-10-29
TW200702979A (en) 2007-01-16
KR20070116857A (ko) 2007-12-11
DE112006000824T5 (de) 2008-02-07
JP2009501961A (ja) 2009-01-22
GB2440849A (en) 2008-02-13
GB0718783D0 (en) 2007-11-07
US20060225046A1 (en) 2006-10-05
TWI401564B (zh) 2013-07-11

Similar Documents

Publication Publication Date Title
CN101427218A (zh) 用于预测处理器组件挂起的系统及其方法
US9244689B2 (en) Energy-focused compiler-assisted branch prediction
KR100234648B1 (ko) 프로세서내 인스트럭션 실행 방법 및 시스템과 데이타 처리 시스템
CN101876890B (zh) 管线式微处理器及其执行两种条件分支指令的方法
US9361111B2 (en) Tracking speculative execution of instructions for a register renaming data store
US10013255B2 (en) Hardware-based run-time mitigation of conditional branches
US6223280B1 (en) Method and circuit for preloading prediction circuits in microprocessors
CN103488464A (zh) 微处理器以及微处理器操作方法
US6961847B2 (en) Method and apparatus for controlling execution of speculations in a processor based on monitoring power consumption
JPH10111800A (ja) 分岐解決方法、プロセッサ、及びシステム
CN105745619A (zh) 对在执行机制之间切换的控制
CN105468336A (zh) 用以改善在处理器中重新执行加载的装置与方法
JP2005504390A (ja) ジャバハードウェアアクセラレータ用の投機的実行
CN105573721A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105573714A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105573720A (zh) 用以改善在处理器中重新执行加载的装置与方法
US5913050A (en) Method and apparatus for providing address-size backward compatibility in a processor using segmented memory
CN105487842A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105528194A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105487901A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105511837A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105511916A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105511841A (zh) 用以改善在处理器中重新执行加载的装置与方法
CN105573786A (zh) 用以改善在处理器中重新执行加载的装置与方法
WO2017072615A1 (en) Hardware-based run-time mitigation of conditional branches

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES INC.

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100730

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA STATE, USA TO: CAYMAN ISLANDS GRAND CAYMAN ISLAND

TA01 Transfer of patent application right

Effective date of registration: 20100730

Address after: Grand Cayman, Cayman Islands

Applicant after: Globalfoundries Semiconductor Inc.

Address before: American California

Applicant before: Advanced Micro Devices Inc.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090506