Motorola 68020 - Motorola 68020

Motorola 68020
Informação geral
Lançado 1984
Projetado por Motorola
atuação
Máx. Taxa de clock da CPU 12,5 MHz a 33 MHz
Largura de dados 32 bits
Largura do endereço 32 bits
Cache
Cache L1 Icache de 256 bytes
Arquitetura e classificação
Conjunto de instruções Motorola 68000 series
Especificações físicas
Transistores
Pacote (s)
Produtos, modelos, variantes
Variante (s)
História
Antecessor Motorola 68010
Sucessor Motorola 68030
XC68020, um protótipo do 68020

O Motorola 68020 (" sessenta e oito-oh-vinte ", " sessenta e oito-oh-dois-oh " ou " seis-oito-oh-dois-oh ") é um microprocessador de 32 bits da Motorola , lançado em 1984 Foi disponibilizada também uma versão de menor custo, conhecida como 68EC020 . De acordo com as práticas de nomenclatura comuns aos designs da Motorola, o 68020 é geralmente referido como "020", pronunciado "oh-dois-oh" ou "oh-vinte".

Descrição

Motorola 68020

O 68020 tem dados internos e externos de 32 bits e barramentos de endereço, em comparação com os primeiros modelos 680x0 com dados de 16 bits e barramentos de endereço de 24 bits. A ALU do 68020 também é nativamente de 32 bits, portanto, pode executar operações de 32 bits em um ciclo de clock, enquanto o 68000 levou um mínimo de dois ciclos de clock devido a sua ALU de 16 bits. Os métodos de embalagem mais recentes permitiram que o '020 apresentasse mais pinos externos sem o tamanho grande que o método anterior de embalagem dupla em linha exigia. O 68EC020 reduziu o custo por meio de um barramento de endereço de 24 bits. O 68020 foi produzido em velocidades que variam de 12 MHz a 33 MHz.

Motorola 68020 die shot
vista inferior de um Motorola XC68020

Melhorias em relação ao 68010

O 68020 possui uma unidade lógica aritmética (ALU) de 32 bits, dados externos de 32 bits e barramentos de endereço. Ele adiciona instruções extras e modos de endereçamento adicionais. O 68020 (e 68030) tem um pipeline de três estágios adequado. Embora o 68010 tivesse um "modo de loop", que acelerava os loops através do que era efetivamente um minúsculo cache de instruções, ele continha apenas duas instruções curtas e, portanto, era pouco usado. O 68020 substituiu isso por um cache de instrução adequado de 256 bytes, o primeiro processador da série 68k a apresentar verdadeira memória cache on-chip.

Os processadores 68000 e 68010 anteriores só podiam acessar dados de palavra (16 bits) e palavra longa (32 bits) na memória se estivessem alinhados por palavra (localizados em um endereço par). O 68020 não tem restrições de alinhamento no acesso aos dados. Naturalmente, os acessos desalinhados são mais lentos do que os acessos alinhados porque requerem um acesso extra à memória.

O 68020 tem um pequeno cache de instrução mapeada diretamente de 256 bytes, organizado como 64 entradas de quatro bytes. Embora pequeno, ele ainda fez uma diferença significativa no desempenho de muitos aplicativos. A redução resultante no tráfego de ônibus foi particularmente importante em sistemas que dependem fortemente de DMA .

Suporte a coprocessador

O 68020 possui uma interface de coprocessador que suporta até oito coprocessadores. A CPU principal reconhece as instruções da "linha F" (com os quatro bits de código de operação mais significativos todos um) e usa ciclos de barramento especiais para interagir com um coprocessador para executar essas instruções. Dois tipos de co-processadores foram definidos: flutuante unidades de ponto ( MC68881 ou MC68882 FPUs ) e a unidade de gestão de memória paginada ( MC68851 PMMU). Apenas uma PMMU pode ser usada com uma CPU. Em princípio, várias FPUs podiam ser usadas com uma CPU, mas isso não era comum. A interface do coprocessador é assíncrona, portanto, é possível executar os coprocessadores em uma taxa de clock diferente da CPU.

Recursos de multiprocessamento

O suporte a multiprocessamento é implementado externamente pelo uso de um pino RMC para indicar um ciclo indivisível de leitura-modificação-gravação em andamento. Todos os outros processadores precisam impedir o acesso à memória até que o ciclo seja concluído. O suporte de software para multiprocessamento inclui as instruções TAS , CAS e CAS2 .

Em um sistema multiprocessador, os coprocessadores não podiam ser compartilhados entre CPUs. Para evitar problemas com retornos do coprocessador, erro de barramento e exceções de erro de endereço, geralmente era necessário em um sistema multiprocessador que todas as CPUs fossem do mesmo modelo e que todas as FPUs fossem do mesmo modelo também.

Conjunto de instruções

As novas instruções incluem algumas pequenas melhorias e extensões para o estado de supervisor, várias instruções para gerenciamento de software de um sistema de multiprocessamento (que foram removidas no 68060), algum suporte para linguagens de alto nível que não eram muito usadas (e foram removidas do processadores 680x0 futuros), instruções de multiplicação (32 × 32 → 64 bits) e divisão (quociente de 64 ÷ 32 → 32 bits e restos de 32 bits) maiores e manipulações de campo de bits.

Os novos modos de endereçamento adicionam indexação escalonada e outro nível de indireção a muitos dos modos pré-existentes.

