BR102014003609A2 - Controle dinâmico de uma voltagem operacional máxima para um processador - Google Patents

Controle dinâmico de uma voltagem operacional máxima para um processador Download PDF

Info

Publication number
BR102014003609A2
BR102014003609A2 BRBR102014003609-1A BR102014003609A BR102014003609A2 BR 102014003609 A2 BR102014003609 A2 BR 102014003609A2 BR 102014003609 A BR102014003609 A BR 102014003609A BR 102014003609 A2 BR102014003609 A2 BR 102014003609A2
Authority
BR
Brazil
Prior art keywords
operating voltage
processor
cores
maximum operating
voltage
Prior art date
Application number
BRBR102014003609-1A
Other languages
English (en)
Other versions
BR102014003609B1 (pt
Inventor
Zhiguo Wang
David J Ayers
Srikanth Balasubramanian
Sukirti Gupta
Stefan Rusu
Stephen M Ramey
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of BR102014003609A2 publication Critical patent/BR102014003609A2/pt
Publication of BR102014003609B1 publication Critical patent/BR102014003609B1/pt

Links

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
    • 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
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

'CONTROLE DINÂMICO DE UMA VOLTAGEM OPERACIONAL MÁXIMA PARA UM PROCESSADOR. A presente invenção, em uma modalidade, trata de um processador que inclui lógica de cálculo de voltagem para calcular uma pluralidade de valores de voltagem operacional máximos, cada um associado a um número de núcleos ativos da pluralidade de núcleos, com base pelo menos em parte em uma pluralidade de valores de coeficiente. Desse modo, o processador pode operar em voltagens operacionais máximas diferentes dependendo do número de núcleos ativos. Outras modalidades sâo descritas e reivindicadas.

Description

"CONTROLE DINÂMICO DE DMA VOLTAGEM OPERACIONAL MÁXIMA PARA UM PROCESSADOR" HISTÓRICO [0001] Os avanços em processamento de semicondutores e desenho de lógica permitiram um aumento na quantidade de lógica que pode estar presente em dispositivos de circuito integrado. Como resultado, configurações de sistema de computador evoluíram de um único ou múltiplos circuitos integrados em um sistema pára múltiplos threads de hardware, múltiplos núclecjs, múltiplos dispositivos, e/ou sistemas completos jem circuitos integrados individuais. Adicionalmente, à medida que a densidade de circuitos integrados cresceu, as exigências de energia para sistemas de computação (de sistemas incorporados a servidores) também aumentaram. Além disso, ineficicncias de software, e suas jaxigências de hardware, também causaram um aumento em consumo de energia de dispositivo de computação. Na realidade, alguns estudos indicam que dispositivos de computação consomem uma percentagem dimensionável do fornecimento de eletricidade total para um país, como os Estados Unidos da América. Como resultado, há uma demanda vital para eficiência e conservação de energia associada a circuitos integrados. Essas demandas aumentarão à medida que servidores, computadores de mesa, notebooks, Ultrabooks™, tablets, celulares, processadores, sistemas incorporados, etc., se tornam ainda mais prevalentes (da inclusão no computador típico, automóveis je televisões até biotecnologia). [0002] Para semicondutores tais como processadores, desempenho ou frequência máxima é normalmente limitado por uma energia de projeto térmico (TDP - Thermal Design Power) ou por confiabilidade de óxido da porta. Com processadores de muitinúcleos, frequência ou desempenho máximo tende a ser limitado por energia quando todos os núcleos são ativos, e tende a ser limitado por confiabilidade de óxido da porta com uma operação de núcleo único. Em geral um processador de multinúcleos tem uma voltagem operacional de núcleo fixo, determinado com base em um modelo de uso. A taxa de falha de óxido da porta tende a ser'muito menor do que um alvo de falha de óxido da porta se um consumidor operar o processador somente com um único núcleo ativo. Inversamente, a taxa de falha de óxido da porta tende a ser muito maior do que o alvo de falha de óxido da porta se um cliente operar o processador com todos os núcleos ativos. Desse modo no segundo cenário, uma taxa de falha de óxido da porta excede uma taxa alvo. E no primeiro cenário, o desempenho é perdido visto que a voltagem operacional em um cenário de núcleo único não é otimizada.
BREVE DESCRIÇÃO DÓS DESENHOS [0003] A Figura IA é uma ilustração j gráfica de operação de um processador de acordo com uma modalidade da presente invenção. [0004] A Figura 1B é outra ilustração gráfica de operação de um processador de acordo com uma modalidade da presente invenção. [0005] A Figura 2A é uma ilustração gráfjica associando voltagem operacional máxima com o númeiro de núcleos \ ativos com uma modalidade da presente invenção. [0006] A Figura 2B é uma ilustração gjráfica de uma taxa de falha de óxido da porta alvo por número de núcleos ativos de acordo com uma modalidacke da presente invenção. [0007] A Figura 3 é um diagrama de blocos de uma ! porção de um sistema de acordo com uma jmodalidade da presente invenção. j [0008] A Figura 4 é um diagrama de bloccjs que ilustra uma lógica de controle de voltagem de adordo com uma modalidade da presente invenção.
I [000 9] A Figura 5A é um fluxograma de um método para calcular uma voltagem operacional máxima de acordo com uma modalidade da presente invenção. i t [0010] A Figura 5B é um fluxograma de um método para determinar dinamicamente uma voltagem operacional para um processador de acordo com uma modalidade da presente invenção. [0011] A Figura 6 é um diagrama de blocos de um processador de acordo com uma modalidade da presente invenção. [0012] A Figura 7 é um diagrama de blocos de um processador de multidomínios de acordo com outra modalidade da presente invenção. 1 [0 013] A Figura 8 é um diagrama de blocos de um sistema de acordo com uma modalidade ka presente invenção.
DESCRIÇÃO DETALHADA [0014] Em várias modalidades, uma voltagem operacional máxima para operação de um processaáor ou outro dispositivo semicondutor pode. .ser j dinamicamente programada. Em muitas modalidades, essa voltagem operacional máxima pode ser baseada, jçjelo menos em parte, em um nível de atividade do processádor. Para tal modalidade, a voltagem operacional máxima pode ser determinada com base no número de núcleos: ativos de um processador de muitinúcleos. Modos diferektes de obter essa voltagem operacional podem ocorrer. Por exemplo, um processador pode armazenar um conjunto de valores fixos de voltagem operacional máxima. Ou um controlador de energia tal como uma unidade de controle de energia (PCÚ) de um processador pode determinar jdinamicamente esses valores. Em qualquer evento., com | base nessas informações e restrições de processador e/ou condições de confiabilidade adicionais, essa PCU po<ke determinar uma voltagem operacional calculada {resolved) com base em quantos núcleos são utilizados no momento. Desse modo, um processador pode obter frequência operacional mais elevada e desempenho em baixas contagens de núcleo, e assegurar confiabilidade através de todas as configurações de núcleo. Ao determinar dinamicamente o conjunto de voltagens operacionais máximas, o número de fuses utilizados para calcular a voltagem ótjima pode ser reduzido. [0015] Em contraste, muitos processadores! aplicam uma I voltagem operacional máxima constante (Vmáx) através de todas as configurações de contagem de núcleo. Por exemplo, um produto de 15 núcleos teria o mesmo Vmáx ao operar com todos os 15 núcleos ativos comb faria quando tivesse somente um núcleo ativo. Quando tjal processador está operando com todos os núcleos ativcjs, a voltagem operacional é frequentemente limitada pelo limite de energia térmica e consequentemente não desafia a i confiabilidade da especificação Vmáx.j Entretanto, operações de núcleo único consomem muito minos energia e consequentemente Vmáx se torna o limitador para o desempenho. [0016] As modalidades eliminam a tolerâncbia (headroom) Vmáx disponível em contagens de núcleo mails elevadas, e permitem o uso dessa tolerância em contagens mais baixas de núcleo, desse modo aumentando a voltagem em contagens mais baixas de núcleo, sem afetar o desempenho de contagem elevada de núcleo. As modalidades podem igualar adicionalmente uma taxa de falha (por exemplo, defeitos I por milhão (DPM) ) através de todas as conifigurações de contagem de núcleo ao programar a voltagem operacional i como uma função do número de núcleos ativos. Considere um processador com N núcleos. Um cliente pode escolher operar qualquer número de núcleos a partir de N núcleos. Voltagem operacional de núcleo para cada configuração de núcleo pode ser escolhida de tal modo quje a taxa de falha de óxido da porta entre as| diferentes configurações de núcleo seja igual à taxa de falha alvo, dada pela Equação 1: P(a[ha(V1,T1,1,t)-Pfaiha(V2,T2,2,t)=...=Pfaina(Vm,Tm,m,1)...=Piaiha(Vn,Tn,n,t) = taxa de falha alvo Eq.1 f [0017] Onde Pfalha (Vm, Tm, m, t) é a taxa de falha de óxido da porta no tempo t, na temperatura Tm, na voltagem Vm, quando m núcleos são ativos. ■ [0018] Com referenda agora à Figura ÍA, é mostrada uma ilustração gráfica de operação de um jprocessador de acordo com uma modalidade da presente invenção em que uma taxa de falha é igualada ao longo de todas as configurações de núcleo. Em outras palavras, independemente do número de núcleos ativos (mostrado como todos os núcleos ativos (POn) para um núcleo ativo único (P01)), a taxa de falha mantém em um valor fixo, mostrado com a linha cheia na Figura IA. Por outro lado, utilizando uma voltagem operacional máxima5 fixa, a taxa de falha varia dependendo do nível de désempenho (por exemplo, número de núcleos ativos), mostrajdo com linhas tracejadas na Figura IA. [0019] Como mostrado na Figura 1B, com uma taxa de falha de oxido da porta fixo ao longo de todas as configurações de núcleo de um processador de multinúcleos, uma voltagem operacional máxima é uma função da quantidade total de largura de transistor exposta à voltagem operacional. Em larguras de dispositivo totais mais baixas (valores z mais baixos na Figura 1B), uma voltagem operacional máxima mais elevada é realizada para uma dada provisão de taxa de falha de unidade de mantimento de estoque (SKU - Stock Keeping Unit) , em que uma quantidade menor de uttI tamanho de transistor é exposta à voltagem. j [0020] Utilizando uma modalidade da presente invenção, quando somente um único núcleo (ou um númerjo pequeno de núcleos) de um processador de multinúcleos for ativo, o(s) núcleo (s) pode(m) operar em unia voltagem i operacional mais elevada. Em um exemplo específico, o núcleo pode operar aproximadamente em 30 imilivolts (mV) mais elevado, por exemplo, em 1.03 V em ivez de 1.0 V.
J
Desse modo, uma frequência operacional rríaior pode ser obtida em um modo turbo de operação.j Nesse mesmo exemplo, o único núcleo que opera em um modo turbo pode operar em uma frequência que é um bin maisj elevado (onde em uma modalidade um bin corresponde a jlOO megahertz (MHz)) do que se uma única voltagem operacional máxima fosse especificada para o processador. a|s modalidades também podem permitir que produtos resultantes sejam mais confiáveis à medida que uma taxa de fjalha alvo for atendida em todas as configurações dej núcleo, e, portanto é independente de como um clientel na realidade utiliza o produto. [0021] Com referência agora à Figura 2Â, é mostrada uma ilustração gráfica que associa 1 a voltagem operacional máxima com o número de núcleos|ativos. Como I visto utilizando uma modalidade da presente) invenção uma voltagem operacional máxima variável pode ser obtida dependendo do número de núcleos ativos, como ilustrado na curva 20. Por outro lado, um processadorjconvencional provê uma única voltagem operacionjal máxima, independente do número de núcleos ativos ccjmo ilustrado na curva 25. [0022] Com referência agora à Figura 2B, é mostrada uma ilustração gráfica de uma taxa de falha de óxido da porta alvo por número de núcleos ativos. Utilizando uma modalidade da presente invenção, uma taxa alvo fixa pode ser obtida independentemente do número de núcleos ativos, como visto na curva 30. Por outro, utilizando uma voltagem operacional fixa independentemente do número de núcleos como em um processador! convencional, pode resultar em uma taxa de falha alvo amplamente variável, como visto na curva 35. [0023] Com referência agora à Figura 3, é mostrado um diagrama de blocos de uma porção de um sistema de acordo com uma modalidade da presente invenção. Como mostrado na Figura 3, o sistema 100 pode incluir vários componentes, incluindo um processador 110 que como i mostrado é um processador de multinúcleos. jo processador 110 pode ser acoplado a uma fonte de alimentação 150 através de um regulador de voltagem externo 160, que pode executar uma primeira conversão de voltagem para fornecer uma voltagem regulada primária para o processador 110. [0024] Como visto, o processador 110 jpode ser um soquete de processador de pastilha únijsa incluindo múltiplos núcleos 120a-120n. Adicionalmente 1 cada núcleo pode ser associado a um regulador de.voltagem individual 125a-125n para permitir controle refinado de voltagem e desse modo energia e desempenho de cada núcleo individual. Como tal, cada núcleo pode operar em uma voltagem e frequência independentes, permitindo grande flexibilidade e proporcionando amplas oportunidades para equilibrar consumo de energia com desempenho!. ^ ί [002 5] Ainda com referência à Figura 3, i componentes adicionais podem estar presentes no ! processador \ incluindo uma interface de entrada/saídaj 132, outra interface 134, e um controlador de memória integrada 13 6. Como visto cada um desses componentes pode ser alimentado por outro regulador de voltagem integrado 125x. Em uma modalidade, a interface 13 2 j pode estar de ! acordo com o protocolo Quick Path interconnect (QPI) da Intel®, que provê links ponto a ponto* (PtP) em um protocolo coerente de cache que inclui múljtiplas camadas incluindo uma camada física, uma camada de link e uma camada de protocolo. Por sua vez, a interface 134 pode estar de acordo com uma especificação do Peripheral Component Interconnect Express (PCIe™), p'pr exemplo, a Especificação PCI Express™, versão de Especificação Base 2.0 (publicada em 17 de Janeiro de 2007). [0026] Também é mostrada uma unidade de controle de energia (PCU) 13 8, a qual pode inclulir hardware, software e/ou firmware para executar LperaçÕes de gerenciamento de energia com relação ao projcessador 110. Em várias modalidades, a PCU 13 8 pode irlcluir lógica para controlar dinamicamente uma voltagem operacional máxima e/ou outro parâmetro operacional com base em um número de núcleos ativos de acordo com uma modalidade da presente invenção. Além disso, a PCU 138 pode ser acoplada através de uma interface dedicada -ao regulador de voltagem externo 160. Desse modo, a ijcu 138 pode t instruir o regulador de voltagem a fornecer juma voltagem j regulada solicitada para o processador. [0027] Embora não mostrado para faiilidade de ilustração, entende-se que componentes adickonais podem estar presentes no processador 110, tal como lógica I uncore adicional e outros componentes, | tais como memórias internas, por exemplo, um ou mais njíveis de uma hierarquia de memória cache e assim por diante. Além disso, embora mostrada na implementação dá Figura 3 com um regulador de voltagem integrada, as modalidades não são desse modo limitadas. [0028] Embora as seguintes modalidades sejam descritas i com referência à conservação de energia e eficiência de energia em circuitos integrados específicos, tais como em plataformas dê computação ou processadores, outras modalidades são aplicáveis a outros tipos de circuitos integrados e dispositivos lógicos. Técnicas similares e ensinamentos de modalidades descritos aqui podem ser aplicados a outros tipos de circuitos ou dispositivos semicondutores que também podem se beneficiar de melhor eficiência de energia e conservação de energia. Por exemplo, as modalidades descritas não sãoj limitadas a qualquer tipo específico de sistemas de computador, e : [ também podem ser utilizados em outros dispòsitivos, tal como dispositivos portáteis, sistemas em chip (SoCs), e ! aplicações incorporadas. Alguns exemplos dejdispositivos portáteis incluem telefones celulares, dispositivos de protocolo de Internet, câmeras digitais,| assistentes digitais pessoais (PDAs), e PCs portáteis!. Aplicações incorporadas típicas incluem um microconèrolador, um processador de sinais digitais (DSP), computadores de i. rede (NetPC), set-top boxes, hubs de rede,j comutadores de rede de área remota (WAN) , ou qualquer ojutro sistema que possa executar as funções e operações ensinadas abaixo. Ademais, o equipamento, métodos j e sistemas descritos aqui não são limitados a dispositivos de computação física,. porém também podem sJ referir a otimizações de software para conservação e ejficiência de energia. Como se tornará evidente na desjcrição abaixo, as modalidades de métodos, equipamento e sistemas descritos aqui (quer em referência a hardware, firmware, ' software ou uma combinação dos mesmos) jsão vitais um futuro de 'tecnologia verde', como para èonservação de j ■ energia e eficiência energética em produtos que abrangem uma grande porção da economia norte-americana. [0029] Observe que a voltagem configurável e/ou outro controle de parâmetro operacional descrito aqui pode ser independente de, e complementar a, um mecanismo baseado 1 em sistema operacional (OS), tal como }o padrão de Advanced Configuration and Platform Interface (ACPI) (por exemplo, Rev. 3.0b, publicado em 10 de Outubro de 2 006) . De acordo com o ACPI, um processador pode operar em vários estados ou níveis de desempenho, a saber, de P0 a PN. Em geral, o estado de desempenho Pl pode corresponder ao estado de desempenho gajrantido mais elevado que pode ser solicitado por um OS^. Além desse estado Pl, o OS pode solicitar adicionalmente um estado de desempenho mais elevado, a saber, um estado P0. Esse estado P0 pode ser desse modo um estado oportunista ou de modo turbo no qual, quando a provisão de energia e/ou térmica for disponível, o hardware de proçessador pode configurar o processador ou pelo menos porções do mesmo t para operar em uma frequência mais elevada do que a garantida. Em muitas implementações um processador pode incluir múltiplas frequências denominadas bin acima de uma frequência máxima garantida, também menjcionada como uma frequência Pl, excedendo uma frequência de pico máxima do processador específico, como funàido [fused] ou de outro modo gravado no processador durante a fabricação. Além disso, de acordo comj o ACPI, um processador pode operar em vários estadosj ou níveis de energia. Com relação a estados de enejrgia, o ACPI especifica diferentes estados de consumo de energia, genericamente mencionados como estados-cj CO, Cl até estados Cn. Quando um núcleo está ativo, roda em um estado CO, e guando o núcleo é inativo podé ser colocado em um estado de baixa energia de núcleo, tjambém chamado de um estado-C não zero de núcleo (por exemplo, estados i C1-C6), com cada estado-C estando em um ní^el de consumo de energia mais baixo (de modo que C6 íssteja em um i estado de energia baixa mais profundo do quje Cl, e assim por diante). [0030] Embora o escopo da presente invenção não seja limitado nesse aspecto, em uma modalidade vkrna tabela de consulta de voltagens pode ser fornecida pára armazenar um conjunto de voltagens operacionais máximas, cada uma como função do número de núcleos. Esse í conjunto de voltagens pode ser determinado durante j projeto ou caracterização de um produto e armazenado em um armazenamento não volátil. Entretanto, dadas as contagens de núcleo crescentes e a quantidade de teste para preencher a tabela, em outras mojdal idades o conjunto de valores Vmáx pode ser modelado j com base em uma contagem de núcleo, por exemplo, de acordo com uma equação linear, uma equação polinomial, ou butro ajuste de curva. Em uma modalidade, uma PCU pode calcular esse conjunto dc valores de voltagem operacional máximos de acordo com uma ou mais equações. Tais· equações podem I utilizar um conjunto de valores de coeficiente que são determinados durante caracterização de idispositivo e podem ser armazenadas no processador durante fabricação/teste. [0031] Embora em algumas modalidades umj polinômio de terceira ordem possa ser utilizado para! calcular uma voltagem operacional máxima para um dado número de núcleos ativos, em outras modalidades uma função de primeira ordem pode ser utilizada em vez disso, para reduzir exigências de bit fuse. [0032] Com referência agora à Figura 4, jé mostrado um diagrama de blocos que ilustra uma lógica cje controle de voltagem de acordo com uma modalidade j da presente invenção. Como mostrado na Figura 4, a lógica 2 00 pode I fazer parte de um processador, e mais pajrticularmente pode estar presente em uma lógica de uma PÒU. Em geral, a lógica 200 opera para determinar uma voltagem operacional na qual núcleos ativos do processador podem operar. Mais especificamente, com base em uma variedade de informações diferentes, a lógica 200 pode calcular uma voltagem operacional na forma de uma denominada ID de voltagem (VID) que é um código digital que pode ser fornecido para um ou mais reguladores de voltagem para permitir que um ou mais reguladores de voltjagem gerasse uma voltagem operacional no nível de voltagem apropriado. Em geral, um módulo de regulação] de voltagem i que recebe essa VID converte o valor em úma voltagem ! operacional a ser fornecida para o conjunto !de circuitos acionado pelo regulador de voltagem. Observa-se que embora modalidades descritas aqui permitam que uma voltagem operacional máxima dinamicamente ialterável seja aplicada com base em um número de núcleos, entende-se que outras porções de um processador, j tal como um domínio de agente de sistema ou outro1 conjunto de circuitos de processador podem operar em uma voltagem operacional fixa. Além disso, outro | conjunto de circuitos de processador tal como um domínio de gráficos incluindo um ou mais processadores gráficojs também pode se beneficiar de voltagens operacionais máximas dinamicamente alteráveis como descrito aquij. Desse modo, embora as modalidades descritas aqui! sejam com referência ao controle de voltagem operacional máxima com base em um número de núcleos ativos, uma análise j similar pode ser realizada com base em um número de processadores de gráfico ativo ou outros mecanismos de processamento de um processador de multidomínio. [0033] Como visto na Figura 4, a lógica 200 inclui vários componentes. Primeiramente, um armazenamento não volátil 210 pode incluir uma pluralidade de valores de coeficiente 2120-212n. O armazenamento não volátil 210, em uma modalidade, pode ser um armazenamento baseado em fuse ou outro armazenamento não volátil do processador gravado ou fundido durante a fabricação ida pastilha semicondutora. Em geral, esses valores de coeficiente podem ser utilizados para determinar uma voltagem operacional máxima para um dado número de núcleos ativos ; do processador. Isto é, como descrito aqui ejn vez de uma única voltagem operacional máxima fixa, um |conjunto de \ voltagens operacionais máximas pode ser Jcalculado e utilizado na determinação de uma voltagem operacional real para a quantidade de núcleos altivos durante operação dinâmica. [003 4] Observe que embora valores de coe]ficiente sejam descritos aqui como sendo armazenados no armazenamento não volátil 210, entende-se que o escopo da presente invenção não é limitado nesse aspecto e em outras modalidades, para reduzir despesa de computação (à custa de maiores exigências de armazenamento)' em vez de valores de coeficiente, um conjunto de voltagens operacionais máximas, cada uma associada a um dado número de núcleos ativos, pode ser ajrmazenado no armazenamento não volátil 210. [0035] Na implementação mostrada, o armazenamento não volátil 210 é acoplado a uma lógica de cálculo de voltagem máxima 220. A lógica 220 pode ser configurada para determinar uma voltagem operacional máxima para cada número possível de núcleos ativos, utilizando os valores de coeficiente obtidos de armazjanamento não volátil 210. Em uma modalidade, para cada número possível de lógica de núcleos ativos 220 j)ode executar um cálculo diferente utilizando os valores de coeficiente em uma dada equação, tal como uma dada equação polynomial. Embora o escopo da presente invenção t não seja limitado nesse aspecto, em uma mojdalidade uma equação polinomial de primeira ordem pode sjer utilizada para, pelo menos, alguns dos cálculos |de voltagem operacional máxima, enquanto cálculos polinomiaís de segunda ou terceira ordem possam ser utilizados para outros dos cálculos de voltagem operacional máxima. A lógica 220 pode, desse modo, calcular uma plliralidade de valores de voltagem operacional máxima, cada um dos quais pode ser armazenado em uma entrada [correspondente de uma pluralidade de entradas 2320-232n de uma tabela de consulta 230. Em uma modalidade, a tabela de consulta 230 pode ser implementada em um armazenamento de uma PCU ou outra porção de um processador. [0036] Ainda com referência à Figura 4, durante í: operação normal do processador com base eni um número de núcleos ativos e vários parâmetros operacionais do processador, tais como temperatura, nível jde consumo de energia, ponto de projeto térmico (TDH), ponto de i projeto elétrico (EDP) , bem como outrcjs parâmetros operacionais, uma lógica de determinação dej voltagem 240 pode determinar uma voltagem operacional apropriada na qual os núcleos do processador devem ser [dinamicamente operadas. Em uma modalidade, a lógica 240 i>ode executar uma operaçao mínima de tal modo que a voltagem calculada (resolved) seja um mínimo da voltagem operacional máxima Ϊ. obtida da tabela de consulta 23 0 para o dado numero de ^ I núcleos ativos e outros valores de voltagemícom base nas várias restrições de processador incluindoj TDP, EDP e 1 assim por diante. Essa voltagem determinadà pode estar na forma de um valor VID que, por sua véz, pode ser í . fornecido para um ou mais reguladores de vojltagem, como discutido acima. Embora mostrado nesse nível elevado na modalidade da Figura 4, entende-se que o escopo da presente invenção não é limitado a esse aspecto. Por exemplo, em outra modalidade, a lógica 200 pode em vez disso ser implementada utilizando valores operacionais máximos fundidos, cada um associado a um número diferente de núcleos ativos (que podem sjsr armazenados em armazenamento não volátil 210) e lógica de determinação de voltagem 240, evitando a necessidade em i tal modalidade para lógica de cálculo de võltagem máxima 220 e tabela de consulta 230. Evident^mente, ainda outras implementações são possíveis. [0037] Com referência agora à Figura 5A, é mostrado um fluxograma de um método para calcular uma voltagem operacional máxima de acordo com uma modalidade da I presente invenção. Como mostrado na Figura] 5A, o método 3 00 pode ser executado por lógica de um] processador. Mais especificamente, em uma modalidade p método 300 pode ser executado por lógica de controle dje voltagem de uma PCU. Entretanto, entende-se que em outras modalidades essa lógica pode ser implementada como uma lógica independente ou como parte de outrajporção de um processador. Em geral, o método 300 pode ser utilizado t para calcular um conjunto de valores jde voltagem operacional máxima, que pode ser executado por sequência de reinicialização de um processador (jDor exemplo, durante uma sequência de ligação do processajdor) . [003 8] O método 3 00 pode começar por lerj um conjunto de valores de coeficiente (bloco 310). Em uma modalidade, esses valores de coeficiente] podem ser obtidos a partir de um armazenamento não ivolátil tal como um armazenamento fuse, que são gravadós durante a fabricação. Na modalidade mostrada na Figura 5A, quatro tais valores de coeficiente x0-x3 podem ser lidos. A seguir, no bloco 320 um conjunto de valores de voltagem operacional máxima pode ser calculado e armazenado em um armazenamento. Em uma modalidade, o armazenamento pode ser uma tabela de consulta na PGU q-Je . inclui uma pluralidade de entradas, cada uma associando um número de núcleos ativos com uma voltagem operácional máxima correspondente. Em uma modalidade, um cálculo diferente pode ser feito para cada número de núcleos ativos utilizando o mesmo conjunto de valores de coeficiente. í.
Por exemplo, em uma modalidade para um núcleo ativo, uma í primeira equação polinomial, a saber, x0+jxi+X2+X3, pode ser utilizada para gerar o valor de voltagem operacional máxima correspondente. Para dois núcleos ativos uma equação polinomial diferente, a saber, ^0+2χι+4χ2+8χ3 , pode ser utilizada. Finalmente, para N núcleos ativos, ainda outra equação polinomial, a saber, χ0|(-χ1η+Χ2η2+Χ3η3, pode ser utilizada para determinar o valor de voltagem operacional máxima. Observe que essa's operações realizadas no bloco 310 e 32 0 podem ser realizadas uma única vez para um evento de ligação de um processador. [0039] Com referência agora à Figura 5B, e mostrado um i fluxograma de um método para determinar dinamicamente uma voltagem operacional para um processador de acordo com uma modalidade da presente invenção. Em uma modalidade, o método 350 pode ser realizadl^ por lógica de controle de voltagem de uma PCU. Comjo visto, no losango 360 pode ser determinado se uma j contagem de núcleo mudou. Em uma modalidade, tal alteração em contagem de núcleo pode ocorrer quando o |software de sistema (tal como um OS, firmware, VMM ou mesmo aplicativo) faz solicitações de uma PCU para ter núcleos entrando em estados de atividade diferentes. Se for determinado que a contagem de núcleo sej|a alterada, o controle passa para o bloco 370 onde j uma voltagem operacional máxima apropriada (Vmáx) pode sèr determinada com base no número de núcleos ativos. Isjto é, durante í operação normal, o processador po^de rastrear continuamente o número de núcleos ativosj e acessar o limite Vmáx correspondente a partir dia tabela de consulta. Em uma modalidade, com base íio número de ] I núcleos ativos, a tabela de consulta pode ser acessada e o valor de voltagem operacional máxima correspondente pode ser obtido. Em uma modalidade, esse valor de voltagem operacional máxima obtida pode sèr armazenado em um armazenamento de configuração tial como um registradcr de configuração da PCU. [0040] A seguir, o controle passa para o bloco 380 onde um valor de voltagem operacional rèal pode ser determinado com base, pelo menos em parte, nesse valor de voltagem operacional máxima. Mais espècificamente, uma VID pode ser determinada com base em várias condições de confiabilidade do processador, que podem fazer com que uma voltagem operacional sejá determinada que seja mais baixa do que a voltagem operacional máxima disponível. Os exemplos de confiabilidade de condições ou restrições incluem TDP, EDP, corrente de projeto térmico (ICCmáx) e temperatura de processador. Embora mostrado nesse nivel elevado na modalidade dja Figura 5B, é entendido que o escopo da presente invenção não é limitado nesse aspecto. [0041] Utilizando uma modalidade da presente invenção, desgaste dependente de modelo de uso em excesso pode ser reduzido. Por outro lado, um esquema convencional requer que certas assunções sejam feitas no modelo de uso, particularmente na quantidade de tempo quei o processador gasta nos estados-P, tais como Pi, PO, Pn, etc. essas ! condições de tempo em uso sao frequentemente mediadas com base nas estatísticas passadas e condições de uso específicas que não se conformam a essa assunção baseada em média, que pode causar desgaste além dojespecificado. As modalidades permitem assim Vmáx mais elevado e correspondente thread único mais elevado/desempenho de ! contagem de núcleo baixo sem aumentar os DPM de óxido da porta. [0042] As modalidades podem ser implementadas em processadores para vários mercados} incluindo i processadores de servidor, processadoras de mesa, l processadores móveis e assim por diante. cjpm referência agora à Figura 6, é mostrado um diagrama dejblocos de um processador de acordo com uma modalidade da presente invenção. Como mostrado na Figura 6, o processador 400 í pode ser um processador de multinúcleos incluindo uma pluralidade de núcleos 410a - 410n. Em umá modalidade, p cada tal núcleo pode ser de um domínioj de energia independente e pode ser configurado para entrar e sair de estados ativos e/ou modos turbo com base| em carga de trabalho. Os vários núcleos podem ser acoplados através de uma interconexão 415 a um agente de sistema ou uncore 420 que inclui vários componentes. Como visito, o uncore 420 pode incluir um cache compartilhado 430 íque pode ser \ um cache de último nível. Além disso, o !uncore pode incluir um controlador de memória integrada 440, várias interfaces 450 e uma unidade de controle dè energia 455. ■ , í [0043] Em várias modalidades, a unidade de controle de energia 455 pode incluir uma lógica de controle de voltagem 459 de acordo com uma modalidadjs da presente invenção. Como descrito acima, essa lógicajé configurada para determinar um conjunto de valoresj operacionais máximos e para limitar dinamicamente juma voltagem operacional efetiva (dependendo de um númejro de núcleos ativos) em um valor calculado que pode ser jmais baixo do t que um valor de voltagem operacijonal máximo correspondente para o número ativo de núclejos. [0044] Com referência adicional à Fiigura 6, o processador 40 0 pode se comunicar com umja memória do sistema 460, por exemplo, através de um barramento de memória. Além disso, a conexão pode ser| feita pelas í interfaces 450 com vários componentes fora do chip, tais como dispositivos periféricos, armazenamento em massa e assim por diante. Embora mostrado coin essa implementação específica na modalidade da Figura 6, ò escopo da presente invenção não é limitado nesse aspecto. [0045] Com referência agora à Figura 7, é mostrado um diagrama de blocos de um processador de mulkidominios de acordo com outra modalidade da presente invenção. Como mostrado na modalidade da Figura 7, o processador 500 inclui múltiplos domínios. Especificamente,! um domínio de núcleo 510 pode incluir uma pluralidade de núcleos 5100-510n, um domínio de gráficos 520 pode incluir um ou mais mecanismos de gráfico, e um domínio de agente de i sistema 550 pode estar adicionalmente presente. Em algumas modalidades, o domínio de agente de sistema 550 pode executar em uma frequência independente do que o domínio de núcleo e pode permanecer alimentado durante todo tempo para lidar com eventos de controle de energia I e gerenciamento de energia de tal modo quê domínios 510 i e 520 possam ser controlados para entrar dinamicamente e I sair de estados de energia elevada e energia baixa. Cada um dos domínios 510 e 520 pode operar em Ivoltagem e/ou t energia diferente. Observe que embora somjente mostrado I com três domínios, é entendido que o escopjo da presente invenção não é limitado nesse aspecto} e domínios adicionais podem estar presentes em outrasj modalidades. Por exemplo, múltiplos domínios de núcleoj podem estar presentes cada um incluindo pelo menos um núcleo. 1 [0046] Em geral, cada núcleo 510 pode incluir ainda caches de nível baixo além de várias |unidades de execução e elementos de processamento adijcionais. Por t sua vez, os vários núcleos podem ser acoplados entre si e a uma memória cache compartilhada forjnada de uma pluralidade de unidades de um cache de ultimo nível (LLC) 5400-540n. Em várias modalidades, LLC |540 pode ser compartilhado entre os núcleos e o mjecanismo de I gráficos, bem como vários conjuntos de circuitos de processamento de mídia. Com visto, uma interconexão em \ anel 530 acopla desse modo, os núcleos em conjunto, e 1 provê interconexão entre os núcleos, domínio! de gráficos i 520 e conjunto de circuitos de agente de sistema 550. Em ! uma modalidade, a interconexão 53 0 pode sèr parte do j domínio de núcleo. Entretanto, em outras modalidades, a interconexão em anel pode ser de seu próprio (domínio. [0047] Como visto adicionalmente, o domínio de agente de sistema 550 pode incluir controlador dè tela 552 que pode fornecer controle de, e uma interface para, uma i tela associada. Como visto adicionalmente,! o domínio de r agente de sistema 550 pode incluir uma unidade de controle de energia 555 que pode incluir lima lógica de controle de voltagem 559 de acordo com uma modalidade da j presente invenção para permitir controle dinâmico configurável de voltagem operacional jmáxima como descrito aqui. Em várias modalidades, essa lógica pode ser configurada como na Figura 4 e podei executar os algoritmos descritos acima nas Figuras 5A ej5B. i· \ [0048] Como visto adicionalmente na Figura 7, o j processador 500 pode incluir ainda um còntrolador de memória integrada (IMC) 57 0 que pode Ifornecer uma interface para uma memória de sistema, tal como uma memória de acesso aleatório dinâmica (DRAM) . Múltiplas interfaces 5800-580n podem estar presentes para permitir i interconexão entre o processador e outro J conjunto de circuitos. Por exemplo, em uma modalidade pelo menos uma ! interface de mídia direta (DMI) pode ser fórnecida, bem como uma ou mais interfaces do Peripheral Component Interconnect Express (PCI Express™ {PCIis™)) · Ainda adicionalmente, para fornecer comunicações |entre outros I agentes como processadores adicionais ou outro conjunto de circuitos, uma ou mais interfaces de acordo com um protocolo Quick Path Interconnect (QPI) da ikitel® também podem ser fornecidas. Embora mostrado nesse nível elevado na modalidade da Figura 7, é entendido que o escopo da presente invenção não é limitado nesse aspecto. [0049] As modalidades podem ser implementadas em | muitos tipos de sistemas diferentes. Com referência agora à Figura 8, é mostrado um diagrama d<p blocos de um sistema de acordo com uma modalidade j da presente í invenção. Como mostrado na Figura 8, ò sistema de multiprocessador 600 é um sistema de injterconexão de ponto a ponto, e inclui um primeiro processador 670 e um segundo processador 680 acoplado atrajvés de uma interconexão de ponto a ponto 650. Comoj mostrado na Figura 6, cada um dos processadores 670 e j 680 pode ser processadores de multinúcleo, incluindo! primeiro e , , i segundo núcleos de processador (isto e,j núcleos de processador 674a e 674b e núcleos de processador 684a e 684b) , embora potencialmente muito mais núcleos possam I estar presentes nos processadores. Cada um dos processadores pode incluir uma PCU ou outrã lógica para executar controle de voltagem operacional dinâmica, como descrito aqui. [0050] Ainda com referência à Figura 8,| o primeiro processador 670 inclui ainda um hub de cohtrolador de memória (MCH) 672 e interfaces de ponto ajponto (P-P) 676 e 678. Similarmente, o segundo processador 680 inclui um MCH 682 e interfaces P-P 686 ê 688. Como i mostrado na Figura 6, MCH's 672 e 682 ! acoplam os t processadores a memórias respectivas, a j saber, uma 1 memória 632 e uma memória 634, que podem sei: porções da i memória do sistema (por exemplo, DRAM) f localmente j ligadas aos respectivos processadores. Í0 primeiro processador 670 e o segundo processador 680 podem ser acoplados a um chipset 690 através de intjerconexões p-p t 662 e 664, respectivamente. Como mostrado na Figura 8, o chipset 690 inclui interfaces P-P 694 e 698. [0051] Além disso, o chipset 690 inclui uma interface 692 para acoplar o chipset 690 a um mecanismo de gráficos de alto desempenho 638, por umá interconexão P-P 639. Por sua vez, o chipset 690 pode ser acoplado a i um primeiro barramento 616 através de uma interface 696. t Como mostrado na Figura 8, vários dispositivos de entrada/saída (I/O) 614 podem ser acopladofe ao primeiro barramento 616, juntamente com uma ponte jde barramento 618 que acopla o primeiro barramento 616 a um segundo barramento 620. Vários dispositivos podem óer acoplados ao segundo barramento 620 incluindo, por exemplo, um teclado/mouse 622, dispositivos de comunicarão 626 e uma unidade de armazenamento de dados 62 8 tal como uma l unidade de disco ou outro dispositivo de armazenamento em massa que pode incluir o código 63 0, em uma modalidade. Além disso, um I/O de áudio ¢524 pode ser acoplado ao segundo barramento 620. As modalidades podem ser incorporadas em outros tipos de sistemlas incluindo 1 dispositivos móveis tal como um telefbne celular inteligente, computador tablet, netbook, uitrabook™, e assim por diante. [0052] Os seguintes exemplos se referem af modalidades adicionais. Em um exemplo, um processador còmpreende um \ domínio de núcleo incluindo uma pluralidade de núcleos cada um para executar instruções, um armazenamento não volátil para armazenar uma pluralidade de valores de coeficiente, e lógica de cálculo de jvoltagem para calcular uma pluralidade de valores de voltagem operacional máxima, cada um associado a um número de núcleos ativos da pluralidade de núcleos, com base, pelo menos em parte, na pluralidade de valores de coeficiente. [0053] Em um exemplo, um controlador de energia é para determinar uma voltagem operacional para o número de núcleos ativos com base no valor de voltagem operacional máxima correspondente e pelo menos uma restrição de processador. [0054] Em um exemplo, a pluralidade de valores de f coeficiente é obtida durante a inicialização do processador. [0055] Em um exemplo, o controlador de energia é para determinar a voltagem operacional com base no número de núcleos ativos da pluralidade de núcleos,j e evitar a l· execução de um primeiro núcleo em um valorí de voltagem í operacional maxima associado ao numero de núcleos ativos com base, pelo menos, em uma restrição de processador. [0056] Em um exemplo, a lógica de cálculcj de voltagem é para executar uma primeira operação! polynomial utilizando os valores de coeficiente para calcular um primeiro valor de voltagem operacional máxima para um primeiro número de núcleos ativos. [0057] Em um exemplo, a lógica de cálculoj de voltagem ] é para executar· uma segunda operação' polynomial utilizando os valores de coeficiente para calcular um segundo valor de voltagem operacional máxjlma para um segundo número de núcleos ativos. [0058] Em um exemplo, a lógica de cálculo de voltagem é para armazenar o primeiro valor de voltagem operacional máxima em uma primeira entrada de uma tabela de consulta e armazenar o segundo valor de voltagem operacional máxima em uma segunda entrada da tabela de consulta. [0059] Em um exemplo, o processador compreende ainda i um controlador de energia para acessar? a primeira entrada quando o primeiro número de núcleos ativos estiver ativo e para determinar uma voltagém operacional para o primeiro número de núcleos ativos cbm base, pelo menos em parte, no primeiro valor de voltagem operacional máxima. [0060] Observe que o processador acima pode ser implementado utilizando vários meios. [0061] Em um exemplo, o processador compreende um sistema em um chip (SoC) incorporado em um dispositivo Ϊ habilitado por toque de equipamento de usuápio. [0062] Em outro exemplo, uma mídia legível por máquina tendo armazenado na mesma instruções, que se executadas por uma máquina fazem com que a máquina| execute um : método compreendendo determinar uma voltagem operacional máxima para um processador baseado em um número de núcleos ativos do processador, responsiivo a uma • i alteração no número de núcleos ativos, e Computar uma voltagem operacional calculada para o processador baseado na voltagem operacional máxima e pelo menos uma restrição do processador. [0063] Em um exemplo, o método compreende ainda v acessar uma tabela com base no número de núcleos ativos e obter a voltagem operacional máxima a partir da tabela. [0064] Em um exemplo, o método compreende ainda computar a voltagem operacional calculada como sendo a voltagem operacional máxima guando não há restrições no processador. [0065] Em um exemplo, . o método compreende adicionalmente ler um conjunto de valores de coeficiente a partir de um armazenamento não volátil do processador. [0066] Em um exemplo, o método compreende adicionalmente calcular um conjunto de valores de voltagem operacional máxima utilizando o conjunto de valores de coeficiente, cada um do conjunto de valores de voltagem operacional máxima calculados de acordo com uma eguação diferente utilizando o conjuntio de valores de coeficiente, e armazenar o conjunto dè valores de voltagem operacional máxima em uma tabela. [0067] Em um exemplo, o método compreende ainda acessar a tabela com base no número de núclJeos ativos e j obter a voltagem operacional máxima a partirj da tabela. [0068] Em um exemplo, o método compreende ainda permitir que um único núcleo do processador lopere em uma primeira voltagem operacional, e posteriorménte permitir que uma pluralidade de núcleos do processacãor opere em uma segunda voltagem operacional, a primeira voltagem operacional maior do que a segunda voltagem operacional. [0069] Em um exemplo, um equipamentoj compreende I dispositivos para executar o méto.do como descrito acima. t [0070] Em outro exemplo, um sistema colmpreende um processador de multinúcleos incluindo uma pluralidade de núcleos, um armazenamento para armazenar uma pluralidade de valores de voltagem operacional máximá, cada um da pluralidade de valores de voltagem operacional máxima é uma função de um número de. núcleos ativos, e uma lógica de controle de voltagem para controlar dinamicamente uma voltagem operacional a ser um valor correspondente dos valores de voltagem operacional máxima ouj um valor de voltagem de corte (clip), o valor de voltagem de corte 1 - com base, pelo menos, em uma de uma pluralidade de restrições de processador, e uma memória de acesso aleatório dinâmica {DRAM) acoplada ao processador de multinúcleos. [0071] Em um exemplo, a lógica de cálculo de voltagem I é para calcular a pluralidade de valores! de voltagem operacional máxima com base, pelo menos em parte, em uma pluralidade de valores de coeficiente. [0072] Em um exemplo, a lógica de cálculo» de voltagem é para executar uma primeira operacional polinomial utilizando a pluralidade de valores de coeficiente para í, calcular um primeiro valor de voltagem j operacional i máxima para um primeiro número de núcleos ativos, e para executar uma segunda operação polinomial útilizando a l pluralidade de valores de coeficiente para r calcular um segundo valor de voltagem operacional máxiima para um segundo número de núcleos ativos. [0073] Em um exemplo, a lógica de controle! de voltagem é para permitir que um núcleo único da pluralidade de núcleos opere em uma primeira voltagem operacional e permita que dois ou mais da pluralidade de núcleos opere em uma segunda voltagem operacional, a primeira voltagem operacional maior do que a segunda voltagem operacional. i- [0074] Em um exemplo, o armazenamento ’compreende um armazenamento não volátil. [007b] Em um exemplo, uma mídia legível por computador V. incluindo instruções para executar o método de quaisquer dos exemplos acima. [0076] Em outro exemplo, um processador [compreende um £ domínio cj núcleo incluindo uma pluralidade de núcleos cada um para executar instruções, um armazenamento não volátil para armazenar uma pluralidade dje valores de coeficiente, e dispositivo de cálculo de voltagem para calcular uma pluralidade de valores ;de voltagem | operacional máxima, cada um associado a um número de núcleos ativos da pluralidade de núcleos, com base, pelo | menos em parte na pluralidade de valores de·coeficiente. [0077] Em um exemplo, um meio de controle,de energia é para determinar uma voltagem operacional p|ara o número de núcleos ativos com base no valor de voltagem operacional máxima correspondente e pelò menos uma restrição de processador. [0078] Em um exemplo, a pluralidade dei valores de coeficiente é obtida durante iniciájlização do processador, [0079] Em um exemplo, o dispositivo de controle de energia é para determinar a voltagem de operação com í base no número de núcleos ativos da pluralidade de r i ^ núcleos, e evitar a execução de um primeiro núcleo em um * valor de voltagem operacional maxima associajdo ao numero de núcleos ativos com base, pelo menos, em; uma restrição de processador. [0080] Em um exemplo, o dispositivo de cálculo de V voltagem é para executar uma ' primeíira operação polinomial utilizando os valores de coeficiente para calcular um primeiro valor de voltagem operacional máxima para um primeiro número de núcleos aitivos . ! [0081] Em um exemplo, o dispositivo dje cálculo de voltagem é para executar uma segunda operarão polinomial utilizando os valores de coeficiente para calcular um segundo valor de voltagem operacional máxima para um segundo número de núcleos ativos. [0082] Em um exemplo, o dispositivo dè cálculo de voltagem é para armazenar o primeiro valor de voltagem operacional máxima em uma primeira entrada cie uma tabela de consulta e armazenar o segundo valor 5e voltagem operacional máxima em uma segunda entrada !da tabela de consulta. [0083] Em um exemplo, o processador. compreende adicionalmente um dispositivo de controle) de energia f para acessar a primeira entrada quando o primeiro número de núcleos ativos estiver ativo e detjerminar uma voltagem operacional para o primeiro número de núcleos ativos com base, pelo menos em parte, no prjimeiro valor de voltagem operacional máxima. [0084] Em outro exemplo, um sistema corÈvpreende uma tela e uma memória, e inclui o processador dje um ou mais dos exemplos acima. [0085] Em outro exemplo, um método compreende \ determinar uma voltagem operacional máxima para um processador baseado em um número de núcleos ativos do processador, responsivo a uma alteração . no número de núcleos ativos, e computar uma voltagem de operação calculada para o processador com base na voltagem operacional máxima e pelo menos uma restrição do processador. [0086] Em um exemplo, o método compreende computar a voltagem operacional calculada para serj a voltagem operacional máxima quando não há rèstrições no processador. [0087] Em um exemplo, o método compreendej ainda ler um conjunto de valores de coeficiente a partir de um armazenamento não volátil do processador, calcular um conjunto de valores de voltagem operacional máxima utilizando o conjunto de valores de coeficiente, cada um do conjunto de valores de voltagem operaçional máxima calculados de acordo com uma equação diferente utilizando o conjunto de valores de coeficiente, e armazenar o conjunto de valores de voltagem operacional máxima em uma tabela. [0088] Em um exemplo, o método compreende permitir que um único núcleo do processador opere em uma primeira voltagem operacional, e posteriormente permitir que uma 1 pluralidade de núcleos do processador opiere em uma I segunda voltagem operacional, a primeira voltagem operacional maior do que a segunda voltagem Operacional. [0089] Em outro exemplo, uma mídia legível por computador incluindo instruções para executár o método de qualquer dos exemplos acima. [0090] Em outro exemplo, um equipamento compreende dispositivo para executar o método de quklquer um dos exemplos acima. [0091] Modalidades podem ser utilizadas em muitos tipos diferentes de sistemas. Por exemplo, em uma I- modalidade um dispositivo de comunicação pode ser I disposto para executar os vários métodos e técnicas descritas aqui. Evidentemente, o escopo da presente invenção não é limitado a um dispositivo de; comunicação, e em vez disso outras modalidades podem ser dirigidas a outros tipos de equipamento para processar instruções, ou uma ou mais mídias legíveis por máquina incluindo instruções que em resposta a serem execútadas em um dispositivo de computação, fazem com que o dispositivo realize um ou mais dos métodos e técnic-as descritas aqui. [0092] As modalidades podem ser implementadas em código e podem ser armazenadas em uma mídia de armazenamento não transitória tendo armazenado na mesma instruções que podem ser utilizadas para programar um ;· sistema para executar as instruções. Â mídia de armazenamento pode incluir, porém não é limitada a, qualquer tipo de disco incluindo disco^ flexíveis, discos ópticos, unidades de estado solado (SSDs), f memórias somente de leitura de disco compacto (CD-ROMs), discos compactos regraváveis (CD-RWs), e disleos magneto-ópticos, dispositivos semicondutores, tais cbmo memórias somente de leitura (ROMs), memórias de acesso aleatório (RAMs), tais como memórias de acesso aleatório dinâmicas (DRAMs), memórias de acesso aleatório estátiòas (SRAMs), memórias somente de leitura programávéis apagáveis (EPROMs), memórias flash, memórias somente de leitura eletricamente apagáveis programávéis (EEPROMs), cartões magnéticos ou ópticos, ou qualquer outro tipo de mídia ΐ apropriada para armazenar instruções eletrônicas. [0093] Embora a presente invenção tenha jsido descrita com relação a um número limitado de modalidades, aqueles versados na técnica apreciarão inúmeras mpdificações e variações a partir daí. Pretende-se que as T reivindicações anexas cubram todas essas modificações e variações como recaindo no verdadeiro espírito e escopo da presente invenção.

