Vous êtes sur la page 1sur 16

Sommaire

1-Structure d’un système à microprocesseur


2-Composants de la couche physique
3-Architecture micro-programmée d’un CPU

A. Benali

1
1 2

Composants d’un système Composants d’un système

Un microprocesseur +
une horloge
Unité L’unité centrale permet
Entrées/Sorties de réaliser des fonctions
centrale Mémoire Unité en logique programmée
(I/O)
(CPU)
centrale
(CPU)

3 4
Composants d’un système Composants d’un système

L’ensemble des données stockées en mémoire ROM constituent


Généralement des instructions d’un programme
Un ensemble de mémoires constitué d ’une

Mémoire ROM RAM

mémoire ROM

lecture seule
mémoire RAM

Lecture/écriture La mémoire RAM est utilisée pour contenir les données en cours de
5
traitement 6

Composants d’un système Bus système


Une interface pour la
communication avec les Ces trois éléments vont communiquer entre eux par l ’intermédiaire
dispositifs électroniques de 3 BUS
extérieurs.
Entrées/Sorties
(I/O)
Unité
centrale Entrées/Sorties
Pour échanger des informations (CPU) ROM RAM (I/O)

avec l ’extérieur.
(Ecrans, imprimantes, lecteurs de DVD, Micro SD, Interface USB
ou un autre système)

7 8
Les différents bus d'un système micro-programmés
Bus système
« Un bus est un jeu de lignes partagées pour l’échange de mots Bus d ’adresses
numériques. »
(Traité de l’électronique, Paul Horowitz&Winfield Hill)
Unité
Définition : Un bus permet de faire transiter (liaison série/parallèle) centrale Entrées/Sorties
des informations codées en binaire entre deux points. Typiquement (CPU) ROM RAM (I/O)
les informations sont regroupés en mots: octet (8 bits), word (16 bits)
,double word (32 bits)ou quadruple word (64bits).

Ensemble de 16/32/.. fils sur lesquels le CPU fournit l’adresse


de la case mémoire sélectionnée.
Caractéristiques d'un bus: Il est unidirectionnel.
● nombres de lignes, Quand l’adresse a été sélectionnée = ?
● fréquence de transfert.
9 10

Bus système Bus système


Ce bus véhicule des signaux relatifs aux :
Sur ce bus,constitué d ’un ensemble de 8/16,32,… Interruptions, commande de lecture/écriture,
fils, se déplacent les données à traiter.
des horloges de transfert, validation mémoire.
Il est Bidirectionnel.

Unité Entrées/Sorties
Entrées/Sorties centrale ROM RAM (I/O)
Unité
ROM RAM (I/O) (CPU)
centrale
(CPU)

Bus de contrôle
Bus de données
11 Le CPU indique ce qu ’il est en train de faire. 12
Bus système Bus système
Le décodeur d ’adresses
Décodeur d ’adresses sélectionne la ROM
Dans quels boîtiers vont aller les données ?

Bus d ’adresses

Unité Entrées/Sorties Unité Entrées/Sorties


ROM RAM ROM RAM
centrale (I/O) centrale (I/O)

(CPU) (CPU)

Bus de données Bus de données


Envoi de données Envoi de données
13 14

Bus système Bus système

Le décodeur d ’adresses Le décodeur d ’adresses sélectionne l ’I/O


Décodeur d ’adresses sélectionne la RAM Décodeur d ’adresses

Bus d ’adresses Bus d ’adresses

Unité Unité Entrées/Sorties


Entrées/Sorties
centrale ROM RAM ROM RAM (I/O)
(I/O) centrale
(CPU) (CPU)

Bus de données Bus de données


Envoi de données Envoi de données
15 16
Exemple sur une architecture
Bus système largeur du bus

Décodeur d ’adresses

Bus d ’adresses

unidirectionnel
Unité Entrées/Sorties
ROM RAM (I/O)
centrale
(CPU)

Bus de contrôle
Doc technique
microcontrolleur 16f628
Bus de données

17
bidirectionnel18

Chronogramme de lecture Chronogramme d’écriture

