BR112014012398B1 - Plataforma de computação e aparelho para gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware - Google Patents

Plataforma de computação e aparelho para gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware Download PDF

Info

Publication number
BR112014012398B1
BR112014012398B1 BR112014012398-5A BR112014012398A BR112014012398B1 BR 112014012398 B1 BR112014012398 B1 BR 112014012398B1 BR 112014012398 A BR112014012398 A BR 112014012398A BR 112014012398 B1 BR112014012398 B1 BR 112014012398B1
Authority
BR
Brazil
Prior art keywords
firmware
performance
fpdt
computing platform
ppm
Prior art date
Application number
BR112014012398-5A
Other languages
English (en)
Other versions
BR112014012398A2 (pt
Inventor
Michael Rothman
Robert Gough
Mark Doran
Original Assignee
Intel Corporation
Michael Rothman
Robert Gough
Mark Doran
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 Corporation, Michael Rothman, Robert Gough, Mark Doran filed Critical Intel Corporation
Publication of BR112014012398A2 publication Critical patent/BR112014012398A2/pt
Publication of BR112014012398B1 publication Critical patent/BR112014012398B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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
    • 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/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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • 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)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware a presente invenção refere-se a uma interface de ppm para uma plataforma de computação que pode ser fornecida com uma funcionalidade para facilitar, para um os através da interface de ppm, dados de desempenho de firmware, em algumas modalidades.

Description

