CHAPITRE 10. Les sous-programmes

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "CHAPITRE 10. Les sous-programmes"

Transcription

1 1 CHAPITRE 10 Les sous-programmes

2 2 Sous-programme Suite d instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts Une seule façon de faire l appel Sauvegarde de la valeur courante du PC Effectuer un branchement à l adresse du sous-programme Une seule façon de faire le retour Effectuer un branchement à l ancienne valeur du PC, à une constante près.

3 3 Sous-programme Un sous-programme se compose généralement de: Récupération des paramètres (inverse du passage de paramètres) Sauvegarde de l environnement de l appelant Traitement Retour des résultats, s il y a lieu Rétablissement de l environnement de l appelant Retour vers l appelant (inverse de l appel)

4 4 Passage de paramètres Sur le SPARC On utilise l instruction save pour sauvegarder l environnement On peut utiliser six registres O pour le passage de paramètres. Que faire si on doit passer plus de six paramètres? Que faire si l architecture n offre pas de fenêtres de registres?

5 5 Passage de paramètres Il existe différentes façons d effectuer le passage des paramètres Utilisation d une fenêtre de registre (comme le SPARC) Utilisation directe des registres Utilisation de l adresse de retour ou du registre de lien Utilisation d une table Utilisation d une pile

6 6 Fenêtre de registres Peut être utilisé lorsque l architecture supporte le concept de fenêtre de registres Pgm: Somme: mov 10, %o0 mov 25, %o1 call Somme mov 32, %o2 mov %o0, %l6 save %sp, -208, %sp add %i0, %i1, %i0 add %i0, %i2, %i0 ret restore

7 7 Registres Similaire à la technique précédente Ne fonctionne pas si le nombre de paramètres est plus grand que le nombre de registres. Pgm: mov 10, %l0 mov 25, %l1 call Somme mov 32, %l2 mov %l0, %l6 Somme: add %l0, %l1, %l0 add %l0, %l2, %l0 retl nop

8 8 Adresse de retour On met les paramètres directement dans le code Juste après l appel du sous-programme Sur le SPARC, l adresse de retour est dans le registre %o7 On peut donc indexer, à partir de cette adresse, le bon paramètre On doit modifier la valeur de %o7 pour que le retour soir à la suite des paramètres %o n 4 donne l adresse de retour du sousprogramme, avec n paramètres.

9 9 Adresse de retour Pgm: Somme: call Somme nop.word 10.word 25.word 32 mov %l0, %l6 ldsw [%o7+8], %l0 ldsw [%o7+12], %l1 ldsw [%o7+16], %l2 add %o7, 12, %o7 add %l0, %l1, %l0 add %l0, %l2, %l0 retl nop 3 4 = 12 octets %o7 + 8

10 10 Table On met les paramètres dans une table en mémoire On passe l adresse de la table comme paramètre du sousprogramme On peut donc indexé à partir de cette adresse pour obtenir chacun des paramètres Comme avec la méthode précédente, on peut passer un nombre arbitraire de paramètres.

11 11 Table Pgm: setx Table, %l7, %l0 call Somme nop mov %l0, %l6 Somme: ldsw [%l0], %l1 ldsw [%l0+4], %l2 ldsw [%l0+8], %l3 add %l1, %l2, %l0 add %l0, %l3, %l0 retl nop.section ".rodata".align 4 Table:.word 10, 25, 32

12 12 Pile On met les paramètres au sommet d une pile C est le programme appelant qui s occupe d empiler Le programme appelant et le sous-programme ont accès à un registre qui contient l adresse du sommet de la pile. Le sous-programme dépile les paramètres Empile le résultat sur la pile En SPARC, le registre %sp contient l adresse du sommet de la pile C est une pile biaisée (2047) et il faut ajouter 128 (on va voir plus tard)

13 13 Pile Pgm: mov 10, %l0 dec 8, %sp stx %l0, [%sp ] mov 25, %l0 dec 8, %sp stx %l0, [%sp ] mov 32, %l0 %sp-24 %sp dec stx call 8, %sp %l0, [%sp ] Somme %sp-8 %sp 10 nop ldx [%sp ], %l6

14 14 Pile Somme: ldx [%sp ], %l3 inc 8, %sp ldx [%sp ], %l2 inc 8, %sp ldx [%sp ], %l1 inc 8, %sp add %l1, %l2, %l0 add %l0, %l3, %l0 dec 8, %sp stx %l0, [%sp ] retl nop %sp %sp+8 %sp+16 %sp

15 15 Récursivité Il faut habituellement sauvegarder l environnement de l appelant lors de l exécution d un sous-programme On utilise généralement une pile C est d autant plus vrai pour les sous-programmes récursifs Si l architecture ne fournit qu une seule fenêtre de registres Il faut sauvegarder tous les registres que le sous-programme modifie L endroit le plus adapté est la pile Sur le SPARC, le changement de fenêtre de registres règle le problème

16 16 Récursivité Factoriel: dec 8, %sp stx %o7, [%sp ] dec 8, %sp stx dec stx dec %o1, [%sp ] 8, %sp %l0, [%sp ] 8, %sp %sp-32 %sp-24 %sp-16 %l1 %l0 %o1 stx %l1, [%sp ] %sp-8 %o7 brz,a %o1, fact05 %sp mov 1, %o0 mov %o1, %l0 sub %o1, 1, %o1 call Factoriel nop

