quarta-feira, 2 de novembro de 2011

A Evolução dos Precessadores da Intel

A História dos Processadores da Intel

A Evolução da Arquitetura x86 da Intel
O primeiro microprocessador efetivamente lançado pela Intel foi o 4004 (processador com palavra de 4 bits), e posteriormente a companhia cresceu consideravelmente no mercado de trabalho com o lançamento do Intel 8080/8085, veio a construir-se no processador dos primeiros microcomputadores comerciais.


Os processadores de 8 bits, anteriores á primeira geração da Arquitetura para PCs
O processador Intel 8080 e o 8085 possuíam palavras de 8 bits, mesmo tamanho da palavra do processador Motorola 6800, esse processador foi lançado na mesma época . Os endereços tinham 16 bits, tendo uma capacidade máxima de memória endereçável de 64k células ou 64 kbytes, visto que, cada célula podia armazenar 1 byte de dados.
Tratava-se de um processador que realizava o ciclo da instrução de forma seqüencial, possuindo 80 instruções de máquina sendo a maior parte de 8 bits (1 byte) de tamanho e outras de 2 e de 3 bytes. Para ter uma economia de espaço na pinagem do chip, alguns dos pinos serviam a dois propósitos; assim, os 16 bits de endereços ficavam armazenados separadamente, assim ficava 8 bits a menos, bem como 8 bits de dados, fluindo pelo barramento de dados até o RDM, e os 8 bits restante no REM.
A arquitetura x86 dos processadores para computadores pessoais iniciou-se com o processador 8086 e logo depois veio o 8088 ficou famoso por ter sido escolhido pela IBM para compor os computadores pessoais.


O IBM PC, invadiu o mercado de computadores pequenos, revolucionou aquela indústria e iniciou o caminho para o surgimento dos gigantes Microsoft, Compaq, Dell, Sun e outros fabricantes, sejam de software ou de hardware para computadores pequenos e foram eliminado os computadores de grande e médio porte.
A diferença básica entre o 8086 e o 8088 é que o 86 é essencialmente um processador completo de 16 bits, pois seu barramento interno e externo permitia a transferência de 16 bits, enquanto o barramento externo dos 8088 permitia a passagem de apenas 8 bits de dados. Este ultimo processador foi criado ás pressas pela Intel, a redução de capacidade do processador foi uma exigência do fabricante IBM, que pretendia usá-lo nos IBM PC. Como todos os periféricos na época somente transferiam 8 bits de cada vez, o 8086 teria problemas de interface.

A Segunda geração da Arquitetura Intel para PCs – Intel 80286

O processador 286 foi utilizado nos computadores IBM AT, tendo um grande aumento de desempenho em relação aos 8088. Suas características principais eram:
Palavras: 16 bits.
Endereços: 24 bits podendo acessar até 16 Mbytes da memória principal.
Freqüência de Relógio: de 6 MHz até 20 MHz.
Com o processador 286 a Intel introduziu o modo protegido em sua arquitetura, o que permitia que o sistema operacional protegesse programas aplicativos uns dos outros e dos programas dos usuários.
A arquitetura interna dos 286 foi feita diversas modificações em relação á do 8086/8088. A principal delas foi a colocação de duas filas, de códigos e de instruções, além de o 286 possuir 4 unidades operacionais independentes, em vez das duas do 8086/8088. As 4 unidades operacionais do 286 são Unidade de barramento, unidade de instruções, unidade de endereçamento e unidade de execução.
As duas primeiras unidades eram interligadas pela fila de código e a unidade de instrução era ligada á de execução pela fila de instrução.


A unidade de barramento buscava instruções na memória e as encaminhava para a unidade de instruções. Esta informava a unidade de barramento dados para o cálculo dos endereços de acessos. A inclusão de uma unidade separada para calcular previamente endereços acelerou bastante o desempenho do microprocessador 286 em relação ao 8086/8088.
A Terceira Geração da Arquitetura Intel para PCs – Intel 80386

