Vous êtes sur la page 1sur 23

Circuits Programmables

Antoine Ferreira
INSA Centre Val de Loire

E-Mail: antoine.ferreira@insa-cvl.fr
Programme détaillé
 Semaine 1: Introduction  Semaine 4: Machines
➢ Prix vs. performance Programmables
➢ Niveaux de conception ➢ Machines séquentielles
➢ Graphes, tables, analyse
 Semaine 2: Arithmétique I
➢ Eléments de calcul  Semaine 5: Circuits
➢ Addition et soustraction programmables
➢ PLD, EPLD, XLINX
 Semaine3: ➢ Programmation
Arithmétique II
 Semaine 6-7: Carte à
➢ Multiplication et division
Microprocesseur
➢ Unité de traitement
➢ Analyse fonctionnelle
➢ Décodage d’adresse
Chapitre 1

Introduction

3
Générations

Dates Technologie Produits

1 1950-1959 Tubes à vide Ordinateurs électroniques

2 1960-1968 Transistors Ordinateurs commerciaux

3 1969-1977 Circuits intégrés Miniordinateurs

4 1978-2020 VLSI PC et stations de travail

5 ???? ????
Premiers ordinateurs …
ENIAC pesait 30 tonnes.

5
Premiers ordinateurs …
Elle consommait 200 kilowatts quand elle était en marche.
Premiers ordinateurs …

Premier bug répertorié - 1945

[15h45 - relais n°70, panneau F, mite dans le relais]


Évolution de la complexité

8
Évolution de la puissance

9
Évolution de la technologie

10
Performance
 Temps d’exécution et bande passante

1
Performance =
Temps d’exécution

 Coups d’horloge et instructions

# coups d’horloge pour le programme


Temps d’exécution (CPU) =
Fréquence d’horloge

# coups d’horloge pour le programme =


# instructions  # coups d’horloge moyen par instruction
Puissance de Calcul

Facteur de mérite
Codage binaire
Dans les systèmes numériques, toute information est codée en binaire
Vcc
TRANSITORS C=0 C=0 INVERSEUR

C A B C A B
IN=1 OUT=0
A B C=1 A B C=1
IN OUT
A B A B 0 1
1 0
GND

Codage en base 2:
N = pn2n + … + p222 + p121 + p020
par exemple:
10110 = 1x24 + 0x23 + 1x22 + 1x21 + 0x20 = 16 + 4 + 2 = 22
mais aussi:
10110 = add R1, R2
Logique combinatoire I
 Portes logiques
INVERTER 2-INPUT 2-INPUT 4-INPUT
AND GATE OR GATE MULTIPLEXER
I O A A A
O O
B B B
C O
I O A B O A B O
1 0 0 0 0 0 0 0 D
0 1 0 1 0 0 1 1 S0
S1
1 0 0 1 0 1
1 1 1 1 1 1 S0 S1 O
0 0 A
0 1 B
1 0 C
 Algèbre booléenne 1 1 D

 Minimisation (tables de Karnaugh)


Logique combinatoire III

 Unité arithmétique et logique (ALU)

M S1 S0 F
0 0 0 A
0 0 1 A•B
logique A B
0 1 0 A
0 1 1 A+B M
S F
1 0 0 A-1 2
1 0 1 A+B
arithmétique
1 1 0 A-B
1 1 1 A+1
Logique séquentielle I
 Verrou (latch)

0
D Q
Q
Q LD Q
D 1
D: entrée d’excitation
LD: entrée de contrôle
LD Q: sortie ou état du latch
 Bascule (flip-flop)
maître esclave
D D Q D Q Q
D Q

LD Q LD Q Q CK
Q
CK
Logique séquentielle II
 Machine d’état

10/1
n état
ƒ bascules X1X2/Z
état présent a
futur 0001
11/1 10/1
00/0 01/0
00/0
d b
CK 11/1 1000
10/0 01/0 0010 00/1

11/0
10/0 11/0

01/1 c 00/1
0100

01/1
Logique séquentielle III
Registre Registre à décalage

CK Q3 Q2 Q1 Q0 CK Q3 Q2 Q1 Q0
S0
L D3 D2 D1 D0 S1 D3 D3 D2 D1 D0 D0

Pile (stack)
Compteur push pop

CK Q3 Q2 Q1 Q0

DIR CK sommet
Niveau registre
 Unité d’information: mot (2N bits)
 Composants de base: multiplexeurs, décodeurs,
additionneurs, ALUs, registres, registres à décalage,
compteurs, etc.
 Pas de méthode formelle pour les optimisations et les
simplifications.
 L’algèbre booléenne peut être adaptée, mais ne suffit pas
(opérations numériques).
Niveau processeur (CPU)
 Unités d’information: blocs d’instructions, blocs de
données.
 Composants de base: mémoire cache, datapath, décodeur,
bancs de registres, unité flottante.

Cache Unité de CPU Unité de Cache


Instructions Contrôle Traitement Données
Décodeur
ALU
Unité
PC Flottante

Registres
Niveau système
 Unités d’information: programme, structures de données.
 Composants de base: mémoire, CPU, I/O, bus système

MÉMOIRE CPU
IO IO IO
•••••

BUS SYSTÈME

 I/Os “standard”: cartes SCSI et/ou IDE, clavier, souri,


haut-parleurs, etc.
 La vitesse du bus système devient le facteur prédominant
pour la performance d’un ordinateur.
Von Neumann vs. Harvard
 Von Neumann
MÉMOIRE CPU
IO IO IO
•••••

BUS SYSTÈME
 Harvard
BUS INSTRUCTIONS

MÉMOIRE MÉMOIRE
DONNÉES INSTR CPU IO IO IO • • • • •

BUS DONNÉES
Hiérarchie des mémoires
▪Architecture Von Neumann
Mémoire Mémoire Mémoire Mémoire Registres
non-volatile volatile cache cache CPU
(disque dur) (RAM) (niveau 2) (niveau 1) (niveau 0)
▪Architecture Harvard
Mémoire Cache Cache
volatile instructions instructions
Mémoire instructions (niveau 2) (niveau 1)
non-volatile
(disque dur) Mémoire Cache Cache Registres
volatile données données CPU
données (niveau 2) (niveau 1) (niveau 0)
▪Architecture Harvard “réelle”
Cache
instructions
Mémoire Mémoire Mémoire (niveau 1)
non-volatile volatile cache
(disque dur) (RAM) (niveau 2) Cache Registres
données CPU
(niveau 1) (niveau 0)

Vous aimerez peut-être aussi