In English
Description
sommaire
La société
SEREL
(Société d'Etudes et d'Exploitation Electroniques) a
étudié à la fin
des années 50, des ordinateurs à usage industriel. La
première machine,
l'OA-1001 occupait 2 baies d'électronique 19". L'ODP-505 est une
évolution de cette première machine: plus petit et 3 fois
plus rapide.
Il est de la taille d'une commode basse ou d'une grosse machine
à laver.
Cette machine de deuxième génération,
n'utilise que des
composants à l'état solide (diodes et transistors au
germanium), et une mémoire RAM à tores de ferrite
(Transfluxor). Elle
fait partie des 5 ou 6 machines rescapées de la seconde
génération
(à transistors), au niveau mondial.
(voir
http://pichotjm.free.fr/LiensOrdinosaures.html)
Elle a été construite vers 1964. (ou pour être plus
précis, entre 1962 et 1964)
Caractéristiques
techniques
Spécifications
hardware
- Machine binaire pure (18 bits + signe + parité).
(pas d'opérateurs BCD, ou ASCII)
- Capacité
mémoire de 1024 mots de 20 bits. Dont 256 mots consacrés
à la microprogrammation.
- Instructions micro-programmables (à diodes).
- Protection mémoire contre les coupures de courants.
(Séquenceur d'alimentations)
- Console de mise au point avec clavier et affichage.
- Interruptions software et hardware.
- Entrées/sorties par bandes perforées (papier), cartes
perforées ou bandes magnétiques.
- Construction modulaire (cartes enfichables).
- Fonctionnement en ambiance NON climatisée. (15 °C
à 30 °C) Nouveau pour l'époque!
Performances hardware,
vitesse:
Fréquence horloge 1 000 000
cy/s (1 MHz).
Cycle mémoire: Lecture 5uS, Ecriture 10 uS.
Fetch
57 uS (recherche d'une nouvelle
instruction)
Addition 45 uS
Soustraction 57 uS
Multiplication 2 mS (18 bits x 18 bits
-> 36 bits)
Division 3 mS
(36 bits / 18 bits -> 18 bits)
Load accu 93 uS
(Transfert mémoire à accumulateur)
Saut direct 66 uS
Saut indirect 33 uS
Accès I/O 36 uS
soit 500 000 bits/s
Possibilités software
- Sauts directs et indirects (JMP)
- Notion de sous programmes: pile de sauvegarde des pointeurs
et contexte. (JSR et RTS) sans limitation.
- Retour de sous-programmes (RTS)
- Gestion des interruptions hardwares (Sauvegarde des
pointeurs et contexte)
- Fin d'éxécution des interruptions hardwares (RTI)
- 4 niveaux d'interruptions prioritaires.
Ces caractéristiques
permettaient de faire du multiprocessing avec scheduler. (time sharing)
La voie était ouverte vers les architectures des premiers
microprocesseurs.
On
peut avoir une idée des possibilités de programmation en
assembleur, en
jettant un oeil sur une notice de programmation du
Serel
1001
Machines de la même
époque
- IBM 1401 Machine de gestion (mots décimaux)
à
transistors et tores.
- PDP-1 Machine contrôle de
processus, à transistors et tores, binaire pure, 18 bits, 4
kmots, 200
KHz
- CAB500 de la SEA: Calculateur scientifique
arithmétique, tores magnétiques, tambour
magnétique.
- ICT 1301
Ces machines signent la
fin d'une époque: Le circuit intégré silicium, a
été inventé en 1958.
Après quelques améliorations, les designers hardwares,
s'engouffreront
dans cette nouvelle technologie et créeront dès 1964/1965:
- CDC 6600 de Control Data, machine de gestion.
- PDP-8 de DEC (1ère version) contrôle de processus,
puis...
- IBM 360 machine de gestion.
Des photos !
des photos
!
Vue
d'ensemble, état
restauré:
Détails de la
partie
mémoire vide et
CPU
vide (coté cartes et coté back planes)
Détails de la
partie
mémoire réinstallée:
Détails de la
partie
CPU réinstallée
La
place de
l'ODP-505 dans l'évolution des ordinateurs
Les premières
machines étaient des calculateurs scientifiques (nombres
décimaux purs
BCD ou biquinaires, mais CPU série), suivies par des machines de
gestion (calcul sur des nombres BCD et sur des chaînes de
caractères,
avec des instructions spécialisées BCD, ou chaînes).
Le Serel ODP-505 lui, est une machine binaire, travaillant en
binaire pur, sur 19 bits (18 +signe). Il ne peut travailler sur des
grands nombres décimaux qu'en faisant des transcodages
binaire-> BCD. Le travail sur des chaînes de caractères
ASCII,
ne peut se faire qu'en transposant ces codes en binaire pur (au prix
d'une perte d'efficacité mémoire). Il préfigure
réellement les premiers
microprocesseurs (qui ne seront dans un premier temps que 4 bits, puis
8 bits, 16 bits, 32, 64...)
Des
détails
technologiques
L'invention
récente (années 50?) des
circuits
imprimés (bakélite, puis époxy), de
connecteurs
en ligne, et de
connecteurs
dorés sur le bord des cartes (edge connectors), ont
permis
de créer une machine modulaire où l'installation et
l'extraction de
cartes se faisaient facilement (mise au point, options
supplémentaires, maintenance, ...).
Les cartes vont pouvoir se normaliser: par exemple:
- carte
de décodage 4 ->16 (démultiplexeur/décodeur),
- carte registre mémoire 1 bit,
- ampli lecture de la mémoire à tores
(analogique 1 bit) voir 11887
- Driver
de ligne 1 bit adresse
- Driver de ligne 1 bit data
L'ODP-505, utilise la technologie du germanium (diodes et
transistors). Les éléments de logique OU, ET, NON-OU,
NON-ET utilisent
des diodes suivis de transistors (
logique RTL).
Les décodeurs 4->16 se font par table de
vérité, en utilisant
un réseau de diodes (voir ci-dessus).
Auparavant, l'électronique se construisait en
plaçant des composants sur des
barettes-supports,
et on devait relier les différents composants à l'aide de
fils volants.
(on en voit quelques exemples dans les photos de cette machine) Par
exemple ici:
La construction de machines
complexes était très
difficile, car les erreurs de câblage étaient nombreuses.
Et lors des
essais, les transistors, très fragiles, claquaient
immédiatement. On
essayait de mettre des fusibles un peu partout pour minimiser les
dégâts... mais il était d'usage, à
l'époque, de dire que c'étaient les
transistors qui protégeaient les fusibles! L'utilisation
de
circuits imprimés minimisait les risques
d'erreurs, simplifiait le
câblage et réduisait les coûts de main d'oeuvre.
Les cartes (PCB) utilisées peuvent être
simple ou
double faces. Cependant les
trous
métallisés ne sont pas utilisés. (pas
encore inventés?).
La liaison des composants vers les 2 faces réclame une soudure
manuelle
des 2 cotés de la carte. (technique connue des bidouilleurs de
notre
époque, qui n'ont pas les moyens de se payer des circuits double
faces)
Les plus vieilles
cartes sont
en simple face et en bakélite. Les plus récentes
(1964!)
sont en époxy et en double faces. Elles comportent toutes
des
edge-connectors
à contacts dorés. Il n'y a pas de back-planes
(circuits
imprimés recevant les connecteurs. Comme dans les mother boards
des
années 2000). Les connecteurs femelles, sont disposés sur
des règles en
métal, et des fils (souvent parallèles sont soudés
à l'arrière)
Aucune des cartes n'a de
plan de masse!
C'est assez surprenant! Il est possible que ce soit le châssis
qui
serve de référence global! (à
étudier...)
Les composants sont soudés d'un seul
coté. De
nombreux transistors sont posés avec guide plastique. (de
couleurs
différentes. C'est ce qui permet d'avoir des photos très
colorées!
C'est joli!)
La
soudure
est normalement faite en étain-plomb. Cependant
on trouve quelques cartes utilisant d'autres matériaux: je
soupçonne
l'existence de
soudures
à l'argent, et d'autres
à l'or!
Ces dernières ne présentent aucun vieillissement
(aucune
oxydation) et apparaissent avec une brillance jamais vue! Elles ont des
reflets jaune/vert très inhabituels. Je n'ai jamais
réussi à en obtenir
l'effet, sur des photographies.
La
mémoire
est du type tores de ferrite classique dans ces années
là. Elle permet
un accès aléatoire (donc de type RAM) Pratiquement toutes
les machines
de cette époque utilisent des mémoires de ce type. Il
faut prendre
conscience que la mémoire 4k mots de 20 bits, utilise la
moitié du volume de la
machine. L'ODP utilise une variante de mémoires à tores:
des
Transfluxors. Ferrites avec 2 trous.
Les photos que vous pouvez voir
Photos
de mémoires à tores, ne proviennent pas de cette
machine. La
mémoire est constitué de 20 plans de ce style de
mémoire, et est
enfermée dans un cube de 20 cm de coté... que je n'ai pas
ouvert. Il
est probable qu'un programme soit toujours dans cette mémoire.
Les
générations futures auront peut-être envie de le
relire...
Les
alimentations (non sauvées) sont en technologie
semi-conducteur analogique. Un séquenceur établissait les
tensions les
unes après les autres dans un ordre bien défini. Cela
permettait de
conserver les données dans le bloc mémoire.
[Lors de la mise sous
tension ou de l'extinction d'une machine, des parasites (glitches) sont
générés et
créent des accès intempestifs aux mémoires,
détruisant les données.]
La procédure de démarrage d'une machine était
compliquée: Il fallait
d'abord rentrer aux clés, les codes d'un bootstrap (soit une
trentaine
de codes machines que l'on rentrait directement en octal codé
binaire.
Ex le code machine 37 52 24 +parité devait se
coder 011 111 101 010 010 100.
Donc
clés: [basse haut haut] [haut haut haut]
[haut basse
haut] [basse haut basse] [basse
haut basse] [haut basse basse] [clé load],
puis
penser à déclarer l'adresse suivante, et remettre un
code...
Ensuite on lançait le bootstrap qui enclenchait la lecture de la
bande
perforée... et il fallait attendre 10 mn ou plus, et
espérer qu'aucune
erreur de lecture ne soit détectée...
Inutile de dire que
la protection mémoire lors des démarrages ou extinctions,
était une
chose très intéressante, car le programme était
sauvé de manière
permanante dans les mémoires à tores. Un simple power-on
permettait de
démarrer un programme sans passer par cette longue
procédure. N'oubliez pas la vocation industrielle ou militaire
de ces machines! La machine devait démarrer simplement et
rapidement.
Que
serait-il
capable de
faire de nos jours?
La
puissance de cette machine est ridicule pour l'homme du XXI ème
siècle.
Mais à l'époque, il s'agissait de machines performantes!
Elles coûtaient, environ, le prix de 5 ou 6 maisons!
Sourions un peu! que pourrait-on faire comme
tâche
avec ce genre de puissance?
- enregistrer environ 1/4 de seconde de musique (mono!)
- enregistrer 1 à 2 secondes de conversation
téléphonique.
Et le restituer!
- piloter un clavier pour PC. (analyse de la matrice des
touches) Pas de protocole USB, quand même!
- Faire les calculs d'une calculette scientifique. (mais pas
d'affichage)
- Lire la piste magnétique d'une carte bancaire.
- Le pilotage d'une machine à laver.
- Le calcul de l'affichage d'une horloge. (mais sans la
stabilité)
Ce qu'elle ne saurait pas faire:
- Le pilotage d'une tête d'impression.
- Emuler Windows 1.0
- Lire et exécuter un fichier mp3 (même mono!)
Et pourtant, elle a servi à:
(probabilité, mais sans certitude)
- piloter une centrale (nucléaire?)
- surveillance militaire et aérienne.
- piloter un laminoir.
- pilotage d'expériences au CEA.
Biographie de
cette
machine. (histoire également
valable pour
l'OA-1001)
Cet exemplaire
provient du site d'étude et de fabrication des ordinateurs
Serel. (Bd
de Mantes à Aubergenville)
Elle a été construite au début des
années 60. Les cartes
électroniques portent des 'date codes' de 1962 à 1964.
Elle comporte un
sceau des Douanes pouvant indiquer qu'elle a été
exportée (peut-être en URSS pour des applications
spatiales), puis qu'elle
est revenue en France. Par la suite, elle a dû servir de mise au
point
à de nouvelles cartes. Sa face avant est bien de couleur
militaire, et l'arrière avec une coubleur bleue rappelant le
bleu IBM!
En 1967 (stage) ou 1969, je n'ai pas de souvenirs
d'avoir vu cette
machine en fonctionnement. En 196x, elle a été
entreposée, puis a dû
être cannibalisée (un peu) pour la maintenance d'autres
machines. C'est
probablement pour ces raisons que l'on trouve des cartes similaires
mais de niveaux de révision différents.
Vers 1972, nous devions trouver de la place pour
installer un T1600, et la direction a décidé de tout
pousser vers la
poubelle. Ayant entendu dire, par mes collègues, que
c'était
le plus vieil ordinateur à transistors de France, je me suis
ému et ai
décidé de tout faire pour sauver cette machine. (J'avais
aussi envie de
bricoler avec un ordinateur). Je suis aller voir la direction
générale
et ai réussi à emporter la machine pour une somme modique.
Mais il a fallu la transporter! un camion, 4
hommes... et une facture imprévue! Je l'ai
installée dans une
grange agricole (d'où la présence de menu paille lors de
sa
redécouverte) La vie a été telle que je n'ai
pratiquement pas eu
l'occasion de m'en occuper pendant 35 ans... Elles est restée
dans
cette grange, sans soin particulier. En décembre 1999, les
grandes
tempêtes ont détruit la toiture de la grange soumettant la
machine à
quelques pluies... d'eau et de tuiles! Puis plus rien.
2006 (ages des machines = 42 et 46 ans): Il faut que
la
grange soit libérée et que la machine migre...
Poubelle,
musée, ou sauvetage?
Quelques musées Français sont
contactés, et
semblent indiquer que la
machine peut présenter de l'intérêt. Mais rien de
concret et à décision
rapide. Cependant beaucoup d'émois dans le milieu des
collectionneurs.
Reste comme possibilités: vendre au poids de la feraille, vendre
à
l'étranger ou conserver?
On peut juger de l'état de la machine, en 2006,
rangée au fond de la grange:
http://pichotjm.free.fr/Serel/Photos/Photos.html
et voir mes premiers essais de restauration en 2006 (pour
juger de l'ampleur de la tâche) :
http://pichotjm.free.fr/Serel/Divers/PICT3413.html
[
mauvais choix, car la restauration a
montré que cela était beaucoup
plus abîmé et compliqué!]
Certains de mes enfants (2) conseillent de la
conserver et d'autres (2) de la 'bazarder'! C'est mon épouse
(malgré
l'épouvante de voir cela chez nous) qui finit par conseiller de
la
conserver.
Nous avons fini par la (ODP-505) transporter dans
une Espace (en 2007. Pour le transport de l'OA-1001, cela a
été
beaucoup plus compliqué!). Et une fois à la maison, la
curiosité
aidant, j'ai commencé une restauration esthétique (avec
protection pour
les 20 prochaines années)
Regardant de temps en temps des émissions
d'archéologie sur Arte, je me suis convaincu de mémoriser
le maximum
d'informations. Ayant un appareil photo numérique (je vis quand
même avec mon siècle!), je prends
systématiquement de nombreuses photos avant toutes mes
interventions,
et également de nombreuses notes. Si je me trompe, il sera
toujours
possible de me corriger.
L'ODP-505 est maintenant à l'abri dans un
sous-sol. Une centrale de mesure (humidité et
température) a été
installée. Mais cette centrale a montré que le taux
d'humidité montait
jusqu'à 98%! Il y avait également des infiltrations d'eau
lors d'orages
ou de fortes pluies. Des saignées ont été
creusées dans la dalle de
béton; Une pompe et un déshumidificateur ont
également été
installés. Depuis, j'arrive à maintenir un taux
d'humidité à moins de
70% (65% typique) pour une température de 15 à 16 °C.
Voilà! j'espère qu'elle est parée
pour une longue
vie!
JM PICHOT, le 3 mars 2008
Description
complète de
la machine (à écrire)
Vue d'ensemble
La face arrière (back planes)
Implantation de la mémoire (avec liens vers les cartes)
ici:
.../Serel/ODP505/Disposition.html
Implantation du CPU (avec liens vers
les cartes) ici:
.../Serel/ODP505/DispositionCPU.html
Description des cartes
(à faire)
Pour chaque carte:
- Photos coté composants
- Photos coté soudures
- Schémas reconstitués
- Fonctionnement
Toutes les photos existent en états 'sales',
nettoyées et restaurées.
Méthode pour reconstituer
les schémas (à écrire)
0- Prendre en // un éditeur
de schéma et un éditeur de PCB.
1- Report simultané des composants et des 'ficelles'. (penser
à créer
les composants)
2- Jouer avec les netlists et les DRC (design rule check) pour
éliminer
les erreurs.
3- Une fois le report complet ok, modifier le schéma pour
être lisible
par un électronicien.
J'ai testé cette méthode pour 2 types de cartes:
l'une est le
convertisseur ADC 13 bits de l'OA-1001, l'autre concerne une carte
buffer. C'est très lourd comme méthode: presque une
semaine par carte!
fin
Si vous avez aimé cette page, ou
désirez indiquer des corrections à faire,
laissez-moi
un petit message.
(lien vers le blog) Si vous me laisser le nom de votre pays, cela
me
permettra de voyager en pensée, et de votre profession, cela me
permettra de connaitre un peu mieux mes visiteurs... Tous vos
encouragements ou critiques constructives sont les bienvenues.
(count=673)
Copyrights
JM Pichot
2008-03-08 Edition originale
(la partie CPU avait été publiée bien avant)

depuis le 28jan2008
Racine du site