Intel 8086 - o processador que abriu a era

A história da lenda


Hoje, em 2018, comemoramos o quadragésimo aniversário de talvez o principal processador da história dos computadores pessoais, a saber, o Intel 8086.
imagem

Foi com ele que começou a era da arquitetura x86, que lançou as bases para o desenvolvimento de processadores por muitos anos e décadas, e é a ele que devemos a popularidade vertiginosa do computador como uma unidade individual disponível para cada usuário. Em homenagem ao 40º aniversário do processador, que iniciou a transformação da Intel em uma empresa multibilionária, a empresa apresentou um pequeno presente simbólico aos seus fãs - foi o aniversário i7-8086K, o primeiro processador na história da Intel, capaz de operar a 5 GHz imediatamente.

imagem

Hoje, porém, não cantaremos elogios aos engenheiros dos líderes modernos de processadores, mas retornaremos ao passado distante, em 1976, onde começou a história da Intel 8086. E começou com um processador completamente diferente.

Em 1976, a Intel estabeleceu uma tarefa séria para seus engenheiros - criar o primeiro microprocessador do mundo que suporta multitarefa e também possui um controlador de memória embutido no chip. Agora, esses recursos tecnológicos podem ser facilmente encontrados, mesmo nos processadores mais acessíveis do mercado, mas 42 anos atrás essas inovações tecnológicas prometeram superar uma era inteira - a Intel planejava mudar para a computação de 32 bits no momento em que os sistemas de 8 bits dominavam e até 16 Os bits estavam muito distantes. Infelizmente, ou felizmente, as ambições dos executivos da Intel foram confrontadas com a dura realidade de vários prazos, desafios tecnológicos e a constatação de que a tecnologia de 1976 ainda não havia chegado ao ponto de realizar idéias tão ousadas. E o mais importante, a Intel estava tão interessada em criar, como diriam no ocidente, uma arquitetura com excesso de engenharia que ignorava a praticidade do ponto de vista do software. Foi a impraticabilidade e a complexidade deliberada do sistema que foram criticadas em uma das reuniões por um especialista visitante chamado Stephen Morse, um engenheiro de microeletrônica de 36 anos de idade, especializado em software na época. No entanto, a Intel não estava com pressa de levar em consideração comentários críticos, então as anotações de Morse foram compradas.

Mas, como se viu depois, eles eram extremamente úteis - já em julho de 1976, a pequena empresa Zilog, fundada pelo inventor da Intel 4004 e Intel 8008 Federico Fajin, assim como o gerente da Intel Ralph Ungermann e outro desenvolvedor do 4004, o japonês Masatoshi Shima, lançaram seu processador no mercado. Z-80, que se tornou o trabalho real de bugs baseado no Intel 8080.

imagem

Melhorando a arquitetura do processador Intel original, a equipe Zilog ofereceu um processador barato e poderoso, imediatamente amado por muitos fabricantes de equipamentos e plataformas líderes da época. Foi o Z-80 que formou a base do lendário ZX Spectrum e também foi instalado no igualmente famoso Commodore 128 como coprocessador. O Z-80 se tornou incrivelmente bem-sucedido em muitas partes do mundo, e esse sucesso não passou despercebido - a Intel decidiu urgentemente que o Z-80 precisava de um concorrente digno.

Foi aqui que os líderes da empresa se lembraram dos comentários de Stephen Morse e sugeriram que ele liderasse a criação de um processador fundamentalmente novo, projetado para competir com o novo produto da Zilog. A Intel não viu nenhum motivo específico para definir a estrutura deste projeto - então parecia a todos que o novo processador seria uma resposta rápida ao Z-80 e seria esquecido nos próximos anos, então Morse recebeu uma luz verde para qualquer experimento. Era a ideia obsessiva de que o processador deveria ser construído em torno da eficácia do trabalho com software, como se descobriu mais tarde, se tornou a chave para o desenvolvimento de toda a indústria.

Em maio de 1976, Steve Morse começou a trabalhar na arquitetura do novo processador. Em essência, a tarefa atribuída a Morse era simples. Se o novo chip de 16 bits fornecer um aumento significativo na velocidade em comparação com o 8080th de 8 bits, ele deverá diferir em vários parâmetros. Mas a Intel queria que os consumidores acessassem novamente. Como uma das maneiras de conseguir isso, foi considerada a possibilidade de transferir para um nível superior um sistema projetado para um processador menos potente, ao substituí-lo por um novo funcionará. Para isso, idealmente, o novo processador deve ser compatível com qualquer programa escrito para o 8080.