17 17 Récursivité brz,a nop %o0, fact05 mulx %l0, %o0, %l1 srlx %l1, 32, %l0 brnz,a %l0, fact05 clr %o0 %sp-32 %sp-24 %l1 %l0 fact05: mov %l1, %o0 ldx [%sp ], %l1 inc 8, %sp %sp-16 %sp-8 %sp %o1 %o7 ldx [%sp ], %l0 inc 8, %sp ldx [%sp ], %o1 inc 8, %sp ldx [%sp ], %o7 inc 8, %sp retl nop

18 18 La pile sous Solaris Espace d adressage d un processus Système 0xFFFFFFFFFFFFFFFF Pile Librairies partagées Système Pile Biais %sp+0x7ff %sp 2047 Tas (heap) Données Instructions Système section.data,.rodata,.bss section.text 0x

19 19 La pile sous Solaris Le contenu de la pile varie selon l utilisation que le programmeur veut en faire Si le programmeur utilise l instruction save Le système d exploitation utilise aussi la pile Si un sous-programme en assembleur est appelé par un programme en langage évolué (par exemple C) Le code généré par le compilateur modifie le contenu de la pile Il faut donc respecter certaines règles d utilisation

20 20 La pile sous Solaris Pour résoudre le manque de fenêtres de registres, le programme et les sous-programmes s allouent un espace sur la pile Appelé «bloc» C est le système d exploitation qui s occupe de sauvegarder dans un bloc l image de tous les registres de la fenêtre utilisée

21 21 La pile sous Solaris Allocation d un bloc %sp %sp %fp %fp save %sp, -nn, %sp save %sp, -mm, %sp restore restore %sp

22 22 La pile sous Solaris Composition d un bloc %sp Données locales Données dynamiques Espace de travail Paramètres additionnels Registres %o0 à %o5 Registres %i0 à %i7 %l0 à %l7 %fp -m octets -n octets -p octets -q octets -48 octets -128 octets Tout programme a accès aux données de son bloc Grâce au registre %sp, avec des déplacements positifs Grâce au registre %fp, avec des déplacements négatifs Tout programme a accès aux données du bloc de l appelant Grâce au registre %fp avec des déplacements positifs Tout bloc doit être aligné sur une frontière de double mot Le 128 ajouté à la valeur du %sp dans les exemples précédents

Unité A7 : La pile. Unité A7 : La pile

Unité A7 : La pile. Unité A7 : La pile Objectifs À la fin de cette unité vous saurez comment la pile est utilisée pour passer les paramètres aux sous-programmes, effectuer l'allocation dynamique des variables locales de ces sous-programmes

Plus en détail

Jeu d instructions et modes d adressage MIPS

Jeu d instructions et modes d adressage MIPS Jeu d instructions et modes d adressage MIPS Vincent Risch, mai 2008, révision mai 2014 I.U.T., Aix-Marseille Université Jeu d instructions et modes d adressage MIPS p. 1 MIPS : Introduction Architecture

Plus en détail

CHAPITRE 4. Tour rapide d un premier programme SPARC v9

CHAPITRE 4. Tour rapide d un premier programme SPARC v9 1 CHAPITRE 4 Tour rapide d un premier programme SPARC v9 2 Problème Dans le plan cartésien, trouver le périmètre et la surface d un rectangle connu par l intermédiaire des coordonnées de deux de ses sommets

Plus en détail

CHAPITRE 9. Les caractères

CHAPITRE 9. Les caractères 1 CHAPITRE 9 Les caractères 2 Les caractères Indispensable Permet la saisie Permet l affichage dans une forme compréhensible par les humains Chaque caractère doit être encodé dans une suite de «n» bits

Plus en détail

Organisation des ordinateurs

Organisation des ordinateurs Organisation des ordinateurs Répétition 7 18 mai 2016 Université de Liège Exercice 1 Exercice 1 Les instructions suivantes effectuent des transferts de 16 bits de données. On demande de décomposer chacune

Plus en détail

Assembleur ARM: Séquence d exécution et branchements

Assembleur ARM: Séquence d exécution et branchements Assembleur ARM: Séquence d exécution et branchements xkcd.com GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Merci à Yves Roy Modification de la séquence d exécution

Plus en détail

Fiche 1 : Le langage machine

Fiche 1 : Le langage machine ² Polytech Marseille/Dépt Informatique A3 2016/2017² ² TD Interface Matériel Logiciel² Fiche 1 : Le langage machine Léon Mugwaneza 1/ Sur la représentation des nombres entiers Entiers positifs : notation

Plus en détail

Les procédures/fonctions. Les procédures en langage d assemblage. Introduction. 1. Première approche

Les procédures/fonctions. Les procédures en langage d assemblage. Introduction. 1. Première approche Les procédures en langage d assemblage Comment traduire en langage d assemblage la définition et les appels des procédures et fonctions des langages de haut niveau? Les procédures/fonctions Une procédure

Plus en détail