A Intel lançou, em 1985, o processador 386 o primeiro do grupo dos 36 bits de palavras. Dentro da nomenclatura e da arquitetura básica 386 surgiram diversos modelos, lançado não somente pela Intel, mas também por novas empresas fabricantes de processadores surgidos na época, como a AMD e CYRIX.
OS processadores 386 Intel foram: 386SX, 386DX, 386SL. O DX foi o primeiro modelo da família lançado pela Intel, apresentando toda característica de uma maquina de 32 bits. Três anos mais tarde a Intel lançou o modelo 386SX que, apesar de possuir palavras de 32 bits, tinha mais característica dos 286, como barramento externo de dados de 16 bits, endereço de 24 bits.
O processador 386DX tinha as seguintes características:
Palavras: 32 bits;
Endereços: 32 bits
Freqüência de operação: de 16 MHz até 33 MHz;
Estagio de pipeline: 6 Bus Interface, acesso a memória principal e os dispositivos de entrada e saída para ler e escrever dados.
Além do 386DX e 386SX, a Intel também lançou um processador mais voltado para computadores portáteis, o 386SL, que introduziu detalhes de economia de energia e para uso do sistema com baterias (voltagem de operação de 3,3V), embora com freqüência até 25 MHz.
A Quarta Geração da Arquitetura Intel para PCs – Intel 80486

Em 1989 a Intel lançou o processador 80486, denominado 486DX, também com arquitetura de 32 bits, endereçamento de 4 Gbytes (32 bits de endereçamento) e diversos outros aperfeiçoamento em relação á família 386, que melhoram substancialmente seu desempenho.
Os processadores 486DX são capazes de ter um desempenho 100% maior que os 386DX de mesma freqüência de operação, sendo ainda encontrados em sistemas mais simples, como para processamento de texto, acessos simples á Internet e jogos mais antigos.
Na Quinta geração de processadores Pentium ou P5,

A Intel apresentou um conjunto de modificações que alteraram a arquitetura até então vigente e aumentou bastante o desempenho dos sistemas, entre as características novas surgidas na arquitetura Pentium original e que melhoraram seu desempenho podemos citar:
Arquitetura superes calar – com duas unidades de processamento inteiras suas duas pipelining permitem a possibilidade de duas instruções poderem ser executadas em um único ciclo do relógio, se o software estiver preparado para usar está vantagem.
Barramento de 64 bits – garante um taxa de transferência entre UCP/MP maior que nos processadores anteriores.
Freqüência de operação do barramento de memória mais rápida – essa freqüência pode ser de 60 ou 66mhz
Previsão de instrução de desvio – No processo pipeline pode acontecer um problema no caso da instrução de desvio condicional, com isso a Intel modificou o micro código de controle do cachê, fazendo assim o processador já buscar as duas seqüência de instrução teste verdade ou teste falso e após o teste o processador já terá disponível a instrução.
Aperfeiçoamento na memória cachê interna L1 – Houve o aumento da cache para 16kb e sua divisão em 8kb para dados e 8kb para instruções.
Aumento da velocidade de operação – Os Pentium originais foram lançados com freqüências de 60 e 66mhz até 200mhz, posteriormente houve sua substituição pelos Pentium com instruções MMX (Multimedia Extension).
Problemas e seus desdobramentos pela Intel:
O problema denominado FDIV, consistia no fato da perda de precisão em certas operações de divisão, utilizando-se instruções de ponto flutuante.
O Maior erro foi a Intel não aceitar o bug nos processadores e não concordar com a possibilidade de troca, mas posteriormente a empresa encerrou o episódio fazendo a substituição  do processadores sem ônus aos usuários.
Dentro da quinta geração a Intel lança em 1997 a nova versão do seu Pentium que vinha com novas instruções resultando em um tipo de processador chamado MMX, voltado para aplicativos gráficos que consomem muitas operações aritméticas, esses foram lançados com 57 dessas instruções, além disso, esses surgiram com modificações em sua arquitetura aumentando seu desempenho global:
Cache L1 passou a ser de 32kb, divididos em 16 dados e 16 instruções.
Mapeamento associativo por conjuntos do cachê de 2 para 4 conjuntos.
Unidade de previsão de desvio e unidade de decodificação aperfeiçoada.
A Sexta geração dos Intel para PCs – Pentium Pro e Pentium ll (Klamath, Deschutes e Celeron)
É constituída basicamente dos processadores Pentium pro novembro de 1995 e Pentium ll maio de 1997, que tiveram alguns modelos subseqüentes, o Deschutes e o Celeron e mais recente o Pentium lll, possuindo características e aperfeiçoamentos em relação a P5.
Mais uma unidade de processamento, melhor previsão para desvios e execução especulativa denominadas pela Intel Dynamic Execution Microarchitecture.
O Pentium Pro foi o primeiro a ser lançado com principal propósito de ser utilizado em servidores de rede,

