DSP ORIENTÉ APPLICATIONS INDUSTRIELLES

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "DSP ORIENTÉ APPLICATIONS INDUSTRIELLES"

Transcription

1 DSP et temps réel Chapitre 4_8 DSP ORIENTÉ APPLICATIONS INDUSTRIELLES 4. Set d instructions 5. Directives assembleur 6. Architecture mémoire 7. Editeur de lien 8. Création d un fichier de commande M. Correvon

2

3 T A B L E D E S M A T I E R E S PAGE 4. SET D INSTRUCTIONS INTRODUCTION NOTATIONS ET CONVENTIONS LES OPÉRATIONS DE TYPE MULTIFONCTION Opération ALU / MAC avec lecture de la mémoire PM et DM Lectures simultanées en mémoire de données (DM et de programme (PM) Opération avec l ALU, le MAC ou le décaleur à barillet et lecture en mémoire Opération avec l ALU, le MAC ou le décaleur à barillet et écriture en mémoire Opération avec l ALU, le MAC ou le décaleur à barillet et un transfert de registre à registre L UNITÉ ARITHMÉTIQUE ET LOGIQUE (ARITHMETIC/LOGIC UNIT) Définition des registres xop et yop autorisés pour les instructions ALU Conditions autorisées Notation sur les registres ASTAT, SSTAT, MSTAT Addition X+Y simple et addition avec report Soustraction X-Y simple et soustraction avec report Soustraction Y-X simple et soustraction avec report Fonction logique AND, OR, XOR Instruction sur un bit Test de l état d une variable sans la modifier Complément à deux Complément à un Valeur absolue Incrémentation Décrémentation Division Génération d un état de l ALU LE MULTIPLIEUR ET ACCUMULATEUR (MULTIPLIER/ACCUMULATOR) Définition des registres xop et yop autorisés pour les instructions MAC Conditions autorisées Notation sur le registre d état ASTAT Multiplication Multiplication /addition Multiplication/soustraction Multiplication par 0 (mise à zéro des registres résultat MR ou MF) Transfert Limitation conditionnelle du résultat dans MR (saturation) LE DÉCALEUR À BARILLET (BARREL SHIFTER) Définition des registres xop autorisés pour les instructions du barrel shifter Conditions autorisées Notation sur le registre d état ASTAT Décalage arithmétique Décalage logique Normalisation Définition de l exposant Ajustement de l exposant Décalage arithmétique immédiat Décalage logique immédiat TRANSFERT DE DONNÉES Transfert de données de registre à registre Chargement immédiat d un registre Lecture de la mémoire de données (adressage direct) Lecture de la mémoire de données (adressage indirect)... 41

4 4.7.5 Lecture de la mémoire de programme (adressage indirect) Ecriture de la mémoire de données (adressage direct) Ecriture de la mémoire de données (adressage indirect) Ecriture de la mémoire de programme (adressage indirect) DÉROULEMENT SÉQUENTIEL D UN PROGRAMME Saut Appel à un sous-programme Saut ou appel à un sous-programme sous condition externe Retour d un sous programme Retour d une routine d interruption Boucle Mise en veille INSTRUCTIONS ADDITIONNELLES Contrôle des piles (stack) Lecture et écriture dans la pile du compteur de programme (PC stack) Activation/désactivation des bits du registre de mode de contrôle MSTAT Modification des pointeurs des générateurs d adresses DAG Cycle sans instruction Activation / désactivation des interruptions EXÉCUTION DE PLUSIEURS INSTRUCTION EN UN CYCLE (MULTIFUNCTION) Exécution d une instruction ALU / MAC / SHIFTER et lecture simultanée en mémoire Exécution d une instruction ALU / MAC / SHIFTER et modification simultanée de registre Exécution d une instruction ALU / MAC / SHIFTER et écriture simultanée en DM / PM Lecture simultanée en DM et PM Exécution d une instruction ALU / MAC et lecture simultanée en DM et PM DIRECTIVES ASSEMBLEUR INTRODUCTION DIRECTIVES DU PRÉPROCESSEUR C Exemples de directive pour le préprocesseur C Commentaires pour le préprocesseur C DIRECTIVES DU PRÉPROCESSEUR DE L ASSEMBLEUR Directives de module de programme.module Module chargé à partir de la mémoire de boot (ROM) Module défini avec l attribut STATIC Directives des variables et des buffers.var Directives d initialisation des variables et des buffers.init Directive d insertion d autres fichier source.include Directives concernant la définition de macro.macro Directive concernant les étiquettes dans les macro.local Directive de déclaration globale de variables et buffers.global Directive de déclaration globale d étiquettes de programme.entry Directive de déclaration externe de variables, de buffers et d étiquettes.external Directive de déclaration de constante.const CONSTRUCTION DE L ARCHITECTURE MÉMOIRE (SYSTEM BUILDER) INTRODUCTION DIRECTIVE DU «SYSTEM BUILDER» Directive principale du ficher de description :SYSTEM Directive d identification.adsp21xx Directive du plan mémoire.mmap Directive de déclaration des segments de mémoire.seg FICHIER DE DESCRIPTION D ARCHITECTURE DU KIT D ÉVALUATION DE L ADMC FICHIER DE DESCRIPTION D ARCHITECTURE DE LA CARTE CHPSE EDITEUR DE LIEN (LINKER) INTRODUCTION...90

5 7.2 FONCTIONNEMENT DE L ÉDITEUR DE LIEN Allocation mémoire d exécution Allocation de la mémoire de stockage Traduction des symboles UTILISATION DE LIBRAIRIES AVEC DES APPLICATIONS SPÉCIFIQUES Construction d une librairie unique pour un accès rapide CRÉATION DE FICHIERS DE COMMANDE...94 Bibliographie

6

7 ADMC401 : 4. SET D INSTRUCTIONS Page 1 4. SET D INSTRUCTIONS 4.1 INTRODUCTION Cette première partie décrit l ensemble des instructions pouvant être réalisées par l ADMC401, Ces instructions codées sur 24 bits sont exécutées en un cycle d horloge (CLKOUT) pour autant que l accès à la mémoire externe se fasse sous certaines conditions. Les opérations principales sont : opérations avec l ALU, le MAC ou le décaleur à barillet avec ou sans condition ; transfert de registre à registre ; lecture et écriture en mémoire ; opération avec l ALU, le MAC ou le décaleur à barillet liée avec un transfert de registre à registre ; une lecture / écriture de la mémoire ; une lecture de deux positions mémoire. Pour le dernier point on parle de multifonctions. Les multifonctions sont également codées sur 24 bits. 4.2 NOTATIONS ET CONVENTIONS Les instructions détaillées de cette première partie sont réparties en cinq catégories : opération de calcul (ALU, MAC et décaleur à barillet) ; transfert (move) ; déroulement du programme (program flow) ; multifonction (multifunction) ; divers (miscellaneous). Les conventions de notations suivantes sont utilisées. [ ] : partie optionnelle d une instruction : liste d opérandes dont un doit être choisi pour la réalisation de l instruction. MAJUSCULE : mot réservé représentant le nom d une instruction, d un registre, d une directive, opérande : certaines opérandes liées à une instruction sont notées en minuscule. Ces opérandes peuvent prendre différentes valeurs. Par exemple xop ou yop représentent le nom d un registre. <exp> : représente un exposant (valeur de décalage immédiat. Doit être une grandeur signée de 8 bits. <data> : représente une valeur immédiate. Peut aussi être un symbole (étiquette, variables) ou un nom de buffer précédé par les caractères % ou ^. <addr> : représente une adresse immédiate ou une étiquette de programme. <reg> : représente un registre (voir Tableau 4-1). <dreg> : représente un registre de données (voir Tableau 4-1). Les valeurs immédiates <exp>, <data> ou <addr>, sont des constantes définies en format décimal (par défaut), hexadécimal, octal ou binaire.

8 ADMC401 : 4. SET D INSTRUCTIONS Page 2 Registres reg SB PX I0 I7, M0 M7, L0 L7 CNTR ASTAT, MSTAT, SSTAT, IMASK, ICNTL, IFC TX0, TX1, RX0, RX1 Registres dreg AX0, AX1, AY0, AY1, AR MX0, MX1, MY9, MY1, MR0, MR1, MR2 SI, SE, SR0, SR1 Tableau 4-1 : Définition des registres et des registres de données 4.3 LES OPÉRATIONS DE TYPE MULTIFONCTION Grâce à la structure Harvard du DSP, il est possible de réaliser plusieurs instructions en un seul cycle d horloge. Ce groupe d instruction doit obéir à un certain nombre de règles pour pouvoir réaliser le codage de l ensemble sur 24 bits. On donne ici un exemple de codage pour la multifonction AR = AX0 + AY0, AX0 = DM( I0, M1); Le codage de la multifonction correspond à un format d instruction de type 4 ALU/MAC avec lecture de la mémoire de données DM, instruction de type G Z AMF yop : AY0 xop : AX0 dreg : AX0 I0 M1 G Z AMF xop yop Générateur d adresse 0 DAG1 1 DAG2 Registre de destination de l ALU 0 AR 1 AF Codage de l instruction d addition de l ALU X+Y Registre d entrée X de l ALU AX AX1 Registre d entrée Y de l ALU 0 0 AY0 0 1 AY1 dreg I M Registres de données AX AX1 Registre d index G=0 G=1 0 0 I0 I4 0 1 I1 I5 1 0 I2 I6 1 1 I3 I7 Registre de modification G=0 G=1 0 0 M0 M4 0 1 M1 M5 1 0 M2 M6 1 1 M3 M Opération ALU / MAC avec lecture de la mémoire PM et DM Cette multifonction est sans aucun doute la plus performante. En un cycle d horloge, les opérations suivantes peuvent être réalisées : Multiplication de deux opérandes et sommation avec le résultat de la multiplication précédente.

9 ADMC401 : 4. SET D INSTRUCTIONS Page 3 Lecture de deux opérandes pour la multiplication suivante. Par exemple MR = MR + MX0 * MY0 ( SS), MX0 = DM( I0, M0), MY0 = DM( I4, M4) La première instruction de cette ligne de programmation (jusqu à la première virgule) indique que le registre de résultat du MAC (MR) contient la somme du résultat de la multiplication précédente avec le produit des contenus signés actuels des registres MX0 et MY0 du MAC. La seconde instruction de cette ligne de programmation exécute le transfert du contenu d une position de la mémoire de données (DM) dans le registre MX0. Il s agit là d une adresse indirecte utilisant le générateur d adresse DAG1. La troisième instruction de cette ligne de programmation exécute le transfert du contenu d une position de la mémoire de programme (PM) dans le registre MY0. Il s agit là d une adresse indirecte utilisant le générateur d adresse DAG2. Pour bien comprendre le déroulement séquentiel des événements, il faut se souvenir que les registres / positions mémoire sont lus au début d un cycle ; écrits à la fin d un cycle. A la fin du cycle, le registre MR contient le résultat de la multiplication / addition et les registres MX0, MY0 les valeurs contenues dans les positions mémoire DM(I0.M0) et PM(I4,M4). Il existe toutefois une restriction si plus d une instruction de transfert se trouvent en mémoire externe. Dans ce cas, les accès aux mémoires de données et de programme ne peuvent se faire simultanément Lectures simultanées en mémoire de données (DM et de programme (PM) Cette multifonction est comparable à la précédente si on omet l opération de multiplication. AX 0 = DM( I0, M0), AY0 = DM( I4, M4) La structure de l ALU impose que la donnée transférée au registre AX0 soit issue de la mémoire de données et que la donnée transférée au registre AY0 soit issue de la mémoire de programme. Il existe toutefois une restriction si plus d une instruction de transfert se trouvent en mémoire externe. Dans ce cas, les accès aux mémoires de données et de programme ne peuvent se faire simultanément Opération avec l ALU, le MAC ou le décaleur à barillet et lecture en mémoire Si un seul transfert (lecture) de mémoire à registre est exécuté, il est possible de réaliser dans le même cycle d horloge une opération non conditionnelle avec l ALU (excepté la division DIVS et DIVQ), le MAC, ou le décaleur à barillet (excepté les décalages immédiats) AR = AX0 + AY0, AX0 = DM( I0, M3); Une opération d addition et une lecture en mémoire de données (DM) en adressage indirect sont exécutées dans un même cycle. Il est clair que le registre AR ne peut être utilisé comme registre de destination de la lecture en mémoire.

10 ADMC401 : 4. SET D INSTRUCTIONS Page Opération avec l ALU, le MAC ou le décaleur à barillet et écriture en mémoire Cette multifonction est comparable à la précédente. Il s agit de transférer le contenu d un registre dans la mémoire puis d exécuter une opération avec l ALU (excepté la division DIVS et DIVQ), le MAC, ou le décaleur à barillet (excepté les décalages immédiats). DM ( I0, M3) = AR, AR = AX0 + AY0; Dans ce cas les registres AR, AX0 et AY0 sont lus au début d un cycle, le résultat de l addition et l écriture en mémoire étant exécutés à la fin du cycle. La position mémoire DM(I0,M3) va donc contenir la valeur de AR avant l addition Opération avec l ALU, le MAC ou le décaleur à barillet et un transfert de registre à registre Cette multifonction permet un transfert de registre à registre et l exécution d une opération non conditionnelle avec l ALU (excepté la division DIVS et DIVQ), le MAC, ou le décaleur à barillet (excepté les décalages immédiats) MR = AX0 + AY0, AX0 = MR2 ; Dans cet exemple, la lecture des registres AX0, AY0 et MR2 sont exécuté au début de chaque cycle, le résultat de l opération de l ALU, du MAC ou du décaleur à barillet et le transfert du contenu du registre MR2 étant stocker et dans MR respectivement AX0 à la fin du cycle. Le transfert de registre à registre peut se faire entre n importe quels registres exceptés les registres de boucle (feedback) AF et MF et le registre SB du décaleur à barillet.

11 ADMC401 : 4. SET D INSTRUCTIONS Page L UNITÉ ARITHMÉTIQUE ET LOGIQUE (ARITHMETIC/LOGIC UNIT) 24 bits PMD BUS 16 bits DMD BUS 16 bits MSB 16 bits MUX 16 bits 16 bits Bank 1 AX REGISTERS 2x16 Bank 2 Bank 1 AY REGISTERS 2x16 Bank 2 16 bits 16 bits 16 bits MUX MUX 16 bits AZ AN AC AV AS AQ 16 bits X Y ALU R 16 bits CI AF REGISTER 1x16 16 bits Bank 1 Bank 2 16 bits 16 bits MUX AR REGISTER 1x16 16 bits Bank 2 Bank 1 16 bits 16 bits 16 bits RBUS Figure 4-1 : Unité Arithmétique et logique Définition des registres xop et yop autorisés pour les instructions ALU X opérande : xop AX0, AX1, AR MR0, MR1, MR2 SR0, SR1 Y opérande : yop AY0, AY1, AF

12 ADMC401 : 4. SET D INSTRUCTIONS Page Conditions autorisées Syntaxe Condition Si vraie EQ Egale zéro AZ=1 NE Différent de zéro AZ=0 LT Plus petit que zéro AN.XOR. AV=1 GE Plus grand ou égal à zéro AN.XOR. AV=0 LE Plus petit ou égal à zéro (AN.XOR. AV).OR. AZ=1 GT Plus grand que zéro (AN.XOR. AV).OR. AZ=0 AC Report (ALU carry) AC=1 NOT AC Pas de report (not ALU carry) AC=0 AV Dépassement (ALU overflow) AV=1 NOT AV Pas de dépassement (not ALU overflow) AV=0 MV Dépassement (MAC overflow) MV=1 NOT MV Pas de dépassement (not MAC overflow) MV=0 NEG Signe négatif sur entrée x (ALU) AS=1 POS Signe positif sur entrée x (ALU) AS=0 NOT CE Compteur différent de zéro (not counter expired) Notation sur les registres ASTAT, SSTAT, MSTAT Dans le but de définir l effet de chaque instruction sur les bits du registre d état ASTAT, les notations suivantes sont utilisées : * Le bit en question est modifié en fonction du résultat de l instruction. - Le bit en question n est pas affecté par le résultat de l instruction. 0 Le bit en question est forcé à «0». 1 Le bit en question est forcé à «1».

13 ADMC401 : 4. SET D INSTRUCTIONS Page Addition X+Y simple et addition avec report Syntaxe + yop [ IFcond] AR AF = xop + C + yop + C + constant ; + constant + C Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF Exemple IF EQ AR = AX0 + AY0 + C ; AR = AX ; Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction d addition. : l instruction d addition n est pas exécutée. : exécution inconditionnelle de l instruction d addition. L opération consiste à additionner la première opérande xop à la seconde opérande yop et, si demandé à ajouter le bit de report (AC : ALU Carry) Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

14 ADMC401 : 4. SET D INSTRUCTIONS Page Soustraction X-Y simple et soustraction avec report Syntaxe yop [ IFcond] AR AF = xop + C 1 yop + C 1 + constant ; + constant + C Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF GE AR = AX0 AY0 ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de soustraction. : l instruction de soustraction n est pas exécutée. : exécution inconditionnelle de l instruction de soustraction. L opération consiste à soustraire la première opérande xop à la seconde opérande yop et, si demandé à ajouter le bit de report (AC : ALU Carry) auquel on retranche 1. L addition de «+C-1» pour les calculs en multiprécision correspond à un report d addition «C» auquel il faut soustraire 1 pour passer du complément à 2 au complément à 1 (voir technique de soustraction en multiprécision) Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

15 ADMC401 : 4. SET D INSTRUCTIONS Page Soustraction Y-X simple et soustraction avec report Syntaxe [ IFcond ] AR AF = xop yop xop + C 1 xop + C 1 xop + constant ; xop + constant + C Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF Exemple IF GT AR = AY0 AX0 + C 1 ; Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction de soustraction. : l instruction de soustraction n est pas exécutée. : exécution inconditionnelle de l instruction de soustraction. L opération consiste à soustraire la première opérande xop à la seconde opérande yop et, si demandé à ajouter le bit de report (AC : ALU Carry) auquel on retranche 1. L addition de «+C-1» pour les calculs en multiprécision correspond à un report d addition «C» auquel il faut soustraire 1 pour passer du complément à 2 au complément à 1 (voir technique de soustraction en multiprécision) Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

16 ADMC401 : 4. SET D INSTRUCTIONS Page Fonction logique AND, OR, XOR Syntaxe AR [ IFcond ] = AF xop AND OR XOR yop ; constant Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF Exemple IF FLAG _ IN AR = MR0 AND 8192 ; AR = AX0 XOR AY0 ; Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction logique bit à bit. : l instruction logique bit à bit n est pas exécutée. : exécution inconditionnelle de l instruction logique bit à bit. L opération consiste réaliser une fonction logique ET, OU, OU exclusif bit à bit Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 0. AC Mise à 0.

17 ADMC401 : 4. SET D INSTRUCTIONS Page Instruction sur un bit Syntaxe AR [ IFcond ] = AF TSTBIT n OF xop SETBIT n OF xop CLRBIT n OF xop TGLBIT n OF xop ; Définitions des opérandes et des conditions xop yop Condition n AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF Exemple AF = TSTBIT 5OF AR ; AF = TGLBIT 13OF AX0 ; Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE 0, 15 Vrai Faux Pas de condition : exécution de l instruction sur un bit. : l instruction sur un bit n est pas exécutée. : exécution inconditionnelle de l instruction sur un bit. Ces instructions sont définies de la manière suivante TSTBIT SETBIT CLRBIT TGLBIT : Fonction AND bit à bit avec un 1 sur le bit N n sélectionné. : Fonction OR bit à bit avec un 1 sur le bit N n sélectionné. : Fonction AND bit à bit avec un 0 sur le bit N n sélectionné. : Fonction XOR bit à bit avec un 1 sur le bit N n sélectionné Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 0. AC Mise à 0.

18 ADMC401 : 4. SET D INSTRUCTIONS Page Test de l état d une variable sans la modifier Syntaxe AR [ IFcond ] = AF PASS xop yop constant ; Définitions des opérandes et des conditions xop yop Condition constant MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE État des flags de ASTAT -1,0,1 : affectés : indéfinis : indéfinis Exemple IF GE AR = PASS AY0 ; AR = PASS 0 ; AR = PASS 8191 ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de passage au travers de l ALU. : l instruction de passage au travers de l ALU n est pas exécutée. : exécution inconditionnelle de l instruction de passage au travers de l ALU. PASS 0 est une méthode pour la mise à «0» (Clear) les registres AR ou AF. Par rapport à une instruction de transfert (voir 4.7), l instruction PASS permet de modifier les flag du registre ASTAT Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 0. AC Mise à 0.

19 ADMC401 : 4. SET D INSTRUCTIONS Page Complément à deux Syntaxe [ IF cond] AR AF = xop yop ; Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY0 AY1 AF EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF LT AR = AY0 ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction du complément à deux. : l instruction du complément à deux n est pas exécutée. : exécution inconditionnelle de l instruction du complément à deux Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 0. AC Mise à 0.

20 ADMC401 : 4. SET D INSTRUCTIONS Page Complément à un Syntaxe AR [ IF cond] = AF NOT xop yop ; Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR Exemple MR2 MR1 MR0 SR1 SR0 IF NE AF = NOT AX0 ; AY0 AY1 AF Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction du complément à un. : l instruction du complément à un n est pas exécutée. : exécution inconditionnelle de l instruction du complément à un Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 0. AC Mise à 0.

21 ADMC401 : 4. SET D INSTRUCTIONS Page Valeur absolue Syntaxe [ IF cond] AR AF = ABS xop ; Définitions des opérandes et des conditions xop Condition AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF NEG AF = ABS AX0 ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de la valeur absolue. : l instruction de la valeur absolue n est pas exécutée. : exécution inconditionnelle de l instruction de la valeur absolue Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * 0 * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si xop=0x8000, sinon mise à 0. AV Mise à 1 si xop=0x8000, sinon mise à 0. AC Mise à 0. AS Mise à 1 si xop est négatif, sinon mise à 0.

22 ADMC401 : 4. SET D INSTRUCTIONS Page Incrémentation Syntaxe AR [ IF cond] = yop + 1 ; AF Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR Exemple MR2 MR1 MR0 SR1 SR0 IF GT AF = AF +1 ; AY0 AY1 AF Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction d incrémentation. : l instruction d incrémentation n est pas exécutée. : exécution inconditionnelle de l instruction d incrémentation Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

23 ADMC401 : 4. SET D INSTRUCTIONS Page Décrémentation Syntaxe AR [ IF cond] = yop 1 ; AF Définitions des opérandes et des conditions xop yop Condition AX0 AX1 AR Exemple MR2 MR1 MR0 SR1 SR0 IF EQ AR = AY1 1 : AY0 AY1 AF Description Test la condition optionnelle : EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction de décrémentation. : l instruction de décrémentation n est pas exécutée. : exécution inconditionnelle de l instruction de décrémentation Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

24 ADMC401 : 4. SET D INSTRUCTIONS Page Division Syntaxe DIVS yop, xop; DIVQ xop; Exemple DIVS = AY1, AX0 ; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; ou DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; DIVQ AX0; do _ div : DIVS = AY1, AX0 ; CNTR = 15; DO div _ loop UNTIL div _ loop : DIVQ AX0 CE; Définitions des opérandes et des conditions xop yop AX0 AX1 AR MR2 MR1 MR0 SR1 SR0 AY1 AF Description Cette instruction permet la division yop par xop à l aide de ceux primitives, DIVS et DIVQ. Une division simple précision est constituée d un numérateur de 32 bits et d un dénominateur de 16 bits conduisant à un résultat sur 16 bits. Dans ce cas, l exécution de la division prend 16 cycles. La division peut être signée ou non-signée. Le numérateur et le dénominateur doivent être soit les deux signés, soit les deux non-signés. Les 16 bits de poids forts du numérateur sont dans le registre AF ou AY1, les 16 bits de poids faibles doivent être dans AY0. Les 16 bits du dénominateur peuvent se trouver dans un des registres définis en Le résultat de la division se trouve dans le registre AY0. Pour une division signée, la primitive DIVS est utilisée une fois afin de définir le signe du quotient. Ensuite c est la primitive DIVQ qui doit être utilisée autant de fois qu il reste de bit dans le quotient (pour une division simple précision, DIVQ est utilisé 15 fois). Pour une division non-signée, il faut placer les 16 bits de poids fort du numérateur dans le registre AF et les 16 bits de poids faibles dans le registre AY0. Ensuite il faut forcer le

25 ADMC401 : 4. SET D INSTRUCTIONS Page 19 ASTAT[5] (AQ) à «0» afin d indiquer que le quotient est positif. La primitive DIVQ doit ensuite être utilisée autant de fois qu il reste de bit dans le quotient (pour une division simple précision, DIVQ est utilisé 16 fois). Le bit du quotient généré à chaque instruction DIVS ou DIVQ est le bit ASTAT[5] (AQ). Le reste de la division n est pas utilisable sans correction. Pour plus de détails se référer à [4], Appendix :Division Exception Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ - - * AQ Chargé avec la valeur du bit AQ calculé à chaque exécution de DIVs ou DIVQ

26 ADMC401 : 4. SET D INSTRUCTIONS Page Génération d un état de l ALU Syntaxe NONE = < ALU > ; Exemple NONE = AX0 AY0 ; NONE = PASS SR0 ; Description Exécute l opération programmée et met à jour les bits du registre ASTAT. Le résultat n est pas sauvé. Cette instruction permet de réaliser un test sur l état d une opération sans altérer le contenu des registres de résultats AR et AF. Les instructions suivantes ne sont pas autorisées : xop + constant xop constant xop + constant AND xop OR constant NONE = XOR ; PASS ( excepté 1,0, + 1) TSTBIT SETBIT CLRBIT xop TGLBIT Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * * * * AZ Mise à 1 si le résultat est nul, sinon mise à 0. AN Mise à 1 si le résultat est négatif, sinon mise à 0. AV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. AC Mise à 1 si il y a une retenue, sinon mise à 0.

27 ADMC401 : 4. SET D INSTRUCTIONS Page LE MULTIPLIEUR ET ACCUMULATEUR (MULTIPLIER/ACCUMULATOR) 24 bits PMD BUS 16 bits DMD BUS 16 bits MSB 16 bits MUX 16 bits Bank 2 Bank 1 MX REGISTERS 2x16 Bank 2 Bank 1 MY REGISTERS 2x16 16 bits 16 bits 16 bits 16 bits MUX MUX 16 bits 16 bits 16 bits Bank 2 Bank 1 MF REGISTER 1x16 X Y MULTIPLIER 40 bits P 16 bits ADD / SUBTRACT 32 bits MV 16 bits MUX MUX MUX 8bits Bank 2 Bank 1 MR2 REGISTER 1x8 16 bits 16 bits Bank 2 Bank 1 MR1 REGISTER 1x16 Bank 2 Bank 1 MR0 REGISTER 1x16 16 bits 8bits 16bits 16bits M U X 16 bits 8bits 16 bits 16 bits RBUS 16 bits Figure 4-2 : Multiplicateur et accumulateur Définition des registres xop et yop autorisés pour les instructions MAC X opérande : xop AR MX0, MX1, MX2, MR0, MR1 SR0, SR1 Y opérande : yop MY0, MY1, MF

28 ADMC401 : 4. SET D INSTRUCTIONS Page Conditions autorisées Syntaxe Condition Si vraie EQ Egale zéro AZ=1 NE Différent de zéro AZ=0 LT Plus petit que zéro AN.XOR. AV=1 GE Plus grand ou égal à zéro AN.XOR. AV=0 LE Plus petit ou égal à zéro (AN.XOR. AV).OR. AZ=1 GT Plus grand que zéro (AN.XOR. AV).OR. AZ=0 AC Report (ALU carry) AC=1 NOT AC Pas de report (not ALU carry) AC=0 AV Dépassement (ALU overflow) AV=1 NOT AV Pas de dépassement (not ALU overflow) AV=0 MV Dépassement (MAC overflow) MV=1 NOT MV Pas de dépassement (not MAC overflow) MV=0 NEG Signe négatif sur entrée x (ALU) AS=1 POS Signe positif sur entrée x (ALU) AS=0 NOT CE Compteur différent de zéro (not counter expired) Notation sur le registre d état ASTAT Dans le but de définir l effet de chaque instruction sur les bits du registre d état ASTAT, les notations suivantes sont utilisées : * Le bit en question est modifié en fonction du résultat de l instruction. - Le bit en question n est pas affecté par le résultat de l instruction. 0 Le bit en question est forcé à «0». 1 Le bit en question est forcé à «1».

29 ADMC401 : 4. SET D INSTRUCTIONS Page Multiplication Syntaxe ( SS) [ IF cond] MR MF = xop yop xop ( SU) ( US) ( UU) ; ( RND) Définitions des opérandes et des conditions xop yop Condition MX0 MX1 MR2 MR1 MR0 AR SR1 SR0 MY0 MY1 MF EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF EQ MR = MX0 + MF ( UU) ; { xop yop } MF = SR0 SR0 ( SS) ; { xop xop } Description Les opérandes sont contenus dans les registres spécifiés dans la syntaxe de l instruction. Lors que le registre MF est la destination du résultat, seul les bits N 31 à 16 sont sauvés. L opération xop xop (élévation au carré), les deux opérandes xop doivent être stockés dans le même registre. Le format de chaque opérande est définit comme S : signé ou U : non-signé. La première et la deuxième lettres en parenthèse se rapportent respectivement au premier et au deuxième opérandes. Pour une élévation au carré ( xop xop ) les formats valides sont (UU) ou (SS). Si (RND) est spécifié, le MAC multiplie les deux opérandes et arrondi le résultat pour ne prendre en compte que les 16 bits de poids fort qui sont sauvés dans le registre de destination. Les deux opérandes sont considérés comme des nombres en complément à deux. La fonction d arrondi est décalée. Pour plus de détails sur l algorithme utilisé pour l arrondi, voir [4] Chapitre Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ - * MV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. Il y a dépassement de capacité si les 9 bits de poids fort de MR ne sont pas tous de 0 ou tous des 1.

30 ADMC401 : 4. SET D INSTRUCTIONS Page Multiplication /addition Syntaxe ( SS) [ IF cond] MR MF = MR + xop yop xop ( SU) ( US) ( UU) ; ( RND) Définitions des opérandes et des conditions xop yop Condition MX0 MX1 MR2 MR1 MR0 AR SR1 SR0 MY0 MY1 MF Exemple IF EQ MR = MR + MX0 + MY1 ( SS) ; MF = MR + MX0 MX0 ( SS) ; EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Description Les opérandes sont contenus dans les registres spécifiés dans la syntaxe de l instruction. Lors que le registre MF est la destination du résultat, seul les bits N 31 à 16 sur les 40 du résultat sont sauvés. L opération xop xop (élévation au carré), les deux opérandes xop doivent être stockés dans le même registre. Le format de chaque opérande est définit comme S : signé ou U : non-signé. La première et la deuxième lettres en parenthèse se rapportent respectivement au premier et au deuxième opérandes. Pour une élévation au carré ( xop xop ) les formats valides sont (UU) ou (SS). Si (RND) est spécifié, le MAC multiplie les deux opérandes, additionne le contenu courant du registre MR et arrondi le résultat pour ne prendre en compte que les 16 bits de poids fort qui sont sauvés dans le registre de destination. Les deux opérandes sont considérés comme des nombres en complément à deux. La fonction d arrondi est décalée. Pour plus de détails sur l algorithme utilisé pour l arrondi, voir [4] Chapitre Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ - * MV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. Il y a dépassement de capacité si les 9 bits de poids fort de MR ne sont pas tous de 0 ou tous des 1.

31 ADMC401 : 4. SET D INSTRUCTIONS Page Multiplication/soustraction Syntaxe ( SS) [ IF cond] MR MF = MR xop yop xop ( SU) ( US) ( UU) ; ( RND) Définitions des opérandes et des conditions xop yop Condition MX0 MX1 MR2 MR1 MR0 AR SR1 SR0 MY0 MY1 MF Exemple IF LT MR = MR MX1* MY0 ( SU) ; MR = MR MX0 MX0 ( SS) ; EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Description Les opérandes sont contenus dans les registres spécifiés dans la syntaxe de l instruction. Lors que le registre MF est la destination du résultat, seul les bits N 31 à 16 sur les 40 du résultat sont sauvés. L opération xop xop (élévation au carré), les deux opérandes xop doivent être stockés dans le même registre. Le format de chaque opérande est définit comme S : signé ou U : non-signé. La première et la deuxième lettres en parenthèse se rapportent respectivement au premier et au deuxième opérandes. Pour une élévation au carré ( xop xop ) les formats valides sont (UU) ou (SS). Si (RND) est spécifié, le MAC multiplie les deux opérandes, soustrait le contenu courant du registre MR et arrondi le résultat pour ne prendre en compte que les 16 bits de poids fort qui sont sauvés dans le registre de destination. Les deux opérandes sont considérés comme des nombres en complément à deux. La fonction d arrondi est décalée. Pour plus de détails sur l algorithme utilisé pour l arrondi, voir [4] Chapitre Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ - * MV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0 Il y a dépassement de capacité si les 9 bits de poids fort de MR ne sont pas tous de 0 ou tous des 1.

32 ADMC401 : 4. SET D INSTRUCTIONS Page Multiplication par 0 (mise à zéro des registres résultat MR ou MF) Syntaxe MR [ IF cond] = 0; MF Définitions des opérandes et des conditions Condition EQ NE GT GE LT Exemple LE NEG POS AV NOT AV IF GT MR = 0 ; Description Test la condition optionnelle : AC NOT AC MV NOT MV NOT CE Vrai : exécution de l instruction de mise à «=». Faux : l instruction de mise à «=» n est pas exécutée. Pas de condition : exécution inconditionnelle de l instruction de mise à «=». Le registre de 40 bits MR ou celui de 16 bits MF est mis à «0» Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ MV Mise à 0 inconditionnelle

33 ADMC401 : 4. SET D INSTRUCTIONS Page Transfert Syntaxe MR [ IF cond] = MR ( RND) ; MF Définitions des opérandes et des conditions xop yop Condition - - EQ NE GT GE LT Exemple IF EQ MF = MR (RND) ; Description Test la condition optionnelle : LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Vrai Faux Pas de condition : exécution de l instruction de transfert. : l instruction de transfert n est pas exécutée. : exécution inconditionnelle de l instruction de transfert. Cette instruction correspond à une instruction de multiplication /addition avec yop=0. Le résultat nul de la multiplication est additionner au contenu du registre MR. Le registre de destination est soit MR, soit MF. En utilisant l option (RND), un arrondi est effectué entre le quinzième et le seizième bit de MR Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ - * MV Mise à 1 si le résultat arithmétique est en dépassement de capacité, sinon mise à 0. Il y a dépassement de capacité si les 9 bits de poids fort de MR ne sont pas tous de 0 ou tous des 1.

34 ADMC401 : 4. SET D INSTRUCTIONS Page Limitation conditionnelle du résultat dans MR (saturation) Syntaxe IF MV SAT MR ; Description Test du bit ASTAT[6] (MV) du registre ASTAT correspondant à un dépassement de capacité sur une opération de multiplication. Si MV= «1», les 32 bits de poids les plus faibles (MR1 et MR0) sont forcés à leurs valeurs de limitation. Cette instruction est prévue pour être utilisée à la suite d une instruction de multiplication/addition ou multiplication/soustraction afin d éviter un dépassement de capacité et donc un résultat erroné. La valeur de saturation dépend du bit ASTAT[6] (MV) et du signe du résultat de la multiplication/addition ou multiplication/soustraction stocké dans le registre MR (MSB de MR2). Les résultats possibles après exécution de cette instruction sont les suivants : MV MR2 MSB(MR1) Registre MR R (sortie du MAC) R (sortie de l ALU) 1 OR{MR2}= AND{MR2}= Résultat du calcul Résultat du calcul Pleine échelle positive Pleine échelle négative Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ Aucun bit du registre d état n est affecté par cette opération.

35 ADMC401 : 4. SET D INSTRUCTIONS Page LE DÉCALEUR À BARILLET (BARREL SHIFTER) 16 bits DMD BUS 8 bits LSB MUX SB REGISTER 1x5 Bank 1 5 bits LSB Bank 2 16 bits Bank 1 SI REGISTER 1x16 Bank 2 16 bits 16 bits MUX 8 bits LSB COMPARE EXPONENT DETECTOR SS 8 bits HI/LO R C O X I X SHIFTER ARRAY 16 bits MUX MUX 32 bits 32 bits Bank 2 Bank 1 SE REGISTER 1x5 NEGATE OR / PASS 16 bits 8 bits MUX MUX From INSTRUCTION SR1 REGISTER 1x16 Bank 2 Bank 1 SR0 REGISTER 1x16 Bank 2 Bank 1 MUX 16 bits 16 bits R-BUS 16 bits Figure 4-3 : Décaleur à barillet Définition des registres xop autorisés pour les instructions du barrel shifter X opérande : xop AR MR0, MR1, MR2 SI, SR0, SR1

36 ADMC401 : 4. SET D INSTRUCTIONS Page Conditions autorisées Syntaxe Condition Si vraie EQ Egale zéro AZ=1 NE Différent de zéro AZ=0 LT Plus petit que zéro AN.XOR. AV=1 GE Plus grand ou égal à zéro AN.XOR. AV=0 LE Plus petit ou égal à zéro (AN.XOR. AV).OR. AZ=1 GT Plus grand que zéro (AN.XOR. AV).OR. AZ=0 AC Report (ALU carry) AC=1 NOT AC Pas de report (not ALU carry) AC=0 AV Dépassement (ALU overflow) AV=1 NOT AV Pas de dépassement (not ALU overflow) AV=0 MV Dépassement (MAC overflow) MV=1 NOT MV Pas de dépassement (not MAC overflow) MV=0 NEG Signe négatif sur entrée x (ALU) AS=1 POS Signe positif sur entrée x (ALU) AS=0 NOT CE Compteur différent de zéro (not counter expired) Notation sur le registre d état ASTAT Dans le but de définir l effet de chaque instruction sur les bits du registre d état ASTAT, les notations suivantes sont utilisées : * Le bit en question est modifié en fonction du résultat de l instruction. - Le bit en question n est pas affecté par le résultat de l instruction. 0 Le bit en question est forcé à «0». 1 Le bit en question est forcé à «1».

37 ADMC401 : 4. SET D INSTRUCTIONS Page Décalage arithmétique Syntaxe [ IF cond] SR = [ SR OR] ASHIFT xop ( HI) ; ( LO) Définitions des opérandes et des conditions xop Condition SI SR1 SR0 AR MR2 MR1 MR0 EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF LT SR = SR OR ASHIFT SI (LO) ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de décalage arithmétique. : l instruction de décalage arithmétique n est pas exécutée. : exécution inconditionnelle de l instruction décalage arithmétique. Le décalage arithmétique décale les bits de l opérande xop de la valeur définie dans le registre SE. SE est un registre de 8 bits dont la valeur stockée est en complément à deux (-128 à +127). La valeur absolue donne le nombre de bits de décalage et le signe la direction du décalage. Pour une valeur positive le décalage se fait à gauche (dans les sens des MSB) pour une valeur négative le décalage se fait vers la droite (dans le sens des LSB). L option (LO) indique que la valeur d entrée est placée dans les 16 bits inférieurs d un champ de 32bits puis décalée selon la valeur contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). L option (HI) indique que la valeur d entrée est placée dans les 16 bits supérieurs d un champ de 32bits puis décalée selon la valeur contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). Pour un décalage vers la droite (valeur négative dans le registre SE) les bits ajoutés à gauche sont une extension du signe, les bits sortant du champ à droite sont perdus. Pour un décalage vers la gauche (valeur positive dans le registre SE) les bits ajoutés à droite sont des «0», les bits sortants du champ à gauche sont perdus. Pour les décalages en double précision (32 bits), la valeur du registre SE restent identique pour les deux demi-plages du nombre. Lors de la première instruction, la partie supérieure de la plage est décalée en utilisant un décalage arithmétique ASHIFT avec l option HI, la seconde instruction provoque un décalage logique LSHIFT avec l option LO et SR OR Etats générés par l instruction Aucun bit d état n est affecté par cette instruction

38 ADMC401 : 4. SET D INSTRUCTIONS Page Décalage logique Syntaxe [ IF cond] SR = [ SR OR] LSHIFT xop ( HI) ; ( LO) Définitions des opérandes et des conditions xop Condition SI SR1 SR0 AR MR2 MR1 MR0 EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF GE SR = LSHIFT SI (HI) ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de décalage logique. : l instruction de décalage logique n est pas exécutée. : exécution inconditionnelle de l instruction décalage logique. Le décalage logique décale les bits de l opérande xop de la valeur définie dans le registre SE. SE est un registre de 8 bits dont la valeur stockée est en complément à deux (-128 à +127). La valeur absolue donne le nombre de bit de décalage et le signe la direction du décalage. Pour une valeur positive le décalage se fait à gauche (dans les sens des MSB) pour une valeur négative le décalage se fait vers la droite (dans le sens des LSB). L option (LO) indique que la valeur d entrée est placée dans les 16 bits inférieurs d un champ de 32bits puis décalée selon la valeur contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). L option (HI) indique que la valeur d entrée est placée dans les 16 bits supérieurs d un champ de 32bits puis décalée selon la valeur contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). Pour un décalage vers la droite (valeur négative dans le registre SE) les bits ajoutés à gauche sont des «0», les bits sortant du champ à droite sont perdus. Pour un décalage vers la gauche (valeur positive dans le registre SE) les bits ajoutés à droite sont des «0», les bits sortants du champ à gauche sont perdus. Pour les décalages en double précision (32 bits), la valeur du registre SE restent identique pour les deux demi-plages du nombre. Lors de la première instruction, la partie supérieure de la plage est décalée en utilisant un décalage arithmétique ASHIFT avec l option HI, la seconde instruction provoque un décalage logique LSHIFT avec l option LO et SR OR Etats générés par l instruction Aucun bit d état n est affecté par cette instruction