Chap. 7 Gestion de la mémoire à l exécution

Chap. 7 Gestion de la mémoire à l exécution Chap. 7. Gestion de la mémoire à l exécution Il existe 2 allocations mémoires : 1. statique (à la compilation). 2. dynamique (à l exécution). La gestion de la mémoire à l exécution est plus délicate. Certains

Plus en détail

Pour cela, il a suffi d utiliser les appels système, quelques régistres et des sauts conditionnels très simples.

Pour cela, il a suffi d utiliser les appels système, quelques régistres et des sauts conditionnels très simples. Fonctions, pile, récursion et blocs d activation Les appels de fonctions et la récursion... On a vu comment écrire en assembleur une boucle qui calcule la factorielle d un entier lu sur la console, et

Plus en détail

I2 - Partie 1 : Architecture matérielle Langage machine

I2 - Partie 1 : Architecture matérielle Langage machine I2 - Partie 1 : Architecture matérielle Langage machine N. Prcovic 04.91.28.89.51 nicolas.prcovic@univ-cezanne.fr I2 - Partie 1 :Architecture matériellelangage machine p.1/40 L ordinateur en tant que machine

Plus en détail

CH.4 ENVIRONNEMENTS D EXÉCUTION

CH.4 ENVIRONNEMENTS D EXÉCUTION CH.4 ENVIRONNEMENTS D EXÉCUTION 4.1 Les langages procéduraux 4.2 L organisation de l espace mémoire 4.3 Les stratégies d allocation 4.4 L accès aux noms non locaux 4.5 Les tables des symboles 4.6 L allocation

Plus en détail

Instructions et jeu d instructions

Instructions et jeu d instructions Instructions et jeu d instructions OSA Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Rappel: ordinateur simplifié Ordinateur Liste des instructions disponibles Entrée Sortie

Plus en détail

Chapitre 6 Instructions Pep/8, factorisation et refactorisation

Chapitre 6 Instructions Pep/8, factorisation et refactorisation Chapitre 6 Instructions Pep/8, factorisation et refactorisation Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 06 Instructions

Plus en détail

Code Machine Code Assembleur Processeurs RISC (Byte code).

Code Machine Code Assembleur Processeurs RISC (Byte code). Code Machine Code Assembleur Processeurs RISC (Byte code). Didier Rémy Octobre 2000 http://cristal.inria.fr/ remy/poly/compil/1/ http://w3.edu.polytechnique.fr/profs/informatique//didier.remy/compil/1/

Plus en détail

Exercices : codage des procédures et fonctions. 1 Appel de fonction ou procédure en ARM

Exercices : codage des procédures et fonctions. 1 Appel de fonction ou procédure en ARM UGA - UFR IM 2 AG - MASTER 2 CCI Exercices : codage des procédures et fonctions 1 Appel de fonction ou procédure en ARM L instruction permettant l appel de fonction ou de procédure est nommée bl. Son effet

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Comment sont exécutés les programmes? => du langage de haut niveau au langage machine Composants et couches d une architecture => micro-architecture, bus, entrées-sorties,

Plus en détail

cm 11 - la mémoire G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru Programmation 1 -

cm 11 - la mémoire G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru Programmation 1 - cm 11 - la mémoire G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru 2015-2016 Programmation 1 - uf-info.ue.prog1@diff.u-bordeaux.fr mémoire virtuelle Lors de l exécution du binaire, un espace

Plus en détail

Programmation modulaire

Programmation modulaire Chapitre 18 Programmation modulaire Nous avons vu, lors de l initiation à la programmation, la notion de sous-programme (éventuellement sous des noms divers de fonction, procédure...) et en quoi la programmation

Plus en détail

Architecture des systèmes à processeurs IUT GEII (ISI II2) 2

Architecture des systèmes à processeurs IUT GEII (ISI II2) 2 Architecture des systèmes à processeurs IUT GEII (ISI II2) 2 Christophe BLANC www.christophe blanc.info IUT de Montluçon Département Génie Electrique et Informatique Industrielle Architecture des systèmes

Plus en détail

INF2170 Organisation des ordinateurs et assembleur. Examen Final. Jeudi 16 décembre Durée 3 heures

INF2170 Organisation des ordinateurs et assembleur. Examen Final. Jeudi 16 décembre Durée 3 heures Nom : Prénom : Code permanent : Salle : INF2170 Organisation des ordinateurs et assembleur Examen Final Jeudi 16 décembre Durée 3 heures Notes : Tout document interdit. Les réponses aux questions doivent

Plus en détail

La gestion des procédures

La gestion des procédures La gestion des procédures Laboratoire de Systèmes Logiques Appel de procédure En langage de haut niveau: procedure toto; begin end; toto; toto; En langage machine: toto: rts jsr toto jsr toto Page 2 L

Plus en détail

PLAN PLAN 30/01/2016. Introduction. Introduction. Déclaration des constantes. Déclaration des constantes. Déclarations des variables

PLAN PLAN 30/01/2016. Introduction. Introduction. Déclaration des constantes. Déclaration des constantes. Déclarations des variables DÉCLARATION DES DONNÉES & MODES D ADRESSAGES Par : Khaled.hassine@fsg.rnu.tn 23/08/2010 1 30/01/2016 2 30/01/2016 3 30/01/2016 4 1 30/01/2016 5 30/01/2016 6 Syntaxe : EQU

