DSP ORIENTÉS APPLICATIONS INDUSTRIELLES

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

Download "DSP ORIENTÉS APPLICATIONS INDUSTRIELLES"

Transcription

1 DSP et temps réel Chapitre 2 DSP ORIENTÉS APPLICATIONS INDUSTRIELLES Description du cœur ADSP2171 M. Correvon

2

3 T A B L E D E S M A T I E R E S PAGE 2. DESCRIPTION CŒUR DE L ADMC INTRODUCTION COMPORTEMENT FONDAMENTAL DU DSP Horloge de base du DSP RESET et Circuit d enclenchement Mise en veille L UNITÉ ARITHMÉTIQUE ET LOGIQUE (ARITHMETIC/LOGIC UNIT) Structure Fonctions standards Registres d entrées et de sortie de l ALU Calculs simple précision Calculs multiprécision Mode saturation ou limitation de l ALU Mémorisation d un dépassement de capacité dans l ALU Division Bits d état de l ALU LE MULTIPLIEUR ET ACCUMULATEUR (MULTIPLIER/ACCUMULATOR) Structure Fonctions standards Format d entrée des opérandes Registres d entrées et de sortie du MAC Opérations sur les registres résultats MR Mode saturation ou limitation du MAC LE DÉCALEUR À BARILLET (BARREL SHIFTER) Description générale Registres d entrées et de sortie du décaleur à barillet Opération de décalage Ajustement de l exposant EXPADJ Décalage immédiat Dénormalisation Normalisation CONTRÔLE DE PROGRAMME DE LA FAMILLE ADSP Le séquenceur de programme Instruction de contrôle de séquence de programme Les interruptions Les registres d état et de contrôle TRANSFERT DE DONNÉES Les générateurs d adresses (Data Address Generators) Variables et matrices Buffers circulaires Transfert entre bus de données programme (PMD) et bus de données (DMD) CONFIGURATION DE LA MÉMOIRE Configuration de la mémoire interne Configuration de la mémoire externe Allocation des zones mémoires Adaptation des temps d accès mémoire CHARGEMENT ET DÉMARRAGE D UNE APPLICATION (BOOT LOADING) Chargement de l application Définition de la table des vecteurs d interruption Ecriture dans la table d interruption TIMER SYNTHÈSE DES REGISTRES D ÉTAT, DE CONTRÔLE ET DE DONNÉES DU CŒUR DU DSP...60

4 Bibliographie

