1 Notes de cours en Assembleur Basé sur les notes de cours de Philippe Gabrini
1 Notes de cours en Assembleur Basé sur les notes de cours de Philippe Gabrini (http://www.grosmax.uqam.ca/inf2170/gabrini_p/Notes_cours.htm) et sur WARFORD, J. Stanley, « Computer Systems : Third Edition », Jones and Bartlett Publishers, États-Unis, 2005, 675 p. STRUCTURE “VON NEUMANN” : 5 CRITERES ESSENTIELS QUI DEFINISSENT UN ORDINATEUR ................................................................................................................ 6 1. Médium d’entrée ................................................................................................................................................. 6 2. Médium de sortie ................................................................................................................................................ 6 3. Unité de calcul (arithmétique et logique) .......................................................................................................... 6 4. Unité de contrôle ................................................................................................................................................. 6 5. Unité de mémoire ................................................................................................................................................ 7 VARIETE DE TYPES D’ORGANISATIONS DE MEMOIRE ........................................... 8 AUTRES CARACTERISTIQUES .................................................................................... 9 L’horloge ...................................................................................................................................................................... 9 Les bus .......................................................................................................................................................................... 9 Les registres ............................................................................................................................................................... 10 Les registres ............................................................................................................................................................... 11 L’EXECUTION D’UN PROGRAMME ........................................................................... 13 2 INSTRUCTIONS ET DONNEES ................................................................................... 15 DEUX GRANDS TYPES DE MICROPROCESSEURS ................................................. 16 CISC (Complex instruction-set computer) .............................................................................................................. 16 RISC (Reduced instruction-set computer) .............................................................................................................. 16 LE CODAGE DE L’INFORMATION.............................................................................. 17 Conversion : Binaire -> Décimal .............................................................................................................................. 17 Conversion : Décimal -> Binaire .............................................................................................................................. 18 Conversion : Binaire -> Hexadécimal ...................................................................................................................... 19 Conversion : Hexadécimal -> Binaire ...................................................................................................................... 19 Conversion : Hexadécimal -> Décimal ..................................................................................................................... 19 Conversion : Décimal -> Hexadécimal ..................................................................................................................... 19 La représentation de l’information .......................................................................................................................... 20 L’arithmétique réelle ................................................................................................................................................. 20 LE LANGAGE D’ASSEMBLAGE ................................................................................. 24 Généralités .................................................................................................................................................................. 24 Une instruction en langage assembleur ................................................................................................................... 25 Un programme en Assembleur ................................................................................................................................. 26 ARITHMÉTIQUE EN COMPLÉMENT ........................................................................... 27 ADRESSAGE DES OPÉRANDES................................................................................ 28 Généralité ................................................................................................................................................................... 28 Adressage immédiat .................................................................................................................................................. 28 Adressage direct ......................................................................................................................................................... 28 Adressage base (non-utilisé) ...................................................................................................................................... 29 3 Adressage indexé........................................................................................................................................................ 29 Adressage indirect ..................................................................................................................................................... 30 Adressage direct sur la pile ....................................................................................................................................... 30 Adressage indexé sur la pile ...................................................................................................................................... 31 Adressage indirect sur la pile .................................................................................................................................... 31 Adressage indirect indexé sur la pile ........................................................................................................................ 32 LES SOUS-PROGRAMMES ........................................................................................ 33 Généralités .................................................................................................................................................................. 33 La pile ......................................................................................................................................................................... 33 Les paramètres ........................................................................................................................................................... 34 Identificateurs ............................................................................................................................................................ 36 Constantes .................................................................................................................................................................. 36 Instructions et directives ........................................................................................................................................... 36 Format des instructions ............................................................................................................................................. 36 Liste d’assemblage ..................................................................................................................................................... 37 ASSEMBLEUR : DIRECTIVES .................................................................................... 38 Directives qui engendrent une réservation de mémoire ......................................................................................... 38 Directives qui n’engendrent pas de réservation de mémoire ................................................................................. 38 ASSEMBLEUR : INSTRUCTIONS ............................................................................... 39 Instructions unaires simples ..................................................................................................................................... 39 Instructions de chargement et de rangement .......................................................................................................... 39 Instructions arithmétiques ........................................................................................................................................ 39 Instructions d’entrée-sortie ....................................................................................................................................... 40 Instructions logiques .................................................................................................................................................. 41 4 Instructions de branchement .................................................................................................................................... 41 Instructions liées aux sous-programmes .................................................................................................................. 42 Instructions non-réalisées ......................................................................................................................................... 43 DOCUMENTATION DES PROGRAMMES ................................................................... 44 Généralité ................................................................................................................................................................... 44 Structures de base ...................................................................................................................................................... 44 Guide d’utilisation ..................................................................................................................................................... 45 La documentation externe ........................................................................................................................................ 46 La documentation interne ......................................................................................................................................... 46 MISE AU POINT DES PROGRAMMES ........................................................................ 48 Principes ..................................................................................................................................................................... 48 Outils ........................................................................................................................................................................... 48 LE SYSTEME D’EXPLOITATION DE PEP/8 ............................................................... 49 Généralités .................................................................................................................................................................. 49 La pile système et le tampon d’entrée-sortie ........................................................................................................... 49 Le chargeur (Loader) ................................................................................................................................................ 50 SYSTEME D’INTERRUPTION DU PROCESSEUR (TRAPS) ...................................... 52 Généralités .................................................................................................................................................................. 52 Le traitement d’une interruption ............................................................................................................................. 53 Exemple d’interruptions sur un processeur réel (MC68000) ................................................................................ 53 Le mécanisme ............................................................................................................................................................. 55 L’instruction RETTR ................................................................................................................................................ 56 Le traitement des interruptions : trap ..................................................................................................................... 57 Vérification du mode d’adressage : assertAd .......................................................................................................... 58 5 Calcul de l’adresse de l’opérande : setAddr ............................................................................................................ 60 Traitement des instructions NOP : opcode24-28 .................................................................................................... 62 Traitement de l’instruction DECI : opcode30 ......................................................................................................... 63 Traitement de l’instruction DECO : opcode38 ....................................................................................................... 67 Traitement de l’instruction STRO : opcode40 ........................................................................................................ 69 Exemple de traitement d’une instruction causant une interruption ..................................................................... 70 ANNEXE A : GLOSSAIRE ........................................................................................... 87 ANNEXE B : EXEMPLE D’UNE DOCUMENTATION INTERNE .................................. 88 ANNEXE C : L’ORIGINE DU CHARGEUR .................................................................. 93 Les systèmes moniteurs : Le traitement par lots ..................................................................................................... 93 Réduction des délais de chargement et de compilation .......................................................................................... 95 6 Structure “Von Neumann” : 5 critères essentiels qui définissent un ordinateur 1. Médium d’entrée 2. Médium de sortie 3. Unité de calcul (arithmétique et logique) - Définition : L’unité de calcul, souvent appelée UAL pour Unité Arithmétique et Logique, sert à exécuter les opérations logiques et arithmétiques sur des opérandes fournis par l’unité de contrôle. 4. Unité de contrôle - Définition : Partie de l’UCT (Unité Centrale de Traitement) qui interprète les instructions et choisit des actions en conséquence. - Fonctionnement o Lit les instructions en mémoire, les décode et envoie les signaux aux autres éléments de l’ordinateur pour qu’une instruction soit exécutée. o Elle reçoit aussi des résultats de l’unité de calcul pour compléter l’exécution des instructions qui permettent des choix. Entrée (Clavier, souris, etc.) Mémoire Sortie (écran, imprimante, etc.) Bus Unité arithmétique et logique Registres Unité de contrôle 1 2 3 4 5 7 5. Unité de mémoire - Définition : L’unité de mémoire est une unité séparée de l’UCT qui doit, entre autre, contenir les instructions, les opérandes et les résultats. - Fonctionnement o Au cours de l’exécution d’un programme, les instructions, les opérandes et les résultats résident en mémoire o Composé de bits regroupés en cellules pour former des mots de mémoire Chaque cellule peut contenir une quantité fixe d’information. Chaque cellule est associée à une adresse. Le nombre d’adresse va de 0 au nombre de cellules – 1 Chaque cellule ne peut contenir qu’une seule valeur à la fois. Le stockage d’une nouvelle valeur détruit l’ancienne valeur contenue dans la cellule. Exemples de processeurs et leurs mots de mémoire Processeur Mot de mémoire INTEL 8080 MC68000 IBM 370 VAX 11 DEC 10 CYBER 170 CYBER 180 mot de 8 bits, 1 cellule de 8 bits mot de 16 bits, 2 cellules de 8 bits mot de 32 bits, 4 cellules de 8 bits mot de 32 bits, 4 cellules de 8 bits mot de 36 bits, 1 cellule de 36 bits mot de 60 bits, 10 cellules de 60 bits mot de 64 bits, 8 cellules de 8 bits Les cellules ne peuvent contenir que des valeurs binaires. Ainsi, toute l’information traitée par l’ordinateur doit être codée sous forme binaire. Accès aux cellules : Très rapide. Se calcule en nanosecondes (un milliardième de seconde) 8 Variété de types d’organisations de mémoire - Mémoire vive RAM (Random Access Memory) o Volatile : Les données s’effacent sans la présence d’électricité. o Accès aléatoire o Modifiable : Lecture / Écriture - Mémoire morte ROM (Read-Only Memory) o Non-volatile : Retient les informations même sans électricité o Non-modifiable : Lecture seulement o Placée sur un circuit intégré principal (motherboard) sous forme de puce séparée o Coût d’insertion des données élevé o Aucune marge d’erreur - PROM (Programmable Read-Only Memory) o Mêmes caractéristiques que la ROM o Processus d’écriture électronique qui fait en sorte que la puce peut être programmé à un autre moment que la fabrication. - EPROM (Erasable Programmable Read-Only Memory) o Mêmes caractéristiques que le ROM o PROM avec possibilité d’effacé et de reprogrammé le contenu. - EEPROM (Electrically Erasable Programmable Read-Only Memory) o Mêmes caractéristiques que la ROM o Possibilité de réécriture du contenu sans tout effacer. Rapide Petite Stairway to Heaven coût 9 Autres caractéristiques L’horloge - Définition : L’horloge est un dispositif de synchronisation émettant un signal à intervalle régulier - But : Synchroniser les activités de l’unité centrale de traitement - Fonctionnement o Un cycle d’horloge : Intervalle de temps entre chaque signal. o La fréquence d’horloge : Nombre de signaux d’horloge engendrés par unité de temps. o L’hertz est l’unité de mesure pour les activités de l’UCT. 1 million d’hertz : 1 Megahertz (MHz) 1 milliard d’hertz : 1 Gigahertz (GHz) o Exemple de calcul : Si un UCT évolue à 1.5GHz, le nombre de cycles d’horloge est de 1 milliard 500 millions (1 500 000 000) cycles par seconde. Si une opération requiert 10 cycles d’horloge, elle sera exécutée en un temps de : 10(1/1 500 000 000) = 6,66ns (6,66 x 10-9) - Échelles de temps o Nanoseconde : 1 milliardième de seconde o Microseconde : 1 millionième de seconde Les bus - Définition : Le bus est un ensemble de lignes de communication qui permet à l’UCT de communiquer avec la mémoire et les dispositifs périphériques. Elle permet le transfert d’adresses, de données et de signaux qui représentent de l’information entre les divers composants du système. - Les différents types de bus o Bus d’adresses Définition : Permet à l’UCT d’accéder à une position mémoire Fonctionnement • Le nombre de lignes du bus d’adresses détermine le domaine des adresses possibles. • Exemple : Bus de 16 bits. Nombre d’adresses possible : 216 = 65536 • Si l’adresse dépasse le nombre d’adresses possible, il se produit une erreur de bus (« bus error »). Quantities of bytes SI prefixes Binary prefixes 10 Name (Symbol) Standard SI Alternate Use Name (Symbol) Value kilobyte (kB) 103 210 kibibyte (KiB) 210 megabyte (MB) 106 220 mebibyte (MiB) 220 gigabyte (GB) 109 230 gibibyte (GiB) 230 terabyte (TB) 1012 240 tebibyte (TiB) 240 petabyte (PB) 1015 250 pebibyte (PiB) 250 exabyte (EB) 1018 260 exbibyte (EiB) 260 zettabyte (ZB) 1021 270 zebibyte (ZiB) 270 yottabyte (YB) 1024 280 yobibyte (YiB) 280 • L’UCT place une adresse sur le bus d’adresse en spécifiant le type d’opération uploads/Sante/ coursassemblleur-id5448-pdf.pdf
Documents similaires










-
53
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 20, 2021
- Catégorie Health / Santé
- Langue French
- Taille du fichier 0.7716MB