Travaux Pratiques Architecture des Ordinateurs

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

Download "Travaux Pratiques Architecture des Ordinateurs"

Transcription

1 Université de Savoie Module I621 Travaux Pratiques Architecture des Ordinateurs Sylvain MONTAGNY Bâtiment chablais, bureau TP1 : Simulation des mémoires caches et du pipeline d un processeur TP 2 : Application sur cible à microprocesseurs (1) TP 3 : Application sur cible à microprocesseurs (2) Retrouver tous les documents nécessaires au TP sur le site

2 Université de Savoie Module I621 Architecture des Ordinateurs TP1 Simulation de mémoire cache et pipeline Objectifs : Comprendre le déroulement d un logiciel dans une architecture à microprocesseur. Un compte rendu sera remis avec pour consignes : Format PDF en un seul fichier. Le nom du fichier sera : I621-TPx-Nombinome1-Nombinome2.pdf Envoyé à sylvain.montagny@univ-savoie.fr Votre compte rendu sera bien reçu seulement si vous avez un message de confirmation de notre part. Les parties recopiées entres binômes ne seront pas corrigées. 1. Présentation 1.1. Objectifs Nous allons travailler sur une architecture MIPS 32 bits (Microprocessor without Interlocked Pipeline Stages). L'architecture MIPS est une architecture de processeur de type RISC (Reduced Instruction Set Computer). Son architecture est une référence. Les processeurs fabriqués selon cette architecture sont surtout utilisés dans les systèmes embarqués. L objectif n est pas d étudier cette architecture en particulier, ni d étudier le jeu d instruction de ce processeur. Néanmoins nous allons examiner le déroulement d un logiciel à l aide d un simulateur d architecture MIPS32. Ceci nous permettra de mieux comprendre l organisation et l exécution du code pour le microprocesseur. Vous pouvez parcourir le site web pour visualiser quelques applications des microprocesseurs MIPS Présentation du simulateur MARS MARS is a software simulator for the MIPS assembly language intended for educational use. We will explore the capabilities of MARS release MARS may be downloaded from 2. Prise en main de l environnement Remarques : Certaines questions relèvent plus de la culture générale. Vous pourrez à juste titre chercher des informations sur Internet à ce sujet.

3 >Lancer Mars.jar, dont l application est codée en JAVA. >Ouvrir le code assembleur row-major.asm >Assembler le code (Run>Assemble) L icone permet de lancer l exécution du programme jusqu à la fin. En utilisant cette fonction vous observez le surlignement jaune qui montre l adresse du programme en cours d exécution. Les valeurs du programme qui sont calculées apparaissent dans le segment de donnée. L icone permet de faire un reset du programme et des valeurs de l ensemble des registres du simulateur. L icone permet d exécuter une instruction après l autre. Autrement dit, de faire de l exécution pas à pas. Cette fonction est complété par l icône, qui permet de revenir d un pas : single-step backwards. Le processeur utilise un adressage par octet. Vous pouvez changer le format de visualisation du contenu des adresses et des adresses en hexadécimal ou en décimal :. Dans le logiciel MARS, ajuster le «run speed» : de voir l évolution de l algorithme en fonction du temps. afin d avoir le temps Dans la présentation du segment de code (Text segment en anglais) vous avez les colonnes suivantes : Q1. Précisez ce que chacune des colonnes contiennent. Vous prendrez un exemple en étudiant la ligne de code 41 du programme. Vous vous aiderez de la documentation en annexe. Tout doit pouvoir être justifié : loop: mult $s0, $t1 Q2. Quel est le registre du microprocesseur qui spécifie l adresse de la prochaine instruction à exécuter dans le logiciel. Quelle est la valeur de ce registre au Reset? Est-ce logique par rapport à l implantation de votre programme en mémoire? Q3. Qu est ce que le «text segment» et le «data segment»? Q4. Expliquez les cases : dans le «data segment». Q5. Sachant que le processeur MIPS32 est un processeur 32 bits, quel est la taille d un mot mémoire? Quelle quantité d information le processeur sera-t-il capable de stocker en un seul cycle? Depuis l aide, (Help>Help>Basic_Instructions) vous trouverez l ensemble des instructions disponibles dans ce microprocesseur.

