Popis procesoru Texas Instruments 320C54x

(zpracoval Pavel Švarc)



Úvod

Procesory TMS 320C54x jsou digitální signálové procesory (DSP) s pevnou čárkou patřící do rodiny procesorů TMS 320. Díky modifikované Harvardské architektuře centrální procesorové jednotky (CPU) je dosaženo nízké spotřeby a vysokého stupně paralelismu, což společně s mnoha typy adresování a instrukční sadou zvyšují výkon celého systému.

zpět na začátek..

Rodina procesorů TMS320

Je tvořena z digitálních signálových procesorů (DSP) s pevnou řádovou čárkou plovoucí řádovou čárkou a multiprocesorových systémů. Architektura rodiny TMS 320 je navržena specificky pro zpracování aplikací v reálném čase. Následující charakteristiky tvoří tuto rodinu ideální volbou pro široký rozsah zpracovávaných aplikací:

zpět na začátek..

Historie, vývoj a výhody DSP procesorů TMS320

V roce 1982 Texas Instrument představil procesor TMS32010 první DSP procesor s pevnou řádovou čárkou v rodině TMS320. Před koncem tohoto roku mu časopis Electronic Products udělil titul Produkt roku. Dnešní rodina procesorů TMS 320 se skládá z těchto generací:´C1x, ´C2x, ´C2xx, ´C5x, ´C54x a ´C 6x což jsou procesory s pevnou čárkou, ´C3x a ´C4x s pohyblivou čárkou a ´C8x je multiprocesor. Typy procesorů uvnitř generace rodiny TMS320 mají stejnou strukturu CPU, ale různou paměť na čipu a konfigurace paměti na čipu a periférií k uspokojení širokého rozsahu potřeb na celosvětovém elektronickém trhu. Integrace paměti a periférie na jeden čip, snižují procesory TMS320 systémové náklady a spoří prostor na desce plošných spojů.


Obr.1 Vývoj procesorů TMS320

zpět na začátek..

Oblasti použití rodiny TMS320

zpět na začátek..

Procesor TMS 320C54x

Procesor ´54x má vysoký stupeň operační flexibility a rychlosti. To je způsobeno kombinací pokročilé modifikované Harvardské architektury (s jednou programovou sběrnicí, třemi datovými sběrnicemi a čtyřmi adresovými sběrnicemi), CPU s aplikačně-specifickou hardwarovou logikou, pamětí na čipu procesoru, periferií na čipu a vysoce specializovanou instrukční sadou. SPINOFF zařízení, která kombinují procesor ´54x konfiguracemi paměti na čipu a perifériemi dle přání zákazníka, byly a budou vyvinuty pro specializovaná místa elektronického trhu.

zpět na začátek..

Klíčové charakteristiky procesoru TMS320C54x

Centrální procesorová jednotka - CPU

Paměť

ProcesorProgramová ROMProgram/data ROMDARAMSARAM
´54120850
´54220100
´54320100
´545321660
´546321660
´54820824

Instrukční sada

Periferie na čipu

Výkon

Emulátor

zpět na začátek..

Přehled architektury procesoru TMS320C54x

Struktura sběrnice


Obr.2 Struktura sběrnice procesoru TMS320C54x

Architektura DSP procesorů 'C54x je postavena na osmi hlavních 16-bitových sběrnicích (čtyř program/datových a čtyř adresových sběrnic). Procesor 'C54x může generovat až dvě data-paměťové adresy během cyklu použitím dvou pomocných registrů aritmetické jednotky (ARAU0 a ARAU1).

PB může přenášet datové operandy uložené v programovém prostoru (například, tabulka koeficientů) k násobiteli a sčítačce pro operace násobení/akumulace nebo k cíli v datovém prostoru pro instrukce přesunu dat (MVPD a READA). Tato schopnost, spolu s vlastností čtení dvojitého-operandu, podporuje provedení jednoduchého cyklu, 3-operandových instrukcí, jako je FIRS instrukce.

C´54x DSP má také obousměrnou sběrnici pro přístup k periferním zařízením na čipu. Tato sběrnice je připojena k DB a EB přes sběrnicový měnič v interface CPU. Přístupy které využívají tuto sběrnici mohou vyžadovat dva nebo více cyklů pro čtení a zápis, v závislosti na struktuře periférií.

Centrální procesorová jednotka (CPU)

CPU procesorů´C54x je společná všem typům. C54x CPU obsahuje:

Aritmeticko logická jednotka (ALU)

´C54x DSP počítá aritmetikou dvojkového doplňku se 40 - ti bitovou aritmeticko logickou jednotkou(ALU) a dvěmi 40 - ti bitovými akumulátory (akumulátory A a B). ALU může také provádět booleovské operace. ALU používá tyto vstupy: ALU může také pracovat jako dvě 16 - ti bitové jednotky ALU a vykonávat dvě 16 - ti bitové operace současně.

Akumulátory

