Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1
Exemple ce conversion
Exercice 1
Coder X= -54.625 en utilisant le mécanisme IEEE 754
Exercice 2
Coder X = +11,25 en utilisant le mécanisme IEEE 754
Exercice 3
Coder −118,625 en utilisant le mécanisme IEEE 754.
MULTIPLEXEUR 2 VERS 1
Un opérateur booléen ternaire (c?a:b) en langage C
( simple exemple dans l’immédiat, puis primitive de base pour les BDD )
MUX(c , a, b ) = a si c = 1 c : Commande
MUX(c , a, b ) = b si c = 0 a et b : données multiplexées
c C : bus
A 3
a 1 S=A si c=3
= a si c = 1 B 2 S
S S=B si c=2
= b si c = 0
b 0 C 1 S =C si c=1
D 0 S =D si c=0
Mémoire élémentaire
• Entrées :
➢ .........................................................................
D : état à mémoriser (Data)
D Q
➢ CLK : horloge de synchronisation
.........................................................................
/Q • Sorties :
CLK
➢ Q : sortie principale
.........................................................................
➢ /Q : sortie complémentée
.........................................................................
2
Mémoire élémentaire
Déterminer tous
les fronts actifs de
Bascule D : un exemple l'horloge
Déterminer les états sur D
pour tous les fronts
CLK
Q
Déterminez l'état des
sorties
/
Q
REGISTRES SIMPLES
Registre à décalage
si S=0, hold
si S=2, load
si S=1, Shift Left ( <<1 )
si S=3, Shift Right ( >>1 )
3
BANC DE REGISTRES
Exemple: 8 registres 32 bits
En sortie :
2 multiplexeurs
8 vers 1
Décodeur 1 parmi 8 un numériques (32 bits)
seul signal load à 1,
les autres à 0
10
11
Commande du bancs
de registres
12
4
MÉMOIRES
1 byte
0xFFFF 1 byte
216-1= 65535
232-1= 4294967295 0xFFFFFFFF
…
…
Continue : Data
…
0 0x0000
0 0x000000000
Adresses
13
ES102
LECTURES & ECRITURES EN MÉMOIRE CM 10
https://www.youtube.com/watch?v=YrbVML_jO98
https://www.youtube.com/watch?v=te5Xe3TgPC4
14
Commande de l’ALU
Opération demandée
Etat de sortie
15
5
CHEMIN DE DONNEES 32 BITS + MEMOIRES
16
PC
adresse -----------
Mémoire
d’instructions
4
0
+ 0
1
1
adresse 32
Instruction lue Donnée écrite
Mémoire de
Unité de 32
control
Valeur immédiate données
6 0
Registres Adresse
1
RI Op rs rt rd ……. ALU
lu2 Donnée lue
5
lu2 lu1
RI: Registre
d’Instruction lu1
r: reg
0 32
écrire
d: dest. 0 1
écrit
s: source 1
t: source/dest.
Op: Code UAL: Unité Arithmétique et Logique 17
operatoire
TYPES D’INSTRUCTION
Opération sur les données :
– addition, soustraction, multiplication
– opérations logiques + versions immédiates
(valeur d’un opérande
– décalages, tournant ou pas dans instruction au lieu
Transferts de données : d’être dans registre)
– de registre en registre ex : addi Rx Rx 1
incrémentation
– de registre vers mémoire (écriture, store) du contenu de Rx
de mémoire vers registre (lecture, load)
Gestion de séquencement :
– branchements inconditionnels et conditionnels (jump, branch)
– appel et retour de sous-programme (call, return)
18
6
DEROULEMENT D’UNE INSTRUCTION
Exemple : addition des contenus des registres Rx et Ry et chargement
du résultat dans Rz
1. Chargement de l’instruction notée add Rz Rx Ry en langage
assembleur, de la mémoire vers le registre d’instruction (RI)
2. Décodage de l’instruction :
Reconnaissance de l’instruction «add» dans le RI, dont le format
comporte 3 numéros de registres
Numéros x et y pour sélection en lecture des registres Rx et Ry
Numéro z pour sélection en écriture du registre Rz
3. Exécution de l’instruction
Sélection en lecture de Rx et Ry et aiguillage vers ALU
Configuration ALU pour addition
Aiguillage du résultat vers Rz, autorisé en écriture
19
Mémoire de
Unité de 32
control
Valeur immédiate données
6 0
Registres Adresse
1
RI Op rs rt rd ……. ALU
lu2 Donnée lue
5
lu2 lu1
RI: Registre
d’Instruction lu1
r: reg
0 32
écrire
d: dest. 0 1
écrit
s: source 1
t: source/dest.
Op: Code UAL: Unité Arithmétique et Logique 20
operatoire
IF THEN ELSE
Compilateur C Code assembleur
.c .asm
Etiquette représentant
l’adresse de l’instruction
21
7
SOUS-PROGRAMMES
22
Hierarchy of Computation
Programming in Compiler/Assembler/
Problem Algorithms
High-Level Language Linker
Target Machine
Micro-architecture
(one implementation)
System architecture
Functional units/
Building blocks
Gates Level
Design
Transistors Manufacturing
23
Hierarchy of Computation
Programming in Compiler/Assembler/
Problem Algorithms
High-Level Language Linker
Target Machine
Micro-architecture
(one implementation)
System architecture
Functional units/ Human Level
Building blocks
System Level
8
Hierarchy of Computation
Programming in Compiler/Assembler/
Problem Algorithms
High-Level Language Linker
Target Machine
Micro-architecture
(one implementation)
System architecture
Functional units/ Human Level
Building blocks
Our Focus System Level
Abstraction Layers
Application
Software
Compiler
Operating System
Assembler
Linker Loader Scheduler Device Drivers
Instruction Set Architecture (Interface SW/HW)
Processor Memory I/O System
Hardware
Classes of Computers
Desktop / Notebook Computers
General purpose, variety of software
Subject to cost/performance tradeoff
Server Computers
Network based
High capacity, performance, reliability
Range from small servers to building sized
Embedded Computers
Hidden as components of systems
Stringent power/performance/cost constraints
27
9
The Processor Market
Millions of Units
28
Processor
General Concepts
29
Address Space
30
10
Address Space
0xFFFFFFFF
I/O Reg
I/O
I/O Reg
Processor
Data
Memory
Code
0x00000000
31
0xFFFF
0xFFFFFFFF
I/O Reg
Data
Code
Processor
Data
I/O Reg
0x0000 Code
0x00000000
I/O Address Memory
Space Address
Space
32
33
11
von Neumann Architecture
Processor Code
34
35
36
12
CISC Vs. RISC
CISC RISC
Rich instruction set Simple instruction set
38
• Switching power
The is the power dissipated by
charging and discharging the gate
output capacitance CL.
The energy per output transition is:
• Short-circuit power
• Leakage power.
39
13
Low Power Circuit Design
Low-power Strategies
Minimize Vdd
Exploit parallelism
40
41
UC Performance
Problem Statement
Suppose a program (or a program task) takes 1 billion instructions
to execute on a processor running at 2 GHz. Suppose also that
50% of the instructions execute in 3 clock cycles, 30% execute in 4
clock cycles, and 20% execute in 5 clock cycles. What is the
execution time for the program or task?
42
14
Solution :
instruction count = 109
43
44
instruction-level parallelism
A simple example
Because steps 1 and 2 of the sequential operation are independent
of each other, a processor employing instruction-level parallelism can
run instructions 1.A. and 1.B. simultaneously and thereby reduce the
operation cycles to complete the operation by 33%.
The last step must be executed sequentially in either case, however,
as it is dependent on the two prior steps.
45
15
Thread-Level Parallelism
Thread-level parallelism (or TLP), involves executing individual task
threads delegated to the CPU simultaneously
16