Embora o 68000 tivesse um 'modo supervisor', ele não atendia aos requisitos de virtualização de Popek e Goldberg devido à única instrução 'MOVE from SR' ser desprivilegiada, mas sensível. Sob o 68010 e posterior, isso foi tornado privilegiado, para melhor oferecer suporte ao software de virtualização.

Arquitetura

Registradores Motorola 68020
3 1 ... 2 3 ... 1 5 ... 0 7 ... 0 0 (posição do bit)
Registros de dados
D0 Dados 0
D1 Dados 1
D2 Dados 2
D3 Dados 3
D4 Dados 4
D5 Dados 5
D6 Dados 6
D7 Dados 7
Registros de endereços
A0 Endereço 0
A1 Endereço 1
A2 Endereço 2
A3 Endereço 3
A4 Endereço 4
A5 Endereço 5
A6 Endereço 6
Ponteiros de pilha
A7 / USP Stack Pointer (usuário)
A7 '/ SSP Stack Pointer (supervisor)
Contador de programa
PC Contador de programa
Registro de código de condição
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (posição do bit)
  T S M 0 eu 0 0 0 X N Z V C CCR

Com barramentos de endereço internos e externos completos de 32 bits, os registradores de endereço (A0 a A7) poderiam utilizar sua largura total de 32 bits e eram capazes de endereçar todo o espaço de endereço de 4 GB.

As larguras efetivas maiores dos registradores de endereço apresentavam algum problema para o software anterior que não era considerado " limpo de 32 bits ". Alguns programas usavam os 8 bits altos (bits 24-31) de endereços para conter vários bits de sinalização, com o entendimento de que as CPUs 680x0 anteriores ignorariam com segurança esses bits altos. Esse software teve que ser reescrito para se ajustar ao maior espaço de endereço físico disponível para as CPUs 68020 e posteriores.

Uso

O 68020 foi usado nos computadores pessoais Apple Macintosh II e Macintosh LC , estações de trabalho Sun 3 , Amiga 1200 (nota: o Amiga 1200 usava a variante 68EC020 de baixo custo), os analisadores de rede Hewlett-Packard 8711 Series e membros posteriores da HP 9000 /300 família e da Alpha Microsystems AM-2000. Além disso, o 68020 foi uma atualização alternativa ao 68008 do computador Sinclair QL na interface do Super Gold Card da Miracle Systems .

O Amiga 2500 e o A2500UX foram enviados com o A2620 Accelerator usando um 68020, uma unidade de ponto flutuante 68881 e a unidade de gerenciamento de memória 68851. O 2500UX é fornecido com o Amiga Unix, exigindo um processador '020 ou' 030.

Vários osciloscópios digitais de meados dos anos 80 ao final dos anos 90 usaram o 68020, incluindo o LeCroy 9300 Series (modelos de ponta incluindo modelos com sufixo "C" usaram o 68EC030 mais poderoso ; os modelos 9300 com um processador 68020 podem ser atualizados para o 68EC030 com uma mudança da placa da CPU) e a série LeCroy 9400 anterior (todos os modelos exceto o 9400 / 9400A que usava o 68000 ), junto com alguns modelos da Série Tektronix TDS. Os HP 54520, 54522, 54540 e 54542 também usam o 68020, junto com um coprocessador matemático 68882.

É também o processador usado a bordo dos trens TGV para decodificar as informações de sinalização que são enviadas aos trens através dos trilhos. Além disso, está sendo usado no controle de vôo e sistemas de radar da aeronave de combate Eurofighter Typhoon .

A central telefônica DMS-100 da Nortel Networks também usou o 68020 como o primeiro microprocessador do núcleo de computação SuperNode.

Variante

Motorola MC68EC020

O 68EC020 é uma versão de custo mais baixo do Motorola 68020. A principal diferença entre os dois é que o 68EC020 tem apenas um barramento de endereço de 24 bits, em vez do barramento de endereço de 32 bits do 68020 completo e, portanto, só é capaz de endereço 16 MB de memória.

O computador Amiga 1200 e o console de jogo Amiga CD32 usam o 68EC020 de custo reduzido; as placas de arcade Namco System 22 , Taito F3 e Konami GX também usaram este processador. O protótipo do Atari Jaguar II também apresentou isso para substituir o 68000 do console Atari Jaguar original . Ele também encontrou uso em impressoras a laser. A Apple o usou no LaserWriter IIɴᴛx. A Kodak o usou no Ektaplus 7016PS e a Dataproducts no LZR 1260.

Em 2014, a Rochester Electronics restabeleceu a capacidade de fabricação do microprocessador 68020 e ela ainda está disponível hoje.

Dados técnicos

Nome formal MC68020
Taxa de clock da CPU 12,5, 16,67, 20, 25, 33 MHz (mínimo 8 MHz, sem geração de clock no chip)
Alimentação de tensão 5 V
Força maxima 1,75 W
Processo de produção HCMOS, peça de silicone 3/8 "
Portador de chip PGA 169 (114 pinos usados) 34,16 mm × 34,16 mm (53 ° C / W sem dissipador de calor)
Barramento de endereços 32 bits (4 GB de acesso linear direto)
Barramento de dados 32 bits
Conjunto de instruções 101 instruções CISC
Cache Icache de 256 bytes
Registro
  • 7 para operações de endereço (32 bits)
  • 8 para operações de dados (32 bits)
Manuseio de filial Previsão de ramo:
  • Predição de branch corrigida, abordagem de branch-never-taken
Transistores ~ 200.000
atuação 10 MIPS a 33 MHz

Referências

links externos