3.6. ARAŞTIRMANIN BULGULARI
3.6.1. Altınoluk’la İlgili Bulgular
3.6.1.3. Altınoluk’un İklimle İlgili Özellikleri
Para aferir o consumo de energia na plataforma HeMPS utilizam-se os dois modelos descritos nas Seções 6.1 e 6.2. Outros módulos do PE, como DMA ou NI, não são considerados na estimativa do consumo de energia, visto que o consumo de energia destes é constante e inferior ao do processador ou do roteador (valores de potência média em 65 nm para os módulos NI e DMA são 0,683 e 0,111 mW, respectivamente). São monitorados, em tempo de execução os seguintes parâmetros:
• Quantidade de flits e pacotes recebidos em cada porta de cada roteador;
• Quantidade de instruções de cada classe executadas pelo kernel e pelas tarefas;
• A frequência em que o PE opera em cada momento da simulação.
Estes parâmetros são armazenados em uma estrutura de dados acrescida ao ISS (do inglês Intruction Set Simulator) do processador Plasma. Esta estrutura de dados é construída todas as vezes em que o processador realizar uma instrução de SYSCALL. Tal estrutura é divida nos campos
descritos na
Tabela 7 abaixo.
Com base nesta estrutura de dados, aplicam-se os modelos de consumo do processador e do roteador após a simulação, a fim de se calcular o consumo de energia na plataforma HeMPS.
Como mencionado na Seção 6.3, no modelo de cálculo de energia abstraiu-se a influência de outros módulos do PE, como DMA ou NI. Entretanto, é importante se avaliar o consumo nos fios que interconectam os PEs, pois estes são uma componente que apresenta um consumo variável conforme o volume de dados transmitido.
Para se determinar o consumo em um determinado fio deve-se conhecer o comprimento do fio, sua capacitância, tensão do nível lógico ‘1’. Assume-se um tamanho do PE igual a 1 mm2 (resultado obtido com a síntese física do PE para tecnologia de 65 nm), tensão de alimentação igual a 1V, roteamento em metal 5 (0,2194 fF/micron), largura dos fios igual a 0,3 µm e distância entre fios igual a 0,3 µm. As equações 9 a 11 apresentam o consumo para um fio com estas características. Para determinar o consumo em um determinado fio não precisamos da noção de tempo, pois precisamos saber apenas o número de vezes em que as capacitâncias dos fios carregam e descarregam.
capacitância para fio de 1 mm em metal 5 = 219,4 fF (9)
energia no fio (Efio) = C*v2 = 219,4 fJ = 0,2194 pJ (10)
Tabela 7 - Estrutura do bloco de dados para a avaliação do consumo de energia na HeMPS, gerado durante uma execução.
Campo da Estrutura
de Dados Descrição do Campo
#BLOCK Delimitador do início de uma nova estrutura de dados
cycles_sim Tempo de execução, em ciclos de relógio, até o momento da gravação desta
estrutura de dados
freq_num_cpu Campo “numerador” do valor da frequência do PE
freq_den_cpu Campo “denominador” do valor da frequência do PE
arith_inst_kernel Número de instruções da categoria aritmética executadas pelo kernel
branch_inst_kernel Número de instruções da categoria saltos executadas pelo kernel load_inst_kernel Número de instruções da categoria load/store executadas pelo kernel
logical_inst_kernel Número de instruções da categoria lógica executadas pelo kernel
move_inst_kernel Número de instruções da categoria move executadas pelo kernel
shift_inst_kernel Número de instruções da categoria shift executadas pelo kernel
other_inst_kernel Número de instruções de outras categorias executadas pelo kernel
arith_inst_user Número de instruções da categoria aritmética executadas pelas tarefas
branch_inst_ user Número de instruções da categoria saltos executadas pelas tarefas
load_inst_ user Número de instruções da categoria load/store executadas pelas tarefas
logical_inst_ user Número de instruções da categoria lógica executadas pelas tarefas
move_inst_ user Número de instruções da categoria move executadas pelas tarefas
shift_inst_ user Número de instruções da categoria shift executadas pelas tarefas
other_inst_ user Número de instruções de outras categorias executadas pelas tarefas
east_flits Número de flits recebidos na porta leste do roteador deste PE
west_flits Número de flits recebidos na porta oeste do roteador deste PE
north_flits Número de flits recebidos na porta norte do roteador deste PE
south_flits Número de flits recebidos na porta sul do roteador deste PE
local_flits Número de flits recebidos na porta local do roteador deste PE
east_pckts Número de pacotes recebidos na porta leste do roteador deste PE
west_pckts Número de pacotes recebidos na porta oeste do roteador deste PE
north_pckts Número de pacotes recebidos na porta norte do roteador deste PE
south_pckts Número de pacotes recebidos na porta sul do roteador deste PE
local_pckts Número de pacotes recebidos na porta local do roteador deste PE
#END_BLOCK Delimitador de final da estrutura de dados
O consumo de energia de um dado enlace é obtido pela equação 12:
Pwire
port=wire_energy×
flits
port*α
(12)onde: wire_energy é a energia gasta para transmitir um flit no enlace; flitsport é a
quantidade de flits recebida em uma dada porta do roteador; α é a atividade de chaveamento do fio (assume-se um valor igual a 0,4, o que é bastante elevado, pois se considera que 40% dos bits estão chaveando).
Somente são consideradas no cálculo de energia dos fios as conexões entre roteadores, visto que a conexão entre o processador e o roteador (porta local) é muito curta e, sendo assim, possui um consumo de energia negligenciável. O cálculo do consumo de energia dos fios de conexão entre PEs é realizado através da soma da energia consumida em todos os enlaces do MPSoC.