Le PDP-10 est un ordinateur créé à la fin des années 1960 par Digital Equipment Corporation. Son nom signifie « Programmed Data Processor model 10 ».

Seul grand système au catalogue de DEC, il cibla une clientèle moins commerciale qu'IBM et fut particulièrement populaire durant les années 1970 parmi les universités et les centres de recherche, notamment Harvard, le MIT, Standford, ou encore le CERN, où il servit tant aux travaux de recherche qu'aux tâches administratives.

Les PDP-10 jouèrent un rôle prépondérant dans la création d'ARPANET et des débuts d'Internet, étant à l'époque un des rares ordinateurs abordables disposant de la puissance nécessaire pour le fonctionnement d'une pile NCP puis TCP/IP complète en environnement multi-utilisateurs. De la même façon, le fournisseur de services Compuserve en employa à son apogée plus de 200, et les utilisa jusqu'à la fin des années 1980, puis en petite série jusqu'à la fin des années 2000.

Grâce à son architecture 36 bits optimisée pour le code Lisp, et permettant notamment de stocker les 2x18 bits d'une paire Lisp (cons cell) sur un seul mot de mémoire, le PDP-10 a été particulièrement prisé pour la recherche en intelligence artificielle entre la fin des années 1960 et le milieu des années 1980, notamment au MIT AI Lab et au Stanford Artificial Intelligence Laboratory (SAIL), avant l'émergence des machines Lisp. SHRDLU, un des premiers programmes de reconnaissance de langage humain, en est un exemple.

Certains programmes développés par le MIT pour le PDP-10 existent encore de nos jours, tels que Emacs, TeX, MacLisp ou encore Scheme.

Selon DEC, il s'en était vendu environ 1500 en 1980.

Le PDP-10 utilise un processeur comme son prédécesseur, le PDP-6, dont il partage le même jeu d'instructions avec quelques compléments. L'architecture du PDP-10 est particulièrement orthogonale, à la manière des PDP-11 ou des microprocesseurs Motorola 68000.

À partir de 1970, DEC abandonna le nom de PDP-10, craignant que ce dernier ne soit assimilé aux mini-ordinateurs de la même marque, au profil de DECsystem10, parfois abrégé DEC-10, auquel se rajouteront ultérieurement les DECSYSTEM20 fonctionnant sous TOPS-20.

Au début des années 1980, DEC travaillait simultanément sur un processeur de PDP-10 de nouvelle génération, le projet Jupiter (KC10), et sur le super-mini VAX, descendant 32 bits du PDP-11. DEC réalisa que ses deux gammes entraient en concurrence, et décida en 1983 l'arrêt de la gamme PDP-10 et du futur processeur KC10, pourtant presque terminé, pour se concentrer sur VAX, plus rentable et doté d'une architecture 32 bits plus contemporaine.

Malgré l'abandon du matériel, un certain nombre de clones furent produits, et l'on trouve encore de nos jours des traces du PDP-10 et du système TOPS-20 dans certains équipements.

Systèmes d'exploitation

TOPS-10 Le système original du PDP-10, hérité du PDP-6, s'appelait simplement "monitor", puis fut renommé TOPS-10 lors du changement de nom commercial vers DECSYSTEM-10.

DEC fournissait le code source de TOPS-10 avec le matériel, ce qui lui permit de servir de base pour d'autres systèmes d'exploitation, notamment WAITS (Western Artificial Intelligence Time Sharing), créé par l'université de Standford. CompuServe créa également son propre système dérivé de TOPS-10, ainsi que l'entreprise Tymshare qui développa un système à mémoire paginée dénommé TYMCOM-X. TOPS-10 servi aussi d'inspiration, ultérieurement, pour les systèmes OS-8, RT-11, CP/M et MS-DOS.

TOPS-10 est un des rares systèmes, y compris de nos jours, à pouvoir faire fonctionner simultanément des tâches de type batch, temps réel et temps partagé. TOPS-10, système d'exploitation phare du PDP-10, reçu des mises à jour jusqu'en 1988 avec la version 7.04.

TENEX et TOPS-20 BBN, qui produisit un gestionnaire de mémoire virtuelle pour le processeur KA-10, développa un système permettant d'en tirer parti : TENEX, qui devint populaire dans le monde de la recherche. DEC le porta ultérieurement vers le processeur KL10, en l'améliorant substantiellement. Ce système deviendra TOPS-20, de la gamme DECSYSTEM-20.