39 ADMC401 : 4. SET D INSTRUCTIONS Page Normalisation Syntaxe [ IF cond] SR = [ SR OR] NORM xop ( HI) ; ( LO) Définitions des opérandes et des conditions xop Condition SI SR1 SR0 AR MR2 MR1 MR0 EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple SR = NORM SI (HI) ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de décalage logique. : l instruction de décalage logique n est pas exécutée. : exécution inconditionnelle de l instruction décalage logique. Cette instruction fait en principe suite à une instruction de définition de l exposant (EXP). Le registre SE contient le nombre de bit de signe moins un de l opérande xop avec un signe négatif. Si le contenu du registre SE est négatif ou nul, cette instruction va faire un décalage logique vers la gauche afin d éliminer les bits de signe redondant. L option (LO) indique que la valeur d entrée est placée dans les 16 bits inférieurs d un champ de 32 bits puis décalée vers la gauche selon la valeur négative contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). L option (HI) indique que la valeur d entrée est placée dans les 16 bits supérieurs d un champ de 32bits puis décalée vers la gauche selon la valeur négative contenue dans le registre SE. Le résultat est stocké dans le registre SR de 32 bits (SR1, SR0). Les bits ajoutés à droite sont des «0». Pour la normalisation en double précision (32 bits), la valeur du registre SE restent identique pour les deux demi-plages du nombre. Lors de la première instruction, la partie supérieure de la plage est décalée vers la gauche avec l option HI, la seconde instruction provoque également un décalage vers la gauche avec l option LO et SR OR. Si le contenu du registre SE vaut 1 (option HIX de EXP), le décalage se fait vers la droite avec le contenu de ASTAT[3] (AC) placé sur le MSB Etats générés par l instruction Aucun bit d état n est affecté par cette instruction