4 Les processeurs MIPS et leurs architectures ont beaucoup évolués depuis leur première version. Le document ci-dessous présente une introduction du jeu d instruction de ce processeur. Q6. Qu est ce que le jeu d instruction d un processeur? Q7. Expliquer en une phrase le message que souhaite faire passer le constructeur au sujet du jeu d instruction de l ensemble des processeurs MIPS. (Ceci est aussi vrai pour tous les processeurs et beaucoup d autres technologies). Q8. Expliquer ce que fait le programme en regardant le code C dans les commentaires (au début du code assembleur). Essayer de retrouver les différentes étapes depuis le code assembleur. Dans le code suivant, vous écrirez sans rentrer dans le détail, le code C aligné sur le code assembleur. CODE ASSEMBLEUR.data data:.word 0 : 256 # storage for 16x16 matrix of words.text li $t0, 16 # $t0 = number of rows li $t1, 16 # $t1 = number of columns move $s0, $zero # $s0 = row counter move $s1, $zero # $s1 = column counter move $t2, $zero # $t2 = the value to be stored CODE C loop: mult $s0, $t1 # $s2 = row * #cols (two-instruction sequence) mflo $s2 # move multiply result from lo register to $s2 add $s2, $s2, $s1 # $s2 += column counter sll $s2, $s2, 2 # $s2 *= 4 (shift left 2 bits) for byte offset

5 sw $t2, data($s2) # store the value in matrix element addi $t2, $t2, 1 # increment value to be stored # Loop control: addi $s1, $s1, 1 # increment column counter bne $s1, $t1, loop # not at end of row so loop back move $s1, $zero # reset column counter addi $s0, $s0, 1 # increment row counter bne $s0, $t0, loop # not at end of matrix so loop back # We're finished traversing the matrix. li $v0, 10 # system service 10 is exit syscall # we are outta here. 3. Applications 3.1. Statistique d exécution Dans le processeur MIPS comme dans tous les processeurs, il existe des instructions : De calcul arithmétique et logique De transfert de donnée (µp>mémoire ou Mémoire>µP) Instruction de contrôle (saut ou branchement conditionnel) Q9. Grâce à l outil «Instruction Statistics», donner le pourcentage des instructions les plus utilisées. Selon vous, d un point de vue de la rapidité d exécution, quel type d instruction le processeur sait bien exécuter? Pour lesquelles il est le plus lent, pourquoi? Note : cliquer sur afin de lier l outil au code que vous avez chargé Le pipeline Les processeurs MIPS intègrent un pipeline. Q10. Préciser l intérêt des pipelines dans un microprocesseur d après le document suivant présent dans la documentation du processeur MIPS Figure 1 : Fonctionnement sans mise en œuvre du pipeline

6 Figure 2 : Fonctionnement avec mise en œuvre du pipeline Q11. Un des aléas possible du pipeline est en relation avec les branchements dans le programme. Dans le programme utilisé, donner la première instruction de saut conditionnel et expliquer la. Préciser aussi quelle solution avons-nous pour éviter cet aléa en particulier Solution des aléas du pipeline Un outil présent dans le simulateur est le BHT Simulator (Branch History Table Simulator). Cet outil est en fait la représentation d une architecture présente dans les processeurs. Cette table permet d enregistrer dans un espace de stockage le résultat des branchements conditionnels : Soit le branchement est pris (TAKEN) Soit le branchement est non pris (NOT TAKEN) Cette table n a pas une taille infinie, et il arrive qu il ne soit pas possible de renseigner tous les branchements présents dans un code. La taille de cette table est spécifier par le champ : «#of BHT entries». >cliquer sur afin de lier le l outil au code que vous avez chargé. Q12. Expliquer pourquoi l historique de branchement peut permettre d améliorer le déroulement du pipeline. Q13. A l issu de l exécution complète du code, combien de branchement ont causés une rupture du pipeline, et combien n ont pas ralentit le déroulement du programme? 3.4. Les mémoires caches Etude de l algorithme utilisé Q14. Expliquer en exécutant l algorithme «row-major.asm», et en visualisant le segment de données, comment sont rangées les lignes et les colonnes du tableau en mémoire? Note : Vous pouvez visualiser les valeurs en décimal plutôt qu en hexadécimal pour que ce soit plus lisible.

7 > Ouvrir l outil «Memory Reference Visualisation». Cet outil permet de représenter graphiquement l espace mémoire du microprocesseur. Les valeurs par défaut sont configurées pour schématiser exactement le tableau data[16][16], c'est-à-dire un tableau de 16 lignes et 16 colonnes. A chaque fois qu un accès mémoire est réalisé, la case concernée est colorée. Q15. Quelles remarques pouvez-vous faire sur les accès en mémoire en exécutant l algorithme du code «row-major.asm» puis celui du code «column-major.asm»? Column Major Algorithm for (col = 0; col < 16; col++) for (row = 0; row < 16; row++) data[row][col] = value++; Row Major Algorithm for ( row = 0; row < 16; row++) for ( col = 0; col < 16; col++) data[row][col] = value++; Performance des algorithmes à l aide des mémoires caches Les processeurs MIPS32 possèdent des mémoires caches. Nous allons effectuer différents tests afin de mettre en évidence l intérêt des mémoires caches dans une architecture à microprocesseurs. Notamment, nous allons utiliser les deux algorithmes «columsmajor.asm» et «row-major.asm». > Ouvrir le Data Cache Simulator, et connecter le à votre code. Q16. Dans cet outil donner le nom des deux types de cache que nous avons vu en cours et préciser rapidement le fonctionnement de chacune d elle. Q17. Expliquer les deux politiques de remplacement : LRU et Random. Pour quel type de cache cela est valable. Q18. Comment est calculé le «cache size»? Dans la configuration par défaut on a :