Claims (20)

1. Processador caracterizado por compreender: um domínio de núcleo incluindo uma pluralidade de núcleos, cada um pára executar instruções; um armazenamento não -volátil para armazenar uma plural idade de valores de coeficiente; e lógica de cálculo de voltagem para calcular uma pluralidade de valores de voltagem operacional máxima, cada um associado a jum número de núcleos ativos da pluralidade de núcleos, com base, pelo menos em parte, na pluralidade de valores de coeficiente.
2. Processador, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente um controlador de;energia para determinar uma voltagem operacional para 'o número de núcleos ativos com base no valor de voltagem operacional máxima correspondente e, pelo menos, uma Irestrição de processador.
3. Processador, de acordo com a reivindicação 2, caracterizado pelo fatcj de que a pluralidade de valores de coeficiente é obitida durante inicialização do processador.
4. Processador, de acordò com a reivindicação 2, caracterizado pelo fato; de que o controlador de energia é para determinar a voltagem operacional com base no número de núcleos ativos da pluralidade de núcleos, e evitar que um primeiro núcleo execute em um valor de voltagem operacional máxima associado ao número de núcleos ativos com base em, pelo menos, uma restrição de processador.
5. Processador, de acordo com a reivindicação 1, caracterizado pelo fato dè que a lógica de cálculo de voltagem é para executar uma primeira operação polinomial utilizando os valores de coeficiente para calcular um primeiro valor de voltagém operacional máxima para um primeiro número de núcleos ativos.
6. Processador, de acordo com a reivindicação 5, caracterizado pelo fato de; que a lógica de cálculo de voltagem é para executar uma segunda operação polinomial utilizando os valores dje coeficiente para calcular um segundo valor de voltagem operacional máxima para um segundo número de núcleos ativos.
7. Processador, de acordo com a reivindicação 6, caracterizado pelo fato de que a lógica de cálculo de voltagem é para armazenar o primeiro valor * de voltagem operacional máxima em uma primeira entrada de uma tabela de consulta e armazenar o segúndo valor de voltagem operacional máxima em uma segundqi entrada da tabela de consulta.
8. Processador, de acordo com a í reivindicação 7, caracterizado pelo fato de que compreende adicionalmente um controlador de íenergia para acessar a primeira entrada quando o primeiro número de núcleos ativos estiver ativo e para detjerminar uma voltagem operacional para o primeiro numerei de núcleos ativos com base, pelo menos em parte, no primeiro valor de voltagem operacional máxima.
9. Mídia legível por mjáquina tendo armazenado na mesma instruções, que se executadas por uma máquina fazem com que a máquina execute um método caracterizado por compreender: determinar uma voltagem operacional máxima para um processador baseado em um número de núcleos ativos do processador, respoiisivo a uma alteração no número de núcleos ativos; e computar uma voltagem operacional calculada para o processador baseado na voltagem operacional máxima e, pelo menos, uma irestrição do processador.
10. Mídia legível por máquiria, de acordo i com a reivindicação 9, caracterizado pelo fato de que o método compreende adicionalmente acessar uma tabela com base no número de núcleos ativos e obter a voltagem operacional máxima a partir da tabela.
11. Mídia legível por máquina, de acordo com a reivindicação 10, caracterizado pelo fato de que o ί· método compreende adicionalmente computar' a voltagem operacional calculada como sendo a voltagem; operacional máxima quando não há restrições no processador.
12. Mídia legível por máquina, de acordo com a reivindicação 9, caracterizado pelo fâto de que o método compreende adicionalmente: ler um conjunto de valores de coeficiente a partir de um armazenamento não volátil do processador.
13. Mídia legível por máquina;, de acordo com a reivindicação 12, caracterizado pelo fâto de que o método compreende adicionalmente: calcular um conjunto de^ valores de í voltagem operacional máxima utilizando ó conjunto de valores de coeficiente, cada um do conjunto de valores de voltagem operacional máxima calculados ‘de acordo com uma equação diferente utilizando o conjunto de valores de coeficiente; e armazenar o conjunto de valores de voltagem operacional máxima em uma tabela.
14. Mídia legível por máquina, de acordo com a reivindicação 13, caracterizado pelo jfato de que o i método compreende adicionalmente acessar a tabela com base no número de núcleos ativos e obteír a voltagem operacional máxima a partir da tabela.
15. Mídia legível por máquina, de acordo com a reivindicação 9, caracterizado pelo fato de que o método compreende adicionalmente permitir que um único núcleo do processador opere em uma primeira voltagem operacional, e posteriormente permitit que uma pluralidade de núcleos do processador opere em uma ! segunda voltagem operacional, a primeira voltagem operacional sendo maior do que a segunda voltagem operacional.
16. Sistema caracterizado por compreender: um processador de muitinúcleòs incluindo uma pluralidade de núcleos, um armazenamento para armazenar uma pluralidade de valores de voltagem operacional máxima, cada uma da pluralidade de valores de voltagem operacional máxima é uma função de um número de núcleos ativos, e uma lógica de controle;de voltagem para controlar dinamicamente uma voltagem operacional a ser um valor correspondente dos valores de voltagem operacional máxima ou um valor de voltagem de corte, o valor de voltagem de corte com base, pelo menos, em uma de uma pluralidade de restrições de processador; e uma memória de acesso aleatjório dinâmica (DRAM) acoplada ao processador de muitinúcleos.
17. Sistema, de acordò com a reivindicação 16, caracterizado pelo fato de que compreende adicionalmente lógica de cálculo de voltagem para calcular a pluralidade de valores1 de voltagem operacional máxima com base, pelo menos em ;parte, em .uma pluralidade de valores de coeficiente.
18. Sistema, de acordg com a reivindicação 17, caracterizado pelo fato de que. a lógica de cálculo de voltagem é para iexecutar uma primeira operacional polinomial utilizando a pluralidade de valores de coeficiente para calcular um primeiro valor de voltagem operacional máxima para! um primeiro número de núcleos ativos, e para executar uma segunda operação polinomial utilizando a pluralidade de valores de coeficiente para calcular um segundo valor de voltagem operacional máxima para um seguneLo número de núcleos ativos.
19. Sistema, de acordo com a reivindicação 16, caracterizado pelo fató de que a lógica de controle de voltagem é para permitir que um núcleo único da pluralidade de núcleos opere em uma primeira voltagem operacional e permita que dois ou mais da pluralidade de núcleos opere em uma segunda voltagem operacional, a primeira voltagem operacional sendo maior do que a segunda voltagem operacional.
20. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que o ' armazenamento compreende um armazenamento não volátil.
BR102014003609-1A 2013-02-15 2014-02-17 Controle dinâmico de uma voltagem operacional máxima para um processador BR102014003609B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/768,633 US9335803B2 (en) 2013-02-15 2013-02-15 Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US13/768,633 2013-02-15