Plus en détail

Exercices reliés au chapitre 8

Exercices reliés au chapitre 8 Université Laval Faculté des sciences et de génie Département d informatique et de génie logiciel IFT-3101 Danny Dubé Version : Automne 2013 Exercices reliés au chapitre 8 Exercices Voici les exercices

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 4 Le langage assembleur : Introduction et Présentation de l assembleur du 8086 3ème année Niveaux de programmation (rappel) MUX... 0/1 Unité

Plus en détail

Couche des langages d application. Couche du langage d assemblage. Couche du système d exploitation

Couche des langages d application. Couche du langage d assemblage. Couche du système d exploitation Jeu d instructions Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau 1 Niveau 0 Couche des langages d application Traduction (compilateur) Couche du langage d assemblage Traduction (assembleur) Couche du système

Plus en détail

ARCHITECTURE DES ORDINATEURS Corrigé PARTIEL Octobre 2011 Tous documents autorisés 2H

ARCHITECTURE DES ORDINATEURS Corrigé PARTIEL Octobre 2011 Tous documents autorisés 2H ARCHITECTURE DES ORDINATEURS Corrigé PARTIEL Octobre 2011 Tous documents autorisés 2H Pour toutes les questions, on utilise le jeu d instructions NIOS-II. Les différentes parties sont indépendantes PARTIE

Plus en détail

Pour ce cours, on utilisera comme machine cible le processeur MIPS 2000, un RISC pour lequel on dispose d un excellent émulateur, SPIM.

Pour ce cours, on utilisera comme machine cible le processeur MIPS 2000, un RISC pour lequel on dispose d un excellent émulateur, SPIM. Le processeur MIPS 2000 et SPIM Il y a plusieurs microprocesseurs, classés en deux grandes classes CISC : Intel RISC : MIPS, SPARC, etc Pour ce cours, on utilisera comme machine cible le processeur MIPS

Plus en détail

Chap. II : Initiation au Langage Machine

Chap. II : Initiation au Langage Machine UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie du cours, nous allons étudier la programmation en langage machine d un microprocesseur. L étude complète

Plus en détail

Chapitre 9 Structure et données

Chapitre 9 Structure et données Chapitre 9 Structure et données Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 09 Structures et données INF2170 Automne 2013

Plus en détail

SIPRO: un PROcesseur SImple

SIPRO: un PROcesseur SImple SIPRO: un PROcesseur SImple Nicolas Bedon 10 octobre 2016 1 Introduction L architecture d un ordinateur est centrée autour d un composant : le processeur. Le processeur est un automate sachant réaliser

Plus en détail

Table des matières. Organisation des ordinateurs et assembleur

Table des matières. Organisation des ordinateurs et assembleur Organisation des ordinateurs et assembleur 1 Introduction 1 Prolégomènes 1 Programmation en langage d assemblage 3 2 Structure et fonctionnement d un ordinateur 11 2.1 Définition d un ordinateur 11 2.2

Plus en détail

Constitution interne. Introduction aux architectures matérielles. Mémoire interne. Les ports

Constitution interne. Introduction aux architectures matérielles. Mémoire interne. Les ports Constitution interne Introduction aux architectures matérielles Sylvain Chevallier sylvain.chevallier@uvsq.fr IUT de Vélizy Université de Versailles Saint-Quentin janvier 2016 Voir feuille jointe Le 68HC11

Plus en détail

Architecture des systèmes informatiques

Architecture des systèmes informatiques 1/24 5 : Architecture des systèmes informatiques Chapitre 5 : Idir AIT SADOUNE CentraleSupélec - Département Informatique 3, rue Joliot-Curie, 91192 Gif-sur-Yvette cedex

Plus en détail

Les processeurs à plusieurs niveaux de langage Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne

Les processeurs à plusieurs niveaux de langage Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne Les processeurs à plusieurs niveaux de langage Laboratoire de Systèmes Logiques Processeurs à plusieurs niveaux de langage Si l on veut avoir un processeur non spécialisé, capable d exécuter plusieurs

Plus en détail

Chapitre 5 Adressage des opérandes, boucles, tableaux et pointeurs

Chapitre 5 Adressage des opérandes, boucles, tableaux et pointeurs Chapitre 5 Adressage des opérandes, boucles, tableaux et pointeurs Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 05 Adressage

Plus en détail

Architecture des ordinateurs. Langage d assemblage. Processeur et Programmation D un point de vue de la programmation, le processeur offre

Architecture des ordinateurs. Langage d assemblage. Processeur et Programmation D un point de vue de la programmation, le processeur offre Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Langage d assemblage jtalbot@cmiuniv-mrsfr L3 Informatique - Université de Provence () Architecture des ordinateurs

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Séance 5 : Chemin de données Programme 2 Plan 1. Le microprocesseur, aspect externe 2. Le chemin de données, aspect interne 3. le contrôleur 4. le cycle d exécution machine 5. illustration du principe

Plus en détail

