O que é otimização de energia?
A otimização de energia é a tentativa de reduzir a energia consumida por dispositivos digitais, como circuitos integrados, equilibrando parâmetros como tamanho, desempenho e dissipação de calor. É uma área muito crítica do design de componentes eletrônicos, porque muitos dispositivos eletrônicos portáteis requerem alta capacidade de processamento com baixo consumo de energia. Os componentes precisam executar funções complexas, mas geram o mínimo de calor e ruído possível, todos compactados em uma área superficial muito pequena. Uma área intensamente pesquisada de design digital, a otimização de energia é vital para o sucesso comercial de muitos dispositivos.
A idéia de otimizar o poder no design eletrônico começou a ganhar atenção no final dos anos 80, com o amplo uso de dispositivos portáteis. A duração da bateria, efeitos de aquecimento e requisitos de resfriamento tornaram-se muito importantes por razões ambientais e econômicas. A instalação de componentes cada vez mais complexos em chips menores tornou-se vital para garantir a produção de dispositivos menores com mais funcionalidade. O calor gerado pela inclusão de tantos componentes, no entanto, tornou-se uma questão importante. Fatores como desempenho e confiabilidade do dispositivo também são afetados pelo calor.
Para escalar chips, reduzir o tamanho da matriz e ainda ter desempenho máximo em níveis aceitáveis de temperatura, é necessário investir tempo em metodologias de otimização de energia. A otimização manual de energia se torna impossível com chips existentes, como circuitos integrados, porque eles contêm milhões de componentes. Normalmente, os projetistas realizam otimização de energia limitando a energia desperdiçada, que é principalmente especulação, arquitetura e desperdício de programa. Todos esses métodos tentam reduzir o desperdício de energia desde o nível do projeto do circuito até a execução e aplicação.
O desperdício de programa ocorre quando um microprocessador de ponta executa comandos desnecessários. A execução desses comandos não altera o conteúdo da memória e os registradores. Eliminar o desperdício do programa significa reduzir a execução de instruções inoperantes e livrar-se de lojas silenciosas. O desperdício de especulação acontece quando o processador busca e executa instruções além das ramificações não resolvidas. O desperdício arquitetural acontece quando estruturas como caches, preditores de ramificação e filas de instruções são muito grandes ou muito pequenas.
Principalmente projetadas para armazenar grandes quantidades, as estruturas arquitetônicas geralmente não são usadas em sua capacidade total. Por outro lado, diminuí-los também aumenta o consumo de energia devido a mais erros de especificação. A otimização de energia bem-sucedida requer o uso de uma abordagem no nível do sistema, selecionando componentes que consomem muito pouca energia. Todas as combinações possíveis desses tipos de componentes podem ser exploradas na fase de projeto. Reduzir a quantidade de atividade de comutação necessária no circuito também garante menor consumo de energia.
Algumas das outras abordagens usadas para otimização de energia incluem controle de clock, modos de suspensão e melhor design lógico. Reimpressão, balanceamento de caminho e codificação de estado são outros métodos lógicos que podem limitar o consumo de energia. Alguns projetistas de microprocessadores também usam formatos especiais para codificar arquivos de design que inserem recursos de controle de economia de energia.