Publications (2)

Publication Number Publication Date
BR102014003609A2 true BR102014003609A2 (pt) 2015-01-27
BR102014003609B1 BR102014003609B1 (pt) 2022-03-22

Family

ID=50287739

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102014003609-1A BR102014003609B1 (pt) 2013-02-15 2014-02-17 Controle dinâmico de uma voltagem operacional máxima para um processador

Country Status (7)

Country Link
US (1) US9335803B2 (pt)
JP (1) JP5756538B2 (pt)
KR (1) KR101593952B1 (pt)
CN (1) CN103995577B (pt)
BR (1) BR102014003609B1 (pt)
DE (1) DE102014001914B4 (pt)
GB (1) GB2511628B (pt)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US20150145334A1 (en) * 2013-11-25 2015-05-28 Marvell World Trade Ltd. Systems and Methods for Dynamic Voltage Control
US9665161B2 (en) * 2014-08-27 2017-05-30 Mediatek Inc. Method and computer-readable medium for dynamically managing power of multi-core processor
US10528117B2 (en) 2014-12-22 2020-01-07 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
WO2016185599A1 (ja) * 2015-05-21 2016-11-24 株式会社日立製作所 計算機システム及び計算機
US9990024B2 (en) 2015-09-09 2018-06-05 Qualcomm Incorporated Circuits and methods providing voltage adjustment as processor cores become active based on an observed number of ring oscillator clock ticks
US10200271B2 (en) * 2016-04-12 2019-02-05 International Business Machines Corporation Building and testing composite virtual services using debug automation
US10775859B2 (en) * 2016-09-23 2020-09-15 Hewlett Packard Enterprise Development Lp Assignment of core identifier
US10310548B2 (en) 2016-11-07 2019-06-04 Microsoft Technology Licensing, Llc Expected lifetime management
KR20180055143A (ko) 2016-11-16 2018-05-25 삼성전자주식회사 시스템 온 칩, 이를 포함하는 장치 및 이의 구동 방법
US10064141B2 (en) * 2016-12-09 2018-08-28 Qualcomm Incorporated Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
CN107193229B (zh) * 2017-04-06 2021-02-19 联想(北京)有限公司 一种控制方法及电子设备
US11543878B2 (en) * 2018-05-01 2023-01-03 Intel Corporation Power control arbitration
TWI806141B (zh) * 2021-08-30 2023-06-21 瑞昱半導體股份有限公司 處理器電路以及電腦可讀媒體

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5522087A (en) 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US7539885B2 (en) 2000-01-13 2009-05-26 Broadcom Corporation Method and apparatus for adaptive CPU power management
US7010708B2 (en) 2002-05-15 2006-03-07 Broadcom Corporation Method and apparatus for adaptive CPU power management
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
KR100361340B1 (ko) 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6792392B1 (en) 2000-06-30 2004-09-14 Intel Corporation Method and apparatus for configuring and collecting performance counter data
US6748546B1 (en) 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6996728B2 (en) 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
US7051227B2 (en) 2002-09-30 2006-05-23 Intel Corporation Method and apparatus for reducing clock frequency during low workload periods
US6898689B2 (en) 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
JP2006518064A (ja) 2003-01-23 2006-08-03 ユニバーシティー オブ ロチェスター マルチクロックドメインを有するマイクロプロセッサ
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7249268B2 (en) 2004-06-29 2007-07-24 Intel Corporation Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US9001801B2 (en) 2004-09-07 2015-04-07 Broadcom Corporation Method and system for low power mode management for complex Bluetooth devices
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7426648B2 (en) 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8041967B2 (en) 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US8301868B2 (en) 2005-09-23 2012-10-30 Intel Corporation System to profile and optimize user software in a managed run-time environment
US20070079294A1 (en) 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7725747B2 (en) * 2006-03-29 2010-05-25 Intel Corporation Methods and apparatus to perform power management in processor systems
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7636864B2 (en) * 2006-05-03 2009-12-22 Intel Corporation Mechanism for adaptively adjusting a direct current loadline in a multi-core processor
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
WO2008117133A1 (en) 2007-03-26 2008-10-02 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
JP5067425B2 (ja) * 2007-09-21 2012-11-07 富士通株式会社 翻訳装置と翻訳方法および翻訳プログラムとプロセッサコアの制御方法およびプロセッサ
US8949635B2 (en) * 2007-09-28 2015-02-03 Intel Corporation Integrated circuit performance improvement across a range of operating conditions and physical constraints
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US7966506B2 (en) 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US8442697B2 (en) 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US20110213998A1 (en) * 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
US8549339B2 (en) 2010-02-26 2013-10-01 Empire Technology Development Llc Processor core communication in multi-core processor
US8495395B2 (en) 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US9600059B2 (en) * 2010-09-20 2017-03-21 Apple Inc. Facilitating power management in a multi-core processor
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8949637B2 (en) 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead

