Aproveitamento do Processador Monociclo: Apenas uma parte da instrução é executada por vez Pipeline: Tarefas independentes de várias instruções são executadas simultaneamente ex. Fetch, Aritmética, Acesso a Registrador
Limitações Pipelines muito longos: Clock muito alto Muitas instruções pendentes Tratamento de interrupções, cache misses, etc, se torna muito caro Clock muito alto Exige pipelines muito longos Gasto de energia alto, muito calor
Paralelismo em Nível de Thread Visível para o Sistema Operacional: Requer programação especial Principais implementações: HyperThreading DualCore
SMT Multithread e Multithread Simultâneo Sem multithread Com multithread Com multithread simultâneo
HyperThreading Idéias para o multi-processamento de threads Dual Core Switch em períodos Implementação do Hyper Threading Processadores lógicos Otimizações HALT Schedule Desempenho
Dual Core Dois núcleos independentes Freqüências menores Melhor desempenho por watt gasto Compartilha acesso à memória Memória pode se tornar um gargalo Uma thread não utiliza os dois núcleos Requer programação especial