x86 completa 30 anos
A arquitetura x86 acaba de completar 30 anos. Pra registrar o aniversário, escrevo minha opinião sobre como a linguagem foi vista pelos programadores durante todo esse tempo.
O chamado microcomputador, durante décadas, foi tratado como os micro-controladores são hoje, sistemas embarcados. Sobre o DOS, toda a programação era feita em assembly, contanto instrução por instrução, pq processamento e storage eram limitadíssimos.
E nessa época onde tudo era programação "na manha", a linguagem assembly x86 era uma mão na roda, pq com 1 instrução dava pra fazer muita coisa, e ela é muito versátil. Estudando um pouco programação dá pra ver como a x86 foi feita pra ser programada em assembly.
Já com linguagens mais avançadas, de C pra cima, durante um bom tempo o x86 foi criticado por ser uma linguagem muito complexa e pesada, principalmente a partir do P6 q traduzia o x86 em micro-ops, e essa tradução era muito pesada de ser feita. A comparação do CRISC x86 com outras arquiteturas RISC indicava q o x86 era coisa do passado e só continuava em pé por causa da compatibilidade e da M$.
Até q a Intel lançou o IA-64 e mudou tudo. Com execução real, vimos q o RISC é sim muito bom em aplicações altamente otimizadas, em servidores e sistemas dedicados. Isso acontece pq as aplicações podem ser desenvolvidas e otimizadas pra uma microarquitetura específica, e qd ela evolui é só atualizar o compilador e recompilar.
Em aplicações genéricas e compartilhadas, como desktops por exemplo, o RISC naum funciona tão bem, pq a atualização de aplicativos e compiladores naum é tão frequente.
Oq acontece é q o RISC exige mais otimização q o CISC, então se uma microarquitetura muda, é preciso atualizar os aplicativos junto pra aproveitar o ganho de desempenho. Até dentro do x86 vimos o Netburst, q era tão diferente q tinha desempenho pífio e precisava de otimizações exclusivas pra ele, e q qd aplicadas ferravam o desempenho nos P6.
Com o IA-64 a coisa é mais crítica ainda, pq ele deixa pro compilador cuidar do gerenciamento de recursos da CPU. A vantagem dessa abordagem é q a CPU fica livre dessa responsabilidade e fica mais simples e rápida, mas em compensação o compilador fica ainda mais importante na questão de otimização e atualização, e pra piorar mais ainda a otimização q ele faz naum é dinâmica, oq impede de gerenciar em real time os recursos da CPU.
No P6 por outro lado, essa otimização é feita em real time pela CPU ao traduzir x86 em micro-op, e isso permite q o mesmo código seja "atualizado automaticamente" pra microarquiteturas novas com mais recursos disponíveis.
O x86 renasceu de vez graças à AMD, qd lançou seu AMD64, renovando a arquitetura e provando q ela ainda pode dar um caldo por mais algumas décadas :)
O próximo passo acredito q seja a microarquitetura q a Intel vem desenvolvendo e deve ser a sucessora do Nehalen. Essa microarquitetura tem 80 cores e é baseada no P5.
Comparando o P5 com o P6, o P6 tem grandes melhorias como o processamento fora de ordem e as unidades de execução superescalares, mas pra implementar isso ele usa uma quantidade muito grande de transistors, e executa tudo como um RISC.
O P5 é um CISC puro, ainda menos dependente (mas ainda dependendo, é só lembrar da comparação do 486 com o Pentium) de otimização q os P6, e usa muito poucos transistors. É com essa estratégia de poucos transistors por core q a Intel conseguiu colocar 80 cores num mesmo die.
O meu chute é q essa microarquitetura vai ser altamente otimizada pra economia de energia, desligando cores ociosos, e tb altamente dependente de clocks altos. Se os softwares naum evoluírem ela vai ter uns poucos pares de cores executando e os outros desligados, e só com clocks altos vamos conseguir desempenho superior ao Nehalen. Agora, pros softwares q evoluírem no MultiThreading essa arquitetura vai arrebentar.
No final é uma comprovação da saturação do transistor e do processamento serial, apelando pro processamento paralelo.
Os aplicativos "orientados a eventos", com quase 100% do consumo de CPU sendo gasto pela GUI e q ficam boa parte do tempo ociosos, vão poder continuar funcionando numa boa. Já se vc tem algum aplicativo q requer todo o poder da CPU, vai receber uma intimação pra paralelizar seu código, ou vai ser praticamente proibido de depender do processamento da CPU pra rodar sua aplicação.
Popularity: 4%
It has accumulated a total of 30,979 views. You can follow any comments to this article through the Comments RSS 2.0 Feed. You can leave a comment, or trackback from your own site.
Related Posts:
- O 3D prejudicou a criatividade dos jogos
- Deprecation, the power to unleash from the overpast garbage
- Agora é o meio acadêmico q precisa provar q…
- Desabafo dum cidadão revoltado com a pregação vegetariana
- Como o Átomo e o Espaço influenciam na nossa Vida
- O linux e o veganismo
- A importância da Web na nossa vida
- Pq eu naum gosto da Saphire, mais conhecida como SaFDPhire
- Gelatina naum é vegan, seus hereges desalmados!!
- Por que não, o Haiti?
Nossa, meu amigo… Meu primeiro foi um XT de segunda mão, financiado, e meu sonho de consumo, então, era ter um AT286…
Como o tempo passa!
Um grande abraço!feedback
researchae Oscar blz! :D
O nosso 1º PC a gente nunca esquece né!!homepage