Micro-instructions

Signaler
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020
-
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
-
Bonjour, j'aimerais savoir comment fonctionne une multiplication de deux nombre entier naturel dans deux registres dictincts en micro instruction (c'est à dire avec les 22 signaux)

6 réponses

Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
bonjour, de quel type de signaux s'agit-il?
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702 >
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

bizarre.
tu écris d'abord "il faut passer par plusieurs addition dans l'ual et avec des décalages a gauche pour trouver le résultat".
et ensuite "je vois pas comment faire pour la multiplication".
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020
>
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020

Je voulais dire que c'est mon hypothèse. Selon moi, pour faire la multiplication il faut faire une succession d'addition mais je ne sais pas si cela est la bonne méthode ou s'il y en a autre plus optimisé
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702 >
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

cela dépend: à quelle succession d'additions penses-tu?
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020
>
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020

Si par exemple je prends a=5 et b=7, je vais additionner le premier bit de 5 en binaire (00101)avec 7 puis faire un décalage à gauche pour la prochaine addition qui sera avec le deuxième bit de 5 ainsi de suite pour tout additionner à la fin mais le problème j'arrive pas à l'exprimer en micro instruction
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702 >
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

ta description est un peu floue, pourquoi ne pas montrer les calculs?
pourquoi veux-tu l'exprimer en micro instructions? as-tu déjà fait des exercices plus simples?
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

Parce qu'il m'ai demandé de le faire en micro instruction et justement je ne vois comment faire, je sais calculer en binzire je connais le résultats juste je n'arrive pas à exprimer en micro-instruction. Oui j'ai déjà fais A+B soit micro
instruction 1 : signal 1, signal 13
Instruction 2:signal 2, signal 6, signal 11

À la fin j'ai stocké lavaletur de A+B dans C
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
avant de l'exprimer en micro instructions, il faut l'exprimer, l'écrire, comme un algorithme.
pour t'aider à faire cela, je t'invite à écrire la séquence des calculs que tu ferais pour 5 * 7.
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

Pour A=5 et B=7 on aura :
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
bien. je pense toutefois qu'il y a une ligne en trop. par ailleurs, cela consomme inutilement de la mémoire pour retenir les montants qui sont additionnés à la fin.
de plus 7 n'est pas un bon exemple, car il contient une seule séquence de bits à 1.
maintenant, refais la même chose, mais en décrivant chaque opération effectuée.
si tu connais un langage de programmation, tu pourrais l'écrire dans ce langage.
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

Comme cela ? Mais je me demande comment le programme pourra savoir que dans ce cas mas 7 à 4 bits
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
ne peux-tu pas partager du texte plutôt que des images?
je ne peux pas lire le more à la dernière ligne?
c'est quoi N?
ce serait bien de ne pas utiliser de multiplication
cela représente quoi ce que tu as écrit entre parenthèses?
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

Je vais reecrire:
Pour i allant de 0 à 3
Faire A*Bi - >R
R->R(Ri+1*2^0)
Return R
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
ce serait bien de ne pas utiliser de multiplication
cela représente quoi ce que tu as écrit entre parenthèses?
que fait la troisième ligne de code?
Messages postés
13
Date d'inscription
lundi 21 septembre 2020
Statut
Membre
Dernière intervention
22 septembre 2020

Entre parenthèse j'ai mis que j'aditionne le résultat BO avec B1 ainsi de suite.
Du coup je remplace par une adition la multiplication ?
La troisième ligne mets dans une variable l'addition du r précédent avec le nouveau r
Messages postés
12643
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 octobre 2020
702
je ne comprends pas ta notation. supposons que c'est correct.
dans le calcul en #12, as-tu utilisé la multiplication?
peux-tu montrer comment tu appliques cela à 5*6? ce sera une façon de vérifier si cela peut fonctionner ainsi.