1. À l aide de la datasheet du coeur ARM ou d un simulateur, quels bits formeraient l instruction ARM MOV R3, #4?

1. À l aide de la datasheet du coeur ARM ou d un simulateur, quels bits formeraient l instruction ARM MOV R3, #4? GIF-1001 Ordinateurs: Structure et Applications Solutions: ARM variables et accès mémoire 1. À l aide de la datasheet du coeur ARM ou d un simulateur, quels bits formeraient l instruction ARM MOV R3, #4?

Plus en détail

LA PROGRAMMATION du 8086

LA PROGRAMMATION du 8086 LA PROGRAMMATION du 8086 1. Introduction : Chaque microprocesseur reconnait un ensemble d instructions appelé jeu d instructions (Instruction Set) fixé par le constructeur. Pour les microprocesseurs classiques,

Plus en détail

Le Langage d Assemblage et l Assembleur (SRC) Sujets

Le Langage d Assemblage et l Assembleur (SRC) Sujets Le Langage d Assemblage et l Assembleur (SRC) IFT1225 Dép. d IRO, Université de Montréal (professeur E. Cerny) 99-09-07 ift1225 2.1 Sujets Le langage machine, le langage d assemblage La tâche de l assembleur

Plus en détail

TD 4 : Programmation en assembleur 8086

TD 4 : Programmation en assembleur 8086 Exercice 1 : Microprocesseur 8086 - TD 4 TD 4 : Programmation en assembleur 8086 Ecrire un programme, en langage assembleur 8086, qui permet de compter les nombres nuls dans un tableau d octets mémoire

Plus en détail

Premier examen Corrigé

Premier examen Corrigé Directives générales Corrigé L examen se fait individuellement. Tout plagiat sera rapporté à la direction du département et sévèrement puni. Vous avez droit aux manuels et aux notes de cours, ainsi qu

Plus en détail

Introduction à l architecture ARM. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde

Introduction à l architecture ARM. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Introduction à l architecture ARM GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Petit historique Tandis qu Intel produit des microprocesseurs 8086 et 80286, des employés

Plus en détail

Adressage des opérandes

Adressage des opérandes Organisation des ordinateurs et assembleur Chapitre 6 Bien que nous ayons parlé d'adressage des opérandes et que nous ayons utilisé des opérandes dans ce qui précède, la question de l'adressage et des

Plus en détail

CONTENU DU COURS. GPA770: Microélectronique appliquée Éric Granger A.2-1

CONTENU DU COURS. GPA770: Microélectronique appliquée Éric Granger A.2-1 CONTENU DU COURS GPA770: Microélectronique appliquée Éric Granger A.2-1 Partie A Mise en contexte A.1 Survol de l électronique numérique systèmes de numérotation opérations arithmétiques binaires représentation

Plus en détail

Interruptions. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Interruptions. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Interruptions GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Bref retour sur l appel de fonctions 3 mécanismes importants: détermination de l adresse de retour passage

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Récursivité d après le cours de N. Devésa, Polytech lille Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 5 Le langage assembleur (2): Pile, Procédures. Les Interruptions 3ème année L assembleur 8086 : la pile = structure de «rangement» de données

Plus en détail

Plan du cours. 1 Histoire de l ordinateur. 3 Représentation interne des informations. 4 Encodage de l information. 5 Circuits logiques

Plan du cours. 1 Histoire de l ordinateur. 3 Représentation interne des informations. 4 Encodage de l information. 5 Circuits logiques Plan du cours 1 Histoire de l ordinateur 2 Présentation générale 3 Représentation interne des informations 4 Encodage de l information 5 Circuits logiques 6 Composants électroniques 7 Mémoires 8 Unité

Plus en détail

Architecture des ordinateurs : Fiche de TD 3

Architecture des ordinateurs : Fiche de TD 3 INFO 202 2009/2010 Architecture des ordinateurs : Fiche de TD 3 Microprocesseurs décembre 2009 Architecture mono-bus On considère le microprocesseur dont l architecture est présentée Figure 1. Ce microprocesseur

Plus en détail

Organisation du programme objet

Organisation du programme objet Organisation du programme objet Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr perso.ens-lyon.fr/paul.feautrier 2 février 2009 1 / 33 Introduction Avant de commencer à générer le programme objet,

Plus en détail

ASM Cortex-M3 : Cours #3Adressages par registre, et immédiats

ASM Cortex-M3 : Cours #3Adressages par registre, et immédiats ASM Cortex-M3 : Cours #3 Adressages par registre, et immédiats 2010 Plan Adressage par registre 1 Adressage par registre 2 1 Adressage par registre 2 Adressage par registre : GPR Une opérande peut être

Plus en détail

Le Langage Assembleur (80 86)

Le Langage Assembleur (80 86) Introduction Le Langage Assembleur (80 86) L Assembleur Le langage machine se compose d instructions binaire tel qu on les trouve en mémoire au moment de l exécution d un programme. En effet, les premiers

Plus en détail

Présentation de l architecture de la machine MIPS 2000

Présentation de l architecture de la machine MIPS 2000 Introduction à l assembleur: plan Présentation de l architecture de la machine MIPS 2000 Registres, mémoire, directives Les instructions: accès à la mémoire opérations arithmétiques opérations logiques