5 DESCRIPTION DU CŒUR DE L ADSP2171 Page 1 2. DESCRIPTION CŒUR DE L ADMC INTRODUCTION Le noyau de l ADMC401 est compatible à celui de l ADSP2171 de la famille ADSP21xx d Analog Devices. Il s'agit d un DSP à virgule fixe, dont les données sont sur. Les nombres sont soit entiers positifs (sans signe), soit en format Pour ce format, le bit de poids fort représente le signe et les 15 bits restants correspondent à un nombre décimal de module inférieur ou égal à l unité. Si ce nombre est négatif il sera en complément à 2. L architecture de base est représentée à la Figure 2-1. Le bus de données de la mémoire programme (PMD bus) est sur 24 bits, le bus de données de la mémoire de données (DMD) a une largeur de, alors que les bus d'adresses de la mémoire de données (DMA) ou de la mémoire de programme (PMA) sont sur 14 bits. La famille ADSP21xx comporte un noyau DSP composé: d'une unité arithmétique et logique (ALU) pouvant être chargée par deux sous-registres, de : AX0 ou AXI, pour l'entrée X, et AY0 ou AYI pour l'entrée Y Les sousregistres jouent des rôles équivalents vis-à-vis de l ALU. Le résultat des opérations de l'alu va dans le registre AR, relié au bus résultat R-bus, et au bus de données DMD de. Les résultats ainsi obtenus vont pouvoir être accessibles par d'autres unités de calcul en utilisant ces bus. Cette unité de calcul est également prévue pour effectuer des divisions numériques ; d une unité de multiplication et d accumulation (MAC) pouvant être chargée par deux sous-registres de : MX0 ou MX1, pour X, et MY0 ou MY1 pour Y. Comme précédemment, les sous-registres jouent des rôles équivalents vis-à-vis du MAC. Le résultat des opérations de multiplication et d'accumulation vont dans le registre MR relié au bus résultat R-bus, composé de trois sous-registres, deux de MR1 pour les poids forts et MR0 pour les poids faibles (en double précision), et un de 8 bits MR2 pour l'expression du signe étendu qui permet de gérer les dépassements et les signes du résultat. Par multiplexage, le registre MR a accès au bus de données DMD de et au bus résultat R-bus. Comme pour l'alu, il peut communiquer avec les autres unités de calcul de deux manières : le R-bus et le bus DMD ; d une unité de décalage à barillet ou décaleur (Barrel Shifter). Cette unité est chargée soit par le bus résultat R-bus, soit par un registre (noté SI par le constructeur) de. Les opérations consistent à décaler à droite ou à gauche pour diviser ou multiplier par deux les données, en effectuant éventuellement un «ou logique» avec la donnée avant décalage. En utilisant le «ou exclusif» de l'alu, il permet de générer des séquences pseudo-aléatoires, très pratiques en traitement ou transmission du signal. D'autre part le détecteur d'exposant utilise le registre (noté SE par le constructeur) comme enregistrement de la puissance de 2, correspondant à un décalage. C'est l'opération de normalisation. Les données passent par le bus DMD de ; de deux générateurs d adresses (DAG : Data Address Generator) comportant chacun 12 registres indépendants sur 14 bits, dont quatre pour les pointeurs (I), I0 à I3 pour DAG1 et I4 à 17 pour DAG2, et d'autre part 4 registres (M pour chaque générateur pour modifier les pointeurs et 4 autres registres (L) pour définir les buffers circulaires bitreverse. Le générateur DAG1 adresse seulement la mémoire de données et peut fonctionner en bit-reverse pour les calculs en FFT. Le générateur DAG2 adresse les deux types de mémoire, et peut fonctionner en branchements indirects (Jump et Call). Par exemple AX0 = DM(I0,M0) est une lecture indirecte chargée dans AX0 d'une donnée

6 MUX MUX DESCRIPTION DU CŒUR DE L ADSP2171 Page 2 située en mémoire de données, dont l'adresse est pointée par I0. La valeur suivante (pointée par I0), sera I0 (précédent) + M0. Par contre, Jump (I4) est un saut indirect ; d'un séquenceur de programme contrôlant les sous-programmes, les boucles et les interruptions. Quatre niveaux de boucle sont possibles. Les boucles sont contrôlées par le registre CNTR. Le nombre placé dans ce registre indique le nombre de boucles prévues. À chaque Reset, les interruptions sont automatiquement validées, il est donc important de bien configurer le registre IMASK dans le programme. Les registres de statut SSTAT, ASTAT et MSTAT sont accessibles par les instructions assembleur ENA ou DIS. DATA ADDRESS GENERATOR 1 DATA ADDRESS GENERATOR 2 INSTRUCTION REGISTER PROGRAM SEQUENCER PROGRAM ROM 2k x 24 PROGRAM RAM 2k x 24 DATA SRAM 1k x 16 BOOT ADDRESS GNERATOR POWER DOWN CONTROL LOGIC 2 bits 14 bits PMA BUS 14 bits 14 bits DMA BUS PMD BUS 24 bits DMD BUS BUS EXCHANGE 24 bits INPUT REGISTER ALU OUTPUT REGISTER INPUT REGISTER MAC OUTPUT REGISTER INPUT REGISTER SHIFTER OUTPUT REGISTER CONTROL LOGIC TRANMIT REG. RECEIVE REG. TRANMIT REG. RECEIVE REG. TIMER RBUS SERIAL PORT 0 SERIAL PORT 1 5 bits 5 bits Figure 2-1 : Schéma bloc fonctionnel (partie DSP) des registres d'entrée et de sortie des unités de calcul (ALU, MAC, ou décaleur) sont dédoublés, ce qui permet une utilisation plus souple du processeur en cas d'exécution d'un sous-programme. Chaque ensemble dédoublé de ces registres est déterminé par un bit d'état dans le registre MSTAT. On utilise soit l'ensemble primaire (par défaut, bit d'état = 0), soit le secondaire (bit d'état = 1). Un seul fonctionne à la fois ; des registres de transfert de données. Le registre PX reçoit ou fournit les 8 bits de poids faible lors du transfert de données entre le bus DMD () et le bus PMD (24 bits). Les autres registres utilisables pour transférer les données sont les registres AY0 ou AY1 de AY, ou bien MY0 ou MY1 de MY, qui permettent le passage des de poids fort du bus de données PMD de la mémoire de programme vers le bus de données DMD de la mémoire de données. un timer qui peut être considéré comme un périphérique car il n est pas indispensable au fonctionnement du DSP. Son rôle est de provoquer des interruptions dans le programme selon une période T int qui est toujours un multiple de la période interne du processeur. Ce facteur de multiplication dépend des registres de contrôle du Timer ; un générateur d adresse de démarrage (Boot Address Generator) permettant grâce aux pins d entrées complémentaires MMAP et BMODE ainsi qu au registre de

7 DESCRIPTION DU CŒUR DE L ADSP2171 Page 3 contrôle MEMWAIT(15 : ROM ENABLE) le démarrage direct d un programme d application en EEPROM externe ou le moniteur en ROM interne. un contrôleur d état de consommation (Power Down Control Logic) permettant de mettre le DSP en veille, c est-à-dire dans un état de très base consommation. Le contrôle de l état de consommation peut se faire par hardware (entrée : PWD, sortie : PWDACK) ou par software (registre ; SPORT1(15,14,13,12)). Deux ports sériels synchrones (Serial Ports 0 et 1) permettant la transmission sérielle d information. Le moniteur résident en ROM interne au DSP utilise les ports sériels durant la phase d enclenchement (Power Up) Le port SPORT1 est utilisé pour le chargement d un programme d application par l intermédiaire du debugger (via un PC). Le port SPORT0 est utilisé pour le chargement d un programme d application résident dans une EPROM série Ces deux ports peuvent être reconfiguré par l utilisateur moyennant un certain nombre de précautions.

8 DESCRIPTION DU CŒUR DE L ADSP2171 Page COMPORTEMENT FONDAMENTAL DU DSP Pour qu un circuit numérique tel qu un DSP ait un comportement conforme aux caractéristiques techniques, il ne faut pas négliger les points suivants : mise sous tension (enclenchement des alimentations) ; comportement du reset ; fréquence de l horloge de base (composants externes) ; mise en veille basse consommation. Un mauvais fonctionnement de l un de ces points peut avoir un effet catastrophique sur le comportement du système quel que soit le type de circuit (FPGA, microcontrôleur DSP, ) Horloge de base du DSP L horloge de base du DSP est choisie en fonction de plusieurs critères. La vitesse d exécution (MIPS) est directement proportionnelle à la fréquence de l horloge. Les temps d accès des composants externes comme les mémoires, et les périphériques peuvent également limiter la fréquence de l horloge. Une autre contrainte importante est imposée par les UARTs utilisés pour la transmission sérielle. En effet pour avoir des vitesses (bauds rate) de transmission standard (1200Bd/s, 2400Bd/s, 9600Bd/s, Bd/s), la fréquence de l horloge est divisée par des grandeurs entières. CLK Baud _ rate= 2.1 SCLKDIV+ 1 Avec CLK, fréquence de l horloge de base et SCLKDIV valeur de division (grandeur entière). Si CLK=12MHz, le nombre de Baud rate correspondant à un multiple de 1200, jusqu à Bd/s est de 16. Pour CLK=12.96MHz, ce nombre passe à 28. Selon la valeur de cette fréquence, certaines vitesses de transmission ne sont plus assurées avec une fiabilité suffisante Hardware disponible et composants externes L ADMC401 possède son propre oscillateur interne, il est donc possible de placer un cristal entre les pins CLKIN et XTAL. L oscillateur travaille sur la fréquence parallèle du cristal (zone inductive), il est donc nécessaire d ajouter deux condensateurs entre les deux extrémités du cristal et la masse électronique. Le temps de cycle pour les instructions est dérivé d une fréquence (signal CLKOUT) correspondant au double de la fréquence de l oscillateur. L utilisation d un oscillateur externe est toujours possible. Dans ce cas, la sortie de cet oscillateur est connectée à la broche CLKIN, XTAL étant laissé non connecté. La fréquence du signal apparaissant sur CLKIN doit être maintenue dans les limites imposées par le constructeur. Pour des raisons de stabilités du multiplicateur de fréquence interne, il n est pas acceptable de varier la fréquence de CLKIN durant le fonctionnement du DSP.

9 DESCRIPTION DU CŒUR DE L ADSP2171 Page 5 20pF 13MHz 20pF CLKIN XTAL CLKOUT ADSP21xx Figure 2-2 : Oscillateur et cristal Une PLL (multiplicateur de fréquence) génère une horloge interne de fréquence huit fois supérieure à celle du signal CLKIN. Cette horloge interne définit les états internes du DSP. Cette PLL génère également le signal CLKOUT, synchronisé sur les cycles d instruction du DSP. La Figure 2-3 illustre les relations existant entre ces signaux. CLKIN t ETAT INTERNE DU DSP CLKOUT Cycle d'instruction Cycle d'instruction t Figure 2-3 : Horloges externe et interne Sur chaque DSP, il existe un certain nombre d entrées digitales asynchrones. L apparition des transitions de ces signaux a une phase arbitraire par rapport à l horloge de base du DSP. Le délai entre la transition du signal et sa synchronisation est appelé délai de synchronisation (synchronization delay). Les interruptions agissant sur transition (flanc descendant) doivent donc avoir une largeur d impulsion suffisante pour être synchronisée et donc reconnue. Pour être sûr que ces impulsions soient prises en compte, il est impératif de fixer leur largeur à un cycle entier de l horloge de base (CLKOUT) auquel il faut ajouter les setup time et hold time donnés dans les caractéristiques RESET et Circuit d enclenchement L entrée RESET, lorsqu elle est active («0») provoque une initialisation hardware complète de l ADSP21xx. Durant la phase de mise sous tension, (power up), l entrée RESET doit impérativement être maintenue à «0» pour assurer une initialisation correcte. L ADMC401 possède un circuit de surveillance de tension (power supply monitoring) qui

10 DESCRIPTION DU CŒUR DE L ADSP2171 Page 6 répond aux exigences imposées au signal RESET. Ce circuit à une sortie nommée POR (Power On Reset) qui peut être, selon les applications, directement connectée à l entrée RESET. Il est également possible d utiliser un circuit externe. L entrée RESET possède une hysthérèse, mais il est vivement conseillé d ajouter, au circuit externe, un trigger de schmitt. A l enclenchement, le temps pendant lequel le signal RESET doit être actif correspond au temps de verrouillage du circuit PLL interne. Un minimum de T RESET 1 = 2000 tcki avec tcki= 2.2 F CLKIN assure un verrouillage du circuit PLL, le démarrage de l oscillateur n étant pas inclus. La Figure 2-4 illustre la relation existant entre le signal POR et le niveau de la tension d alimentation (partie digitale). V CC +5V V RST V HYST t POR t RST t RST t Figure 2-4 : Comportement du signal Power On Reset Le seuil de validité de la tension d alimentation est nommé V RST. Ce seuil est compris entre 3.25V et 4V. Lorsque la tension descend au-dessous de V RST -V HYST, le signal POR est activé. Lorsque la tension d alimentation atteint V RST et que POR est actif, un compteur d une capacité de 17 bits est enclenché. L horloge de ce compteur est CLKOUT. Tant que le compteur n a pas atteint sa valeur maximale POR est actif. Le temps de maintien de POR est donné par la relation 1 2 t = = 2.3 RST tcki= 2 tck 0 avec tcki= = 2tCK 0 FCLKIN FCLKOUT La connexion de la sortie POR à l entrée RESET permet donc de garantir une initialisation correcte de l ADMC401. Un reset complet du DSP permet de réaliser les tâches suivantes : masquage des interruptions ; pointeurs de toutes les piles (stack) initialisés ;

11 DESCRIPTION DU CŒUR DE L ADSP2171 Page 7 pointeur de programme (PC) en position initiale (valeur dépendant de MMAP et BMAP) ; initialisation de tous les périphériques. Lorsque la tension d alimentation est valide, il n est plus nécessaire d attendre la stabilisation du circuit PLL lors d un reset. Dans ce cas la largeur minimum de l impulsion du signal RESET est limitée à t = 2.4 RESET 5t CK0 Indépendamment du reset hardware, il est possible d activer un reset software des périphériques, excepté pour le Watchdog. Pour réaliser ce reset, il faut exécuter la routine suivante : PRESET : SET FL2 ; {mise a «1» du Flag 2} TOGGLE FL2 ; {transition d état du Flag 2} TOGGLE FL2 ; {transition d état du Flag 2} RTS {sortie de la routine} Une activation du Watchdog provoque une initialisation complète du DSP, excepté le Watchdog lui-même Mise en veille La mise en veille du DSP (Power-Down Mode) permet de diminuer la consommation de ce dernier. La commande de mise en veille peut être software ou hardware. Dans ce mode le comportement du DSP est le suivant : horloges internes désactivées (entre autre arrêt de CLKOUT) ; maintien du contenu des registres internes ; retour en mode opératoire en 100t CKI ; activation d une interruption permettant le sauvetage de l état du DSP (housekeeping) avant l entrée en veille et sa la restitution lors du retour en mode opératoire ; Entrée dans le mode de mise en veille La séquence de mise en veille débute lors de l apparition d une transition négative sur l entrée PWD ou par la mise à «1» du bit PDFORCE (SPORT1_AUTOBUF_CRTL[13]). Une interruption est activée à l adresse 0x002C. Des précautions doivent être prises pour éviter des interruptions multiples de mise en veille afin d éviter un dépassement de capacité des piles. Cette interruption, non masquable peut être utilisée pour exécuter un certain nombre d opérations de mémorisation de l état actuel du système comme par exemple une désactivation des périphériques, suppression des interruptions en attente, etc Une fois ces opérations effectuées, c est grâce à l instruction IDLE que le mode de veille est activé. La mise en veille ne nécessite que un ou deux cycles d horloge. Comme déjà mentionné, les contenus des registres et les mémoire sont maintenus. Les sorties actives sont également maintenues. Si l instruction RTI apparaît avant l instruction IDLE, le mode de veille est désactivé.

12 DESCRIPTION DU CŒUR DE L ADSP2171 Page 8 Interruption hardware PDW Programme principal ou routine d'interruption PC t Vecteur d'interruption 0x002C PC Interruption software 1 PDFORCE PC JUMP INT_POWERDOWN INT_POWERDOWN : DM(Save_AX0) = AX0; IDLE ; Figure 2-5 : Mise en veille Mise en veille Sortie du mode de mise en veille Le mode de veille peut être quitté lorsque l entrée PWD est le siège d une transition positive ou par activation du RESET. Le temps de recouvrement (delay startup from power down recovery) pour sortir du mode de veille peut être contrôlé par le bit XTALDELAY (SPRTO1_AUTOBUF_CRTL[14]). XTALDELAY est à «0» : le temps de recouvrement est de 100t CKI. XTALDELAY est à «1» : le temps de recouvrement est de 4096t CKI. Cette caractéristique permet de stabiliser des éventuelles horloges externes avant de commencer l exécution du programme. Commande hardware PDW ROUTINE DE PWD IDLE ; Mise en veille PCUR= "0" PCUR= "1" PC = "0" t PC AX0 = DM(Save_AX0) RTI ; PC Programme principal ou routine d'interruption Figure 2-6 : Sortie de la mise en veille Une fois le temps de recouvrement écoulé, l exécution de l instruction suivant IDLE dépend de l état du bit PCUR (SPORT1_AUTOBUF_CRTL[12]).

13 DESCRIPTION DU CŒUR DE L ADSP2171 Page 9 Si PUCR est à «0» le DSP exécute les instructions que suivent IDLE, permettant par exemple de retrouver l état du système avant la mise en veille. Lors de l apparition de l instruction RTI, le programme retourne dans la routine interrompue par la demande de mis en veille. Les interruptions ayant été mémorisées, durant l état de veille peuvent alors être exécutées. Si PUCR est à «1» le compteur de programme PC, les registres d état, et de boucle CNTR et IMASK sont mis à «0». SSTAT est initialisé à 0x55. L instruction exécutée se trouve à l adresse 0x0000. Si un RESET est activé durant l état de veille, une séquence complète initialisation est exécutée selon les états de MMAP et BMODE Reconnaissance du mode de veille Une sortie PWDACK (power down acknowledge) est mise à «1» lorsque le DSP se trouve en mode basse consommation. Ce signal indique que la sortie d horloge CLKOUT est valide, mais dans certain cas ceci ne veut pas dire que l exécution des instructions a commencé (par exemple après un RESET ou lorsque XTALDELAY est actif) Utilisation de PWD comme interruption non-masquable L entrée PWD peut être utilisée comme interruption non-masquable sans rapport avec le mode de veille. En effet l activation du mode de veille n intervient que si l instruction IDLE est présente. Interruption hardware PDW PC Vecteur d'interruption 0x002C Programme principal ou routine d'interruption PC t PC JUMP INT_NON_MASQ INT_NON_MASQ : DM(Save_AX0) = AX0;...;...;...;...;...; RTI PCUR="0" PC AY=DM(I4,M3);...;...; Figure 2-7 : Interruption non masquable

14 DESCRIPTION DU CŒUR DE L ADSP2171 Page L UNITÉ ARITHMÉTIQUE ET LOGIQUE (ARITHMETIC/LOGIC UNIT) L ALU fournit un ensemble standard de fonctions arithmétiques et logiques Structure L ALU est constitué de deux ports d entrées X et Y de de largeur. Le port de sortie R de également correspond au résultat. Pour les calculs en multiprécision, l ALU accepte une entrée supplémentaire de retenue nommée CI (Carry Input). Cette entrée est issue du registre d état arithmétique (voir ) ASTAT. L ALU génère six signaux d état définis au Le port d entrée X de l ALU accepte des données () de deux sources, soit du double registre AX (AX0 ou AX1) ou des registres liées au bus résultat R-Bus (voir 2.3.3). Ces registres peuvent être utilisés directement comme opérandes. Les deux registres contenus dans AX peuvent être lus ou écrits depuis le bus DMD. L ensemble des instructions disponible permet également la lecture de ces registres par le bus PMD, mais il n y a pas de connexion directe. Ces opérations utilisent l unité de transfert de données entre le bus DMD () et le bus PMD (24 bits). La sortie du registre AX, grâce à un double port, peut être simultanément lue par le port d entrée X et disponible sur le bus DMD. Le port d entrée Y de l ALU accepte également des données () de deux sources, soit du double registre AY (AY0 et AY1) ou du registre de «feedback» AF (voir 2.3.3). Les deux registres contenus dans AY peuvent être lus ou écrits depuis le bus DMD ou écrits directement depuis le bus PMD. L ensemble des instructions disponibles permet également la lecture de ces registres par le bus PMD mais dans ce cas c est l unité de transfert de données entre le bus DMD () et le bus PMD (24 bits) qui est utilisée. La sortie registre AY, grâce à un double port, peut être simultanément lu par le port d entrée Y et disponible sur le bus DMD. Le port de sortie R de l ALU est connectée au registre de «feedback» AF et au registre de résultat AR. La sortie registre AR, grâce à un double port, peut simultanément être envoyée au bus résultat R-Bus et au bus DMD. L ensemble des instructions disponible permet également la lecture du registre AR par le bus PMD, mais il n y a pas de connexion directe. Cette opération utilise l unité de transfert de données entre le bus DMD () et le bus PMD (24 bits). N importe quel registre associé à L ALU peut être lu et écrit dans un même cycle d horloge. Les registres sont lus au début du cycle et écrits à la fin du même cycle. Dans un cycle donné, la valeur contenue dans un registre quelconque a été chargée à la fin du cycle précédent. Par conséquent, une nouvelle valeur écrite dans un registre ne peut pas être lue avant le début du cycle suivant. Cette caractéristique permet à un registre de fournir un opérande sur une entrée de l ALU au début d un cycle et être rafraîchit par un nouvel opérande issu de la mémoire à la fin du cycle. Ceci permet aussi de stocker en mémoire le contenu d un registre résultat et de rafraîchir ce dernier par un nouveau résultat issu de l ALU dans le même cycle. Les registres de l ALU sont doubles (2 banks). Seul un bank est accessible à la fois. Le second bank peut être activé, par exemple dans un sous-programme ou une routine d interruption, ce qui évite le stockage des données contenues dans les registres. La sélection du bank primaire ou secondaire est commandée par le bit MSTAT[0] (voir )

15 DESCRIPTION DU CŒUR DE L ADSP2171 Page bits PMD BUS DMD BUS MUX Bank 2 Bank 1 AX REGISTERS 2x16 Bank 2 Bank 1 AY REGISTERS 2x16 MUX MUX AZ AN AC AV AS AQ X Y ALU R CI Bank 2 Bank 1 AF REGISTER 1x16 MUX Bank 2 Bank 1 AR REGISTER 1x16 RBUS Figure 2-8 : Unité Arithmétique et logique Fonctions standards Les fonctions standards de l ALU sont les suivantes (R=AR ou AF) : R = X+Y : Addition simple R = X+Y+CI : Addition avec retenue sur 1 bits R = X-Y : Soustraction simple R = X-Y+CI-1 : Soustraction avec retenue et décalage de 1 bit R = Y-X : Soustraction simple R = Y-X+CI-1 : Soustraction avec retenue et décalage de 1 bit R = -X : Changement de signe de X (complément à deux) R = -Y : Changement de signe de Y (complément à deux) R = Y+1 : Incrémentation de Y par 1 R = Y-1 : Décrémentation de Y par 1 R = PASS X : Passe X dans R avec modification des flags AZ et AN

16 DESCRIPTION DU CŒUR DE L ADSP2171 Page 12 R = PASS Y : Passe Y dans R avec modification des flags AZ et AN R = 0 (PASS 0) : Mise à zéro de R R = ABS X : Valeur absolue de X avec modification du flag AS R = X AND Y : ET logique bit à bit entre X et Y R = X OR Y : OU logique bit à bit entre X et Y R = X XOR Y : OU exclusif logique bit à bit entre X et Y R = NOT X : NON logique bit à bit de X (complément à 1) R = NOT Y : NON logique bit à bit de Y (complément à 1) Registres d entrées et de sortie de l ALU. Les registres connectés aux ports de l ALU sont les suivants Source Source Destination Registres connectés au port X Registres connectés au port Y Registre connectés au port R ALU AX0 AX1 AR (Bus DMD) (Bus DMD) (Bus R) AY0 AY1 AF (Bus DMD - PMD) (Bus DMD - PMD) (ALU : R) AR AF (Bus R) (ALU : R) MAC BR MR0 MR1 MR2 SR0 SR1 (Bus R) (Bus R) (Bus R) (Bus R) (Bus R) Calculs simple précision Lors d une addition simple précision, on peut avoir les quatre cas suivant : X Y R AC (Carry) AV (Overflow) AN (Negativ) x>0 y>0 0<x+y<7FFF x>0 x<0 x>0 x<0 y<0 y>0 y<0 y>0 0<x+y<7FFF <x+y< x<0 y<0 8000<x+y< x<0 y<0 8000>x+y x>0 y>0 x+y>7fff La soustraction peut être déduite de l addition Calculs multiprécision L ALU supporte les opérations en multiprécision grâce à l entrée de retenue CI (Carry In) et au bit AC (ASTAT[3]) du registre d état arithmétique ASTAT. L état logique de CI est identique à la valeur du bit AC généré lors de l opération précédente dans l ALU Mode saturation ou limitation de l ALU Le fonctionnement de l ALU suppose l absence de saturation ce qui correspond à des données ne pouvant varier (en format 1.15) que de (valeur la plus

17 DESCRIPTION DU CŒUR DE L ADSP2171 Page 13 négative), pour laquelle AV=AC=1, à la valeur (valeur la plus positive), pour laquelle AV=1 et AC=0. Dépassement de capacité (AV) Retenue (AC) (Overflow) (Carry) Registre AR 0 0 R (sortie de l ALU) Résultat du calcul 0 1 R (sortie de l ALU) Résultat du calcul Pleine échelle positive Pleine échelle négative En mode normal, l ALU ne tient pas compte de la saturation. Pour activer ce mode, il faut modifier le bit MSTAT[3] (AR Saturation Mode Enable). Le mode de saturation reste actif pour toutes les opérations futures de l ALU. Attention, il faut garder à l esprit que seul le registre AR doit être utilisé pour ce mode Mémorisation d un dépassement de capacité dans l ALU L activation du bit MSTAT[2] (ALU Overflow Latch Mode Enable) du registre d état des modes de fonctionnement permet de maintenir l état du bit AV (ASTAT[2]) du registre d état arithmétique après la détection d un dépassement de capacité. Dans ce mode AV ne peut être remis à «0» que par écriture, via le bus DMD Division L ALU supporte la division entre deux nombres pouvant être signés ou non. Une première restriction impose que les deux nombres doivent être du même type, c est-à-dire soit les deux signés, soit le deux non-signés. En simple précision, le dividende à une capacité de 32 bits tandis que le diviseur est un mot de. Le temps d exécution de la division prend dans ce cas 16 cycles d horloge. Pour une division signée : Les de poids forts du dividende doivent être dans AY1 ou AF (registres connectés à l entrée Y de l ALU. Les de poids faible du dividende doivent être dans AY0. Le diviseur doit se trouver dans un des registres AX0, AX1, ou un registre de résultat R (registres connectés sur l entrée X de l ALU). Le résultat d une capacité de se trouve dans le AY0 Pour une division non-signée : Les de poids forts du dividende doivent être dans AF (registre connecté à l entrée Y de l ALU. Les de poids faible du dividende doivent être dans AY0. Le diviseur doit se trouver dans un des registres AX0, AX1, ou un des registres de résultat R (registres connectés sur l entrée X de l ALU). Le résultat d une capacité de se trouve dans le AY0 Lorsque le dividende et le diviseur sont signés, la primitive DIVS (divide-sign) est exécutée en premier. Cette primitive définit le signe du quotient par une fonction OU-exclusif entre les bits de signes (MSB) du dividende et du diviseur. Le contenu du registre AY0 est décalé de 1 bit vers la gauche, le LSB étant remplacé par le bit de signe du quotient.

18 DESCRIPTION DU CŒUR DE L ADSP2171 Page 14 Le signe du quotient est également mémorisé dans le bit ASTAT[6] (AQ) du registre d état arithmétique. Le bit de poids fort des de poids faibles du dividende AY0[15] est mémorisé dans AF[0] alors que les 15 bits de poids faibles de la sortie de l ALU R[15 0] sont chargés dans AF[15 1]. 15 bits 1bits LEFT SHIFT AX0[15...0] AX1[15...0] AX1[15...0] AF[15...1] AF[0] AY0[15...0] LOWER DIVIDEND MUX DIVISOR MUX UPPER DIVIDEND MSB MSB 1bits 1bits PARTIAL REMAINDER 1bits R-BUS X ALU Y R=PASS Y 15 bits Z AQ ASTAT[6] LSB Figure 2-9 : Bloc spécifique à la division DIVS Lors d une division de deux nombres non-signés, la primitive DIVS n est pas utilisée. Dans ce cas le bit ASTAT[6] (AQ) doit être initialisé à «0» Le bit AQ indique dans ce cas que le quotient doit être considéré comme positif. La seconde primitive DIVQ (divide quotient) permet de générer un bit du quotient à la fois. Cette primitive doit donc être exécutée autant de fois qu il reste de bit à définir pour le quotient. Pour les divisions non-signées, la primitive DIVQ doit être exécutée 16 fois alors que pour des divisions signées on utilise une fois la primitive DIVS et 15 fois la primitive DIVQ. L instruction DIVQ décale le contenu du registre AY0 de 1 bit vers la gauche, le bit AY0[15] étant mémorisé dans AF[0]. Les 15 bits de poids forts du résultat de l addition si AQ= «1» ou de la soustraction si AQ= «0» sont chargés dans AF[15 1]. La valeur du bit AQ est définie comme le résultat le l opération logique OU-exclusif entre le MSB du diviseur et le MSB du résultat fourni par l ALU. L opération de division est très complexe. Le choix d un format du dividende et du diviseur peut conduire à un résultat erroné. On s occupera ici que d un cas, utilise pour l interpolation des codeurs optiques incrémentaux sin cos. Dans ce cas particulier, une division doit être effectuée entre des nombres signés de format 1.31 pour le dividende et 1.15 pour le diviseur. Le résultat, c est à dire le quotient aura le format La seule condition à respecter est que le dividende doit être plus grand que le diviseur. Pour plus d information, voir ADSP2100 Family, User s Manual, Chap. 2, Appendix B, Division Exceptions.

19 DESCRIPTION DU CŒUR DE L ADSP2171 Page bits 1 bits LEFT SHIFT AX0[15...0] AX1[15...0] MUX DIVISOR MSB AF[15...1] AF[0] AY0[15...0] PARTIAL REMAINDER 1 bits LOWER DIVIDEND 1bits R-BUS X ALU R=Y+X IF AQ=1 R=Y-X IF AQ=0 Z Y 1bits AQ ASTAT[6] 15 bits MSB LSB Figure 2-10 : Bloc spécifique à la division DIVQ Bits d état de l ALU Les bits d état définis dans le registre d état arithmétique ASTAT (voir ) sont les suivants : Flag Nom Définition AZ Zero NOR logique de tous les bits du port R de l ALU Vrai (1) si tous les bits sont à 0 AN Negative Bit de signe du port R de l ALU AV Vrai (1) si la valeur est négative Overflow OU exclusif des deux retenues (Carry) des deux derniers étages (MSB) de l additionneur Vrai (1) s il y a dépassement de capacité AC Carry Retenue (Carry) du dernier étage de l additionneur AS Sign Bits de signe du port X de l ALU. Affecté uniquement pat l instruction ABS (valeur absolue) AQ Quotient Bit de quotient affecté uniquement par les instructions DIVS et DIVQ 2.4 LE MULTIPLIEUR ET ACCUMULATEUR (MULTIPLIER/ACCUMULATOR) Le multiplicateur / accumulateur (MAC) permet la réalisation de multiplication rapide (1 cycle d horloge) avec addition ou soustraction cumulée. Des fonctions complémentaires telles que saturation / limitation et mise à zéro sont également implantées. Un registre de»feedback» permet également la réutilisation d un résultat dès le cycle d horloge suivant Structure Le multiplicateur est constitué de deux ports d entrée X et Y de de largeur. Le port de sortie P de 32 bits correspond au résultat. Ce résultat passe ensuite au travers d un additionneur / soustracteur de 40 bits, lequel peut ou non ajouter ou soustraire au résultat le contenu du registre MR. Le résultat global est ensuite chargé dans le registre MR par une

20 DESCRIPTION DU CŒUR DE L ADSP2171 Page 16 remise à jour. Le registre MR de sortie est constitué de trois registres, deux de MR0 et MR1 et un de 8 bits, MR2. La capacité de l additionneur / soustracteur est supérieure à 32 bits afin de permettre un dépassement de capacité lors de calculs intermédiaires faisant intervenir une suite de multiplications et additions / soustractions. Le bit ASTAT[6] permet de signaler un dépassement de capacité sur les 32 bits de MR0 et MR1. Le multiplicateur à deux entrées X et Y de et une sortie résultat P de 32 bits. Le port d entrée X du MAC accepte des données () de deux sources, soit du double registre MX (MX0 ou MX1) ou des registres liées au bus résultat R-Bus (voir 2.4.4). Ces registres peuvent être utilisés directement comme opérandes. Les deux registres contenus dans MX peuvent être lus ou écrits depuis le bus DMD. La sortie registre MX, grâce à un double port, peut être simultanément lu par le port d entrée X et disponible sur le bus DMD. Le port d entrée Y du MAC accepte également des données () de deux sources, soit du double registre MY (MY0 et MY1) ou du registre de «feedback» MF (voir 2.4.4). Les deux registres contenus dans MY peuvent être lus ou écrits depuis le bus DMD, ou écrits directement depuis le bus PMD. L ensemble des instructions disponibles permet également la lecture de ces registres par le bus PMD mais dans ce cas c est l unité de transfert de données entre le bus DMD () et le bus PMD (24 bits) qui est utilisée. La sortie registre MY, grâce à un double port, peut être simultanément lu par le port d entrée Y et disponible sur le bus DMD. Le port de sortie P du MAC (32 bits) est connecté au 32 bits de poids faibles de l additionneur / soustracteur de 40 bits, la seconde entrée n est rien d autre que les registres MR2, MR1, MR0. L additionneur / soustracteur a deux entrées, l une de 32 bits directement connectée à la sortie du multiplicateur, l autre de 40 bits permet la lecture du registre MR. Les sorties de l additionneur / soustracteur vont soit au registre de résultat MR soit au registre de «feedback» MF. Le registre MF permet aux bits 16 à 31 du résultat d être directement utilisés par l entrée Y du multiplicateur lors du prochain cycle de l horloge. Le registre de résultat est constitué de trois registres, deux de (MR0 et MR1) et un de 8 bits (MR2). Ces registres peuvent être chargés directement par le bus DMD. Leurs sorties sont directement connectées (driver tri-state) au bus DMD ou au bus résultat R. N importe quel registre associé au MAC peut être lu et écrit dans un même cycle d horloge. Les registres sont lus au début du cycle et écrits à la fin du même cycle. Dans un cycle donné, la valeur contenue dans un registre quelconque a été chargée à la fin du cycle précédent. Par conséquent, une nouvelle valeur écrite dans un registre ne peut pas être lue avant le début du cycle suivant. Cette caractéristique permet à un registre de fournir un opérande sur une entrée du MAC au début d un cycle et être rafraîchit par un nouvel opérande issu de la mémoire à la fin du cycle. Ceci permet aussi de stocker en mémoire le contenu d un registre résultat et rafraîchir ce dernier par un nouveau résultat issu du MAC dans le même cycle. Les registres du MAC sont doubles (2 banks). Seul un bank est accessible à la fois. Le second bank peut être activé, par exemple dans un sous programme ou une routine d interruption, ce qui évite le stockage des données contenues dans les registres. La sélection du bank primaire ou secondaire est commandée par le bit MSTAT[0] du registre d état du mode de fonctionnement MSTAT (voir ).

21 DESCRIPTION DU CŒUR DE L ADSP2171 Page bits PMD BUS DMD BUS MSB MUX Bank 2 Bank 1 MX REGISTERS 2x16 Bank 2 Bank 1 MY REGISTERS 2x16 MUX MUX X P Y MULTIPLIER Bank 2 Bank 1 MF REGISTER 1x16 40 bits ADD / SUBTRACT 32 bits MV MUX MUX MUX 8 bits Bank 2 Bank 1 MR2 REGISTER 1x8 Bank 2 Bank 1 MR1 REGISTER 1x16 Bank 2 Bank 1 MR0 REGISTER 1x16 8 bits M U X 8 bits RBUS Figure 2-11 : Multiplicateur et accumulateur Fonctions standards Les fonctions standards du MAC sont les suivantes (R=MR ou MF) : R = X*Y : Multiplication simple

22 Bit de signe perdu DESCRIPTION DU CŒUR DE L ADSP2171 Page 18 R = MR+X*Y : Multiplication et accumulation additive R = MR-X*Y : Multiplication et accumulation soustractive R= 0 : Mise à zéro du résultat (MR) La famille des ADSP21xx permet deux modes pour le multiplicateur / accumulateur, soit le mode fractionnaire (1.15) et le mode entier (16.0). En mode fractionnaire 32 bits le port de sortie P du multiplicateur subit un ajustement de format par un décalage de 1 bis vers la gauche (LSB mis à «0») afin de supprimer l extension inutile du bit de signe avant de passer dans le bloc additionneur / soustracteur. En mode entier, aucun décalage n est nécessaire avant de passer dans le bloc additionneur / soustracteur. Les modes entier ou fractionnaire sont validés par le bit MSTAT[4] du registre d état des modes de fonctionnement (MSTAT). Signe (Sortie P) Résultat de la multiplication (Sortie P) MR2 MR1 MR0 Figure 2-12 : Résultat en format entier MSTAT[4]=1 Signe (Sortie P) Résultat de la multiplication (Sortie P) MR2 MR1 MR0 Figure 2-13 : Résultat en format fractionnaire MSTAT[4]= Format d entrée des opérandes Afin de facilité les multiplications multiprécision, l unité MAC accepte sur ces ports d entrées X et Y des nombres entiers ou fractionnaires, signés (complément à deux) ou nonsignés. La définition des formats d entrées fait partie intégrante de l instruction et doit être précisée pour chaque multiplication. Le mode SS (signé x signé) est utilisé lors de la multiplication de deux nombres signés en simple précision ( x ) ou lors de la multiplication partielle des deux bytes de poids forts lors d un calcul en multiprécision. MR=MR+MX0*MY0 (SS) ; Le mode US ou SU(non-signé x signé) ou (signé x non-signé) est utilisé lors de la multiplication de deux nombres en simple précision ( x ) donc l un est signé et l autre pas ou lors de la multiplication partielle d un byte de poids forts et d un byte de poids faible lors d un calcul en multiprécision. MR=MR+MX0*MY0 (US) ou (SU) ;

23 DESCRIPTION DU CŒUR DE L ADSP2171 Page 19 Le mode UU (non-signé x non-signé) est utilisé lors de la multiplication de deux nombres non-signés en simple précision ( x ) ou lors de la multiplication partielle des deux bytes de poids faibles lors d un calcul en multiprécision. MR=MR+MX0*MY0 (UU) ; Le mode RND (arrondi) du résultat du MAC L accumulateur à la possibilité d exécuter une fonction d arrondi sur les 40 bits du résultat à la frontière entre les bits N 15 et 16. Cette fonction est directement spécifiée dans le code d instruction. Les deux opérandes doivent être en mode signé MR=MR+MX0*MY0 (RND) ; Lorsque le mode arrondi est sélectionné, le résultat est contenu soit dans le registre MF, soit dans le registre MR. Dans ce dernier cas, la fonction arrondi modifie autant MR2 que MR1. Afin d éviter un décalage lors de l arrondi, le bit N 16 de MR (LSB de MR1), est forcé à 0 après addition de 0x8000 lorsque MR=0x8000. Exemple d un arrondi au sens mathématique MR2 MR1 MR0 φφφφφφφφ φφφφφφφφ φφφφφφφ φφφφφφφφ Bit 15=1 et addition avec retenue φφφφφφφφ φφφφφφφφ φφφφφφφ φφφφφφφφ Exemple d un arrondi avec compensation d offset : MR2 MR1 MR0 φφφφφφφφ φφφφφφφφ Bit 15=1, Bits (14..0) =0 et addition avec retenue φφφφφφφφ φφφφφφφφ φφφφφφφφ φφφφφφφφ φφφφφφφ φφφφφφφφ Exemple d un arrondi avec compensation d offset : MR2 MR1 MR0 φφφφφφφφ φφφφφφφφ Bit 15=1, Bits (14..0) =0 et addition avec retenue φφφφφφφφ φφφφφφφφ φφφφφφφφ φφφφφφφφ φφφφφφφ φφφφφφφφ On voit ainsi que pour les nombres tronqués impairs, 0.5 est forcé vers 1 alors que pour les nombres tronqués pairs 0.5 est forcé vers 0. Le décalage d arrondi est donc éliminé Registres d entrées et de sortie du MAC. Les registres connectés aux ports du MAC sont les suivants Source Source Destination Registres connectés au port X Registres connectés au port Y Registre connectés au port R MAC MX0 MX1 MR0 MR1 MR2 (Bus DMD) (Bus DMD) (Bus R) (Bus R) (Bus R) MY0 MY1 MF (Bus DMD - PMD) (Bus DMD - PMD) (MAC : R1) MR0 MR1 MR2 MF (Bus DMU) et (Bus R) (Bus DMU) et (Bus R) (Bus DMU) et (Bus R) (MAC : R1)

24 DESCRIPTION DU CŒUR DE L ADSP2171 Page 20 Source Source Destination Registres connectés au port X Registres connectés au port Y Registre connectés au port R ALU AR (Bus R) BR SR0 SR1 (Bus R) (Bus R) Opérations sur les registres résultats MR Comme illustré sur la Figure 2-11, MR est divisé en trois registres : MR0[15 0], MR1[31 16] et MR2 [39 32]. Chacun de ces registres peut être chargé soit par le port R du MAC, soit par le bus DMD. Ces registres peuvent être lus par le bus DMD ou par le bus R. Les 8 bits du registre MR2 sont connectés aux 8 bits de poids faibles de ces bus (DMD et R). Les 8 bits de poids forts sont mis dans un état correspondant à l extension du bit de signe. L écriture du registre MR1 par le bus DMD intègre également l extension automatique du signe dans le registre MR2. Pour charger une valeur différente de l extension du signe de MR1 dans MR2, il faut impérativement charger MR2 après MR1. Le chargement de MR0 n affecte aucun des registres MR1 et MR2 (pas d extension de signe pour MR0) Mode saturation ou limitation du MAC L additionneur / soustracteur du MAC génère un signal d état de dépassement de capacité (MV), lequel est chargé dans le registre d état arithmétique ASTAT[6] à la fin de chaque opération exécutée dans le MAC. Le résultat placé dans les registres MR (MR2, MR1, MR0) est considéré comme un mot signé de 32 bits. Un dépassement de capacité peut donc être détecté si les 8 bits du registre MR2 ne sont pas tous égaux et identiques au bit de poids fort (MSB) du registre MR1. MV MR2 MSB(MR1) Registre AR R (sortie du MAC) Résultat du calcul R (sortie de l ALU) Résultat du calcul 1 OR{MR2}= Pleine échelle positive 1 AND{MR2}= Pleine échelle négative 2.5 LE DÉCALEUR À BARILLET (BARREL SHIFTER) Le décaleur à barillet propose un ensemble de fonctions sur des entrées de de largeur et dont le résultat est sur 32 bits. Sont inclus les décalages arithmétiques, logiques et de normalisation. Il est également possible d extraire la valeur de l exposant d un nombre de simple ou double précision pour une représentation des nombres ne virgule flottante Description générale La Figure 2-14 illustre le schéma bloc du décaleur à barillet tel qu il est implanté dans tous les DSP de la famille ADSP21xx. Cette unité de décalage peut être décomposée en quatre zones distinctes : la zone de décalage (shifter array) ; la zone de fonction logique OU / PASSE (OR /PASS) ; la zone de détection de l exposant (exponent detector) ; la zone de comparaison logique d exposant (exponent COMPARE logic).

25 DESCRIPTION DU CŒUR DE L ADSP2171 Page 21 DMD BUS 8 bits LSB MUX SB REGISTER 1x5 Bank 1 5 bits LSB Bank 2 SI REGISTER 1x16 Bank 1 Bank 2 MUX 8 bits LSB COMPARE EXPONENT DETECTOR SS 8bits HI/LO R C O X I X SHIFTER ARRAY MUX MUX 32 bits 32 bits Bank 2 Bank 1 SE REGISTER 1x5 NEGATE OR / PASS 8bits MUX MUX From INSTRUCTION SR1 REGISTER 1x16 Bank 2 Bank 1 SR0 REGISTER 1x16 Bank 2 Bank 1 MUX R-BUS Figure 2-14 : Décaleur à barillet La zone de décalage est constituée d un décaleur à barillet de bits. Il permet de placer un mot de dans un champ de 32 bits. Il existe donc 49 possibilités de décalage dans ce champ de 32 bits si les décalages «hors champ» gauche et droite sont inclus. Les opérations de décalage se font en un cycle d horloge. En écrivant à l entrée du bloc décaleur I=ABCDEFGHIJKLMNPR ; {grandeur de définie par la place de chaque bit} Référence du décalage Sortie du décaleur : O HI LO MSB(SR1) LSB(SR1) MSB(SR0) LSB(SR0) à R PR NPR MNPR LMNPR KLMNPR JKLMNPR IJKLMNPR HIJKLMNP R GHIJKLMN PR

26 DESCRIPTION DU CŒUR DE L ADSP2171 Page 22 Référence du décalage Sortie du décaleur : O HI LO MSB(SR1) LSB(SR1) MSB(SR0) LSB(SR0) FGHIJKLM NPR EFGHIJKL MNPR DEFGHIJK CDEFGHIJ LMNPR000 KLMNPR BCDEFGHI JKLMNPR ABCDEFGH XABCDEFG IJKLMNPR HIJKLMNP R XXABCDEF GHIJKLMN PR XXXABCDE XXXXABCD FGHIJKLM EFGHIJKL NPR00000 MNPR XXXXXABC DEFGHIJK LMNPR XXXXXXAB XXXXXXXA CDEFGHIJ BCDEFGHI KLMNPR00 JKLMNPR XXXXXXXX ABCDEFGH IJKLMNPR XXXXXXXX XXXXXXXX XABCDEFG XXABCDEF HIJKLMNP GHIJKLMN R PR XXXXXXXX XXXABCDE FGHIJKLM NPR XXXXXXXX XXXXXXXX XXXXABCD XXXXXABC EFGHIJKL DEFGHIJK MNPR0000 LMNPR XXXXXXXX XXXXXXAB CDEFGHIJ KLMNPR XXXXXXXX XXXXXXXX XXXXXXXA XXXXXXXX BCDEFGHI ABCDEFGH JKLMNPR0 IJKLMNPR XXXXXXXX XXXXXXXX XABCDEFG HIJKLMNP XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXABCDEF XXXABCDE GHIJKLMN FGHIJKLM XXXXXXXX XXXXXXXX XXXXABCD EFGHIJKL XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXABC XXXXXXAB DEFGHIJK CDEFGHIJ XXXXXXXX XXXXXXXX XXXXXXXA BCDEFGHI XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ABCDEFGH XABCDEFG XXXXXXXX XXXXXXXX XXXXXXXX XXABCDEF XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXABCDE XXXXABCD XXXXXXXX XXXXXXXX XXXXXXXX XXXXXABC XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXAB XXXXXXXA à -32 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tableau 2-1 : Caractéristique du bloc décaleur X : bit d extension (soit le signe pour un décalage arithmétique ou 0 pour un décalage logique. Le placement initial des d entrée est déterminé par un code de contrôle HI / LO. Les blocs de décalage et la logique associée sont contrôlés par l ensemble de registres suivants : Le registre SI fournit la grandeur de à décaler à l entrée du bloc de décalage et à l entrée du détecteur d exposent. Ce registre de peut être lu et écrit directement par le bus DMD. Comme le montre la structure générale du décaleur à barillet, les entrées du bloc décaleur et du détecteur d exposent peuvent également provenir des registres connectés au bus de résultat (R-bus), soit MR, AR, SR. Le registre SR, connecté à la sortie de bloc de décalage via le bloc logique OR / PASS est un registre de 32 bits divisé en deux registres de SR0 et SR1. Ces deux registres peuvent être chargés par le bus DMD et lus soit par le même bus ou par le bus résultat R. Le registre SR peut également être utilisé en «feedback» comme entrée du bloc logique OR / PASS pour les décalages en double précision.

27 DESCRIPTION DU CŒUR DE L ADSP2171 Page 23 Le registre SE (Shifter exponent) a une largeur de 8 bits et contient l exposent du nombre contenu dans SI durant une opération de normalisation / dénormalisation. Le registre SE peut être lu et écrit par le bus DMD (8 bits LSB). Son contenu est un nombre binaire en complément à deux de format 8.0 (entier signé). En lecture les bits de poids forts (8 bits MSB) représentent l extension du signe de la valeur de SE Le registre SB (Shifter block) est important pour les opérations en virgule flottante. Il contient la valeur de décalage nécessaire à la normalisation du nombre contenu dans SI. Le registre SB peut être lu et écrit par le bus DMD (5 bits LSB). Son contenu est un nombre binaire en complément à deux de format 5.0 (entier signé). En lecture les bits de poids forts (11 bits MSB) représentent l extension du signe de la valeur de SI N importe quel registre associé à l unité de décalage peut être lu et écrit dans un même cycle d horloge. Les registres sont lus au début du cycle et écrits à la fin du même cycle. Dans un cycle donné, la valeur contenue dans un registre quelconque a été chargée à la fin du cycle précédent. Par conséquent, une nouvelle valeur écrite dans un registre ne peut pas être lue avant le début du cycle suivant. Cette caractéristique permet à un registre de fournir un opérande sur une entrée du décaleur à barillet au début d un cycle et être rafraîchit par un nouvel opérande issu de la mémoire à la fin du cycle. Ceci permet aussi de stocker en mémoire le contenu d un registre résultat et rafraîchir ce dernier par un nouveau résultat issu du décaleur à barillet dans le même cycle. Les registres du décaleur à barillet sont doubles (2 banks). Seul un bank est accessible à la fois. Le second bank peut être activé, par exemple dans un sous programme ou une routine d interruption, ce qui évite le stockage des données contenues dans les registres. La sélection du bank primaire ou secondaire est commandée par le bit MSTAT[0] (voir ). La valeur de décalage de l entrée est déterminée par un mot de contrôle de code (C) et un bit de référence HI / LO. Le mot de contrôle est un nombre signé de 8 bits indiquant le sens et le nombre de décalage à effectuer. Une valeur positive correspond à un décalage vers la gauche, soit dans le sens croissant (upshift) alors qu une valeur négative correspond à un décalage vers la droite, soit dans le sens décroissant (downshift). Ce mot de contrôle peut venir de trois sources. Le registre SE (Shift Exponent), la valeur négative du registre SE (NEGATE) ou une valeur immédiate d instruction. Le bit HI / LO détermine le point de référence du décalage. Si le bit HI /LO vaut «1», les décalages sont référencés au registre SR1 soit les MSB du registre résultat SR. Si par contre le bit HI /LO vaut «0», les décalages sont référencés au registre SR0 soit les LSB du registre résultat SR. Le bit HI / LO détermine le point de référence du décalage. Si le bit HI /LO vaut «1», les décalages sont référencés au registre SR1 soit les MSB du registre résultat SR. Si par contre le bit HI /LO vaut «0», les décalages sont référencés au registre SR0 soit les LSB du registre résultat SR. Lors d un décalage vers la gauche, les bits ajoutés à droite sont des «0». Par contre dans un décalage vers la droite, les bits ajoutés à gauche sont des bits d extension. La valeur des bits d extension peut provenir de trois sources. Le bit de poids forts du registre d entrée SI (bit de signe), le bit de retenue (AC) du registre d état arithmétique ASTAT[3] ou un «0». Le bloc OR / PASS permet la réalisation d une combinaison de décalage pour les nombres en double précision. Plusieurs instructions de décalage [SR OR] sont combinées avec un OU logique bit à bit avec le contenu courant du registre de résultat SR.

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

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

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

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

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

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

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

Plus en détail

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE

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

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

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Modules d automatismes simples

Modules d automatismes simples Modules d automatismes simples Solutions pour automatiser Modules d'automatismes Enfin, vraiment simple! Un concentré de solution Pour vos petites applications d'automatismes millenium gère : Temporisations

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

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

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

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

QUESTION 1 {2 points}

QUESTION 1 {2 points} ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté

Plus en détail

Fiche technique CPU 314SC/DPM (314-6CG13)

Fiche technique CPU 314SC/DPM (314-6CG13) Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4

Plus en détail

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT Les portes logiques Nous avons jusqu ici utilisé des boutons poussoirs et une lampe pour illustrer le fonctionnement des opérateurs logiques. En électronique digitale, les opérations logiques sont effectuées

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

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

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

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

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

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

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

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

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

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

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

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

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

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

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

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 et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

Les fonctions logiques

Les fonctions logiques 1 Les fonctions logiques Le fonctionnement des ordinateurs tout comme d autres appareils électroniques repose sur l emploi des circuits électroniques de logique binaire ou électronique numérique. Dans

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

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

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Programmation assembleur : aperçu

Programmation assembleur : aperçu Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal

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

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

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Organisation des Ordinateurs

Organisation des Ordinateurs Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les

Plus en détail

PIC : COURS ASSEMBLEUR

PIC : COURS ASSEMBLEUR PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire

Plus en détail

Fiche technique CPU 315SN/PN (315-4PN33)

Fiche technique CPU 315SN/PN (315-4PN33) Fiche technique CPU 315SN/PN (315-4PN33) Données techniques N de commande 315-4PN33 Information générale Note - Caractéristiques SPEED-Bus - Données techniques de l'alimentation Alimentation (valeur nominale)

Plus en détail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 19, Le USB Etienne Tremblay Université Laval, Hiver 2012 Cours 19, p.1 USB signifie Universal Serial Bus USB Le USB a été conçu afin de remplacer le port série

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

Plus en détail

TP_Codeur_Incrémental

TP_Codeur_Incrémental Lycée Lislet Geoffroy BTS MAI TP2 - Codeur incrémental Cod-2 Etre capable de : Décrire l allure des signaux délivrés par un codeur incrémental. Enoncer les caractéristiques principales d un codeur incrémental.

Plus en détail

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Transmissions série et parallèle

Transmissions série et parallèle 1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en

Plus en détail

Proteus Design Suite V7 Instruments virtuels

Proteus Design Suite V7 Instruments virtuels Proteus Design Suite V7 Instruments virtuels Le modèle d oscilloscope virtuel...2 Généralités...2 Utilisation de l oscilloscope...2 Le modèle d analyseur logique...5 Généralités...5 Utilisation de l analyseur

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

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

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Concevoir son microprocesseur

Concevoir son microprocesseur Concevoir son microprocesseur structure des systèmes logiques Jean-Christophe Buisson Collection Technosup Ellipses Avant-propos Ce livre s adresse aux étudiants en informatique de licence et maîtrise,

Plus en détail

PIC 16F84. Philippe Hoppenot

PIC 16F84. Philippe Hoppenot Département GEII PIC 16F84 Philippe Hoppenot hoppenot@lsc.univ-evry.fr http://lsc.univ-evry.fr/~hoppenot/presentationfrancaise.html Ce cours sur le PIC est dispensé en licence professionnelle Concepteurs

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

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Microprocesseur + Logiciel

Microprocesseur + Logiciel Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS

Plus en détail

Le chiffre est le signe, le nombre est la valeur.

Le chiffre est le signe, le nombre est la valeur. Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

Architecture de l ordinateur

Architecture de l ordinateur Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel

Plus en détail

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F) NanoSense 123 rue de Bellevue, 92100 Boulogne Billancourt France Tél : 33-(0) 1 41 41 00 02, fax : 33-(0) 1 41 41 06 72 Protocole Modbus de la sonde Particules P4000 (Version 01F) Ver V01A V01B V01C V01D

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

LOGICIEL DC4D MONITOR

LOGICIEL DC4D MONITOR THQtronic LOGICIEL DC4D MONITOR La communication entre PC et DC4D ne peut se faire qu à l aide du câble de liaison USB-TTL de FTDI référence TTL-232R-5V-AJ vendu en option. DC4D Monitor est la même application

Plus en détail

Cours 7 : Programmation d une chaîne d acquisition

Cours 7 : Programmation d une chaîne d acquisition Cours 7 : Programmation d une chaîne d acquisition 4 Concepts 4 Programmation Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions

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

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

avec des nombres entiers

avec des nombres entiers Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0

Plus en détail

Description du logiciel Modbus RTU

Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 1 de 57 Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 2 de 57 Sommaire Description

Plus en détail

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2 ERM AUTOMATISMES INDUSTRIELS 280 Rue Edouard Daladier 84973 CARPENTRAS Cedex Tél : 04 90 60 05 68 - Fax : 04 90 60 66 26 Site : http://www.erm-automatismes.com/ E-Mail : Contact@erm-automatismes.com 1

Plus en détail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test 11 juillet 2003 Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test Mariane Comte Plan 2 Introduction et objectif

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO

FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO PAVE NUMERIQUE CALCULATRICE MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO GEBRUIKERSGIDS MANUAL DO USUARIO FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES

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

Les liaisons SPI et I2C

Les liaisons SPI et I2C DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création

Plus en détail

Manipulations du laboratoire

Manipulations du laboratoire Manipulations du laboratoire 1 Matériel Les manipulations de ce laboratoire sont réalisées sur une carte électronique comprenant un compteur 4-bit asynchrone (74LS93) avec possibilité de déclenchement

Plus en détail

COACH-II Manuel d utilisation

COACH-II Manuel d utilisation COACH-II Manuel d utilisation MA-COACH-II_FR Page 1 on 25 Rev: 29/03/2011 1. INTRODUCTION...3 2. VUE GENERALE...4 3. DIMENSIONS MECANIQUES...5 4. CARACTERISTIQUES TECHNIQUES...6 4.1. Générales...6 4.1.1.

Plus en détail

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX 02-09 T500 DUAlTACH JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence JAQUET T500 DualTach Instrument multi canal de mesure et de surveillance pour applications

Plus en détail

SUR MODULE CAMÉRA C38A (OV7620)

SUR MODULE CAMÉRA C38A (OV7620) Applications maquette d'étude EP10K20 DÉMULTIPLEXEUR BT.656 SUR MODULE CAMÉRA C38A OV7620 SCHÉMAS ET DESCRIPTIONS AHDL 1. Schéma principal Le démultiplexeur proprement dit est la fonction "Decod_BT656_1".

Plus en détail