RETRODREAMSAMIGA & SPECTRUM
Menu

← Tutti i chip

68010.chip

DIP-64 · MC68010P10 · disegno, non fotografia

Motorola 68000Motorola

1982

Motorola 68010

Il 68000 corretto: memoria virtuale vera e un trucco per i cicli brevi.

Il 68010, del 1982, entra nello stesso zoccolo del 68000 e corregge quello che mancava per la memoria virtuale e le macchine virtuali. Nessun Amiga lo montava di serie, ma è l'aggiornamento più semplice che si possa fare a un A500.

bit interni
32
bit di bus
16
MHz al massimo
12,5
indirizzabili
16 MB

Cosa mancava al 68000

Il 68000 aveva un problema per chi voleva la memoria virtuale, la tecnica con cui il sistema finge di avere più memoria di quella che ha e va a prendere dal disco quello che manca. Quando un'istruzione prova a leggere memoria che non c'è, il processore deve fermarsi, aspettare che il sistema la porti e poi continuare. Il 68000 non salvava abbastanza informazioni per riprendere l'istruzione a metà.

Il 68010, lanciato nel 1982, risolve il problema: in caso di errore di bus salva il suo stato interno nello stack e riesce a continuare l'istruzione dopo. È ciò che permise a sistemi Unix come quelli di Sun di usare la memoria virtuale con un processore della famiglia.

Le differenze dentro

L'istruzione MOVE from SR, che legge il registro di stato del processore, diventò privilegiata: un programma normale che la usa provoca un'eccezione. Con questo il 68010 soddisfa i requisiti di Popek e Goldberg per la virtualizzazione, e un sistema può farne girare un altro sopra di sé senza che questo se ne accorga. Per compensare arrivò la MOVE from CCR, che legge solo la parte che interessa ai programmi.

Aggiunse un registro nuovo, il VBR, che dice dove comincia la tabella delle eccezioni, invece di tenerla sempre all'indirizzo zero. E aggiunse il loop mode: se un ciclo è fatto di una sola istruzione breve seguita da un DBcc, il processore lo tiene dentro e smette di andarlo a prendere in memoria a ogni giro. In una semplice copia di memoria questo fa risparmiare molto tempo.

Fuori è quasi uguale al 68000: bus dati a 16 bit, 24 bit di indirizzi e 16 MB. Motorola lo vendeva a 8, 10 e 12,5 MHz, in DIP a 64 pin, PLCC a 68 e PGA a 68. Esisteva anche il 68012, con 31 bit di indirizzi, fino a 2 GB.

Dove è stato usato

Fu nelle workstation Sun (Sun-2), Apollo (DN300 e DN320), nell'HP 9000 modello 310 e nell'AT&T UNIX PC (3B1). Nelle sale giochi Atari lo usò, per esempio, in Marble Madness del 1984.

Nei computer domestici rimase all'ombra del 68000, più economico, e il 68020 arrivò già nel 1984.

Il 68010 nell'Amiga

Nessun Amiga uscì dalla fabbrica con un 68010. Ma siccome è compatibile piedino per piedino con il 68000 in DIP a 64, basta togliere l'uno e mettere l'altro in un A500, A1000 o A2000. AmigaOS riconosce il processore senza installare nulla.

Il guadagno generale è intorno al 10% alla stessa velocità di clock. Nei cicli brevi il loop mode può dare parecchio di più, e ci sono giochi che fanno lavorare molto il processore in cui la differenza si nota.

Il prezzo da pagare è la MOVE from SR. Alcuni programmi vecchi la usano in modo utente e cominciano a dare errore. Per questi casi ci sono programmi come DeciGEL, che intercettano l'eccezione e fanno il lavoro al posto dell'istruzione.

Lo sapevi che…

  1. L'istruzione che ha rotto programmi sul 68010 è la stessa che dà problemi su tutti i processori della famiglia venuti dopo: 68020, 68030, 68040 e 68060.

  2. Con il VBR, WHDLoad riesce a tornare al Workbench quando premi il tasto di uscita, cosa che su un 68000 non è possibile.

  3. Il loop mode funziona come una cache minuscola: tiene solo due istruzioni, quella del lavoro e quella del salto.

  4. La scheda tecnica di Motorola dichiara 57 tipi di istruzione, uno in più del 68000.

  5. Ci sono stati possessori di Atari ST e di Mega Drive che hanno fatto lo stesso cambio di processore che si fa sull'A500.

  6. Sun passò dal 68000, nella Sun-1, al 68010 nella seconda generazione, la Sun-2.

Dove si trova

Nessuna delle macchine del sito è uscita di fabbrica con questo processore: è arrivato sugli Amiga con le schede acceleratrici, che installiamo anche noi.