# Motorola 68020

O Motorola 68020 é um microprocessador de 32 bits da Motorola, lançado em 1984. Sucedeu ao Motorola 68010 e foi substituído pelo Motorola 68030.

## Descrição

O 68020 possuía barramentos de dados e endereços, internos e externos, de 32 bits. Uma versão de baixo custo, o 68EC020, tinha um barramento de endereços de apenas 24 bits. O 68020 foi produzido com freqüências de 12 MHz a 33 MHz.

### Melhorias em relação ao 68010

O 68020 acrescentou muitos aperfeiçoamentos em relação ao 68010, incluindo uma ULA de 32 bits, barramentos de dados e de endereços externos, novas instruções e novos modos de endereçamento. O 68020 (e 68030) possuíam um pipeline adequado, de três estágios. Embora o 68010 possuísse um modo loop, ele era pouco usado, e o 68020 substituiu-o por um cache de 256 bytes, o primeiro processador da série 68k a apresentar memória cache onboard.
As restrições ao alinhamento em acessos de dados em words e longwords existentes em seus predecessores, foram removidas no 68020.

### Características de multiprocessamento

O modelo de multiprocessamento da Motorola foi acrescentado com o 68020. Isto permitia, com algumas restrições, que até oito processadores cooperassem num sistema. As UCPs e UPFs tinham de ser do mesmo modelo (mas não necessariamente ter o mesmo clock), mas podia haver apenas uma única MMU (ou uma Motorola 68841 ou 68851). Desta forma, multiprocessar um 68020/25 com um 68030/25 não era possível (o 68020, por exemplo, não tomava conhecimento da MMU interna do 68030) mas um 68020/25 e um 68882/33 era perfeitamente aceitável e bastante comum. Todavia, era bastante incomum ver mais de uma UCP ou UPF num mesmo sistema. A maioria dos sistemas Unix construídos com o 68020, possuíam somente o 680020, uma UPF (68881 ou 68882) e uma MMU (68841 ou 68851).

### Conjunto de instruções

As novas instruções incluíam algumas melhorias de menor monta e extensões ao estado de supervisão, várias instruções para gerenciamento de software em um sistema multiprocessado (as quais foram removidas no 68060), algum suporte para linguagens de alto nível, as quais não foram muito aproveitadas (e que foram removidas nos futuros processadores 680x0), instruções maiores de multiplicação (32×32→64 bits) e divisão (64÷32→32 bits de quociente e 32 bits de resto) e manipulações de campo de bit.

### Modos de endereçamento

Os novos modos de endereçamento acrescentaram um modo indexado e outro nível de modo indireto para muitos dos modos preexistentes e acrescentaram um pouco de flexibilidade aos vários modos indexados e operações. Embora isso não tenha sido proposital, os novos modos tornaram o 68020 particularmente conveniente para impressão de páginas; a maioria das impressoras a laser do início da década de 1990 possuíam uma UCP 68EC020.
O 68020 tinha um cache mínimo de instruções de mapeamento direto de 256 bytes, disposto em 64 entradas de quatro bytes. Apesar de pequeno, representava um diferencial significativo na performance de muitos aplicativos. A redução resultante no tráfego do barramento era particularmente importante em sistemas que dependiam fortemente de DMA.

## Uso

O 68020 foi usado nos computadores pessoais Apple Macintosh II e Macintosh LC, bem como em workstations Sun 3 e na série Hewlett Packard 8711 Network Analyzers. O microcomputador Commodore Amiga 1200 e o console Amiga CD-32 usaram a versão de baixo custo 68EC020.
É também o processador usado a bordo dos TGV para decodificar sinais enviados para os trens através dos trilhos. Além disso, foi usado nos sistemas de controle de voo da aeronave de combate Eurofighter Typhoon.