Professional Documents
Culture Documents
9 - CPU - Uc
9 - CPU - Uc
Introduction aux
microcontrôleurs
Mounir Boukadoum
Mémorisation
Étapes
d’exécution
(programme)
Accumulateur
de résultats
Sortie des
données
• Pour être réalisés avec des circuits logiques, programme et données
doivent être encodés dans un format reconnu par les circuits => 1 et 0 !
1
2
Commutateur :
Adresse en
1 : Lire entrée et mettre en mémoire mémoire
2 : Lire code d`instruction en mémoire
Architecture de Harvard
A A
Entrées/ Unité
Programme D sorties Arithmétique et D
Données
logique (x2)
Mémoire morte
ROM, EPROM,
EEPROM Port de sortie ÉCRAN
CPU
(Unité centrale Port de sortie IMPRIMANTE
Mémoire vive de traitement)
RAM
UC Ligne téléphonique
(Unité centrale)
M
O
Écran Imprimante D
E
M
UC +
Disques
Clavier
Modem
externe
Desktop
(Intel Pentium D
3GHz, Nvidia 7900)
VAIO Z46TD
(Intel Core 2 Duo P9700 2.8GHz)
P ort P ériphérique
CP U
P ort P ériphérique
(Microprocesseur)
Microcontrôleur
Port Périphérique
Mémoire
Port Périphérique
Mémoire
Port Périphérique
CPU
Port Périphérique
B us de données
M ém oire
A lim entation B us de contrôle
CPU
Horloge
M ém oire
Interrupt P ort
P ériphérique
• Trois bus
fondamentaux
Interrupt
P ort
P ériphérique
• Certains/tous les
bus sont
accessibles de
l’extérieur
• 50 $
• Trois étapes :
1. Génération de l’adresse
sur le bus de données;
2. Spécification du mode
d’accès (ligne commune
r/w ou lignes rd et wr)
3. Lecture/écriture vers ou
à partir du bus de
données
FLAGS
R0
R1
R2
R3
FFFFh
Registers Memory
DEVICE
blank device PROGRAMMER
Target ADuC7026
Device HEX JTAG
ULink JTAGPOD
Pod
computer Simulator
Simulator conversion
Device Target
ADuC7026
Programmer Hardware
hardware
Reset_Handler
LDR PC, aLoop ;load PC with program start address
Loop
LDR R0, aPort ;load address of port
LDR R1, [R0] ;read switch state
LSL R1, #8 ;shift left 8 bits to align
MVN R1, R1 ;complement
STR R1, [R0] ;write LEDs
NOP ;do nothing
B Loop ;repeat forever
END
Fichier objet
exécutable
• Charge le fichier objet exécutable en mémoire
« loader » pour exécution par la machine cible
Machine cible
Traduit et adapté de l’anglais
43
Langages de haut niveau
Langage
Java
Finissent tous en
code machine ! Code
assembleur
Rom, Ram,
Code machine “Firmware” fixe
Contraintes souvent
contradictoires étant
données les ressources