Première discussion sur fr.comp.ordinosaures

publicité
[Minutes des conversations sur l’IBM650,
19-25 juin 2007]
Bonsoir à tous!
Me revoilà avec mes vieilleries...
Je vous propose un sujet encore plus ancien qu'un CPU tout transistors. Je n'ai pas pris le temps
de chercher sur Internet, mais je pense que l'ancêtre que je vais tenter de vous faire découvrir,
fonctionnait avec des lampes (tubes à vide).
J'ai retrouvé dans mes vieilles affaires, mes cours d'analyse numérique où on utilisait un IBM650.
Plutôt que de jeter le tout à la poubelle (car j'ai peu de risque d'en avoir l'usage!), j'en ai fait une
copie sur mon site en me disant que peut-être un jour... un passant y jettera un oeil!
Ne soyez pas méchants, je sais que les machines ont évoluées depuis!
Non je n'ai pas une machine de ce genre dans mon grenier, désolé!
N'hésitez pas à dire ce que vous en pensez!
JMP

Ben oui, mais il est où ton site!
Je voulais aller voir moi!
Guillaume.
o euh... cela doit être dû aux effets de l'entrelacement du tambour magnétique...
voir http://pichotjm.free.fr/IBM650/file.html
Bonne lecture!
On peut aussi réviser sur le reste du site: http://pichotjm.free.fr/index.html
o
Ouh là, dur à décoder, tout n'est que nombre... Pas de mnémoniques pour tenter de piger le
système.
Avec un livre de programmation, ça aurait été chouette!
N'empêche, quel boulot: algorithme -> codes numériques -> trous dans la
carte -> moulinette IBM pour vérifier -> retour au début en cas d'erreur.
Guillaume.
 Quand, lors de mes rangements, je suis tombé sur ce dossier, j'ai été très surpris de
voir la complexité de la programmation.
En analysant un peu plus, j'ai compris que l'architecture de l'IBM 650 était
vraiment différente des machines actuelles (ou même du Serel). En gros j'ai
l'impression que tout était fait avec cette notion de nombres commerciaux, qui
ensuite conduisait aux cartes perforées et que les CPUs étaient crées pour gérer ces
fiches.
On était loin de ce qu'on a actuellement et qui nous parait tellement évident (tout
du moins au niveau des uP simples)
Qu'une machine ancienne n'ait pas cette notion de compteur ordinal m'a beaucoup
surpris. Et puis, mettre un équivalent 'goto' dans chaque instruction!
L'absence de pointeur (hardware) peut se comprendre, car l'astuce de modifier des
zones de code peut facilement y pallier. C'était une chose qui m'amusait beaucoup
du temps du 6800, de faire de la programmation/exécution en zone RAM (et non
pas Rom) et de modifier le contenu des instructions. On pouvait faire des choses
tout à fait inattendues! La notion de registres pointeur nous a quand même

