CPU et mémoire
Registres CPU LMC. Accumulateur ( A or Acc ). Registre d'instruction ( IR ). Registre d'adresses ( MAR ). Registre de données ( MDR ). Compteur de programme (
Electronique TD3 18/19
e- Le registre d'instruction stocke le résultat de l'instruction en cours exécution Vrai ou Faux ? f- Le registre Accumulateur se trouve dans UCC (Unité de
Chapitre 1: Architecture du Microprocesseur 6809
Le microprocesseur 6809 dispose de neuf registres internes accessibles à l'utilisateur. (figure n°2). Accumulateur B. Accumulateur A. Compteur-Programme PC.
7. Instructions et micro-instructions.key
Le jeu d'instruction supporte les quatre instructions suivantes où Rd est le registre destination et. Rs le registre source : Mnémonique. Opcode Description.
Rapport annuel du Registre Piles et accumulateurs : Données 2018
européenne 2006/66/CE relative aux piles et accumulateurs le Registre national des producteurs de piles et ▫ PA industriel : est considéré comme pile ou ...
Eau chaude avec pompes à chaleur / Une bonne planification pour
٢٢/٠٣/٢٠٢٣ inconvénients par rapport à l'accumulateur à registre. -. La différence de température entre le côté primaire et le côté secondaire de la ...
Registre des Piles et Accumulateurs - Rapport Annuel - Données
Registre PA un accumulateur au plomb pèse environ 17 kg22. Néanmoins
PLAN PLAN
Le registre Accumulateur. ▫ Certaines opérations portent implicitement sur Les registre d'instruction. ▫ Le registre d'instructions noté RI
Diapositive 1
Le résultat est mis dans le registre accumulateur. Code opération Opérande2. Exemple : ADD A ( ACC←(ACC) + A ). Ce type de machine
4. Architecture générale dun ordinateur
registre spécial = registre accumulateur : • Le 2ème opérande se trouve déjà dans le registre accumulateur chargé par l'instruction précédente. • L
CPU et mémoire
Exécute les instructions machines en utilisant les registres et l'UAL IR (le registre d'instruction) ... Un seul registre : Acc (accumulateur) ...
Diapositive 1
L'UAL comporte un registre accumulateur. ( ACC ):. • c'est un registre de travail qui sert a stocker un opérande (données ).
Le Microcontrôleur 8051/8052
Octet haut du registre DPTR (adressage mémoire externe) processeur l'Accumulateur est C. Les bits de certains registres sont ainsi accessibles par.
Rapport annuel du Registre Piles et accumulateurs : Données 2018
Registre des Piles et Accumulateurs - Rapport Annuel - Données 2018
16 bits DH DL CH CL BH BL Accumulateur Base Compteur
Accumulateur. Base. Compteur. Données. Registres généraux. Code. Extra. Pile (Stack). Données. Registres de segment. 16 bits. Pile (Stack).
Jeu dinstruction et pipeline
Un opérande est l'accumulateur. ? Architecture à registres généraux. ? Opérandes explicites: ? Registre-mémoire. ? Accès mémoire comme partie d'une
Etapes dexécution des instructions
chemin de données (la mémoire ou les registres) Charger le 1er mot d'instruction de la mémoire principale vers le registre d'instruction.
Chapitre 2
Compteur ordinal (Program Counter (PC) ). • Registre d'état (Processor Status (PS) ). • Registres d'adresse etc. • Un registre d'instruction (RI)
Archi Système cours 4
registre. Accumulateur et logique (UAL). Registre d'états. Pointeur Stockage dans la mémoire dans les registres
Les registres interne du µP :
1- Accumulateur Ac ( registre de travail) :registre à 8bits très utilisés dans 6- Registre d'instruction :toutes les instructions d'un programme sont en ...
[PDF] CPU et mémoire
Registre (ou l'ensemble de registres) utilisé pour la manipulation des données D'habitude contient les résultats des opérations arithmétiques ou logiques Page
[PDF] Etapes dexécution des instructions
Etapes d'exécution des instructions ? Lecture d'instruction • Charger le 1er mot d'instruction de la mémoire principale vers le registre d'instruction
[PDF] Architecture des ordinateurs
Architecture de von Neumann • Processeur contient deux registres spéciaux • Registre d'instruction (RI) • Compteur ordinal (PC ? Program Counter)
[PDF] Electronique TD3 18/19
f- Le registre Accumulateur se trouve dans UCC (Unité de Commande et de Contrôle) Vrai ou Faux ? g- L'accumulateur est un registre de l'unité arithmétique et
[PDF] Le Microcontrôleur 8051/8052
Le 8051 possède un processeur de bits qui travaille sur des bits individuels Pour ce processeur l'Accumulateur est C Les bits de certains registres sont ainsi
[PDF] Cours de Microcontrôleurs
microcontrôleur HCS12 (registres programmation séquentielle ruptures de séquence) L'accumulateur D est le registre de 16 bits constitué par la
[PDF] Registres généraux - Irif
DH DL CH CL BH BL Accumulateur Base Compteur Données Registres généraux Code Extra Pile (Stack) Données Registres de segment 16 bits
[PDF] But de ce sujet Les registres du processeur - CoursTechInfo
Introduction à l'assembleur http://www courstechinfo be/Programmation/IntroASM pdf AX "accumulator" l'accumulateur est privilégié pour y faire certaines
[PDF] Chapitre 1: Architecture du Microprocesseur 6809
Le microprocesseur 6809 dispose de neuf registres internes accessibles à l'utilisateur (figure n°2) Accumulateur B Accumulateur A Compteur-Programme PC
[PDF] Architecture des ordinateurs
L'UAL comporte un registre accumulateur ( ACC ): • c'est un registre de travail qui sert a stocker un opérande (données )
1Architecture des ordinateurs
et système d'exploitationChapitre 4
Microprocesseurs
Sylvain Cherrier
2Architecture de l'ordinateur
Organisation de la mémoire Interactions directes avec le microprocesseur Stockage des instructions du programme Création, modification, et suppression des données Harvard Mémoires séparées : 1 pour les données, 1 pour les instructions Problèmes : taille optimale ? Von Neuman Une seule mémoire, contenu mélangé Problèmes : 17 est il la donnée 17, ou l'instruction 17 ?3Architecture interne du microprocesseur
Mémoire
donnéesadressesDécodeur
instuctionsregistreregistreregistre registreregistreregistreAccumulateur
et logique (UAL)Registre d'étatsPointeur
pileCompteur
ordinalHorloge
4Les registres
Permettent de stocker des valeurs Ont une taille définie (32 bits, 64 bits) Utiles pour la manipulation des données (un compteur, une valeur à modifier) Remplissent en gros le rôle des variables Certains registres contiennent des adresses mémoires (pointeur, de type pile, ordinal, base, etc) Certains registres peuvent avoir un rôle particulier pour certaines commandes du processeurs5Unité Arithmétique et logique
(Accumulateur) Contiendra le résultat d'une opération mathématique Souvent, une opération est appelée sur son contenu, et un registre (ajoute le registre 3, soustrait le registre 2) Les opérations déclenchent des réaction dans le registre des états (résultat zéro, négatif, virgule, retenue, division par zéro, etc) Capable de faire des opérations logiques (si tel registre est supérieur à tel valeur, égal, différent de, etc) Parfois, certains registres sont capables eux aussi d'exécuter des opérations (INC et DEC sur leurs contenus)6Registre d'états
Le registre d'états correspond à des " juges de touches » Il contient des " flags » représentant l'état courant de l'accumulateu Parmi ces flags : Nul (l'opération a donné un résultat 0), NEG (négatif), virgule (l'opération n'a pas donné un résultat entier), retenue (un débordement a eu lieu), division par zéro C'est à la charge du programmeur d'aller consulter ce registre d'état Comme un juge de touche, si l'arbitre (le programmeur) ne s'intéresse pas à son indication, alors, le programme continue7Compteur ordinal
Contient l'adresse de la prochaine exécution à lire Permet de suivre la logique du programme Chaque lecture incrémente le compteur ordinal Celui-ci connaît alors l'adresse de la prochaine instruction Une boucle se réalise en manipulant l'adresse du compteur ordinal Si la valeur borne n'est pas atteinte (UAL), alors retourne de 4 instructions en arrière (CO = CO - 4 ) L'appel à une fonction se fait en altérant l'adresse de la prochaine instruction Comment faire alors pour revenir à l'endroit de départ ? Comment passer des paramêtres ? Comment renvoyer une valeur de retour ?8Décodeur d'instructions
Séléction d'une case mémoire (Compteur Ordinal) Transfert du contenu de la case vers le décodeur d'instruction Décodage et incrément du compteur ordinal (pour instruction suivante) Exécution de l'instruction transfert vers un registre, altération d'un registre (inc, CO, pile, etc) ou transfert depuis un registre utilisation de l'ALU (opération mathématique, logique...), interrogation des registres d'états, etc9Architecture interne du microprocesseur
Mémoire
donnéesadressesDécodeur
instuctionsregistreregistreregistre registreregistreregistreAccumulateur
et logique (UAL)Registre d'étatsPointeur
pileCompteur
ordinalHorloge
1/ Cadence2/ prochaine
instruction3/ décodage4/ utilisation des ressources5/ MAJ du registre d'états
(si nécessaire)10Langage machine
Liste d'instructions comprises par le microprocesseur Définie par le fabricant Propre à chaque architecture Décrit une opération atomique une addtion, un test, un transfert en mémoire Un programme = liste d'instructions Exécution séquentielle des instructions11Format des instructions
Code binaire Avec ou sans arguments Chaque instruction : un opcode Par exemple en intel x86 : Les opcodes 06 et 07 correspondent respectivement à PUSH et POP Les opcodes 00, 01 et 02 = ADD avec différents types de registres (8, 16,32 bits)
Codification difficile Utilisation de Mnémonique pour simplifier le codage12Guide assembleur Intel
Source : http://ref.x86asm.net
OpCodeMnémonique
Description
13Exemple de programme assembleur
.486 .MODEL FLAT .CODEPUBLIC _myFunc
_myFunc PROC ; Subroutine Prologue push ebp ; Save the old base pointer value. mov ebp, esp ; Set the new base pointer value. sub esp, 4 ; Make room for one 4-byte local variable. push edi ; Save the values of registers that the function push esi ; will modify. This function uses EDI and ESI. ; (no need to save EBX, EBP, or ESP) ; Subroutine Body mov eax, [ebp+8] ; Move value of parameter 1 into EAX mov esi, [ebp+12] ; Move value of parameter 2 into ESI mov edi, [ebp+16] ; Move value of parameter 3 into EDI mov [ebp-4], edi ; Move EDI into the local variable add [ebp-4], esi ; Add ESI into the local variable add eax, [ebp-4] ; Add the contents of the local variable ; into EAX (final result) ; Subroutine Epilogue pop esi ; Recover register values pop edi mov esp, ebp ; Deallocate local variables pop ebp ; Restore the caller's base ; pointer value ret _myFunc ENDP END Source : http://www.cs.virginia.edu/~evans/cs216/guides/x86.html14Langages
Traduction vers le binaire (les opcodes) : compilation L'Assembleur est compilé Le codage est fait au plus proche de la machine On dit ; langage bas niveau Le résultat est très efficace Langages plus évolués : haut niveau Codage beaucoup plus facile, plus proche du langage humain Chaque instruction est transformée en une suite équivalente de plusieurs opcodes L'écriture directe en opcode (assembleur) serait certainement plus optimale Les compilateurs sont capables d'optimiser le code, à un point qui rivalise un bon codeur assembleur15Un petit bonjour
En assembleur (Source wikipedia.org)
16Un petit bonjour
En python En C17Résultats
Compilation de l'assembleur
nasm -f elf test.asm ld -o test test.o -melf_i386 Le binaire fait 672 octetsCompilation du C
Gcc -o test test.c Le binaire fait 6704 octets (10 fois plus) Interprétation du python python3 testpython.py Lancement de l'interpréteur, qui exécute ensuite pas à pas le script python18Résultats en terme d'exploitation
Surveillance du processus avec strace
Programme en assembleur : 1 seul appel au système strace testasm (3 appels système) Programme en C De nombreux appels au système strace test (env. 40 d'appels système) Programme python Interpréteur, qui exécute le programme strace python3 testpython.py (plus de 650 appels système) Durée : 0.024s (les deux autres donnent 0 ,000 s)19Structure d'un programme
Un programme est constitué de 4 zones :
Le segment de code (Les instructions) Le segment de pile (les variables locales et gestion des fonctions) Le segment de données (variables globales) Le tas (zone dynamique, qui varie en cours de la vie du programme) Ces contenus sont définis lors de la création du binaire, selon les besoins détectés. Parfois, certains zones sont protégées, afin d'assurer la sécurité (par exemple, le segment de code est en lecture seule)20Simulation d'un micro processeur
Pseudo processeur, avec pseudo langage assembleur (hérité du 6502) A but pédagogique uniquement Objectif : visualiser les échanges, comprendre les mécanismes21Little Thinker
Saisie du
programme :Case zéro et
suivantesLancement du programme :Pas à pas ou
completVue en temps réel des modifs des différents registres22Éléments, et notation
Les éléments manipulables sont :
Les cases mémoire Il y a 50 cases mémoires Numérotées de 0 à 49 Il n'y a pas de nom de variables, vous devez vous souvenir où vous rangez les données L'adresse s'exprime avec un $ ($12 veut dire case mémoire 12) Les 5 registres Numérotés de 0 à 4 Accès avec un # (#1 est le deuxième registre) On peut y déposer une valeur, ou la consulter L'accumulateur Il s'appelle a On y dépose le premier opérande On indique ensuite l'opérateur et le second opérande23Syntaxe des commandes
Commande espace argument1 espace.... argumentN
En général, les commandes prennent un ou deux arguments. La casse n'a pas d'importance. Attention : ici, chaque instruction (opcode) tient dans une case. Dans la réalité, les opcodes et leurs arguments occupent n cases mémoire Les instructions permettent d'échanger des données entre la mémoire et le processeur Faire des calculs Faire des tests Faire des sauts24Transferts
Stockage dans la mémoire, dans les registres, ou dans l'accumulateur Les données proviennent de la mémoire, des registres, de l'accumulateur, ou sont écrites " en dur » Pour VENIR DANS le processeur, la commande est : LD cible origine (load) Pour SORTIR DU processeur (vers la mémoire), la commande est ST origine cible (store) Pour des copier coller à l'INTÉRIEUR du processeur, la commande est MV origine cible (move) Quelques exemples d'instructions ld a 15 st #0 $10 ld #1 12 d #1 $12 mv a #225Operations mathématiques
inc cible pour l'Incrémentation dec cible décrementation Faisable directement sur un registre Exemple de programme ld #1 12 ld #0 3 dec #1 dec #1 inc #026Operations mathématiques
Les opérations sont en général faites sur l'accumulateur On met le premier opérande dans l'accumulateur On déclenche l'opération (opérateur 2ième opérande) Le résultat est dans l'accumulateur (l'ancien contenu est écrasé) Le registre d'état peut être affecté par cette opération (nul, négatif, retenu) Il faut ensuite recopier ce résultat pour l'exploiter ld a 5 add 12 mv a #127Opérations mathématiques et logiques
Add valeur Peut affecter les états Nul, Négatif Sub valeur Peut affecter les états Nul, négatif Mul valeur Peut affecter nul, négatif Div valeur Peut affecter nul, négatif, décimal Mod valeur Peut affecter nul et négatif Cmp valeur Peut affecter nul et négatif Permet donc de faire des comparaisons28Ruptures de séquence
Exécution séquentielle des instructions La rupture permet de mettre en place des boucles, et des traitements différenciésquotesdbs_dbs42.pdfusesText_42[PDF] sphère armillaire portugal
[PDF] registre de processeur pdf
[PDF] sphère armillaire achat
[PDF] difference entre registre et memoire
[PDF] sphere armillaire
[PDF] registre d'adresse
[PDF] sphère armillaire ancienne
[PDF] registre dinstruction processeur
[PDF] astrolabe
[PDF] circulaire douane maroc 2017
[PDF] dedouanement jet ski maroc prix
[PDF] admission temporaire définition
[PDF] relativité générale cours et exercices corrigés pdf
[PDF] dotation touristique maroc 2016