Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
fr:avr:architecture [2010/03/18 15:49] – créée sdeniaudfr:avr:architecture [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 7: Line 7:
 ===== Instruction ===== ===== Instruction =====
  
-L'AVR a deux étapes d'instructions. Lorsqu'une instruction est executée, la suivante est rapportée de la mémoire du programme. C'est pourquoi réaliser des instructions de saut prend 2 cycles sur l'accomplissement de la condition de saut. Puisque la nouvelle instruction est toujours allée chercher à l'adresse de mémoire suivante, il est nécessaire de renoncer à l'instruction précédente pour permettre d'aller chercher une nouvelle en sautant à une autre adresse, parce qu'il a été allé chercher une ancienne, à un faux emplacement.+L'AVR a deux étapes d'instructions. Lorsqu'une instruction est exécutée, la suivante est rapportée de la mémoire du programme. C'est pourquoi réaliser des instructions de saut prend 2 cycles sur l'accomplissement de la condition de saut. Puisque la nouvelle instruction est toujours allée chercher à l'adresse de mémoire suivante, il est nécessaire de renoncer à l'instruction précédente pour permettre d'aller chercher une nouvelle en sautant à une autre adresse, parce qu'il a été allé chercher une ancienne, à un faux emplacement.
  
-===== General purpose registers =====+===== Objectif général d'un registre =====
  
-General purpose registers R0-R31 are like buffers for storing and operating with memory and peripheral dataThey simplify the architecture of the processorbecause they are quickly accessible by the ALU and the use of the data bus to read operands from the memory is not necessary for every operationGeneral purpose registers are used for performing all data-related arithmetical and logical operations.+Le but général d'un registre R0-R31 est proche de celui d'un buffer pour stocker et traiter a la fois avec la mémoire et des données externesIls simplifient l'architecture du processeurparce qu'ils sont rapidement accessibles par l'ALU et l'utilisation du bus de données pour lire des opérandes de la mémoire n'est pas nécessaire pour chaque opérationLes objectifs des registres sont utilisés pour exécuter toutes les opérations arithmétiques et logiques concernant les données.
  
-While programming in assemblerit is possible to store the urgent data in general purpose registersWhile programming in and a need to store a variable in a general purpose register arisesthe variable is additionally defined as "register". +En programmant dans l'assembleuril est possible de stocker les données urgentes dans des registres de but générauxEn programmant en il apparaît un besoin de stocker une variable dans un registrela variable est de plus définie comme "le registre". 
-For example:+Par exemple:
  
 <code c> <code c>
Line 20: Line 20:
 </code> </code>
  
-===== Instruction set =====+===== Instructions de configuration =====
  
-The instruction set of most AVRs consists of 90-133 different instructions. ATmega128 has 133 instructions. Instructions have either onetwo or no operandsMost instructions take only one cycle to completebut the more complex ones can use up to 5 cycles. For XMegathe successor of AVR, several instructions have been modified to use less cycles. Most instructions in AVR are used for jumpsmoving and comparing data and executing arithmetic calculationsA status register is used for performing calculations and comparisonsIt stores the output status of the ALU - whether the result was negativepositivezeroexceeded the maximum allowed value (8 bits), needed to transfer a bit to the next operation etc (there are few more complex cases).+Les instructions de la plupart des AVRS consistent en 90-133 instructions différentes. ATmega128 133 instructions. Les instructions ont undeux ou aucun opérandeLa plupart des instructions prennent seulement un cycle pour être achevémais les plus complexes peuvent utiliser jusqu'à 5 cycles. Pour XMEGAle successeur d'AVR, plusieurs instructions ont été modifiées pour utiliser moins de cycles. La plupart des instructions dans AVR sont utilisées pour des sautsdes déplacements et des comparaisons des données et exécutant des calculs arithmétiquesUn registre de statut est utilisé pour des calculs performants et des comparaisonsIl stocke le statut de sortie de l'ALU - si le résultat est négatifpositifzéroa excédé le maximum permis par la valeur (8 bits), a besoin de transférer un bit vers l'opération suivante etc (il y quelques cas plus complexes).
  
-<box 100% round #EEEEEE|Example>+<box 100% round #EEEEEE|Exemple>
  
-This is a piece of code written in Assembler and consists of pure instructions, which adds to the byte at random access memory address $100 (decimal 256). These instructions exist in all AVRs.+Voici un exemple de code rédigé en Assembleur qui contient de simples instructions, qui ajoutent à un bit au hasard dans l'adresse de la mémoire $100 (256 en décimal). Ces instructions existent dans tous les AVR.
  
 <code asm> <code asm>
Line 37: Line 37:
 </box> </box>
  
-===== Program stack =====+===== Le programme stack =====
  
-Stack is a data structure, where the last data written to the memory is read out first. AVR's stack can be used while operating with subroutinesinterrupts and temporary dataBefore executing a subroutine or interruptthe address in the program counter where the program was interrupted is stored in the stack. When the subroutine or interrupt has finished its executionthis address is read back from the stack and the program continues from the address it left off beforeStoring temporary data in the stack is usually used when dealing with shorter chunks of code, which do not require reserved memory throughout the execution of the programSimpler assembler programs are usually written so that it is not necessary to use the stack, but if the program contains a lot of variables and functionsthe compilers automatically make use of it.+Le programme stack est une structure de donnéesoù les dernières données écrites dans la mémoire sont lues d'abordLe programme stack de l'AVR'S peut être utilisé en opérant avec des sous-programmesdes interruptions et des données temporairesAvant l'exécution d'un sous-programme ou d'une interruptionl'adresse dans le compteur du programme où le programme a été interrompu est stocké dans le stack. Quand le sous-programme ou l'interruption a terminé son exécutioncette adresse est lue et le programme continue de l'adresse où il a cessée auparavantLe stockage de données temporaire dans le stack est d'habitude utilisé en traitant avec des morceaux plus courts de code, qui n'utilise pas la mémoire réservée au cours de l'exécution du programmeDes programmes d'assembleur plus simples sont d'habitude écrits pour qu'il ne soit pas nécessaire d'utiliser le stack, mais si le programme contient beaucoup de variables et des fonctionsles compilateurs s'en servent automatiquement.
  
-The stack of MegaAVR series microcontrollers is physically located in the random access memorySome tinyAVR series devices do not have a random access memory at all and the stack is realized as a separatequite limited memory unitTypically there are no compilers for devices with no random access memory.+Le stack des micro-contrôleurs de série MegaAVR sont localisés physiquement dans la mémoire vive Quelques dispositifs de la série tinyAVR n'ont pas de mémoire vive du tout et le stack est traité séparémentl'unité de mémoire assez limitéeTypiquement il n'y a aucun compilateur pour des matériels sans mémoire vive.
  
-To program in a high level language (Pascal, C, C++), it is not necessary to be familiar with the inner workings of the microcontrollerbecause the compiler is capable of selecting general purpose registers and instructions by itselfbut knowing what goes on in the controller is certainly beneficialIt is necessary to know the instructions of the microcontroller when developing time-critical applications, where the operations have to be completed in a limited amount of cycles.+Pour programmer dans une langage de plus haut niveau (le Pascal, C, C ++), il n'est pas nécessaire d'être familier avec les fonctions internes du micro-contrôleurparce que le compilateur est capable de choisir les registres et les instructions séparémentmais savoir ce qu'il se passe dans le contrôleur est certainement avantageuxIl est nécessaire de connaître les instructions du micro-contrôleur en développant des applications critiques en termes de tempsoù les opérations doivent être achevées avec une quantité limitée de cycles.
fr/avr/architecture.1268927342.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0