RETRODREAMSAMIGA & SPECTRUM
Menu

← Tutti i chip

scmp.chip

DIP-40 · INS8060N · disegno, non fotografia

National SemiconductorNational Semiconductor

1976

National Semiconductor SC/MP

Lo "scamp" di National: lento, economico e con la memoria a fette da 4 KB.

Il SC/MP (Simple Cost-effective Micro Processor), di National Semiconductor, arrivò nell'aprile 1976 e fu pensato per costare poco. La versione NMOS, l'INS8060 o SC/MP-II, è il processore dell'MK14, il kit con cui Clive Sinclair entrò nel mondo dei computer.

bit interni
8
bit di bus
8
MHz al massimo
4
indirizzabili
64 KB

Pensato per essere economico

SC/MP si legge "scamp" e significa Simple Cost-effective Micro Processor. National lo lanciò nell'aprile 1976 per apparecchi e controllori, dove il prezzo per funzione contava più della velocità. L'idea era montare un sistema con il minimo di chip intorno, e per questo il SC/MP ha già l'oscillatore di clock integrato, cosa poco comune in un chip PMOS.

Il primo SC/MP (ISP-8A/500) era PMOS, arrivava a 1 MHz e chiedeva due alimentazioni, +5 V e −7 V. Il SC/MP-II, o INS8060 (ISP-8A/600), passò all'NMOS, ha bisogno solo di +5 V e accetta un oscillatore fino a 4 MHz. Siccome un microciclo passò da due a quattro periodi di clock, in pratica diventò circa due volte più veloce, e non quattro.

Signetics compare come seconda fonte autorizzata e pubblicò documentazione del SC/MP-II, ma secondo Osborne e Kane non arrivò mai a produrlo.

Dentro

Ha un accumulatore a 8 bit (AC), un registro di estensione (E), un registro di stato e quattro puntatori a 16 bit, da P0 a P3. P0 è il contatore di programma. Per convenzione, P1 punta alla ROM, P2 alla RAM e P3 conserva l'indirizzo di ritorno di subroutine e interrupt. Le istruzioni sono 46.

Non c'è stack né istruzione di chiamata a subroutine. Per chiamare una routine si carica l'indirizzo in un puntatore e si usa XPPC, che scambia quel puntatore con il contatore di programma; la stessa istruzione serve per tornare. L'assembler di National offre un JS che si espande in cinque istruzioni e sette byte.

Il SC/MP aggiunge 1 al contatore di programma prima di leggere ogni istruzione. Per questo, dopo un reset, parte dall'indirizzo 0001 e non da 0000, e gli indirizzi di destinazione si memorizzano sempre diminuiti di uno.

Science of Cambridge MK14Science of Cambridge MK14 · 1977
Foto: RetroEditor · CC BY-SA 4.0 · Wikimedia Commons

La memoria a fette

Gli indirizzi sono a 16 bit, il che dà 64 KB, ma per risparmiare pin ci sono solo 12 linee di indirizzo: i 4 bit alti escono dal bus dati, multiplexati. E l'aritmetica degli indirizzi tocca solo i 12 bit bassi.

Il risultato è una memoria in 16 pagine da 4 KB. I salti relativi e l'indirizzamento indicizzato non escono dalla pagina corrente, e quando il contatore di programma arriva alla fine di una pagina non passa alla successiva: torna all'inizio della stessa. Cambiare pagina obbliga a caricare la parte alta di un puntatore con istruzioni apposite.

Seriale, segnali e attese

Per comunicare in seriale non c'è un circuito dedicato: l'istruzione SIO fa scorrere il registro E di un bit verso destra, mettendo un bit sul pin SOUT e leggendone un altro dal pin SIN. Un byte intero sono otto SIO di fila.

I tre bit bassi del registro di stato escono direttamente su tre pin, da F0 a F2, per accendere un LED o comandare un relè senza altri chip. Ci sono due ingressi, Sense A e Sense B, e Sense A serve anche da richiesta di interrupt.

L'istruzione DLY fa aspettare il processore tra 13 e 131.593 microcicli. Il manuale dell'MK14 la usa con SIO per temporizzare le trasmissioni seriali. Ha anche linee di richiesta e cessione del bus (NBREQ, NENIN, NENOUT) per l'accesso diretto alla memoria e per collegare più SC/MP in catena a condividere la stessa memoria.

Lento, ma nell'MK14

Era lento per l'epoca: nel SC/MP originale, sommare un valore immediato richiede 11 microcicli, 22 µs a 1 MHz, quando un 8080 a 2 MHz lo fa in 3,5 µs. Questo e la memoria a pagine lo relegarono ai controllori, dove competeva anche con il Fairchild F8. Uno degli usi documentati è il controllore per ascensori MIPROM, di Montgomery Elevator, con un INS8060N sulla scheda.

L'MK14 nacque da un progetto di Ian Williamson. Quando Chris Curry, di Science of Cambridge, chiese i prezzi a National, l'azienda offrì gratis un progetto completo, fatto con il suo IntroKit e il suo kit tastiera, in cambio di un contratto di acquisto dei componenti. Il kit uscì a 39,95 sterline e i primi cominciarono ad arrivare ai clienti nel febbraio 1978.

Il quarzo dell'MK14 è da 4,43 MHz, quello della sottoportante colore PAL, prodotto a milioni per i televisori. È circa il 10% sopra i 4 MHz massimi indicati dalla scheda tecnica dell'INS8060.

Lo sapevi che…

  1. Salvare lo stato del processore in un interrupt richiede, nell'esempio della stessa National, 17 istruzioni e 26 byte; nell'Intel 8080 bastavano 4 istruzioni e 4 byte.

  2. L'attesa più lunga di DLY, con il clock dell'MK14, dà quasi 0,12 secondi con il processore fermo.

  3. Osborne e Kane lo chiamarono "il microprocessore slave per eccellenza" per i sistemi con più processori.

  4. Doug Neubauer, poi autore di Star Raiders per Atari, lavorò in National a un computer domestico che arrivò allo stadio di prototipo e fu cancellato.

  5. Secondo Chris Curry, MK14 voleva dire "microprocessor kit" con 14 componenti; molti lessero "Mark 14".

  6. Il successore, la serie 70 (INS807x), arrivò ad avere una versione con BASIC (NIBL) nella ROM interna.

Dove si trova

Fonti

  1. [1]SC/MP data sheet · National Semiconductor · bitsavers
  2. [2]SC/MP Technical Description (4200079A) · National Semiconductor · bitsavers, 1976
  3. [3]Science of Cambridge MK14 manual · Science of Cambridge, 1977