8 Placement policy : Direct Mapping Number of block : 8 Cache block size : 4 Q19. Avec «row-major.asm» et en vous plaçant dans la configuration par défaut, expliquer en fonction du code en C qui s exécute ce qu il se passe. Justifier le taux de Hit et le taux de Miss. Q20. Quels sont les performances que vous pouvez prédire si la taille des blocs passe de 4 à 8 mots? Vérifier ce résultat en simulation et expliquer pourquoi. Q21. Faites la même chose en passant de 4 à 2 mots, faite la même vérification en simulation. Note : Vous n êtes pas obligé de fermer l outil «mémoire cache» pour ouvrir et compiler un autre code. Q22. Reprenez les 3 dernières questions et faite la même chose avec l algorithme «columnmajor.asm». Donner les performances (taux de Hit et Miss) et expliquer pourquoi. Toujours avec l algorithme «column-major.asm», afficher deux instances de l outil mémoire cache, et faite une comparaison simultanée avec : Placement policy : Direct Mapping Number of block : 8 Cache block size : 4 Placement policy : Direct Mapping Number of block : 16 Cache block size : 16 Q23. A-t-on amélioré le taux de Hit? Faite un essai avec la mémoire cache full associative : Placement policy : Direct Mapping Placement policy : Full Associative Number of block : 8 Number of block : 8 Cache block size : 4 Cache block size : 4 Q24. A-t-on amélioré le taux de Hit? Q25. Pourquoi n a-t-on pas de résultat très performant avec la mémoire cache associative pour ce programme en particulier.

9 4. Documentation

10

11 Université de Savoie Module I621 TP 2 Programmation d applications sur cible Le compte rendu de TP : Un compte rendu sera rendu à la fin de la séance avec pour consignes : Format PDF en un seul fichier. Le nom du fichier sera : I621-TPx-Nombinome1-Nombinome2.pdf. Envoyé par à sylvain.montagny@univ-savoie.fr. Votre compte rendu sera bien reçu seulement si vous avez un message de confirmation de ma part. I. Objectifs du TP Le but de ces manipulations est de découvrir un environnement de programmation moins habituel. Cela met en évidence certaines considération (espace mémoire limité, ressources limitée etc) que vous avons habituellement peu l habitude de prendre en compte. Le processeur cible est un processeur DSP (Digital Signal Processeur). Comme sont nom l indique il est destiné à réaliser des applications de traitement du signal. C est pour cette raison que nous application sera orienté vers un algorithme qui permettra de modifier certains paramètres d un signal sonore. 1. Matériel à votre disposition Certains des éléments suivants sont présents sur votre plan de travail. Une carte Processeur DSK5416 Une paire d enceinte amplifiée Un câble audio Un câble USB Un câble d alimentation pour la carte 2. Montage du TP Nous réaliserons une application audio classique. Dans notre cas, l objectif final est d appliquer un filtre d écho sur un fichier son. Le montage du TP est donné à la figure suivante. Cependant, il faut impérativement suivre scrupuleusement les instructions du paragraphe Instruction pour la connexion de la carte pour éviter tout disfonctionnement. Attention : Il est important de relier la sortie du PC à LINE IN et les enceintes à SPKR OUT. 27/03/2013 Page 1/6

12 Switches LED USB C5416 Carte DSK PCM 3002 LINE OUT SPKR OUT LINE IN 3. Instruction pour la connexion de la carte Cette procédure est à réaliser avec attention chaque fois que pour une raison ou une autre la connexion USB ne fonctionne plus (Re)Brancher l alimentation de la carte DSK. Attendre que les LEDs aient clignoté puis restent allumées Brancher le câble USB. Lancer CCS (Code Composer Studio) Se connecter à la cible : Debug > Connect Une icône verte doit apparaître en bas à gauche de la fenêtre de CCS pour préciser que la carte est bien connectée au PC. Remarque : L allumage et l extinction des enceintes près de la carte DSP font perdre la connexion USB dues à des perturbations électro-magnétique. Il faudra donc toujours laisser les hauts parleurs allumés lors des manipulations. II. Présentation de CCS : Ouvrir le projet template.pjt (Project>Open >template.pjt) 1. Présentation générale CCS est un Logiciel dit IDE (Integrated Development Environment) pour compiler, assembler, linker et débuguer des programmes pour le DSK (DSP Starter Kit), autrement dit la carte de développement DSP. Ce logiciel est donc utilisé dans toutes les phases de développement d une application : Coder, Compiler, assembler, et linker : Créer un projet, écrire le code en utilisant l éditeur, compiler et éditer les liens. Débuguer : Vérification de l algorithme, des affectations des variables. Utilisation de Break Points (point d arrêt dans le programme), fonctionnement du programme en pas à pas, etc 27/03/2013 Page 2/6

