<Direto ao Ponto 63> A evolução dos microprocessadores
Artigos desta série: ( < ) Anterior | Índice | Seguinte ( > )
Olá, dev!
Este é mais um artigo da série DIRETO AO PONTO, que eu estou escrevendo para a DIO. Ele vai mostrar a evolução dos microprocessadores, desde o primeiro lançado comercialmente (Intel 4004) até os complexos microprocessadores atuais (Apple M1 e M2).
Sumário
1. Introdução
2. Os primeiros microprocessadores
3. Os microprocessadores da era dos PCs
4. Os microprocessadores modernos
5. Considerações finais
6. Referências
1 – Introdução
Eu criei a série de artigos DIRETO AO PONTO com o objetivo de apresentar, de forma simples e direta, conhecimentos básicos da programação e de computação, principalmente, para os iniciantes.
Aqui, são tratados temas como lógica de programação, linguagens, hardware dos computadores, história da computação e assuntos relacionados à plataforma da DIO, como a escrita de artigos e os desafios de código.
Neste artigo, eu vou falar da evolução dos microprocessadores, contar a sua história ao longo dos anos e mostrar que os primeiros eram muito simples, mas os atuais realizam as mesmas operações básicas, só que com muitas evoluções tecnológicas.
2 – Os primeiros microprocessadores
Fig. 1 - Calculadora Busicom 141-PF, que usava o Intel 4004
O microprocessador surgiu após algumas revoluções na área de computação eletrônica.
Primeiro, vieram as válvulas eletrônicas, que permitiram o desenvolvimento dos primeiros computadores eletrônicos, uns trambolhões enormes que ocupavam várias salas, eram instáveis, imprecisos e usavam fios interligados para as entradas de dados e luzes para as saídas.
Depois, com a invenção do transistor, começou a era dos computadores menores, rápidos e mais precisos. O próximo passo foi a invenção dos circuitos integrados (os “chips”), que integravam centenas de transistores em uma mesma pastilha de circuito eletrônico miniaturizado.
Estas inovações tecnológicas trouxeram melhorias em termos de desempenho, eficiência e capacidade de processamento dos computadores, além de uma grande redução no tamanho deles.
O passo seguinte (e definitivo!) foi a invenção do microprocessador. Segundo ISAACSON [1], a história foi a seguinte:
No final da década de 60, a Intel fabricava chips especializados, cada um com uma função diferente.
Um dia, a empresa recebeu uma demanda para fabricar 12 chips diferentes com funções especiais, mas parecidas (operar displays, realizar cálculos, usar memória etc.), que iriam fazer parte de um projeto de uma calculadora de mesa potente.
Ted Hoff, um jovem engenheiro que trabalhava no projeto de chips da empresa, sugeriu que seria melhor criar um único chip que realizasse estas diversas funções, podendo ser programado para uma grande gama de tarefas. Seria um único chip lógico, configurável, mas executando funções gerais.
E assim nasceu o processador de uso geral, mais conhecido como microprocessador (ou CPU – “Central Processing Unit”), que foi instalado na calculadora Busicom 141-PF (figura acima).
O primeiro microprocessador comercial, lançado pela Intel em 1971, foi o 4004, de 4 bits no barramento de dados. Suas aplicações iniciais eram apenas calculadoras e dispositivos de controle. Ele operava a uma velocidade de 740 kHz e conseguia executar cerca de 92.000 instruções por segundo.
O 4004 não fez tanto sucesso! Seus sucessores imediatos foram os microprocessadores de 8 bits, criados por várias empresas, que tiveram um sucesso estrondoso!
Os microprocessadores de 8 bits
Fig. 2 - Altair (8080), Apple I (6502 ), TRS 80 (Z80)
Os microprocessadores de 8 bits foram os primeiros usados amplamente em computadores pessoais, consoles de jogos e sistemas embarcados.
Segue uma lista dos principais microprocessadores de 8 bits, menos o 8085 (1976), que já tratado em detalhes no artigo anterior:
· Intel 8008 (1972) – Projetado inicialmente para ser usado em terminais de vídeo inteligentes, acabou sendo adotado para outros fins. Ajudou a consolidar o conceito de microprocessadores de propósito geral;
· Intel 8080 (1974) – É considerado um dos primeiros microprocessadores comerciais populares, o primeiro da Intel amplamente utilizado em microcomputadores, como o Altair 8800;
· Motorola 6800 (1974) - Desenvolvido para competir com o 8080, ele se destacou pela simplicidade e facilidade de uso em comparação com outros processadores da época;
· MOS Technology 6502 (1975) - Microprocessador de baixo custo e extremamente popular nos computadores domésticos dos anos 70 e 80, como o Apple II e Commodore 64, e em consoles de videogames como Atari 2600, tornando-se muito famoso;
· Zilog Z80 (1976) – Versão melhorada do Intel 8080, com um conjunto de instruções mais rico e de maior flexibilidade, tornando fácil a migração para ele. Tinha mais registradores, facilitando a programação. Foi usado em computadores pessoais conhecidos, como o TRS-80 e ZX Spectrum, no Game Boy, da Nintendo, e no MSX. Também foi utilizado em controladores industriais.
3 - Os microprocessadores da época dos PCs
Os microprocessadores de 16 bits
Fig. 3 - TI-99/4A (TMS9900), IBM PC (8088), IBM PC/XT (80286)
Eles tinham arquitetura interna e barramento externo de dados de 16 bits e representaram um grande avanço em termos de desempenho e capacidade.
O Intel 8086 (1978) foi um marco por introduzir a arquitetura x86, que se tornou padrão em computadores pessoais. Processadores como o Intel 8086 e Motorola 68000 foram amplamente usados em computadores pessoais (Apple Macintosh), consoles de videogames (Sega Genesis) e sistemas embarcados.
Estes são os principais microprocessadores de 16 bits da época:
· Texas Instruments TMS9900 (1976) - Usado no computador TI-99/4A, um dos primeiros PCs de 16 bits. Foi superado rapidamente pelo 8086 e 68000, mais rápidos e eficientes;
· Intel 8086 (1978) - Primeiro processador da arquitetura x86, que acabou dominando os PCs nas décadas seguintes. Ele ofereceu um salto significativo em desempenho, largura de barramento e capacidade de memória. Foi usado em sistemas mais avançados, incluindo servidores;
· Intel 8088 (1979) – Era muito semelhante ao 8086, mas tinha um barramento de dados externo de 8 bits. Esta escolha barateou os sistemas baseados no 8088, que usavam componentes mais simples e baratos, como barramentos de dados e memória de 8 bits. Possuía um barramento de endereços de 20 bits, podendo endereçar até 1 MB de memória. Usava o mesmo conjunto de instruções do 8086, tendo muita compatibilidade com ele em termos de software. Foi usado no IBM PC original, porque seu barramento de 8 bits permitia que a IBM reutilizasse muitos dos componentes e periféricos de 8 bits que já estavam disponíveis no mercado, como chips de memória e controladores de E/S. Tornou-se muito popular, principalmente no IBM PC e seus clones;
· Motorola 68000 (1979) - Um dos mais influentes da época, tinha design mais avançado do que o do 8086, com uma arquitetura de barramento mais moderna e processamento mais veloz. O modelo 68000 foi usado em computadores bem conhecidos (primeiros Macintosh, da Apple, e primeiros Amiga, da Commodore) consoles de videogames (Genesis, da Sega) e nas primeiras estações de trabalho da Sun;
· Zilog Z8000 (1979) – Era inovador, mas a complexidade da arquitetura e a falta de compatibilidade com o Z80 não o tornaram competitivo com o 8086 e o 68000. Foi muito usado em sistemas industriais;
· Intel 80286 (1982) – O 286 foi o sucessor do 8086, trouxe suporte para o modo protegido, permitindo o uso de mais memória. Foi um dos primeiros a suportar multitarefa de forma robusta, fundamental para a evolução dos PCs. Foi muito usado em PCs da IBM (IBM PC/AT), servidores e aplicações industriais;
Os microprocessadores de 32 bits
Fig. 4 - Macintosh (68020), Amiga (68020), Windows 95 (80486)
O próximo passo evolutivo foi o lançamento de processadores de 32 bits. Os processadores fabricados pela Intel (80386, 80486 e Pentium) começaram a consolidar o uso de 32 bits.
O Intel 80486 contou com a adição de um coprocessador matemático, trazendo um salto de desempenho em cálculos complexos, já o Pentium marcou o início de uma nova era com maior foco em desempenho para uso doméstico e profissional.
Eles foram muito usados em computadores pessoais e consoles de jogos famosos na época, mas também tiveram grandes avanços na complexidade dos sistemas operacionais que poderiam suportar, como o Windows 3.1, Windows 95, OS/2 e Unix.
Segue uma lista dos microprocessadores de 32 bits mais significativos:
· Motorola 68000 (1979-1994) – Série de microprocessadores, tendo o primeiro, modelo 68000, uma arquitetura de 16/32 bits, mas os modelos seguintes, 68020 e posteriores eram processadores de 32 bits. Foram usados em modelos mais avançados do Macintosh, da Apple, e do Amiga, da Commodore) e de estações de trabalho da Sun;
· Intel 80386 (1985) – O 386 foi o primeiro processador x86 de 32 bits da Intel e o primeiro a oferecer suporte completo para multitarefa e memória virtual. Ele suportava até 4 GB de memória física e 64 TB de memória virtual. Um novo modo de funcionamento (modo virtual 8086) permitia a execução simultânea de múltiplos programas em modo real. Introduziu a execução de instruções em pipelines, melhorando o desempenho. Foi amplamente usado em PCs mais avançados e sistemas operacionais que suportavam multitarefa e memória virtual;
· Intel 80486 (ou 486) (1989) - Introduziu o cache L1 integrado e incorporou o coprocessador matemático no chip principal. Melhorou o pipeline e tornou a execução de instruções mais rápida. Foi um dos mais populares para rodar o MS-DOS, Windows 3.1 e Windows 95;
· Intel Pentium (1993) – Oferecia suporte para até 4 GB de memória, com maior eficiência de acesso à memória e cache. Foi o primeiro processador da Intel com uma arquitetura superescalar, podendo executar várias instruções em paralelo. Tinha um coprocessador matemático (FPU – “Floating Point Unit”) muito mais eficiente, aumentando a velocidade em cálculos matemáticos, útil para aplicações gráficas e simulações. Incluiu o cache L1, dividido entre instruções e dados, melhorando o desempenho. Usado em muitos PCs, ajudou a popularizar o uso de gráficos mais avançados, jogos e software multimídia;
Outros destaques são o SPARC, da Sun Microsystems, PowerPC 601/603/604, da Apple, Motorola e IBM (consórcio AIM) e o Athlon, da AMD.
4 – Os microprocessadores modernos
Os microprocessadores de 64 bits
Fig. 5 - DEC Alpha (1992), Apple M2 (2022)
A estrutura interna de um microprocessador moderno compartilha conceitos básicos com os anteriores, mas evoluiu bastante ao longo do tempo, sendo drasticamente diferente daquela dos mais antigos.
A principal diferença entre esses microprocessadores está na arquitetura, no tamanho do barramento de dados e nas capacidades de desempenho.
As arquiteturas de múltiplos núcleos de processamento independente (“multi-core”) permitiram o processamento paralelo, aumentando significativamente o desempenho para multitarefa e jogos. Alguns podem executar múltiplos threads por núcleo físico, utilizando técnicas como Hyperthreading, favorecendo a virtualização.
Técnicas de pipeline e superescalaridade permitem o processamento de várias partes de diferentes instruções em diferentes estágios e a execução de múltiplas instruções ao mesmo tempo;
Os barramentos de dados e de endereços são de 64 bits, possibilitando o endereçamento de terabytes de memória. O acesso à memória é otimizado por várias camadas de cache (L1, L2 e L3).
Múltiplas unidades dedicadas da ULA (Unidade Lógica e Aritmética) e da FPU delas executam cálculos matemáticos complexos e mais rápido.
A execução de instruções é otimizada por técnicas avançadas de previsão de desvios (“branch prediction”), para prever o resultado de instruções condicionais.
Segue uma lista com os principais processadores de 64 bits:
· DEC Alpha (1992) – Foi o primeiro processador RISC (“Reduced Instrunction Set Computer”) de 64 bits amplamente utilizado, com desempenho de alta velocidade e suporte para cálculos matemáticos avançados. É voltado para servidores, estações de trabalho e supercomputadores;
· Intel Itanium (2001) - Arquitetura (IA-64) completamente nova, diferente da x86. Foi projetado para suportar computação de alto desempenho, usando execução explícita de instruções paralelas. Destinado a servidores corporativos e sistemas de missão crítica. A incompatibilidade com o software x86 legado e a concorrência da AMD, com abordagem mais flexível de 64 bits, dificultaram sua adoção;
· AMD Opteron / Athlon 64 (2003) – Primeiros processadores x86 de 64 bits compatíveis com software de 32 bits, eles foram usados em PCs (Athlon 64) e servidores (Opteron). A arquitetura AMD64 acabou sendo adotada pela Intel em seus processadores x86, tornando-se o padrão para 64 bits;
· Intel Xeon (64 bits) (2004) – A arquitetura Intel 64 (baseada no x86-64 da AMD) trouxe grandes melhorias no desempenho para tarefas corporativas intensivas em dados, como virtualização e bancos de dados. Usado principalmente em servidores e estações de trabalho de alto desempenho, ainda é uma das linhas mais importantes nesta faixa.
· Intel Core 2 Duo (2006) – Com arquitetura Intel 64, melhorou significativamente o desempenho do Intel Core Duo (que iniciou as arquiteturas “multi-cores”). Sua arquitetura dual-core, depois quad-core, iniciou uma nova era de processadores “multi-core e de 64 bits na computação pessoal. Foi amplamente utilizado em computadores pessoais e notebooks;
· Intel Core (i3, i5, i7, i9) (2008 - hoje) – Arquitetura Intel 64, eles introduziram arquiteturas “multi-core” eficientes, suporte para instruções avançadas de 64 bits e capacidades como “hyper-threading” e “turbo boost”. Tornaram-se o padrão para desktops e laptops, tanto casuais quanto de alto desempenho, e são usados também em estações de trabalho;
· ARM Cortex-A (v8 e v9, 2011 - hoje) – Da arquitetura ARM64, são conhecidos por sua eficiência energética e por oferecerem alto desempenho em pacotes pequenos. Tornaram-se dominantes em dispositivos móveis (smartphones, tablets) e sistemas embarcados, e já começam a ganhar participação no mercado de servidores;
· IBM POWER8 / POWER9 / POWER10 (2014 - hoje) – Usam a Arquitetura Power, que permite manusear grandes volumes de dados e realizar tarefas intensivas de processamento. São usados em servidores de alto desempenho, “data centers”, supercomputadores e no ambiente corporativo;
· AMD Ryzen (2017) – A arquitetura Zen (x86-64) trouxe um aumento significativo de desempenho e eficiência, desafiando a dominância da Intel em CPUs de alto desempenho. Ele oferece opções de muitos núcleos (até 16 núcleos no desktop e, até mais, em servidores), suporte a overclocking e desempenho superior em multitarefas. Usado em computadores pessoais, estações de trabalho e servidores.
· Apple M1 / M2 (2020 / 2022) - Arquitetura ARM64. Otimizados para alto desempenho e eficiência energética, levaram o ARM para o mercado de desktops, mostrando competitividade com a arquitetura x86 também em laptops. Usados em dispositivos Apple, incluindo MacBooks, iMacs e iPads.
Estes processadores de 64 bits permitiram o desenvolvimento de sistemas operacionais mais robustos, aplicativos mais complexos e a utilização de grandes volumes de dados.
O avanço em processadores especializados em inteligência artificial e ”machine learning” também começou a moldar a computação moderna. Empresas como Intel, AMD e Apple estão desenvolvendo processadores de arquiteturas híbridas, que oferecem desempenho extremo para aplicações profissionais, como renderização 3D e simulações.
A evolução dos microprocessadores reflete um aumento impressionante no número de transistores, velocidade, capacidade de processamento e eficiência energética. Os avanços em tecnologias de fabricação e arquitetura de processadores permitiram que os dispositivos se tornassem mais poderosos, eficientes e compactos, impactando praticamente todos os aspectos da vida moderna, desde smartphones até supercomputadores. O futuro provavelmente verá mais inovações na direção de processadores híbridos, especializados em inteligência artificial e computação em nuvem.
Para concluir, a tabela abaixo ilustra claramente a evolução dos microprocessadores na história.
Fig. 6 - Comparativo entre as CPUs - do 4004 (1971) até o Ryzen Threaddripper (2023)
OBS: Todos os processadores desta lista têm apenas 1 núcleo, EXCETO o Core i9, que tem 16 e o Ryzen, que tem 64!
Destaco o crescimento na velocidade do clock deles (de 740 KHz, do 4004, até 5,2 GHz, do Core i9 – mais de 7 mil vezes) e da quantidade de transistores (de 2.300, do 4004, até 39 bilhões, do Ryzen – mais de 17 milhões de vezes!).
5 – Considerações finais
Este é mais um artigo da série DIRETO AO PONTO, que eu estou escrevendo para a DIO.
Desta vez, foi apresentada a evolução dos microprocessadores, desde o primeiro lançado (Intel 4004) até os mais recentes (Intel Core i9, AMD Ryzen, IBM Power10 e Apple M1/M2).
Os primeiros microprocessadores de sucesso de 8 e 16 bits eram bastante simples, limitados em termos de processamento e dependentes de estruturas de controle sequenciais.
Já os processadores modernos (de 64 bits) são extremamente complexos, aproveitando paralelismo em vários níveis, unidades especializadas, caches e arquiteturas de múltiplos núcleos para maximizar o desempenho.
De qualquer forma, um microprocessador continua sendo o mesmo que era no início: um conjunto de registradores, executando operações aritméticas e lógicas básicas, a partir da busca, decodificação e execução de instruções de programação em linguagem de máquina.
Só que os processadores modernos têm absurdamente mais tecnologia, desempenho, métodos de otimização e miniaturização de componentes que os primeiros.
É aguardar o que vem por aí nas próximas gerações, nos computadores óticos, quânticos etc.
Para concluir, para quem se interessa pela área, sugiro pesquisar sobra a nova arquitetura RISC-V. Todos os processadores listados anteriormente têm arquiteturas proprietárias, cujo uso exige o pagamento de royalties.
Já a RISC-V é uma arquitetura aberto e gratuita (uso livre de royalties), permitindo o desenvolvimento de processadores baseados nela sem pagamento.
6 – Referências
[1] ISAACSON, Walter. Os Inovadores – Uma biografia da revolução digital. Companhia das Letras, 2014.
Os conceitos gerais vieram da minha lembrança de anos de estudo dos microprocessadores. Já a descrição detalhada sobre cada processador foi pesquisada no ChatGPT.
Artigos desta série: ( < ) Anterior | Índice | Seguinte ( > )