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 PDFInfo
- 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
Links
- 239000000725 suspension Substances 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims 3
- 230000005055 memory storage Effects 0.000 claims 2
- 230000000284 resting effect Effects 0.000 claims 2
- 230000004622 sleep time Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
[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.
[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.
[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.
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)
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)
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 |
-
2011
- 2011-12-30 GB GB1408838.9A patent/GB2510091B/en active Active
- 2011-12-30 WO PCT/US2011/068175 patent/WO2013077889A1/en active Application Filing
- 2011-12-30 CN CN201180075003.6A patent/CN103946765B/zh active Active
- 2011-12-30 WO PCT/US2011/068198 patent/WO2013077890A1/en active Application Filing
- 2011-12-30 DE DE112011105867.5T patent/DE112011105867B4/de active Active
- 2011-12-30 US US13/976,520 patent/US9454379B2/en active Active
- 2011-12-30 WO PCT/US2011/068200 patent/WO2013077891A1/en active Application Filing
- 2011-12-30 US US13/977,531 patent/US10108433B2/en active Active
- 2011-12-30 US US13/976,507 patent/US9442739B2/en active Active
-
2012
- 2012-11-12 TW TW101142033A patent/TWI502505B/zh active
- 2012-11-14 TW TW101142382A patent/TWI518586B/zh active
- 2012-11-15 TW TW101142626A patent/TWI467363B/zh active
- 2012-11-21 WO PCT/US2012/066376 patent/WO2013078397A1/en active Application Filing
- 2012-11-21 US US13/977,530 patent/US9535711B2/en active Active
- 2012-11-21 US US13/977,593 patent/US9454380B2/en active Active
- 2012-11-21 JP JP2014542592A patent/JP6155507B2/ja active Active
- 2012-11-21 BR BR112014012398-5A patent/BR112014012398B1/pt active IP Right Grant
- 2012-11-21 WO PCT/US2012/066402 patent/WO2013078418A1/en active Application Filing
- 2012-11-21 WO PCT/US2012/066326 patent/WO2013078363A1/en active Application Filing
- 2012-11-21 US US13/683,748 patent/US10007528B2/en active Active
- 2012-11-21 US US13/977,635 patent/US10078522B2/en active Active
- 2012-11-21 WO PCT/US2012/066364 patent/WO2013078387A1/en active Application Filing
- 2012-11-21 US US13/977,625 patent/US9594570B2/en active Active
- 2012-11-21 KR KR1020177016297A patent/KR101810822B1/ko active IP Right Grant
- 2012-11-21 KR KR1020177001971A patent/KR101763102B1/ko active IP Right Grant
- 2012-11-21 KR KR1020147013589A patent/KR101723009B1/ko active IP Right Grant
- 2012-11-21 IN IN2785CHN2014 patent/IN2014CN02785A/en unknown
-
2016
- 2016-09-12 US US15/262,816 patent/US10275260B2/en active Active
-
2017
- 2017-01-02 US US15/396,726 patent/US9898306B2/en active Active
- 2017-01-10 US US15/403,006 patent/US10732986B2/en active Active
-
2018
- 2018-02-20 US US15/900,607 patent/US11301257B2/en active Active
- 2018-07-31 US US16/050,240 patent/US10514931B2/en active Active
-
2019
- 2019-04-18 US US16/388,670 patent/US11221857B2/en active Active
Also Published As
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. |