13 Analyse : Statistiques, analyse temps réelle, analyse temps réel, etc 2. Prise en main de CCS Vous allez prendre en main CCS en utilisant les différentes fonctionnalités à partir d un programme simple. Dans le tutorial de CCS, on peut retrouver les définitions suivantes pour les fichiers contenus dans le projet..pjt This file contains all of your project build and configuration options.lib This library provides runtime support for the target DSP chip.c This file contains source code that provides the main functionality of this project.h This file declares the buffer C-structure as well as define any required constants.asm This file contains assembly instructions.cmd This file maps sections to memory Remarque : le projet est de type DSP/BIOS. Cela offre l avantage d une configuration simplifié du système d exploitation présent dans la mémoire interne du processeur. Par ailleurs cette interface de configuration DSP BIOS permet de prendre en main le noyau temps réel multitâches, dont nous n utiliserons pas les caractéristiques ici. 3. Premier programme Le programme du DSP utilise le codec audio PCM3002 qui est en fait un convertisseur A/N & N/A. Le codec audio est vu comme un périphérique classique du point de vue du processeur. Ce programme recopie simplement le signal reçu sur l entrée «Line In» vers la sortie «Spkr Out». Compiler le projet en entier (Project > Rebuild All) et charger le code exécutable (.out) dans le DSP (File > Load Program). Lancer l application (Debug > Run) et vérifier le fonctionnement. Pour cela vous utiliserez le fichier son mis à votre disposition pour le test. Q1. En positionnant un point d arrêt dans le code (double clic en colonne de gauche), visualiser les échantillons right_input, right output, left_input et left output (clic droit sur la variable > Add to watch Window). Vérifier le fonctionnement correct du programme. III. Analyse et conception d un programme 1. Fichier de commande et implantation du code en mémoire Le fichier de commande (dossier Generated File > templatecfg.cmd ) est généré automatiquement à partir du fichier de configuration template.cdb. De plus, si l utilisateur souhaite le compléter il peut le faire dans un autre fichier qui sera joint au projet (fichier_xxx.cmd). Observer le fichier de commande templatecfg.cmd et notamment les parties MEMORY, puis SECTIONS. Q2. Expliquer à quoi sert un fichier de commande d une façon générale, et à quoi servent précisément les parties MEMORY, puis SECTIONS? 27/03/2013 Page 3/6

14 Le processus de compilation fournit un code assembleur spécifique à ce DSP. Ce langage assembleur utilise par exemple la directive.text pour désigner du code. Q3. D après le contenu du fichier templatecfg.cmd à quelle adresse sera implanté le code (.text) du projet compilé? Vérifier et justifier votre réponse de deux façons : En visualisant la mémoire programme (View>Memory) En visualisant le fichier template.map généré à la compilation 2. Amplification du son A partir de ce projet, nous allons réaliser le traitement des échantillons audio reçus. Les fonctions suivantes font parties de la library dsk5416f.lib : unsigned int switch_status_display(void) Cette fonction retourne la valeur présente sur les switches présent sur la carte. Q4. En utilisant la fonction fonction switch_status_display () présente dans le fichier switches.c, réaliser un amplificateur des voies droites et gauches suivant la valeur des interrupteurs. Le prototype de la fonction sera le suivant : void amplification(int16 in, Int16 *p_out, Int16 ampli). Int16 in : Echantillon d entrée Int16 *p_out : Pointeur sur l échantillon de sortie après traitement Int16 ampli : Coefficient multiplicateur pour l amplification Note : Uint32 est un «Unsigned int sur 32 bits» Int16 est un «Signed int sur 16 bits» En passant la souris sur les types redéfinis (Uint32, Int16. etc), et en cliquant sur le fichier concerné on peut avoir des informations complémentaires : Q5. D après l étude des différents «typedef» qui sont réalisés, expliquer l intérêt de ces déclarations plutôt que les utilisations classique (short, int, long, double etc)? 3. Enregistrement du son et visualisation des échantillons Buffer linéaire On utilisera dans un premier temps un buffer linéaire avec décalage des échantillons précédents et insertion du premier échantillon en première case du tableau. Q6. Créer une nouvelle fonction réalisant le stockage des 128 derniers échantillons de la voie droite et de la voie gauche. Les buffers (tableaux) seront définis par les déclarations suivantes : 27/03/2013 Page 4/6

