O que a CPU * realmente * faz durante as instruções de memória?

0

Eu estava testando recentemente o módulo cpufreq do Linux e notei que, independentemente de estar executando um benchmark com uso intensivo de CPU ou um benchmark com uso intenso de memória, o módulo cpufreq sempre escolheu a frequência máxima.

Eu entendo que o governador desempenha um papel importante na decisão das configurações de frequência. Assim, testei-o com os governantes sob demanda e conservadores e descobri que os resultados são quase os mesmos (o conservador tem uma subida minúscula até a frequência máxima, enquanto que o comando apenas seleciona a frequência máxima imediatamente).

Isso levantou a questão sobre o que a CPU está realmente fazendo durante um carregamento / armazenamento. Nós todos sabemos que a memória roda significativamente mais devagar que a CPU e as instruções load / store normalmente levam vários ciclos de CPU para completar.

editar : percebo que muitas dessas instruções load / store provavelmente atingirão o cache. E aqueles que não o fazem?

O que a CPU está realmente fazendo durante esses ciclos? Está ocupado esperando ou ocioso?

    
por Guru Prasad 03.08.2013 / 07:20

1 resposta

2

Os termos CPU, processador e núcleo do processador são muito importantes em sua pergunta. O que você provavelmente pretende perguntar é, o que é o núcleo do processador que está realmente fazendo enquanto aguarda a memória.

Na maioria dos processadores Intel modernos, ele começa a executar outro ramo de instruções. Isso é chamado de hyper-threading.

Na maioria dos outros processadores, ele essencialmente gasta tempo em um estado de espera.

    
por 03.08.2013 / 07:45