40 ADMC401 : 4. SET D INSTRUCTIONS Page Définition de l exposant Syntaxe [ IF cond] SE = EXP xop ( HI) ( LO) ; ( HIX) Définitions des opérandes et des conditions xop SI SR1 SR0 AR MR2 MR1 MR0 Condition EQ NE GT GE LT LE NEG POS AV NOT AV AC NOT AC MV NOT MV NOT CE Exemple IF GT SE = EXP MR1 ( HI) ; Description Test la condition optionnelle : Vrai Faux Pas de condition : exécution de l instruction de décalage logique. : l instruction de décalage logique n est pas exécutée. : exécution inconditionnelle de l instruction décalage logique. Cette instruction précède l instruction de normalisation (NORM). Elle a pour but de définir le nombre de bit correspondant à l extension du signe de l opérande. Le registre SE contient la valeur négative du nombre de bits de signe redondant. Il s agit donc ni plus ni moins que la valeur de l exposant. Avec l option (HI), l entrée est considérée comme un nombre signé de simple précision ou comme la moitié supérieure d un nombre signé en double précision. Avec le mode (HIX), l entrée est interprétée comme le résultat d une addition ou d une soustraction pouvant avoir un dépassement de capacité. Le bit ASSTAT[3] (AV) donnant le dépassement de capacité est donc pris en compte. Si un dépassement de capacité existe, le registre SE prend la valeur +1. S il n y a pas de dépassement de capacité alors le mode est identique à celui de l option (HI). Avec l option (LO), l entrée est considérée comme la partie inférieure d un nombre de double précision. Il est alors possible d ajuster la valeur de l exposant si le nombre de bits de signe redondant est supérieur à 15 (ou SE=-15 avant l exécution de cet instruction). Dans le cas contraire le contenu du registre SE reste inchangé Etats générés par l instruction ASTAT : SS MV AQ AS AC AV AN AZ * SS Contient la valeur logique du bit MSB de l entrée (extension du signe) si AV=0 Contient l inverse logique du MSB de l entrée si AV=1

