Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Pic et registre



  1. #1
    f6bes

    Pic et registre


    ------

    Bjr à tous,
    J'essaie de comprendre comment fonctionne un Pic en ASM (assembleur).
    Mémoire programme: je vois
    Mémoire Ram: je vois
    Horloge : je comprends aussi
    UA: je me doute un peu .

    Mais les registres, quelles est leur fonction ?

    J'ai cru comprendre qu'en ASM on lisait et écrivait dans certains registres.
    La question que je me pose, c'est qu'apparemment les regitres dans un PIC on les comptent sur les doigts des deux mains (en gros).
    Donc je suppose que lorsque on écrit en ASM et vue le peu de nombre de registres faut "vérifier" en permanence que la place n'est pas déjà occupée.Auquel cas faut mettre cette donnée (existante) en mémoire pour laisser la place à celle qu'on veut mettre dans ce registre.
    Dés que l'on en a fini et "utilisé" cette nouvelle donnée, soit on rapatrie celle mis précédemment en mémoire, soit on laisse la place libre pour une nouvelle donnée "arrivante" éventuelle.
    Je ne sais si ma vision des choses est bonne, mais dans l'affirmative on passe son temps à "jongler" avec les registres.Je trouve cela un peu lourd !Le basic, lui ,fait oublier tout cela.
    Qu'en est il au juste ? (pas facile à "tordre" cette programmation! du moins pour moi)
    Merci pour vos futures réponses.

    Cordialement

    -----

  2. Publicité
  3. #2
    abracadabra75

    Re : Pic et registre

    Bonjour f6bes.
    Les accumulateurs ne sont pas des dispositifs propres aux pics. On en trouve sur tous les processeurs.
    Un registre est une zone de l' ALU (unité arithmétique et logique), en logigique câblée; ceci est une des caractéristiques d' un registre, car de ce fait, son accès est très rapide. Comme cette zone sert principalement à stocker des calculs (aussi bien internes que programmés) ou de base d' adressage, la vitesse d' exécution est bien plus rapide que si on était obligé de passer par une zone de mémoire, ROM en général ou PROM d' accès bien plus lent.
    Les processeurs modernes possèdent d' ailleurs souvent plusieurs accumulateurs, certains accessible à la programmation, et d' autres strictement réservés au fonctionnement interne.
    Par exemple: une multiplication pour un processeur, n'est pas la multiplication au sens trivial du mot mais une succession controlée d'itérations d' additions, le registre contenant la somme finale.
    Pour le programmeur, c'est un cas transparent.
    Au moyen d'un registre, tu peux facilement adresser un emplacement dans un tableau: tu mets l' adresse du début de tableau dans le registre, puis tu lui ajoutes le 'déplacement' ce qui donne l' adresse de la case que tu veux atteindre; c'est une technique utilisée par exemple pour rechercher un caractère dans une chaîne.

    Si tu utilises un langage autre que l' assembleur, l' utilisation des registres est masquée, mais il est très vraisemblable que l' ulilisation d' une boucle 'DO' ou 'FOR'
    fera appel a un registre, sans que tu aies à t' en préoccuper.
    De par mon ancien métier, je pratiquais quotidiennement l' assembleur, et actuellement encore, je trouve (mais c'est strictement personnel car mon métier m' a surement déformé) qu' il est aussi aisé d' utiliser l'assembleur qu' un langage dit de haut niveau. L' inconvénient est que chaque famille de processeurs a son assembleur, et que si tu changes de proc. il faut changer d' assembleur. (Celui des pics me donne des boutons, mais encore là c'est très personnel).
    Mais l' utilisation de tel ou tel langage est un autre débat, relevant le plus souvent du passionnel...

    Résumons: registre: zone interne transitoire d'accès rapide, pour calculs ou adressage.

    En espérant avoir éclairé un peu ta lanterne.
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  4. #3
    freepicbasic

    Re : Pic et registre

    la réponse d'abracadabra75 est correct mais généraliste.

    Le pic ne possède qu'un seul vrai registre "ALU" c'est W pour Work.
    Correspondant à 1 bit dans le code.
    (Pour les 18f le Wreg existe aussi maintenant en RAM.)

    Les autres registres sont en fait une partie de RAM.

    Un registre processeur à des fonctions spécifiques, et correspondent généralement à des instructions.

    Le pic à la particularité de considéré toute sa "petite" RAM comme des registres, les instructions relatifs aux registres sont donc les mêmes.
    Les opérations logiques et arithmétique y compris.
    On spécifie donc W ou F , le fameux bit du code soit le reg W ou la RAM.

    Les registres non spécialisés sont appelés "général purpose register" c'est la RAM réelle.
    Les autres ont des fonctions spécifique comme les plus utilisés les PORT par exemple il correspondent à l'adresse RAM 5;PORTA 6;PORTB 7;PORTC ...
    en fait lorsqu'on fait une action sur les pins on lit et écrit à ces adresses.
    A+, pat

  5. #4
    f6bes

    Re : Pic et registre

    Bsr à vous deux,
    Bon, mes suppositions n'ont donc rien à voir avec le fonctionnement de ces bébétes (mais c'est pas pour autant plus "assimilé" pour moi.)
    Il est sage parfois de se contenter de son savoir (c'est qu'ils veulent plus rien faire ces neurones en retraite).
    Le basic ça me cause , j'en resterais donc là pour les
    petits amusements.
    Merçi encore à vous deux.

  6. A voir en vidéo sur Futura
  7. #5
    Gérard

    Re : Pic et registre

    Bonjour,
    http://www.picbasic.org/proton_lite.php
    Pour du Basic, tu peux télécharger une démo.
    Le compilateur Proton+ peut être acheté ici http://www.selectronic.fr/recherche_produit.asp
    Si tu veux la doc, (400 pages), je peux te l'envoyer par MP.

Discussions similaires

  1. pic: afficher registre w
    Par Jack dans le forum Électronique
    Réponses: 11
    Dernier message: 24/12/2006, 17h36
  2. PIC: Registre de travail W
    Par marc.suisse dans le forum Électronique
    Réponses: 10
    Dernier message: 04/09/2006, 22h03
  3. Registre Incon Et Intermask Pic 16f84
    Par alainav1 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/10/2005, 22h13
  4. Base de registre
    Par JPL dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 04/09/2005, 00h17
  5. registre d'enzyme
    Par scientist dans le forum Biologie
    Réponses: 8
    Dernier message: 13/12/2004, 21h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.