Vous êtes sur la page 1sur 10

Devoir N 0 2 de maison avec bonus(MASTER ST )

Nom: *IAN maleele BELEMU (22029085)

*Moussa djbrillou Abdousalam (22028639)

Soit le schéma fonctionnel du DSP TMS320C67x :

I -Interpréter le schéma fonctionnel du DSP TMS320C67x en expliquant le rôle de chaque élément

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.

Unité centrale de traitement (CPU)

L’unité centrale de traitement (CPU) C6x est l’élément central de tous les

Appareils TMS320C62xx.

La CPU contient :

 Unité de récupération de programme sur (INSTRUCTION FETCH)


 Unité de répartition des instructions (INSTRUCTION DISPATCH)
 Unité de décodage des instructions (INSTRUCTION DECODE)
 32 registres à usage général de 32 bits Deux chemins de données, chacun avec quatre unités
fonctionnelles, dont un multiplicateur et trois unités logiques arithmétiques (ALU) sur
chaque chemin de données
 Registres de contrôle
 Contrôle logique
 Test, émulation et logique d'interruption

L’unité « program fetch » :

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.

Unité de répartition des instructions (INSTRUCTION DISPATCH) :

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 :

 Recherche ou récupération du code,


 Décodage et
 Exécution de l’instruction.

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 :

. Functional Unit Fixed-Point Operations Floating-Point Operations


. L’unit (. L1, L2) Opérations arithmétiques et de Arithmetic operations
comparaison 32/40 bits 1 ou 0 bit le Conversion operations: DP → SP,
plus à gauche comptant pour 32 bits INT → DP, INT → SP
Nombre de normalisations pour 32 et
40 bits 32 bits opérations logiques
. S unit (. S1, S2) Opérations arithmétiques 32 bits Comparez réciproque et racine
Décalages 32/40 bits et opérations sur carrée réciproque opérations Valeur
champ de bits 32 bits Logique 32 bits absolue opérations conversion SP
opérations Branche Génération en DP opérations
constante Registre des transferts
vers/depuis le registre de contrôle
fichier (. S2 uniquement)
.M unit (.M1, .M2) 16 x 16 bit multiply operations Opérations de multiplication 32 x 32
bits Multiplication à virgule
flottante opérations
. D unit (. D1, D2) Adresse d'addition, de soustraction, Charger un double mot avec un 5
linéaire et circulaire 32 bits calcul bits Décalage constant
Charge et stocke avec un code 5 bits
décalage constant Charge et stocke
avec un décalage de 15 bits décalage
constant (. D2 uniquement)

 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.

les registres de contrôle

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.

Test, émulation et logique d'interruption

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.

La mémoire interne est composée de :

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 :

 Mémoire interne de programme,


 Mémoire interne de données,
 Mémoires externes et
 Périphérique interne.

Le processeur TMS320C6701 possède 64 Ko de mémoire interne de programme et 64 Ko de mémoire


interne de données,

La mémoire programme, configurable comme cache ou programme, est organisé en 2K de paquets


de récupération (Fetch Packet FP) de 256 bits. Les paquets sont traités à la vitesse maximale d'un
paquet de huit instructions à 32 bits par cycle CPU, ou au moins une instruction par cycle.

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.

 Accès à la mémoire de données

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.

Les demandes de données par l'EDMA vont directement au contrôleur L2.

Périphériques

En plus de la mémoire sur puce, le TMS320C6201 contient les éléments suivants

périphériques :

 Interface mémoire externe (EMIF)


 Contrôleur d'accès direct à la mémoire (DMA)
 Interface port-hôte (HPI)
 Logique de mise hors tension
 Deux ports série multicanaux (MCSP)
 Deux minuteries 32 bits
 Power-Down Logic
Interface mémoire externe (EMIF)

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'interface est programmable pour s'adapter à une variété de configurations, de maintien et de


stroboscope largeurs pour les appareils asynchrones. SBSRAM prend en charge l'externe sans état
d'attente accès une fois les rafales commencées. Dans tous ces types d'accès, l'EMIF prend en charge
l'addressabilité 8 bits, 16 bits et 32 bits pour les écritures. Toutes les lectures sont effectuées sous
forme de transferts 32 bits

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.

1. Accès aux données du processeur


2. Récupérations du programme CPU
3. Accès aux données DMA.