Plus en détail

Version actuelle. Gestion de la mémoire. Le tas. Le tas

Version actuelle. Gestion de la mémoire. Le tas. Le tas Version actuelle Gestion de la mémoire Dans notre version du compilateur, pas de pointeurs, pas de malloc/free, les variables globales sont allouées de façon statiques, les variables locales, même les

Plus en détail

Rappels. Architecture des Processeurs

Rappels. Architecture des Processeurs Rappels Architecture des Processeurs 1 Plan Architecture Von Neumann CISC versus RISC Modes d'exécutions d'un processeur Exceptions & Interruptions Pile d'exécution Entrées / Sorties 2 Architecture Von

Plus en détail

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Introduction à l assembleur ARM: variables et accès mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Plan Cette semaine: Déclarer des variables et leur affecter

Plus en détail

3 Le fonctionnement d un ordinateur

3 Le fonctionnement d un ordinateur 3 Le fonctionnement d un ordinateur Peter Schlagheck Université de Liège Ces notes ont pour seule vocation d être utilisées par les étudiants dans le cadre de leur cursus au sein de l Université de Liège.

Plus en détail

Allocation Mémoire T. HSU. September 29, 2014. IUT de LENS, Département informatique. T. HSU Allocation Mémoire

Allocation Mémoire T. HSU. September 29, 2014. IUT de LENS, Département informatique. T. HSU Allocation Mémoire Allocation Mémoire T. HSU IUT de LENS, Département informatique September 29, 2014 Introduction Les algorithmes sous-jacents à tout programme informatique consomment essentiellement deux ressources : du

Plus en détail

La couche ISA (Instruction Set Architecture)

La couche ISA (Instruction Set Architecture) Architecture des ordinateurs Cours 5 La couche ISA (Instruction Set Architecture) 19 novembre 2012 Rappel : architecture en couches Archi 1/21 RISC vs. CISC Archi 2/21 5. Langages haut niveau Compilation

Plus en détail

INFORMATIQUE INDUSTRIELLE

INFORMATIQUE INDUSTRIELLE INFORMATIQUE INDUSTRIELLE TR 1. 1 0. Préambule INFORMATIQUE INDUSTRIELLE : INFORMATIQUE AVEC CONTRAINTE DE TEMPS INFORMATIQUE AVEC PERIPHERIQUES D E/S INFORMATIQUE AVEC CONTRAINTE DE TEMPS Intervention

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XSPIM : un simulateur graphique du MIPS R2000 Jacques Farré email : Jacques.Farre@unice.fr

Plus en détail

Rapport pour le projet du Compilateur MISC

Rapport pour le projet du Compilateur MISC Rapport pour le projet du Compilateur MISC Nicolas Bonvin, Gilles Diacon, Xavier Perséguers École Polytechnique Fédérale de Lausanne 2 février 2003 1 Optimisations Le code généré par le compilateur n étant

Plus en détail

Programmation en assembleur du LC3

Programmation en assembleur du LC3 Programmation en assembleur du LC3 1 Programmation en assembleur du LC-3 Introduction à l'architecture du LC-3 Allure générale d'un programme Les instructions que l'on va utiliser Les instructions de chargement

Plus en détail

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2017 Jean-François Lalonde

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2017 Jean-François Lalonde Introduction à l assembleur ARM: variables et accès mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2017 Jean-François Lalonde Plan Cette semaine: Déclarer des variables et leur affecter

Plus en détail

Spécification MAP32. II. L unité centrale Les registres de l unité centrale sont des registres de 32 bits. On distingue :