DSP ORIENTÉS APPLICATIONS INDUSTRIELLES

DSP ORIENTÉS APPLICATIONS INDUSTRIELLES DSP et temps réel Chapitre 2 DSP ORIENTÉS APPLICATIONS INDUSTRIELLES Description du cœur ADSP2171 M. Correvon T A B L E D E S M A T I E R E S PAGE 2. DESCRIPTION CŒUR DE L ADMC401...1 2.1 INTRODUCTION...1

Plus en détail

DSP architecture et applications

DSP architecture et applications Haute Ecole d Ingénierie et de Gestion du Canton du Vaud DSP architecture et applications Chapitre 3 GÉNÉRATEURS D ADRESSES Création de buffers linéaires et circulaires Gestion des pages mémoires ADSP-29X

Plus en détail

SOLUTIONNAIRE DE L EXAMEN INTRA

SOLUTIONNAIRE DE L EXAMEN INTRA Université du Québec enabitibi-témiscamingue SOLUTIONNAIRE DE L EXAMEN INTRA COURS: MICROPROCESSEURS I SIGLE: SESSION: CENTRE: INF-3215 HIVER 2002 - CONTRÔLE PÉRIODIQUE ROUYN-NORANDA 1) 1,00 2) 2,00 3)

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

Cours 2 Microprocesseurs