Entre os aperfeiçoamentos introduzidos neste podemos citar:
Superpipelining
Cache secundária de L2
Otimização para uso com código de 32bits
Aumento da largura do barramento de endereços
Aumento da Capacidade de multiprocessamento
Aperfeiçoamento na previsão de desvios
Execução especulativa de instruções
Término da execução de instruções fora de ordem
Ele possui um núcleo de execução RISC mais rápido mantendo o resto dos seus elementos dentro da arquitetura CISC, ele possui um decodificado para instruções CISC antes do núcleo RISC.
Essa arquitetura incorpora cachês L1 E L2 no processador, sendo L1 de 16kb e L2 de 256 a 512kb ou até 1MBYTES de memória Sdram acoplada ao processador por um barramento de 64bits, seguem um resumo dos principais componentes do esquema pipeline desta arquitetura:
Fetch/decode unit,
Dispatch/Execute unit,
Retire unit e
Instruction pool
Os quais funcionam com a duas partes da cache L1, com o BIU, que interliga a L1 a L2 e o barramento do sistema.
A unidade de busca e decodificação Fetch/decode é responsável por ler as instruções do cachê L1 e armazena - lá em pool de instruções (instruction pool).
A unidade de programação e execução dispatch/execute faz a execução fora de ordem, uma instrução só pode ser executada se a anterior tiver sido completada.
Unidade de saída Retire/unit coloca as instruções em ordem correta, verificam no pool de instruções quais terminaram e não precisam de nenhuma anterior que não tenha ainda sido executada.
A seguir foi lançado pela Intel o denominado Pentium ll,


Com novo encapsula mento denominado SEC – Single Edge Contact qual parecia com um cartucho com processador e cachê L2 e elementos de refrigeração, este foi lançado em 1997 como intuito de acabar com o problemas existentes com o Pentium Pro devido a inserção da L2 na pastilha, no P2 a L2 foi retirada para fora da pastilha, criação do novo soquete denominado Slot 1. O mesmo foi fabricado em freqüências maiores de 233 e 300mhz e sua L1 interna foram para 32kb antes era 16, ainda dividida.
A terceira UCP da família P6 foi lançada em janeiro de 1998 com o código Deschutes e podia trabalhar em 333mhz com tecnologia de 0,25micra de espessura, porém essa linha foi aperfeiçoada com um barramento de 100mhz podendo fazer os processadores chegarem a clocks de na ordem de 350 a 450mhz e puderam aumentar a velocidade do cache L2 para tempo de acesso de 4,4ns.
Após os Pll Deschutes, a Intel resolveu lançar um processador mais barato para fazer frente à concorrência da AMD e Cyrix, então surgiu o Celeron sem cachê L2, o processador ficou mais barato mais caiu o desempenho, posteriormente ela lançou o Celeron novamente com 128kb de L2 sob o (Codinome Mendocino), e aumentando sua velocidade até que em 2000 modelos com 600 e 700mhz já estavam sendo produzidos com espessuras de 0,18 micros.
O Pentium lll


Este foi lançado em março de 1999, introduzido com um conjunto de 70 instruções MMX para fazer frente à tecnologia 3DNOW da AMD.
Os primeiros operavam em 550mhz, sendo semelhantes aos Pentium ll, mas com mais instruções MMX e novos registradores de ponto flutuante de 128bits justamente para emprego com as novas instruções, em essência as modificações do Plll em relação ao Pll foram:
Inclusão das 70 novas instruções sendo 50 delas para permitir cálculos simultâneos de vários números representados em ponto flutuante, 12 instruções para a categoria de vídeo e 8 instruções para facilitar a interação da memória principal com a cachê L2.
Código de Identificação único do chip (PSN – processo serial number).
Novos registradores de 128bits para manipular 4 valores em ponto flutuante acelerando o processamento gráfico em 3D.

Arquitetura dos Processadores da Família Core i3, i5 e i7
Intel Core i3

 É o nome da nova família de processadores da Intel, destinado a Desktops x86-64 que aborda a utilização da micro arquitetura Nehalem da Intel. Concebido no mesmo ano que o processador Core i5, o processador Core i3 é o processador de menor poder de processamento se comparado aos seus irmãos Core i7 e Core i5, da família Nehalem. O recurso Hyper-Threading estará ativado nesses modelos permitindo que o processador possa simular a existência de um maior numero de núcleos, fazendo com que o desempenho do processador aumente significativamente.

Intel Core i5

 É o nome de uma série de processadores da Intel destinada a Desktop x86-64 que aborda a utilização da micro arquitetura Nehalem. Diferentemente do processador Intel Core i7, o processador Intel Core i5 utiliza uma soquete denominada LGA 1156. O processador Core i5 continuará a trabalhar com uma controladora de memória embutida em si mesmo, permanecendo com a arquitetura Nehalem do processador Core i7. A diferença para o seu irmão Core i7 se dá pelo fato de que a nova geração de processadores da Intel possuirá uma controladora de gráficos PCI-Express embutida em si, utilizando uma interface de comunicação denominada DMI (Direct Media Interface), que irá agilizar ainda mais a comunicação com o chipset e pela falta do SMT, recurso semelhante ao Hyper-Threading do antigo Pentium 4.