[0001] Este pedido reivindica o benefício e incorpora por referência aqui o Pedido de Patente Provisório Número 61/563.030, depositado em 22 de Novembro de 2011.
ANTECEDENTES
[0002] A presente invenção refere-se genericamente a uma inter face de gerenciamento de desempenho de plataforma. Especificamente, diz respeito a prover uma estrutura de tabela de dados de desempenho de firmware (FPDT) através de uma interface de gerenciamento de energia e desempenho em uma plataforma de computação.
BREVE DESCRIÇÃO DOS DESENHOS
[0003] As modalidades da invenção estão ilustradas como exem plo, e não como limitação, nas figuras dos desenhos acompanhantes nos quais os números de referência iguais referem a elementos similares.
[0004] A Figura 1 é um diagrama de blocos de uma plataforma de computação com suporte de FPDT provido através de uma interface de PPM de acordo com algumas modalidades.
[0005] A Figura 2 é um diagrama que mostra uma representação abstrata de uma interface de PPM implementada em uma plataforma de acordo com algumas modalidades.
[0006] A Figura 3 é uma rotina geral para rastrear serviços de FPDT através de uma interface de PPM de acordo com algumas modalidades.
[0007] A Figura 4 é um diagrama que mostra um ponteiro de raiz para uma estrutura de tabela em uma interface de ACPI de acordo com algumas modalidades.
[0008] A Figura 5 é um diagrama que mostra uma estrutura de ta bela de descrição para uma interface de ACPI de acordo com algumas modalidades.
[0009] A Figura 6 é uma tabela que mostra um formato de Tabela de Dados de Desempenho de Firmware (FPDT) de acordo com algumas modalidades.
[00010] A Figura 7 é uma tabela que mostra uma estrutura de gravação de desempenho de acordo com algumas modalidades.
[00011] A Figura 8 é uma tabela que mostra tipos de gravação de desempenho de acordo com algumas modalidades.
[00012] A Figura 9 é uma tabela que mostra um tipo de gravação de desempenho de tempo de execução de acordo com algumas modalidades.
[00013] A Figura 10 é uma tabela que mostra uma gravação de ponteiro de tabela de desempenho S3 de acordo com algumas modalidades.
[00014] A Figura 11 é uma tabela que mostra uma gravação de ponteiro de tabela de desempenho S4 de acordo com algumas modalidades.
[00015] A Figura 12 é uma tabela que mostra um cabeçalho de tabela de desempenho S3 de acordo com algumas modalidades.
[00016] A Figura 13 é uma tabela que mostra uma gravação de desempenho de reinício de S3 básico de acordo com algumas modalidades.
[00017] A Figura 14 é uma tabela que mostra uma gravação de desempenho de suspensão de S3 básico de acordo com algumas modalidades.
[00018] A Figura 15 é uma tabela que mostra um cabeçalho de tabela de desempenho de boot básico de firmware de acordo com algumas modalidades.
[00019] A Figura 16 é uma tabela que mostra uma estrutura de gravação de dados de desempenho de boot básico de firmware de acordo com algumas modalidades.
DESCRIÇÃO DETALHADA
[00020] A Figura 1 é um diagrama de uma porção de uma plataforma de computação 100 com uma interface de gerenciamento de desempenho e energia (PPM) que facilita o rastreamento de dados de desempenho de firmware (FPD) de acordo com algumas modalidades. A plataforma de computação, como geralmente ilustrada na figura, pretende representar uma variedade de diferentes tipos de plataforma de computação incluindo mas não limitado a servidores, PCs desktop, netbooks, ultra-books, tablets, smartphones, e similares. Para simplicidade e facilidade de compreensão, detalhes e/ou componentes, não pertinentes a esta descrição, para algumas modalidades de plataforma serão omitidos.
[00021] Como aqui utilizado, o termo "PPM" significa gerenciamento de desempenho e energia e refere-se a qualquer interface adequada para permitir que os sistemas de operação, assim como as aplicações através de seus sistemas de operação, controlem, monitorem, mantenham, etc., os componentes de hardware dentro de uma plataforma, desde que a plataforma e o OS pelo menos com relação a uma característica relevante, estejam em conformidade com a interface de PPM. Um exemplo de uma PPM é a Interface de Configuração e Energia Avançada (ACPI).
[00022] O rastreamento de FPD, em algumas implementações, refere-se a medir ou identificar e reter, pelo menos a um certo grau, o tempo levado por uma plataforma para executar vários processos de boot e repouso de firmware. Uma estrutura de tabela de dados de desempenho de firmware (FPDT) implementada através de uma interface de PPM, permite uma plataforma expor dados de desempenho de fir- mware tal como tempos de processo de boot. Esta permite que a plataforma, assim como o OS, acessem os dados. Os fabricantes de plataformas e/ou componentes podem utilizar estas informações, por exemplo, para verificar (e comercializar) os seus ciclos de boot "mais rápidos". Em algumas modalidades, um sistema de FPD pode medir e prover dados sobre operações de boot (ligar ou reiniciar) básicas de plataforma, assim como a entrada e saída de estados de repouso. Em algumas modalidades, os dados de tempo para marcos desejados (por exemplo, tempo de inicialização para hardware específico) dentro dos processos de boot-up ou boot-down podem também ser tornados disponíveis.
[00023] A plataforma apresentada compreende uma CPU 102, dispositivos sensórios 110 (por exemplo, giroscópios, alto-falantes, câmeras, etc.), outros dispositivos / interfaces (por exemplo, teclado, dispositivo apontador, portas USB, portas de PCI, Ifs sem fio, etc.) 116, e um processador gráfico (GPX) 122, acoplados juntos através de um ou mais barramentos e/ou interconexões de ponto a ponto. A plataforma também inclui uma memória 108 (por exemplo, DRAM) acoplada através de um controlador de memória 106 a pelo menos a CPU 102, e esta também inclui um firmware 104 (por exemplo, implementado com uma memória não volátil tal como uma memória instantânea) acoplado na CPU 102. A plataforma, além disso, inclui um display 126 acoplado através de um controlador de display 124 no GPX 122 e/ou na CPU 102. (Deve ser apreciado que apesar de um único bloco de CPU ser mostrado, a plataforma pode incluir múltiplas CPUs e/ou núcleos de processamento para executar uma ou mais cadeias de OS e para executar várias diferentes tarefas. No entanto, para simplicidade, uma única CPU que executa um sistema de operação está aqui mostrada).
[00024] A plataforma ainda inclui uma unidade de armazenamento 114 (por exemplo, uma unidade de estado sólido) acoplada através de um controlador de unidade de armazenamento 112 a pelo menos a CPU 102. A unidade de armazenamento pode armazenar dados, aplicações, e um ou mais sistemas de operação (OS) tal como os sistemas Linux, Windows™, Mac OS™, Android, etc. O firmware 104 inclui uma BIOS, EFI ou outro software de boot / inicialização. (Note que o papel da BIOS mudou ao longo do tempo. Por exemplo, em algumas plataformas, a BIOS está sendo substituída pela mais complexa EFI (Interface de Firmware Extensível), mas uma BIOS para firmware permanece em uso difundido. Até a data, a FI tem sido suportada em versões de Microsoft Windows™ que suportam GPT, no Linux kernel 2.6.1 e posterior, e em Mac OS. No entanto, a distinção entre BIOS e EFI é raramente feita em terminologia pelo usuário de computador médio, tornando a BIOS um termo genérico para ambos os sistemas. Para simplicidade, no entanto, o termo "firmware" será utilizado geralmente para referir à BIOS, EFI ou código de boot / inicialização alternativo).
[00025] Juntos, o sistema de operação e o firmware incluem componentes de software para implementar uma interface de PPM 146 (por exemplo, ACPI) para a plataforma. Como abstratamente representado na figura, quando a plataforma liga, após executar o código de partida primitivo, a CPU recupera e executa o software de boot (espaço de firmware 142) e entre outras coisas, neste tempo pode estabelecer as estruturas de dados para a interface de PPM 146. Uma vez que o espaço de firmware (por exemplo, BIOS, EFI) inicializou, o espaço de OS 144 é então estabelecido conforme o OS executa o boot dentro da CPU. Neste tempo, os módulos de PPM dentro do OS podem iden-tificar várias características da plataforma através da interface de PPM 146 que está sendo estabelecida.
[00026] A Figura 2 é um diagrama de blocos que mostra abstratamente uma interface de PPM para interfacear entre a funcionalidade de energia e desempenho de OS, por um lado, e o hardware de plataforma, por outro lado. (Deve ser notado que este diagrama está traçado de uma especificação de ACPI, a qual de agora em diante, é utilizada primariamente como um exemplo para convenientemente apresentar alguns dos princípios aqui ensinados. No entanto, a figura foi abstraída e modificada para conformar com os conceitos específicos para esta descrição. Por exemplo, o termo mais geral: "PPM" é utilizado ao invés de "ACPI" em alguns locais e ao invés de "OSPM" dentro do espaço de OS. Deve ser apreciado que a ACPI é uma implementação especifica de uma interface de PPM).
[00027] Com pertinência à presente descrição, o hardware de plataforma 202 está mostrado com a CPU 102 e os componentes de hardware (HWC) 206. As unidades de HWC estão representadas em que os seus tempos de inicialização podem ser rastreados por uma FPDT de acordo com algumas modalidades. Um HWC 206 pode corresponder a circuitos, unidades lógicas, controladores, software de execução, etc. específicos.
[00028] A CPU 102, como acima discutido, executa o firmware e o OS, por meio disto estabelecendo a interface de PPM 146, o espaço de OS 144, e o espaço de aplicação 240. O espaço de aplicação inclui as APIs 242 para as aplicações executarem na plataforma. O espaço de OS 144 inclui a unidade de interface de PPM 232, as unidades de dispositivo 234, um núcleo de OS 236, e um sistema de PPM 238, o que facilita o gerenciamento de desempenho e energia do OS. Na modalidade apresentada, um canal de controle de plataforma (PCC) é implementado pela interface de PPM para comunicar entre a funcionalidade de OS PPM e as características de hardware de PPM.
[00029] A interface de PPM 146 compreende registros de PPM 222, componentes de firmware de PPM 224 e tabelas de PPM 226. Os registros 222 podem corresponder a registros específicos, por exemplo, registros de PPM dedicados no hardware, por exemplo, dentro da CPU ou como parte de um controlador tal como um controlador baseboard, ou a registros virtuais criados em software. Estes podem também ser uma parte restrita da interface de hardware, descrita (pelo menos em localização) pelas Tabelas de PPM. A ACPI, por exemplo, define uma interface de registro de hardware que um OS compatível com ACPI pode utilizar para controlar o gerenciamento de energia de núcleo e características de desempenho de hardware de plataforma, como descrito na Seção 4 da Especificação ACPI 5.0 (a Especificação de Hardware de ACPI).
[00030] Os componentes de firmware de PPM 224 incluem porções do firmware que correspondem a implementações de PPM. Tipicamente, estes são utilizados para implementar interfaces para repouso, despertar, algumas operações de reinicialização. Pertinente a esta descrição, entre outras coisas, estes podem também incluir componentes para definir estruturas e tabelas de dados de PPM, incluindo aquelas utilizadas para as estruturas de FPDT, e estes podem também incluir uma ou mais rotinas para manter e/ou atualizar dados e/ou endereços nas tabelas (Note que algumas das características de ACPI que correspondem aos componentes de firmware 224 estão descritas na Seção 5.3, "Namespace", da Especificação ACPI 5.0).
[00031] As tabelas de PPM, em geral, descrevem as interfaces para o hardware. Algumas descrições limitam o que pode ser construído. Por exemplo, alguns controles podem estar embutidos em blocos fixos de registros, e a tabela especifica o endereço do bloco de registro. A maioria das descrições permite que o hardware seja construído em modos arbitrários e podem descrever sequências de operações arbitrárias necessárias para fazer o hardware funcionar. (Para o restante da descrição, as tabelas de ACPI serão descritas como exemplos de estruturas de tabela de PPM adequadas. As tabelas de ACPI estão geralmente descritas na Seção 5.2 da Especificação ACPI 5.0).
[00032] As tabelas de ACPI que têm "Blocos de Definição" podem fazer uso de um tipo de linguagem de pseudocódigo, a interpretação do qual pode ser executada pelo OS. Isto é, OSPM (corresponde ao sistema de PPM 238) inclui e utiliza um interpretador que executa os procedimentos codificados na linguagem de pseudocódigo e armazenados nas tabelas de ACPI que contêm os "Blocos de Definição". A linguagem de pseudocódigo, conhecida como Linguagem de Máquina de ACPI (AML), é um tipo compacto, com token, abstrato de linguagem de máquina. Em algumas modalidades, as rotinas de AML podem ser utilizadas para facilitar a aquisição e geração de dados de desempenho de firmware, como abaixo apresentado.
[00033] A Figura 3 mostra uma rotina 302 para rastrear o desempenho de firmware de acordo com algumas modalidades. Em 304, a rotina pode registrar o tempo quando o firmware começa. (Isto pode corresponder a um Final de Reset, como descrito na Figura 16). Em algumas plataformas, o boot firmware pode não realmente iniciar em, ou próximo de, 0, quando a CPU é ligada ou reinicia. Isto é porque outro processamento preliminar pode ocorrer quando a CPU é ligada (ligada ou reiniciada) antes de chegar ao firmware. Consequentemente, registrando o tempo (ou estampa de tempo), uma rotina ou usuário pode avaliar o tempo de boot de firmware real mais precisamente, isto é, de quando este realmente começa e não simplesmente quando a CPU liga. (Deve ser apreciado que registrar um temporizador ou estampa de tempo refere-se a registrar, ou marcar uma unidade de tempo. Usualmente, uma CPU ou outro relógio ou contador de plataforma gerará uma contagem de execução quando a CPU liga, e assim, esta contagem ou relógio de CPU pode ser utilizada para registrar o tempo, ou unidade de tempo, como aqui discutido. Por exemplo, com muitas plataformas x86, um comando de rdtsc permite que uma rotina em execução leia o contador de estampa de tempo corrente. Deve ser apreciado, no entanto, que qualquer relógio ou contador adequado, provendo um tempo real, um tempo relativo, ou sua derivação, poderia ser utilizado).
[00034] Em 306, conforme o firmware está executando o boot, este estabelece uma estrutura de FPDT dentro da interface de PPM. Por exemplo, em uma implementação de ACPI, este pode criar estruturas de dados com base nas tabelas ilustradas nas Figuras 6-16. O firmware de boot em execução pode também registrar marcos de tempo designados tal como os inícios ou os finais de inicializações de componentes de hardware, por exemplo, para uma melhor compreensão de quanto tempo os componentes de hardware individuais estão levando para executar o boot.
[00035] Em 308, o firmware em execução registra o final do boot de firmware. Em algumas modalidades, isto pode ocorrer quando o carregador de OS é lançado. Em 310, a rotina, da perspectiva do firmware em execução, aguarda para um modo de repouso ser entrado. Qualquer estado de modo de repouso adequado poderia satisfazer esta condição. Em algumas implementações de ACPI, a entrada em pelo menos um estado de repouso S3 satisfaz a entrada de modo de repouso dentro deste contexto.
[00036] Se um modo de repouso deve ser entrada, então em 312, a rotina (por exemplo, a rotina de FPDT de firmware) registra quando a entrada de modo de repouso é iniciada e quando é entrado. (Em algumas modalidades de ACPI, isto pode corresponder a funções de SuspendStart e SuspendEnd descritas na Figura 14). A diferença entre estes valores pode corresponder a um tempo consumido para a plataforma entrar no modo de repouso. Em algumas modalidades, os dados juntamente com outros dados de FP (incluindo outros dados de FP relativos a modo de repouso) podem ser armazenados na memória que está reservada para o firmware e não alterável pelo espaço de OS.
[00037] Quando o modo de repouso deve terminar (a plataforma tornar-se ativa), então a rotina prossegue para 316, onde esta registra o tempo levado para sair do modo de repouso. Em implementações de ACPI isto pode corresponder a uma função de FullResume descrita na Figura 14. Daqui, a rotina prossegue de volta o loop 310, aguardando o próximo evento de repouso.
[00038] A estrutura de tabela de ACPI geral, e então, a estrutura de ACPI FPDT específica serão descritas. Para dar aos vendedores de hardware flexibilidade em escolher a sua implementação, a ACPI utiliza tabelas para descrever as informações de sistema, características, e métodos para controlar estas características. Estas tabelas listam dispositivos, por exemplo, dispositivos no quadro de sistema ou dispositivos que não podem ser detectados ou gerenciados em energia utilizando algum outro padrão de hardware. Estas podem também listar as capacidades de sistema tal como os estados de energia de repouso suportados, uma descrição dos planos de energia e fontes de relógio disponíveis no sistema, baterias, luzes indicadoras de sistema, e assim por diante. Isto permite que o OSPM (sistema de PPM 238 no espaço de OS para a ACPI) controle os dispositivos de sistema sem precisar saber como os controles de sistema são implementados.
[00039] A Figura 4 mostra uma estrutura geral para implementar tais tabelas de acordo com algumas modalidades. Uma estrutura de Apontador de Descrição de Sistema de Raiz (RSDP) 402 está localizada no espaço de endereço de memória do sistema e pode ser configurada pelo firmware de plataforma. Esta estrutura contém o endereço da Tabela de Descrição de Sistema Estendida (XSDT) 404, a qual referencia outras tabelas de descrição que proveem dados para OSPM, suprindo-o com o conhecimento da implementação e configuração do sistema de base.
[00040] As tabelas de descrição de sistema devem começar com cabeçalhos idênticos. O propósito primário das tabelas de descrição de sistema é definir para OSPM vários detalhes de implementação de padrão de indústria. Tais definições permitem que várias porções destas implementações sejam flexíveis em requisitos e projeto de hardware, porém ainda provenham o OSPM com o conhecimento que este precisa para controlar o hardware diretamente.
[00041] O OSPM localiza a Tabela de Descrição de Sistema de Raiz seguindo o apontador na estrutura de RSDP. A RSDT começa com a assinatura 'RSDT' seguida por uma rede de apontadores físicos para outras tabelas de descrição de sistema que proveem várias informações sobre outros padrões definidos no sistema corrente. O OSPM examina cada tabela para uma assinatura conhecida. Com base na assinatura, o OSPM pode então interpretar os dados específicos de implementação dentro da tabela.
[00042] Com referência à Figura 5, a Tabela de Descrição de Sistema Estendida (XSDT) é adicionalmente descrita. Esta aponta para outras tabelas na memória. A primeira tabela apontada pelo apontador 402, a XSDT aponta para a Tabela de Descrição de ACPI Fixa (FADT). Os dados dentro desta tabela incluem várias entradas de comprimento fixo que descrevem as características de ACPI fixa do hardware. A tabela de FADT refere à Tabela de Descrição de Sistema Diferenciada (DSDT), a qual contém informações e descrições para várias características de sistema. A relação entre estas tabelas está mostrada na Figura 5.
[00043] Quando o OS inicializa durante o boot, o OSPM encontra a estrutura de RSDP. Quando o OSPM localiza a estrutura, este procura o endereço físico para a Tabela de Descrição de Sistema de Raiz ou a Tabela de Descrição de Sistema Estendida. A Tabela de Descrição de Sistema de Raiz começa a assinatura "RSDT", enquanto que a Tabela de Descrição de Sistema Estendida começa com a assinatura "XSDT". Estas tabelas contêm um ou mais apontadores físicos para outras tabelas de descrição de sistema que proveem várias informações sobre o sistema. Como mostrado na Figura 5, deve sempre existir um endereço físico na Tabela de Descrição de Sistema de Raiz para a Tabela de Descrição de ACPI Fixa (FADT).
[00044] Quando o OSPM segue um apontador físico para outra tabela, este examina cada tabela para uma assinatura conhecida. Com base na assinatura, o OSPM pode então interpretar os dados específicos de implementação dentro da tabela de descrição.
[00045] O propósito da FADT é definir várias informações de sistema estático relativas ao gerenciamento de configuração e energia. A Tabela de Descrição de ACPI Fixa começa com a assinatura "FACP". A FADT descreve os detalhes de implementação e configuração dos registros de hardware de ACPI sobre a plataforma.
[00046] Os blocos GPE0_BLK e GPE1_BLK proveem a fundação para um modelo de processamento de interrupção para Métodos de Controle. Os blocos P_BLK são para controlar as características de processador. Além das informações de implementação de Registro de Hardware de ACPI, a FADT também contém um apontador físico para uma estrutura de dados conhecida como a Tabela de Descrição de Sistema Diferenciada (DSDT), a qual está codificada em formato de Bloco de Definição.
[00047] Um Bloco de Definição contém informações sobre os detalhes de implementação de hardware da plataforma na forma de objetos de dados dispostos em uma entidade hierárquica (estruturada em árvore) conhecida como "ACPI namespace", o que representa a configuração de hardware da plataforma. Os blocos de definição carregados pelo OSPM combinam para formar um namespace que representa a plataforma. Os objetos de dados são codificados em um formato co- nhecido como Linguagem de Máquina de ACPI ou AML abreviado. Os objetos de dados codificados em AML são "avaliados" por uma entidade de OSPM conhecida como o interpretador de AML. Os seus valores podem ser estáticos ou dinâmicos. A capacidade de avaliação de objeto de dados dinâmico do interpretador de AML inclui suporte para avaliação programática, incluindo acessar espaços de endereço (por exemplo, I/O ou acessos de memória), cálculo, e avaliação lógica, para determinar o resultado. Os objetos de namespace dinâmicos são conhecidos como "métodos de controle". O OSPM "carrega" ou "descarrega" um bloco de definição inteiro como uma unidade lógica - adicionando ou removendo os objetos associados do namespace. A DSDT deve ser carregada pelo OSPM no tempo de boot e não deve ser descarregada. Esta contém um Bloco de Definição denominado o Bloco de Definição Diferenciado que contém as informações de implementação e configuração que o OSPM pode utilizar para executar o gerenciamento de energia, o gerenciamento térmico, ou a funcionalidade Plug and Play que vai além das informações descritas pelos registros de hardware de ACPI.
[00048] Os Blocos de Definição podem ou definir novos atributos de sistema ou, em alguns casos, construir definições anteriores. Um Bloco de Definição pode ser carregado do espaço de endereço de memória de sistema. Uma utilização de um Bloco de Definição é descrever e distribuir mudanças de versão de plataforma.
[00049] Os Blocos de Definição permitem que amplas variações de implementações de plataforma de hardware sejam descritas para o OS compatível com ACPI enquanto confinando as variações a limites razoáveis. Os Blocos de Definição permitem que simples implementações de plataforma sejam expressas utilizando poucos nomes de objeto bem definidos.
[00050] Alguns operadores executam funções simples e outros abrangem funções complexas. A energia do Bloco de Definição vem de sua capacidade de permitir que estas operações sejam coladas juntas em numerosos modos, para prover funcionalidade para o OSPM. Os operadores presentes estão destinados a permitir que muitos projetos de hardware úteis sejam expressos em ACPI, não permitir que todos os projetos de hardware sejam expressos.
[00051] As Figuras 6 a 16 mostram a estrutura de tabela de características de ACPI FPDT. A Figura 6 é uma tabela que mostra o formato para Tabela de Dados de Desempenho de Firmware (FPDT), a qual provê descrições e estrutura para registros de desempenho de inicialização de plataforma. (Note que a FPDT é uma estrutura que pode, e com ACPI consegue, incluir múltiplas tabelas que podem ser organizacionalmente ligadas umas às outras, como aqui descrito). As informações nestes registros de desempenho representam dados de desempenho de boot de firmware relativos a tarefas específicas dentro de um processo de boot de firmware.
[00052] A ACPI FPDT inclui dois marcos que fazem parte da maioria, se não todos, os processos de boot de plataforma, e esta provê que estes marcos sejam registrados para boot básico, assim como para boot relativo a repouso. Estes marcos são: (1) o final da sequência de reset de CPU (o valor de temporizador pode ser notado no início de inicialização de firmware), e (2) transferência para o carregador de OS. A diferença entre estes dois marcos corresponde a um tempo de boot de firmware. (Note que em algumas modalidades, marcos adicionais, por exemplo, quando componentes de hardware individuais inicializam dentro do boot de firmware total, podem também ser incluídos dentro desta estrutura, e outras informações são também especificadas pela ACPI como abaixo discutido).
[00053] (Note que estas informações representam um conjunto de dados de desempenho de boot de firmware que poderia ser utilizado para rastrear o desempenho de cada fase de UEFI, e poderia ser útil para rastrear os impactos resultantes de mudanças devido à configuração de hardware / software. Além disso, os valores de temporizador são expressos em incrementos de nanossegundos. Por exemplo, se um registo indica um evento ocorrido em um valor de temporizador de 25678, isto significa que 25.678 microssegundos decorreram do último reset da medição de temporizador).
[00054] A Fig. 7 é uma tabela que mostra uma estrutura para registro de desempenho em uma FPDT de acordo com a ACPI. Um registro de desempenho inclui um subcabeçalho que inclui um tipo e comprimento de registro, e um conjunto de dados, o qual pode incluir um temporizador. O formato do layout de registro é específico para o tipo de registro. Deste modo, os registros precisam ser somente tão grandes quanto necessário para conter o tipo de dados específico a serem transportados.
[00055] A tabela da Fig. 8 descreve os vários tipos de registros contidos na FPDT, e o seu Tipo de Registro de Desempenho associado. Note que a menos que de outro modo especificado, múltiplos registros de desempenho são permitidos na FPTD para um dado tipo, porque alguns eventos podem incorrer múltiplas vezes durante o processo de boot.
[00056] A tabela da Fig. 9 descreve os vários tipos de registros tempo de execução e os seus tipos de Registro de Desempenho de Tempo de Execução associado. Estes registros não estão tipicamente contidos na própria tabela FPDT; mas ao invés são referenciados por seus respectivos registros de apontador na FPDT. Os apontadores podem ser utilizados para apontar para, e armazenar os registros em, um espaço de memória que não pode ser alterado pelo OS.
[00057] A Fig. 10 é uma tabela que mostra um registro de apontador de tabela de desempenho S3. O Registro de Apontador de Tabela de Desempenho S3 contém um apontador para a Tabela de Desempenho S3. A própria Tabela de Desempenho S3, existe em uma faixa de memória descrita como ACPI AddressRangeReserved no mapa de memória de sistema. O apontador de registro pode ser entrada requerida na FPDT para qualquer sistema que suporta o estado S3, e o apontador deve apontar para um endereço físico estático válido. Somente um destes registros usualmente será produzido.
[00058] O Registro de Apontador de Desempenho de Boot Básico de Firmware contém um apontador para o Registro de Dados de Desempenho de Boot Básico de Firmware. O próprio Registro de Dados de Desempenho de Boot Básico de Firmware, existe em uma faixa de memória descrita como ACPI AddressRangeReserved no mapa de memória de sistema. O apontador de registro é uma entrada requerida na FPDT para qualquer sistema e o apontador deve apontar para um endereço físico estático válido. Somente um destes registros usualmente será produzido.
[00059] Com referência às Figs. 12 a 14, a Tabela de Desempenho S3 reside fora da FPDT. Esta inclui um cabeçalho, definido na Fig. 12, e um ou mais Registros de Desempenho (ver, Figuras 13 e 14.)
[00060] As entradas de evento devem ser inicializadas para zero durante a sequência de boot inicial, e sobrescritas durante a sequência de reiniciação de S3 de BIOS (Firmware). A Tabela de Desempenho S3 deve incluir o Registro de Desempenho de Reiniciação de S3 Básico (Fig. 13). Outras entradas são opcionais.
[00061] A Fig. 15 é uma tabela que mostra um cabeçalho de tabela de desempenho de boot básico de firmware. A Tabela de Desempenho de Boot Básico de Firmware reside fora da FPDT. Esta inclui um cabeçalho, definido na Fig. 15, e um ou mais Registros de Desempenho.
[00062] A Fig. 16 é uma tabela que mostra uma estrutura de registro de dados de desempenho de boot básico de firmware. Um registro de dados de desempenho de boot básico de firmware o qual contém as informações de temporizador associadas com atividade de carregador de OS final assim como os dados associados com as informações de tempo de boot de início e fina.
[00063] A invenção não está limitada às modalidades descritas, mas pode ser praticada com modificações e alterações dentro do espírito e escopo das reivindicações anexas. Deve ser também apreciado que em alguns dos desenhos, as linhas condutoras de sinal estão representadas com linhas. Algumas podem ser mais grossas, para indicar mais percursos de sinal constituintes, ter uma etiqueta de número, para indicar um número de percursos de sinal constituintes, e/ou ter setas em uma ou mais extremidades, para indicar a direção de fluxo de informações primária. Isto, no entanto, não deve ser considerado em um modo limitante. Ao invés, tal detalhe adicionado pode ser utilizado em conexão com uma ou mais modalidades exemplares para facilitar uma compreensão mais fácil de um circuito. Quaisquer linhas de sinal representadas, tendo ou não informações adicionais, podem realmente compreender um ou mais sinais que podem ser deslocar em múltiplas direções e podem ser implementados com qualquer tipo adequado de esquema de sinal.

