BR112012014160B1 - Método para controlar relógios de núcleo em uma unidade de processamento central multinúcleo, dispositivo sem fio e memória legível por computador - Google Patents

Método para controlar relógios de núcleo em uma unidade de processamento central multinúcleo, dispositivo sem fio e memória legível por computador Download PDF

Info

Publication number
BR112012014160B1
BR112012014160B1 BR112012014160-0A BR112012014160A BR112012014160B1 BR 112012014160 B1 BR112012014160 B1 BR 112012014160B1 BR 112012014160 A BR112012014160 A BR 112012014160A BR 112012014160 B1 BR112012014160 B1 BR 112012014160B1
Authority
BR
Brazil
Prior art keywords
core
number zero
algorithm
dcvs
clock
Prior art date
Application number
BR112012014160-0A
Other languages
English (en)
Other versions
BR112012014160A2 (pt
Inventor
Bohuslav Rychlik
Ali Iranli
Brian J. Salsbery
Sumit Sur
Steven S. Thomson
Robert A. Glenn
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112012014160A2 publication Critical patent/BR112012014160A2/pt
Publication of BR112012014160B1 publication Critical patent/BR112012014160B1/pt

Links

Images

Classifications

    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • 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
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • 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)
  • Power Sources (AREA)

Abstract

SISTEMA E MÉTODO PARA CONTROLAR ASSÍNCRONA E INDEPENDENTEMENTE RELÓGIOS NÚCLEO EM UMA UNIDADE DE PROCESSAMENTO CENTRAL MULTINÚCLEO. Um método para controlar os relógios núcleo em uma unidade de processamento central multinúcleo é divulgado e pode incluir a execução de um relógio dinâmico número zero e algoritmo de dimensionamento de tensão (DCVS) sobre um núcleo número zero e executar um primeiro algoritmo de DCVS em um primeiro núcleo. O algoritmo de DCVS número zero pode ser operável para controlar independentemente uma frequência de relógio número zero associado com o núcleo número zero, e o primeiro algoritmo de DCVS pode ser operável para controlar independentemente uma primeira frequência de relógio associada com o primeiro núcleo.

Description