Cours 2 Microprocesseurs 4//2 Cours 2 Microprocesseurs Jalil Boukhobza LC 26 boukhobza@univ-brest.fr Chemin de données Font l objet de ce cours: Les portes logiques et circuits combinatoires Le traitement de quelques opérations

Plus en détail

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

OPERATIONS SUR LE SYSTEME BINAIRE

OPERATIONS SUR LE SYSTEME BINAIRE OPERATIONS SUR LE SYSTEME BINAIRE 1) Nombres signés Nous n avons, jusqu à présent tenu compte, que des nombre positifs. Pourtant, la plupart des dispositifs numériques traitent également les nombres négatifs,

Plus en détail

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 L examen dure 3 heures. Le sujet comporte 7 pages dont 3 pages de rappels sur le LC-2 et la microprogrammation. Tous

Plus en détail

2 bits... 2^2 = 4 combinaisons 8 bits... 2^8 = 256 combinaisons

2 bits... 2^2 = 4 combinaisons 8 bits... 2^8 = 256 combinaisons Chapitre II DÉFINITION DES SYSTÈMES LOGIQUES 2.1 LES NOMBRES DANS LES SYSTÈMES LOGIQUES Les humains comptent en DÉCIMAL 2.1.1 DÉCIMAL: o Base 10 o 10 chiffres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 o M C D U o

