Systèmes à microprocesseurs
1. Pn : Périphériques d’entrées
III) Microcontrôleur:
A retenir
Si la fonction à réaliser est simple ⇒ une logique câblée
Si le nombre d'unités à réaliser est très important ⇒ circuits intégrés dédié en logique câblée pour
les fonctions simples.
2. Le processeur
Le processeur lit et écrit des informations en mémoire
Il peut de plus effectuer des opérations arithmétiques et logiques
Chaque action qu’il peut effectuer est appelée instruction
Les instructions effectuées par le processeur sont stockées dans la mémoire.
Il dispose d’un petit nombre d’emplacements mémoire d’accès plus rapide, les
registres.
Un registre spécial nommé pc (program counter) contient l’adresse de la prochaine
instruction à exécuter De façon répétée le processeur :
1 lit l’instruction stockée à l’adresse contenue dans pc
2 l’interprète ce qui peut modifier certains registres (dont pc) et la mémoire
On utilise des langages dits de plus haut niveau qui est eux-mêmes traduits
automatiquement en assembleur par un autre programme :
4. Assembleur
Un langage d'assemblage ou langage assembleur ou simplement assembleur par abus de
langage, abrégé ASM est, en programmation informatique, un langage de bas niveau qui
représente le langage machine sous une forme lisible par un humain. Les combinaisons de bits
du langage machine sont représentées par des symboles dits « mnémoniques » ; c'est-à-dire
faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine
en vue de créer par exemple un fichier exécutable.
Remarque
Un langage assembleur est souvent spécifique un type de processeur.
À retenir
5. Assembleur MIPS
MIPS (de l'anglais Microprocessor without interlocked pipeline stages) est une :
Architecture de microprocesseur de type RISC.
Sorti dans les années 1980, utilise jusqu’au début 2000 (PlayStation 2).
utilise en informatique embarquée.
Exemple MIPS
On y trouve :
₋ des mots clefs : .data, .word, .text
₋ des instructions : lw, la, add, addi, bge ...
₋ des registres : $t0, $t1, $t2
₋ des étiquettes qui correspondent à des dresses : vars, saut, exit
Les commentaires:
Les commentaires permettent de donner plus d’explication sur le code
Ils commencent par un # ou un ; et s’achèvent à la fin de la ligne courante.
Exemple :
# Ceci est un commentaire
; Ceci est un commentaire
4.2.3. Déclaration de données:
Les données (constantes et variables) doivent être déclarées dans « .data » section.
Le format général de la déclaration d’une donnée est:
« nom de variable »: .« type de donnée » « valeur initiale »
Exemple :
Le “type” .space indique simplement que l’on réserve le nombre d’octet indiques (sans les
mettre à zéro).
Système à Microprocesseur BAHRIA NOURHENE
4.2.4. Instructions
Chargement (load)
Exemple
Sauvegarde (store)
store word sw
store halfword sh
store byte sb
move move
Système à Microprocesseur BAHRIA NOURHENE
Instructions de calcul
Additions / Soustraction
Multiplications / Division
Système à Microprocesseur BAHRIA NOURHENE
neg - negatif –
neg S1, S0 # Donne le contraire de S0. Le résultat est placé dans le registre S0.
S0= -(S1)
Operations logiques
Système à Microprocesseur BAHRIA NOURHENE
Comparaisons
Décalages
sll - Shift Left Logical -
sll S0, S1, CONST
Décalage à gauche immédiat
• Le registre S1 est décalé à gauche de la valeur immédiate CONST.
• Des zéros étant introduits dans les bits de poids faibles.
• Le résultat est placé dans le registre S0.
srl - Shift Right Logical -
Instructions de Saut
Les opérations de Saut (Jump) et de Branchement (Branch)
• Les structures de contrôles comme le IF..THEN..ELSE, WHILE et FOR n’existent pas en
langage d’assemblage.
• Pour les programmer, il faut utiliser les instructions de sauts et de branchements.
• Ces instructions sont de type conditionnel ou inconditionnel.
Sauts conditionnels
beq r1, r2, adr si les contenus des registres r1 et r2 sont égaux, saute à l’adresse adr
Système à Microprocesseur BAHRIA NOURHENE
Sauts inconditionnels
Appels système
MIPS permet de communiquer avec le système de façon simple par la commande syscall.
La fonction utilisée est déterminée selon la valeur de $v0.
Système à Microprocesseur BAHRIA NOURHENE
Exemple