15 #define MAXBUFSIZE 128 // en début de fichier Int16 in_buffer_right[maxbufsize]; // déclaration en variable globale Int16 in_buffer_left[maxbufsize]; Et le prototype de la fonction sera le suivant : void linear_buffer( Int16 ech, Int16* buff); Int16 ech : échantillon à enregistrer Int16* buff : Pointeur sur le tableau d échantillons Q7. CCS permet d afficher des zones mémoires (ex : tableaux) sous forme de graphiques (View > Graph > Time/Frequency). Représenter le signal audio par un graphique en complétant convenablement les champs demandés. Note : En C, l adresse d un tableau en mémoire est son nom Buffer circulaire Le processus de capture par buffer linéaire défini précédemment est relativement couteux en nombre de cycles. Nous allons le remplacer par un buffer circulaire. Nous prendrons des buffers circulaires de taille MAXBUFSIZE=1024. Q8. Ecrire une nouvelle fonction permettant d'enregistrer un signal dans deux buffers circulaires (droite et gauche), avec le prototype suivant: void circular_buffer(int16 ech, Int16* buff); Int16 ech : échantillon à enregistrer Int16* buff : Pointeur sur le tableau d échantillons IV. Traitement numérique d un signal sonore 1. Filtre d'écho On désire implémenter un filtre d'écho. C'est-à-dire que l algorithme logiciel implémenté est une amplification d un échantillon arrivé précédemment. Formule : y( n) x( n) G. x( n k) y(n) est l échantillon de sortie x(n) est l échantillon de musique non traité à l entrée de la carte (à la sortie du lecteur MP3) x(n-k) est l échantillon stocké dans le buffer avec un retard de k échantillons. G le gain sur l échantillon retardé. Q9. Quel est le lien entre le délai en secondes et le nombre d échantillons sachant que la période d échantillonnage (capture des échantillons sonore) est de Hz? Trouver alors la taille du tableau (MAXBUFFSIZE) que vous devez implémenter pour un retard de 0,2s. Q10. Réaliser à la fois l enregistrement circulaire des échantillons (pour effectuer le retard) et le calcul qui implémente cet écho. On prendra G=1 (c'est-à-dire qu on superposera à puissance égale l écho et le signal original). 27/03/2013 Page 5/6

16 2. Utilisation de la mémoire Q11. Quel est le retard maximum que vous auriez pu réaliser?. Faites tout d abord un essai de façon pratique (en essayant des valeurs), puis vérifier en visualisant l allocation mémoire faite par les buffers des deux voies (fichier.map). Q12. Quelle est le nom de la zone mémoire utilisée pour l allocation de ces buffers? On s aperçoit qu une fois de plus, dans un système embarqué, nous sommes limités en termes de ressources. Nous voyons très facilement ici les limitations dues à la taille de la mémoire centrale interne au composant. Une première façon pour contourner la limitation mémoire de la zone utilisée est de placer les données dans une zone plus grande. Visualiser le fichier template.cmd, qui est un fichier de commande. SECTIONS {.buffer > DARAM47 } Nous allons inclure le code suivant dans le fichier principale grâce à la directive #pragma. #pragma DATA_SECTION (in_buffer_right, ".buffer") #pragma DATA_SECTION (in_buffer_left, ".buffer") Q13. Expliquer l action de l éditeur de lien à la vue du fichier de commande template.cmd jumelé à l ajout des lignes #pragma dans le code source. Vérifier son effet grâce à l étude de l implantation des buffers dans le fichier généré «.map». Q14. Quelle est la nouvelle taille maximale des buffers (en échantillons et en secondes)? Vous pouvez faire un nouvel essai de l écho pour faire le plus grand écho possible. 3. Estimation de la charge processeur Le DSP utilisé possède un système d exploitation temps réel multitâche non utilisée ici. Un Scheduler permet de faire le séquencement entre toutes les taches à exécutées dans le système. Nous avons dans notre cas qu une tâche qui s exécute Q15. Dans le cas de notre application, estimer la charge CPU? Proposez une amélioration de votre système. 27/03/2013 Page 6/6

17 Université de Savoie Module I621 TP3 Programmation d applications sur cible Le compte rendu de TP : Un compte rendu sera rendu à la fin de la séance avec pour consignes : Format PDF en un seul fichier. Le nom du fichier sera : I621-TPx-Nombinome1-Nombinome2.pdf. Envoyé par à sylvain.montagny@univ-savoie.fr. Votre compte rendu sera bien reçu seulement si vous avez un message de confirmation de ma part. I. Méthode classique de génération de sinus Dans premier temps nous allons générer des fréquences d une façon classique. C'est-à-dire que la valeur du sinus sera calculée pour chaque échantillon. L objectif sera de jouer une mélodie. Cette mélodie se trouve enregistrée sous forme d un tableau de notes. Chaque ligne du tableau correspond aux caractéristiques de chacune des notes : fréquence, durée, amplitude. Fréquence (Hz) Durée (s) Amplitude (V) Note Note Note Note n En langage C, chaque case du tableau se présente sous la forme d une structure : struct Note { int freqnote; float dureenote; float AmplitudeNote; }; # define TAILLE_MORCEAU_MUSIC 4