Plus en détail

TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR

TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR 1 2 ème Année RENNES 2003-2004 TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR 1. OBJECTIF Il s agit de concevoir un processeur simple, de le simuler et de l implanter dans un composant

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 Rappel: cycle d instructions Que fait le microprocesseur? 1.

Plus en détail

LES INSTRUCTIONS DU 8051

LES INSTRUCTIONS DU 8051 LES INSTRUCTIONS DU 8051 Comme les microprocesseurs plus classiques le 8051 possède des instructions que l'on peut classer en: - Instructions de transfert de données - arithmétiques et logiques - de saut

Plus en détail

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Cours Info - 12 Représentation des nombres en machine D.Malka MPSI 2014-2015 D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Sommaire Sommaire 1 Bases de numération par position 2 Représentation des entiers

Plus en détail

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

Systèmes de Numération & Codage

Systèmes de Numération & Codage Systèmes de Numération & Codage Objectif : L électronicien est amené à manipuler des valeurs exprimées dans différentes bases (notamment avec les systèmes informatiques). Il est essentiel de posséder quelques

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

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

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Contrôle Architecture des microprocesseurs Durée 2 heures

Contrôle Architecture des microprocesseurs Durée 2 heures Contrôle Architecture des microprocesseurs Durée 2 heures Tous les documents personnels (cours, TD, TP) sont autorisés. La machine à calculer est autorisée. La qualité de la présentation sera prise en

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

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