beaucoup simplifié la vie.
Si vous êtes intéressé par une meilleure description du fonctionnement de
l'IBM 650, jetez un coup d'oeil sur:
http://archive.computerhistory.org/resources/text/IBM/IBM.650.1955.102646125.p
df
Cela explique le fonctionnement. Je n'ai pas tout compris: faut que je le relise!
J'ai l'impression que beaucoup de participants au NG ordinosaures ont été largués!
Mais je crois que j'ai réussi à montrer comment c'était compliqué, dans le temps!
Bonne journée! JMP
Intéressant!
Pas tout pigé" non plus. Je pense qu'au niveau du vocabulaire déjà on passe un cap
(dans le passé) et sans tester soi même les instructions, on sature vite d'informations.
Mais bon, y'a le gros du CPU:
- accumulateur High et Low (2 fois 10 chiffres)
- distributor (genre d'accu temporaire)
Ces deux là seraient les registres du CPU
Le fameux tambour de 2000 positions de 10 chiffres + signes serait la RAM et leurs
séries de cartes perforées le disque dur... et l'écran à la fois!
Un émulateur de cette machine serait assez rigolo.
Guillaume.
 > Mais bon, y'a le gros du CPU:
> - accumulateur High et Low (2 fois 10 chiffres)
> - distributor (genre d'accu temporaire)
> Ces deux là seraient les registres du CPU
tout en mélangeant allegrement les codes OP, les adresses et les données...
L'instruction 'Load' se traduit par 'Addition précédée d'un reset' !
C'est délicieusement rétro.
Une chose que je n'ai pas très bien compris est cette histoire de 2 lecteurs
de cartes. Un pour les instructions (ou début/fin de batch?) et l'autre pour
les données? tout en faisant de la redondance (pour pallier les forts taux
d'erreurs?)
> Le fameux tambour de 2000 positions de 10 chiffres + signes serait la
> RAM et leurs séries de cartes perforées le disque dur... et l'écran à la
> fois!
Ram: non! de la SAM!
Random access memory , prendre plutôt Serial Access Memory.
La 'sequence machine' doit être assez compliquée! Car attendre le passage
d'une donnée pour l'utiliser...
Et tout cela qui valait une fortune, ne faisait qu'environ 16 kB.
Je n'ai pas bien compris pourquoi il y avait 5 têtes pour enregistrer les
chiffres (sorte de BCD étendu, signes +-. avec parité? ou redondance
magnétique?)
Et cela donne des temps d'accès d'environ 40 uS par mot.
Et pas d'imprimante: on lisait les résultats sur les cartes?
> Un émulateur de cette machine serait assez rigolo.
Tout, à fait dans la ligne de ma "conquête de l'inutile"!
Mais je pense que je me lancerai plutôt dans celui du Serel ODP505, qui
trône dans mon sous-sol.
> Guillaume.

JMP
> Une chose que je n'ai pas très bien compris est cette histoire de 2
> lecteurs de cartes. Un pour les instructions (ou début/fin de batch?) et
> l'autre pour les données? tout en faisant de la redondance (pour pallier
> les forts taux d'erreurs?)
Pas très clair pour moi non plus. Mais il semblerait que certaines
instructions genre "read" permettent d'aller lire une donnée dans le second
panier. Comme si le second panier était en fait le paquet de variables d'un
programme fixe sans avoir à tout re-écrire à chaque changement des données.
> Ram: non! de la SAM!
> Random access memory , prendre plutôt Serial Access Memory.
> La 'sequence machine' doit être assez compliquée! Car attendre le passage
d'une donnée pour l'utiliser...
J'aurai dit de la ram quand même, car niveau utilisateur le fait qu'elle
soit séquentielle est transparent. Je dirai même qu'elle n'est pas si séquentielle
que ça, ça semble être adréssé comme une matrice enroulée en
tambour. D'abord la bande du tambour (1 à 40) puis la position dans la bande
(1 à 50).
> Je n'ai pas bien compris pourquoi il y avait 5 têtes pour enregistrer les
> chiffres (sorte de BCD étendu, signes +-. avec parité? ou redondance
> magnétique?)
Si j'ai bien compris: un chiffre est représenté avec un motif écrit par
les 5 têtes. Ils donnent en exemple:
tête 5 + tête 3 = chiffre 8
tête 5 + tête 2 = chiffre 7
On peut suposer que 5+4 =9 et 5+1=6
De même que les chiffres de 1 à 5 sont représentés par une seule tête.
Mais qu'en est-il du zéro? Absence de marquage? ou toutes les têtes
ensembles?
Bref, ce n'est pas optimisé, puisqu'avec 5 têtes on aurait 32 possibilités.
Optimisé en vitesse de lecture sans doute ou en simplicité du
circuit de décodage?
> Et pas d'imprimante: on lisait les résultats sur les cartes?
Oui, mais j'ai du mal à saisir leurs sorties qui semblent être réservées à
seulement certaines cellules de la RAM et qui doivent être contigues (pour se
perforer sur la même carte..) Bref, y'a des limitations!
En tous cas, système passionnant!
Qu'y avait-il sur la console?
Guillaume.
o > Qu'y avait-il sur la console?
Naibed ?
-"0"[0] == '0'
"0"[1] == '\0'
o J'ai l'impression d'avoir besoin d'un recyclage!
Naibed ?: pas compris (logiciel de dessin?)
"0"[0] == '0'
"0"[1] == '\0'
pas compris non plus! du binaire? ou un symbolisme de mise à la
masse?
Au plaisir de lire des explications.
JMP
o > Naibed ?: pas compris (logiciel de dessin?)
une pilote de mainframes.
> "0"[0] == '0'
> "0"[1] == '\0'
> pas compris non plus! du binaire? ou un symbolisme de mise à la
masse?
C'est du langage C.
o > une pilote de mainframes.
Elle ne serait pas plutôt navigatrice de consoles ?
>> "0"[0] == '0'
>> "0"[1] == '\0'
>>
>> pas compris non plus! du binaire? ou un symbolisme de mise à la
masse?
>

C'est du langage C.
Mais ça peut être vu aussi comme une mise à la masse :)
>> Une chose que je n'ai pas très bien compris est cette histoire de 2
>> lecteurs de cartes. Un pour les instructions (ou début/fin de batch?) et
>> l'autre pour les données? tout en faisant de la redondance (pour pallier
les forts taux d'erreurs?)
>
> Pas très clair pour moi non plus. Mais il semblerait que certaines
> instructions genre "read" permettent d'aller lire une donnée dans le
> second panier. Comme si le second panier était en fait le paquet de
> variables d'un programme fixe sans avoir à tout re-écrire à chaque
> changement des données.
Et si c'était (par exemple, et suppositions):
-début de batch
-RAZ mémoire
-début de zone réservée
-début de zone programme
-adresse de démarrage du programme
-impression des résultats
-fin de batch
Vous savez toutes ces choses qui sont déclarées dans un programme
assembleur.
>> Ram: non! de la SAM!
>> Random access memory , prendre plutôt Serial Access Memory.
>> La 'sequence machine' doit être assez compliquée! Car attendre le
passage d'une donnée pour l'utiliser...
>
> J'aurai dit de la ram quand même, car niveau utilisateur le fait
> qu'elle soit séquentielle est transparent. Je dirai même qu'elle n'est pas
> si séquentielle que ça, ça semble être adréssé comme une matrice enroulée
> en tambour. D'abord la bande du tambour (1 à 40) puis la position dans la
> bande (1 à 50).
D'un point de vue technologique, ce n'est pas de la random=accès direct et
immédiat (au temps d'accès près!)
C'est sûr que si on accepte un Tacc de 2000uS ...
>> Je n'ai pas bien compris pourquoi il y avait 5 têtes pour enregistrer les
>> chiffres (sorte de BCD étendu, signes +-. avec parité? ou redondance
>> magnétique?)
>
> Si j'ai bien compris: un chiffre est représenté avec un motif écrit par
> les 5 têtes. Ils donnent en exemple:
> tête 5 + tête 3 = chiffre 8
> tête 5 + tête 2 = chiffre 7
> On peut suposer que 5+4 =9 et 5+1=6
> De même que les chiffres de 1 à 5 sont représentés par une seule tête.
> Mais qu'en est-il du zéro? Absence de marquage? ou toutes les têtes
> ensembles?
> Bref, ce n'est pas optimisé, puisqu'avec 5 têtes on aurait 32
> possibilités. Optimisé en vitesse de lecture sans doute ou en simplicité
> du circuit de décodage?
J'opterai plutôt pour du binaire 4 bits associé à une tête de strobe (genre
de formatage qui précise l'endroit où la donnée est récupérable -dans le
temps- )
Le signe doit être associé au nibble de poids fort et en conséquence limité
l'étendue des nombres.
>> Et pas d'imprimante: on lisait les résultats sur les cartes?
>
> Oui, mais j'ai du mal à saisir leurs sorties qui semblent être
> réservées à seulement certaines cellules de la RAM et qui doivent être
> contigues (pour se perforer sur la même carte..) Bref, y'a des
> limitations!
Peut être, simplement, pour simplifier le programme d'impression:
l'impression se faisant à la fin de tous les calculs.
> En tous cas, système passionnant!
> Qu'y avait-il sur la console?
Ah là! des suppositions:
Des clés pour entrer le bootstrap?
Des voyant lumineux... tout plein! pour justifier l'achat et l'ego du PDG.
Je ne connais pas le prix du 650, mais j'ai lu quelque part qu'une machine à
cette époque valait entre 6 et 10 maisons! Pour ce prix faut quand même
faire du cinéma!
D'un autre coté, le débugging se faisait probablement pas à pas et rien ne
vaut des loupiottes pour afficher le contenu des registres.
Des Nixies? Inventés à peu près à la même époque.
Et vue la fiabilité des 1ère machines, des témoins d'alimentation ne
devaient pas être inutiles.
> Guillaume.
Très amusante cette immersion dans ces temps anciens!

A+
JMP
> > Une chose que je n'ai pas très bien compris est cette histoire de 2
> > lecteurs de cartes. Un pour les instructions (ou début/fin de batch?) et
> > l'autre pour les données? tout en faisant de la redondance (pour pallier
les forts taux d'erreurs?)
>.../...> > Et pas d'imprimante: on lisait les résultats sur les cartes?
> Oui, mais j'ai du mal à saisir leurs sorties qui semblent être réservées
> à seulement certaines cellules de la RAM et qui doivent être contigues (pour
se perforer sur la même carte..) Bref, y'a des limitations!
Il est etonnant qu'il n'y aie pas parmis nous un ancien d'IBM....
Je suis "contemporain" de la 650 mais je travaillait pour une autre
marque (Bull)
Par analogie je peux dire qu'il existait des entrées/sorties (*)
uniquement à cartes. Les resultats etant perforés, ces cartes etaient
reprises pour impression. A l'époque....
Il existait aussi des machines avec deux pistes de cartes indépendantes.
Donc rien d'anormal.
(*) La PRD avait deux pistes, cinq "brosses de lecture" et un bloc de
perforation.
Au moins une des "fin de piste" pouvait fonctionner (lecture/ejection de
la carte) alors que la "tete" etait stoppée. Connectable à un calculateur .
Quand aux "memoires circulantes" ce pouvait etre un tambour ou une ligne à
magnéto striction.
Un peu usine à gaz tout ça.

Mais si un ancien utilisateur d'IBM pouvait nous eclairer....
** cix **
Il me semble que l'IBM650 possédait un compilateur FORTRAN sans doute un des premiers.
Qu'en penses tu?
L'absence de compteur ordinal etait courant. De meme que l'absence d'additionneur. Il fallait avoir
un comparateur et une table d'addition/soustraction et roule... La "modification d'instruction" etait
une opé courante.
** cix **
o > Il me semble que l'IBM650 possédait un compilateur FORTRAN
> sans doute un des premiers.
> Qu'en penses tu?
Malheureusement, je ne sais pas répondre. Mais je suis plutôt dubitatif, car ils ont l'air de dire
que le langage symbolique SOAP était une grande avancée. Le fortran n'a dû apparaitre
qu'après les assembleurs. (?)
Dans ces cours, on n'étudiait pas franchement l'assembleur, puisque on faisait cela à la main!
Peut-être, était-ce pour nous faire mieux comprendre?
Une seule chose m'avait marqué, c'était l'histoire de l'entrelacement des codes en fonction de
la rotation du tambour. J'avais oublié tout le reste!
(sauf les méthodes polynomiales pour calculer les sinus, cosinus, tg...)
> L'absence de compteur ordinal etait courant. De meme que l'absence
> d'additionneur. Il fallait avoir un comparateur et une table
> d'addition/soustraction et roule... La "modification d'instruction"
> etait une opé courante.
> ** cix **
Pour l'addition, je ne sais pas (mais cela m'étonne) et je ne vois pas trop comment cela
pouvait fonctionner. (une explication ?)
Par contre, pour la multiplication, il y a une description de la décomposition en succession
d'additions, décrite dans le document
http://archive.computerhistory.org/resources/text/IBM/IBM.650.1955.102646125.pdf .
(ainsi que pour la division)
Cela me rappelle les calculs numériques que l'on faisait avec des machines à manivelles et où
on décalait la tabulatrice... Je ne me souviens plus du nom de ces machines (suisses?), mais je
me vois encore en train de tourner la manivelle! Le fonctionnement de ces machines
mécaniques semble avoir été transposé/adapté pour le calcul électronique du 650.
Savez-vous qu'elle était la technologie du 650 (probablement lampes?)
C'est vraiment amusant de plonger dans ce passé. Il n'y a personne d'autres pour nous
rafraîchir la mémoire?
Bon week-end!
JMP
o Encore un bug dans ma machine à voyager dans le temps! ;-) Cela doit être une histoire
d'arrondi: je prends pourtant la méthode d'arrondi au nombre pair le plus proche... (pour les 5)
Donc le week-end, c'est demain. (ce sera)
Bonsoir
jmp

