2015/02/17

80D - um "Arduino" com um Intel 8086


Hoje em dia, sistemas como os Arduino e Raspberry Pi permitem-nos ter computadores a um preço ridiculamente baixo e tamanho compacto. Coisas que quase nos fazem esquecer que nem sempre foi assim, e que podemos revisitar com este projecto que decidiu ressuscitar um velhinho CPU Intel 8086 numa placa em formato Arduino.

O Intel 8086 foi o CPU utilizado no famoso "IBM PC", e que se tornou responsável pela arquitectura x86 que ainda hoje dura hoje em dia (embora já com muitas actualizações e expansões desde esses tempos). As suas capacidades são quase inimagináveis hoje em dia, coisa que se poderá antever pela sua velocidade máxima de 10MHz.

No entanto, torna-se curioso por ser um verdadeiro CPU (lembram-se de como funcionam os CPUs?) e não um SoC (System on Chip) como os que hoje se popularizaram e que consideramos "CPUs".

Qual a diferença? Num chip actual, já não temos unicamente um CPU responsável por executar instruções. Por motivos de eficiência e redução de custos, temos integrado no mesmo chips diferentes módulos, como GPU, memória, periféricos, sensores, e tudo o mais que um fabricante deseje lá meter.

Este 80D traz de regresso alguma nostalgia, ao voltar a colocar "cá fora" alguns dos elementos que hoje em dia será raro ver separados - embora conte com a ajuda de uma CPLD (um chip programável) que ajuda a simplificar muito do sistema. Ainda assim, temos:



  1. CPU 8086
  2. ROM (de 16 bits para evitar dois chips de 8 bits)
  3. CPLD - o chip que permite que esta "micro-board" não tenha o tamanho de uma motherboard da década de 80, e que faz a gestão do barramento, linhas de I/O, timers, gestão de interrupts, etc.
  4. SRAM - 512KB de RAM estática (o 8086 permitia até 1MB de memória endereçável)
  5. UART - responsável por comunicações série
  6. SPI - outro protocolo série
  7. Conversor Analógico para Digital 
  8. Memória Flash SPI


Tudo isto são coisas que hoje em dia podemos ter dentro de um único chip "SoC".

1 comentário:

  1. Permita-me fazer uma correção que praticamente não o é. É uma picuinhice. O IBM PC original não usava uma CPU 8086, mas sim uma 8088, que era em tudo idêntica à 8086, com exceção do barramento de dados, que era de 8 bits e não de 16, por uma questão de compatibilidade com os periféricos usados. O popularíssimo IBM PC/AT, que se vendeu aos milhões e milhões, usava por sua vez uma CPU 80286, que não era mais do que uma 8086 em que os barramentos de dados e de endereços eram completamente separados, sem multiplexagens. Por outro lado, houve muitos "compatíveis" (por vezes compatíveis só de nome) das mais diversas marcas que, esses sim, usavam a 8086 propriamente dita.

    ResponderEliminar