Cours 6 : Principes de la représentation des nombres en

Cours 6 : Principes de la représentation des nombres en Cours 6 : Principes de la représentation des nombres en mémoire 2013/2014 Introduction Représentation des données en mémoire naturels signés Nous décrivons les principes de la représentation des nombres

Plus en détail

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96 Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.

Plus en détail

Unité 2: Représentation interne des informations. Unité 2: Représentation interne des informations

Unité 2: Représentation interne des informations. Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, - vous saurez comment les caractères et les nombres entiers positifs et négatifs sont représentés dans la mémoire d'un ordinateur. - vous saurez comment on effectue

Plus en détail

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

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP

INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP Documentation interne ELE D. MENESPLIER 2000 ADDLW Add Literal and W C,DC,Z 1 cycle Description: Le contenu du registre W est additionné avec les 8 bits de la

Plus en détail

CODAGE DES NOMBRES. I-Codage des entiers naturels. I) Codage des entiers naturels

CODAGE DES NOMBRES. I-Codage des entiers naturels. I) Codage des entiers naturels I) Codage des entiers naturels I) Codage des entiers naturels Ouvrir la calculatrice Windows dans le menu Programmes/accessoires/ Ouvrir la calculatrice Windows dans le menu Programmes/accessoires/ cliquer

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

IFT2880 Organisation des ordinateurs et systèmes

IFT2880 Organisation des ordinateurs et systèmes Représentation des nombres flottants Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4

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

1 Grad Info Soir Langage C - Juin 2006

1 Grad Info Soir Langage C - Juin 2006 1 Grad Info Soir Langage C - Juin 2006 1. Explications L'examen comprend 3 parties - un programme à réaliser à domicile - une partie écrite qui comprend un certain nombre de petits paragraphes de code

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

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

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles UNIVERSITE Joseph FOURIER, Grenoble Licence de Sciences et technologie - Parcours MIN, INF, BIN et MIN international Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles Première

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

Plus en détail

Informatique? Numérique? L informatique est la science du traitement de l information.

Informatique? Numérique? L informatique est la science du traitement de l information. Informatique? Numérique? L informatique est la science du traitement de l information. L information est traitée par un ordinateur sous forme numérique : ce sont des valeurs discrètes. Cela signifie que,

Plus en détail

Module 1 - Arithmétique Chapitre 1 - Numération

Module 1 - Arithmétique Chapitre 1 - Numération Lycée Maximilien Sorre Année 2015-2016 BTS SIO 1 Module 1 - Arithmétique Chapitre 1 - Numération 1 Introduction : que signifie 2014? Dans de nombreuses situations, il est nécessaire de pouvoir exprimer

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

Analyse et programmation 1

Analyse et programmation 1 Analyse et programmation Aperçu du fonctionnement de l ordinateur Fonctionnement de l ordinateur Codage de l information Bus d échange d information CPU Exécution d un programme par la CPU Gestion des

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

tique Contenu de la présentation

tique Contenu de la présentation Unité d enseignement : Systèmes séquentiels s avancés s (SSA) Numération et arithmétique tique Etienne Messerli Institut REDS, HEIG-VD Le 2 février 23 Numération & arithmétique, p Contenu de la présentation

Plus en détail

5.2. Introduction à la programmation en assembleur et en langage machine

5.2. Introduction à la programmation en assembleur et en langage machine 5. Couche conventionnelle. Introduction à la programmation en assembleur et en langage machine. Instructions - types, formats, champs; types d'adressage et utilisation des registres. Branchements, sauts

Plus en détail

Numération II. Laval. January 24, 2013. Bellepierre

Numération II. Laval. January 24, 2013. Bellepierre Bellepierre January 24, 2013 Opération en base 4 Les nombres sont tous écrit en base 4... La table d addition + 1 2 3 1 2 3 10 2 3 10 11 3 10 11 12 Exemple 1 1 1 1 2 3 + 2 2 2 1 0 1 1 Opération en base

Plus en détail

SYSTEMES DE NUMERATION

SYSTEMES DE NUMERATION FICHE DU MODULE 1 SYSTEMES DE NUMERATION OBJECTIF GENERAL: La compétence visée par ce module est d amener l apprenant à se familiariser avec les systèmes de numération et les codes utilisés par les appareils

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

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement Objectifs : À la fin de cette unité, vous connaîtrez le fonctionnement de l'unité centrale de traitement d'un ordinateur. Pour y arriver, vous devrez atteindre les objectifs suivants : - décrire les différentes

Plus en détail

II - Généralités sur les microprocesseurs

II - Généralités sur les microprocesseurs II - Généralités sur les microprocesseurs 2.1 Rôle des microprocesseurs Remplacement des logiques câblées La logique câblée est étudiée et réalisée une fois pour toutes sur un schéma donné: les fonctions

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

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne La famille x86 Laboratoire de Systèmes Logiques Désavantages de l architecture x86 Très vieille architecture: basée sur le 8080 (commercialisé en 1974, 6 000 transistors et 8 registres) Le premier 8086

Plus en détail

Projet de Machines Virtuelles

Projet de Machines Virtuelles Projet de Machines Virtuelles Gabriel Kerneis Vendredi 11 mars 2011 1 Introduction Le but de ce sujet est d implémenter la MARS (Memory Array Redcode Simulator), une machine virtuelle utilisée dans le

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Olivier BOEBION Mars 2004 1 Les expressions conditionnelles et les structures de contrôle 1.1 La commande test La commande interne

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 Introduction aux systèmes d exploitation Gaël Thomas Présentation du cours Contexte du cours : Introduire notre objet d étude : les systèmes d exploitation

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Problème : débordement de la représentation ou dépassement

Problème : débordement de la représentation ou dépassement Arithmétique entière des ordinateurs (représentation) Écriture décimale : écriture positionnelle. Ex : 128 = 1 10 2 + 2 10 1 + 8 10 0 Circuit en logique binaire Écriture binaire (base 2) Ex : (101) 2 =