ta
L'adresse doit être stabilisée avant la sélection et les données doivent
L'information apparaît sur la sortie après un délai = Temps d’accès être stabilisées avant le signal de chargement.
19 20
Architecture de base du CPU
Sommaire • Idée de Von Neuman (1945), peu de changement depuis :

Unité de Commande
Mémoire
Entrées
Unité de Traitement
1-Structure d’un système à microprocesseur Sorties
2-Architecture micro-programmée d’un CPU
3-Composants de la couche physique
– Mémoire = stocke les informations et les programmes
– UC = cherche les instructions en mémoire, les reconnait et
indique à l'UT ce qu'elle doit effectuer
– UT = assure les opérations élémentaires que demande l'UC
(opérations logiques, arithmétiques, ...)
– Bus = transfère les informations
21 22

Chemin des données Unité de commande


Elle permet de séquencer le déroulement des instructions.

PC : Programme Counter, appelé aussi


Compteur Ordinal. Il contient toujours
l’adresse de la prochaine instruction à
exécuter.
Le décodeur d'instruction: Le mot binaire
(instruction) est décodé pour savoir à
quelle Action correspond l’instruction.
Bloc logique de commande(séquenceur) :
Unité Traitement Unité commande
Il organise l'exécution des instructions au
rythme de l’horloge. Il élabore tous les
signaux de synchronisation du
Microprocesseur en fonction de
Chemin des données = circulation des
données dans les bus internes l’instruction qu’il a à exécuter.
23 24
Unité de traitement horizontal micro-Instruction

Instruction
L’accumulateur : C’est un registre de travail …
qui sert à stocker le résultat des opérations
réalisées par L’UAL.
L’Unité Arithmétique et Logique (UAL) est un
circuit complexe qui assure les fonctions Individual
Individual
Control
logiques (ET, OU, comparaison, décalage, Control
signal for
etc…) ou arithmétique (addition, internal
: : signal for
bus control
soustraction…). CPU
control
Le registre d'état : Chacun des bits de ce
registre dépend du résultat de la dernière
Jump condition bit
opération effectuée par l’UAL. Exemple : Bit (zero, overflow,..)
de retenue (carry : C), débordement
(overflow: OV ou V), Zéro (Z) ...
Micro-
instruction
branch
25 26
address

Vertical micro-Instruction Chemin de données : schéma

Instruction

D D
Individual E E Individual
Control
: C : C Control
signal for O
: O : signal for
internal D D bus control
CPU E E
control R R
D
E
C Individual
O control
D : signals
E
Micro- R
instruction Jump condition bit
branch (zero, overflow,..)
27 28
address
Chemin de données : les composants Séquencement des actions : µ-instruction

Exemple : Reg A ← Reg A + Reg B Signaux

Actions : Transfert (Bus 1) Reg A → Tamp A RO 10 , TA


