Académique Documents
Professionnel Documents
Culture Documents
Le processeur C67x se compose de trois parties principales : le processeur (ou le cœur), Périphériques
et mémoire. Huit unités fonctionnelles fonctionnent en parallèle, dont deux ensembles similaires des
quatre unités fonctionnelles de base. Les unités communiquent à l'aide d'un chemin croisé entre
deux fichiers de registre, dont chacun contient 16 32-bits enregistre. Le parallélisme du programme
est défini au moment de la compilation car il n'y a pas de vérification des dépendances des données
effectuée dans le matériel pendant l'exécution. Le La mémoire de programme de 256 bits récupère
chacune huit instructions de 32-bits chaque cycle
La figure est le schéma fonctionnel des appareils TMS320C62x/C67x. Les appareils C62x/C67x sont
livrés avec un programme et une mémoire de données sur puce, qui peuvent être configuré comme
cache sur certains appareils. Les périphériques incluent une mémoire directe contrôleur d'accès
(DMA), logique de mise hors tension, interface mémoire externe EMIF), port(s) série, bus d'extension
ou port hôte et minuterie(s). Vérifiez les données fiche de votre appareil pour déterminer les
configurations de périphériques spécifiques que vous avoir.
L’unité centrale de traitement (CPU) C6x est l’élément central de tous les
Appareils TMS320C62xx.
La CPU contient :
L’unité program fetch du CPU récupère les instructions par paquet de huit instructions à 32 bits «
Fetch Packet FP » à chaque cycle d’horloge du processeur DSP. Un paquet d'exécution (EP) consiste en
un groupe d'instructions qui peuvent être exécuté en parallèle dans le même temps de cycle.
L'instruction Dispatch (souvent abrégée en ID) dans les DSP de la famille TMS320C67x de Texas
Instruments est un mécanisme essentiel qui permet d'acheminer les instructions des différents
canaux de données vers les unités de traitement appropriées. Il s'agit d'une étape cruciale dans le
pipeline d'exécution d'un DSP TMS320C67x, qui facilite le traitement parallèle et efficace des
données.
L’unité de décodage des instructions est une composante clé du pipeline d'exécution qui a pour
principale fonction de décoder les instructions du programme avant leur exécution.
Le principe du Pipeline :
L’exécution d’une instruction par le CPU d’un processeur s’effectue en trois étapes différentes :
De nombreux processeurs à usage général effectuent ces étapes de manière série, l’instruction
prend plusieurs cycles pour être achever. Cependant, comme le processeur tms320c6x dispose
de plusieurs unités fonctionnelles, de mémoires internes en structure Harvard et de bus
multiples, ce processeur augmente ces performances par chevauchement des étapes d’exécution
des instructions. Ce procédé est le pipeline.
Chemins de données (A et B) dans lesquels le traitement s'effectue. Chaque chemin de donnée
comporte quatre unités fonctionnelles (. L, S, .M et. D) et un fichier de registre contenant 16 registres
32 bits. Les unités fonctionnelles exécutent la logique, le décalage, la multiplication et opérations
d’adresse de données. Toutes les instructions, à l'exception des charges et des magasins,
fonctionnent sur les registres. Les deux unités d'adressage de données (. D1 et. D2) sont
exclusivement responsable de tous les transferts de données entre les fichiers de registre et la
mémoire. Les quatre unités fonctionnelles d'un chemin de données disposent d'un seul bus de
données connecté à registres de l'autre côté du CPU afin que les unités puissent échanger des
données avec le fichier de registre du côté opposé. Enregistrer l'accès sur les supports du processeur
une opération de lecture et d'écriture par cycle.
Le tableau ci-dessous résume les différentes opérations exécutées par les unités fonctionnelles :
Registre file A » contient seize (16) registres 32 bits appelés A0-A1-…-A15. Ces registres
stockent le contenu de nos variables et fournissent un accès rapide à l'intérieur et à
l'extérieur des unités fonctionnelles. Nous stockons :
- Le coefficient a dans le registre A0 ;
- La variable x dans le registre A1,
- Le produit prod dans le registre A3 ; et le résultat Y dans le registre A4.
Dans un DSP TMS320C67x sont des ressources essentielles pour personnaliser et optimiser le
comportement du DSP en fonction des besoins de l'application. Ils permettent de régler divers
paramètres de fonctionnement du DSP et de contrôler le flux d'exécution, ce qui est essentiel pour
tirer le meilleur parti du DSP dans diverses applications de traitement de signal numérique.
La logique de contrôle est responsable de la séquence d'exécution des instructions, de la gestion des
interruptions, de la gestion de l'accès à la mémoire, de la gestion de la communication avec les unités
fonctionnelles internes, et d'autres opérations de contrôle du DSP.
interrupt control :
fait référence au contrôle des interruptions (interrupts) dans un DSP (processeur de signal
numérique) de la famille TMS320C67x de Texas Instruments. Le contrôle des interruptions est une
fonction essentielle dans les processeurs pour gérer efficacement les interruptions matérielles ou
logicielles. Voici à quoi sert le "interrupt control" dans un DSP TMS320C67.
Dans les DSP de la famille TMS320C67x de Texas Instruments, les concepts de test, d'émulation et de
logique d'interruption sont essentiels pour le développement, la mise au point et le contrôle des
applications. Voici ce que chacun de ces concepts signifie et à quoi ils servent dans les DSP
TMS320C67x :
Test (Testability) : Le test, ou la testabilité, fait référence à la capacité d'un système ou d'un
composant (comme un DSP) à être testé de manière efficace pour garantir son bon
fonctionnement. Dans le contexte des DSP TMS320C67x, la testabilité est essentielle pour
vérifier que le DSP fonctionne correctement, qu'il répond aux spécifications et qu'il ne
présente pas de défauts. Des techniques de test sont mises en œuvre dans la conception des
DSP pour faciliter la détection et le diagnostic de problèmes potentiels.
Émulation (Emulation) : L'émulation dans le contexte des DSP TMS320C67x fait référence à la
capacité de simuler ou de reproduire le comportement du DSP sur un environnement de
développement. L'émulation permet aux développeurs de tester leurs applications, de
déboguer leur code et de valider leurs conceptions avant de déployer le DSP dans un système
réel. Les outils d'émulation fournissent un environnement de développement interactif qui
permet d'observer le fonctionnement du DSP, de capturer des données de débogage et de
tester des scénarios de bord de route.
Logique d'interruption (Interrupt Logic) : La logique d'interruption dans les DSP TMS320C67x
est un mécanisme permettant d'introduire des interruptions dans le flux d'exécution normal
du programme. Les interruptions sont utilisées pour gérer des événements asynchrones ou
des conditions spécifiques qui nécessitent une réponse immédiate. Par exemple, un DSP peut
recevoir une interruption pour traiter des données provenant d'un convertisseur analogique-
numérique (CAN) ou pour répondre à un événement externe. La logique d'interruption
permet de gérer ces interruptions de manière ordonnée, d'exécuter du code spécifique en
réponse et de reprendre ensuite l'exécution normale du programme.
Mémoire Interne
Les C67x ont un espace d'adressage à 32 bits adressable en octet. Ces processeurs conçus en
technologie VLIW ont une mémoire interne, sur puce, organisée dans deux espaces séparés selon une
Architecture de Harvard, en mémoire de données et mémoires de programmes.
Les C67x ont un espace d'adressage à 32 bits adressable en octet. L’espace mémoire total adressable
est d’une capacité totale de 4 Go ce qui correspondant à une représentation interne de l’adresse sur
32 bits. Cet espace mémoire est divisé en :
La mémoire de données interne se compose de deux blocs de huit banques à 16 bits, plutôt que de
quatre banques à16 bits. Cette fonctionnalité permet des accès parallèles à double précision par le
CPU dans le même cycle qu'un accès aux données par le DMA. Avec la nouvelle configuration de la
mémoire, l'accès maximal aux données à chaque cycle est de deux accès CPU 64 bits (L’instruction
LDDW uniquement) et d'un accès DMA à 32 bits.
Pour les modèles 'C6201, 'C6202 et 'C6701, le contrôleur de mémoire de données traite toutes les
requêtes adressées à la mémoire de données interne par le CPU ou le DMA. Le 'C6211 dispose d'un
contrôleur de cache de données de niveau un (L1D) et d'un contrôleur de cache de niveau deux (L2).
Le contrôleur L1D traite les requêtes du CPU et les envoie au contrôleur L2 en cas d'échec de lecture
ou d'écriture.
Périphériques
périphériques :
Tous les accès aux données externes par le CPU ou le DMA passent par l’interface mémoire (EMIF).
L'EMIF est l'interface entre le CPU et la mémoire externe telle que la mémoire vive dynamique
synchrone (SDRAM), RAM statique à rafales synchrones (SBSRAM) et asynchrone mémoire. L'EMIF
offre également une capacité de lecture de mémoire de 8 et 16 bits pour prendre en charge les
mémoires ROM de démarrage à faible coût (flash, EEPROM, EPROM et PROM).
L'EMIF peut recevoir trois types de demandes d'accès. Les trois types sont classés par ordre de
priorité dans l'ordre ci-dessous.
Le contrôleur DMA élabore le transfert des données entre différent espaces mémoire sans
intervention du CPU. Le DMA permet des mouvements de données vers et depuis la mémoire
interne, les périphériques internes ou externes de se produire en arrière-plan du fonctionnement du
processeur.
Le DMA dispose de quatre canaux programmables indépendamment permettant quatre contextes
différents pour le fonctionnement. Un cinquième canal auxiliaire permet au DMA de répondre aux
demandes de l'interface (HPI) ou du bus d'extension (XB).
Le processeur peut accéder au registre d'adresses d'hôte (HPIA) et au registre de données (HPID)
pour accéder à l'espace mémoire interne du processeur DSP. La figure est un schéma simplifié de
l'interface entre l'hôte et le HPI C62x / C67x
Le HPI est un port parallèle qui peut accéder directement à l'espace mémoire du CPU une interface
asynchrone. Un processeur hôte (externe) peut lire et écrire dans la mémoire de données interne via
l'accès 16 bits du HPI.
Le HPI peut démarrer, charger le CPU et accéder à toute la gamme du 'C6201 mémoire. De plus, le
HPI offre des performances améliorées et peut fonctionner sans impactant les performances du
processeur.
Le contrôleur EDMA (Enhanced Direct Memory Access), comme le contrôleur DMA, transfère les
données entre les espaces des champs mémoire total accessible sans intervention du processeur. En
plus des fonctionnalités du contrôleur DMA, L'EDMA inclut plusieurs perfectionnements par rapport
au DMA classique :
Nombre de canaux : Un nombre de Seize canaux programmables indépendamment
permettant seize contextes différents de fonctionnement.
Liaison : La capacité de lier et d’enchaîner des transferts de données.
Synchronisation des événements : Chaque canal est initié par un événement spécifique. Les
transferts peuvent être synchronisés par élément ou par trame.
Power-Down Logic
Le C67xx prend en charge trois modes de mise hors tension (Idle1, 2 et 3) qui peuvent réduire
considérablement les besoins en énergie du système. Idle1 arrête le processeur sauf pour la logique
d'interruption. Idle2 arrête le CPU et les périphériques (sauf pour la logique d'interruption). Idle3
arrête la boucle à verrouillage de phase (PLL), arrêtant ainsi l'arbre d'horloge de la commutation, ce
qui arrête effectivement l'ensemble de la puce. Idle3 nécessite une réinitialisation pour réveiller
l'appareil, tandis que les deux autres modes peuvent être restaurés à l'aide d'un interrompre ou
réinitialiser.
Périphériques de temporisation : tous Le ’C62x / C67x possède deux temporisateurs « Timer » 32 bits
à usage général qui peuvent être utiliser comme :
1. Générateurs d’événements temporels
2. Compteur d’événements
3. Générateur d’impulsions
4. Générateur de signaux d’interruption de CPU
5. Générateur de signaux de synchronisation pour l’EDMA
6.
II. Remplir les tableaux 1&2 relatifs à l’organisation de la mémoire interne de la famille
TMS320C67x
La famille de processeurs des signaux numérique DSP de la famille TMS320C67x de TEXAS instrument
comprend plusieurs types de mémoires et de registre pour faciliter le traitement de signaux
numériques hautes performances. Voici une liste des principaux types de mémoire et de registres
que l’on peut trouver dans ses processeurs :
#Mémoires
#Plages d'adresses
#Mémoire interne
* Cache L1P: 0x00000000 - 0x0000FFFF
* Cache L1D: 0x00010000 - 0x0001FFFF
* Cache L2 : 0x00020000 - 0x0007FFFF