Claims (20)

1. Plataforma de computação (100), caracterizada pelo fato de que compreende: uma memória não volátil possuindo um programa de boot de firmware; e uma CPU para executar o programa de boot de firmware quando a CPU é reinicializada, o programa de boot de firmware incluindo instruções para criar estruturas de dados de interface de Gerenciamento de Desempenho e Energia (PPM) incluindo uma estrutura de tabela de dados de desempenho de firmware (FPDT) para rastrear um ou mais parâmetros de boot de firmware.
2. Plataforma de computação (100), de acordo com a reivindicação 1, caracterizada pelo fato de que o programa de boot de firmware compreende instruções, que quando executadas, registram um valor de temporizador para indicar um tempo de início de boot de firmware.
3. Plataforma de computação (100), de acordo com a reivindicação 2, caracterizada pelo fato de que o valor de tempo de início de boot de firmware registrado é utilizado para popular um registro de desempenho RestEnd em uma estrutura de FPDT de Interface Avançada de Configuração e Energia (ACPI).
4. Plataforma de computação (100), de acordo com a reivindicação 1, caracterizada pelo fato de que a FPDT é para rastrear o tempo de boot de firmware quando a CPU é reinicializada, o tempo de boot de firmware para iniciar quando o firmware é lançado.
5. Plataforma de computação (100), de acordo com a reivindicação 1, caracterizada pelo fato de que a FPDT é para rastrear uma duração de tempo de suspensão para a plataforma transicionar de um estado ativo para um de repouso.
6. Plataforma de computação (100), de acordo com a rei- vindicação 5, caracterizada pelo fato de que o estado de repouso é um estado de repouso de sistema S3.
7. Plataforma de computação (100), de acordo com a reivindicação 5, caracterizada pelo fato de que a duração de tempo de suspensão é baseada em um tempo de início de suspensão quando um Sistema Operacional (OS) inicia o estado de repouso e um tempo de final de suspensão quando o firmware deve disparar a entrada de hardware no estado de repouso.
8. Plataforma de computação (100), de acordo com a reivindicação 1, caracterizada pelo fato de que a FPDT é para rastrear um tempo de reiniciação para a plataforma transicionar de um estado ativo para um estado de repouso.
9. Plataforma de computação (100), de acordo com a reivindicação 8, caracterizada pelo fato de que a FPDT é para registrar um valor de reiniciação total que corresponde a um valor de temporizador quando o firmware transiciona o controle para um vetor de hardware para entrar no estado ativo.
10. Plataforma de computação (100), caracterizada pelo fato de que compreende: um primeiro dispositivo de armazenamento de memória possuindo instruções para um sistema de operação (OS) que inclui componentes de Gerenciamento de Desempenho e Energia (PPM) de OS para uma interface de PPM; um segundo dispositivo de armazenamento de memória possuindo instruções para um programa de boot de firmware incluindo componentes de PPM de firmware para uma interface de PPM, o OS e as instruções de PPM de firmware, quando executadas, para estabelecer uma interface de PPM entre o OS e o hardware de plataforma, a interface de PPM incluindo uma estrutura de dados de desempenho de firmware para rastrear as características de desempenho de firmware.
11. Plataforma de computação (100), de acordo com a rei-vindicação 10, caracterizada pelo fato de que compreende um ou mais componentes de hardware a serem inicializados quando o programa de boot de firmware executa a inicialização de um sistema, em que a estrutura de dados de desempenho de firmware rastreia os tempos de inicialização para pelo menos alguns dos componentes de hardware.
12. Plataforma de computação (100), de acordo com a rei-vindicação 10, caracterizada pelo fato de que a estrutura de dados de desempenho de firmware é uma tabela de dados de desempenho de firmware (FPDT) em um PPM de Interface Avançada de Configuração e Enecrigia (ACPI).
13. Plataforma de computação (100), de acordo com a rei-vindicação 12, caracterizada pelo fato de que a FPDT compreende uma estrutura de registro de desempenho.
14. Plataforma de computação (100), de acordo com a rei-vindicação 12, caracterizada pelo fato de que a FPDT compreende uma tabela de tipo de registro de desempenho de tempo de execução.
15. Plataforma de computação (100), de acordo com a rei-vindicação 12, caracterizada pelo fato de que a FPDT compreende uma estrutura de registro de apontador de tabela de desempenho S3.
16. Plataforma de computação (100), de acordo com a rei-vindicação 12, caracterizada pelo fato de que a FPDT compreende uma estrutura de registro de dados de desempenho de boot básico de firmware.
17. Aparelho, caracterizado pelo fato de que compreende: uma plataforma de computação (100) possuindo um firmware que inclui componentes de Interface Avançada de Configuração e Energia (ACPI) para construir uma estrutura de tabela de dados de desempenho de firmware (FPDT) para uma interface de ACPI.
18. Aparelho, de acordo com a reivindicação 17, caracterizado pelo fato de que a estrutura de FPDT inclui uma estrutura de registro de desempenho que compreende registros de desempenho com dados de desempenho de firmware.
19. Aparelho, de acordo com a reivindicação 17, caracterizado pelo fato de que o FPDT compreende uma tabela de tipo de registro de desempenho de tempo de execução.
20. Aparelho, de acordo com a reivindicação 17, caracterizado pelo fato de que o FPDT compreende uma estrutura de registro de apontador de tabela de desempenho S3.
BR112014012398-5A 2011-11-22 2012-11-21 Plataforma de computação e aparelho para gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware BR112014012398B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161563030P 2011-11-22 2011-11-22
US61/563,030 2011-11-22
PCT/US2012/066364 WO2013078387A1 (en) 2011-11-22 2012-11-21 Computing performance and power management with firmware performance data structure

Publications (2)

Publication Number Publication Date
BR112014012398A2 BR112014012398A2 (pt) 2017-06-13
BR112014012398B1 true BR112014012398B1 (pt) 2021-06-15

Family

ID=48470182

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014012398-5A BR112014012398B1 (pt) 2011-11-22 2012-11-21 Plataforma de computação e aparelho para gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware

Country Status (10)

Country Link
US (14) US9454379B2 (pt)
JP (1) JP6155507B2 (pt)
KR (3) KR101810822B1 (pt)
CN (1) CN103946765B (pt)
BR (1) BR112014012398B1 (pt)
DE (1) DE112011105867B4 (pt)
GB (1) GB2510091B (pt)
IN (1) IN2014CN02785A (pt)
TW (3) TWI502505B (pt)
WO (7) WO2013077889A1 (pt)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2510091B (en) 2011-11-22 2020-05-20 Intel Corp Collaborative processor and system performance and power management
US10095295B2 (en) * 2011-12-14 2018-10-09 Advanced Micro Devices, Inc. Method and apparatus for power management of a graphics processing core in a virtual environment
US9026817B2 (en) 2012-06-29 2015-05-05 Intel Corporation Joint optimization of processor frequencies and system sleep states
JP5877533B2 (ja) * 2013-01-31 2016-03-08 三菱電機株式会社 計算機装置及び計算機装置の制御方法
US9696785B2 (en) 2013-12-28 2017-07-04 Intel Corporation Electronic device having a controller to enter a low power mode
US10514942B2 (en) 2014-02-24 2019-12-24 Red Hat Israel, Ltd. Using linker scripts for loading system configuration tables
US9571465B1 (en) * 2014-09-18 2017-02-14 Amazon Technologies, Inc. Security verification by message interception and modification
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US9720827B2 (en) * 2014-11-14 2017-08-01 Intel Corporation Providing multiple memory modes for a processor including internal memory
US10126950B2 (en) * 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
US11003565B2 (en) 2015-04-21 2021-05-11 Hewlett-Packard Development Company, L.P. Performance change predictions
CN106874176B (zh) * 2015-12-14 2021-04-27 创新先进技术有限公司 智能测试方法和装置
US10180793B2 (en) 2017-01-31 2019-01-15 Hewlett Packard Enterprise Development Lp Performance attributes for memory
US11182315B2 (en) 2017-02-10 2021-11-23 Intel Corporation Apparatuses, methods, and systems for hardware control of processor performance levels
US10958729B2 (en) * 2017-05-18 2021-03-23 Intel Corporation Non-volatile memory express over fabric (NVMeOF) using volume management device
US10627880B2 (en) * 2017-05-19 2020-04-21 Dell Products L.P. Systems and methods for forward compatibility of custom thermal settings
KR102388803B1 (ko) 2017-11-02 2022-04-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10620969B2 (en) 2018-03-27 2020-04-14 Intel Corporation System, apparatus and method for providing hardware feedback information in a processor
TWI685751B (zh) * 2018-04-10 2020-02-21 神雲科技股份有限公司 伺服器裝置的錯誤報告功能的控制方法
CN108959049B (zh) * 2018-06-27 2021-12-17 郑州云海信息技术有限公司 Smm的健壮性和稳定性的测试方法、装置及存储介质
US10795746B2 (en) 2018-12-13 2020-10-06 Micron Technology, Inc. Automated power down based on state of firmware
WO2021011577A1 (en) * 2019-07-15 2021-01-21 Intel Corporation Dynamic energy performance preference based on workloads using an adaptive algorithm
US11157329B2 (en) 2019-07-26 2021-10-26 Intel Corporation Technology for managing per-core performance states
US11625084B2 (en) * 2019-08-15 2023-04-11 Intel Corporation Method of optimizing device power and efficiency based on host-controlled hints prior to low-power entry for blocks and components on a PCI express device
TWI726405B (zh) * 2019-09-04 2021-05-01 神雲科技股份有限公司 開機程序除錯系統及其主機與方法
US11507157B2 (en) * 2020-04-30 2022-11-22 Dell Products L.P. Hot-inserted devices
KR20210149445A (ko) 2020-06-02 2021-12-09 삼성전자주식회사 메모리 모듈 및 메모리 모듈의 동작 방법
US11106529B1 (en) * 2020-07-22 2021-08-31 Dell Products L.P. Post package repair failure memory location reporting system
US11829612B2 (en) 2020-08-20 2023-11-28 Micron Technology, Inc. Security techniques for low power mode of memory device
CN112256327A (zh) * 2020-11-01 2021-01-22 屈军军 一种微型电子机械装置
US11934251B2 (en) * 2021-03-31 2024-03-19 Advanced Micro Devices, Inc. Data fabric clock switching
US11940860B2 (en) 2021-06-22 2024-03-26 Microsoft Technology Licensing, Llc. Power budget management using quality of service (QoS)
WO2022271606A1 (en) * 2021-06-22 2022-12-29 Microsoft Technology Licensing, Llc Power budget management using quality of service (qos)
JP2023136634A (ja) * 2022-03-17 2023-09-29 キヤノン株式会社 印刷管理システム、及び方法
US11726855B1 (en) * 2022-04-26 2023-08-15 Dell Products L.P. Controlling access to an error record serialization table of an information handlng system
CN115543055B (zh) * 2022-11-28 2023-03-14 苏州浪潮智能科技有限公司 电源管理的控制权移交方法、装置、设备和存储介质

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646232A (en) * 1984-01-03 1987-02-24 Texas Instruments Incorporated Microprocessor with integrated CPU, RAM, timer, bus arbiter data for communication system
US4641308A (en) * 1984-01-03 1987-02-03 Texas Instruments Incorporated Method of internal self-test of microprocessor using microcode
TW282525B (pt) * 1994-06-17 1996-08-01 Intel Corp
US6052793A (en) * 1998-06-10 2000-04-18 Dell Usa, L.P. Wakeup event restoration after power loss
US6167511A (en) * 1998-06-15 2000-12-26 Phoenix Technologies Ltd. Method to reflect BIOS set up changes into ACPI machine language
WO2000051000A1 (fr) * 1999-02-24 2000-08-31 Hitachi, Ltd. Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
US7197548B1 (en) * 1999-07-20 2007-03-27 Broadcom Corporation Method and apparatus for verifying connectivity among nodes in a communications network
US6732280B1 (en) * 1999-07-26 2004-05-04 Hewlett-Packard Development Company, L.P. Computer system performing machine specific tasks before going to a low power state
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6530031B1 (en) * 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus for timing duration of initialization tasks during system initialization
US7016060B1 (en) 1999-12-08 2006-03-21 International Business Machines Corporation Method, system, and program for reconfiguring logical printers in a network printing system
US6499102B1 (en) * 1999-12-29 2002-12-24 Intel Corporation Method of dynamically changing the lowest sleeping state in ACPI
US6931553B1 (en) * 2000-04-20 2005-08-16 Microsoft Corporation Preventing general purpose event interrupt storms in a computer system
US6826701B1 (en) * 2000-04-20 2004-11-30 Microsoft Corporation Re-running general purpose event control methods in a computer system
US7085944B1 (en) * 2000-09-30 2006-08-01 Intel Corporation Power management by transmitting single multiplexed signal to multiple system components to change settings of internal performance registers in response to change in power source
US6704877B2 (en) 2000-12-29 2004-03-09 Intel Corporation Dynamically changing the performance of devices in a computer platform
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
US7089430B2 (en) * 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US20030188146A1 (en) * 2002-03-28 2003-10-02 Hale Robert P. Method of ordered execution of firmware modules in a pre-memory execution environment
US6848057B2 (en) * 2002-05-28 2005-01-25 Nvidia Corporation Method and apparatus for providing a decoupled power management state
US20040024867A1 (en) * 2002-06-28 2004-02-05 Openwave Systems Inc. Method and apparatus for determination of device capabilities on a network
US6990576B2 (en) * 2002-08-07 2006-01-24 Hewlett-Packard Development Company, L.P. System and method for using a firmware interface table to dynamically load an ACPI SSDT
US7698583B2 (en) * 2002-10-03 2010-04-13 Via Technologies, Inc. Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature
US7131015B2 (en) * 2002-11-12 2006-10-31 Arm Limited Performance level selection in a data processing system using a plurality of performance request calculating algorithms
US7219241B2 (en) * 2002-11-30 2007-05-15 Intel Corporation Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7007160B1 (en) * 2002-12-03 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table
CN1534863A (zh) * 2003-01-15 2004-10-06 松下电器产业株式会社 振荡电路
US7827283B2 (en) * 2003-02-19 2010-11-02 International Business Machines Corporation System for managing and controlling storage access requirements
US7502803B2 (en) * 2003-05-28 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for generating ACPI machine language tables
US7051215B2 (en) * 2003-06-13 2006-05-23 Intel Corporation Power management for clustered computing platforms
US7752470B2 (en) 2003-12-03 2010-07-06 International Business Machines Corporation Method and system for power management including device controller-based device use evaluation and power-state control
US20050192788A1 (en) * 2004-02-27 2005-09-01 Hobson Louis B. Simulating processor performance states
JP4144880B2 (ja) * 2004-04-09 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
US7360103B2 (en) * 2004-05-21 2008-04-15 Intel Corporation P-state feedback to operating system with hardware coordination
US20050283599A1 (en) * 2004-06-22 2005-12-22 Zimmerman Toby S Exposing BIOS information to an ACPI aware operating system
US7243222B2 (en) * 2004-06-24 2007-07-10 Intel Corporation Storing data related to system initialization in memory while determining and storing data if an exception has taken place during initialization
EP1770920A4 (en) * 2004-07-16 2011-10-12 Brother Ind Ltd CONNECTING MODE CONTROL DEVICE, CONNECTION MODE CONTROL METHOD AND CONNECTION MODE CONTROL PROGRAM
US7386688B2 (en) * 2004-07-29 2008-06-10 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
US7594128B2 (en) * 2004-08-04 2009-09-22 Hewlett-Packard Development Company, L.P. Systems and methods to determine processor utilization
US7565562B2 (en) 2004-09-03 2009-07-21 Intel Corporation Context based power management
US7242227B2 (en) * 2004-11-01 2007-07-10 Texas Instruments Incorporated Common mode stabilization circuit for differential bus networks
US7610497B2 (en) * 2005-02-01 2009-10-27 Via Technologies, Inc. Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
US7487222B2 (en) * 2005-03-29 2009-02-03 International Business Machines Corporation System management architecture for multi-node computer system
CN100527089C (zh) * 2005-04-27 2009-08-12 松下电器产业株式会社 信息处理装置中的功率控制装置
US7454639B2 (en) * 2005-06-30 2008-11-18 Intel Corporation Various apparatuses and methods for reduced power states in system memory
US20070043965A1 (en) 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7516336B2 (en) * 2005-09-29 2009-04-07 Intel Corporation System and method for power reduction by sequestering at least one device or partition in a platform from operating system access
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US20070136523A1 (en) * 2005-12-08 2007-06-14 Bonella Randy M Advanced dynamic disk memory module special operations
US7516317B2 (en) * 2005-12-29 2009-04-07 Microsoft Corporation Measuring an operating system's boot duration
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US20070260761A1 (en) * 2006-03-28 2007-11-08 Inventec Corporation Inter-module data communication control method and system for ACPI and BIOS
JP2007272573A (ja) * 2006-03-31 2007-10-18 Hitachi Ltd 低消費電力化メモリ管理方法及びメモリ管理プログラム
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US20080010516A1 (en) * 2006-06-14 2008-01-10 Inventec Corporation Method and apparatus for indicating the actual progress of a booting procedure
US20080010527A1 (en) * 2006-06-26 2008-01-10 Inventec Corporation Method of solving BIST failure of CPU by means of BIOS and maximizing system performance
US7610482B1 (en) * 2006-06-28 2009-10-27 Qlogic, Corporation Method and system for managing boot trace information in host bus adapters
US7747881B2 (en) 2006-08-14 2010-06-29 Globalfoundries Inc. System and method for limiting processor performance
US20080046546A1 (en) 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
KR100770703B1 (ko) * 2006-08-30 2007-10-29 삼성전자주식회사 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템
JP2008109243A (ja) * 2006-10-24 2008-05-08 Renesas Technology Corp Rf通信用半導体集積回路
US20080147357A1 (en) * 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
US7953996B2 (en) * 2006-12-18 2011-05-31 Hewlett-Packard Development Company, L.P. ACPI to firmware interface
KR100890152B1 (ko) * 2006-12-22 2009-03-20 매그나칩 반도체 유한회사 Cmos 이미지 센서를 위한, 작은 크기, 높은 이득 및낮은 노이즈의 픽셀
US8302087B2 (en) * 2007-01-05 2012-10-30 International Business Machines Corporation Quality assurance in software systems through autonomic reliability, availability and serviceability code generation
JP4912174B2 (ja) * 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
US8448024B2 (en) * 2007-05-16 2013-05-21 Intel Corporation Firmware assisted error handling scheme
TW200917006A (en) 2007-10-01 2009-04-16 Inventec Corp Apparatus and method for power management
US8250354B2 (en) * 2007-11-29 2012-08-21 GlobalFoundries, Inc. Method and apparatus for making a processor sideband interface adhere to secure mode restrictions
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8151081B2 (en) * 2007-12-20 2012-04-03 Intel Corporation Method, system and apparatus for memory address mapping for sub-socket partitioning
US7831816B2 (en) * 2008-05-30 2010-11-09 Globalfoundries Inc. Non-destructive sideband reading of processor state information
US7912082B2 (en) * 2008-06-09 2011-03-22 Oracle America, Inc. Shared virtual network interface
US7984286B2 (en) * 2008-06-25 2011-07-19 Intel Corporation Apparatus and method for secure boot environment
US20090327609A1 (en) * 2008-06-30 2009-12-31 Bruce Fleming Performance based cache management
US20100153523A1 (en) * 2008-12-16 2010-06-17 Microsoft Corporation Scalable interconnection of data center servers using two ports
US8458498B2 (en) 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
US8601296B2 (en) 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
US8799691B2 (en) * 2009-01-07 2014-08-05 Hewlett-Packard Development Company, L.P. Hierarchical power management
JP5218568B2 (ja) * 2009-01-26 2013-06-26 富士通株式会社 構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラム
JP5118074B2 (ja) 2009-01-27 2013-01-16 日本電信電話株式会社 光ファイバ
US8131991B2 (en) * 2009-02-10 2012-03-06 Sony Corporation System and method for configuring plural software profiles
US8135970B2 (en) 2009-03-06 2012-03-13 Via Technologies, Inc. Microprocessor that performs adaptive power throttling
US20100235834A1 (en) * 2009-03-16 2010-09-16 Faasse Scott P Providing a management communication channel between a software layer and platform layer for hardware management control
US8171319B2 (en) * 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states
US9244797B2 (en) * 2009-05-29 2016-01-26 Dell Products L.P. Methods for managing performance states in an information handling system
US8464038B2 (en) * 2009-10-13 2013-06-11 Google Inc. Computing device with developer mode
US8490179B2 (en) * 2009-10-27 2013-07-16 Hewlett-Packard Development Company, L.P. Computing platform
US20110131427A1 (en) 2009-12-02 2011-06-02 Jorgenson Joel A Power management states
US20110145555A1 (en) * 2009-12-15 2011-06-16 International Business Machines Corporation Controlling Power Management Policies on a Per Partition Basis in a Virtualized Environment
US8555091B2 (en) * 2009-12-23 2013-10-08 Intel Corporation Dynamic power state determination of a graphics processing unit
JP5544878B2 (ja) * 2009-12-25 2014-07-09 富士通株式会社 故障制御装置、プロセッサコア、演算処理装置、情報処理装置および擬似故障制御方法
US9310838B2 (en) * 2010-03-19 2016-04-12 I/O Interconnect, Ltd. Power management method for switching power mode of a computer system based on detection of a human interface device
KR20110114910A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 집적회로 및 그것의 소비전력 측정 방법
US8522066B2 (en) * 2010-06-25 2013-08-27 Intel Corporation Providing silicon integrated code for a system
US8648690B2 (en) * 2010-07-22 2014-02-11 Oracle International Corporation System and method for monitoring computer servers and network appliances
JP5598144B2 (ja) 2010-08-04 2014-10-01 ソニー株式会社 情報処理装置、電源制御方法、およびプログラム
US8495395B2 (en) * 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US8812825B2 (en) * 2011-01-10 2014-08-19 Dell Products L.P. Methods and systems for managing performance and power utilization of a processor employing a fully multithreaded load threshold
JP5782465B2 (ja) * 2011-01-28 2015-09-24 ルネサスエレクトロニクス株式会社 コントローラ、および半導体システム
US8659341B2 (en) * 2011-05-02 2014-02-25 Analog Devices, Inc. System and method for level-shifting voltage signals using a dynamic level-shifting architecture
US8788777B2 (en) * 2011-05-06 2014-07-22 Marvell World Trade Ltd. Memory on-demand, managing power in memory
US8966305B2 (en) * 2011-06-30 2015-02-24 Advanced Micro Devices, Inc. Managing processor-state transitions
US9026815B2 (en) * 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9031847B2 (en) * 2011-11-15 2015-05-12 Microsoft Technology Licensing, Llc Voice-controlled camera operations
GB2510091B (en) 2011-11-22 2020-05-20 Intel Corp Collaborative processor and system performance and power management
US8645797B2 (en) * 2011-12-12 2014-02-04 Intel Corporation Injecting a data error into a writeback path to memory
DE112012006377B4 (de) * 2012-05-17 2022-02-24 Intel Corporation Energieverbrauch und Leistung von Computersystemen steuern

