250 likes | 363 Views
DSK Freescale řada 56800E. Základní vlastnosti řady 56800E :. “ Hybridní mikrokontrolér “ Pevná řadová čárka výhodné vlastnosti MCU a DSP ( 16 -bitový DSP + 32 -bitový MCU) Frekvence jádra 32 MHz Dvojitá harvardská architektura oddělení programové a datové paměti
E N D
DSK Freescale řada 56800E
Základní vlastnosti řady 56800E : • “ Hybridní mikrokontrolér “ • Pevná řadová čárka • výhodné vlastnosti MCU a DSP (16-bitový DSP + 32-bitový MCU) • Frekvence jádra 32 MHz • Dvojitá harvardská architektura • oddělení programové a datové paměti • Výkonnost až 200 MIPS • architektura 1X • 1 instrukce se vykoná v 1 hodinového cyklu
Užití, výhody: • Embedded systémy • ucelený systém realizující • aplikaci bez další podpory • samostatně komunikuje s bloky dané aplikace • Mobilní komunikace • řízení el. strojů, • snímání a zpracovávání obrazu, • přenos dat • automobilová technika • Výhody řady: • malý příkon • nízká cena • dobrá výpočetní výkonnost
Jednotky tvořící jádro procesoru: • Programová řídící jednotka PCU (Program Control Unit) • Jednotka generace adres AGU (Address Generation Unit) • Datová aritmeticko-logická jednotka DALU (Data Aritmetic-Logic Unit)
Programová řídící jednotka • zajišťuje: • čtení a dekódování instrukce z programové paměti • pomocí řídících signálů ovládá činnost signálového procesoru. • skládá z: • programového čítače • dekodéru instrukcí • logiky řízení hardwarového smyčky • logiky řízení přerušení • stavového a řídícího registru
Jednotka generace adres AGU • zajišťuje: veškeré výpočty adres a jejich ukládání • druhy adresování: • lineárního (+1 nebo +N) • modulo M • bitově rezervované adresování • adresyuloženy v: • registrech R0 ÷ R5 • ukazateli zásobníku SP
Datová aritmeticko-logická jednotka zajišťuje: Vykonání veškerých aritmetických a logických operací s datovými operandy. obsahuje: • 3x 16-ti bitové vstupní registry (X0, Y0 a Y1) • 4x 32-bitové akumulátory (A, B, C, D) • 4x 4-bitové doplňkové registry rozšiřující akumulátory (A2,B2,C2,D2) • posuvný registr akumulátorů (AS) • omezovač dat (data limiter) • cyklický registr (barrel shifter) • paralelní akumulátor pro násobení (MAC)
Datová aritmeticko-logická jednotka • Zápis výsledků do: Střádače A,B,C,D nebo do datových registrů. • Saturační aritmetika – neumožňuje uložit číslo mimo doplněk do paměti (omezení ±1). • DALU pracuje se zlomkovou reprezentací čísel, v jiných částech procesoru jsou čísla brána jako celá. • 16 bitové registry lze spojit do 32-bitových • Operace jsou prováděny v doplňkovém kódu. • rozsah: -1 ÷ 1-2-b , kde b je počet bitů bez znaménkového bitu • DALU umožňuje: posuny operandů v kruhovém registru až o 15 bitů, zaokrouhlení čísla z 32 bitů na 16, posun o jeden bit vlevo či vpravo (násobení nebo dělení výsledku dvěma)
Instrukce, zřetězení, programování • Instrukce: • DSP: číslicové zpracování signálů (číslicové filtry, algoritmus FFT, adaptivní zpracování s algoritmem typu LMS, statické vyhodnocování výsledků) • MCU:komunikace s aplikací a obslužné účely (ovládání klávesnice, tlačítek, display) • 8 fázové zřetězené zpracování instrukcí skládající se z částí: • Pre-Fetch1 (P1)…adresa instrukce je předána na adresovou sběrnici PAB • Pre-Fetch2 (P2)…instrukce je přečtena • Instruction Devoce (ID)…dekódování instrukce • Address Generation (AG)…generování dvou adres po sběrnicích XAB1, XAB2 • Operand Pre-Fetch2 (OP2)…umožněn přístup ke dvěma buňkám datové paměti • Execute and Operand Fetch (EX)…započetí násobení, uložení výsledku do DALU registru, čtení dat přes sběrnice CDBR a XDB2 a zápis dat přes CDBW • Execute 2 (EX2) … operace je dokončena, výsledky jsou uloženy • Programování: • asembler nebo C • CodeWarrior
Sběrnicová jednotka a jednotka bitových operací Sběrnicová jednotka • Uskutečňuje přenos mezi vnitřními sběrnicemi • Matici spínačů a umožňuje propojení jakýchkoliv dvou datových sběrnic ze tří (globální, datová a periferní) bez prodlevy. Jednotka bitových operací • Umožňuje zpracovávat informace uložené v datové paměti, v registrech periferií a ve všech registrech v jádře procesoru • Tato jednotka může testovat, nastavovat, mazat nebo negovat každý z 16-bitů, který je specifikován v masce.
Formáty vyjádření čísel • Jádro podporuje čtyři formáty vyjádření čísel. Číslo n o délce b+1 bitů (zlomková část + znaménkový bit): • Doplňkový kód se znaménkem: -1 ≤ n ≤ 1-2-b • Doplňkový bez znaménka: 0 ≤ n ≤ 2-2-b • Celé číslo se znaménkem: -2b ≤ n ≤ 2b-1 • Cele číslo bez znaménka: 0 ≤ n ≤ 2b+1-1 • DALU podporuje pouze doplňkový tvar
Sběrnice a registry • 32-bitová datová sběrnice • 24-bitová datová adresová sběrnice • (lze adresovat 16M 16-bitových slov, neboli 32MB) • 21-bitová programová adresová sběrnice • (2M 16-bitových slov, neboli 4MB) • 4 x 36-bitové akumulátorů A,B,C,D • (všechny mají 3 části, 2 x 16-bitovou a 1 x 4-bitovou) • 24-bitové adresové registry a registr posuvu N + další 16 bitový registr posuvu N3 • (zajišťuje dva paralelní přesuny dat) • Registry pro hardwarový cyklus typu DO: • 2 x16-bitový registr LC (LoopCounter) • 2 x 24-bitové registry LA(LoopAdress) • 2 x 24-bitové HWS (Hardware Stack) • Registry pro obsluhu rychlého přerušení • 21 bitový registr FIRA • 13-bitový registr FISR
IP- BUS PERIPHERAL PERIPHERAL PERIPHERAL IPADDR IPDATAR IPDATAW PAB 21 IP- BUS INTERFACE PDB 16 CDBR 32 XAB1 24 CDBW 32 XAB2 24 XDB2 16 Blokové znázornění sběrnic: PROGRAM MEMORY DATA MEMORY INTRPT CTRLLER 56800E CORE EXTERNAL BUS INTERFACE
Pamět • RAM a flash – na čipu • ROM – od DSP 56F807 • Vnější paměťový prostor (kromě DSP56F801) – až 64K 16-bitových slov • Způsob práce programové paměti lze nastavit bity MA a MB v registru operačního modu OMR, nebo vnějším signálem při resetování na vývodu EXTBOOT
Program (4 MB) Data (32 MB) Mapování paměti: “P:” “X:” 15 0 15 0 221 x 16 $FFFFFF 224 x 16 $1FFFFF PROGRAM MEMORY SPACE X DATA MEMORY SPACE (64 locations) $xxFFFF Optimized for IP-BUS PERIPHERALS $xxFFC0 (Relocatable) INTERRUPT VECTORS $0 0 $0 (short addressing) 0 => 16-Bit Accesses Only => 8, 16, 32-Bit Accesses
Datová a programová paměť Datová paměť implementovaná na čipu: • Datová RAM • Datová flash • Tato paměť může být rozšířena vnější pamětí, jejíž maximální velikost se liší podle módu činnosti. Programová paměť : • Programová RAM • Flash • Bootovací flash • Programová paměť může být rozšířena externí pamětí, jejíž maximální velikost se liší podle módu činnosti.
Přerušení • Umístění vektorů přerušení: začátek programové paměti • Jednomu zdroji přísluší dvě slova v této paměti – nutná instrukce skoku JSR • Až 63 zdrojů přerušení, dle konkrétního typu procesoru • Maskování přerušení • 3 priority přerušení • 2 zásobníky typu LIFO pro ukládání adres a stavů registrů, dělí se na: • Softwarový – ukazatel SP, umístěn v datové paměti • Hardwarový HWS – tvořen registry HWS0 a HWS1, obsluhuje hardwarový cyklus typu DO
Řadič přerušení • ITCN - Fast interrupt handling