PDP-7
Le mini-ordinateur sur lequel UNIX est né
Le PDP-7 est un ordinateur 18 bits conçu par la Digital Equipment Corporation (DEC) et présenté en décembre 1964.
Successeur du PDP-4, il est destiné au calcul scientifique, à l’acquisition de données et au contrôle de procédés en temps réel. On le classe aujourd’hui parmi les premiers mini-ordinateurs, tandis que DEC le commercialise alors sous l’appellation Programmed Data Processor.
Le PDP-7 ne connaît pas la diffusion massive du PDP-8 ou du PDP-11 : DEC en produit et en vend environ 120 exemplaires. Son importance historique dépasse pourtant largement ce nombre. C’est sur un PDP-7 peu utilisé des Bell Laboratories que Ken Thompson et Dennis Ritchie développent, en 1969, le premier système qui deviendra UNIX.
Fiche rapide
- Constructeur : Digital Equipment Corporation (DEC)
- Date d’introduction : décembre 1964
- Variante : PDP-7A, introduit en 1965
- Catégorie : petit ordinateur scientifique, aujourd’hui classé parmi les mini-ordinateurs
- Architecture : 18 bits, machine à une adresse organisée autour d’un accumulateur
- Mémoire standard : 4 096 mots de 18 bits, soit l’équivalent d’environ 9 Kio
- Mémoire maximale prévue dans le manuel initial : 32 768 mots
- Technologie : mémoire à tores magnétiques et modules logiques DEC Flip Chip
- Entrées-sorties de base : télétype, lecteur et perforateur de ruban de papier
- Stockage et périphériques optionnels : DECtape, bandes magnétiques, tambour, écrans cathodiques, convertisseurs analogique-numérique
- Logiciels marquants : DECsys, puis le premier UNIX expérimental aux Bell Labs
- Production : environ 120 PDP-7 et PDP-7A
Un successeur plus compact du PDP-4
Le PDP-7 appartient à la première famille d’ordinateurs 18 bits de DEC. Il succède au PDP-4 et précède le PDP-9 puis le PDP-15. Ces machines partagent une organisation générale et une grande partie de leur logique de programmation.
La chronologie publiée par DEC indique que le PDP-7 est introduit en décembre 1964. Il utilise des unités plus petites et plus conventionnelles que celles de son prédécesseur. La machine est bien accueillie dans les laboratoires et dans les installations d’acquisition de données, deux domaines où il faut relier directement l’ordinateur à des instruments de mesure.
En 1965, DEC propose le PDP-7A, une évolution utilisant les modules logiques de la série R. Le nombre total de machines reste modeste, mais le PDP-7 contribue à consolider la présence de DEC dans le domaine des ordinateurs scientifiques interactifs.
Une architecture 18 bits organisée autour de l’accumulateur
Le PDP-7 travaille avec des mots de 18 bits. Il ne possède pas l’ensemble de registres généraux que l’on trouvera plus tard sur le PDP-11. Les opérations arithmétiques et logiques utilisent principalement un registre central de 18 bits nommé AC, pour Accumulator, complété par un bit appelé Link.
Le manuel de DEC décrit le PDP-7 comme une machine à une adresse. Une instruction indique généralement une opération et l’adresse d’un mot en mémoire. L’autre opérande est souvent implicitement l’accumulateur.
Le PDP-7 offre toutefois l’adressage indirect. Une instruction peut désigner une case contenant elle-même l’adresse réelle de la donnée. Huit emplacements particuliers de la mémoire, numérotés de 10 à 17 en octal, peuvent en outre s’auto-incrémenter lorsqu’ils sont utilisés indirectement. Ils jouent ainsi un rôle proche de registres d’index et facilitent le parcours de tableaux.
Cette architecture est relativement simple, mais elle reste performante pour son époque. La mémoire standard possède un cycle de 1,75 microseconde et DEC annonce environ 285 000 additions par seconde. Une unité arithmétique étendue optionnelle accélère les multiplications, les divisions et les décalages.
Mémoire à tores et modules Flip Chip
La mémoire de base contient 4 096 mots de 18 bits. Il ne faut pas la comprendre exactement comme une mémoire moderne organisée en octets : le PDP-7 adresse des mots entiers. Sa capacité représente néanmoins environ 9 Kio d’information.
Une première extension porte la mémoire à 8 192 mots. Le contrôleur d’extension décrit dans le manuel de 1964 permet ensuite d’atteindre 32 768 mots.
La mémoire repose sur des tores magnétiques. Chaque bit est conservé par l’état magnétique d’un minuscule anneau de ferrite. La lecture étant destructive, le contenu lu doit être réécrit immédiatement dans la mémoire.
La logique du processeur utilise les modules Flip Chip développés par DEC. Malgré leur nom, il ne s’agit pas encore de microprocesseurs ni de circuits intégrés comparables à ceux des années 1970. Ces cartes rassemblent des composants discrets — transistors, diodes, résistances et condensateurs — connectés à un fond de panier câblé. Cette construction modulaire facilite la fabrication, la maintenance et l’ajout d’interfaces.
Une machine conçue pour dialoguer avec des instruments
DEC présente le PDP-7 comme un ordinateur adapté au laboratoire scientifique, au centre de calcul et au contrôle de procédés en temps réel. Cette orientation apparaît clairement dans son système d’entrées-sorties.
La configuration de base comprend :
- un télétype KSR-33 pour saisir des commandes et imprimer les résultats ;
- un lecteur de ruban perforé pouvant atteindre 300 caractères par seconde ;
- un perforateur de ruban de papier ;
- une horloge temps réel ;
- des mécanismes d’interruption et de transfert rapide des données.
Le contrôleur peut gérer jusqu’à 64 connexions d’entrées-sorties. Le mécanisme nommé Data Interrupt permet à certains périphériques de transférer rapidement des informations avec une intervention réduite du programme principal. Son rôle se rapproche de celui que rempliront les contrôleurs DMA, même si les premières réalisations possèdent encore des contraintes importantes.
De nombreux équipements peuvent être ajoutés : lecteurs de cartes, imprimantes rapides, bandes magnétiques, tambours, équipements de communication ou convertisseurs analogique-numérique.
Le PDP-7 peut également commander les écrans cathodiques DEC Type 30 et Type 340 ainsi qu’un crayon lumineux. Le Type 340 sait tracer rapidement des points, des lignes, des vecteurs et des caractères. Cette capacité graphique jouera un rôle décisif dans l’utilisation du PDP-7 des Bell Labs.
DECtape et DECsys : un environnement de travail complet
Le DECtape est introduit en même temps que le PDP-7. Contrairement à une simple bande magnétique lue séquentiellement, il est divisé en blocs repérés. Le système peut rechercher un bloc puis lire ou modifier une petite quantité d’information. Il se comporte ainsi davantage comme une unité de stockage à accès direct.
Le PDP-7 accueille DECsys, présenté par DEC comme son premier système d’exploitation fondé sur un stockage de masse pour cette famille de machines. L’environnement fournit notamment un assembleur, un outil de mise au point nommé DDT, un éditeur et un système FORTRAN.
Le PDP-7 n’est donc pas seulement un contrôleur destiné à être enfermé dans une installation industrielle. Avec un DECtape, un terminal et les outils logiciels appropriés, il peut devenir un véritable poste de développement interactif.
Space Travel : la porte d’entrée vers le PDP-7
En 1969, les Bell Laboratories se retirent progressivement du projet Multics. Ken Thompson et plusieurs de ses collègues souhaitent pourtant conserver un environnement informatique interactif dans lequel ils puissent développer librement leurs propres outils.
Thompson travaille alors sur Space Travel, une simulation représentant le mouvement des principaux corps du Système solaire. Une version fonctionne sous GECOS sur un grand GE-635, mais elle est peu agréable à utiliser et une partie peut consommer environ 75 dollars de temps de calcul.
Thompson découvre aux Bell Labs un PDP-7 peu employé, équipé d’un excellent processeur d’affichage et utilisé comme terminal graphique. Avec Dennis Ritchie, il réécrit Space Travel pour cette machine.
Le travail est plus difficile qu’un simple portage. Ils doivent créer une bibliothèque de calcul en virgule flottante, dessiner les caractères point par point et développer leurs propres outils de mise au point. Le code est d’abord écrit en assembleur sur le GE-635, transformé par un assembleur croisé, puis transporté physiquement jusqu’au PDP-7 sur ruban perforé.
Il serait toutefois inexact d’affirmer qu’UNIX a été conçu uniquement pour faire fonctionner ce jeu. Dennis Ritchie précise que Space Travel sert surtout d’introduction à la programmation du PDP-7 et à ses outils particulièrement rudimentaires. Les principes du futur système de fichiers avaient déjà été discutés par Thompson, Ritchie et Rudd Canaday.
1969 : UNIX prend forme sur le PDP-7
Après cette première expérience, Ken Thompson met en œuvre sur le PDP-7 le système de fichiers imaginé auparavant. Pour pouvoir réellement l’utiliser, il ajoute progressivement :
- la notion de processus ;
- des commandes permettant de copier, afficher, supprimer et modifier des fichiers ;
- un éditeur de texte ;
- un interpréteur de commandes, ou shell ;
- un assembleur fonctionnant directement sur la machine.
Lorsque cet assembleur devient opérationnel, le système peut enfin servir à son propre développement sans passer continuellement par le GE-635 et le ruban perforé.
Ritchie situe la naissance d’UNIX en 1969. Le nom Unix, proposé par Brian Kernighan comme un jeu de mots sur Multics, n’apparaît cependant qu’au cours de l’année 1970.
Tous les premiers programmes du système sont écrits dans l’assembleur du PDP-7, sans macros, sans chargeur et sans éditeur de liens. Chaque programme doit donc être complet. Le langage B, conçu ensuite par Ken Thompson sous l’influence de BCPL, améliore progressivement cet environnement et prépare indirectement la naissance du langage C.
Ce que le premier UNIX possède déjà
Le système du PDP-7 reste très limité, mais plusieurs principes fondamentaux d’UNIX sont déjà présents :
- des i-nodes décrivant les fichiers ;
- des répertoires associant des noms à ces i-nodes ;
- des fichiers spéciaux représentant les périphériques ;
- des opérations proches de
read,write,open,createtclose; - des liens permettant à plusieurs noms de désigner un même fichier.
Il ne s’agit cependant pas encore de l’UNIX que l’on connaîtra sur PDP-11. Les fichiers sont manipulés par mots plutôt que par octets. Les noms de chemins comportant plusieurs répertoires n’existent pas encore. Le système n’est pas multiprogrammé au sens moderne : un seul programme utilisateur réside en mémoire à un instant donné.
La machine des Bell Labs ne possède qu’un disque fixe et deux terminaux. Ces contraintes obligent les concepteurs à rechercher des mécanismes simples, compacts et réutilisables. Une partie de l’élégance future d’UNIX naît directement de cette économie de moyens.
Du PDP-7 au PDP-11
Au début de 1970, le système fonctionne, mais le PDP-7 est déjà vieillissant et le groupe ne dispose pas librement de la machine. Les Bell Labs commandent un PDP-11 en mai 1970.
En attendant l’arrivée de son disque, une première version d’UNIX pour le nouveau processeur est préparée à l’aide d’un assembleur croisé fonctionnant sur le PDP-7. Dennis Ritchie explique que le premier système PDP-11 reste, dans son organisation interne, très proche de son prédécesseur : il s’agit en grande partie d’une translittération de l’assembleur 18 bits vers l’architecture 16 bits.
Le passage au PDP-11 permet ensuite d’améliorer profondément le système. Les chemins de fichiers prennent leur forme moderne, la gestion des processus évolue et, en 1973, UNIX est en grande partie réécrit en langage C.
Le PDP-7 constitue donc le berceau expérimental d’UNIX, tandis que le PDP-11 devient la machine sur laquelle le système mûrit et commence réellement à se diffuser.
Pourquoi le PDP-7 a autant compté
Le PDP-7 n’est pas un succès commercial de masse. Son importance vient de la rencontre entre une machine scientifique relativement accessible et une équipe de chercheurs capable d’en repousser les limites.
- Continuité technique : il prolonge l’architecture 18 bits du PDP-4 et prépare les PDP-9 et PDP-15.
- Modularité : ses interfaces permettent de connecter des instruments, des unités de stockage et des dispositifs graphiques.
- Informatique interactive : DECtape, DECsys et les terminaux en font un environnement de développement complet pour l’époque.
- Naissance d’UNIX : le premier noyau, le système de fichiers, le shell et plusieurs outils fondamentaux prennent forme sur cette machine.
- Transition vers les langages modernes : le travail mené autour du PDP-7 favorise le développement de B, puis indirectement celui du C.
Le PDP-7 illustre ainsi une constante de l’histoire de l’informatique : une machine relativement peu diffusée peut avoir une influence immense lorsqu’elle devient le support d’une innovation logicielle durable.
Repères chronologiques
- Décembre 1964 : DEC introduit le PDP-7
- 1965 : apparition du PDP-7A utilisant les modules Flip Chip de la série R
- 1969 : Ken Thompson et Dennis Ritchie adaptent Space Travel au PDP-7
- 1969 : le premier système UNIX prend forme sur le PDP-7 des Bell Labs
- 1970 : Brian Kernighan propose le nom Unix
- Mai 1970 : les Bell Labs commandent un PDP-11 pour poursuivre le développement
Sources principales
- Digital Equipment Corporation, Programmed Data Processor-7 Reference Manual, décembre 1964.
- Digital Equipment Corporation, DIGITAL Computing Timeline 1957–1997.
- Dennis M. Ritchie, The Evolution of the Unix Time-sharing System, Bell Laboratories.
- Computer History Museum, The Earliest Unix Code: An Anniversary Source Code Release, 2019.
- Digital Equipment Corporation, Programmed Data Processor-7, brochure commerciale.
Image de couverture par en:User:Toresbe – From english Wikipedia. Original description was: The Oslo PDP-7, before restoration started. I took the picture., CC SA 1.0, Link
