Telechargé par Samar Krimi

Annexe

publicité
ISSAT Mateur
A.U. 2020 - 2021
1.2.3.1 Unité centrale de traitement (CPU)
La CPU contient une unité d'extraction de programme (Fetch), une unité de distribution d'instructions
(Dispatch), une unité de décodage d'instructions (Decode). Elle récupère des mots d'instruction très
longs (VLIW) (largeur 256 bits) pour fournir jusqu'à huit instructions 32 bits aux huit unités
fonctionnelles au cours de chaque cycle d'horloge. L'architecture VLIW comporte des commandes par
lesquelles les huit unités n'ont pas à recevoir d'instructions si elles ne sont pas prêtes à s'exécuter. Le
premier bit de chaque instruction de 32 bits détermine si l'instruction suivante appartient au même
paquet d'exécution que l'instruction précédente, ou si elle doit être exécutée dans l'horloge suivante en
tant que partie du paquet d'exécution suivant. Les paquets de récupération ont toujours une largeur de
256 bits; cependant, les paquets d'exécution peuvent varier en taille. Les paquets d'exécution de
longueur variable sont une fonction clé d'économie de mémoire, qui distingue le processeur C67x des
autres architectures VLIW. La CPU contient également deux chemins de données (contenant
respectivement les registres A et B) dans lesquels le traitement a lieu. Chaque chemin de données a
quatre unités fonctionnelles (.L, .M, .S et .D).
Les unités fonctionnelles exécutent des opérations de logique, de multiplication, de décalage et
d'adressage de données. La figure 2.2 montre le schéma fonctionnel simplifié des deux chemins de
données.
Figure 1.4: Chemin de données dans TMS320C67X
Toutes les instructions, à l'exception de chargement et de stockage, fonctionnent sur les registres. Tous
les transferts de données entre les fichiers de registre et la mémoire ont lieu uniquement via deux unités
d'adressage de données (.D1 et .D2). La CPU a également divers registres de contrôle, logique de
contrôle et test, émulation et logique. L'accès aux registres de contrôle est fourni à partir du chemin de
données B.
1.2.3.2 Fichiers de registre à usage général
La CPU contient deux fichiers de registre à usage général A et B. Ceux-ci peuvent être utilisés pour les
données ou comme pointeurs d'adresse de données. Chaque fichier contient 16 registres 32 bits (A0A15 pour le fichier A et B0-B15 pour le fichier B). Les registres A1, A2, B0, B1, B2 peuvent également
être utilisés comme registres de conditions. Les registres A4-A7 et B4-B7 peuvent être utilisés pour
l'adressage circulaire.
Atelier DSP
6
ISSAT Mateur
A.U. 2020 - 2021
Ces registres fournissent des données à virgule fixe 32 bits et 40 bits. Les données 32 bits peuvent être
stockées dans n'importe quel registre. Pour les données de 40 bits, le processeur stocke les 32 bits les
moins significatifs dans un registre pair et les 8 bits restants dans le registre supérieur (impair).
1.2.3.3 Unités fonctionnelles
Le CPU comporte deux ensembles d'unités fonctionnelles. Chaque ensemble contient 4 unités et un
fichier de registre. Un ensemble contient les unités fonctionnelles .L1, .S1, .M1 et .D1 et l'autre contient
les unités .D2, .M2, .S2 et .L2. Les deux fichiers de registres contiennent chacun 16 registres de 32 bits
pour un total de 32 registres à usage général. Les deux ensembles d'unités fonctionnelles, ainsi que deux
fichiers de registre, composent les côtés A et B de la CPU. Chaque unité fonctionnelle possède deux
ports de lecture 32 bits pour les opérandes source et un port d'écriture 32 bits dans un fichier de
registre à usage général. Les unités fonctionnelles. L1, .S1, .M1 et .D1 écrivent dans le fichier de registre
A et les unités fonctionnelles .L2, .S2, .M2 et .D2 écrivent dans le fichier de registre B.
Comme chaque unité possède son propre port d'écriture 32 bits, les huit ports peuvent être utilisés en
parallèle à chaque cycle. Les unités fonctionnelles .L, .S et .M sont des UAL. Ils effectuent des
opérations arithmétiques et logiques 32 bits/40 bits. L'unité .S effectue également des opérations de
branchement et les unités .D effectuent des calculs d'adresses linéaires et circulaires. Seule l'unité .S2
effectue des accès au fichier de registre de contrôle. Le Tableau 1.1 décrit les opérations effectués par
chaque unité fonctionnelle du DSP C6713.
Tableau 1.1: Description des unités fonctionnelles
1.2.3.4 Système de mémoire
Le système de mémoire du processeur de la série TMS320C671x implémente une architecture Harvard
modifiée, fournissant des espaces d'adressage séparés pour l'instruction et la mémoire de données.
Atelier DSP
7
ISSAT Mateur
A.U. 2020 - 2021
Le processeur utilise une architecture à deux niveaux basée sur le cache et dispose d'un ensemble
puissant et diversifié de périphériques. Le cache de programme de niveau 1 (L1P) est un cache à
mappage direct de 4 Ko et le cache de données de niveau 1 (L1D) est un cache associatif à 2 voies à 2
voies de 4 Ko. La mémoire cache de niveau 2 (L2) se compose d'un espace mémoire de 256 Ko qui est
partagé entre le programme et l'espace de données. 64 Ko des 256 Ko de la mémoire L2 peuvent être
configurés en tant que mémoire mappée, cache ou combinaison des deux. Les 192 Ko restants en L2
servent comme SRAM mappée.
1.2.4 Périphériques de TMS320C6713
Les périphériques TMS320C67x contiennent des périphériques pour la communication avec la
mémoire externe, les coprocesseurs, les processeurs hôtes et les périphériques série. Les sous-sections
suivantes décrivent des périphériques du processeur C6713.
1.2.4.1 DMA amélioré (EDMA)
Le contrôleur d'accès mémoire direct amélioré (EDMA) transfère les données entre les régions de la
carte mémoire sans intervention de la CPU. L'EDMA fournit des transferts de données vers et depuis
la mémoire interne, les périphériques internes ou les périphériques externes. Il dispose de 16 canaux
programmables indépendamment permettant 16 contextes de fonctionnement différents.
L'EDMA peut lire ou écrire des éléments de données à partir de l'emplacement source ou de
destination respectivement en mémoire. Il fournit également des transferts combinés d'éléments de
données tels que le transfert de trame et le transfert de bloc. Chaque canal EDMA a un nombre
indépendamment programmable d'éléments de données par trame et un nombre de trames par bloc.
L'EDMA présente les caractéristiques suivantes:
• Fonctionnement en arrière-plan: le DMA fonctionne indépendamment de la CPU.
• Débit élevé: les éléments peuvent être transférés à la fréquence d'horloge du processeur.
• Seize canaux: l'EDMA peut suivre les contextes de seize transferts indépendants.
• Fonctionnement fractionné: un seul canal peut être utilisé simultanément pour effectuer à la fois des
transferts d'éléments de réception et de transmission vers ou à partir de deux périphériques et de la
mémoire.
• Priorité programmable: chaque canal a des priorités programmables indépendamment par rapport au
CPU.
• Les registres d’adresses source et de destination de chaque canal peuvent avoir des index
configurables pour chaque transfert en lecture et en écriture. L'adresse peut rester constante,
incrémenter, décrémenter ou être ajustée par une valeur programmable.
• Transferts de largeur programmable: chaque canal peut être configuré indépendamment pour
transférer des octets, des demi-mots de 16 bits ou des mots de 32 bits.
• Authentification: une fois le transfert en bloc terminé, un canal EDMA peut se réinitialiser
automatiquement pour le transfert en bloc suivant.
• Liaison: chaque canal EDMA peut être lié à un transfert ultérieur à effectuer une fois terminé.
Atelier DSP
8
ISSAT Mateur
A.U. 2020 - 2021
• Synchronisation des événements: chaque canal est initié par un événement spécifique. Les transferts
peuvent être synchronisés soit par élément, soit par trame.
1.2.4.2 Interface du port hôte (HPI)
L'interface hôte-port (HPI) est un large port parallèle de 16 bits par lequel un processeur hôte peut
accéder directement à l'espace mémoire du processeur. Le périphérique hôte fonctionne comme un
maître de l'interface, ce qui augmente la facilité d'accès. L'hôte et la CPU peuvent échanger des
informations via la mémoire interne ou externe. L'hôte a également un accès direct aux périphériques
mappés en mémoire.
Le HPI est connecté à la mémoire interne via un ensemble de registres. L'hôte ou la CPU peuvent
utiliser le registre de contrôle HPI (HPIC) pour configurer l'interface. L'hôte peut accéder au registre
d'adresse d'hôte (HPIA) et au registre de données d'hôte (HPID) pour accéder à l'espace de mémoire
interne du périphérique. L'hôte accède à ces registres à l'aide de données externes et de signaux de
commande d'interface. Le HPIC est un registre mappé en mémoire, qui permet l'accès au processeur.
Les transactions de données sont effectuées au sein de l'EDMA et sont invisibles pour l'utilisateur.
1.2.4.3 Interface de mémoire externe (EMIF)
L'interface de mémoire externe (EMIF) prend en charge une interface vers plusieurs périphériques
externes, permettant des données supplémentaires et un espace mémoire de programme au-delà de ce
qui est inclus sur la puce. Les types de mémoires pris en charge comprennent:
• SRAM en rafale synchrone (SBSRAM)
• DRAM synchrone (SDRAM)
• Périphériques asynchrones, y compris SRAM, ROM et FIFO asynchrones. L'EMIF fournit des
timings hautement programmables à ces interfaces.
• Périphériques de mémoire partagée externes
Il existe deux normes de classement des données dans les microcontrôleurs adressables par octets:
• Ordre petit-boutiste, dans lequel les octets sont classés de droite à gauche, l'octet le plus significatif
ayant l'adresse la plus élevée.
• Ordre big-endian, dans lequel les octets sont classés de gauche à droite, l'octet le plus significatif ayant
l'adresse la plus basse.
L'EMIF lit et écrit les périphériques gros et petit boutiste. Il n'y a aucune distinction entre la ROM et
l'interface asynchrone. Pour tous les types de mémoire, l'adresse est décalée en interne pour compenser
les largeurs de mémoire inférieures à 32 bits.
1.2.4.4 Port série tamponné multicanal (McBSP)
Le port série à mémoire tampon multicanal C62x / C67x (McBSP) est basé sur l'interface de port série
standard des plates-formes TMS320C2000 et C5000. L'interface de port série standard fournit:
• Communication en duplex intégral
• Registres de données à double tampon, qui permettent un flux de données continu
Atelier DSP
9
ISSAT Mateur
A.U. 2020 - 2021
• Cadrage et horloge indépendants pour la réception et la transmission
• Interface directe avec les codecs standard de l'industrie, les puces d'interface analogique (AIC) et
autres périphériques A/N et N / A connectés en série
• Génération d'horloge de décalage externe ou horloge de décalage de fréquence programmable interne
• Transmission et réception multicanaux jusqu'à 128 canaux.
• Une taille d'élément de 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.
• Horloge interne hautement programmable et génération de trames.
La communication de données entre McBSP et les appareils interfacés s'effectue via deux broches
différentes pour la transmission et la réception - transmission de données (DX) et réception de données
(RX) respectivement.
Les informations de contrôle sous forme d'horloge et de synchronisation de trame sont communiquées
via CLKX, CLKR, FSX et FSR. Des registres de contrôle de 32 bits de large sont utilisés pour
communiquer McBSP avec des périphériques via un bus périphérique interne. CPU ou DMA écrivent
les DONNÉES à transmis au registre de transmission de données (DXR) qui est décalé vers DX via le
registre à décalage de transmission (XSR). De même, les données de réception sur la broche DR sont
décalées dans le registre à décalage de réception (RSR) et copiées dans le registre tampon de réception
(RBR). RBR est ensuite copié dans DRR, qui peut être lu par la CPU ou le contrôleur DMA. Cela
permet le mouvement des données internes et les communications de données externes simultanément.
1.2.4.5 Temporisateurs ou 'Timers'
Les DSP C62x/C67x disposent deux temporisateurs 32 bits à usage général qui peuvent être utilisées
pour:
• Événements horaires
• Compter les événements
• Générer des impulsions
• Interrompre le CPU
• Envoyer les événements de synchronisation au contrôleur DMA
Le temporisateur fonctionne dans l'un des deux modes de signalisation selon la source de cadencement:
source interne ou externe. Le temporisateur a une broche d'entrée (TINP) et une broche de sortie
(TOUT). La broche TINP peut être utilisée comme entrée à usage général, et la broche TOUT peut
être utilisée comme sortie à usage général.
Lorsqu'une horloge interne est fournie, le temporisateur génère des séquences de synchronisation pour
déclencher des périphériques ou des dispositifs externes tels qu'un contrôleur DMA ou un
Atelier DSP
10
ISSAT Mateur
A.U. 2020 - 2021
convertisseur A/N respectivement. Quand une horloge externe est fourni, le temporisateur peut
compter les événements externes et interrompre le CPU après un nombre spécifié d'événements.
1.2.4.6 Port série audio multicanal (McASP)
Le DSP C6713 comprend deux ports série audio multicanaux (McASP). Les modules d'interface
McASP prennent chacun en charge une zone d'horloge d'émission et une zone d'horloge de réception.
Chacun des McASP possède 8 broches de données série qui peuvent être attribuées individuellement à
l'une des deux zones.
Le port série prend en charge le multiplexage temporel sur chaque broche de 2 à 32 intervalles de
temps. Le C6713B a une bande passante suffisante pour prendre en charge les 16 broches de données
série transmettant un signal stéréo de 192 kHz. Les données série dans chaque zone peuvent être
transmises et reçues sur plusieurs broches de données série simultanément et formatées dans une
multitude de variations sur le format Philips Inter-IC Sound (I2S). De plus, l'émetteur McASP peut être
programmé pour émettre plusieurs S/PDIF Canaux de données codés CEI60958, AES-3, CP-430
simultanément, avec une seule RAM contenant la mise en œuvre complète des données utilisateur et
des champs d'état des canaux.
Le McASP fournit également des fonctionnalités étendues de vérification des erreurs et de
récupération, telles que le circuit de détection de mauvaise horloge pour chaque horloge maître haute
fréquence qui vérifie que l'horloge maître est dans une plage de fréquences programmée.
1.2.4.7 Logique de mise hors tension
La plupart de la puissance de fonctionnement de la logique CMOS est dissipée pendant la commutation
de circuit, d'un état logique à un autre. En empêchant une partie ou la totalité de la logique de la puce
de basculer, des économies d'énergie significatives peuvent être réalisées sans perdre de données ou de
contexte opérationnel. Le mode de mise hors tension PD1 bloque les entrées d'horloge interne à la
limite de la CPU, empêchant la plupart de sa logique de basculer, arrêtant efficacement la CPU. Des
économies d'énergie supplémentaires sont réalisées en mode de mise hors tension PD2, dans lequel
toute la structure d'horloge sur puce (y compris plusieurs tampons) est arrêtée à la sortie de la PLL. Le
mode de mise hors tension PD3 arrête toute l'arborescence d'horloge interne (comme PD2) et
déconnecte également la source d'horloge externe (CLKIN) d'atteindre la PLL. Le réveil depuis PD3
prend plus de temps que le réveil depuis PD2 car le PLL doit être reverrouillé, tout comme il le fait
après la mise sous tension.
Atelier DSP
11
Téléchargement