PDP-1

Un article de Wikipédia, l'encyclopédie libre.

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

[modifier] Historique

Vendue à partir de 1959, 50 exemplaires furent construits. Le prix unitaire était de 120 000 dollars de l'époque.

[modifier] Applications

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

On se félicitera des efforts du PDP-1 restoration project qui, au 1er mars 2005 a fait tourné Spacewar! sur un PDP-1 d'origine (cf. les références ci-dessous).

[modifier] Architecture

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

[modifier] Unité centrale

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.

[modifier] Mémoire

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).

[modifier] Entrée/sortie

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.

[modifier] Jeu d'instructions

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

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 champs 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 à 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é).

[modifier] Émulateurs logiciel

Il en existe quelques uns, dont un émulateur de Spacewar!. Ils sont référencés sur cette page http://www.aracnet.com/~healyzh/pdp1emu.html .

[modifier] Liens internes

  1. PDP la gamme de PDP de DEC.

[modifier] Liens externes

  1. Le PDP-1 restauration project
  2. Le PDP-1 Handbook
  3. The PDP-1 pour les images.

Toutes ces pages sont en anglais.