Episódio 25: Continuando a aula sobre 68000.

Antes de tudo, se você não ouviu os nossos episódios sobre o 68000, clique nos links abaixo para pegar os arquivos MP3:

Episódio 25 – Parte A – Dossiê Motorola 68000

Episódio 25 – Parte B – Dossiê Motorola 68000

Ontem publicamos o primeiro e-mail comentando nosso episódio, enviado pelo Jecel Mattos de Assumpção Jr., uma sumidade no que tange a hardware. Então, ele ouviu a parte B, e nos brindou com mais uma aula sobre Motorola 68000, que publicamos aqui embaixo.

E segue o e-mail!

Depois que enviei ontem um email com algumas curiosidades relacionadas ao processador 68000 da Motorola, eu me lembrei de mais algumas histórias:

  •   Cada “macro instrução” do 68000 é implementada por uma ou mais microinstruções. Para reduzir o tamanho da memória das microinstruções, foi criado um segundo nível chamado de “nano instruções”. No lugar de uma memória de 640 palavras de 70 bits, foram usadas duas memórias: uma de 640 por 10 e outra de 280 por 70. Assim, no lugar dos 52400 bits que seriam necessários num microcódigo normal, a combinação de microcódigo e nanocódigo precisou de apenas 30550 bits.
  • Do ponto de vista do software, o 68000 parece ser um processador de 32bits que foi colocado num encapsulamento de 16 bits (ou 8 bits, no caso do 68008). Mas na verdade ele é implementado como 3 blocos independentes de 16 bits cada um. Cada bloco tem registradores de 16 bits, uma unidade aritmética (ou aritmética e lógica mais funções de bits no caso do bloco 3 descrito abaixo) e dois barramentos de 16 bits. Os barramentos de um bloco podem ser ligados aos barramentos dos blocos vizinhos para operações de transferência.
  1. bloco 1) contém os bits 31 a 16 dos registradores A e dos registradores D.
  2. bloco 2) contém os bits 15 a 0 dos registradores A.
  3. bloco 3) contém os bits 15 a 0 dos registradores D.
  • A cada ciclo de relógio o 68000 pode operar com até 48 bits ao mesmo tempo. Como a maioria das operações com endereços não afetam os bits 31 a 16, é muito raro ser necessário um segundo ciclo de relógio para terminar o cálculo do endereço.
  • O 68000 implementa uma memória de 2 palavras para poder buscar as instruções seguintes sempre que a instrução atual não precisaria usar a memória. O 68010 aumentou esta memória para 3 palavras e quando percebe que as duas últimas palavras são a instrução DBcc (decrement and branch on condition) desviando para a primeira palavra, ele passa a executar este pequeno loop sem buscar mais nenhuma instrução na memória. Isso foi uma resposta da Motorola às criticas de que o 68000 não tinha instruções de “strings” como o Z80 e 8086. As vantagens da solução da Motorola são que os programas já escritos ficam automaticamente mais rápidos, os compiladores não precisam lidar com instruções especiais e não é necessário ter modos especiais de interrupções.
  • Apesar da idéia popular que a Reserva de Mercado de Informática causou grandes atrasos ao Brasil, isso em geral não aconteceu. Um caso onde o atraso foi bem sério foi na falta de estações de trabalhos que universidades precisavam para suas pesquisas. No fim a SEI teve que simplesmente liberar a importação destes equipamentos apesar da Reserva, mas antes foi tentado outra estratégia: o governo ofereceu a possibilidade de descontar 4 vezes do imposto de renda o valor que uma empresa gastasse na doação de uma estação de trabalho nacional para uma universidade. A ideia é que isso animaria alguém a desenvolver uma. Ao invés disso, uma empresa chamada XXXXXX (omitimos o nome para preservar o autor) teve a ideia de comprar um PC XT por $3000, contrabandear uma placa aceleradora 68020 da empresa americana Definicon por uns $2000 e oferecer o conjunto para bancos por $20 mil. Se o banco pagava 35% de imposto de renda, ao abater $80 mil ele deixaria de pagar $28 mil depois de um gasto de $20 mil e ainda tendo um fator positivo para a imagem do banco. As universidades recebiam as “estações” e jogavam fora as placas aceleradoras usando as máquinas como apenas mais um PC normal. Elas tinham recebido de graça e não se preocupavam com o que tinha custado. Todo mundo (menos o governo) lucrou tanto com este golpe que a XXXXXXX comprou a fornecedora americana (note que não achei nada sobre isso na Internet, onde diz que a Definicon foi vendida mais tarde para uma empresa européia) e passou a ser uma multinacional com uma filial na California. Também contratou uma boa equipe no Brasil com planos mirabolantes de desenvolvimento com placas gráficas e porte de Unix. Mas a coisa não durou muito e teve muita confusão na justiça, o que levou o governo a simplesmente ignorar a Reserva (que estava perto do fim de qualquer jeito) e liberar a importação de estações de trabalho.

Sobre Ricardo Pinheiro

Ricardo Jurczyk Pinheiro é uma das mentes em baixa resolução que compõem o Governo de Retrópolis. Editor do podcast, rabiscador não profissional e usuário apaixonado, fiel e monogâmico do mais mágico dos microcomputadores, o Eme Esse Xis.

0 pensou em “Episódio 25: Continuando a aula sobre 68000.

  1. Os arquivos do LA Times estão disponíveis on-line, dá pra levantar detalhes disso tudo, inclusive do calote… 🙂 Basta procurar por Definicon Brazil que aparece tudo, inclusive os nomes das empresas e dos responsáveis na época.

  2. tenho especial interesse por assembly 68000 por algumas razões: 1) tentar fazer em máquinas arcades baseadas em 68000 (como o Darius, com 3 displays) o que o Jim Bagley fez no arcade do PacMan (PacManicMinerMan); 2) extender o (excelente) Boriel’s ZX-Basic Compiler para criar assembly temporário e binários de 68000; 3) etc…