Vous êtes sur la page 1sur 3

CPU RAM

PC GPRs

ALU R/W

SR
IR

MBR
MAR

Von Neumann architecture

Microprocesseur : On trouve le processeur est dans un bus et la RAM dans un bus différent, on
l’utilise lorsqu’on traite des grands programmes.

Microcontrolleur : Le CPU et la RAM sont dans le même Bus, c’est ce qu’on appelle Harvard
Architecture.

PC (Program Counter) :il pointe sur l’instruction suivante.

IR(Instruction Register) : il contient des instructions.

ALU(Arithmetic Logic Unit) : ensemble des circuits de manipulation arithmétiques et logiques.

MAR : on met les adresses dedans.

MBR : on met la donnée dedans.

SR (Status Register) : registre d’état du processeur.

GPRs(General purpose Register) : il contient des données seulement qui sont en cours d’exécution.
On écrit avec C et non Assembleur, pourquoi ?
Au niveau C, il cache les mouvements(MOVE), donc on doit concentrer sur notre problème et on
n’intéresse pas au mouvement (Problème Extra).

Lorsqu’on éloigne à la machine on concentre bien sur notre problème, mais le point négatif c’est que
l’exécution devient lente.

Exemple : (En assembleur)

C=A+B

L1: MOVE A, R1

MOVE B, R2

ADD R1, R2

MOVE R1, C

JUMP L1

Programers Model :

(MOVE A, R1)

1. PC MAR , PC=PC+1 ;
2. Set R/W =1 , Après TRAM
” MOVE A, R1” MBR
3. MBR IR
Decode instructions
4. @A MAR
Set R/W =1 , Après TRAM
MBR A
5. MBR R1

(MOVE B, R2)

1. PC MAR , PC=PC+1 ;
2. Set R/W =1 , Après TRAM
” MOVE B, R2” MBR
3. MBR IR
Decode instructions
4. @B MAR
Set R/W =1 , Après TRAM
MBR B
5. MBR R2

(ADD R1, R2)

1. PC MAR , PC=PC+1 ;
2. Set R/W =1 , Après TRAM
”ADD R1, R2” MBR
3. MBR IR
Decode instructions
4. Après TADD
R1 R1+R2

(MOVE R1, C)

1. PC MAR , PC=PC+1 ;
2. Set R/W =1 , Après TRAM
” MOVE R1,C” MBR
3. MBR IR
Decode instructions
4. @C MAR
R1 MBR
5. Set R/W =0 , Après TRAM
C MBR

(JUMP L1)

1. PC MAR , PC=PC+1 ;
2. Set R/W =1 , Après TRAM
MBR “JUMP L1”
3. MBR IR
Decode instructions
4. PC L1

Cycle d’instruction : FI : Fetch Instruction

FI DI FO EI CI DI : Decode Instruction

FO : Fetch Operate

EI: Execute Instruction

CI: Check Interrupt

Vous aimerez peut-être aussi