Buscar

Arquitetura x86

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

A Arquitetura x86 foi desenvolvida pela Intel Corporation no início de 1978, e se refere a uma família de processadores que tem como base o processador 8086 da Intel. O nome "x86" deriva dessa família, pois todos os outros processadores que vieram depois foram identificados com final 86.
Os primeiros processadores da família x86 eram baseados em uma arquitetura de 16 bits, porém com o tempo e com o avanço tecnológico, a x86 passou a trabalhar também com 32 bits. A AMD foi quem deu início ao desenvolvimento da arquitetura x64, que hoje é usada em larga escala pela própria AMD e também pela Intel. A x6 é literalmente uma evolução da tecnologia x86, justamente por essa similaridade é que ela foi denominada como x64.
A principal diferença entre a tecnologia x86 e x64 está justamente no tamanho limite dos registros que a arquitetura trabalha, passando de 32 bits da x86 para 64 bits da x64, podendo assim dar um apoio mais significativo à novas aplicações com um conjunto de instruções maiores, porém mantendo o suporte às tecnologias antecessoras sem perder nada em desempenho.
O primeiro microprocessador a ser lançado, foi o Intel 4004 em 1971, que foi desenvolvido para o uso em calculadoras podendo calcular até 92 mil instruções por segundo. Com o sucesso dele, a Intel desenvolveu o 8008, em 1972. Uma CPU de 8 bits, com barramento externo de 14 bits, capaz de endereçar 16 KB de memória.
Esse modelo foi substituído, em 1974, pelo Intel 8080, que podia executar operações de 16 bits. O 8080 foi desenvolvido, originalmente, para controlar mísseis guiados. Tinha clock limite de 2 MHz, o que era um valor muito alto para a época, sendo capaz de realizar centenas de milhares de operações por segundo e de endereçar até 64 KB de memória.
Nos anos seguintes, a Intel desenvolveu os modelos 80186 e 80188, criados para serem usados com sistemas embarcados.  Em 1982, a capacidade de processamento chegou ao patamar de 6 e 8 MHz, com o Intel 80286. Posteriormente, a AMD e a Harris Corporation conseguiram romper essa barreira, chegando a 25 MHz.
Foi então que entraram as CPUs de 32 bits (x86-32), que como o nome sugere, é arquitetura x86 de 32 bits, utilizada até hoje em muitos computadores. A grosso modo, podemos dizer que, com exceção de processadores de 64 bits e aqueles de arquitetura ARM, todos os outros existentes ainda hoje são herdeiros das características dessa geração. 
Todos os notebooks, computadores desktop, servidores e etc a partir da linha Pentium passaram a utilizar a arquitetura x86, até que a AMD criou a x64, após isso a Intel passou também a utilizar arquitetura x64, o que de modo algum fez com que seus processadores x86 32 bits deixassem de existir.
O primeiro processador X86 foi o Intel 8086, o qual aproveitou todo o seu potencial. Foi lançado em 1978 e pela primeira vez alcançava a velocidade do clock de 5 MHz, utilizando instruções reais de 16 bits.
Ainda no mesmo ano foi lançado seu sucessor, o 8088 que possuía barramento externo de 8 bits, registradores de 16 bits e faixa de endereçamento de 1 MB, como no 8086. Esse foi o chip utilizado no IBM PC original.
Em outubro de 1985 a Intel lançou o 386, que marcou o início dos tempos modernos, trazendo a primeira encarnação da arquitetura de 32 bits, e que continua em uso basicamente até os dias de hoje. Além de utilizar um barramento de 32 bits, o 386 adotou o uso de endereçamento de 32 bits para acesso à memória, o que tornou possível acessar até 4 GB, mesmo sem usar a segmentação de endereços, como no caso 8088. 
O primeiro 386 operava a apenas 16 MHz, o que permitia que o processador operasse à mesma velocidade dos chips de memória, assim como nos processadores anteriores. 
Quando foi lançada a versão de 20 MHz, o clock do processador havia se tornado maior do que o suportado pelos chips de memória, o que obrigou os projetistas a introduzirem o uso de ciclos de espera, prejudicando o desempenho. Para amenizar esse problema, foi introduzido o uso da memória cachê.
Recentemente implementou-se uma decodificação extra nos processadores x86 com função de dividir as instruções em pequenos pedaços, tornando-as mais “simples”, por sua vez essas instruções são distribuídas em diversas unidades de execução dentro do processador, essa implementação foi chamada de “núcleo RISC”.
Os termos x86 e x64 ficaram popularizados como 32 e 64 bits respectivamente, porém essa associação não está totalmente correta.
Nem todo processador x86 é 32 bits. Os primeiros processadores dessa família, como o 8086, é um processador de 16 bits. Já os processadores x64 são sim de 64bits, porém pertencem à mesma família x86, o nome atual foi usado apenas pela similaridade deles, pois o nome correto seria x8664, pois em sua essência ele seria um processador da família x86, mas com um número de registradores maior e alguns outros avanços.
Durante a execução, processadores x86 atuais empregam uma decodificação extra para dividir a maioria das instruções em pedaços menores como se fossem micro operações, que são entregues a uma unidade de controle para que possam ser executadas, parcialmente em paralelo, por uma das várias unidades de execução. 
No entanto, o microcódigo tradicional usado desde a década de 1950, também compartilha muitas das mesmas propriedades; a nova abordagem difere, principalmente na medida em que a tradução para micro operações agora ocorrem de forma assíncrona. 
Não ter que sincronizar as unidades de execução com as etapas de decodificação abre possibilidades para uma análise mais aprofundada do fluxo de código permitindo a detecção de operações que podem ser executadas em paralelo, alimentando simultaneamente mais de uma unidade de execução. 
Os mais recentes processadores também fazem o oposto quando for o caso, pois eles combinam certas sequências x86, um processo mais complexo de micro-op, que se encaixa no modelo de execução melhor e, portanto, pode ser executado mais rápido ou com menos recursos da máquina envolvida. Outra forma de tentar melhorar o desempenho, é o cache decodificado de micro operações, de modo que o processador pode acessar diretamente o decodificado de micro operações a partir de um cache especial, em vez de descodificá-lo novamente. A “Execution Trace Cache” é encontrada na microarquitetura da Intel NetBurst (Pentium 4) é até agora é o único exemplo generalizado desta técnica. 
Uma das Vantagens da arquitetura x86 é que ela ainda serve como base para boa parte dos computadores atuais, porém ainda existem duas grandes limitações;
O pequeno número de registradores e o suporte nativo a apenas 4 GB de memória RAM, causando a limitação compartilhada por todos os processadores de 32 bits.

Continue navegando