Spécification MAP32. II. L unité centrale Les registres de l unité centrale sont des registres de 32 bits. On distingue : 1 Spécification MAP32 I. La mémoire Elle est constituée de mots de 32 bits. La mémoire est accédée par le biais de deux registres processeur, le registre RAD (Registre Adresse) et le registre RDO (Registre

Plus en détail

ARCHITECTURE DES ORDINATEURS Corrigé Examen Décembre H Tous documents autorisés Parties indépendantes

ARCHITECTURE DES ORDINATEURS Corrigé Examen Décembre H Tous documents autorisés Parties indépendantes ARCHITECTURE DES ORDINATEURS Corrigé Examen Décembre 2013 3 H Tous documents autorisés Parties indépendantes OPTIMISATIONS DE PROGRAMME Cette partie utilise le sous-ensemble du jeu d instructions MIPS

Plus en détail

Examen nal (rattrapage)

Examen nal (rattrapage) Examen nal (rattrapage) Clément Jonquet {jonquet@lirmm.fr} 30 mars 2011 Instructions L'examen dure 2h. Il y a 12 questions pour 20 points. 1 point supplémentaire de lisibilité et clarté pourra être ajouté.

Plus en détail

Architectures RISC et superscalaire. Pipe-Line synchrone

Architectures RISC et superscalaire. Pipe-Line synchrone Architectures RISC et superscalaire Pipe-Line synchrone version 1.0 Introduction Les processeurs RISC (Reduced Instruction Set Computer) sont apparus au début des années 80, grâce au développement des

Plus en détail

CNAM. Gestion Mémoire. 2007/2008 Ivan Boule

CNAM. Gestion Mémoire. 2007/2008 Ivan Boule Gestion Mémoire 1 Plan Rôle de la mémoire Espace d'adressage Allocation régions mémoire de tailles variables Gestion de la mémoire centrale par zones Gestion de la mémoire centrale par pagination 2 Rôle

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 5 19 novembre 2012 Archi 1/21 La couche ISA (Instruction Set Architecture) Archi 2/21 Rappel : architecture en couches 5. Langages haut niveau Compilation 4. Langage

Plus en détail

Le langage de la machine

Le langage de la machine Le langage de la machine ASR2 - Système Semestre 2, année 2012-2013 Département informatique IUT Bordeaux 1 Mars 2013 1 / 70 Première partie Structure d un ordinateur 2 / 70 Contenu 1 Élements 2 Interaction

Plus en détail

Cours de «concepts avancés de compilation» Travaux pratiques. Séance du 17 décembre Auteurs : B. Monsuez, F. Védrine

Cours de «concepts avancés de compilation» Travaux pratiques. Séance du 17 décembre Auteurs : B. Monsuez, F. Védrine Cours de «concepts avancés de compilation» Travaux pratiques Séance du 17 décembre 2007 Auteurs : B. Monsuez, F. Védrine L exemple suivant nous servira d exemple de référence pour le TD. Nous présentons

Plus en détail

Architecture des systèmes informatiques

Architecture des systèmes informatiques 1/13 Architecture des systèmes informatiques Chapitre Idir AIT SADOUNE CentraleSupélec - Département Informatique 3, rue Joliot-Curie, 91192 Gif-sur-Yvette cedex Année

Plus en détail

Cours Chapitre: Architecture de Base

Cours Chapitre: Architecture de Base UUniversité de Bouira Cours Chapitre: Architecture de Base Faculté des sciences Module Structure Machine Filière MI 1 ère Année S2 Architecture de base d'un ordinateur Objectifs Comprendre l architecture

Plus en détail

Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs. Cours n 1. Description d'un microprocesseur : le 386

Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs. Cours n 1. Description d'un microprocesseur : le 386 Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs Cours n 1 Description d'un microprocesseur : le 386 1 Introduction Un système informatique classique possède l'architecture

Plus en détail

À propos des variables C

À propos des variables C 2 À propos des variables C Au sommaire de ce chapitre Mémoire d un programme Objective-C Variables automatiques Variables externes Mots clés de déclaration Portée Allocation dynamique Lorsque vous développez

Plus en détail

Objectifs. Chapitre 8 : L architecture de base des ordinateurs. Introduction. 1. Introduction. 1. Introduction

Objectifs. Chapitre 8 : L architecture de base des ordinateurs. Introduction. 1. Introduction. 1. Introduction Chapitre 8 : L architecture de base des ordinateurs Objectifs Introduction Architecture de base d une machine La Mémoire Centrale UAL ( unité arithmétique et logique ) UC ( unité de contrôle ou de commande

Plus en détail

Titre Chemin de données

Titre Chemin de données Chemin de données registre instruction IR MEMOIRE registre compteur PC ensemble de registres + unité de calcul PROGRAMME DONNEES unité de contrôle Les composants qui permettent le stockage, le transfert

Plus en détail

Révision #1 Introduction à la structure interne des ordinateurs. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde

Révision #1 Introduction à la structure interne des ordinateurs. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Révision #1 Introduction à la structure interne des ordinateurs GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Format des nombres 4 points importants: Tout, tout, tout

Plus en détail

Unité d Enseignement M3103 : Algorithmique avancée. Cours 1 - Récursivité. Conservatoire National des Arts et Métiers D. Porumbel et E.

Unité d Enseignement M3103 : Algorithmique avancée. Cours 1 - Récursivité. Conservatoire National des Arts et Métiers D. Porumbel et E. Unité d Enseignement M3103 : Algorithmique avancée Cours 1 - Récursivité Conservatoire National des Arts et Métiers D. Porumbel et E. Soutil 2 UE M3103 Algorithmique avancée Plan du cours 1. Récursivité

Plus en détail

ELE542 Systèmes ordinés en temps réel

ELE542 Systèmes ordinés en temps réel Département de génie électrique Professeur : Jean-Marc Beaulieu ELE542 Systèmes ordinés en temps réel Exercice du Chapitre 4 Aspects matériels Numéro 1 Révision Questions de révision Vrai ou faux a) Le

Plus en détail

Compilation Avancée (MI190) 2014 Cours 2-3 : Machines Abstraites

Compilation Avancée (MI190) 2014 Cours 2-3 : Machines Abstraites UPMC Paris Universitas Master Informatique - STL Compilation Avancée (MI190) 2014 Cours 2-3 : Machines Abstraites Carlos Agon agonc@ircam.fr Du langage au code machine 2 Introduction Langage de programmation!

Plus en détail

Jacques Berger Instructions MIPS. Légende : R[] = registre M[] = mémoire. add Add Addition de deux registres et place la somme dans un registre.

Jacques Berger Instructions MIPS. Légende : R[] = registre M[] = mémoire. add Add Addition de deux registres et place la somme dans un registre. Instructions MIPS Légende : R[] = registre M[] = mémoire add Add Addition de deux registres et place la somme dans un registre. x00 funct : 0x20 R[rd] = R[rs] + R[rt] add $t0,$s1,$s2 # t0 = s1 + s2 addi

Plus en détail

Du langage à l action: compilation et typage

Du langage à l action: compilation et typage Du langage à l action: compilation et typage Xavier Leroy INRIA Paris-Rocquencourt Collège de France, 8/2/2008 X. Leroy (INRIA) Compilation et typage Collège de France, 8/2/2008 1 / 51 Du langage à l action

Plus en détail

INF1600: Architecture des micro-ordinateurs

INF1600: Architecture des micro-ordinateurs INF1600: Architecture des micro-ordinateurs Architecture du microprocesseur Intro à l assembleur et boucle d exécution Responsable du cours : Giovanni Beltrame giovanni.beltrame@polymtl.ca Local: M-4109

Plus en détail

Organisation des ordinateurs et assembleur. Chapitre 9. Sous-programmes

Organisation des ordinateurs et assembleur. Chapitre 9. Sous-programmes Organisation des ordinateurs et assembleur Chapitre 9 Une suite d'instructions qui doit être exécutée à différents endroits d'un programme, peut ne pas être incluse entièrement à chacun de ces endroits:

Plus en détail

Compilation. Introduction & architecture MIPS. Sandrine Blazy (d après le cours de François Pottier) 20 octobre 2008

Compilation. Introduction & architecture MIPS. Sandrine Blazy (d après le cours de François Pottier) 20 octobre 2008 Compilation Introduction & architecture MIPS Sandrine Blazy (d après le cours de François Pottier) - 2 e année 20 octobre 2008 S.Blazy (www.ensiie.fr/ blazy) Compilation 20 octobre 2008 1 / 49 1 Introduction

Plus en détail

Logiciel de Base : examen de deuxième session

Logiciel de Base : examen de deuxième session Logiciel de Base : examen de deuxième session ENSIMAG 1A Année scolaire 2009 2010 Consignes générales : Durée : 1h. Tous documents et calculatrices autorisés. Vous serez noté sur la précision de vos réponses

Plus en détail

Le rôle de la couche ISA

Le rôle de la couche ISA Jeu d instruction Le rôle de la couche ISA Programme en Fortran compilation Programme en C compilation Couche ISA Logiciel (software) Matériel (hardware) Matériel Exécution du programme ISA Par matériel

Plus en détail

Architectures des ordinateurs

Architectures des ordinateurs Architectures des ordinateurs Sommaire 1) organisation minimale d un ordinateur 2) le processeur 3) la mémoire 4) le programme 5) les interfaces organisation minimale d un ordinateur Initialisation Génération