Direct-Memory Access (DMA)

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

Interface hôte-port (HPI)

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.

Périphérique EDMA (Enhanced Direct Memory Access)

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.

Multichannel Buffered Serial Port (McBSP)


Le port série tampon multicanal (McBSP) C62x/C67x est basé sur l’Interface de port série standard
trouvée sur les plates-formes TMS320C2000 et 'C5000. L'interface du port série standard fournit :

 Communication en duplex intégral


 Registres de données à double tampon, qui permettent un flux de données continu
 Cadrage et synchronisation indépendants pour la réception et la transmission
 Interface directe avec les codecs standard de l'industrie et les puces d'interface analogiques
(AIC) et autres appareils A/D et D/A connectés en série
 Génération d'horloge de décalage externe ou fréquence interne programmable horloge de
décalage

De plus, le McBSP possède les capacités suivantes :

 Interface directe vers :


 Encadreurs T1/E1
 Appareils compatibles MVIP et ST-BUS
 Appareils compatibles IOM-2
 Appareils conformes à l'AC97
 Appareils compatibles IIS
 Transmission multicanal et réception jusqu'à 128 canaux.
 Un plus grand choix de tailles d'éléments, notamment 8, 12, 16, 20, 24 ou 32 bits
 Transferts de données 8 bits avec LSB ou MSB en premier
 Polarité programmable pour la synchronisation des trames et les horloges de données
 Génération d'horloge interne et de trames hautement programmables

Périphériques Timers Devices:

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

Architecture Mémoire Mémoire Mémoire


de la mémoire
interne Totale Programme données
Device CPU (Bytes) (Bytes)
(Bytes)

C6201 6200 Harvard 128K 64K (map/cache) 64K (map)

C6701 6700 Harvard 128K 64K (map/cache) 64K (map)

C6202(B) 6200 Harvard 384K 128K (map) 128K 128K (map)


(map/cache)
C6203(B) 6200 Harvard 896K 256K (map) 128K 512K (map)
(map/cache)
C6204 6200 Harvard 128K 64K (map/cache) 64K (map)

C6205 6200 Harvard 128K 64K (map/cache) 64K (map)

Tableau 2 : architecture de la mémoire cache de la famille TMS320C67x

Taille de la Taille de la ligne


mémoire (Bytes)
Device CPU cache
(Bytes)

C6201 6200 64K 32

C6701 6700 64K 32


C6202(B)
6200 128k 32

C6203(B) 6200 128k 32

C6204 6200 64K 32

C6205 6200 64K 32

III. Identifier les différents types de mémoires et registres da 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

* Mémoire interne : La mémoire interne du TMS320C67x est composée de deux


niveaux de cache, un cache L1 et un cache L2.
* Cache L1 : Le cache L1 est divisé en deux parties : le cache de programme L1P
et le cache de données L1D.
* Cache de programme L1P : Le cache de programme L1P est une mémoire de 4
Ko qui contient les instructions du programme en cours d'exécution.
* Cache de données L1D : Le cache de données L1D est une mémoire de 4 Ko
qui contient les données utilisées par le programme en cours d'exécution.
* Cache L2 : Le cache L2 est une mémoire de 32 Ko qui est partagée entre le cache
de programme et le cache de données.
* Mémoire externe : La mémoire externe du TMS320C67x est une mémoire vive
(RAM) ou une mémoire morte (ROM) qui est connectée au processeur via un bus
d'adresses et un bus de données
*Registres
* Registres à usage général : Les registres à usage général sont des registres de 32
bits qui sont utilisés pour stocker des données et des résultats temporaires. Il existe 32
registres à usage général, numérotés de A0 à A15.
* Registres spécialisés : Les registres spécialisés sont des registres qui ont des
fonctions spécifiques. Il existe plusieurs registres spécialisés, tels que le registre
d'accumulateur (ACC), le registre d'état (SR), le registre de mode d'adressage
(AMR), etc.

#Plages d'adresses

La plage d'adresses attribuée à chaque espace mémoire est la suivante :

#Mémoire interne
* Cache L1P: 0x00000000 - 0x0000FFFF
* Cache L1D: 0x00010000 - 0x0001FFFF
* Cache L2 : 0x00020000 - 0x0007FFFF

# Mémoire externe : 0x00080000 - 0xFFFFFFFF

Vous aimerez peut-être aussi