.
A gigante de chips Intel propôs algo bastante incomum: um potencial simplificação da arquitetura x86 removendo recursos antigos.
A nota técnica no blog do desenvolvedor da Intel apresenta uma mudança bastante radical na arquitetura x86-64: uma nova arquitetura x86S, que simplifica o design de futuros processadores e o processo de inicialização de um PC, removendo 16 bits e alguns elementos de suporte a 32 bits do hardware.
O resultado seria uma família de processadores que iniciam diretamente no modo x86-64.
Isso significaria ignorar o série tradicional de transições – modo real de 16 bits para modo protegido de 32 bits para modo longo de 64 bits; ou modo de 16 bits diretamente Modo de 64 bits – que os chips são obrigados a passar quando o sistema é inicializado.
A nota do desenvolvedor é acompanhada por um relatório técnico de 46 páginas papel branco [PDF] que entra em detalhes consideráveis sobre as mudanças exatas que a Intel está considerando. Algumas das mudanças são bastante dramáticas, embora o impacto sobre como a maioria das pessoas usa os computadores hoje provavelmente seja invisível – o que sem dúvida é a ideia.
E lembre-se, estamos falando da Intel; compatibilidade com versões anteriores é algo pelo qual é famoso há décadas.
Além de eliminar o modo real de 16 bits estilo 8086 e o modo protegido de 16 bits estilo 80286, ele também removeria o anel zero de 32 bits e removeria completamente os anéis de proteção um e dois da arquitetura.
Apenas no caso de a distinção entre os anéis de proteção x86 ter escapado temporariamente da sua mente, nós os explicamos e como eles funcionam em parte um de nossa breve história de virtualização em 2011. Porém, rapidamente: o anel zero é onde normalmente reside um sistema operacional e o anel três é onde os aplicativos são executados.
A nota do desenvolvedor da Intel sugere:
Isso é paralelo ao caminho o Reg FOSS desk colocou isso uma dúzia de anos atrás:
Acontece que ambos são sistemas operacionais dos quais gostamos bastante. Mas, para ser honesto, perder o suporte direto para qualquer um deles em hardware futuro não vai incomodar ninguém. Eles e qualquer outro sistema operacional que inicie no modo de 16 bits – como DOS ou Windows 9X – nem inicializará em nenhuma máquina UEFI contemporânea.
Perder o anel zero no modo de 32 bits significa que você não seria capaz de executar um hipervisor x86-32 – mas, novamente, ninguém vai querer fazer isso quando um de 64 bits oferece muito mais memória.
Quando lemos inicialmente esta proposta, pensamos que também significava eliminar totalmente o modo x86-32, mas não é o caso. Será apenas significativamente mais limitado. Ainda será possível iniciar um sistema operacional x86-32 dentro de uma VM – essas devem emular o firmware do sistema em qualquer caso, juntamente com as placas gráficas emuladas, placas de rede e assim por diante que devem fornecer.
Você também poderá executar binários e aplicativos x86-32 no anel três em seu sistema operacional de 64 bits no anel zero – desde que o sistema operacional forneça as bibliotecas e APIs apropriadas, é claro. Eles quase desapareceu do Ubuntu alguns anos atrás, e ainda pode acontecer. O que o X86S realmente significa é remover a capacidade de inicializar sistemas de 32 bits em bare metal. A UEFI já eliminou efetivamente a capacidade de inicializar sistemas operacionais de 16 bits em bare metal, e quase ninguém notou.
Da mesma forma, é muito difícil executar Software DOS em um sistema moderno de 64 bits, porque na virada do século 21, o x86-64 da AMD removeu o modo VM86 usado para executar código em modo real enquanto um chip x86-32 está no modo protegido de 32 bits. O modo VM86 foi introduzido com o 80386DX em 1987, desapareceu há cerca de 20 anos… e praticamente ninguém percebeu.
Na verdade, existe outro precedente para isso que estamos preparados para apostar que poucos se lembram agora. Há muito tempo, a Intel ofereceu por um tempo uma versão reduzida do processador 80386 que poderia apenas executado no modo de 32 bits e que eliminou completamente o modo de 16 bits – que claramente já estava saindo em 1989.
Não estamos falando do famoso 80386SX, mas de uma variante dele: o pouco conhecido Intel 80376. Nós nos divertimos ao notar que um dos poucos descrições deste chip ainda pode ser encontrado na web hipoteticamente proposto – em 2010 – como seria útil se os processadores modernos inicializassem diretamente no modo de 32 bits.
Uma grande diferença é que o 80376 não suportava o modo de memória paginada, enquanto o suposto X86S apenas suporta operação no modo de memória paginada.
Nota de inicialização histórica
Há também alguns paralelos vagos aqui com as origens de toda a arquitetura x86 da Intel. Em meados da década de 1970, a Intel começou a trabalhar em um extremamente ambicioso “micromainframe” de 32 bitscodinome 8800 para suceder seus bem-sucedidos 8080 e 8085. Com o falecimento recente do cofundador da Intel, Gordon Moore, o que acabou se tornando o iAPX432 tem recebido um pouco de atenção mais uma vez, como este visão geral. Ele foi enviado como um complexo de três chips de transistores de cerca de 100.000 – vasto para a época.
chip boffin de chip boffin Ken Shirriff também twittou alguns tópicos detalhados sobre alguns dos componentes deste complexo, incluindo o 43202 e 43201.
O projeto iAPX432 atrasou tanto que só foi lançado em 1981. Em um esforço para salvar alguma coisa, a Intel lançou um paliativo: uma extensão de 16 bits parcialmente compatível de sua arquitetura 8080, que estendeu o design para permitir o acesso a um megabyte inteiro de memória em 20 segmentos separados de 64 KB. Este foi o 8086 de 16 bits, lançado em 1978 – o primeiro dispositivo x86, cujo modelo de execução a Intel ainda está tentando se livrar em 2023.
Uma teoria interessante é que a história de origem é um pouco mais recursiva do que isso. Percebendo que o iAPX432 seria tardio, grande e caro, a Intel esboçou um projeto para um chip muito mais simples – com um projeto de memória protegida segmentada muito mais simples baseado na arquitetura de memória do iAPX432. Embora isso tenha sido lançado em 1982 como o Intel 80286 – que o chefe da Microsoft, Bill Gates, descreveu como “morte cerebral” – a Intel percebeu que um 80286 de 120.000 transistores seria muito complexo e caro para vender com lucro. Assim, reduziu ainda mais o design para criar o 8086.
O hardware do 8086 foi, é claro, reduzido ainda mais com um barramento de memória de oito bits para criar um modelo econômico: o 8088. Essa foi a CPU que a IBM usou em seu modelo 5150 – o IBM PC original, que mais ou menos gerou a moderna indústria de computadores. ®
.