Plus en détail

CODAGE D UN NOMBRE SYSTEME DE NUMERATION

CODAGE D UN NOMBRE SYSTEME DE NUMERATION 1. Base d un système de numération 1.1 Système décimal. C est le système de base 10 que nous utilisons tous les jours. Il comprend dix symboles différents :... Exemple du nombre 2356 de ce système : nous

Plus en détail

Architecture de Processeur

Architecture de Processeur Mise à jour: Février 2012 Architecture et Programmation [Archi/Lycée] Architecture logicielle Applications 2 Nicolas Bredèche Maître de Conférences Université Paris-Sud bredeche@lri.fr Ressources bibliographiques

Plus en détail

Plan. Codage d information d Codage de l informationl. Les informations traitées par les ordinateurs sont de différentes natures :

Plan. Codage d information d Codage de l informationl. Les informations traitées par les ordinateurs sont de différentes natures : Plan Introduction Systèmes de numération et représentation des nombres Systèmes de numération Système de numération décimaled Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL Opérations dans un système positionnel OPÉRATIONS DANS UN SYSTÈME POSITIONNEL INTRODUCTION Dans tout système de numération positionnel, les symboles sont utilisés de façon cyclique et la longueur du correspond

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

DSP architecture et applications

DSP architecture et applications Haute Ecole d Ingénierie et de Gestion du Canton du Vaud DSP architecture et applications Chapitre 4 MÉMOIRE ET REGISTRES INTERNES Mémoire de programme et de données Bus interne et externe Transfert des

Plus en détail

Architectures Logicielles et Matérielles Travaux Dirigés Circuits

Architectures Logicielles et Matérielles Travaux Dirigés Circuits UNIVERSITE Joseph FOURIER, Grenoble U.F.R. d Informatique et Maths. Appliquées Architectures Logicielles et Matérielles Travaux Dirigés Circuits Rappel : dessins des portes logiques. Déroulement envisagé

Plus en détail

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

Plus en détail

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Assembleur x86 Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Niveaux de programmation Du plus bas niveau (1) au plus abstrait (6) 1) Impulsions

Plus en détail

Codage des nombres. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Codage des nombres. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Codage des nombres Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Représentation de l'information Un ordinateur manipule des données Besoin de coder

Plus en détail

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi :

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi : Numération Numération. 1 Les systèmes de numération 1.1 Le système décimal. 1.1.1 Les chiffres. Le système décimal est le système d écriture des nombres que nous utilisons habituellement dans la vie courante.

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs (2 ème partie : assembleur 80x86) Vincent Vidal IUT Lens Architecture des ordinateurs p. 1 Organisation Durée : 8 semaines. Cours 1h, TP 3h Intervenants TP : Coste, Loukil,

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

2012/2013 Le codage en informatique

2012/2013 Le codage en informatique 2012/2013 Le codage en informatique Stéphane Fossé/ Marc Gyr Lycée Felix Faure Beauvais 2012/2013 INTRODUCTION Les appareils numériques que nous utilisons tous les jours ont tous un point commun : 2 chiffres

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Sommaire. Historique

Sommaire. Historique Sommaire ntroduction aux microprocesseurs & Pre sentation du µc 9s12 Ge ne ralite s Bus & me moire Structure d un CPU Jeu d instructions module 2 Sebastien.Kramm@univ-rouen.fr De veloppement pour l embarque

Plus en détail

CADEPA. A - Arborescence générale : organisation projet/application.

CADEPA. A - Arborescence générale : organisation projet/application. Document d accompagnement pour le logiciel... CADEPA Le logiciel CADEPA 1 permet la réalisation complète d un projet d automatisme de l écriture au test jusqu au téléchargement du programme vers l automate.

Plus en détail

Numération. Le tableau récapitulatif ci-dessous donne l équivalence de quelques nombres pour les bases 10, 2 et 16.

Numération. Le tableau récapitulatif ci-dessous donne l équivalence de quelques nombres pour les bases 10, 2 et 16. 1. Systèmes de numération 11. Système décimal : Base 10 C est le système utilisé dans la vie courante, il est basé sur le nombre 10. Pour représenter les nombres décimaux, on utilise les chiffres de 0

Plus en détail

Codage des informations le système binaire

Codage des informations le système binaire Module ASR - Architecture Codage des informations le système binaire Associer à toute information une représentation par une succession de et de : Exemples d information à coder Entiers naturels : 5, 54,

Plus en détail

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/ données pr ogramme 11111101 11001101 01000101 b us disque ma gnétique processeur écran Structures de données et algorithmes Ordinateurs Gilles Falquet, printemps-été 2002 Machines composées de (depuis

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Accélération des opérateurs

Accélération des opérateurs Accélération des opérateurs Principe Tous les algorithmes que nous implémenterons en TP sur carte sont basés sur 4 opérations de base : Addition/Soustraction Multiplication Division MAC Accélérer l opérateur

Plus en détail

Le langage Forth. Brique ROSE. Samuel Tardieu sam@rfc1149.net. École Nationale Supérieure des Télécommunications

Le langage Forth. Brique ROSE. Samuel Tardieu sam@rfc1149.net. École Nationale Supérieure des Télécommunications Le langage Forth Brique ROSE Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Le langage Forth 1 / 26 Qu est-ce que Forth? Langage sans syntaxe Mots

Plus en détail

Architecture des ordinateurs TD 1

Architecture des ordinateurs TD 1 Architecture des ordinateurs TD 1 ENSIMAG 1 re année April 29, 2008 Imprimer pour chaque étudiant le listing des instructions (page 36 de la doc, ou page 2 du chapitre 7). Pas la peine de tout imprimer.

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

Licence Fondamentale SMI (semestre 3)

Licence Fondamentale SMI (semestre 3) Cours Programmation I (chapitres 1&2) Licence Fondamentale SMI (semestre 3) Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2014/2015 2014/2015 Pr. Ben Mamoun 1 Plan du cours (1) 1. Introduction

Plus en détail

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation.

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Sébastien COLLETTE et Gilles GEERAERTS 1 Introduction Ce document décrit

Plus en détail

Codage de l'information

Codage de l'information Organisation des ordinateurs et assembleur Codage de l information Chapitre 3 Codage de l'information Les cellules de mémoire ne contiennent pas vraiment des valeurs décimales : elles contiennent en fait

Plus en détail

Programmation VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel)

Programmation VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel) Activer l onglet Développeur (Excel) Programmation VBA Michel Reid Cliquez sur le bouton Office (coin supérieur gauche) Cliquez sur le bouton Options Excel Dans la section Standard, cochez la case Afficher

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

IUT de Colmar - Département RT 1ière année. Numération

IUT de Colmar - Département RT 1ière année. Numération IUT de Colmar - Département RT 1ière année. Numération 1 Laurent MURA. SOMMAIRE 1. Les différents systèmes 2. Les différentes conversions 3. Quelques systèmes de codage 4. L arithmétique binaire 2 IUT

Plus en détail

Institut de Maintenance Aéronautique

Institut de Maintenance Aéronautique UNIVERSITE BORDEAUX I Institut de Maintenance Aéronautique Support de Mise à niveau Electronique # Codage numérique de l information pour Bus avionique ARINC 429 LICENCE 3 MEi545 Denis Michaud 2005-2006

Plus en détail

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers. Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.fr 2015/2016 Travaux Dirigés 1 Représentation de l information En informatique,

Plus en détail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Méthodologie de programmation en assembleur. Philippe Preux

Méthodologie de programmation en assembleur. Philippe Preux Méthodologie de programmation en assembleur Philippe Preux 24 novembre 1997 Table des matières 1 Introduction 3 2 Méthodologie 4 2.1 Méthodologie............................................. 4 2.2 Aperçu

Plus en détail

Assembleur x86. P. Ezéquel

Assembleur x86. P. Ezéquel Assembleur x86 P. Ezéquel 1 TABLE DES MATIÈRES 2 Table des matières 1 Introduction 3 2 Anatomie du x86 3 2.1 Registres généraux.......................... 4 2.2 Registres de base de segments....................

Plus en détail