DIP-40 · INS8060N · dessin, pas une photo
National SemiconductorNational Semiconductor
1976
National Semiconductor SC/MP
Le « scamp » de National : lent, bon marché et avec la mémoire en tranches de 4 Ko.
Le SC/MP (Simple Cost-effective Micro Processor), de National Semiconductor, arriva en avril 1976 et fut pensé pour coûter peu. Sa version NMOS, l'INS8060 ou SC/MP-II, est le processeur du MK14, le kit avec lequel Clive Sinclair entra dans l'informatique.
- 8
- 8
- 4
- 64 KB
Pensé pour être bon marché
SC/MP se prononce « scamp » et signifie Simple Cost-effective Micro Processor. National le lança en avril 1976 pour des appareils et des contrôleurs, où le prix par fonction comptait plus que la vitesse. L'idée était de monter un système avec le minimum de puces autour, et c'est pourquoi le SC/MP intègre déjà l'oscillateur d'horloge, ce qui était peu courant sur une puce PMOS.
Le premier SC/MP (ISP-8A/500) était en PMOS, montait jusqu'à 1 MHz et demandait deux alimentations, +5 V et −7 V. Le SC/MP-II, ou INS8060 (ISP-8A/600), passa au NMOS, n'a besoin que de +5 V et accepte un oscillateur jusqu'à 4 MHz. Comme un microcycle passa de deux à quatre périodes d'horloge, il devint en pratique environ deux fois plus rapide, et non quatre.
Signetics apparaît comme seconde source autorisée et publia de la documentation sur le SC/MP-II, mais selon Osborne et Kane elle ne l'a jamais fabriqué.
À l'intérieur
Il a un accumulateur de 8 bits (AC), un registre d'extension (E), un registre d'état et quatre pointeurs de 16 bits, P0 à P3. P0 est le compteur de programme. Par convention, P1 pointe vers la ROM, P2 vers la RAM et P3 garde l'adresse de retour des sous-programmes et des interruptions. Il compte 46 instructions.
Il n'y a ni pile ni instruction d'appel de sous-programme. Pour appeler une routine, on charge l'adresse dans un pointeur et on utilise XPPC, qui échange ce pointeur avec le compteur de programme ; la même instruction sert au retour. L'assembleur de National propose un JS qui se déploie en cinq instructions et sept octets.
Le SC/MP ajoute 1 au compteur de programme avant de lire chaque instruction. C'est pourquoi, après un reset, il commence à l'adresse 0001 et non 0000, et les adresses de destination sont toujours stockées moins un.
La mémoire en tranches
Les adresses font 16 bits, ce qui donne 64 Ko, mais pour économiser des broches il n'y a que 12 lignes d'adresse : les 4 bits du haut sortent par le bus de données, multiplexés. Et l'arithmétique d'adresses ne touche qu'aux 12 bits du bas.
Le résultat est une mémoire en 16 pages de 4 Ko. Les sauts relatifs et l'adressage indexé ne sortent pas de la page courante, et quand le compteur de programme arrive au bout d'une page, il ne passe pas à la suivante : il revient au début de la même. Changer de page oblige à charger la partie haute d'un pointeur avec des instructions dédiées.
Série, signaux et attentes
Pour communiquer en série, il n'y a pas de circuit dédié : l'instruction SIO décale le registre E d'un bit vers la droite, en plaçant un bit sur la broche SOUT et en lisant un autre sur la broche SIN. Un octet entier, ce sont huit SIO à la suite.
Les trois bits bas du registre d'état sortent directement sur trois broches, F0 à F2, pour allumer une LED ou commander un relais sans autre puce. Il y a deux entrées, Sense A et Sense B, et Sense A sert aussi de demande d'interruption.
L'instruction DLY fait attendre le processeur entre 13 et 131 593 microcycles. Le manuel du MK14 l'utilise avec SIO pour cadencer les transmissions série. Il dispose aussi de lignes de demande et de cession du bus (NBREQ, NENIN, NENOUT) pour l'accès direct à la mémoire et pour relier plusieurs SC/MP en chaîne partageant la même mémoire.
Lent, mais dans le MK14
Il était lent pour l'époque : sur le SC/MP d'origine, additionner une valeur immédiate prend 11 microcycles, 22 µs à 1 MHz, là où un 8080 à 2 MHz le fait en 3,5 µs. Cela et la mémoire en pages le cantonnèrent aux contrôleurs, où il était aussi en concurrence avec le Fairchild F8. L'un des usages documentés est le contrôleur d'ascenseurs MIPROM, de Montgomery Elevator, avec un INS8060N sur la carte.
Le MK14 partit d'une conception d'Ian Williamson. Quand Chris Curry, de Science of Cambridge, demanda des prix à National, l'entreprise offrit gratuitement une conception complète, réalisée avec son IntroKit et son kit clavier, en échange d'un contrat d'achat des composants. Le kit sortit à 39,95 livres et les premiers commencèrent à arriver chez les clients en février 1978.
Le quartz du MK14 est de 4,43 MHz, celui de la sous-porteuse couleur PAL, fabriqué par millions pour les téléviseurs. Il est environ 10 % au-dessus des 4 MHz maximum qu'indique la fiche technique de l'INS8060.
Le saviez-vous…
Comme le PC reboucle à l'intérieur de la même page, un programme qui s'exécute jusqu'à la fin d'un bloc de 4 Ko revient au début de ce bloc au lieu de continuer.
Sauvegarder l'état du processeur lors d'une interruption demande, dans l'exemple de National elle-même, 17 instructions et 26 octets ; sur l'Intel 8080, 4 instructions et 4 octets suffisaient.
L'attente la plus longue de DLY, à l'horloge du MK14, donne près de 0,12 seconde de processeur à l'arrêt.
Osborne et Kane l'appelèrent « le microprocesseur esclave par excellence » pour les systèmes à plusieurs processeurs.
Doug Neubauer, plus tard auteur de Star Raiders pour Atari, travailla chez National sur un ordinateur domestique qui atteignit le stade de prototype avant d'être annulé.
Selon Chris Curry, MK14 voulait dire « microprocessor kit » à 14 composants ; beaucoup de gens ont lu « Mark 14 ».
Son successeur, la série 70 (INS807x), eut même une version avec un BASIC (NIBL) en ROM interne.