18 //Exemple de Morceau sur 4 notes => tableau de 4 notes struct Note Morceau_Music[TAILLE_MORCEAU_MUSIC]= {{440,0.25,2},{200,0.25,3},{880,0.25,1},{2000,0.25,4}}; 1. Préparation Le DSP fonctionne à fréquence d échantillonnage fixe de 24 khz que l on notera F ech. Q1. Combien d échantillon NB_ECH_PERIO sont contenu dans une période T note d une note quelconque? Dessiner votre signal échantillonné s ech (t) sur une période en plaçant T note et F ech.... Q2. Donner l expression de s ech (t) en fonction de k [ 0; NB _ ECH _ PERIO 1], et de NB_ECH_PERIO.... La période de retentissement de la note est simplement réalisé en connaissant le nombre d échantillon total ( NB_ECH_DUREE ) qui sera envoyé au Codec Audio. Q3. Donner l expression de NB_ECH_DUREE au cours d une note de durée D note Réalisation sur le DSP Le nombre de bits du convertisseur analogique/numérique est de 16. Cela signifie que les valeurs des signaux en sortie du convertisseur prennent des valeurs [ 2 ;2 1] [ 32768;32767] Q4. Ecrire le code d une fonction [ int Calcul_NB_ECH_PERIO(, ) ] qui retourne le nombre d échantillons contenus dans la période de la note? Les arguments à passer à la fonction sont libres de choix. Q5. Ecrire le code d une fonction [ int Calcul_NB_ECH_DUREE(, ) ]qui retourne le nombre d échantillons contenus dans la durée de la note? Les arguments à passer à la fonction sont libres de choix. Q6. Ecrire le code qui permet de générer une note de fréquence 1000 Hz, de durée 5 secondes. Vous pouvez limiter l amplitude du sinus pour avoir un son plus faible. Q7. Ecrire le code qui permet de générer le morceau de musique dont les notes sont données dans le tableau page suivante. Note : L amplitude de tous les échantillons seront de

19 Notes Morceau Fréquence (Hz) Durée (s) Note 1 Si_ Note 2 - Mi Note 3 - Sol Note 4 - Fa # Note 5 - Mi Note 6 Si_ Note 7 - La Note 8 Fa # Note 9 - Mi Note 10 - Sol Note 11 Fa # Note 12 Ré # Note 13 - Fa Note 14 - Si Note 16 - Si Note 17 - Si Note 18 - Mi Note 19 - Sol Note 20 - Fa # Note 21 - Mi Note 22 Si_ Note 23 - Ré Note 24 Ré bem Note 25 Do Note 26 La bem Note 27 Do Note 28 - Si Note 29 - Si bem Note 30 - Si bem Note 31 - Sol Note 32 - Mi Note 33 - Mi Note 34 - Sol II. DDS : Direct Digital Frequency Une façon de modifier la fréquence du sinus est d utiliser une structure DDS : Direct Digital Frequency. Cette structure est présentée à la figure suivante :

20 Le registre «n» est une phase. A chaque cycle d horloge de fréquence F ech, on ajoute au nombre précédemment stocké dans un accumulateur, un nombre n. Lorsque l accumulateur arrive à saturation (dépassement des index du tableau de sinus), il reboucle et une nouvelle période d accumulation est entamée. Ci-dessous, l évolution de la phase (équivalente à l index du tableau) pour une incrémentation de 1 à chaque coup d horloge. La phase de votre sinus peut aussi être vue comme l index de votre tableau de sinus. C'est-àdire que pour réaliser un sinus deux fois plus rapide, il suffit de lire une case sur deux du tableau de sinus. Pour un sinus trois fois plus rapide, une case sur trois etc. Bien sûr, on ne peut pas lire plus d échantillon que NB_ECH_PERIO (valeur constante qui a servi à l initialisation du tableau de sinus). Q8. Donner l expression du pas fréquentiel, c'est-à-dire la différence entre deux fréquences successives que nous pourrons obtenir en fonction de NB_ECH_PERIO et Fech. Faire l application numérique avec NB_ECH_PERIO=48 et Fech=24kHz. Nous reprenons le tableau de la mélodie que nous devons générer. Q9. Quel pas fréquentiel faut-il respecter? Donner la valeur de NB_ECH_PERIO de notre tableau de sinus pour que cette condition soit respectée. Q10. Donner la fréquence max et min que nous allons pouvoir générer. 3. Réalisation sur le DSP Q11. D après le fichier de commande, quelle zone mémoire pourrait être capable de contenir l ensemble de ces échantillons.