PEDIDOS RELACIONADOS
[0001] O presente pedido reivindica prioridade para pedido de patente provisório n° de série 61/286,967, intitulado “SYSTEM AND METHOD OF ASYNCHRONOUSLY AND INDEPENDENTLY CONTROLLING CORE CLOCKS IN A MULTICORE CENTRAL PROCESSING UNIT”, depositado em 16 de dezembro de 2009, cujo conteúdo está totalmente incorporado por referência.
DESCRIÇÃO DA TÉCNICA RELACIONADA
[0002] Dispositivos de computação portáteis (PDS) são abundantes. Esses dispositivos podem incluir telefones celulares, assistentes digitais portáteis (PDAs), consoles de jogos portáteis, computadores de bolso e outros dispositivos eletrônicos portáteis. Além da função primária destes dispositivos, muitos incluem funções periféricas. Por exemplo, um telefone celular pode incluir a função principal de fazer chamadas de telefone celular e as funções periféricas de uma câmera fotográfica, uma câmera de vídeo, sistema de posicionamento global (GPS) de navegação, navegação na web, enviar e receber e-mails, envio e recebimento de mensagens de texto, capacidades aperte para falar, etc. Conforme a funcionalidade de um tal dispositivo aumenta, a potência de computação ou processamento necessária para suportar tal funcionalidade também aumenta. Além disso, conforme a potência de computação aumenta, existe uma maior necessidade de gerenciar eficazmente o processador, ou processadores, que provê a potência de computação.
[0003] Por conseguinte, o que é necessário é um método melhorado de controlar potência dentro de uma CPU multinúcleo.
BREVE DESCRIÇÃO DOS DESENHOS
[0004] Nas figuras, números de referência semelhantes referem-se a partes semelhantes ao longo das várias vistas, a menos que indicado em contrário.
[0005] A figura 1 é uma vista em plano frontal de um primeiro aspecto de um dispositivo de computação portátil (PCD) em uma posição fechada;
[0006] A figura 2 é uma vista em plano frontal do primeiro aspecto de um PCD em uma posição aberta;
[0007] A figura 3 é um diagrama de blocos de um segundo aspecto de um PCD;
[0008] A figura 4 é um diagrama de blocos de um sistema de processamento;
[0009] A figura 5 é um fluxograma que ilustra um primeiro aspecto de um método de assíncrona e independentemente controlar os relógios de núcleo em um dispositivo multinúcleo, e
[0010] A figura 6 é um fluxograma que ilustra um segundo aspecto de um método para controlar assíncrona e independentemente relógios de núcleo em um dispositivo multinúcleo
DESCRIÇÃO DETALHADA
[0011] A palavra "exemplar" é aqui utilizada para significar "servir como um exemplo, caso ou ilustração". Qualquer aspecto aqui descrito como "exemplar" não deve necessariamente ser interpretado como preferido ou vantajoso sobre outros aspectos.
[0012] Nesta descrição, o termo "aplicativo" pode também incluir arquivos com conteúdo executável, tais como: código de objeto, scripts, código de byte, arquivos de linguagem de marcação, e percursos. Além disso, um "aplicativo" aqui referido, também pode incluir arquivos que não são executáveis em natureza, tais como documentos que precisam ser abertos ou outros arquivos de dados que precisam ser acessados.
[0013] O termo "conteúdo"pode também incluir arquivos com conteúdo executável, tais como: código de objeto, scripts, código de byte, arquivos de linguagem de marcação, e percursos. Além disso, "conteúdo"aqui referido, também pode incluir arquivos que não são executáveis em natureza, tais como documentos que podem precisar de ser abertos ou outros arquivos de dados que precisam ser acessados.
[0014] Como usado nesta descrição, os termos "componente", "banco de dados", "módulo", “sistema” e similares são destinados para se referir a uma entidade relacionada a computador, tanto hardware, firmware, uma combinação de hardware e software, software, ou software em execução. Por exemplo, um componente pode ser, mas não está limitado a ser, um processo em execução em um processador, um processador, um objeto, um executável, uma sequência de execução, um programa, e/ou um computador. A título de ilustração, tanto um aplicativo sendo executado em um dispositivo de computação quanto o dispositivo de computação pode ser um componente. Um ou mais componentes podem residir dentro de um processo e/ou sequência de execução, e um componente pode ser localizado em um computador e/ou distribuído entre dois ou mais computadores. Além disso, estes componentes podem executar a partir de vários meios legíveis por computador tendo várias estruturas de dados armazenadas nos mesmos. Os componentes podem se comunicar por meio de processos locais e/ou remotos, tais como de acordo com um sinal tendo um ou mais pacotes de dados (por exemplo, os dados a partir de um componente que interage com um outro componente de um sistema local, sistema distribuído, e/ou através de uma rede tal como a Internet com outros sistemas por meio do sinal).
[0015] Referindo inicialmente à figura 1 e à figura 2, um dispositivo de computação exemplar portátil (PCD) é mostrado e é geralmente designado 100. Como mostrado, o PCD 100 pode incluir uma carcaça 102. A carcaça 102 pode incluir uma porção de carcaça superior 104 e uma porção de carcaça inferior 106. A figura 1 mostra que a porção de carcaça superior 104 pode incluir um display 108. Em um aspecto particular, o display 108 pode ser um display sensível ao toque. A porção de carcaça superior 104 pode também incluir um dispositivo de entrada de trackball 110. Além disso, como mostrado na figura 1, a porção de carcaça superiores 104 pode incluir um botão de ligar 112 e um botão de desligar 114. Como mostrado na figura 1, a porção de carcaça superior 104 do PCD 100 pode incluir uma pluralidade de luzes indicadoras 116 e um altofalante 118. Cada luz indicadora 116 pode ser um diodo emissor de luz (LED).
[0016] Em um aspecto particular, como representado na figura 2, a porção de carcaça superior 104 é móvel em relação à porção de carcaça inferior 106. Especificamente, a porção de carcaça superior 104 pode ser deslizável em relação à porção de carcaça inferior 106. Como mostrado na figura 2, a porção de carcaça inferior 106 pode incluir um teclado multibotão 120. Em um aspecto particular, o teclado multibotão 120 pode ser um teclado QWERTY padrão. O teclado multibotão 120 pode ser revelado, quando a porção de carcaça superior 104 é movida em relação à porção de carcaça inferior 106. A figura 2 ilustra ainda que o PCD 100 pode incluir um botão de reset 122, na porção de carcaça inferior 106.
[0017] Referindo-se à figura 3, um aspecto exemplar, não limitante de um dispositivo de computação portátil (PCD) é mostrado e é geralmente designado 320. Como mostrado, o PCD 320 inclui um sistema em chip 322, que inclui uma CPU multinúcleo 324. A CPU multinúcleo 324 pode incluir núcleo número zero 325, um primeiro núcleo 326, e um N-ésimo núcleo 327.
[0018] Tal como ilustrado na figura 3, um controlador de display 328 e um controlador de tela de toque 330 são acoplados à CPU multinúcleo 324. Por sua vez, um display sensível ao toque 332 externo ao sistema em chip 322 é acoplado ao controlador de display 328 e o controlador de tela de toque 330.
[0019] A figura 3 adicionalmente indica que um codificador de vídeo 334, por exemplo, um codificador de linha de alternância de fase (PAL), um codificador de couleur a memoire (cor mnemônica) sequencial (SECAM), ou um codificador do comitê de sistemas nacionais de televisão (NTSC), é acoplado à CPU multinúcleo 324. Além disso, um amplificador de vídeo 336 é acoplado ao codificador de vídeo 334 e ao display sensível ao toque 332. Além disso, uma porta de vídeo 338 é acoplada ao amplificador de vídeo 336. Como representado na figura 3, um controlador de barramento serial universal (USB) 340 é acoplado à CPU multinúcleo 324. Além disso, uma porta USB 342 é acoplada ao controlador USB 340. Uma memória 344 e um cartão de módulo de identidade de assinante (SIM) 346 pode também ser acoplado à CPU multinúcleo 324. Além disso, como mostrado na figura 3, uma câmera digital 348 pode ser acoplada à CPU multinúcleo 324. Em um aspecto exemplar, a câmera digital 348 é uma câmera de um dispositivo acoplado à carga (CCD) ou uma câmera semicondutora de metal de óxido complementar (CMOS).
[0020] Tal como adicionalmente ilustrado na figura 3, um CODEC de áudio estéreo 350 pode ser acoplado à CPU multinúcleo 324. Além disso, um amplificador de áudio 352 pode acoplado ao CODEC de áudio estéreo 350. Em um aspecto exemplar, um primeiro altofalante estéreo 354 e um segundo altofalante estéreo 356 são acoplados ao amplificador de áudio 352. A figura 3 mostra que um amplificador de microfone 358 pode ser também acoplado ao CODEC de áudio estéreo 350. Além disso, um microfone 360 pode ser acoplado ao amplificador do microfone 358. Em um aspecto particular, um sintonizador de radio de modulação de frequência (FM) 362 pode ser acoplado ao CODEC de áudio estéreo 350. Além disso, uma antena de FM 364 é acoplada ao sintonizador de rádio FM 362. Além disso, fones de ouvido estéreos 366 podem ser acoplados ao CODEC de áudio estéreo 350.
[0021] A figura 3 adicionalmente indica que um transceptor de frequência de rádio (RF) 368 pode ser acoplado à CPU multinúcleo 324. Um comutador de RF 370 pode ser acoplado ao transceptor de RF 368 e a uma de antena RF 372. Como mostrado na figura 3, um teclado 374 pode ser acoplado à CPU multinúcleo 324. Além disso, um conjunto de fones de ouvido mono com um microfone 376 pode ser acoplado à CPU multinúcleo 324. Além disso, um dispositivo vibrador 378 pode ser acoplado à CPU multinúcleo 324. A figura 3 mostra também que uma fonte de alimentação 380 pode ser acoplada ao sistema em chip 322. Em um aspecto particular, a fonte de alimentação 380 é uma fonte de alimentação de corrente contínua (CC) que provê energia para os vários componentes do PCD 320 que requerem energia. Além disso, em um aspecto particular, a fonte de alimentação é uma bateria CC recarregável ou uma fonte de alimentação CC que é derivada de um transformador de corrente alternada (CA) para CC que está ligado a uma fonte de energia AC.
[0022] A figura 3 adicionalmente indica que o PCD 320 pode também incluir uma placa de rede 388, que pode ser utilizada para acessar a uma rede de dados, por exemplo, uma rede de área local, uma rede de área pessoal, ou qualquer outra rede. A placa de rede 388 pode ser uma placa de rede Bluetooth, uma placa de rede Wi-Fi, uma placa de rede de área pessoal (PAN), uma placa de rede de tecnologia de potência ultrabaixa de rede de área pessoal (PeANUT), ou qualquer outra placa de rede bem conhecida na técnica. Além disso, a placa de rede 388 pode ser incorporada em um chip, isto é, a placa de rede 388 pode ser uma solução completa em um chip, e pode não ser uma placa de rede separada 388.
[0023] Tal como representado na figura 3, o display sensível ao toque 332, a porta de vídeo 338, porta USB 342, a câmera 348, o primeiro altofalante estéreo 354, o segundo altofalante estéreo 356, o microfone 360, a antena FM 364, os fones de ouvido estéreos 366, o comutador de RF 370, a antena RF 372, o teclado 374, o conjunto de fones de ouvido mono 376, o vibrador 378, e a fonte de alimentação 380 são externos ao sistema em chip 322.
[0024] Em um aspecto particular, uma ou mais das etapas de método aqui descritas podem ser armazenadas na memória 344 como instruções de programa de computador. Estas instruções podem ser executadas pela CPU multinúcleo 324, a fim de executar os métodos aqui descritos. Além disso, a CPU multinúcleo 324, a memória 344, ou uma combinação das mesmas, podem servir como um meio para a execução de uma ou mais das etapas de métodos de aqui descritas, a fim de controlar um relógio associado com cada CPU, ou núcleo, da CPU multinúcleo 324.
[0025] Referindo à figura 4, um sistema de processamento é mostrado, e é geralmente designado 500. Em um aspecto particular, o sistema de processamento 500 pode ser incorporado no PCD 320 descrito acima em conjunto com a figura 3. Como mostrado, o sistema de processamento 500 pode incluir uma unidade de processamento central multinúcleo (CPU) 402 e uma memória 404 conectada à CPU multinúcleo 402. A CPU multinúcleo 402 pode incluir um núcleo número zero 410, um primeiro núcleo 412, e um N-ésimo núcleo 414. O núcleo número zero 410 pode incluir um relógio dinâmico número zero e de algoritmo de dimensionamento de tensão (DCVS) 416 executando no mesmo. O primeiro núcleo 412 pode incluir um primeiro algoritmo de DCVS 417 executando no mesmo. Além disso, o N-ésimo núcleo 414 pode incluir um N- ésimo algoritmo de DCVS 418 executando no mesmo. Em um aspecto particular, cada algoritmo de DCVS 416, 417, 418 pode ser independentemente executado em um respectivo núcleo 410, 412, 414. Além disso, cada algoritmo de DCVS 416, 417, 418 pode ser executado de forma completa e independente em cada respectivo núcleo 410, 412, 414 de múltiplo núcleo. Além disso, existe um exemplo de um algoritmo de DCVS 416, 417, 418 por núcleo 410, 412, 414 e algoritmo de DCVS 416, 417, 418 podem monitorar e controlar o relógio do núcleo 410, 412, 414 em que ele é executado. Cada algoritmo de DCVS 416, 417, 418 pode de forma independente definir uma frequência de relógio diferente para cada núcleo 410, 412, 414.
[0026] Em um aspecto particular, cada algoritmo de DCVS 416, 417, 418 pode ser idêntico e cada um pode monitorar o mesmo parâmetro, por exemplo, tempo ocioso, carga de trabalho, etc. Em um outro aspecto, cada algoritmo de DCVS 416, 417, 418 pode ser idêntico, mas cada um pode monitorar um parâmetro diferente. Em um outro aspecto, cada algoritmo de DCVS 416, 417, 418 pode ser diferente, mas cada um pode monitorar o mesmo parâmetro. Em ainda outro aspecto, cada algoritmo de DCVS 416, 417, 418 pode ser diferente e cada um pode monitorar um parâmetro diferente.
[0027] Em um outro aspecto, o algoritmo de DCVS número zero 416 pode utilizar a informação ociosa proveniente do núcleo número zero 410, primeiro núcleo 412, N-ésimo núcleo 414, ou qualquer combinação destes. O primeiro algoritmo de DCVS 417 pode utilizar a informação ociosa proveniente do núcleo número zero 410, primeiro núcleo 412, N-ésimo núcleo 414, ou qualquer combinação destes. Além disso, o N-ésimo algoritmo de DCVS 418 pode utilizar a informação ociosa proveniente do núcleo número zero 410, primeiro núcleo 412, N-ésimo núcleo 414, ou qualquer combinação destes.
[0028] Além disso, como ilustrado, a memória 404 pode incluir um sistema operacional 420 nela armazenado. O sistema operacional 420 pode incluir um programador 422 e o programador 422 pode incluir uma primeira fila de execução 424, uma segunda fila de execução 426, e uma N-ésima fila de execução 428. A memória 404 pode também incluir um primeiro aplicativo 430, um segundo aplicativo 432, e um N-ésimo aplicativo 434 nela armazenados.
[0029] Em um aspecto particular, os aplicativos 430, 432, 434 podem enviar uma ou mais tarefas 436 para o sistema operacional 420 para serem processadas no núcleo 410, 412, 414 dentro da CPU multinúcleo 402. As tarefas 436 podem ser processadas, ou executadas, como tarefas únicas, sequências, ou uma combinação destes. Além disso, o programador 422 pode programar as tarefas, sequências, ou uma combinação dos mesmos para execução dentro da CPU multinúcleo 402. Além disso, o programador 422 pode colocar as tarefas, sequências, ou uma combinação dos mesmos nas filas de execução 424, 426, 428. Os núcleos 410, 412, 414 podem recuperar as tarefas, sequências, ou uma combinação dos mesmos das filas de execução 424, 426, 428 conforme indicado, por exemplo, pelo sistema operacional 420 para processamento, ou execução daquela tarefa e sequências nos núcleos 410, 412, 414.
[0030] A figura 4 também mostra que a memória 404 pode incluir um monitor de paralelismo 440 nela armazenado. O monitor de paralelismo 440 pode ser conectado ao sistema operacional 420 e à CPU multinúcleo 402. Especificamente, o monitor de paralelismo 440 pode ser conectado ao programador 422 dentro do sistema operacional 420. Tal como aqui descrito, o monitor de paralelismo 440 pode monitorar a carga de trabalho nos núcleos 410, 412, 414 e o monitor de paralelismo 440 pode controlar a energia para os núcleos 410, 412, 414.
[0031] Referindo-se à figura 5, um primeiro aspecto de um método de assíncrona e independentemente controlar os núcleos em um dispositivo multinúcleo é mostrado e é geralmente designado 500. O método 500 pode ter início no bloco 502, com um loop do em que quando o dispositivo é ligado, as seguintes etapas podem ser realizadas.
[0032] No bloco 510, um algoritmo de DCVS número zero pode ser executado em um núcleo número zero. Então, no bloco 512, um relógio número zero associado com o núcleo número zero pode ser monitorado. Além disso, no bloco 514, um tempo ocioso associado com o núcleo número zero pode ser monitorado. No bloco 516, a frequência de relógio do relógio número zero associado com o núcleo número zero pode ser variada com base no tempo ocioso do núcleo número zero. Além disso, no bloco 518, a tensão do núcleo número zero pode ser variada com base no tempo ocioso do núcleo número zero.
[0033] Movendo-se para decisão 519, o controlador de energia pode determinar se o dispositivo está desligado. Se o dispositivo estiver desligado, o método pode acabar. Caso contrário, se o dispositivo permanece ligado, o método 500 pode voltar a um local logo após a execução da etapa 502 e o método 500 pode continuar como descrito.
[0034] Continuando com a descrição do método 500, no bloco 520, um primeiro algoritmo de DCVS pode ser executado em um primeiro núcleo. Então, no bloco 522, um primeiro relógio associado com o primeiro núcleo pode ser monitorado. Além disso, no bloco 524, um tempo ocioso associado com o primeiro núcleo pode ser monitorado. No bloco 526, a frequência de relógio do primeiro relógio associado com o primeiro núcleo pode ser variada com base no tempo ocioso do primeiro núcleo. Além disso, no bloco 528, a tensão do primeiro núcleo pode ser variada com base no tempo ocioso do primeiro núcleo. Depois disso, o método 500 pode continuar para a decisão 519 e continuar como aqui descrito.
[0035] No bloco 530, um N-ésimo algoritmo de DCVS pode ser executado em um N-ésimo núcleo. Então, no bloco 532, um N-ésimo relógio associado com o N-ésimo núcleo pode ser monitorado. Além disso, no bloco 534, um tempo ocioso associado com o N-ésimo núcleo pode ser monitorado. No bloco 536, a frequência de relógio do N-ésimo relógio associado com o N-ésimo núcleo pode ser variada com base no tempo ocioso do N-ésimo núcleo. Além disso, no bloco 538, a tensão do primeiro núcleo pode ser variada com base no tempo ocioso do primeiro núcleo. Depois disso, o método 500 pode continuar para a decisão 519 e continuar como aqui descrito.
[0036] Pode ser apreciado que as etapas 510 a 518, etapas 520 a etapas 528 e etapas 530 a 538 podem ser executadas em paralelo. Como tal, o controle de relógio assíncrono, independente, pode ser provido a um relógio associado com cada núcleo.
[0037] Referindo-se à figura 6, um segundo aspecto de um método de assíncrona e independentemente controlar os núcleos em um dispositivo multinúcleo é mostrado e é geralmente designado 600. O método 600 pode ter início no bloco 602, com um loop do em que quando o dispositivo é ligado, as seguintes etapas podem ser realizadas.
[0038] No bloco 610, um algoritmo de DCVS número zero pode ser executado em um núcleo número zero. Então, no bloco 612, um relógio número zero associado com o núcleo número zero pode ser monitorado. Além disso, no bloco 614, uma carga de trabalho associada com o núcleo número zero pode ser monitorada. No bloco 616, a frequência de relógio do relógio número zero associado com o núcleo número zero pode ser variada em função da carga de trabalho do núcleo número zero. Além disso, no bloco 618, a tensão do núcleo número zero pode ser variada em função da carga de trabalho do núcleo número zero.
[0039] Movendo-se para a decisão 619, o controlador de energia pode determinar se o dispositivo está desligado. Se o dispositivo estiver desligado, o método pode acabar. Caso contrário, se o dispositivo permanece ligado, o método 600 pode voltar a um local logo após a execução da etapa 602 e o método 600 pode continuar como descrito.
[0040] Continuando com a descrição do método 600, no bloco 620, um primeiro algoritmo de DCVS pode ser executado em um primeiro núcleo. Então, no bloco 622, um primeiro relógio associado com o primeiro núcleo pode ser monitorado. Além disso, no bloco 624, uma carga de trabalho associada com o primeiro núcleo pode ser monitorada. No bloco 626, a frequência de relógio do primeiro relógio associado com o primeiro núcleo pode ser variada em função da carga de trabalho do primeiro núcleo. Além disso, no bloco 628, a tensão do primeiro núcleo pode ser variada em função da carga de trabalho do primeiro núcleo. Depois disso, o método 600 pode continuar para a decisão 619 e continuar como aqui descrito.
[0041] No bloco 630, um N-ésimo algoritmo de DCVS pode ser executado em um N-ésimo núcleo. Então, no bloco 632, um N-ésimo relógio associado com o N-ésimo núcleo pode ser monitorado. Além disso, no bloco 634, uma carga de trabalho associada com o N-ésimo núcleo pode ser monitorada. No bloco 636, a frequência de relógio do N-ésimo relógio associado com o N-ésimo núcleo pode ser variada em função da carga de trabalho do N-ésimo núcleo. Além disso, no bloco 638, a tensão do primeiro núcleo pode ser variada em função da carga de trabalho do primeiro núcleo. Depois disso, o método 600 pode continuar para a decisão 619 e continuar como aqui descrito.
[0042] Pode ser apreciado que etapas 610 a 618, etapas 620 a 628 e etapas 630 a 638 podem ser executadas em paralelo. Como tal, o controle de relógio assíncrono, independente, pode ser provido a um relógio associado com cada núcleo.
[0043] Deve ser entendido que as etapas de método aqui descritas não têm necessariamente que ser realizadas na ordem como descrito. Além disso, palavras como "depois", "em seguida", "próximo", etc. não são destinadas a limitar a ordem das etapas. Estas palavras são simplesmente usadas para guiar o leitor através da descrição das etapas do método. Além disso, os métodos aqui descritos são descritos como executáveis em um dispositivo de computação portátil (PCD). O PCD pode ser um dispositivo de telefone móvel, um dispositivo de assistente digital portátil, um dispositivo de computação de smartbook, um dispositivo de computação netbook, um dispositivo de computação portátil, um dispositivo de computação da área de trabalho, ou uma combinação destes.
[0044] O sistema e métodos aqui descritos proveem algoritmos de DCVS completamente independentes (a.k.a DVFS) que podem ser executados de forma totalmente independente sobre os múltiplos núcleos. Há uma instância de um algoritmo de DCVS por núcleo, e cada um monitora e controla o relógio daquele núcleo apenas. Os múltiplos algoritmos são permitidos de forma independente definir freqüências de relógio diferentes para os múltiplos núcleos.
[0045] Em um aspecto particular, cada instância de algoritmo de DCVS pode monitorar o percentual de tempo ocioso gasto em cada núcleo. O tempo ocioso de núcleo pode ser obtido a partir do sistema operacional ou através de especiais contadores de hardware externos, tais como um perfil de sistema e monitor de diagnóstico (SPDM). Em um outro aspecto, cada algoritmo pode monitorar DCVS uma característica de carga de trabalho, tais como tarefa de memória sem limitação e independentemente ajustar frequência com base em características das diferentes tarefas em execução em cada núcleo.
[0046] Em um ou mais aspectos exemplares, as funções descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação destes. Se implementadas em software, as funções podem ser armazenadas em ou transmitidas através como uma ou mais instruções ou código em um produto de programa de computador tal como um meio legível por máquina, isto é, um meio legível por computador. Meios legíveis por computador incluem ambas a mídia de armazenamento em computador e a mídia de comunicação, incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para outro. A mídia de armazenamento pode ser qualquer mídia disponível que pode ser acessada por um computador. A título de exemplo, e não limitação, tal mídia legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco óptico, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser usado para transportar ou armazenar o código do programa desejado sob a forma de instruções ou estruturas de dados e que pode ser acessado por um computador. Além disso, qualquer conexão é apropriadamente chamada de um meio legível por computador. Por exemplo, se o software é transmitido de um site, servidor ou outra fonte remota utilizando um cabo coaxial, cabo de fibra óptica, par trançado, linha de assinante digital (DSL), ou tecnologias sem fio, como infravermelho, rádio e micro-ondas, então o cabo coaxial, cabo de fibra óptica, par trançado, DSL ou tecnologias sem fio, tais como infravermelho, rádio, e micro-ondassão incluídos na definição de meio. Disco e disquete, como usado aqui, inclui disco compacto (CD), disco laser, disco óptico, disco versátil digital (DVD), disquete e discos blu-ray onde disquetes normalmente reproduzem dados magneticamente, enquanto que discos reproduzem dados opticamente com lasers. As combinações do acima devem também ser incluídas dentro do escopo de meios legíveis por computador.
[0047] Embora os aspectos selecionados tenham sido ilustrados e descritos em detalhe, será entendido que várias substituições e alterações podem ser feitas nos mesmos sem se afastar do espírito e do escopo da presente invenção, tal como definido pelas reivindicações que se seguem.

