 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 1 Conc

 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 1 Concepts et Pratique des Processeurs Numériques des Signaux (DSP) Chiheb Rebai, Nadia Khouja Chiheb Rebai, Nadia Khouja chiheb.rebai@supcom.rnu.tn, nadia.khouja@supcom.rnu.tn ©Esprit, Février 2011 École Supérieure Privé d’Ingénierie et de Technologies  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 2 Objectifs du cours Mise en évidence de: Fonctionnalités de base des processeurs numériques des signaux (DSP) Architectures des cores et des périphériques des DSPs Méthodologies et Outils de développement, de vérification et de mise au point Compétences à acquérir: Maîtrise des architectures matérielles des DSPs Maîtrise du jeu d’instructions pour la programmation des DSP Spécification des applications d’implantation sur DSP Règles de structuration et de développement de codes DSP Maîtrise des outils de développement et de test des applications DSP  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 3 Programme du module Séance 1 Concepts de base des DSP: définition et architecture générique C. Rebai Séance 2 Étude des DSP AD-Blackfin: architecture et jeu d’instructions C. Rebai Séance 3 Initiation à l’environnement de développement intégré Visual DSP++ C. Rebai Séance 4 Application 1: Familiarisation avec le jeu d’instructions du DSP Blackfin C. Rebai M. Attia Séance 5 Application 2: Implantation d’un filtre à réponse impulsionnelle finie (FIR) C. Rebai M. Attia Séance 6 Application 3: Chargement des porteuses d’un modulateur DMT C. Rebai M. Attia Séance 7 Application 4: Fonctions de traitement d’images C. Rebai M. Attia  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 4 Partie 2 Etude des DSP AD-Blackfin Architecture du core ADSP Blackfin Unités périphériques Jeu d’instructions et exemples  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 5 Architecture du core ADSP Blackfin École Supérieure Privé d’Ingénierie et de Technologies  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 6 Road Map DSP AD-Blackfin  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 7 Architecture ADSP BF533  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 8 Architecture ADSP BF535  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 9 Architecture ADSP BF561 JTAG Test and Emulation Interrupt Controller/ Timer Blackfin-LP Core Instr Cache / SRAM Data Cache / SRAM Scratch Blackfin-LP Core Instr Cache / SRAM Data Cache / SRAM Scratch 128K Bytes SRAM System Bus Interface Unit GP I/O SPI UART0 IrDA 64 SPORT0 SPORT1 32 PPI PPI External Mem Controller 32 16 DMA Controller 1 DMA Controller 2 32 16 Watchdog Timer Boot ROM PAB EAB DAB Clock and Power Mgmt Cntl (PLL) Interrupt Controller/ Timer Watchdog Timer IMDMA Controller DAB Timers Dual Core  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 10 Modes opératoires Les DSP Blackfin supportent 3 modes: Supervisor Mode Permet un accès complet à toutes les ressources périphériques Utilisé pour les OS kernel et les device derivers Permet de servir les interruptions et les exceptions User Mode Code d’algorithmes ne permettant pas un accès aux ressources périphériques Ne permet pas de servir les interruptions et les exceptions Emulator (or Debug) Mode Permet les mêmes fonctionnalités que le Supervisor mode et accessible via JTAG  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 11 Architecture du core  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 12 2 Multiplieurs 16 bits 2 accumulateurs 40 bits 2 ALU 40 bits 4 ALU video 8 bits 1 Shifter Data Registers Manipulation de données 8, 16, ou 32 bits à partir du banc de registres de calcul 2 DAGs Unités arithmétiques et d’adressage  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 13 Registres du core Tous les traitements sont effectués sur des données contenues dans des registres Tous les périphériques sont configurés avec des registres L’accès mémoire se fait à travers des pointeurs dans les registres d’adresses L’accès aux registres se fait par nom ou registre mappé en mémoire (MMRs : Memory Mapped registers) Registres du core accessibles par nom  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 14 Registres du core Frame Pointer Stack Pointer  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 15 R[7:0] : 32 bits R[7:0].H : 16 bits R[7:0].L : 16 bits A[1:0] : 40 bits A[1:0].X : 8 bits A[1:0].W : 32 bits A[1:0].H : 16 bits A[1:0].L : 16 bits Registres de données Exemple: accès par nom  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 16 Index registers: I[3:0] Unsigned 32-bit Modify registers: M[3:0] Signed 32-bits Base and Length registers: B[3:0] and L[3:0] Unsigned 32-bits Pointer registers: P[5:0], FP, USP, and SP Unsigned 32-bits Caractéristiques Caractéristiques • Supply address and post-modify • Supply address with offset • Modify address • Bit-reversed carry address Registres des DAG  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 17 R0 = [ I2 ] ; /*loads a 32-bit value from an address pointed to by I2 and stores it in the destination register R0*/ R0 = [ I2++M1 ] ; /*loads a 32-bit value from an address pointed to by I2 and stores it in the destination register R0, I2 is then updated by M1 content*/ R0.H = W [ I2 ] ; /* loads a 16-bit value from an address pointed to by I2 and stores it in the 16-bit destination register R0.H */ [ P1 ] = R0 ; /* 32-bit store operation.*/ B [ P1++] = R0 ; /* stores the 8-bit value from the R0 register in the address pointed to by P1 register, then increments P1 register Byte transfer only with pointers */ R0 = W [ P1++ ] (Z) ; /* loads a 16-bit word into a 32-bit destination register from an address pointed to by the P1 Pointer register. The Pointer is then incremented by 2 and the word is zero-extended to fill the 32-bit destination register */ I1 += M2 ; /* adds M2 to I1 and updates I1 with the new value, no memory access*/ Instructions DAG  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 18 Architecture ALU  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 19 Fonctions ALU  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 20 Opérations ALU 16 bits Single 16-bit addition Dual 16-bit addition Quad 16-bit addition Dual 16-bit Cross addition with saturation  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 21 Opérations ALU 32 bits 32-bit addition Dual 32-bit addition  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 22 Opérations ALU logiques  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 23 Architecture MAC  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 24 Fonctions MAC  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 25 Mode 1: Fractional mode  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 26 Mode 2: Integer mode  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 27 Single MAC 16-bit operation  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 28 Multiplication + accumulation  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 29 MAC avec transfert DReg  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 30 Dual MAC operations  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 31 Dual MAC operations  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 32 Architecture du SHIFTER  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 33 Fonctions SHIFTER  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 34 Opérations SHIFTER Décalage arithmétique Rotation  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 35 Décalage logique  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 36 Program Sequencer Fonctionnalités Program Sequencer Maintains Loops, Subroutines, Jumps, Idle, Interrupts and Exceptions Contains a 10-stage instruction pipeline Includes Zero-Overhead Loop Registers  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 37 Instructions Program Sequencer  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 38 Instructions Pipeline  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 39 Exécution Pipeline  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011 40 (If CC) jump get_new_sample ; /* assembler resolved target, abstract offsets */ (If !CC ) jump (p5) ; /* P5 contains the absolute address of the target */ call ( p5 uploads/Ingenierie_Lourd/ cours-dsp-esprit-p2-2011.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager