Mise à jour: Janvier 2012 2
Architecture des Ordinateurs
[Archi/Lycée]
core 2 duo B2
Nicolas Bredèche Ressources bibliographiques utilisées pour ce cours :
- [Link]
- [Link]
Maître de Conférences - [Link]
Université Paris-Sud
- [Link]
- [Link]
bredeche@[Link] - [Link]
- Computer Architecture: A Quantitative Approach (Hennessy, Patterson) Objectif: de la mécanique au fonctionnel
- Architecture des ordinateurs (Schwarz), Eyrolles, 2005.
- Architecture et technologie des ordinateurs. (Zanella, Ligier). Dunod, 2005.
- Architecture des machines et des systèmes informatiques. (Cazes, Delacroix), 2011.
Et aussi: [Link] et [Link] source: T. Dumartin (note de cours)
3 4
Objectif du module Plan du module
• Acquérir un... • Intervenants
• Savoir • Chargé de cours: Nicolas Bredèche
‣ comprendre comment est représentée l’information • Chargé de TP: Nicolas Galichet et Jean-Marc Montanier
‣ comprendre comment est fait un ordinateur (matériel/logiciel) • Contact: [Link]@[Link]
‣ comprendre comment un réseau informatique fonctionne
‣ comprendre comment programmer un robot
• Organisation
• Cours 1 : Architecture - représentation de l’information
• Savoir faire
• Cours 2 : Architecture - conception matérielle
‣ manipuler l’information (codage, calcul)
‣ dessiner (sur papier) un circuit logique, et l’optimiser
• Cours 3 : Architecture - conception logicielle
‣ programmer en assembleur simplifié • Cours 4 : Réseaux informatiques
‣ programmer un protocole de communication simplifié • Cours 5 : Robotique
‣ programmer un comportement simple de robot • Evaluation: TPs (sauf 1er TP)
5
Plan du Cours #1
• Architecture des ordinateurs
• introduction générale
• représentation de l’information
‣ encodage
‣ changement de représentation
Une petite digression
‣ erreur d’arrondi
• fonction logique
‣ portes logiques
‣ optimisation des portes
7 8
WireWorld
[Silverman, 1987]
WireWorld
[Silverman, 1987]
vide vide vide vide
tête de l'électron queue de l'électron tête de l'électron queue de l'électron
queue de l'électron câble queue de l'électron câble
câble câble
câble câble
seulement si 1 ou 2 seulement si 1 ou 2
tête d’électron tête d’électron
voisins sont voisins sont
EXERCICE: 1. exécuter les trois versions de ce montage
2. à quoi ce montage peut il servir?
9 10
porte OR
porte XOR
porte AND
Multiplication de deux nombres 8 bits dans WireWorld
[Gardner, 2002]
[Link]
11 12
L’ordinateur fonctionne dans un
monde discret, sur une base binaire
Machine de Turing (ou Automate de Turing)
(1936)
13 14
Accès en lecture/écriture
Mémoire
CPU
une machine de Turing dans le jeu de la vie une machine de Turing dans le jeu de la vie
(design par P. Rendell, 2002) (design par P. Rendell, 2002)
15
Un ordinateur est constitué de plusieurs
modules spécialisés qui interagissent entre eux Introduction
17 18
Architecture logicielle Architecture logicielle
Applications Applications
Système d’Exploitation (OS) Système d’Exploitation (OS)
Firmware Drivers Compilateur Firmware Drivers Compilateur
Objet de ce module:
Architecture matérielle Architecture matérielle
Processeur(s) Mémoire Périphériques Processeur(s) Mémoire Périphériques
Portes logiques, circuits Portes logiques, circuits
Electronique et câblage Electronique et câblage
19 20
Architecture de von Neumann Architecture de von Neumann
On parle ici du modèle d’architecture...
- de votre ordinateur personnel
...
- de votre téléphone portable
- de votre appareil photo numérique
...
- du GPS de votre voiture
- de votre voiture (de son ordinateur de bord)
L’architecture de von Neumann décompose l’ordinateur en 4 parties distinctes - et sinon,
L’architecture du
de von panneau
Neumann décomposeindiquant
l’ordinateur le
en 4temps au prochain bus
parties distinctes
1. L’unité arithmétique et logique (UAL ou ALU en anglais) ou unité de traitement : son rôle est d’effectuer les 1.... L’unité arithmétique et logique (UAL ou ALU en anglais) ou unité de traitement : son rôle est d’effectuer les
2.
opérations de base ;
L’unité de contrôle, chargée du séquençage des opérations ;
- de votre machine à laver, de votre four micro-ondes
opérations de base ;
2. L’unité de contrôle, chargée du séquençage des opérations ;
3. La mémoire qui contient à la fois les données et le programme qui dira à l’unité de contrôle quels calculs faire sur 3.- de votrequifutur
La mémoire contientcompteur électrique
à la fois les données et le programme qui dira à l’unité de contrôle quels calculs faire sur
ces données. On distingue: ... ces données. On distingue:
a. la mémoire volatile (programmes et données en cours de fonctionnement) a. la mémoire volatile (programmes et données en cours de fonctionnement)
b. la mémoire permanente (programmes et données de base de la machine). b. la mémoire permanente (programmes et données de base de la machine).
4. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde extérieur. 4. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde extérieur.
source: wikipedia source: wikipedia
21 22
Carte mère PC Exemple typique
«motherboard»
source: [Link] source: T. Dumartin (note de cours)
23 24
Vue d’ensemble les bus
CPU disque carte
dur réseau
Mémoire
Cache
(RAM) Entrées/Sorties
Bus d’adresse
Bus permet la sélection de l’emplacement mémoire à lire/écrire
Bus de données
permet l’écriture/lecture des informations en mémoire
Bus de commande
permet de synchroniser les flux d’information entre les deux bus précédents
traduit de: Daniel Sorin, Duke University source: T. Dumartin (note de cours)
25 26
la mémoire le processeur (ou CPU)
Intel 65nm Xeon MP processor «Tulsa» (2006)
source: T. Dumartin (note de cours) source: [Link]
27 28
évolution du nombre de composants évolution de la place occupée
source: wikipedia source: MIT course (Nachiket Kapre)
29 30
évolution de la puissance Quelles sont les causes de l’augmentation de la puissance ?
Quelle puissance pour $1000 ?
MIPS per $1000
source: [Link] source: David Paterons (depuis: [Link], CMCS 611)
31 32
Quelles sont les causes de l’augmentation de la puissance ?
Aller plus vite, c’est:
• Concevoir l’architecture des ordinateurs:
- augmenter la fréquence des processeurs
• Compétence en ingénierie («computer engineering»)
- augmenter la bande passante des bus • Compétence en informatique («computer science»)
- optimiser les circuits
- paralléliser les calculs (pipeline, multicore) • Objectifs:
• Aller plus vite...
• En restant (si possible) compatible avec l’existant
source: David Paterons (depuis: [Link], CMCS 611)
34
porte logique «universelle»
1/2
Portes logiques NAND
comment calculer?
source: wikipedia
35 36
porte logique «universelle»
2/2
NOR
source: wikipedia source: wikipedia
37 38
...On peut aussi le faire avec des portes ET et OU
exercice: ?
source: wikipedia source: wikipedia
39 40
Addition
avec calcul de retenue
exercice!
source: wikipedia
41 42
Addition Addition
avec prise en charge de retenue et calcul de retenue
avec calcul de retenue
«half-adder»
«full-adder»
source: [Link] source: [Link]
43
Addition
deux nombres de n bits
Codage
comment représenter l’information?
...
source: [Link]
45 46
• Représentation en machine • Représentation en machine
• bases 2, 8, 10, 16 • bases 2, 8, 10, 16
• passage d’une base à une autre • passage d’une base à une autre
• complément à deux • complément à deux
• Représentation des nombres réels • Représentation des nombres réels
• de 2^32 (en nombres entiers) à 2^232 valeurs en 32 bits • de 2^32 (en nombres entiers) à 2^232 valeurs en 32 bits
• représentation en virgule flottante (norme IEEE 754) • représentation en virgule flottante (norme IEEE 754)
‣ définit la représentation, le comportement en cas de ‣ définit la représentation, le comportement en cas de
dépassement de capacité et garanti un arrondi exact pour les dépassement de capacité et garanti un arrondi exact pour les
opération élémentaires (+,-,*,/,Sqroot) opération élémentaires (+,-,*,/,Sqroot)
47 48
extrait des notes de cours d’Emmanuel Viennet (Univ. Paris 13) extrait des notes de cours d’Emmanuel Viennet (Univ. Paris 13)
49 50
extrait des notes de cours d’Emmanuel Viennet (Univ. Paris 13) extrait des notes de cours d’Emmanuel Viennet (Univ. Paris 13)
51 52
• Représentation en machine
• bases 2, 8, 10, 16
• passage d’une base à une autre
• complément à deux
• Représentation des nombres réels
• de 2^32 (en nombres entiers) à 2^232 valeurs en 32 bits
• représentation en virgule flottante (norme IEEE 754)
‣ définit la représentation, le comportement en cas de
dépassement de capacité et garanti un arrondi exact pour les
opération élémentaires (+,-,*,/,Sqroot)
source: [Link]
53 54
extrait des notes de cours d’Olivier Temam - [Link] extrait des notes de cours d’Olivier Temam - [Link]
55 56
extrait des notes de cours d’Olivier Temam - [Link] extrait des notes de cours d’Olivier Temam - [Link]
57 58
Limite:
Table ASCII
il s’agit d’une norme établissant une correspondance
entre des codes binaires et la représentation de caractères
extrait des notes de cours d’Olivier Temam - [Link] sources: [Link] et [Link]
+ =
7 cables
Pour réfléchir un peu...
14 cables
7 cables
Ecrire le circuit logique qui additionne les deux chiffres.
Remarque : il va falloir décoder les entrées et ré-encoder la sortie
Fin du cours #1