Transfert (Bus 1) Reg B → Tamp B RO 11 , TB
Choix UAL (C= 100, M= 0, Flags) C 2 C 1 C 0 ,M, FI
• Registres
Transfert (Bus 2) UAL → Reg A RI 10
– Adresse, Donnée
– INST, IP, SP (), constantes (0, 1, ...), Registres A, B, C, … Une micro- instruction = ensemble des actions faisant fonctionner une
– Registres tampons (TampA, TampB) fois le chemin de données
– Registre des drapeaux de l'UAL (Flags)
• 2 Bus µ- instruction = 5 sous- cycles:
• Signaux de commande 1. Transfert n° 1 par le Bus 1
– Bus 1 : entrée (RO), sortie (AI, TA, TB) 2. Transfert n° 2 par le Bus 1
– UAL : M (sélection de Donnée ou TampA), C (choix de 3. Opération UAL
l'opération), FI (mise à jour des Flags) 4. Transfert résultat par le Bus 2 (+ observation des FLAGS)
– Bus 2 : sortie (DI I , RI) 5. Accès à la mémoire (READ / WRITE)
– Lecture/ Ecriture : DI E , DO
animation A1 A2 A3 A4
29 30

Séquencement des actions : µ-instruction Séquencement des actions : µ-instruction


RO 10 TA RO 11 TB

Tamp
Val regAA Val regA

Tamp B
Val regB

Reg A
Reg B

31 32
Séquencement des actions : µ-instruction Séquencement des actions : µ-instruction
RI10
M=0

Val regA

Val
Valreg B
regB

OF
CF
C0,C1,C2 ZF
Reg
A+BA
SF
PF
FI

33 34

Architectures : Von Neuman Architectures : Harvard

•Un seul chemin d'accès à la mémoire • Séparation des mémoires programme et données
•Un bus de données (programme et données), - Un bus de données programme,
•Un bus d’adresse (programme et données) - Un bus de données pour les données,
•Architecture des processeurs d’usage général - Un bus d’adresse programme,
•Goulot d'étranglement pour l'accès à la mémoire - Un bus d’adresse pour les données.
• Meilleure utilisation du CPU :
-Chargement du programme et des données en parallèle
35 36
Le traitement des instructions CISC vs RISC

● C'est dans les années 80 que la notion de RISC est


apparue. Elle consiste à minimiser le nombre d'instructions et
à les simplifier
Actuellement l’architecture des microprocesseurs se composent de ● L'autre tendance (CISC) est de rajouter autant d'instructions
deux grandes familles : que possible au processeur.
• L’architecture CISC (Complex Instruction Set Computer)
• L’architecture RISC (Reduced Instruction Set Computer)
● Dans les années 80, des chercheurs d'IBM, sous la direction
de John Cocke se sont convaincus qu'un ensemble réduit
d'instructions '' rapides/efficaces'' valait mieux qu'un plus
grand ensemble augmenté d'instructions plus lentes et moins
efficaces.

37 38

CISC vs RISC CISC vs RISC


RISC CISC
Peu d’instructions (~100) Beaucoup d’instructions (~1000)
Instructions rapides 1cycle=1 instruction Instructions plus lente > 1 cycle
● Les processeurs RISC sont moins chers car moins complexes Instructions codées sur 4 octets Instructions codées sur 1 à 15 octets
et ne comportent que des instructions très rapides toutes codées Une base +déplacement pour adressage Format selon adressage mémoire utilisé
sur un même nombre d'octets. Elles sont plus simples et plus Rapide : opération arithmétiques et Opération arithmétiques et logiques sur
homogènes. logiques sur les registres uniquement les registres et mémoire
● Les professeurs David Patterson ( Berkeley ) et John Hennessy Moins souple : contraintes Implémentation transparente
( Stanford ) sont ceux qui apposèrent les noms de CISC et RISC d’implémentation : séquence
d’instructions interdites
aux deux philosophies.
Efficace : seuls les tests dont le résultat Des drapeaux sont positionnés et utilisés
va dans des registres sont utilisés lors des lors des branchements conditionnels
branchements conditionnels
Passage des paramètres : utilisation Passage des paramètres : utilisation
uniquement des registres pour les intensive de la pile pour les arguments et
arguments des fonctions ainsi que pour pour l’adresse de retour
39 l’adresse de retour 40
CISC vs RISC Microprocesseurs à usage général

● Dans les années 80 la communauté scientifique a longuement • CPU pour Computers


débattu de l'avantage de l'une et l'autre philosophie.
• Généralement pas de RAM, ROM, I/O sur le CPU
● Dix ans plus tard, il est apparu que l'une et l'autre avait des
avantages. Ainsi les processus RISC ont tendance à devenir de +
en + CISC et vice-versa.
Plusieurs CPU sur carte mère
● La technologie CISC domine le marché des ordinateurs de CPU
Data Bus
bureau et des ordinateurs portables. La technologie RISC domine General-
le marché des microprocesseurs embarqués. Purpose RAM ROM I/O Timer
Serial
COM
Micro- Port
Port
processor
Address Bus

41 42

Microcontrolleurs Comment lire une architecture ?

Multiplexeurs

• Calculateur sur un chip


Pile ou stack
• RAM, ROM, I/O ports... Sur le même chip LIFO/FIFO
• Exemple:Intel 8051/52, PIC 16F/18fxx, STM32fxxx
Décodeur
d'instructions

CPU RAM ROM


Unité arithmétique et
Un simple chip Logique
I/O Serial Horloge
Time Architecture
Port COM microcontrolleur 16f628
r
Microcontroller

43 44
Comment lire une architecture ? Qu’est ce qu’un SoC
Entrées-sorties Circuit réalisant une fonctionnalité sur une puce unique
regroupant processeur+mémoire+périphériques

Contraintes importantes : coût, consommation, taille,


performance, . . .
Périphériques Prise en compte de l’environnement : Réaction fonction de
USART
CCP nombreux paramètres
Tension ref souvent associé à des contraintes de temps-réel
Les éléments constitutifs d’un SOC sont "complexes",
réutilisables et de nature variée :
➆ Fonctions analogiques (convertisseurs A/N, filtres, etc.)
Architecture
microcontrolleur 16f628 ➆ Fonctions numériques câblées (décodeur de Viterbi)
➆ Fonctions logicielles (sur micro-contrôleur, DSP, RISC)
◆ Composants de base (mémoires)
45 46

Exemple de SoC : Appareil photo numérique Exemple de SoC : Pocket PC, PDA (iPaQ H5500)

Une seule fonction : prendre des photos Adaptation de linux pour PDA
Contraintes : taille, poids, consommation

47 48
Exemple de SoC : Pocket PC, PDA (iPaQ H5500)
Sommaire

1-Structure d’un système à microprocesseur


2-Architecture micro-programmée d’un CPU
3-Composants de la couche physique

49 50

Représentation de l’information binaire Représentation de l’information binaire

• Une information peut être représentée de plusieurs façons :


ex : le chiffre quatre : 4 100 IV

• Représentation des nombres


Représentation usuelle = base 10 symboles = { 0,1,2,3,... 9 }
2004 = 2 * 103 + 0 * 102 + 0 * 10 + 4

Représentations courantes en Informatique = bases 2, 8, 16.


base 2 = binaire (représentation interne) un bit : { 0, 1 }
base 8 = octal { 0,1,2,3,... 7 }
base 16 = héxadécimal { 0,1,2,3,... 9,A, B, C, D, E, F

51 52
Un peu d'Arithmétique binaire Portes logiques= Composants de base d'un cpu

• Table d’addition :
0 0 1 1
+ 0 + 1 + 0 + 1
Somme 0 1 1 0
Retenue 0 0 0 1

• Addition de 2 nombres binaires :


Ret : 111
10100101
+ 10111
10111100

53 54

Circuits d'aiguillage Sortie à 3 états

55 56
Circuits de sélection Circuits arithmétiques

57 58

Résumé des circuits combinatoires Circuits séquentiels

• Circuit séquentiel :
– prise en compte du temps
• Circuit combinatoire – la sortie du circuit dépend
construit avec des portes logiques » des valeurs d'entrée
défini par une fonction logique » des sorties précédentes
défini par une table de vérité • Ex = Bascule (ou bistable, ou flip- flop) D :
Q -= valeur précédente de la bascule
= Circuit "idéal" : Q + = nouvelle valeur
• pas de temps de propagation dans le circuit,
• la sortie "existe" dès que les entrées sont présentées – si CK = 1, Q + = Q -
– si CK = 0, Q + = D
(l'entrée D est validée par
= Circuit "réel" : le passage de 0 à 1 n'est pas le front descendant de CK)
• immédiat (temps de réponse)
• instantané (décharge de condensateurs)

59 60
Utilisation des bascules: registre Unité Arithmétique et Logique (UAL)

• Unité chargée
– des opérations arithmétiques :
» ADD (+), SUB (-), MUL (*), DIV (:), INC (+ 1), DEC (- 1)
– des opérations logiques :
» AND, OR, XOR, NOT, CMP
» LSL, LSR, ASR (décalages)

• Mémorisation :
– si CK = 1, le registre continue de mémoriser Q 7 ... Q 0
– si CK = 0, mémorisation de la nouvelle valeur donnée par D 7 ... D 0
• Autres opérations possibles :
– décalage à droite, à gauche
– rotations
– compteurs

61 62

Réalisation d’une UAL

63

Vous aimerez peut-être aussi