21 Le programmeur doit donc savoir gérer l emplacement de ces variables en mémoires. On se propose de placer votre tableau d échantillon dans un emplacement mémoire plus large : celui que vous avez sélectionné. Cela est réalisé en 2 étapes très simples : On associe votre tableau d échantillon à une directive : «.buffer» : #pragma DATA_SECTION (nom de votre tableau, ".buffer") On spécifie dans un nouveau fichier de commande.cmd (que vous rajouterez au projet) que la section compilée en.buffer sera placée dans votre emplacement choisi. Cela permet de faire passer l information à l éditeur de lien la nouvelle attribution des variables dans l espace mémoire. On peut remarquer que templatecfg.cmd (le fichier de commande généré par l outil de développement) est intégré au début du fichier afin de reprendre toutes les anciennes affectations et simplement de rajouter la nouvelle. templatecfg.cmd SECTIONS {.buffer > Nom de la section dans laquelle il faut mettre votre tableau } Q12. Réaliser une fonction qui initialise l ensemble de votre tableau de sinus. Q13. Réaliser une application qui émet la première note de votre mélodie pendant 5 secondes. Q14. Réaliser la mélodie complète avec la méthode du DDS.

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

CM2 L architecture MIPS32

CM2 L architecture MIPS32 CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

PIC EVAL Dev Board PIC18F97J60

PIC EVAL Dev Board PIC18F97J60 PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures. TP Conversion analogique numérique Les machines numériques qui nous entourent ne peuvent, du fait de leur structure, que gérer des objets s composés de 0 et de. Une des étapes fondamentale de l'interaction

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis Isadora Format des vidéos Exporter vidéo et audio Photo jpeg qualité 50% %, 320X240 Prérequis Quick Time Player Installer version gratuite Isadora, sur le site Matrox Tronic, selon vos besoins PC / MAC

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

3D Lab. NANO TRANSPORT & NANO PLAYER. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL. PCM 24-192 & DSD natif. UPnP DNLA - Bit Perfect media device

3D Lab. NANO TRANSPORT & NANO PLAYER. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL. PCM 24-192 & DSD natif. UPnP DNLA - Bit Perfect media device 3D Lab. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL NANO TRANSPORT & NANO PLAYER PCM 24-192 & DSD natif UPnP DNLA - Bit Perfect media device Ethernet RJ45 - WIFI(*) PCM (44.1 à 192Khz - 16 à 24 bit) DSF

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

SCL LOGICIEL DE CONTROL

SCL LOGICIEL DE CONTROL SCL LOGICIEL DE CONTROL Version 1.3 MRC AUDIO LD- 500 www.mrcaudio.com 1 Contenu 1 - Bienvenu a MRC AUDIO SCL v1.3 2 - Installation du logiciel 3 - Configuration du programme SCL 4 - Contrôle des installations

Plus en détail

Guide d'installation rapide TFM-560X YO.13

Guide d'installation rapide TFM-560X YO.13 Guide d'installation rapide TFM-560X YO.13 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 Troubleshooting 6 Version 06.08.2011 16. Select Install the software automatically

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

Un outil open source de gestion de bibliographies

Un outil open source de gestion de bibliographies Un outil open source de gestion de bibliographies Généralités... 2 Installation... 2 L interface zotero... 2 Ajouter une notice bibliographique manuellement... 4 Modifier ses notices bibliographiques...

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Guide des fonctions avancées de mywishtv

Guide des fonctions avancées de mywishtv Guide des fonctions avancées de mywishtv Table des matières Présentation des fonctionalités avancées de mywishtv 3 Raccorder au réseau domestique et à Internet 4 Logiciel serveur dlna pour votre pc 6 Navigation

Plus en détail

Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes

Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes Chapitre 3 Gnuplot Le langage C ne permet pas directement de dessiner des courbes et de tracer des plots. Il faut pour cela stocker résultats dans des fichier, et, dans un deuxième temps utiliser un autre

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

Travaux pratiques 1.3.2 Détermination de la capacité de stockage des données

Travaux pratiques 1.3.2 Détermination de la capacité de stockage des données Travaux pratiques 1.3.2 Détermination de la capacité de stockage des données Objectifs Déterminer la quantité de mémoire RAM (en Mo) installée sur un ordinateur Déterminer la taille de l unité de disque

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3. 1 sur 6 REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3. OBJECTIF - PUBLIC - LOGICIEL - MATERIEL - METHODE - BIBLIOGRAPHIE - AVANTAGES - DIFFICULTES - AUTEUR DU DOCUMENT - LE DOCUMENT

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

PACKZ System Requirements. Version: 2015-05-27. Version: 2015-05-27 Copyright 2015, PACKZ Software GmbH. 1

PACKZ System Requirements. Version: 2015-05-27. Version: 2015-05-27 Copyright 2015, PACKZ Software GmbH. 1 PACKZ System Requirements Version: 2015-05-27 Copyright 2015, PACKZ Software GmbH. All rights reserved.this manual may not be copied, photocopied, reproduced, translated, or converted to any electronic

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Démarrer et quitter... 13