ITS

Le MIT, après avoir développé le système à temps partagé CTSS (Compatible Time-Sharing System) pour l'IBM 709, créa ITS (Incompatible Timesharing System) pour les PDP-6 et PDP-10. Richard Stallman, l'un des quatre développeurs d'ITS, en fit un système open-source remarquablement avancé, préfigurant la culture hacker et le projet GNU.

ITS offrait un environnement de développement ouvert, permissif et collaboratif, où les utilisateurs pouvaient modifier le système et son code source en direct, sans mesures de sécurité ni restrictions. Il incarnait avant l'heure l'esprit du logiciel libre et, malgré sa disparition, posa les bases de la culture du logiciel libre et de GNU Emacs, héritier de sa philosophie.

Processeurs vignette|Panneau frontal d'un processeur KA10.

KA10 Le premier processeur de PDP-10 est le KA10, sorti en . Il se compose de trois armoires pesant un total de 875 kg et consommant 4,3 kW. Il utilise des cartes modulaires "Flip-Chip" de série B construites en logique discrète DTL, ce qui en fait un ordinateur de deuxième génération. Le KA-10 est dépourvu de mémoire virtuelle, se limitant à un adressage mémoire sur 18 bits (256 Kmots de 36 bits, soit environ 1,1 Mo de mémoire). L'entreprise BBN proposa un gestionnaire de mémoire virtuelle sur 23 bits pour le KA-10, ainsi qu'un système d'exploitation en tirant partie : TENEX, qui servira ultérieurement de base pour le système TOPS-20.

La performance du KA-10 était estimée par DEC aux alentours de 0,38 MIPS. vignette|Panneau frontal d'un processeur KI10