Also Published As

Publication number Publication date
US20140237267A1 (en) 2014-08-21
GB2511628B (en) 2016-09-14
CN103995577B (zh) 2017-07-18
BR102014003609B1 (pt) 2022-03-22
US9335803B2 (en) 2016-05-10
KR20140103074A (ko) 2014-08-25
JP5756538B2 (ja) 2015-07-29
KR101593952B1 (ko) 2016-02-15
GB2511628A (en) 2014-09-10
JP2014157601A (ja) 2014-08-28
GB201401502D0 (en) 2014-03-12
DE102014001914A1 (de) 2014-08-21
DE102014001914B4 (de) 2017-07-27
CN103995577A (zh) 2014-08-20

Similar Documents

Publication Publication Date Title
BR102014003609A2 (pt) Controle dinâmico de uma voltagem operacional máxima para um processador
US9671854B2 (en) Controlling configurable peak performance limits of a processor
US9297559B2 (en) Adaptive thermoelectric cooling in a processor
US8949635B2 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
KR101698877B1 (ko) 총 플랫폼 전력 제어
US10963028B2 (en) System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9563254B2 (en) System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US10037214B2 (en) Determining power capping policies for a computer device
US9335813B2 (en) Method and system for run-time reallocation of leakage current and dynamic power supply current
US20200348973A1 (en) Performance monitoring and resource management
BR102014008299B1 (pt) Gerenciamento de energia independente de plataforma
US9857809B2 (en) Fuzzy logic control of thermoelectric cooling in a processor
TW201710892A (zh) 基於確定性電流的處理器晶片頻率最佳化
Gough et al. CPU power management
US20090271649A1 (en) Voltage regulator phase shedding
US20210191490A1 (en) Balancing power between discrete components in a compute node
US10049957B2 (en) On-chip control of thermal cycling
US20210151083A1 (en) Power control of a memory device in connected standby state
US20210407553A1 (en) Method and apparatus for improved memory module supply current surge response

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 17/02/2014, OBSERVADAS AS CONDICOES LEGAIS.