Morse teve que construir no projeto 8080, segundo o qual o processador atribuiu um "endereço" a cada local onde os números foram armazenados, como etiquetas de classificação. Os endereços eram números binários de 16 bits, que permitiam designar 65536 endereços diferentes. Esse limite era aceitável quando os desenvolvedores precisavam usar a memória com moderação. No entanto, agora que os consumidores precisavam de uma quantidade maior, eles insistiram em quebrar a barreira dos 64 KB.

Em julho de 1978, um novo processador, chamado Intel 8086, chegou ao mercado.

imagem

Sua saída não se tornou uma sensação ou um sucesso incrível. Pela primeira vez, o processador chegou às prateleiras como parte de vários computadores econômicos que não eram populares e também foi usado em vários terminais. Um pouco mais tarde, ele formou a base do microcontrolador da NASA, onde foi usado para controlar os sistemas de diagnóstico de lançamento de mísseis até o início dos anos 2000.

Morse deixou a Intel em 1979, pouco antes da empresa lançar o Intel 8088, um microprocessador 8086 quase idêntico que fornecia compatibilidade com sistemas de 8 bits dividindo o barramento de 16 bits em dois ciclos. O próprio Morse chamou esse processador de uma versão "castrada" do 8086.

O status lendário de 8088 foi recebido mais tarde, quando em 1980 a IBM pensou pela primeira vez em conquistar o mercado de computadores pessoais e criar um computador com preços razoáveis ​​e componentes de classe média. Foi o IBM 5150, mais conhecido sob a marca IBM PC, que obteve o processador 8088 (basicamente o mesmo 8086), que tornou a Intel amplamente conhecida, mesmo entre os usuários comuns. Mas o Motorola 68000 (a base do primeiro Apple Macintosh) também reivindicou o lugar do 8088, mas a gerência da IBM deu preferência à Intel.

imagem

O PC IBM rapidamente se tornou a principal força no mercado de sistemas de computadores, e a Intel, seguindo a lógica de "melhor, melhor", continuou produzindo processadores - 80186, 80286, 80386, 80486, Pentium e assim por diante - com base na mesma base de Stephen Morse, estabelecida eles estavam de volta em 8086. Foi graças aos dois últimos dígitos que a arquitetura ficou conhecida como “x86” e a incrível popularidade dos computadores IBM proporcionou à Intel enormes lucros e reconhecimento de marca.

Recursos de arquitetura 8086


Em termos de recursos arquiteturais, o Intel 8086 contava muito com a experiência de desenvolvimento do processador 8080 e seu equivalente aprimorado 8085, que entrou no mercado no verão de 1976. Apesar de alguns paralelos, o 8086 se tornou o primeiro processador de 16 bits da empresa, que possuía 16 canais de dados e 20 canais de endereço capazes de processar até 1 MB de dados, além de uma ampla gama de instruções que permitiam, entre outras coisas, executar operações de divisão / multiplicação. Um recurso do 8086 era a presença de dois modos - Mínimo e Máximo, o último dos quais envolvia o uso de um processador em um sistema com vários processadores e o primeiro - em sistemas clássicos com um processador.

Pela primeira vez, uma fila de instruções apareceu no Intel 8086, que permite armazenar até seis bytes de instruções diretamente da memória, reduzindo significativamente o tempo necessário para processá-las. A natureza de 16 bits do processador não se baseava em apenas alguns componentes, porque o 8086 compreendia uma ALU de 16 bits, registradores de 16 bits, além de um barramento de dados interno e externo que processava dados de acordo com as instruções de 16 bits, para que o sistema funcionasse muito mais rápido do que com processadores Intel anteriores.

É claro que, devido a um conjunto de inovações em grande escala, o 8086 era muito mais caro que seu antecessor, mas o consumidor também teve uma escolha - a Intel ofereceu comprar um novo produto em várias versões, dependendo das frequências do processador - que variavam de 5 a 10 MHz.

Do ponto de vista arquitetural, o microprocessador Intel 8086 consistia em dois módulos de hardware - um módulo de execução e um módulo de interface de barramento. O módulo de execução indicou ao módulo de interface do barramento de onde receber os dados da instrução e depois prosseguiu para sua preparação e execução. Sua essência foi reduzida ao gerenciamento de dados usando o decodificador de instruções e a ULA, enquanto o próprio módulo não tinha uma conexão direta com os barramentos de dados e funcionou exclusivamente através do módulo de interface de barramento.