J'ai retrouvé le fil!
Voir http://www.columbia.edu/acis/history/650.html
yatou!!!
Année 55, photo, FORTRAN, etc...
** cix **
 en effet, il y a beaucoup de choses...
Bon, on n'a pas dit trop de bêtises!
Il y a même un simulateur en java! mais je n'arrive pas à le charger. (je ne
le trouve pas)
http://infinitefish.com/650/650-manual.html

JMP
> Il y a même un simulateur en java! mais je n'arrive pas à le charger. (je
> ne le trouve pas)
> http://infinitefish.com/650/650-manual.html
Je l'ai trouvé en http://infinitefish.com/650/
Mais il a mis un temps à se charger... j'ai cru que ça ne fonctionnait
pas au début. J'ai même eu le temps d'écrire à l'auteur après un plantage de
IE, puis en me reconnectant, soudain, j'avais le simulateur sous les yeux...
Essayez!
Guillaume.
o ça y est, je viens de l'avoir! ... avec Firefox qui m'a dit qu'il fallait
installer Java. Ce c.. de IE, lui, me mettait un grand carré blanc
sans aucun message. et le lien "reload" ne faisait rien.
C'est surprenant, il représente les cartes perforées différemment des
miennes.
J'ai essayé de lancer le programme:
~ Mise à n d'une zone mémoire (carte rose)
~ Filling a zone with n (pink card)
~ Starting with
~ 8000 70 0008 9999
01 0001 8000
18 0001 8003
65 0006 0004
10 0007 8001
22 0000 0003
21 1998 2002
17 0000 8002
60 0001 0005
Mais je ne vois pas comment lancer la machine. Y a-t-il un pas à
pas?
... je vais aller me prendre un café pour m'éclaircir les idées!
JMP
o
Dans le premier onglet ou tu tapes ton source, il faut cliquer sur le
truc qui te perfores les cartes. Ensuite...
Tu bascules sur le second onglet, la console, et "Start program"
Ca devrait tourner, non?
Guillaume.
 Salut,
