processeur sram

publicité
Introduction à l'informatique
DEUG Sciences et Technologie
Première année
Architecture Première Partie – 2 séances
Catherine Mongenet
Pierre Gançarski
(supports réalisés par Catherine Mongenet et Pascal Schreck)
Architecture des ordinateurs
Ordinateur : machine électronique de traitement de l'information capable
d'exécuter un ensemble d'instructions (programme) préalablement
enregistré dans sa mémoire
Codage de l'information
Manipulation de l'information : calculer
Stockage de l'information : mémoriser
Traitement de l'information : communiquer
Structure du processeur
Exemples d'architectures
2
Calculer-mémoriser-communiquer
Coder et calculer
Arithmétique (entière + flottante)
Texte : édition, mise en forme
Multimédia : images, sons, vidéos
Mémoriser
à court terme : registres
à moyen terme : mémoire vive
à long terme : mémoire de masse
Communiquer
près : bus
loin : réseau
3
Codage de l'information
entiers naturels (1)
Cailloux (calcul), bâtons, doigts
codex de Dresde
Systèmes de numérations
zéro
égyptiens, sumériens, romains
Exemple : MCXV
chinois, mayas
numérotation positionnelle
14
→
zéro
numérotation décimale
(base 10)
2003 = 2*1000 + 0*100 + 0*10 + 3
numérotation en base b
n =(ckck-1 …c1c0)b= ck*bk + ck-1*bk-1 + ... + c1*b1 + c0*b0
(11111010011)2 = 210+29+28+27+26+0+24+0+0+21+20
(= (2003)10)
4
Codage de l'information
entiers naturels (2)
numérotation en base 2
exemples :
(base 10)
0
1
2
19
(base 2)
0
1
10
10011
2003
11111010011
physique
11 1 1
arithmétique en base 2
11011011
+ 1011
addition :
1110 0 1 10
multiplication :
11011011
*
101
11011011
11011011 0
10001000111
5
Codage de l'information
précision → entiers positifs
• bit : binary digit = chiffre binaire
(⇒ 1 dispositif physique pour matérialiser 1 bit )
• pour représenter un entier en binaire, il faut plusieurs bits
Ex : 7dec = 111 (3 bits) ,
8dec = 1000 (4 bits),
15dec = 1111 (4bits)
• Avec n bits, on représente au plus 2n entiers différents
4 bits → 24 = 16
8 bits (1 octet) → 28 = 256
16 bits (2 octets) → 216 =
32 bits (4 octets) → 232 =
65 536 (simple précision)
4 294 967 296 (double précision)
• dépassement de capacité (overflow)
1 1 1 11 1 1 1
+1→
1 0 0 0 00 0 0 0
6
Codage de l'information
précision → entiers négatifs
• bit de signe (simple)
- 44
1 0 1 01 1 0 0
Signe 32 + 8+ 4 =
• complément à 2
idée :
Problème
44 = 00101100
- 44 = 10101100
- 44
11011000
-44 ≡ 2n - 44 (2n )
0
(n= nombre de bits)
en binaire ( n = 8) 100000000 - 0101100 = 11010100
- 44
1 1 0 10 1 0 0
En pratique
complément à 1
44 = 00101100
- 44 = 11010100
44 = 00101100
11010011
+1
00000000
-44 = 11010100
7
Codage de l'information
précision → flottants
• Nombres décimaux à précision finie : flottants ( ≠ nombres réels ! )
• Forme normalisée
0.314157 * 1023
mantisse
exposant
codée sur n bits en complément à 2
codé sur m bits + bit de signe
Existence de normes de représentation (IEEE 754)
• les nombres réels ne sont pas représentables en informatique
8
Codage de l'information
caractères
• caractères :
• ensemble fini
⇒ numérotation des caractères
⇒ code ASCII (sur 1 octet)
• chaînes de caractères (exemple) :
s al u t
f ou l e ◊
...
…
65
A
1000001
66
B
1000010
67
C
68
D
…
…
97
a
98
b
1100001
1 octet
1100010
espace (32)
fin de chaîne (0)
chaîne avec 11 caractères (+ 1 pour indiquer la fin)
• Années 90 : autres codages sur 16 ou 32 bits
9
Codage de l'information
Images, vidéos, sons
• Images
- plusieurs formats standards
- pixel = picture element
- exemple :
bitmap en noir et blanc
9 17
en-tête
(2*2 octets)
153bits
données de l ’ image
pixel : 0 = noir, 1 = blanc
10
Codage de l'information
Images, vidéos, sons
• Images
- image couleur : codage d'un pixel sur n bits
avec 24 bits par pixel : palette de 16,7 millions de couleurs
- image "3D" : tableaux de mots de n bits
• Vidéos
- plusieurs formats standards
- dans sa version la plus simple : suite d’images
souvent 25 images/seconde
• Son
- analogique → digital (discrétisation)
• Hypermedia
- adresses et méthodes de navigation ...
11
Codage de l'information
informations de contrôle
pendant sa transmission, une suite de bits peut être altérée
nécessité d'utiliser des codes pour détecter, voire corriger les erreurs
bit de parité :
ajouter un bit de contrôle tous les x bits
exemple : parité paire sur 7 bits
tableau de bits de parité
1 0 1 01 1 0 0
ok
1 0 1 01 0 0 0
pb
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
12
Codage de l'information
informations de contrôle
pendant sa transmission, une suite de bits peut être altérée
nécessité d'utiliser des codes pour détecter, voire corriger les erreurs
ajouter un bit de contrôle tous les x bits
bit de parité :
exemple : parité paire sur 7 bits
tableau de bits de parités
contrôle et correction
limité à une erreur par ligne/colonne
code de Hamming, CRC ...
1 0 1 01 1 0 0
ok
1 0 1 01 0 0 0
pb
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
0
pb
pb
13
Codage de l'information
compression
Objectif de la compression : diminuer le nombre de bits utilisés pour le
stockage et la transmission de l'information
Facteurs de compression
taux de compression
qualité de la compression
temps de compression
Deux types de compression
compression sans perte
après décompression, info restituée = info d'origine
compression avec perte ou destructive
14
Codage de l'information
compression
compression sans perte :
codage de redondances :
aaaaaaaaaaaaaaabbaaabbbbbbbbbbbbb
15a2b3a13b
arbres de Huffman, quadtree, octree…
compression destructive
jpeg : images fixes
mpeg : séquences d'images
mp3 : fichiers son
15
Synthèse : codage de l'information
Toute information peut être codée à l'aide de 2 symboles (0 et 1)
entiers, "réels" en virgule flottante
caractères, textes
multimédia : images,vidéos,sons
…
On peut représenter physiquement de l'information binaire avec des
dispositifs physiques à deux états stables
La manipulation des informations ainsi représentées passe par
l'étude des fonctions de {0, 1}n dans {0,1}
16
Calculer
booléens
Georges Boole :
• notion de vérité (binaire), preuve etc.
(→ calcul de propositions)
• 0 : faux, 1 : vrai → B = {0, 1}
• logique combinatoire
f : Bn → B
étude des fonctions booléennes
tableau de valeurs → tables de vérité
17
Calculer
fonctions booléennes à une variable
f : B →B
2 valeurs possibles
pour les arguments
f
Nulle
id
non
unité
0
0 ou
01
0
1
1
1
0 ou
01
1
0
1
2 ×2 = 4 fonctions possibles
Fonctions booléennes à deux variables :
f : B2 → B
arguments : 2 ×2 = 4 valeurs possibles
24 = 16 fonctions possibles
18
Calculer
f : B2 → B
(x,y)
f(x,y)
16 fonctions booléennes à deux variables :
x y
⊕ ou
et
nand
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
2
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
3
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1 2
3 4
5 6 7
8
9 10 11 12 13 14 15
19
Calculer
f : Bn → B
(x1, …, xn)
f(x1, …,xn)
n variables :
2n valeurs possibles pour les arguments
n
22 fonctions possibles
pour n=5 on a, 4 294 967 296 fonctions possibles
Toute fonction booléenne peut s’ exprimer en utilisant uniquement
les fonctions « non », « et » et « ou ».
20
Calculer
et, ou, non
ou : opération notée +
et : opération notée .
.
0
0
1
+
0
0
1
0
0
0
1
1
0
1
1
1
1
non : opération notée
0=1
1=0
On sait réaliser ces opérations électroniquement
+5V
x.y
x
nand
y
0V
alimentation électrique (5 V)
21
Calculer
exemple
Toute fonction booléenne peut s’ exprimer en utilisant uniquement les fonctions
« non
« etdonc
» et «réaliser
ou ». toute fonction booléenne électroniquement
On»,sait
On sait réaliser ces opérations électroniquement
exemple : addition de deux entiers naturels codés sur 2 bits
a
a1 a0
calcul a0 + b0
o
r = retenue a0 + b0
b
c1 c0
c =a+b
b1 b0
calcul a1 + b1
+r
o = retenue a1+b1+r
22
Calculer
exemple (suite)
a1 a0 b1 b0
o
c1 c0
C'est un circuit combinatoire
23
Calculer
UAL
addition, soustraction, fonctions booléennes bit à bit, etc ...
Unité Arithmétique et Logique (UAL, en anglais : ALU)
1er opérande
A
résultat
2ème opérande
B
A+B
A-B
A>B ?
A=0 ?
A=B ?
Aou B
A et B
choix de l’ op
24
Calculer
On peut aussi réaliser un circuit combinatoire pour la multiplication,
mais on préfère souvent le faire par un circuit plus complexe qui
réalise un « programme » (on parle de couche micro-programmée)
division entière
opérations arithmétiques sur les flottants
puissances, racines, etc.
fonctions transcendantales (trigonométrie, logarithmes, etc.)
25
Calculer
Dans l'UAL : choix de l’opération
1er opérande
A
résultat
2ème opérande
B
code opération
26
Calculer
Dans l'UAL : choix de l’opération
1er opérande
A
+
-
résultat de
l’opération
numéro 2 (10)
>
2ème opérande
o1 o0
0 0
0 1
1 0
1 1
B
&
o0
o1
chaque opération possède
un numéro qu'on appelle
un code d’ opération
On code aussi des instructions
avec des 0 et des 1 ...
27
Calculer
Choix des opérations ?
Jeu d’instructions
⇒ spécifique à chaque processeur
Exemples (arithmétiques) : MMX, MMX2, 3Dnow!
Choix du codage des opérations ?
Architecture d'un processeur
⇒ ces choix sont très liés à l'implantation matérielle
28
Synthèse : calculer
On sait manipuler toute information codée avec des 0 et des 1 en utilisant
des fonctions booléennes.
On sait construire des dispositifs électroniques capable de calculer
physiquement toute fonction booléenne.
Dans un processeur, les dispositifs plus particulièrement chargés des
calculs sont rassemblés dans des Unités Arithmétiques (entières ou
flottantes) et Logiques : UAL.
A un certain niveau d'abstraction, l'architecture d'un processeur consiste
en le jeu d'instructions qu'il sait exécuter et le codage de ces instructions.
29
Mémoriser
Niveaux – Hiérarchie
_
+
Critères d'évaluation des mémoires
• Temps d'accès
• Capacité
• Coût par bit
Registres
Vitesse
Capacité
Mémoire cache
Coût
Plusieurs niveaux
Proximité du
processeur
Mémoire centrale
Mémoire de masse
Différentes technologies
_
+
30
Mémoriser
Niveaux – Hiérarchie
Registres
• Conservation des informations proche de l’UAL
• Stockage des opérandes et des résultats intermédiaires
Mémoire cache
• Tampon entre l'unité centrale et la mémoire centrale
• Accélération des accès
Mémoire centrale
Organe principal de rangement des informations
utilisées par l'unité centrale (instructions et données)
Mémoire vive (RAM – Random Access Memory)
Mémoire morte (ROM – Read Only Memory)
Mémoire de masse
Disques durs
Disquettes, CD-ROM
Bandes magnétiques
CD-ROM spéciaux
31
Mémoriser
technologies mémoires
Mémoire = ensemble de composants électroniques capables de
mémoriser chacun un bit
La mémoire doit conserver la trace du passage du courant
Il existe plusieurs technologies permettant de conserver la trace du
courant, correspondant à plusieurs types de mémoire.
- mémoires mortes
}
- mémoires statiques
- mémoires dynamiques
}
ROM : infos conservées même hors
alimentation électrique
RAM : infos perdues hors
alimentation électrique
- mémoires de masse : magnétiques ou optiques
32
Mémoriser
mémoires statiques
Circuits séquentiels
- l’ état d’ un circuit séquentiel dépend de ses entrées, ainsi que de l’ état précédent
- circuit séquentiel de base : bascule
Permet de mémoriser un bit
Bascule a deux états stables (0 ou 1)
Bascule asynchrone
- prend en compte la valeur de ses entrées à tout moment
Bascule synchrone
- asservie à une horloge
- les modifications des signaux d'entrée entre deux tops d'horloge sont
sans incidence sur la valeur de sortie
33
Mémoriser
mémoires statiques
Rappel :
Bascule RS (asynchrone)
nand (1,1) = 0
nand (..,..) = 1
nand
1
S
Q
110 0
R
1
S=0
R=0
Q = 1 (set)
Q = 0 (reset)
S
Q
R
0
Bascule D (synchrone)
avec horloge (Clock)
avec Clear et Preset
Clr
Q
D
Ck
Pr
34
Mémoriser
Clr
Q
D
mémoires statiques
Ck
n bascules
DD
sont
n bits
une
bascule
estcapables
capablede
demémoriser
mémoriser
1 bit
Pr
I0
I1
I2
I3
A0
A1
D Q
D Q
D Q
D Q
Ck
Ck
Ck
Ck
D Q
D Q
D Q
D Q
Ck
Ck
Ck
Ck
D Q
D Q
D Q
D Q
Ck
Ck
Ck
Ck
D Q
D Q
D Q
D Q
Ck
Ck
Ck
Ck
registre (4 bits)
mémoire
statique
4 mots
de 4 bits
D0
D1
D2
D3
CS
RD
OE
35
Mémoriser
mémoires dynamiques
les mémoires statiques (SRAM – Static RAM) sont rapides...
mais chères ...
...
les mémoires dynamiques (DRAM – Dynamic RAM)
- un seul transistor couplé à un condensateur pour stocker un bit
( 6 transistors par bit en SRAM)
le condensateur se décharge progressivement entrainant la
perte de l'information
le circuit doit être rafraîchi périodiquement
(plusieurs milliers de fois par seconde)
pour chaque bit : lire sa valeur et la réécrire immédiatement
36
Mémoriser
mémoires statiques / dynamiques
SRAM
Utilisée pour les
caches
- plus rapide
- plus coûteuse
- taille plus importante
DRAM
- circuit de rafraîchissement
plus lente
- fabrication plus simple moins coûteuse
- densité d'intégration plus grande (facteur 4)
Utilisée pour la
mémoire centrale
37
Mémoriser
mémoires de masse
Besoin de mémoire de masse
- dotée (très) grande capacité
- pour le stockage permanent de l'information en l'absence de courant
(quelques années)
Deux types de mémoire de masse
- mémoires magnétiques
- mémoires optiques
disques durs, disquettes
{ bandes
magnétiques
CD-rom, DVD-rom
38
Mémoriser
supports magnétiques : bandes et disques durs
fumée
trace de doigt
cheveu
Piste
Secteur
Cylindre
39
Mémoriser
supports optiques : disques optiques
Principe : rayon laser envoyé sur une surface
réfléchissante. On observe (ou non) un rayon
réfléchi.
cuvette dans la pellicule réfléchissante
trou dans la pellicule réfléchissante
indice de réfraction du substrat transparent
modifiable 1 fois (Recordable)
– effaçable (Rewritable)
–
- pistes concentriques
- vitesse angulaire constante
40
Mémoriser
hiérarchie mémoire : caractéristiques
Pour une « grosse » station de travail
Taille
Temps
d’accès (ns)
Débit (Mo/sec)
Technologie
Registres
< 1 Ko
0,25 – 0,5
20 000 – 100 000
Mémoire
spécialisée
Cache
< 16Mo
0,5 - 25
5 000 - 10 000
SRAM
< 16 Go
80 - 250
1000 - 5000
DRAM
> 100 Go
5 000 000
20 - 150
Support
magnétique
Mémoire
principale
Mémoire
de masse
41
Téléchargement