les PICs
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

les PICs



  1. #1
    invitefa15af9f

    les PICs


    ------

    bonjour à tous
    pourquoi l'horloge fournie au PIC est pré divisée par 4??
    merci d'avance

    -----

  2. #2
    invite7a39c3be

    Re : les PICs

    Si je me souvient bien c'est une question de fonctionnement interne. C'est 4 cycles pour une instructions de base, je crois bien.

  3. #3
    invitefa15af9f

    Re : les PICs

    merci pour votre réponse
    Mais si on prend le 16F84, chaque instruction est exécutée en un seul cycle d'horloge, et pourtant il y a division par 4 de la fréquence???

  4. #4
    invite7a39c3be

    Re : les PICs

    Oui un cycle interne mais il faut 4 cycles de l'oscillateur pour un cycle interne. Ca tu peux pas faire autrement. C'est qqch comme ça je peux pas exactement te dire pourquoi mais ça tourne dans cette idée. Peut-etre qqun a l'explication exacte. Au pire tu trouvera l'info dans la datascheet, mais faut prendre le temps de chercher, elle est pas petite

  5. A voir en vidéo sur Futura
  6. #5
    invite092cb13c

    Re : les PICs

    Bonjour
    Cela tient à l'architecture du pic.
    De memoire, dans le premier cycle, le "program counter" est incrementé, dans le second cycle l'instruction (le code) est lu dans la memoire flash, au cycle 3, l'instruction est executée et au cycle 4 le resultat est copié dans le/les registres concernés.
    Si au cycle 3, l'instruction est un saut, on doit modifier le "program counter" et donc cela prend 4 cycles de l'oscillateur.

    Gilles

  7. #6
    invitefa15af9f

    Re : les PICs

    merci pour vos réponses

  8. #7
    invitefa15af9f

    Re : les PICs

    s'il vous plait,une autre quesion.
    dans n'importe quel programme dans MPLAB, au début (avant la main)il faut écrire un code .je voudrais savoir son signification :
    Code:
    ORG     0x000             
    		clrf    PCLATH           
      		goto    main             
    
    		ORG     0x004            
    		movwf   w_temp           
    		movf	STATUS,w          
    		movwf	status_temp       
    
    
    		movf    status_temp,w     
    		movwf	STATUS            
    		swapf   w_temp,f
    		swapf   w_temp,w          
    		retfie
    merci d'avance

  9. #8
    invite092cb13c

    Re : les PICs

    Bonjour
    En premier le ORG 00 corespond au debut du programme dans le pic, c'est a dire que la premiere instruction qui suit ici: clrf PCLATH est la premiere instruction executé par le pic. Dans ton exemple on efface le registre PCLATH qui est le complement d'adresse pour le program counter en regle general cela ne sert à rien car PCLATH vaut 0 au demarrage ou sur un reset, mais comme des petits malins font des goto 00, une manoeuvre risquée si on ne la maitrise pas, on efface PCLATH par securité.

    Ensuite il y a le goto main pour aller au debut du programme ou de l'initialisation des registres.

    Ensuite on a ORG 4, c'est à cette adresse, que vient le programme en cas d'interruption. Dans les interruptions il faut sauvegarder w et STATUS pour récuperer ces deux registres à l'identique à la sortie de l'interruption. Pour plus d'informations sur les instructions de sauvegarde et de restitution des registres w et STATUS lire le cours part1 de Bigonoff.

    Gilles

  10. #9
    invite7a39c3be

    Re : les PICs

    Je confirme les dires de gedonet, pour super résumé tu as :
    • 3 premières lignes : Initialisation ultra sommaire du PIC; puis il se rends a "main".
    • 4 suivantes : L'arrivée d'un interrupt (tu sauves le travail en cours).
    • L'espace blanc te permet de gérer les interrupt (ton propre code).
    • 5 dernières lignes : Sortie de l'interrupt (tu restitues le travail précédemment sauvé)

  11. #10
    invitefaaca50b

    Re : les PICs

    Le blanc entre les sections permet surtout une bonne aeration du programme pour mieux arriver a le lire... Mais n'a aucune action sur le fonctionnement su soft ni du pic...
    Pour toutes les questions sur le fonctionnement, ne pas hesiter d'aller consulter wiki sur les architectures des µC et micropro... Et la datasheet devrait etre apprise "presque" par coeur pour debuter les grandes lignes des µC.

  12. #11
    invite29971eb1

    Re : les PICs

    Citation Envoyé par achrafkaran Voir le message
    bonjour à tous
    pourquoi l'horloge fournie au PIC est pré divisée par 4??
    merci d'avance
    Les PIC ont besoin de 4 cycles d'horloge pour effectuer une instruction. Evidemment, Microchip entretient le flou entre fréquence de l'horloge et fréquence réelle. Quand ils te présentent fièrement un PIC à 20MHz, c'est l'équivalent chez la plupart des concurrents modernes d'un micro à 5MHz.

  13. #12
    invite7a39c3be

    Re : les PICs

    Citation Envoyé par Franck-026 Voir le message
    Le blanc entre les sections permet surtout une bonne aeration du programme pour mieux arriver a le lire... Mais n'a aucune action sur le fonctionnement su soft ni du pic...
    Oui, bon ca j'imagine que les gens qui font de la programmation le savent, si non... oulalala ! C'était une image pour dire que c'est a cet endroit que tu appelles ta sous routine de gestion d'interrupt

    Si non les PIC sont pratique, peu chère, versatile mais c'est de loin pas de bêtes de calcules Moi je les apprécient, ils sont très bien pour la gestion de systèmes simples (BMS, commande moteurs, électronique de puissance, affichage simple,...). Si on veux du plus puissante faut se tourner vers les STM32 par exemple.

  14. #13
    invitefaaca50b

    Re : les PICs

    non c'est pas sur les espacements que tu appelle ta routine d'interruption. La routine s'invite des qu'il y a interruption, et a toi de gerer l'interruption pour ne pas mettre le waï dans le programme...

  15. #14
    invitee98a5332

    Re : les PICs

    Bonjour,

    Citation Envoyé par ftorama Voir le message
    Les PIC ont besoin de 4 cycles d'horloge pour effectuer une instruction.
    Vrai

    Citation Envoyé par ftorama Voir le message
    Evidemment, Microchip entretient le flou entre fréquence de l'horloge et fréquence réelle. Quand ils te présentent fièrement un PIC à 20MHz, c'est l'équivalent chez la plupart des concurrents modernes d'un micro à 5MHz.
    Ce serait vrai s'il n'y avait pas d'overlapping.

  16. #15
    invitefaaca50b

    Re : les PICs

    Ce que dit Fto est vrai, a vitesse d'oscillateur egale, les PIC sont 4 fois moins rapides en terme de vitesse d'execution que d'autres familles de µC. Et les PLL sont là pour essayer de corriger ce probleme autant que faire se peut...

  17. #16
    invitee98a5332

    Re : les PICs

    Je ne veux pas trop m'engager dans ce type de discussion quand on sait comment cela dégénère habituellement et je précise d'ailleurs que je ne suis pas plus (ni moins) attaché aux PICs qu'à d'autres familles de microprocesseurs.

    Néanmoins, et sans aucun esprit de polémique, j'aimerai savoir ce que vous entendez par "vitesse d'exécution". S'agit-il de la vitesse d'execution d'une instruction et dans ce cas ce que vous dites est exact, ou bien s'agit-il du débit du flot d'instructions et dans ce cas l'overlapping change la donne ?

  18. #17
    inviteeb160de1

    Re : les PICs

    Juste pour éviter de généraliser, certains PIC ne font que diviser la clock par deux (PIC24 par exemple).
    Après, le flou, il est la pour ceux qui ne veulent pas regarder, ou pour ceux qui ne se fient qu'à la fréquence...

    Aurélien

  19. #18
    invite29971eb1

    Re : les PICs

    Citation Envoyé par tayak Voir le message
    Ce serait vrai s'il n'y avait pas d'overlapping.
    Rien à voir....

  20. #19
    invite29971eb1

    Re : les PICs

    Citation Envoyé par tayak Voir le message
    Je ne veux pas trop m'engager dans ce type de discussion quand on sait comment cela dégénère habituellement et je précise d'ailleurs que je ne suis pas plus (ni moins) attaché aux PICs qu'à d'autres familles de microprocesseurs.

    Néanmoins, et sans aucun esprit de polémique, j'aimerai savoir ce que vous entendez par "vitesse d'exécution". S'agit-il de la vitesse d'execution d'une instruction et dans ce cas ce que vous dites est exact, ou bien s'agit-il du débit du flot d'instructions et dans ce cas l'overlapping change la donne ?
    Avec des chiffres, seuls ceux qui veulent polémiquer le veulent. Perso je me contente de faits.
    En gros, la valeur du quartz ne donne quasiment jamais la vitesse d'exécution du code (sauf peut-être sur AVR).

    L'overlapping ne change pas la donne puisque les voisins sont aussi équipés d'une pipeline.

    @aurelien j'allais faire la remarque donc:
    PIC <18: 4 cycles par instruction
    PIC18: 4 cycles par instruction aussi, avec une PLL pour multiplier la fréquence d'horloge
    PIC24: 2 cycles par instruction
    AVR: 1 cycle par instruction
    8051: 10-12 cycles par instruction, mais on en trouve des modernes à 1 cycle par instruction
    68hc08: 3-4 cycles par instruction en moyenne

    Mais il faut aussi prendre en compte la pertinence de l'assembleur (combien d'instructions prend finalement une opération simple) ou les besoins d'opérations internes (changements de banks mémoire, etc) qui ralentissent encore les performances globales....

  21. #20
    Tropique

    Re : les PICs

    Un avertissement à tous les participants à cette discussion: au moindre dérapage, elle sera fermée.
    Pas de complexes: je suis comme toi. Juste mieux.

  22. #21
    invitefaaca50b

    Re : les PICs

    pour rester simple, un PIC a 4MHz pourra avoir 1 milions d'instructions par secondes, contre 4 milions pour d'autres types de µC qui n'ont pas le probleme des PICS.
    Je n'aborde pas volontairement le cas des instructions necessitant 2 cycles machine...

    Et je pense avoir ete clair sur le pourquoi du comment, et je redis que chacun utilise le type de µC qu'il veut, tant qu'il en maitrise un mieux que les autres... ou si une famille de µC est specialisee dans un usage specifique

  23. #22
    invitee98a5332

    Re : les PICs

    Pourquoi l'overlapping des PICs est-il différent de celui des AVR ? Est-ce que le signal d'horloge des AVR est divisé par 4 et que le Fetch de la seconde instruction intervient 1/4 de signal d'horloge après le Fetch de l'instruction précédente ?
    Merci de bien vouloir éclairer ma lanterne.

  24. #23
    invite29971eb1

    Re : les PICs

    Citation Envoyé par tayak Voir le message
    Pourquoi l'overlapping des PICs est-il différent de celui des AVR ? Est-ce que le signal d'horloge des AVR est divisé par 4 et que le Fetch de la seconde instruction intervient 1/4 de signal d'horloge après le Fetch de l'instruction précédente ?
    Merci de bien vouloir éclairer ma lanterne.
    Je ne connais pas les archis en détail (ça fait certainement partie de leurs secrets industriels), mais les faits sont là. Il ne faut pas oublier que la structure interne des PIC jusqu'à la série 18 commence à dater sérieusement (fin des années 80 si je ne m'abuse) et 4 temps de cycle par instruction n'était pas si mal à l'époque.

    Mais pendant que Microchip restait bloquée à ces timings, la concurrence s'est développée et les micros à 1 temps de cycle sont apparus.

Discussions similaires

  1. Se lancer dans les pics
    Par invite1c5b35af dans le forum Électronique
    Réponses: 16
    Dernier message: 07/07/2010, 14h06
  2. Réponses: 14
    Dernier message: 23/12/2009, 11h58
  3. On connaissait les pics d'hiver...
    Par invite33da7396 dans le forum Environnement, développement durable et écologie
    Réponses: 29
    Dernier message: 07/06/2008, 14h17
  4. Questions sur les PICs
    Par invitee5b5d3c8 dans le forum Électronique
    Réponses: 3
    Dernier message: 12/06/2006, 21h24
  5. Apprendre les pics!!
    Par marc.suisse dans le forum Électronique
    Réponses: 6
    Dernier message: 16/01/2006, 20h48
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...