Bon hier j'ai passé une partie de l'après midi à faire des
essais: ce n'est pas du tout évident à utiliser!
Le mode pas à pas s'obtient en mettant les 3 boutons du bas
sur half, sense, sense.
J'ai vraiment m... avec les programmes d'il y a 40 ans... pour
finir par m'apercevoir que le simulateur ne permet pas
l'utilisation des mémoires 8003, 8002 et 8001 en tant
qu'adresse du contenu des registres Upper, Lower et
Distributor. (plus précisément ne permet pas d'exécuter une
instruction définie dans ces adresses)
Le pas à pas est très difficile à utiliser car si on cherche à voir
le contenu d'un registre, il n'est pas mis à jour. On ne peut
que sélectionner le registre et on doit effectuer un pas pour
voir ce qu'il y a dedans!
C'était peut-être la fonctionnalité il y a 53 ans, mais de nos
jours c'est très déroutant et peu efficace.
J'ai essayé de modifier les programmes utilisant 8003, 8002 et
8001 avec des patches qui écrivent dans des mémoires
annexes et qui les rechargent si nécessaire... mais un autre pb
est survenu avec l'adresse 2002 qui est hors
zone mémoire!
Je n'ai pas trouvé comment lire le contenu d'une mémoire (et
son chargement manuel)
Bien noter aussi que le simulateur ne fonctionne que s'il y a
16 lignes de données (donc finir son code par une série de
00000000000)
Bon je vais relire le manuel...
JMP
o > Mais je ne vois pas comment lancer la machine. Y a-t-il un pas à
pas?
Tout ce que je peux dire c'est qu'on utilisait des cartes de couleur
selon leur fonction.
Ici etant donné la structure du 650 je pense qu'on avait
Carte "chercheuse" pour lancer un pgm. Souvent de couleur vive.
( La carte chercheuse d'effacement est rose ici)
Ensuite chargement du pgm dans le tambour
carte chercheuse lançant le pgm
cartes parametres et données
carte chercheuse de fin eventuellement.
S'il y a peu de données, on peut aussi les charger sur le tb avant de
lancer le pgm.
** cix **
C'était juste pour faire avancer le mishi... shili... mili...
Bonjour,
Je ne retrouve plus ce fil...
Mais je viens de googeliser cette question et j'a eu ça comme 1er lien
http://www.columbia.edu/acis/history/650.html
avec un photo de la bete!
Il y a un pupitre et une lecteur/perforateur de carte et un FORTRAN !!!
D'autres versions avec des derouleur de bde genre 10 kO/s
** cix **
Mais j'ai perdu ce f... fil...
 > Mais je viens de googeliser cette question et j'a eu ça comme 1er lien
>
> http://www.columbia.edu/acis/history/650.html
Très intéressant!
Ca répond à une de nos questions sur le précédent *ù^$*ù fil:
Pourquoi y avait-il à chaque instruction l'adresse de l'instruction
suivante (et pas d'opérateurs simplements consécutifs):
Le tambour "mémoire" était constamment en rotation, ce qui fait que, le
temps de choper une instruction le tambour était décalé et on se trouvait
loin lorsque le CPU était prêt à lire la suivante.
De ce fait, il y avait un genre d'entrelacement à prévoir pour optimiser
la lecture au bon endroit du tambour pour éviter des rotations inutiles.
Soit ça se calculait à la main... soit l'assembleur (SOAP) le faisait pour
vous.
De même, cette page indique le pourquoi du succès de cette machine (je
traduis en gros...):
IBM ne s'attendait à installer qu'une cinquantaine de ces machines, mais
la demande les a surpris. Le 650 était relativement bon marché, était
compatible avec les lecteurs de cartes existants, il tenait dans une seule
pièce, et était convivial: arithmétique décimale, jeu d'instructions réduit
et une console ergonomique.
C'était l'une des premières consoles à pourvoir être utilisée
interactivement (pas certain de la traduction) par les programmeurs.
En tout, 2000 consoles furents installées en 9 années de production
(1953 à 1962), dépassant ainsi les ventes de toute la gamme des IBM 700.
Plus loin, autre raison du succès:
L'IBM 650 avait un panneau lumineux très complet, de nombreux voyants
clignotaient, et il donnait toujours l'impression que "quelque chose se
passait", d'être en activité. Ainsi il rassurait...
Voilà, lisez la suite!!!
Guillaume.
o >> Je ne retrouve plus ce fil...
>> Mais je viens de googeliser cette question et j'a eu ça comme 1er lien
>>
>> http://www.columbia.edu/acis/history/650.html
>
>
> Très intéressant!
> Ca répond à une de nos questions sur le précédent *ù^$*ù fil:
>
> Pourquoi y avait-il à chaque instruction l'adresse de l'instruction
> suivante (et pas d'opérateurs simplements consécutifs):
C'était donc une "avancée technologique" qui permettait une optimisation des
programmes (pour tenir compte de la rotation)
Cette avancée est devenue inintéressante avec l'arrivée des vraies RAM
(random) car les temps d'accès y sont identiques qqsoit l'adresse utilisée.
(on améliore aussi la compacité du programme)
> Le tambour "mémoire" était constamment en rotation, ce qui fait que, le
> temps de choper une instruction le tambour était décalé et on se trouvait
> loin lorsque le CPU était prêt à lire la suivante.
> De ce fait, il y avait un genre d'entrelacement à prévoir pour
> optimiser la lecture au bon endroit du tambour pour éviter des rotations
> inutiles. Soit ça se calculait à la main... soit l'assembleur (SOAP) le
> faisait pour vous.
>
> De même, cette page indique le pourquoi du succès de cette machine (je
> traduis en gros...):
>
> IBM ne s'attendait à installer qu'une cinquantaine de ces machines,
> mais la demande les a surpris. Le 650 était relativement bon marché, était
> compatible avec les lecteurs de cartes existants, il tenait dans une seule
> pièce, et était convivial: arithmétique décimale, jeu d'instructions
> réduit et une console ergonomique.
> C'était l'une des premières consoles à pourvoir être utilisée
> interactivement (pas certain de la traduction) par les programmeurs.
> En tout, 2000 consoles furents installées en 9 années de production
> (1953 à 1962), dépassant ainsi les ventes de toute la gamme des IBM 700.
>
> Plus loin, autre raison du succès:
>
> L'IBM 650 avait un panneau lumineux très complet, de nombreux voyants
> clignotaient, et il donnait toujours l'impression que "quelque chose se
> passait", d'être en activité. Ainsi il rassurait...
C'est un peu ce que je disais avec l'ego du Président, car il pouvait
montrer sa machine en activité.
On voit bien aussi la console:
http://www.columbia.edu/acis/history/650-panel.html
Je n'avais pas penser au biquinaire! pas très facile à lire. Les Nixies, qqs
années plus tard, ont quand même simplifier la chose, tout en la rendant
moins mystérieuse...
Avez-vous réussi à trouver le simulateur?
> Voilà, lisez la suite!!!
>
> Guillaume.
J'ai lu, et je confirme qu'il y a des choses très intéressantes.
Mais aucune photo des circuits logiques à lampes. Ah au fait, il n'y a pas
de transistors dans cette machine.
JMP

>> Pourquoi y avait-il à chaque instruction l'adresse de l'instruction
>> suivante (et pas d'opérateurs simplements consécutifs):
> C'était donc une "avancée technologique" qui permettait une optimisation des
> programmes (pour tenir compte de la rotation)
> Cette avancée est devenue inintéressante avec l'arrivée des vraies RAM
> (random) car les temps d'accès y sont identiques qqsoit l'adresse utilisée.
Pas temps que ca : les serveurs Compaq a base de 486 etaient connues pour etre
plus rapide que leur concurrent car les RAM etaient entrelassees. L'avantage etait
qu'il n'y avait aucun cycle d'attente dans la lecture de 2 mots successifs car ils se
trouvaient physiquement sur 2 barettes. Avec l'arrivee des Pentium et la
generalisation de gros caches L1 puis L2, ca n'a plus eu beaucoup d'interet, mais
c'etait bien ingenieux (a quel domage que cette boite se soit limitee a de PC qui se
devait en plus d'etre compatible avec ms-windows :-((( Ca aurait fait des
etincelles avec un vrais OS et une achitecture moins naze).
>> L'IBM 650 avait un panneau lumineux très complet, de nombreux voyants
>> clignotaient, et il donnait toujours l'impression que "quelque chose se
>> passait", d'être en activité. Ainsi il rassurait...
50 ans apres, j'ai ca me fait la meme chose quant je descend a la cave : j'ai fait
clignoter la LED de mes SUN en fonction de la charge CPU, et ca rassure un max
de la voir s'eteindre et s'allumer toutes les secondes.
Lolo
o > Pourquoi y avait-il à chaque instruction l'adresse de l'instruction
> suivante (et pas d'opérateurs simplements consécutifs):
>
Machine sans compteur ordinal, donc il faut lui indiquer ou est l'instruction suivante.
Ce que tu fais d'ailleurs dans un "saut de sq".
> Le tambour "mémoire" était constamment en rotation, ce qui fait que, le
> temps de choper une instruction le tambour était décalé et on se trouvait
> loin lorsque le CPU était prêt à lire la suivante.
> De ce fait, il y avait un genre d'entrelacement à prévoir pour optimiser
> la lecture au bon endroit du tambour pour éviter des rotations inutiles.
> Soit ça se calculait à la main... soit l'assembleur (SOAP) le faisait pour
> vous.
>
Les pb d'entrelacement sont bien connus. Encore actuellement si tu veux une
memorisation rapide. Etait utilisé sur le Gamma ET modele Ordo Comptable (4 tansferts
possible au tour de tambour)
> C'était l'une des premières consoles à pourvoir être utilisée
> interactivement (pas certain de la traduction) par les programmeurs.
Oui, il y avait visualisation de l'opé et possibilité de "forcer" une instruction au pupitre
(pour faire une reprise par exemple. Necessitait des virtuoses...
Avec le Fortran, je pense que n'importe qui pourrait l'utiliser encore actuellement, à
condition de savoir se plier au batch...
** cix **
Téléchargement