Démarrer et quitter... 13 Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce

Plus en détail

DAC. avec interface USB audio et préampli stéréo Casque CONVERTISSEUR DIGITAL VERS ANALOGIQUE. Guide d utilisation V1.1 Jan 2011

DAC. avec interface USB audio et préampli stéréo Casque CONVERTISSEUR DIGITAL VERS ANALOGIQUE. Guide d utilisation V1.1 Jan 2011 réf 2080 avec interface USB audio et préampli stéréo Casque CONVERTISSEUR DIGITAL VERS ANALOGIQUE Guide d utilisation V1.1 Jan 2011 DAC NTRODUCTION Merci d'avoir acheté ce DAC (convertisseur audio numérique-analogique)

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

The Grid 2: Manuel d utilisation

The Grid 2: Manuel d utilisation The Grid 2: Manuel d utilisation Bienvenue dans The Grid 2 Merci d avoir choisi The Grid 2! Ce guide va vous apprendre tout ce que vous devez savoir à propos de The Grid 2. Il vous guidera pas à pas pour

Plus en détail

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ 001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer

Plus en détail

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES 1 DECOUVERTE DE LA VIRTUALISATION... 2 1.1 1.2 CONCEPTS, PRINCIPES...2 UTILISATION...2 1.2.1 Formation...2

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Introduction aux outils BI de SQL Server 2014. Tutoriel sur SQL Server Integration Services (SSIS)

Introduction aux outils BI de SQL Server 2014. Tutoriel sur SQL Server Integration Services (SSIS) MIT820: Entrepôts de données et intelligence artificielle Introduction aux outils BI de SQL Server 2014 Tutoriel sur SQL Server Integration Services (SSIS) Description générale Ce tutoriel a pour objectif

Plus en détail

Jeu d instructions NIOS II

Jeu d instructions NIOS II Jeu d instructions NIOS II 1 Formats d instructions Le processeur NIOS II a un jeu d instructions de type RISC. Il possède 32 registres de 32 bits, notés r0 à r31, avec r0 0. Les instructions sont de longueur

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

MAC-TC: programmation d un plate forme DSP-FPGA

MAC-TC: programmation d un plate forme DSP-FPGA MAC-TC: programmation d un plate forme DSP-FPGA Tanguy Risset avec l aide de: Nicolas Fournel, Antoine Fraboulet, Claire Goursaud, Arnaud Tisserand - p. 1/17 Plan Partie 1: le système Lyrtech Introduction

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

GUIDE UTILISATEUR SYSTEMES CCTV

GUIDE UTILISATEUR SYSTEMES CCTV GUIDE UTILISATEUR SYSTEMES CCTV 2SECURE 3 chemin des mules 13124 PEYPIN www.2secure.fr - 1 - SOMMAIRE : 1 ACCEDER / SORTIR D UN MENU :...3 2 VISUALISER UN ENREGISTREMENT SUR LE DVR :...3 3 SAUVEGARDER

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards guide web utilisateur pour les services standards 1/22 version 03 décembre 2013 table des matières Accès au web utilisateur... 3 Onglet accueil... 5 Onglet services téléphoniques... 7 services standards...

Plus en détail

Insérer des images dans Base

Insérer des images dans Base Insérer des images dans Base Version 1.0 du 30.05.2006 Réalisé avec : OOo 2.0.2 Plate-forme / Os : Toutes Distribué par le projet fr.openoffice.org Sommaire 1 Présentation...3 2 Quelques notions initiales...3

Plus en détail

Logiciel PICAXE Programming Editor

Logiciel PICAXE Programming Editor Logiciel PICAXE Programming Editor Notice réduite 1. Lancer le logiciel PICAXE Programming Editor (Vidéo : «Lancer le programme»). 2. Dessiner un diagramme (Vidéos : «Nouveau programme» et «Dessiner le

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

MANUEL D UTILISATION - Précis Poste de Traitement d Images 1 - Déconvolution

MANUEL D UTILISATION - Précis Poste de Traitement d Images 1 - Déconvolution Service Commun de Microscopie MANUEL D UTILISATION - Précis Poste de Traitement d Images 1 - Déconvolution Version 1 Précis Février 2015 SERVICE COMMUN DE MICROSCOPIE MANUEL D UTILISATION Poste de Traitement

Plus en détail

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003. Ce document est libre de droit, merci simplement de respecter son auteur. Toutes remarques ou commentaires seront les bienvenues. ATTENTION : La mise à jour par script entre GLPI et Active Directory ne

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Projet audio. Analyse des Signaux ELE2700

Projet audio. Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique Projet audio Analyse des Signaux ELE2700 Saad Chidami - 2014 Table des matières Objectif du laboratoire... 4 Caractérisation du bruit...

Plus en détail