Claims (3)

1. Método para controlar relógios núcleo em uma unidade de processamento central (402) multinúcleo, o método caracterizado pelo fato de que compreende: executar um relógio dinâmico número zero e algoritmo (416) de dimensionamento de tensão, DCVS, sobre um núcleo número zero (410) para monitorar um tempo de espera de núcleo número zero e variar uma frequência de relógio do núcleo número zero com base no tempo de espera monitorado; e executar um primeiro algoritmo de DCVS (417) em um primeiro núcleo (412) para monitorar uma memória sem limitação de uma carga de trabalho do primeiro núcleo e variar uma frequência de relógio do primeiro núcleo (412) com base na memória sem limitação monitorada da carga de trabalho, em que o algoritmo de DCVS número zero (416) é operável para controlar independentemente a frequência de relógio associada com o núcleo número zero (410) e o primeiro algoritmo de DCVS (417) é operável para controlar independentemente a frequência de relógio associada com o primeiro núcleo (412) e em que o algoritmo de DCVS número zero (416) e o primeiro algoritmo de DCVS (417) são completamente independentes um do outro.
2. Dispositivo sem fio caracterizado pelo fato de que compreende: meios para executar um relógio dinâmico número zero e algoritmo (416) de dimensionamento de tensão, DCVS, sobre um núcleo número zero (410) para monitorar um tempo de espera do núcleo número zero e variar uma frequência de relógio do núcleo número zero com base no tempo de espera monitorado; e meios para executar um primeiro algoritmo de DCVS (417) em um primeiro núcleo (412) para monitorar uma memória sem limitação de uma carga de trabalho do primeiro núcleo e variar uma frequência de relógio do primeiro núcleo (412) com base na memória sem limitação monitorada da carga de trabalho, em que o algoritmo de DCVS número zero (416) é operável para controlar independentemente a frequência de relógio associada com o núcleo número zero (410) e o primeiro algoritmo de DCVS (417) é operável para controlar independentemente a frequência de relógio associada com o primeiro núcleo (412) e em que o algoritmo de DCVS número zero (416) e o primeiro algoritmo de DCVS (417) são completamente independentes um do outro.
3. Memória legível por computador caracterizada pelo fato de que compreende instruções armazenadas na mesma, as instruções sendo executáveis por um computador para realizar as etapas do método conforme definido na reivindicação 1.
BR112012014160-0A 2009-12-16 2010-12-08 Método para controlar relógios de núcleo em uma unidade de processamento central multinúcleo, dispositivo sem fio e memória legível por computador BR112012014160B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US28696709P 2009-12-16 2009-12-16
US61/286,967 2009-12-16
US12/944,321 2010-11-11
US12/944,321 US8689037B2 (en) 2009-12-16 2010-11-11 System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
PCT/US2010/059535 WO2011084328A1 (en) 2009-12-16 2010-12-08 System and method for asynchronously and independently controlling core clocks in a multicore central processing unit

