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 :
- un interpréteur Lisp
- un programme pour produire de la musique, le « compilateur harmonique »
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 :
- un écran à tube cathodique de précision ou d' « ultra-précision » (5 pouces)
- un crayon optique
- un oscilloscope
- un lecteur et un perforateur de cartes perforées
- Lecteur et un perforateur de rubans perforés (en standard)
- Une console (clavier/papier) (en standard)
- des lecteurs de bandes magnétiques
- un tambour
- des imprimantes
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
- PDP la gamme de PDP de DEC.
[modifier] Liens externes
- Le PDP-1 restauration project
- Le PDP-1 Handbook
- The PDP-1 pour les images.
Toutes ces pages sont en anglais.