0% ont trouvé ce document utile (0 vote)
115 vues3 pages

Caractéristiques et programmes d'un µP

Ce document contient la correction d'un TD sur l'architecture d'un microprocesseur. Il présente les caractéristiques du microprocesseur, donne les mots de contrôle pour chaque instruction, détaille un programme assembleur avec son contenu mémoire correspondant et son chronogramme d'exécution. Il propose également des exercices demandant de compléter des programmes assembleur.

Transféré par

Lafandi /لفندي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
115 vues3 pages

Caractéristiques et programmes d'un µP

Ce document contient la correction d'un TD sur l'architecture d'un microprocesseur. Il présente les caractéristiques du microprocesseur, donne les mots de contrôle pour chaque instruction, détaille un programme assembleur avec son contenu mémoire correspondant et son chronogramme d'exécution. Il propose également des exercices demandant de compléter des programmes assembleur.

Transféré par

Lafandi /لفندي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

EPI Digital School 3ième Génie Info

AU : 2023-2024

Architecture des systèmes à microprocesseur et des microcontrôleurs


TD N°3 : µP – Basique-Correction
Nombre de pages : 4

Exercice 1 :
L’étude de cette partie porte sur le µP dont l’architecture du chemin de données et le jeu
d’instructions sont présentés dans l’Annexe :
1. Donnez les caractéristiques suivantes de ce µP.
Taille du bus de données : …8bits…………………………...……………………………………….
Taille du bus d’adresses : ……5bits.……………………...………………………………….……….
Taille du code opération : .…… 3bits …………………………...…………………………………….
Taille du code opérande : ..…… 5bits ………………………...…………………………………….
Taille du compteur Programme : …5bits..…………………...……………………………………….
La capacité de la mémoire adressable : .32octets………...…...……………………………………….
2. Donnez le mot de contrôle pour chacune des instructions de ce µP.
Instruction IRload JMPmux PCload Meminst MemWr Asel1,0 Aload Sub Halt

Fetch 1 0 1 0 0 00 0 0 0

Decode 0 0 0 0 0 00 0 0 0

LOAD A, address 0 0 0 1 0 10 1 0 0

ADD A, address 0 0 0 1 0 00 1 0 0

SUB A, address 0 0 0 1 0 00 1 1 0

JZ address 0 1 Aeq0 0 0 00 0 0 0

JPOS address 0 1 Apos 0 0 00 0 0 0

HALT 0 0 0 0 0 00 0 0 1

3. Soit le programme suivant permettant le décomptage de n jusqu'à 0. Avec « n » une entrée


externe, et « @un » l’adresse mémoire d’une case contenant la valeur « 1 ».

In A
loop: Sub A,@un
jz fin
jp loop
fin : halt

Donnez le contenu de la mémoire (codes machine + données) pour ce programme assembleur,


sachant que le programme est placé à partir de la case N°0.

1/4
Adresse de la Contenu de la case mémoire Instruction
case mémoire
00000 100 00000 In A
00001 011 11111 Sub A,@un
00010 101 00100 jz fin
00011 110 00001 jp loop
00100 111 00000 Halt

11111 00000001 un

4. Complétez le chronogramme suivant pour le programme de la question précédente.


Clock

Reset

State Start Fetch Decode IN A Fetch Decode Sub Fetch Decode JZ Fetch Decode JP Fetch Decode

IRopcod 000 100 011 101 110 011

Input_A 3

Output_A 0 3 2
Aeq0
Aneq0

Halt

5. Soit le programme suivant en code machine, placé dans la mémoire.


A) Complétez le programme assembleur correspondant.
Adresse code code
Mémoire machine assembleur

00000 : 00011101 load A,one


00001 : 01111101 sub A,one …………………………………………………………………
00010 : 00111110 store A,sum
00011 : 10000000 in A …………………………………………………………………………………
00100 : 00111111 store A,n
00101 : 00011111 load A,n ……………………………………………………………………
00110 : 01011110 add A,sum ………………………………………………………………………
00111 : 00111110 store A,sum…………………………………………………………………
01000 : 00011111 load A,n ……………………………………………………………………
01001 : 01111101 sub A,one………………………………………………………………………
01010 : 00111111 store A,n ……………………………………………………………………
01011 : 10101101 jz 01101……………………………………………………………………
01100 : 11000101 jpos 00101………………………………………………………………
01101 : 00011110 load A,sum ……………………………………………………………………
01110 : 11111111 HALT …………………………………………………………………………………

11101 : 00000001 -- one


11110 : 00000000 -- sum
11111 : 00000000 -- n

b) Quel est le rôle de ce programme

2/4
……Calculer la somme des nombres n, n-1, n-2, …, jusqu’à 1……………………………………..
………………………………………………………………………………………………………..
………………………………………………………………………………………………………..
………………………………………………………………………………………………………..
6. Ecrire un programme assembleur permettant de saisir deux nombres et de faire sortir le MAX.
in A ;AInput ……………………………………………………..……………
store A,n1 ;n1A……………………………………………………………..…………
in A ;AInput ………………………………………………………..…………
store A,n2 ;n2A ……………………………………………………………..…………
sub A,n1 ;AA-n1 ⇒ An2-n1…………………………………………..…………
jpos n2Max ;if A>0 jump to n2Max (n2 is the MAX)………………….………………
load A,n1 ;else (A<0) An1 (n1 is the MAX : Display n1)………………………
jpos fin; ;Jump to fin………………………………………………………..…………
n2Max : load A,n2 ;n2 is the MAX : An2 (Display n2)…………………………..…………….
fin : halt………………………….…………………………………………………..………….
n1………………………………………………………………………………………..……………
n2……………………………………………………………………………………………………..
………………………………………………………………………………………………………..

7. Ecrire un programme assembleur permettant de continuer à saisir des valeurs jusqu’à avoir un 0
en entrée, puis il fait sortir le nombre de valeurs saisies.
load A,one ;A1……………………………………………………………………..
sub A,one ;AA-1 ⇒ A0…………………………………………………………..
store A,nbr ;nbrA ⇒ nbr0…………………………………………………………..
loop : in A ;AInput……………………………………………………………………..
jz disp ;if A=0 then show total numbers (Jump to disp)…………………………..
load A,nbr ;else Anbr…………………………………………………………………..
add A,one ;AA+one…………………………………………………………………..
store A,nbr ;nbrA ……………………………………………………………………..
jpos loop ;if A>0 then loop to input other numbers……………………………………..
disp : load A,nbr ;Anbr ……………………………………………………………………..
halt ………….………………………………………………………………………………..
one : 1………………………………………………………………………………………………..
nbr ………………………………………………………………………………………………..

3/4

Vous aimerez peut-être aussi