KI10 Le processeur KI10 (I pour "Integrated), est commercialisé en après trois ans de conception. Il est implémenté avec des circuits intégrés TTL montés sur de larges cartes, qui permettent une fiabilisation de l'électronique, ainsi qu'une réduction de la consommation électrique. La performance est presque doublée par rapport au KA10, à environ 0,72 MIPS. Le KI10 étend l'espace d'adressage à 22 bits, mais surtout apporte une gestion de mémoire virtuelle, suivant le même chemin que la série IBM 370 sortie cette même année. Il peut théoriquement adresser jusqu'à 4 mégamots de mémoire, soit environ 20 Mo, une quantité rarement atteinte en 1972. L'espace d'adressage virtuel par processus est de 8 mégamots, soit environ 36 Mo. Quatre modèles sont commercialisés par DEC : les 1060, 1070 et 1077, ce dernier incorporant deux CPU. Les 1070 et 1077 peuvent exécuter jusqu'à 127 tâches simultanément.

KL10 Le KI10 est suivi du KL10 (L pour "Large Scale"), qui commence sa carrière en après quatre ans d'étude et conception. Le KL10 est le premier de la gamme à utiliser un microcode, et est conçu avec des circuits intégrés ECL, augmentant encore sa performance (1,8 MIPS), mais également sa consommation électrique. DEC estimait la performance du KL10 20% supérieure à celle d'un IBM 370/158, alors son concurrent le plus proche, ou encore près de cinq fois celle du KA10. vignette|Panneau frontal d'un processeur KL10, en réalité un PDP-11/40 chargé du démarrage, contrôle et diagnostic du processeur principal Le KL10 sera suivi d'une variante B en 1978. En plus du mode d'adressage paginé, cette variante apporte un espace d'adressage étendu supportant 32 "sections" de 256 kmots ainsi que des changements substantiels dans le jeu d'instruction, faisant du KL10-B un processeur distinct. La version 3 de TOPS-20 sera le premier système à tirer parti de ces nouvelles capacités, tandis que la version 4.1 ne fonctionnera plus que sur le KL10-B.

Les processeurs KL10-A et B consomment environ pour un poids de , répartis dans trois armoires. Il faut à cela ajouter les armoires de mémoire et de gestion des périphériques.

KS10 Sorti en 1978, le KS10 (S pour "Small Scale") est une variante à bas coût utilisant des puces Am2900 à bit-slice, et un microprocesseur 8 bits (Intel 8080) pour l'amorçage et contrôle. Afin de réduire les coûts, les périphériques du KS10 utilisent un bus UNIBUS, comme les PDP-11 et VAX-11. Les bus mémoire et entrées-sorties traditionnels du PDP-10 ne sont pas supportés sur ce processeur, et à cet effet, les instructions d'entrées-sorties sont différentes sur le KS10 des autres processeurs de PDP-10. Ce processeur est, comme le KL10, microcodé, et sa séquence de démarrage est identique : chargement du microcode depuis un périphérique de stockage (bande ou disque), démarrage du processeur central, puis passage en mode de contrôle une fois le processeur démarré. Contrairement aux autres processeurs de PDP-10, le KS10 fonctionne en courant monophasé sur prise domestique.

KC10 Le processeur KC10, avorté en 1983 alors que sa conception touchait à sa fin, utilisait des puces de portes NAND intégrées (comme le VAX 11/750) en technologie ECL. Son processeur de contrôle aurait été basé sur un microprocesseur F11 (FONZ-11) de PDP-11/23. Les technologies du KC10 seront en partie ré-utilisées pour le VAX 8600.

Sa fréquence d'horloge maître était prévue entre 50 et , exceptionnelle pour le début des années 1980.

Processeurs frontaux Comme la plupart des grands-systèmes, le PDP-10 peut employer des processeurs frontaux pour la gestion des entrée-sorties des périphériques plus lents tels que les terminaux, afin que leurs interruptions ne ralentissent pas le processeur principal.

Le PDP-10 utilise à cet effet des unités DA10 permettant la connexion de quatre PDP-8 ou PDP-9, ou DL10, permettant la connexion de quatre PDP-11. Ces processeurs frontaux sont alors en mode "esclave" du PDP-10 et ne peuvent être utilisés de façon autonome.

Le KL-10, microcodé, dépend d'un processeur frontal pour son amorçage et contrôle. Il inclut à cet effet un PDP-11/40 servant à charger le microcode du KL-10 depuis une bande magnétique (généralement depuis un lecteur TU-56), à effectuer le démarrage du CPU, et à permettre son diagnostic. Il utilise pour cela un système d'exploitation dédié, RSX-20F, dérivé de RSX-11M, qui implémente les commandes de diagnostic. Le KL-10 marque l'abandon des témoins lumineux et des clés en façade, désormais remplacés par la console de diagnostic sur le processeur frontal, accédée depuis un terminal. Les témoins lumineux en façade sont ceux du PDP-11/40 mais ne sont pas connectés au KL-10.

Le KS-10 utilise un microprocesseur Intel 8080 comme processeur frontal.

Autres notes DEC commercialisa les trois premières générations de processeurs sous le nom commercial DECsystem10 (sous TOPS-10), auquel se rajouta DECSYTEM20 (sous TOPS-20) à partir de 1977. À partir de cette même année, DEC commercialise le VAX 11/780 et ré-utilise les mêmes armoires pour le PDP-10, qui change alors d'apparence. La livrée DECsystem10 utilise un liseré bleu, tandis que la livrée DECSYSTEM20 utilise un liseré orange. Le KS10 fut uniquement commercialisé avec la livrée DECSYSTEM20 (modèle 2020).

À l'exception du KS10, toutes les générations sont disponibles en version bi-processeurs, ou quadri-processeurs pour le KL10.

Le jeu d'instruction des PDP-10 comprend 366 instructions pour le KA10, 378 pour le KI10 et 398 pour le KL10.

+Récapitulatif d'implémentation des processeurs DECsystem-10 ProcesseurPDP-6KA10KI10KL10KS10Début de conception03/196301/196612/196901/1972InconnueDébut de commercialisation06/196409/196705/197206/19751978LogiqueDiscrète, DTLDiscrète, DTLIntégrée (MSI), TTLIntégrée (MSI), ECLIntégrée (LSI, bitslice)MIPS (est.)0,250,380,721,80,3Prix (USD)$120K$150K$200K$250KInconnuNombre de registres16164 x 168 x 168 x 16Gestion de la mémoireAdressage 18 bits Registres de protection et réallocation pour les segments partagés de programmes. Max 256 kmotsIdem PDP-6Adressage 22 bits Pagination possible via 32 mots de mémoire associative (max 4 Mmots)Adressage 22 bits