Publications (2)

Publication Number Publication Date
BR112012014160A2 BR112012014160A2 (pt) 2016-05-17
BR112012014160B1 true BR112012014160B1 (pt) 2021-02-23

Family

ID=44144262

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012014160-0A BR112012014160B1 (pt) 2009-12-16 2010-12-08 Método para controlar relógios de núcleo em uma unidade de processamento central multinúcleo, dispositivo sem fio e memória legível por computador

Country Status (9)

Country Link
US (1) US8689037B2 (pt)
EP (1) EP2513750B1 (pt)
JP (1) JP2013513896A (pt)
KR (2) KR20120105519A (pt)
CN (1) CN102687096B (pt)
BR (1) BR112012014160B1 (pt)
ES (1) ES2673343T3 (pt)
HU (1) HUE037224T2 (pt)
WO (1) WO2011084328A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9128705B2 (en) * 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US8650426B2 (en) * 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US20110145559A1 (en) * 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US20130060555A1 (en) * 2011-06-10 2013-03-07 Qualcomm Incorporated System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
TWI454905B (zh) * 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US9117511B2 (en) * 2013-03-08 2015-08-25 Advanced Micro Devices, Inc. Control circuits for asynchronous circuits
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
US9619289B2 (en) 2014-09-11 2017-04-11 Dell Products, L.P. Workload optimized server for intelligent algorithm trading platforms
JP6308092B2 (ja) * 2014-10-06 2018-04-11 株式会社デンソー 電子制御装置
KR102278475B1 (ko) * 2014-10-14 2021-07-19 삼성전자주식회사 전자 장치 및 그 제어 방법
US9717051B2 (en) * 2015-02-20 2017-07-25 Qualcomm Innovation Center, Inc. Proactive control of hardware based upon monitored processing
CN106708241A (zh) * 2016-11-24 2017-05-24 捷开通讯(深圳)有限公司 移动终端及提高其在低功耗模式下的性能的方法
US10551901B2 (en) * 2017-07-01 2020-02-04 Microsoft Technology Licensing, Llc Core frequency management using effective utilization for power-efficient performance
DE102020205156A1 (de) 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Auswertung von Messdaten für sicherheitskritische Anwendungen
CN115309347B (zh) * 2022-10-10 2023-03-24 苏州浪潮智能科技有限公司 基于ssd主控变频的时间管理方法、装置、设备及介质

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593651A (ja) 1982-06-30 1984-01-10 Fujitsu Ltd フア−ムウエアによる性能測定システム
JPH0351902A (ja) 1989-07-20 1991-03-06 Tokyo Electric Co Ltd データ処理装置
US5644769A (en) * 1993-06-14 1997-07-01 Matsushita Electric Industrial Co., Ltd. System for optimizing program by virtually executing the instruction prior to actual execution of the program to invalidate unnecessary instructions
JPH086681A (ja) 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JP2770760B2 (ja) 1995-01-04 1998-07-02 日本電気株式会社 電力分散マルチプロセッサ
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP2003526191A (ja) * 1997-08-13 2003-09-02 アプライド マテリアルズ インコーポレイテッド 半導体デバイス用銅エッチング方法
JPH11184554A (ja) * 1997-12-24 1999-07-09 Mitsubishi Electric Corp クロック制御タイプ情報処理装置
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
TW521177B (en) 2000-08-31 2003-02-21 Primarion Inc Apparatus and system for providing transient suppression power regulation
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
JP2002099433A (ja) 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
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
US7017060B2 (en) 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7058824B2 (en) * 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6978389B2 (en) * 2001-12-20 2005-12-20 Texas Instruments Incorporated Variable clocking in an embedded symmetric multiprocessor system
US7194385B2 (en) 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
US7240223B2 (en) * 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
GB2403823B (en) 2003-07-08 2005-09-21 Toshiba Res Europ Ltd Controller for processing apparatus
US7134031B2 (en) * 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
JP4549652B2 (ja) * 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
US7107187B1 (en) * 2003-11-12 2006-09-12 Sprint Communications Company L.P. Method for modeling system performance
US7133806B2 (en) * 2004-05-13 2006-11-07 Ittiam Systems (P) Ltd Method and apparatus for measurement of processor-utilization
US7219245B1 (en) * 2004-06-03 2007-05-15 Advanced Micro Devices, Inc. Adaptive CPU clock management
US7401240B2 (en) * 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
KR100716730B1 (ko) * 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
JP3805344B2 (ja) 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
US7739527B2 (en) * 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US7437581B2 (en) 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7370189B2 (en) * 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
US7543161B2 (en) * 2004-09-30 2009-06-02 International Business Machines Corporation Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system
US7814485B2 (en) * 2004-12-07 2010-10-12 Intel Corporation System and method for adaptive power management based on processor utilization and cache misses
DE102004059996B4 (de) * 2004-12-13 2006-10-05 Infineon Technologies Ag Verfahren und Vorrichtung zum Einstellen der Taktfrequenz eines Prozessors
US7228446B2 (en) * 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
US7369967B1 (en) * 2004-12-27 2008-05-06 Sprint Communications Company L.P. System and method for monitoring and modeling system performance
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
US7467291B1 (en) * 2005-02-28 2008-12-16 Sun Microsystems, Inc. System and method for calibrating headroom margin
JP4082706B2 (ja) * 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
CN101223490A (zh) 2005-07-14 2008-07-16 Nxp股份有限公司 使用历史负载简档来动态调整手持多媒体设备处理器内核的工作频率及可用功率
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7548859B2 (en) 2005-08-03 2009-06-16 Motorola, Inc. Method and system for assisting users in interacting with multi-modal dialog systems
US7689838B2 (en) * 2005-12-22 2010-03-30 Intel Corporation Method and apparatus for providing for detecting processor state transitions
US7233188B1 (en) * 2005-12-22 2007-06-19 Sony Computer Entertainment Inc. Methods and apparatus for reducing power consumption in a processor using clock signal control
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US20070260898A1 (en) * 2006-05-03 2007-11-08 Edward Burton Voltage regulator with suspend mode
US20080005591A1 (en) * 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
JP4808108B2 (ja) 2006-08-29 2011-11-02 パナソニック株式会社 プロセッサシステム
WO2008047179A1 (en) 2006-10-20 2008-04-24 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
JP2008129846A (ja) 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> データ処理装置、データ処理方法およびプログラム
GB2445167A (en) 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7783906B2 (en) 2007-02-15 2010-08-24 International Business Machines Corporation Maximum power usage setting for computing device
US7730340B2 (en) * 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
JP4739271B2 (ja) 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング 電源制御装置、仮想サーバ管理システム、電源制御方法および電源制御プログラム
US7865751B2 (en) * 2007-06-18 2011-01-04 Intel Corporation Microarchitecture controller for thin-film thermoelectric cooling
US7902800B2 (en) * 2007-07-13 2011-03-08 Chil Semiconductor Corporation Adaptive power supply and related circuitry
US8356306B2 (en) * 2007-07-31 2013-01-15 Hewlett-Packard Development Company, L.P. Workload management controller using dynamic statistical control
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US7945804B2 (en) * 2007-10-17 2011-05-17 International Business Machines Corporation Methods and systems for digitally controlled multi-frequency clocking of multi-core processors
JP5433837B2 (ja) 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
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
JP4488072B2 (ja) 2008-01-18 2010-06-23 日本電気株式会社 サーバシステム、及びサーバシステムの電力削減方法
US8245236B2 (en) * 2008-02-27 2012-08-14 International Business Machines Corporation Lock based moving of threads in a shared processor partitioning environment
JP4996519B2 (ja) 2008-03-27 2012-08-08 パナソニック株式会社 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
US20090271646A1 (en) * 2008-04-24 2009-10-29 Vanish Talwar Power Management Using Clustering In A Multicore System
US8170845B2 (en) * 2008-09-24 2012-05-01 International Business Machines Corporation Method and apparatus for automatic performance modeling with load dependent service times and overheads
US8195962B2 (en) * 2008-11-11 2012-06-05 Globalfoundries Inc. Method and apparatus for regulating power consumption
US8924975B2 (en) * 2009-07-23 2014-12-30 Empire Technology Development Llc Core selection for applications running on multiprocessor systems based on core and application characteristics
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US8775830B2 (en) 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US20110145559A1 (en) 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9104411B2 (en) * 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9176572B2 (en) * 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations

Also Published As

Publication number Publication date
BR112012014160A2 (pt) 2016-05-17
HUE037224T2 (hu) 2018-08-28
US20110145624A1 (en) 2011-06-16
WO2011084328A1 (en) 2011-07-14
ES2673343T3 (es) 2018-06-21
EP2513750A1 (en) 2012-10-24
JP2013513896A (ja) 2013-04-22
CN102687096B (zh) 2016-04-06
CN102687096A (zh) 2012-09-19
KR20140002087A (ko) 2014-01-07
KR101518163B1 (ko) 2015-05-07
US8689037B2 (en) 2014-04-01
EP2513750B1 (en) 2018-03-28
KR20120105519A (ko) 2012-09-25

Similar Documents

Publication Publication Date Title
BR112012014160B1 (pt) Método para controlar relógios de núcleo em uma unidade de processamento central multinúcleo, dispositivo sem fio e memória legível por computador
JP5643336B2 (ja) 温度に基づいてマルチコア中央処理装置内の複数のコアを動的に制御するためのシステムおよび方法
BR112016025031B1 (pt) Método e sistema para minimizar consumo de potência em processamento de quadro gráfico e memória legível por computador
US9596749B2 (en) Circuit board having a signal layer with signal traces and a reference plane with an additional signal trace larger than the signal traces
WO2016209353A1 (en) Authentication of a multiple protocol connection
BR112012014308B1 (pt) método para controle de energia de unidade de processamento central, dispositivo sem fio e memória legível por computador
US20110145559A1 (en) System and method for controlling central processing unit power with guaranteed steady state deadlines
JP5649254B2 (ja) ポータブルコンピューティングデバイスのプロセッサがスリープ状態に迅速に入りスリープ状態から迅速に出るための方法およびシステム
JP5662478B2 (ja) 中央処理装置内のデータをサンプリングするシステムおよび方法
US9559445B2 (en) Card edge connectors
WO2015058510A1 (zh) 电池、电池保护方法、装置和系统
EP2524275B1 (en) System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests
TW201403387A (zh) 用於電子裝置的顯示器

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B06I Publication of requirement cancelled [chapter 6.9 patent gazette]

Free format text: ANULADA A PUBLICACAO CODIGO 6.1 NA RPI NO 2576 DE 19/05/2020 POR TER SIDO INDEVIDA.

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09X Republication of the decision to grant [chapter 9.1.3 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 23/02/2021, OBSERVADAS AS CONDICOES LEGAIS.