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.

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. Con il PC che fa il giro dentro la stessa pagina, un programma che arriva alla fine di un blocco da 4 KB torna all'inizio di quel blocco invece di proseguire.

  2. 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.

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

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

  5. 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.

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

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

Dove si trova