Also Published As

Publication number Publication date
CN103946765B (zh) 2017-11-17
TW201335841A (zh) 2013-09-01
WO2013078397A1 (en) 2013-05-30
US20170003724A1 (en) 2017-01-05
US10514931B2 (en) 2019-12-24
US20140059368A1 (en) 2014-02-27
KR101723009B1 (ko) 2017-04-04
DE112011105867B4 (de) 2020-03-19
JP6155507B2 (ja) 2017-07-05
TW201337537A (zh) 2013-09-16
TWI502505B (zh) 2015-10-01
US20170147358A1 (en) 2017-05-25
DE112011105867T5 (de) 2014-11-06
US20190065211A1 (en) 2019-02-28
WO2013078363A1 (en) 2013-05-30
GB2510091B (en) 2020-05-20
US9898306B2 (en) 2018-02-20
US9454380B2 (en) 2016-09-27
WO2013078387A1 (en) 2013-05-30
US20130275796A1 (en) 2013-10-17
US11221857B2 (en) 2022-01-11
TW201339967A (zh) 2013-10-01
KR20170013402A (ko) 2017-02-06
US20130275737A1 (en) 2013-10-17
KR20170072953A (ko) 2017-06-27
KR101810822B1 (ko) 2017-12-19
US10007528B2 (en) 2018-06-26
JP2015505388A (ja) 2015-02-19
US20130283032A1 (en) 2013-10-24
US20130151569A1 (en) 2013-06-13
US10078522B2 (en) 2018-09-18
US9442739B2 (en) 2016-09-13
WO2013078418A1 (en) 2013-05-30
US20140059337A1 (en) 2014-02-27
US9454379B2 (en) 2016-09-27
US10108433B2 (en) 2018-10-23
US9535711B2 (en) 2017-01-03
BR112014012398A2 (pt) 2017-06-13
US9594570B2 (en) 2017-03-14
KR20140082832A (ko) 2014-07-02
US10732986B2 (en) 2020-08-04
KR101763102B1 (ko) 2017-08-04
US20190317773A1 (en) 2019-10-17
US20180181407A1 (en) 2018-06-28
US11301257B2 (en) 2022-04-12
GB201408838D0 (en) 2014-07-02
IN2014CN02785A (pt) 2015-07-03
WO2013077890A1 (en) 2013-05-30
US10275260B2 (en) 2019-04-30
TWI467363B (zh) 2015-01-01
WO2013077889A1 (en) 2013-05-30
US20140258701A1 (en) 2014-09-11
CN103946765A (zh) 2014-07-23
GB2510091A (en) 2014-07-23
WO2013077891A1 (en) 2013-05-30
TWI518586B (zh) 2016-01-21
US20170147484A1 (en) 2017-05-25
US20140053024A1 (en) 2014-02-20