akumulátory A a B uchovávají výstup z ALU nebo z bloku násobičky/sčítačky. Mohou také být druhým vstupem do jednotky ALU; akumulátor A může být vstupem do bloku násobička/sčítačka. Každý akumulátor je rozdělen na tři části: Existují instrukce pro ukládání zabezpečovacích bitů, pro uložení vyšší a nižší části akumulátorového slova v datové paměti a pro přenos 32 - ti bitového akumulátorového slova dovnitř nebo ven z datové paměti. Každý z akumulátorů může být použit jako dočasné úložiště pro jednoho z nich.

Posuvný registr

Posuvný registr procesoru ´C54x má 40 - ti bitový vstup připojený do akumulátoru nebo do datové paměti (sběrnicemi CB nebo DB) a 40 - ti bitový výstup připojený do ALU nebo do datové paměti (sběrnicí EB). Posuvný registr může posouvat vlevo o 0 až 31 bitů nebo vpravo o 0 až 16 bitů na vstupních datech. Požadavky na posun jsou definované v krokovém čítači pole instrukce, v poli krokového čítače (ASM) stavového registru ST1, nebo v dočasném registru T (když je nastaven jako krokový čítač). Posuvný registr a kodér exponentu normují hodnoty v akumulátoru v jednom cyklu. LSB (Least Significant Bit - méně významné bity) jsou naplněni nulami MSB (Most Significant Bit) mohou být buď vynulovány nebo rozšířen pomocí znaménkového bitu , v závislosti na stavu bitu režimu znaménkového rozšíření (SXM) v ST1. Další možnosti posuvu může procesor použít k úpravě číselného měřítka, rozšíření aritmetiky nebo ke kontrole možného přetečení.

Jednotka násobička/sčítačka

Jednotka násobička/sčítačka počítá 17 x 17 -ti bitové násobení ve dvojkovém doplňku a 40 - ti bitové sčítání v jednom instrukčním cyklu. Blok násobička/sčítačka se skládá z několika částí: násobičky, sčítačky, logiky vstupní znaménkové kontroly, zlomkové kontrolní logiky, detektoru nuly, zaokrouhlovače (dvojkového doplňku), logiky přetečení/saturace a 16 - ti bitového registru pro dočasné uložení (T). Násobička má dva vstupy: jeden vstup je vybrán z T registru,operandu datové paměti nebo akumulátoru A ; druhý je vybraný z programové paměti, datové paměti , akumulátoru A nebo okamžité hodnoty.

Rychlá násobička na čipu dovolí procesoru ´C54x vykonávat efektivně operace jako jsou konvoluce, korelace a filtrace. Navíc, násobička a ALU společně provádějí operaci násobení/sčítání (Multiply And Accumulate - MAC) v jednom instrukčním cyklu. Tato funkce se používá k výpočtu Euklidovských vzdáleností a v implementaci souměrných a LMS filtrů, které jsou požadovány pro komplexní DSP algoritmy.

Adresovací režimy

Procesory ´C54x nabízejí sedm základních adresovacích režimů: Během výkonu instrukcí použitím přímého adresování, nepřímého nebo pomocí paměťově mapovaných registrů adresování vypočítává adresy data-paměťových operandů logika data-adresové generace (DAGEN).

Adresování programové paměti

Programová paměť je obvykle adresována na procesorech C54x čítačem instrukcí (Program Counter - PC). S některými instrukcemi může být absolutní adresování použito pro přístup k datovým položkám, které byly uloženy do programové paměti. PC, který je užíván pro vyvolání jednotlivé instrukce, je nahrán logikou generování programové adresy (PAGEN). PAGEN zvýší PC jakmile jsou instrukce sekvenčně vyvolané. Avšak PAGEN může nahrát PC nesekvenční hodnotou,jež je výsledkem některých instrukcí nebo dalších operací. Operace jež zapříčiní diskontinuitu jsou instrukce zahrnující skoky, volání, návraty, podmíněné operace, opakování jednoduché instrukce, opakování složitější instrukce , reset a přerušení. Při volání a přerušení je současný PC uložen do zásobníku, na který se odkazuje ukazatele zásobníku (Stack Pointer - SP). Když je volaná funkce nebo obslužný program přerušení ukončen, hodnota PC uložená ve SP je obnovena ze zásobníku pomocí instrukce návratu.

Pipeline operace (operace proudového zpracování)

Instrukce proudového zpracování se skládá ze sledu operací, jež se vyskytují během výkonu instrukce. Proudové zpracování u procesoru C54x má šest úrovní: předvyvolání, vyvolání, dekódování, přístup, čtení a provedení. V každé z úrovní se provede nezávislá operace. Protože tyto operace jsou nezávislé, jedna až šest instrukcí může být aktivní v jakémkoliv daném cyklu, každá instrukce v různém stupni dokončení. Když se vyskytne nesouvislost v programovém čítači, během skoku, volání, nebo návratu, jedna nebo více úrovní proudového zpracování může být dočasně nevyužitá.

zpět na začátek..

Použitá literatura

Texas Instruments: TMS320C54x DSP Reference set 1 - CPU and Peripherals (SPRU131D) Elektronickou podobu tohoto manuálu je možno stáhnout zde: spru131g.pdf