Plus en détail

École Polytechnique. INF564 Compilation. Jean-Christophe Filliâtre. Cours 7 / 22 février 2017

École Polytechnique. INF564 Compilation. Jean-Christophe Filliâtre. Cours 7 / 22 février 2017 École Polytechnique INF564 Compilation Jean-Christophe Filliâtre Cours 7 / 22 février 2017 Jean-Christophe Filliâtre INF564 Compilation 2016 2017 / cours 7 1 optimisation des appels terminaux Jean-Christophe

Plus en détail

Systèmes Embarqués Mobiles Architecture des Processeurs

Systèmes Embarqués Mobiles Architecture des Processeurs Systèmes Embarqués Mobiles 2007-2008 Architecture des Processeurs 1 Plan Architecture Von Neumann CISC versus RISC Types de mémoires Modes d'exécutions d'un processeur Exceptions & Interruptions Gestion

Plus en détail

De l ordinateur au processus : rôle d un système

De l ordinateur au processus : rôle d un système De l ordinateur au processus : rôle d un système Laurent Réveillère Enseirb-Matmeca Département Télécommunications Laurent.Reveillere@bordeaux-inp.fr http://www.labri.fr/perso/reveille/if110/ D après le

Plus en détail

Architecture des µprocesseurs. Introduction à la programmation assembleur ARM

Architecture des µprocesseurs. Introduction à la programmation assembleur ARM Architecture des µprocesseurs Introduction à la programmation assembleur ARM 30 Chemins de données de l'arm 31 Assembleur ARM 17 registres de 32 bits (4 octets) r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12

Plus en détail

Organisation de base d'une machine de von Neumann

Organisation de base d'une machine de von Neumann Organisation de base d'une machine de von Neumann Eduardo Sanchez EPFL Le logiciel variables int data = 0x123456; int result = 0; int mask = 1; int count = 0; int temp; while (count < 32) { temp = data

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 7 Introduction aux Systèmes d Exploitation 3ème année Introduction SE = 1 ère couche logicielle d un ordinateur logiciels d application Couche

Plus en détail

ARCHITECTURE DES ORDINATEURS

ARCHITECTURE DES ORDINATEURS ARCHITECTURE DES ORDINATEURS Filière : InfoTronique Chap. 4 : Architecture et fonctionnement du microprocesseur 8086 Dr. Abdelhakim Khouas Email : sm5_archi@hotmail.fr Département de Physique Faculté des

Plus en détail