Por que as gerações mais novas de processadores são mais rápidas na mesma velocidade de clock?
Você pode estar curioso para saber como as gerações mais novas de processadores podem ser mais rápidas com a mesma velocidade de clock que os processadores mais antigos. É apenas mudanças na arquitetura física ou é algo mais? O post de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um curioso leitor.
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
Foto cedida por Rodrigo Senna (Flickr).
A questão
O superuser reader agz quer saber porque as gerações mais novas de processadores são mais rápidas com a mesma velocidade de clock:
Por que, por exemplo, um Core i5 dual-core de 2,66 GHz seria mais rápido do que um Core 2 Duo de 2,66 GHz, que também é dual-core??
É por causa de instruções mais recentes que podem processar informações em menos ciclos de clock? Quais outras alterações arquitetônicas estão envolvidas?
Por que as gerações mais novas de processadores são mais rápidas na mesma velocidade de clock??
A resposta
Os colaboradores do SuperUser, David Schwartz e Breakthrough, têm a resposta para nós. Primeiro, David Schwartz:
Geralmente, não é por causa de novas instruções. É só porque o processador requer menos ciclos de instrução para executar as mesmas instruções. Isso pode ser por um grande número de razões:
- Caches grandes significam menos tempo perdido esperando por memória.
- Mais unidades de execução significa menos tempo esperando para começar a operar em uma instrução.
- Melhor previsão de ramificação significa menos tempo desperdiçado de forma especulativa executando instruções que nunca precisam ser executadas.
- Melhorias na unidade de execução significam menos tempo aguardando que as instruções sejam concluídas.
- Gasodutos mais curtos significam que os gasodutos se enchem mais rápido.
E assim por diante.
Seguido pela resposta do Breakthrough:
A referência definitiva absoluta são os Manuais de Desenvolvedores de Software de Arquiteturas Intel 64 e IA-32. Eles detalham as mudanças entre as arquiteturas e são um ótimo recurso para entender a arquitetura x86.
Eu recomendaria que você baixasse os volumes combinados de 1 a 3C (primeiro link de download na página vinculada acima). Volume 1, Capítulo 2.2 tem a informação que você quer.
Algumas diferenças gerais listadas nesse capítulo, indo das micro-arquiteturas Core para Nehalem / Sandy Bridge são:
- Previsão de filial melhorada, recuperação mais rápida de erro de interpretação
- Tecnologia HyperThreading
- Controlador de memória integrado, nova hierarquia de cache
- Manipulação de exceções de ponto flutuante mais rápida (somente Sandy Bridge)
- Melhoria da largura de banda do LEA (apenas Sandy Bridge)
- Extensões de instrução AVX (somente Sandy Bridge)
A lista completa pode ser encontrada no link fornecido acima (Volume 1, Capítulo 2.2).
Certifique-se de ler mais desta discussão interessante através do link abaixo!
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.