samedi 24 octobre 2026

Le premier microprocesseur CMOS

En 1976 RCA en mis en marché le premier microprocesseur en technologie CMOS. À cette époque les micropresseurs étaient en technologie NMOS. Mais maintenant c'est la technologie CMOS qui est utilisée pour les circuits intégrés logiques. L'avantage de cette technologie est la réduction de consommation électrique et une meilleure immunité aux interférences (noise margin). Ce microprocesseur de RCA s'appellait CDP1802. Il ne s'agissait pas seulement d'un microprocesseur mais d'une famille de composants appellée COSMAC (Complementary Symmetry Monolithic Array Computer). À cause de sa faible consommation électrique et sa meilleure immunité aux interférences la NASA l'a utilisé dans plusieurs sondes spatiales dont la sonde Galileo lancée en 1989 vers Jupiter.

architecture

Il n'y a pas que la technologie utilisée qui était différence des autres microproceseurs des années 197x. Sont architecture interne aussi. Il possédait 16 registres interne de 16 bits. Il n'y avait pas de compteur ordinal, ni de pointeur de pile dédiés. N'importe quel des 16 registres pouvait être désigné comme compteur ordinal. Au lieu d'un pointeur de pile il y avait un registre appelé data pointer qui pouvait-être utilisé à cet effet. Comme pour le compteur ordinal, le pointeur de donnée pouvait-être n'importe quel des 16 registres. Deux registres de 4 bits chacun permettaient de choisir lequel des 16 registres était utilisé. Le registre P sélectionnait le compteur ordinal et le registre X sélectionnait le pointeur de donnée.

Autre particularité du CDP1802 est qu'il y avait un mécanisme DMA (Direct Memory Access) intégré au MCU, deux broches sur le boitier du MCU DMA IN et DMA OUT permettaient un accès direct à la mémoire en interrompant l'exécution du programme. Le registre R0 était utilisé comme pointeur pour ces opérations. L'implication de cette fonctionalité est qu'il n'est pas nécessaire d'avoir un chargeur de programme en ROM. Lorsque les lignes CLEAR et WAIT sont à zéro le MCU se met en pause pour attendre une opération de DMA IN.

COSMAC ELF

En 1976 Popular electronics publiait dans son édition du mois d'août un projet de fabrication d'un petit ordinateur utilisant le CDP1802, bâptisé COSMAC ELF.

Ce petit ordinateur n'avait pas de mémoire ROM contenant un chargeur ou moniteur. Il ne possédait que 256 octets de mémoire RAM. L'utilisateur devait entrer son programme avec 8 switches de data en bas. Puisqu'il n'y avait pas de mémoire persistante le programme était perdu lorsque l'ordinateur était éteint et devait être rechargé à la main à chaque fois. Plutôt malcomode mais il s'agissait simplement d'un projet peu couteux permettant de se familiariser avec cette nouvelle techonologie des microprocesseurs.

COSMAC ELF+

À partir de l'article de Popular electronics j'ai fabriqué ma propre version du COSMAC ELF avec quelques modifications. Mon COSMAC ELF+ possède une mémoire EEPROM AT28C64B de 8 KO ainsi qu'une mémoire RAM AS6C62256 de 32 KO. J'ai choisi cette mémoire EEPROM parce qu'elle peut-être programmée octet par octet en circuit et ainsi mon programme n'est pas perdu lorsque je ferme le COSMAC ELF+

schématique du COSMAC ELF+

photo du COSMAC ELF+

vidéos

Je créé une liste de lecture sur Youtube pour ce projet.