PDP-1

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Un PDP-1 présenté au Museum of Science and Industry in Chicago.

Le PDP-1 est le premier ordinateur construit par la société américaine Digital Equipment Corporation (DEC) en 1959. Cette machine est aujourd'hui célèbre car les étudiants du Massachusetts Institute of Technology ont programmé dessus un des premiers jeux vidéo : Spacewar.

Sommaire

Historique[modifier]

Vendue à partir de 1959, 50 exemplaires furent construits. Le prix unitaire était de 120 000 dollars de l'époque. Le projet PDP-1 restoration project a permis la restauration d'une de ces machines, qui, au 1er mars 2005 a fait tourner Spacewar! sur un PDP-1 d'origine.

Applications[modifier]

Hormis Spacewar! (et d'autres jeux comme l'Awalé) cette machine faisait notamment tourner :

  • un interprète Lisp ;
  • un programme pour produire de la musique, le « compilateur harmonique ».

Architecture[modifier]

La machine est facilement reconnaissable grâce à son écran rond inscrit dans un châssis hexagonal.

Unité centrale[modifier]

La technologie utilisée est le transistor. Le temps d'exécution de chaque instruction est un multiple du temps de cycle de la mémoire, ainsi une addition demande 10 μs (2 cycles) et une multiplication environ 20 μs.

Mémoire[modifier]

La capacité mémoire commence à 4 kilomots de 18 bits et peut être étendue jusqu'à 64 K mots, en technologie tores de ferrite. Elle possède un temps de cycle de 5 μs (cycle de base de la machine).

Entrée/sortie[modifier]

Écran du PDP-1.
Panneau de contrôle du PDP-1.

De très nombreux périphériques peuvent être reliés à cette machine, dont :

Certains de ses périphériques n'étaient pas d'origine DEC mais IBM.

Jeu d'instructions[modifier]

Le PDP-1 est une machine à accumulateur, ce qui signifie que toutes les instructions arithmétiques l'adressent implicitement. Les autres registres sont typiques : pointeur de programme (PC - Program Counter), registre d'entrée/sortie, registre d'état etc.[pas clair]

Pour certaines instructions (décalage, rotation), le registre d'entrée est considéré comme contigu à l'accumulateur (à sa droite).

Les instructions sont codées dans un de ces 2 formats :

Instructions avec référence à la mémoire :

   0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 
  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  |       op     |I |                 Y                 |
  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  
   op : code opération, 32 possible, 29 utilisés.
   I  : adressage indirecte
   Y  : adresse de l'opérande

Instructions augmentées :

   0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17
  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  |       op     |                    X                 |
  +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

   op : code opération
   X  : l'interprétation de ce champ dépend de l'instruction.

Un exemple d'instruction augmentée pourrait être SAR (Shift Accumulator Right) qui décale l'accumulateur d'autant qu'il y a de bits à 1 sur les positions 9:17 de l'instruction.

Comme le PDP-10 (36 bits), l'adressage indirect est « infini » : si le mot référencé par l'instruction a le bit I positionné, une nouvelle indirection prend place (c’est-à-dire que le champ Y (bits 6:17) est à nouveau déréférencé).

Voir aussi[modifier]

Article connexe[modifier]

Liens externes[modifier]