Академический Документы
Профессиональный Документы
Культура Документы
Table de tir = 6 mois / homme de calculs Aot 44 : 6 demandes de tables /j au BRL (Goldstine)
Cadenc par une horloge 0.1 MHz Addition : 0.2 ms Multiplication : 3 ms Division : 30 ms 20 cases mmoires de 10 chiffres 18000 tubes 70000 rsistances, 10000 condensateurs, 6000 interupteurs Consommation de 140 KW 35 m de long, 3 m de haut, 12 cm de profondeur, 30 tonnes
Le programme est conserv dans la mme mmoire que les donnes : il devient lui aussi susceptible de modifications
=> dfinition de l'ordinateur : calculateur automatique programme enregistr
Unit de contrle (microprogramme) rsultat des tests dpassements MEMOIRE Entres Sorties unit arithmtique et logique
Technologie idale :
- Duplicable faible cot - Fiable (taux d'erreur /bit) EQUILIBRE DES DEBITS : Temps d'accs (criture/lecture) compatible au temps effectu par les calculs du processeur. Rgle d'Amdahl/Case : un systme est equilibr, si pour chaque MIPS, il dispose de 1 Mo de mmoire et de 1 Mb/s de dbit E/S
Technologies employes
Duplication coteuse : le bistable ("flip-flop") - relais lectromcaniques - tubes vide - transistor jonction Duplication "massive" : - Cylindre lectrostatique (effet capacitif) - Rmanence cran - Lignes retard (ultrason dans mercure) - Tores de ferrite - Bande magntique - Disque magntique
1970 : Intel produit le premier circuit intgr de mmoire (1024 bits) sur 0.25 mm2 equivalent 2 m2 de tores
Hirarchie de mmoires Compromis toujours ncssaire entre les besoins des programmes et les possibilits technologiques ( cot fix)
Registres
Cot
temps accs
Mmoires priphriques
Mmoires mobiles
- RAM : random access memory RAM statique RAM dynamique : doit tre rafraichie rgulirement (- cher) - ROM : read-only memory - REPROM : reprogrammable ROM : EPROM (uv) EEPROM
Accs squentiel
- cartes perfores (ROM) - bande magntique (RAM)
Accs cyclique
- tambour lctrostatique - tambour magntique
Accs squentiel/cyclique
- disque magntique - disque optique (ROM) et magnto-optique (REPROM)
Fonctions logiques 4 fonctions logiques pour une variable 16 fonctions pour 2 variables
Lois de Morgan :
Demi additionneur :
A B =1 Somme
&
Retenue
Mise en cascade :
R(n) A(n+1) B(n+1) =1 & 1 & R(n+1) =1 S(n+1)
& Contrle
&
Sortie
Contrle 0 0 1 1
Donne 0 1 0 1
Exemple de ralisation
+4.5V led 220 3k3 BC238C
OV
12
34
10
- Faire l'change avec la premire case 000 001 002 003 004 005 006 007 008 009
34
12
10
- Recommencer partir de la deuxime case, etc 001 002 003 004 005 006 007 008 009
34
12
10
(Mthode du tri-bulle)
MAIS : comment accder la position du plus petit lement puisque elle ne peut tre connue l'avance ? C'est le rsultat d'un calcul
12
34
10
Algorithme
pour i de 0 9 faire 095 096 097 098 099 m <- i j<10 m Tj<Ti 9 0 i<10 pour j de i 9 faire si Tj < Ti alors m <-j - le programme fin pour Ti <- Tm 100 ING 0 1 fin pour 104 BRA +0 8 108 CPY 102 /// 112 INC +0 1 116 ING 102 98 120 BRA -0 20 124 CPY 95 /// 128 CPY 101 /// 132 CPY xxx /// 136 INC +0 1 140 ING 101 98 144 BRA -0 44 148 HLT +0 0
Impact sur l'organisation Le programme n'est plus accessible en squence: il faut un compteur pour mmoriser la position courante (et l'incrmenter)
Compteur ordinal, compteur de programme, PC
Il faut revoir le codage des instructions pour qu'elles coincident avec celui des donnes :
Il faut mmoriser quelque part l'instruction courante : registre d'instruction (RI) si nbre bits adresses > nbre bits donnes Favoriser des instructions "courtes", 0 ou 1 paramtre => Oprations de calculs relatives AC (accumulateur) => Crer d'autres zones mmoires specialises proches de l'UAL (registres) RQUE : Il faut aussi mmoriser localement le rsultat produit par l'unit arithmtique (sinon, oscillations)
UAL
+1
PC
op adresse
RI RM
bus de donnes
@ALU @PC @RI UNITE DE CONTROLE @RA @RM
@AC
En pratique :
- Plusieurs types de donnes : des nombres rels (64 bits) entiers (32 bits) caractres (8 bits) et des oprations arithmtique/logiques diffrentes - Plusieurs types d'instructions, avec 0, 1, 2 paramtres
=> trs nombreuses variantes, selon l'poque (contraintes technologique) et le constructeur (type de machine voulue)
Modes d'adressage La mthode de von Neuman est dure employer pour de gros programmes.
Elle se prte difficilement une gnration automatique des instructions machines Elle est maintenant totalement dconseille !!
Adressage indirect :
Le contenu d'une case mmoire indique l'adresse de la donne recherche Il faudra donc deux accs mmoire pour obtenir la donne On peut galement appliquer le concept aux branchements
Procdures & piles Que faire quand un traitement est appliquer plusieurs fois dans un programme ?
Avec des cartes perfores, il suffit de les dupliquer autant de fois que ncessaire Mais cela suppose qu'on peut savoir l'avance sur quelles donnes (et donc leur adresse) le traitement dupliqu s'applique
000 -- debut du programme 100 -- calcul de sinus(x) avec x stock dans case 5000 104 CPY 5000 499 -- passage de la valeur 108 SET 116 498 -- passage de l'adresse retour 112 GTO 500 -- Saut sans condition l'instruction 500 116 -- utilisation de sin(x) 200 -- calcul de sinus(y) avec y stock dans case 5001 204 CPY 5001 499 -- nvelle valeur 208 SET 216 498 -- nvelle adresse retour 212 GTO 500 -- Saut sans condition l'instruction 500 216 -- utilisation de sin(y) 300 HLT -- fin du programme 498 <<stockage adresse retour>> 499 <<stockage paramtre>> 500 -- debut procedure sinus 504 --utilisation de la case 499 pour calculer le sinus 568 GTI 498 -- retour l'envoyeur
On peut "automatiser" la technique prcdente grce au compteur de programme : Une nouvelle instruction pour l'appel
SBR <adresse> : - stockage dans un registre spcial SP du CP courant - GTO <adresse>
Problmes :
- On n'a pas rgl la question de la transmission du paramtre, mais la technique prcdente reste valable - Plus gnant : que faire la procdure en appelle une autre ?? l'adresse de dpart est perdue avec cette mthode
Solution :
Le SP rfrence en fait une zone de la mmoire o dposer le CP courant ("stack pointer") SBR <adresse> : incrmenter SP CPY CP (SP) GTO adresse RTN : CPY (SP) PC dcrmenter SP