O módulo de execução continha um bloco ALU projetado para executar operações lógicas e aritméticas, como multiplicação, divisão, adição, subtração ou operações do tipo OR, AND e NOT. Também havia um registro de sinalizadores de 16 bits que armazenava vários status de operações na bateria - havia 9 no total, 6 dos quais eram sinalizadores de status e 3 eram sinalizadores do sistema que refletiam o status do dispositivo.

O primeiro incluía: bandeira de transporte, bandeira de paridade, bandeira de transporte auxiliar, bandeira zero, bandeira de sinal e bandeira de estouro. Os sinalizadores do sistema incluíam o sinalizador de rastreamento, o sinalizador de interrupção de ativação e o sinalizador de direção.

Além dos sinalizadores, o módulo de operação continha 8 registradores de uso geral, usados ​​para transmitir dados por um barramento de 16 bits. Ao mesmo tempo, a compatibilidade foi mantida com a geração anterior de software para sistemas de 8 bits, porque os registros de uso geral (AX, BX, CX, DX) podiam funcionar tanto no modo de barramento de 16 bits quanto no modo de leitura de dados dos inferiores (AL, Registros BL, CL, DL) e alto (AH, BH, CH, DH) simultaneamente, fornecendo operação de dois canais no formato de um barramento de 8 bits. Devido à ênfase na compatibilidade com plataformas anteriores em termos de software, a arquitetura x86 se tornou essencial e serviu de base para a maioria dos processadores subsequentes.

Finalmente, o último dos registradores no módulo foi um registrador de ponteiro de 16 bits, que salvou o endereço do segmento de dados no buffer de memória necessário para concluir a operação. As demais partes funcionais pertenciam ao módulo de interface de barramento vizinho.

O módulo de interface de barramento continha componentes significativamente mais funcionais - respondeu ao processamento de todos os dados e ao envio de instruções ao módulo de execução, lendo endereços da memória do computador e informações de todas as portas de entrada / saída disponíveis, além de gravar dados na memória disponível e através dos itens acima. portos. Devido ao fato de o módulo de execução não ter uma conexão direta com o módulo de interface do barramento, os blocos interagiram através do barramento de dados interno.

Este módulo contém um dos principais recursos arquiteturais do processador 8086 - a fila de instruções. O módulo da interface de barramento inclui uma fila de instruções capaz de armazenar até 6 bytes de instruções em um buffer, enviando novas instruções no pipeline após o recebimento da solicitação correspondente do módulo de execução. O termo pipelining apareceu precisamente com o processador 8086 entrando no mercado, pois significa preparar a próxima instrução no momento em que a anterior está em processo de execução.

Também existem 4 registros de segmento responsáveis ​​por armazenar em buffer os endereços das instruções e os dados associados na memória do computador, fornecendo acesso aos segmentos necessários ao processador central. O registro também contém um ponteiro de comando (IP) que contém o endereço da próxima instrução para o módulo de execução.

Finalmente, o último dos registradores é um ponteiro de instruções de 16 bits que contém o endereço da próxima instrução a ser executada.

O Intel 8086 se tornou o primeiro processador de 16 bits da empresa, disponível em um pacote DIP (DPI) de 40 pinos, que, juntamente com muitos outros recursos, se tornou um dos padrões em microeletrônica dos anos seguintes.

Influência e Legado


Stephen Morse, criando o conceito de um pequeno processador "filha" dentro dos muros da Intel, dificilmente poderia imaginar que ele estava prestes a criar um microprocessador histórico. O Intel 8086 era modesto e polêmico, mas seu irmão mais novo, 8088, ganhou fama como parte do IBM PC / XT, permitindo que a Intel ganhasse fama e obtivesse enormes lucros.

A arquitetura x86 formou a base para todos os outros processadores Intel, que reconheceram a conveniência e a versatilidade do conceito de Morse de "primeiro software - depois preenchendo". Cada processador subsequente foi construído com base no anterior, cheio de novas tecnologias, instruções e blocos, mas, em essência, era um pouco diferente do 8086.

imagem

E ainda hoje, olhando para o i7 8086K, você precisa entender que em algum lugar lá no fundo ainda existem as raízes do próprio processador que viu a luz há 40 anos, que marcou a abertura da era x86.

O autor do texto é Alexander Lis.

Nosso vídeo com base neste artigo:

Source: https://habr.com/ru/post/pt417983/


All Articles