Similar Documents

Publication Publication Date Title
BR112014012398B1 (pt) Plataforma de computação e aparelho para gerenciamento de desempenho e energia de computação com estrutura de dados de desempenho de firmware
US9081734B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US9921852B2 (en) Out-of-band retrieval of network interface controller information
TW201915723A (zh) 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體
KR20140064788A (ko) 저전력 컴퓨터 시스템을 구축하기 위한 방법 및 시스템
BR112013015447B1 (pt) Processador, sistema e método para configurar a potência térmica de projeto em um microprocessador
US7975084B1 (en) Configuring a host computer using a service processor
BRPI0822765A2 (pt) método implementado por computador para prover processos de desligamento híbrido e partida rápida para um sistema de computador, sistema para prover processos de desligamento híbrido e partida rápida e meio lido por computador
JP2020038604A (ja) 合理化されたサーバ設計の方法及びシステム
US10437762B2 (en) Partitioned interconnect slot for inter-processor operation
US20180018127A1 (en) Obtaining state information of processes of a device
US11288078B1 (en) Providing firmware specific information via ACPI tables
KR101865990B1 (ko) 컴퓨터에서 운영 체제로부터 논리 프로세서를 은폐하기
US20210286608A1 (en) Transfer of firmware updates using an in-band interface
US10289467B2 (en) Error coordination message for a blade device having a logical processor in another system firmware domain
TWI791998B (zh) 在開機自我檢測例行程序期間提供狀態資訊之系統及其方法
US10613850B1 (en) Performant and secure storage and retrieval of firmware variables
US11086758B1 (en) Identifying firmware functions executed in a call chain prior to the occurrence of an error condition
BRPI1004953A2 (pt) mÉtodo gerenciador de inicializaÇço méltipla

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]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 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 21/11/2012, OBSERVADAS AS CONDICOES LEGAIS.