O primeiro modelo da série Core i5 a ser lançado aos usuários se deu no dia 9 de Setembro de 2009, chamado de Core i5 750. O Core i5 750 é o primeiro modelo da nova geração e apresenta uma freqüência de 2.66GHz, trabalhando com 4 núcleos(Quad Core) e possuindo um cache L3 de 8 MB. Se comparado ao seu
O Core i7 marcou a introdução do Nehalem, baseado em uma arquitetura com muitas modificações em relação ao Penryn e aos processadores anteriores, incluindo um controlador de memória integrado e a tão esperada migração do FSB para um barramento serial ponto á ponto, duas melhorias que foram introduzidas anos antes pela AMD, às quais a Intel vinha resistindo até então.
Embora o Core i7 tenha sido originalmente introduzido como um processador de nicho, destinado ao mercado high-end, a nova arquitetura deu origem também aos processadores das linhas Core i5 e Core i3, que passaram a gradualmente substituir os modelos anteriores nos PCs de baixo e médio custo.
Começando com um pouco de contexto histórico, no início de 2006 a Intel estava em uma situação complicada. O Pentium D, baseado na ineficiente arquitetura NetBurst perdia para o Athlon X2 tanto em termos de desempenho quanto em termos de eficiência, gastando muita energia e rendendo pouco. Na época, os processadores AMD eram superiores tanto nos desktops quanto nos servidores e a Intel perdia terreno rapidamente em ambas as frentes. Quando tudo parecia perdido, a Intel apresentou a arquitetura Core, que deu origem ao Core 2 Duo e aos demais processadores da linha atual, com os quais conseguiram virar a mesa.

Irmão (Core i7) da mesma família, o processador Core i5 aumentou a sua capacidade, suportando agora memórias DDR3-1333. Porém em desvantagem o processador Core i5 poderá somente trabalhar em modo Dual Channel enquanto que o modelo atual Core i7, podem trabalhar em modo Triple Channel. Outra novidade, presente na série Core i5, se da ao fato de que o novo padrão de controladoras de vídeo virá já introduzido no próprio processador, sendo desnecessário um meio intermediário de comunicação. Com isso a comunicação entre CPU e GPU será direto por meio de um barramento (ao que se vê como exemplo o barramento QPI), aumentando ainda mais o desempenho do computador.

Da mesma forma que os processadores Core i5 e Core i7, o processador Core i3 utiliza um controlador interno de memória. Já o núcleo que o processador Core i3 utiliza se chama Arrandale. Mais especificamente o processador Core i3 possui 2 núcleos de processamento físicos e dois virtuais, ou seja, ele já possui dois núcleos de processamento físicos e simula mais dois. A tecnologia que possibilita isso se chama Hyper Threading (HT). A Intel promete inovar na sua nova série de processadores da família Nehalem implementando no processador Core i3 e Core i5 a utilização de uma controladora gráfica PCI-Express, que agilizará ainda mais a comunicação com chipset utilizando a interface DMI [1][2]. É equipado com o acelerador de mídia gráfica de alta definição que proporciona reprodução de alta definição e com recursos avançados de 3D. O que faz com que o processador Core i3 seja diferente dos seus irmãos se da ao fato de que a nova série Core i3 pretende revolucionar utilizando uma lisura em 32nm.



Outra mudança dramática é a inclusão de um controlador de memória integrado, assim como temos nos processadores AMD. O controlador de memória integrado reduz substancialmente o tempo de latência da memória, resultando em um ganho de desempenho considerável. Um dos grandes motivos o Athlon X2 ter se mantido competitivo em relação ao Core 2 Duo, apesar de possuir bem menos cache, era justamente devido ao fato de utilizar o controlador dedicado, enquanto o Core 2 Duo dependia do trabalho do chipset. Em vez de utilizar um controlador single-channel, ou dual-channel, a Intel optou por utilizar um controlador triple-channel na versão inicial do Core i7, com memórias DDR3. Isso significa uma banda total de até 32 GB/s. Para ter uma idéia, isso é 40 vezes mais do que tínhamos há 10 anos, quando utilizávamos módulos de memória SDR PC-100 em conjunto com o Pentium III.
Os três canais operam de forma independente, de forma que o processador pode iniciar uma nova leitura em um dos módulos enquanto ainda espera os dados referentes a uma leitura anterior, realizada em outro módulo. Isso contribui para reduzir o tempo de latência do acesso à memória, que é, proporcionalmente, muito mais alto nos módulos DDR3.
O problema com o controlador integrado é que ele aumenta substancialmente o número de contatos do processador, o que quebra completamente a compatibilidade com as placas soquete 775.
O Core i7 introduziu o soquete LGA-1366, com quase o dobro de contatos que o LGA-775 do Core 2 Duo. Até mesmo o formato do processador mudou, passando a ser retangular, assim como no antigo Pentium Pro:



Loop Stream Detector e a Volta do Hyper Threading
A família (i) nehalem, ganhou novidade quanto ao processamento de instruções que é o loop stream detector (LSD), um controlador adicional que vasculha as instruções decodificadas antes que cheguem ao processador.
No núcleo Conroe usados na geração core 2 duo, a Intel inaugurou o uso do “macro-ops fusion” que permite que algumas instruções específicas sejam fundidas durante a fase de decodificação, nos Conroe a macro-ops fusion só funcionava em 32bits, mas com a chegada do Nehalem ganhou suporte a instruções 64bits, o Nehalem também marcou a volta do hyper-threading com novo nome ( SMT – Simultâneos Multi-Threading),fazendo que o processador simule mais 4 núcleos totalizando 8.
O ganho com uso do SMT fica abaixo dos 10% na maioria dos casos, e ainda pode haver perda de ganho em alguns processos, mas existem aqueles casos onde ele apresenta ganhos expressivos.

Gerenciamento de Energia e o Turbo Boost
O Nehalem oferece um sistema de gerenciamento de energia bem elegante pois se estiver executando processos leves pode colocar núcleos do processador em estágios bem leves de consumo ficando em uso apenas um núcleo enquanto os outros estão ociosos, essa tarefa é feita pelo PCU ( Power Control Unit) um controlador dedicado que possui firmware e circuito de processamento próprio unicamente para monitorar as requisições do sistema e os níveis de utilização.
Modelos Baseados no Bloomfield
Os primeiros processadores nehalem receberam o codinome Bloomfield, que inicialmente deram origem a apenas três processadores: i7-920, i7-940 e o i7-965XE que fora seguido pelo i7-950 e i7-975XE, todos esses rodando próximos de 3ghz, a Intel utilizou nesses processadores a tecnologia de transistores Cmos estáticos, com isso conseguem ter uma dissipação térmica muito melhor e baixo consumo.
Lynnfield e o Core i5
Com a possibilidade de usar 4  processadores em um único chip e 16 núcleos,essa tecnologia ficou voltada para o mercado de servidores que a cada dia precisam de mais processamento para gigabytes de bancos de dados e vários sistemas virtual tudo em tempo hábil.
Em um desktop comum isso seria muito desperdício de processamento, com isso a Intel lançou um versão desktop do Nehalem,que deu origem aos core i5 e aos core i7 da série 8xx, processadores quad-core mais baratos,essa família recebeu o nome de Lynnfield com controladores de memória DDR3 dual –channel em vez de triple-channel do nehalem, a primeira vista parecia uma versão castrada do Core i7 mas trata-se de um chip consideravelmente diferente, produzido em linha separada e que recebeu novo tipo de soquete LGA1156.
A linha Core i3
Uma série de processadores voltada para computadores de baixo custo, com arquiteturas complementares diferentes, os modelos 5xx (micros de mesa) e 3xx (para notebooks) são baseados na micro arquitetura Nehalem, já os modelos 21xx(micros de mesa) e 23xx(notebooks) são baseados na nova micro arquitetura Sandy Bridge.
Com a linha de processadores Core i nova arquitetura tem seu controlador de memória trazido para dentro do processador, o qual não depende mais do chipset da placa-mãe o tipo de tecnologia a ser usada, na motherboard pode ter apenas uma limitação da quantidade de memórias instaladas, esse controlador integrado aceita somente memórias DDR3 de até 1,6 volts, possui também um controlador pci Express 2.0 conectado diretamente ao processador, são fabricados com tecnologia de 32nm, utilizam clock base de 133mhz na primeira geração e 100mhz na segunda e não possuem a tecnologia turbo boost de overclock automático, a Intel optou em usar um barramento DMI (Digital Media Interface que opera a 1GB/s na primeira geração e a 2GB/s na segunda geração.






Referências,
Livro Mario A. Monteiro, Introdução á Organização de Computadores.

Internet,
http://www.hardware.com.br/tutoriais/intel-core-i7-i5-i3/