Mikroprocesorová technika a embedded systémy. doc. Ing. Tomáš Frýza, Ph.D.
|
|
- Matyáš Dvořák
- před 9 lety
- Počet zobrazení:
Transkript
1 Ústav radioelektroniky Vysoké učení technické v Brně Úvod do signálových procesorů Mikroprocesorová technika a embedded systémy Přednáška 11 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012
2 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
3 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
4 Realizace algoritmů zpracování dat Libovolnou realizaci algoritmů číslicového zpracování dat lze provést několika způsoby s odlišnou efektivitou a náklady. Mikroprocesory pro všeobecné použití: CPU vyžadují externí paměti a podpůrné obvody (např. v PC). Mikrokontroléry. Pomocí mikroprocesorů s redukovanou instrukční sadou (RISC): Mikroprocesory využívají zřetězené zpracování (pipelining) s jednoduchými instrukcemi. Zákaznické obvody typu ASIC: Hardware jednotlivý obvodů je uzpůsoben jediné konkrétní funkci. Signálové procesory (DSP Digital Signal Processor): Největší výrobci: Texas Instruments, Analog Devices, Freescale, AT&T,... Paralelní systémy: Systémy typu MI/MD (Multiple Instruction Stream/Multiple Data Stream, viz níže), které umožňují paralelní zpracování jak instrukcí, tak i dat.
5 Realizace algoritmů zpracování dat Signálové procesory a procesory pro všeobecné použití (GPP General Purpose Processor) mají odlišné použití: DSP mají výrazně nižší spotřebu, proto odpadá nutnost chlazení jádra procesoru. GPP jsou určeny pro aplikace vyžadující velkou datovou pamět, příp. operační systém, běžící v reálném čase (RTOS Real Time Operation System). DSP jsou optimalizovány pro efektivní výpočet matematických operací součtu a součinu (viz tabulka). Tabulka: Vybrané algoritmy číslicového zpracování signálů. Typ algoritmu Způsob výpočtu NX Konvoluce signálů. y(l) = x(i) h(l i) i=0 MX Číslicová filtrace (FIR). y(l) = a(i) x(l i) i=0 N 1 X Diskrétní Fourierova transformace. X (l) = x(i) WN li i=0 N 1 X Diskrétní kosinová transformace. X (l) = x(i) CN li i=
6 Definice signálového procesoru Definice Signálový procesor (DSP Digital Signal Processor) je mikroprocesor, příp. mikroprocesorový systém uzpůsobený pro efektivní realizaci algoritmů číslicového zpracování signálů v reálném čase. To vše s nejmenšími vynaloženými náklady. Obrázek: Řetězec zpracování dat pomocí DSP. Vývoj DSP od konce 70. let rozdělit podle využívané architektury: von Neumannova, Harvardská, architektura typu VLIW (Very Long Instruction Word), umožňující vykonávat několik instrukcí současně, Fis83 FISHER, J.A. (Yale University, CO). Very Long Instruction Word Architectures and ELI-512. In Proceedings of the 10th Annual International Symposium on Computer Architecture ISCA 83. ISBN: superskalární. Vývoj DSP spěje k paralelním systémům, kdy je vykonávaná úloha rozdělena do dílčích celků a ty jsou zpracovány současně několika funkčními jednotkami, nebo celými procesorovými jádry. Fly66 FLYNN, M. J. Very High-Speed Computing Systems. Proceedings of the IEEE. 1966, vol. 54, no. 12, p
7 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
8 Dělení paralelních systémů Paralelní systémy lze dělit (viz Flynn) podle množství paralelně zpracovaných instrukcí a dat. Dělení podle počtu procesů (instrukcí), které jsou řešeny současně: SI Single Instruction Stream vykonává jen jeden proces, či instrukci. MI Multiple Instruction Stream vnitřní struktura umožňuje výkon několika odlišných instrukcí. Dělení podle počtu datových toků, které jsou zpracovány současně: SD Single Data Stream všechna data, se kterými procesor v daném okamžiku pracuje představují právě jeden zpracovávaný datový tok. MD Multiple Data Stream data, která jsou aktuálně zpracovávána představují několik nezávislých datových toků. Paralelní zpracování instrukcí: paralelní zpracování instrukcí je umožněno vnitřní strukturou procesoru, který obsahuje několik nezávislých funkčních jednotek, příp. celých jader. Každá jednotka má obvykle odlišnou funkci, pak je instrukce pro celý procesor tvořena z několika částí, a ty jsou vykonávány současně v těchto jednotkách, dílčí části instrukce mohou být jednoduché a proto i kompilační programy (nejčastěji z jazyka C) mohou být jednodušší a efektivně rozdělit kód do co možná nejvíce jednotek. Paralelní zpracování dat: tatáž instrukce (operace) se provádí se souborem nezávislých dat. Ta mohou být tvořena např. širokými registry (32 bitů), přičemž datová slova jsou pouze 8bitová, jednou operací (např. součet dvou 32bitových registrů) je tak ale realizován součet hned 4 dvojic odlišných operandů, tento způsob zpracování výrazným způsobem zvyšuje početní výkon procesorů, především při práci s vektory.
9 Paralelní zpracování instrukcí a dat Paralelní zprac. instrukcí nutnost více jednotek (např.: arit., log., násobička, FPU, transfer,...). Využití paralelního zpracování instrukcí i dat je přirozeně výhodný pouze v situaci, kdy je v daném okamžiku k dispozici více operandů pro zpracování. V případě, že výsledek jedné operace je vstupem operace následující (sériová podstata zpracování), tento postup efektivní být nemůže. Úkolem programátora je tedy uspořádat data tak, aby vyhovovala paralelní struktuře MI/SI. To může také znamenat přeprogramování celého algoritmu, a případnou nutnost vložení dodatečných instrukcí. Výhody dosahované metodou SI/MD jsou tak snižovány. Snaho o maximální vytížení jader procesoru, resp. funkčních jednotek. Rychlost zpracování algoritmů je možné ovlivnit zařazením rychlé paměti (nebo skupiny pamětí) typu cache jak pro instrukce, tak i pro data. (Zavedením cache pro instrukce vytvořila firma Texas Instruments nejvýkonnější DSP rodina TMS320C64xx.) = = = (a) (b) Obrázek: Sériové (a) a paralelní zpracování dat (b, c). (c)
10 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
11 Signálové procesory firmy Texas Instruments TI uvedl první generaci DSP s označením TMS32010 v roce 1982, další (TMS320C25) v roce 1986, a TMS320C50 v Tyto 16bitové procesory pracují s pevnou řádovou čárkou (Fixed-point) a jsou kódově kompatibilní. x,c2x,c5x Procesory C1x, C2x a C5x jsou založeny na modifikované Harvard architektuře s odděleným pamět ovým prostorem pro data a instrukce. C30 První DSP s plovoucí řádovou čárkou (Floating-point) TMS320C30 byl představen na konci 80tých let. C6x První zástupce rodiny C6x s pevnou řádovou čárkou, tj. DSP TMS320C6201 byl zaveden v roce Na rozdíl od předešlých fixed-point procesorů (tj. C1x, C2x a C5x) byl C62x založen na tzv. VLIW architektuře (stále používaný oddělený prostor pro data a instrukce, jako u Harvard architektury). Signálové procesory firmy Texas Instruments patří do architektury VLIW (Very Long Instruction Word), tj. s velmi dlouhým instrukčním slovem. Poslední řada DSP má označení TMS320C6000 (32bitové DSP) a obsahuje 3 rodiny procesorů: plovoucí řádová čárka (Floating-point) obsahuje FPU (Floating-point Unit): C67xx, pevná řádová čárka (Fixed-point): C62xx a C64xx. První procesor z této řady byl TMS320C6202, využívající pouze paralelního zpracování instrukcí. C64xx je doplněn paralelním zpracováním dat. C62xx je kompatibilní s C64xx i C67xx (program určený pro C62xx na nich funguje; opačně to neplatí). Pozn.: Od října 2009 k dispozici také více-jádrové DSP.
12 Rodina DSP TMS320C6000 firmy TI Zástupci rodiny DSP TMS320C6000 mají v podstatě stejnou CPU, také nazývanou jádro DSP. CPU obsahuje architekturu velmi dlouhého instrukčního slova (VLIW Very Long Instruction Word), kterou TI nazývají VelociTI. CPU vždy načítá až osm 32bitových instrukcí najednou CPU obsahuje 256bitovou sběrnici pro interní programovou pamět. Každá skupina takových instrukcí se nazývá instrukční paket. CPU obsahuje osm funkčních jednotek (označení L,S,D,M), 2 registrové soubory (A0 Ax, B0 Bx), a dvě datové cesty (označení A a B). Pozn.: Všechny jednotky nemusí být vytíženy; proměnný počet 32bitových instrukcí odlišnost od jiných VLIW architektur.
13 Struktura signálového procesoru (TI) Obrázek: Jádro procesoru s plovoucí řádovou čárkou TMS320C6713.
14 Struktura signálového procesoru C67xx Pozn.: Následující platí pro C6713 (máme v laboratoři). Jádro DSP je rozděleno do 2 identických datových cest A, B. Každá cesta obsahuje 16 registrů pro obecné použití (32bitové) a 4 funkční jednotky:.l aritmetické operace,.s bitové operace,.d řízení přístupu do paměti,.m hardwarová násobička. Kromě své primární funkce, jsou některé funkční jednotky schopny provádět také aritmeticko-logické operace (viz tabulka). Pozn.: Signálové procesory rodiny C64xx obsahují 32 registrů pro obecné použití v každé datové cestě. Tabulka: Využití funkčních jednotek podle typu operace pro signálový procesor s pevnou řádovou čárkou C64xx. Typ operace.l.s.d.m 32bitové aritmetické operace. Dvě 16bitové nebo čtyři 8bitové aritmetické operace. 40bitové aritmetické operace. 32bitové logické operace. 32 nebo 40bitové posuny. 32bitové operace s jednotlivými bity. Násobení dvou 16bitových operandů. Dvě 16bitové nebo čtyři 8bitové násobení. Přístup do paměti čtení/zápis. Větvení programu.
15 Jádro signálového procesoru Jednotky ze sousední datové cesty mohou využívat i registrový soubor jiné datové cesty. Označení sběrnice: 1X a 2X (file cross). Vyšší počet datových sběrnic (32bitové): k uložení obsahu datových registrů do paměti slouží datové sběrnice ST1 a ST2 (store-to-memory), v opačném směru pak sběrnice LD1 a LD2 (load-from-memory). Adresní sběrnice (32bitové): Adresa požadovaných dat je generována jednou z jednotek.d na sběrnici DA1 a DA2 (data address). Pozn.: Schéma sběrnic a křížových cest na další stránce. On-chip pamět pro program i data lze v některých procesorech konfigurovat jako cache. Typické periferní obvody každého DSP jsou: řadič přímého přístupu do paměti DMA, řadič externí paměti EMIF, sériové porty, časovače/čítače,...
16 General-Purpose Register Files Pozn.: Sběrnice a křížové cesty mezi A a B [Tex07] Figure 2 1. TMS320C67x CPU Data Paths Data path A Data path B LD1 32 MSB ST1 LD1 32 LSB DA1 DA2 Á Á LD2 32 LSB Á src1 Á Á.L1 src2á Á dst Á8 long dst long src 8 Á 8 long srcá long dstá dst 8.S1 src1á src2 dstáá.m1 src1á src2áá Á Á dst.d1 src1á src2 Á src2á.d2 src1 Á dst src2á Á.M2 src1á Á dst Á src2 Á Á src1.s2 dstá 8 long dst Register file A (A0 A15) 2X 1X Register file B (B0 B15)
17 Pracovní registry pro všeobecné použití Hodnoty, uložené v pracovních registrech obou sad (A i B) mohou představovat: 32bitová data, 40bitová data, ukazatele na operandy. Některé registry jsou navíc určeny pro podmíněné větvení programu (viz ukázka programu) testuje se, zda hodnota v registru je/není nulová: A1, A2, B0, B1, B2. Některé registry mohou být navíc použity pro kruhové adresování (viz adresování): A4 až A7 a B4 až B7. Pozn.: 40bitová data jsou vždy uložena v registrovém páru (64 bitů). 32 LSB jsou uloženy v sudém registru, zbývajících 8 bitů je pak uloženo ve vyšším (lichém) registru. Tyto registrové páry jsou také využity pro uložení hodnot floating-point Double Precision.
18 Časování funkce signálových procesorů Funkce signálových procesorů je charakterizována trojicí časových intervalů: Hodinový cyklus (takt) je doba periody hodinového signálu pro synchronizaci výkonu jádra DSP. Strojový cyklus odpovídá době provedení jedné fáze zřetězeného zpracování instrukcí (pipelining): určitý počet hodinových taktů např. pro dekódování operandů, jejich sečtení, generace adresy pro přístup do paměti,... u DSP s architekturou VLIW trvá jeden strojový cyklus právě jeden hodinový cyklus. Instrukční cyklus je doba provedení jedné instrukce nebo instrukčního paketu. Instrukční cyklus je závislý na typu instrukce. U VLIW (TI) jsou: jednoduché aritmetické operace složeny pouze z jednoho strojového cyklu, násobení (fixed-point): 2 cykly, násobení (single precision): 4 cykly, násobení (double precision): 9 cyklů, přístup do paměti: 5 cyklů.
19 Instrukční paket architektury VLIW Tvorbě instrukčních paketů je podřízeno programování v jazyce symbolických adres DSP: na jednotlivé pakety se lze odkazovat pomocí návěští (např. u podmíněných či nepodmíněných skoků), u dílčích instrukcí v paketu to nelze. Celý paket se chápe jako celek a stejně tak se načítá do řídicí jednotky při výkonu programu. Zápis instrukčního paketu v jazyce symbolických adres: 1 loop : ; návěští 2 LDDW. D1 A4++, A7 : A6 ; naplnění registrů A7 : A6 3 LDDW. D2 B4++, B7 : B6 ; naplnění registrů B7 : B6 4 MPYSP. M1X A6, B6, A5 ; A5 = A6 x B6 5 MPYSP. M2X A7, B7, B5 ; B5 = A7 x B7 6 [ A1 ] B. S2 loop ; pokud A1!=0 skoč na loop
20 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
21 Způsoby adresování operandů Výpočet adres pro čtení/zápis operandů v registrech nebo v paměti provádí jednotka generování adres AGU (Address Generation Unit): využívá se celočíselná aritmetika (tedy ne zlomkový tvar viz přednáška Číselné soustavy v mikroprocesorové technice), obsahuje vlastní ALU jednotku(y) a datové/řídicí registr(y) pro nastavení způsobu adresování, obecně nejčastější způsoby u DSP jsou: lineární adresování (přímé/nepřímé), adresování modulo, adresování v bitově reverzním pořadí. Přímé adresování operandů: operand instrukce obsahuje přímo zadanou adresu, kde v paměti se nachází hodnota pro výkon instrukce. Pozn.: U TMS320C6000 není tento způsob využit. Nepřímé adresování hodnot operandů: operand instrukce obsahuje adresu, kde je v paměti uložena hodnota pro výkon instrukce. Je to tedy ukazatel na hodnotu, označení: *nazev registru
22 Nepřímé adresování operandů Jako ukazatel může být použit libovolný registr. Při použití instrukcí pro přístup do paměti je možné měnit hodnotu ukazatele: inkrementace/dekrementace před/po vykonání adresace. relativní změna o větší počet pozic, adresace bez změny ukazatele. Tabulka: Změna hodnot ukazatelů při nepřímém adresování. Změna hodnoty Před adresací Po adresaci Inkrementace *++rx *rx++ Dekrementace *--rx *rx-- Větší zvýšení *+rx[konst] *rx+[konst] Větší zmenšení *-rx[konst] *rx-[konst] Beze změny *rx *rx
23 Příklad nepřímého adresování operandů Tabulka: Načtení dat z paměti do registru: LDW *A10, B1 (Load from memory), doba výkonu 5 cyklů. Název registru/pozice Před výkonem Po výkonu instrukce B1 0x x A10 0x x Pamět ová pozice 0x100 0x x Tabulka: Uložení hodnoty do paměti: STB A1, *--A10 (Store to memory), 3 cykly. Název registru/pozice Před výkonem Po výkonu instrukce A1 0x x A10 0x x Pamět ová pozice 0x100 0x x Pamět ová pozice 0x101 0x x
24 Adresování operandů modulo Kromě lineárního způsobu adresování (hodnota ukazatele se konstantně zvyšuje/snižuje) je u DSP častým způsobem adresování tzv. adresování modulo (kruhová pamět ): v datové paměti se vyhradí blok určité délky a pouze v něm se pohybuje ukazatel operandu, až ukazatel obsahuje nejvyšší možnou adresu a instrukcí se provede další zvýšení, je do ukazujícího registru automaticky nahrána nejnižší adresa ve vyčleněném bloku, velikost bloku je možné vybrat jen z pevně daných možností (viz registr AMR Addressing Mode Register). Příklad použití kruhové paměti: periodické čtení koeficientů filtru, dvojice ukazatelů pro ukládání přijatých/vyslaných dat do paměti.
25 Adresování operandů v bitově reverzním pořadí Generování adresy v bitově reverzním pořadí je nejméně běžný způsob adresování. Využívá se pouze u speciálních algoritmů, které vstupní/výstupní data přerovnávají z běžného pořadí do jiného. Příkladem je algoritmus rychlé Fourierovy transformace FFT (Fast Fourier Transform), která je často realizována pomocí DSP: jsou-li vstupní vzorky pro výpočet FFT v přirozeném pořadí, tj. 0, 1, 2,..., je pořadí bitů u indexu výstupních vzorků v obráceném pořadí (LSB na prvním místě, MSB poslední): = = = = = = = = = =7. Z důvodu usnadnění výpočtu FFT, obsahují DSP hardwarovou část, která realizuje toto přehození bez zásahu programátora tj. provádí adresování v bitově reverzním pořadí.
26 Princip algoritmu FFT x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11) x(12) x(13) x(14) x(15) W W W 1 0 W W 2 0 W W 3 0 W W 4 0 W W 5 0 W W 6 0 W W 7 0 W W 0 1 W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W X(0) X(8) X(4) X(12) X(2) X(10) X(6) X(14) X(1) X(9) X(5) X(13) X(3) X(11) X(7) X(15) Obrázek: Struktura algoritmu pro výpočet FFT (N = 16).
27 Signálové procesory firmy Texas Instruments Dosažitelný početní výkon procesorů se udává v jednotkách: MIPS Milion Instructions Per Second pro fixed-point procesory. MFLOPS Million Floating point Operations Per Second pro floating-point procesory. MMACS Million Multiply-Accumulate Cycles per Second. BDTI Benchmarky od Berkeley Design Technology, Inc. Tabulka: Početní výkon vybraných signálových procesorů. Procesor f CPU [MHz] MIPS/MFLOPS MMACS C6203B C C6713B (float.) MIPS/1 800 MFLOPS 600 C6727B (float.) MIPS/2 100 MFLOPS 700 C (1 jádro) (3 jádra) (3 jádra) C / GFLOP GMAC 1 (1 jádro) (8 jader) (8 jader) C672x od roku jádra říjnu 2009 (TMS320CC6474) 8 jader listopad 2010 (TMS320C6678) 1 Patrně vztaženo na instrukční cyklus a nikoliv na sekundu?!
28 Benchmarky od Berkeley Design Technology, Inc. BDTI DSP Kernel Benchmarks TM nejrozšířenější test algoritmů signálového zpracování dat: speed: BDTImark2000, memory use: BDTImemMark2000, cost efficiency: BDTImark2000/$, area efficiency: BDTImark2000/mm2, energy efficiency: BDTImark2000/Watt. Obsahuje 12 nejpoužívanějších algoritmů DSP (viz tabulka). Udává skóre procesoru. BDTI Video Kernel Benchmarks TM soubor 6 algoritmů používaných při zpracování video signálů; (uplatnění např. set-top boxy, multimediální mobilní tel., dohledové systémy, video konference,...); BDTI poskytuje referenční zdrojové kódy i testovací data: Deblocking filter, 8x8 inverse discrete cosine transform, 4x4 inverse integer transform, Motion compensation, Motion estimation, Image resize. BDTI Video Encoder/Decoder Benchmark video. BDTI H.264 Decoder Benchmark video. BDTI OFDM Receiver Benchmark komunikace. BDTI DQPSK Receiver Benchmark komunikace.
29 Algoritmy pro BDTI DSP Kernel Benchmarks Obrázek: Algoritmy používané v testu BDTI DSP Kernel Benchmarks TM.
30 Výsledky BDTI DSP Kernel Benchmarks (floating-point, Nov-2012)
31 Výsledky BDTI DSP Kernel Benchmarks (floating-point, Nov-2012)
32 Výsledky BDTI DSP Kernel Benchmarks (fixed-point, Nov-2012)
33 Výsledky BDTI DSP Kernel Benchmarks (fixed-point, Nov-2012)
34 Obsah přednášky Úvod do signálových procesorů Paralelní zpracování instrukcí a dat Architektura signálových procesorů typu VLIW Způsoby adresování operandů u signálových procesorů Programování signálových procesorů
35 Programování signálových procesorů Na rozdíl od programování 8bitových mikrokontrolérů je vývoj aplikací pro signálové procesory zahajován vždy ve vyšším jazyce. Postup při vývoji nové aplikace: (1) Naprogramovat celou aplikaci v jazyce C. 1 i n t main ( v o i d ){ 2 s h o r t a = 0 x40 ; // d e k l a r a c e l o k á l n í c h proměnných 3 s h o r t b = 0 x20 ; 4 i n t y ; 5 6 y = ( a + b ) << 1 ; // y = 2 x ( a+b ) 7 8 w h i l e ( 1 ) ; // nekonečná smyčka 9 r e t u r n ( 1 ) ; // v ý s t u p n í hodnota f u n k c e = 1 10 } (2) Provést analýzu real-time zpracování: ANO Konec vývoje aplikace. NE Využít optimalizační nástroje vývojového prostředí, příp. bod (3). (3) Přeprogramování časově náročné části pomocí speciálních funkcí pro překladač, příp. pomocí tzv. lineárního jazyka symbolických adres. (4) Provést analýzu real-time zpracování: ANO Konec vývoje aplikace. NE Bod (5). (5) Přeprogramovat kritickou pasáž v jazyce symbolických adres.
36 Programování v jazyce C Při programování v jazyce C lze kombinovat několik možností: celý kód v jazyce C, použití speciálních funkcí překladače tzv. intrinsic, kritické pasáže přepsat pomocí lineárního JSA (soubory *.sa) a ty volat z jazyka C, kritické pasáže přepsat pomocí funkcí v JSA (*.asm) a ty volat z jazyka C. Speciální funkce překladače intrinsic funkce překladač zamění jednou, příp. několika instrukcemi: 1 i n t abs ( i n t src ) ; // a b s o l u t n í hodnota 2 i n t add2 ( i n t src1, i n t src2 ) ; // s o u č e t 3 i n t mpy ( i n t src1, i n t src2 ) ; // n á s o b e n í
37 Kombinace zdrojového kódu v JSA a v jazyce C Obecně platí zásada, že vyšší programovací jazyk C se při programování DSP používá pro inicializaci aplikace a pro nekritické pasáže kódu (z pohledu velikosti nebo rychlosti). Kritické části je vhodné z hlediska absolutní kontroly rychlosti a velikosti přeloženého kódu programovat v jazyce symbolických adres, příp. v tzv. lineárním JSA: funkce v JSA i v C používají stejné registry. Mohou si také vyměňovat parametry/výsledné hodnoty, názvy veškerých proměnných či funkcí definovaných v C musí být v JSA uvozeny, Pozor registr B3 vždy obsahuje návratovou adresu z funkce v JSA. 1 i n t main ( void ){ // f u n k c e u l o ž e n á v souboru. c y = asmfunction ( a, b ) ; // v o l á n í f u n k c e v JSA } 1 _asmfunction : ; funkce uložená v souboru. asm 2... ; tělo funkce 3 B B3 ; skok na návratovou adresu
38 Vstupní parametry/výstupní hodnota funkce v JSA Funkce v JSA může obsahovat až 10 vstupních parametrů. Ty jsou vždy postupně uloženy v registrech A4, B4, A6, B6, A8, B8, A10, B10, A12 a B12. Pokud funkce vrací hodnotu, je nutné ji před návratem z funkce uložit do registru A4. Funkce se ukončí skokem na návratovou adresu, tj. B B3. Příklad Jaké hodnoty obsahují registry A4 a B4 před a po vykonání funkce y = asmfunction( a, b ), která realizuje operaci y = 2 (a + b)? Necht hodnoty a = 64 a b = 32.
39 Volání funkce v JSA z jazyka C 1 // SOUBOR: f 1. c 2 extern i n t asmfunction ( short, short ) ; // p r o t o t y p f u n k c e 3 // kód f u n k c e v j i n é m souboru 4 i n t main ( v o i d ){ 5 s h o r t a = 0 x40 ; // d e k l a r a c e l o k á l n í c h proměnných ; 8 b i t o v é 6 s h o r t b = 0 x20 ; 7 i n t y ; // 32 b i t o v á proměnná 8 9 y = asmfunction ( a, b ) ; // v o l á n í f u n k c e v JSA w h i l e ( 1 ) ; // nekonečná smyčka 12 r e t u r n ( 1 ) ; // v ý s t u p n í hodnota f u n k c e = 1 13 } 1 ; SOUBOR : f2. asm 2. global _asmfunction ; definice globálního parametru NUTNÉ 3 4 _asmfunction : ; volaná funkce 5 ADD. D1x A4, B4, A4 ; A4 + B4 = A4 6 SHL. S1 A4, 1, A4 ; A4 << 1 = A4 7 B. S2 B3 ; skok na návratovou adresu, tj. na registr B3 8 NOP 4 ; časování instrukce B, která trvá 5 cyklů
40 Lineární jazyk symbolických adres TMS320C6000 Při programování v JSA signálového procesoru TMS320C6000 je potřeba specifikovat názvy registrů a především respektovat časování jednotlivých instrukcí: např. instrukci pro přístup do paměti je nutné doplnit 4 instrukce NOP, přístup do paměti trvá 5 strojových cyklů; 1. spuštění instrukce; načtená/uložená hodnota je k dispozici za další 4 cykly. Lineární JSA je jakýmsi mezikrokem mezi JSA a jazykem C. Umožňuje snadnější práci pro programátora, ale ponechává mu značnou kontrolu nad výsledným kódem: je možné používat symbolické názvy registrů, včetně předávaných parametrů (podobně jako proměnné v jazyce C), správné časování výkonu instrukcí provádí překladač automaticky, programuje se přímo pomocí instrukcí bez nutnosti specifikovat funkční jednotku. Kód je překladačem optimalizován mezi volné jednotky.
41 Ukázka aplikace v lineárním jazyce symbolických adres Zdrojový kód uložený v souboru s koncovkou *.sa musí obsahovat několik částí: identifikace symbolu/funkce definovaného v jiném zdrojovém souboru pomocí direktivy.global, specifikace začátku funkce prostřednictvím direktivy.cproc, konec funkce:.endproc, přiřazení vstupních hodnot proměnným za.cproc, deklarace proměnných (symbolické označení registrů):.reg, návratová hodnota funkce + ukončení funkce:.return. 1 ; SOUBOR : f2. sa 2. global _asmfunction ; definice globálního parametru NUTNÉ 3 4 _asmfunction :. cproc a, b ; přiřazení hodnot od vstupních operandů 5. reg y ; ekvivalent lokální proměnné 6 7 ADD a, b, y ; a + b = y 8 SHL y, 1, y ; y << 1 = y return y ; funkce vrací hodnotu y 11. endproc ; konec funkce v LJSA
42 Kombinace programovacích jazyků Tabulka: Srovnání početní náročnosti 8bodového součtu součinů (SoP). Program. jazyk Číselná reprezentace Počty cyklů Jazyk C Floating-point 404 Jazyk C Fixed-point 352 LJSA Floating-point 203 LJSA Fixed-point 166 JSA Floating-point, VLIW 50 Tabulka: Optimalizační nástroje v prostředí Code Composer Studio (1-D FFT, 1-D DCT). Algoritmus Míra optimalizace Počty cyklů FFT, N = FFT, N = 8 -o0 642 FFT, N = 8 -o1 288 DCT, C, N = DCT, C, N = 8 -o0 591 DCT, C, N = 8 -o1 214 DCT, LJSA, N = DCT, LJSA, N = 8 -o0 263 DCT, LJSA, N = 8 -o1 90
43 Implementace MAC Multiply-Accumulate (převzato: BROOKERS, M., WARD, W.) A0. A15 Fast MAC using Natural C Memory.D1.M1.L1.S1.D2.M2.L2.S2 Controller/Decoder B0. B15? J@5G(H7DFG(.(n? J@\G(H O DF]M? J@5G(H O =5]M-=7H5.(@7o5=7H p qd-=7h5-]m? J@5G(H7r(o5Dtsvu N?@7Adn-s\u N -Mwv.(@5o7=7HN -[\[7pCq r(o5dt[\scd j-k O = j-kn7xzy #L NO O >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>O N 8#P8#Q#)R456;698 Q#S+T!Q#4 47)+)!UWV)+X Y!Z([\[\]Y!^(LY+_ `` 47)+)!UWV)+a b!z([\[\]b!^(lb+_ `` 038#c#:d8eV03X(fgY!_(]b+_(]Y+h `` 038#c#:d8eV 03a(fgY!^(]b+^(] b+h `` Y+)+)!:#8eV47X Y!h(]Y+i(]Y+i `` Y+)+)!:#8eV47a b!h(]b+i(]b+i ``Mj Y+X(klb V:#a 456;698 ``MjY+X(kl:#m+b V:#X Y!X(]X(]Y!X NO O >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>O
44 Implementace MAC The Core of DSP : Sum of Products The C6000 Designed to handle DSP s math-intensive calculations Mult.M y = MPY.M a, x, prod ALU.L ADD.L y, prod, y 40 a n * x n n = 1 Note: You don t have to specify functional units (.M or.l) Where are the variables?
45 Implementace MAC Working Variables : The Register File 16 registers Register File A a x prod y..m.l y = 40 a n * x n n = 1 MPY.M a, x, prod ADD.L y, prod, y 32-bits How are the number of iterations specified?
46 Implementace MAC Loops: Coding on a RISC Processor 1. Program flow: the branch instruction B loop 2. Initialization: setting the loop count MVK 40, cnt 3. Decrement: subtract 1 from the loop counter SUB cnt, 1, cnt
47 Implementace MAC The S Unit : For Standard Operations 16 registers Register File A a x cnt prod y..s.m.l loop: y = 40 a n * x n n = 1 MVK.S 40, cnt MPY.M a, x, prod ADD.L y, prod, y SUB.L cnt, 1, cnt B.S loop 32-bits How is the loop terminated?
48 Implementace MAC Conditional Instruction Execution To minimize branching, all instructions are conditional [condition] B loop Execution based on [zero/non-zero] value of specified variable Code Syntax Execute if: [ cnt ] cnt 0 [!cnt ] cnt = 0
49 Implementace MAC Loop Control via Conditional Branch Register File A a x cnt prod y..s.m.l loop: y = 40 a n * x n n = 1 MVK.S 40, cnt MPY.M a, x, prod ADD.L y, prod, y SUB.L cnt, 1, cnt [cnt] B.S loop 32-bits How are the a and x array values brought in from memory?
50 Implementace MAC Memory Access via.d Unit 16 registers Register File A a x cnt prod y *ap *xp *yp.s.m.l.d loop: y = 40 a n * x n n = 1 MVK.S 40, cnt LDH.D *ap, a LDH.D *xp, x MPY.M a, x, prod ADD.L y, prod, y SUB.L cnt, 1, cnt [cnt] B.S loop Data Memory: x(40), a(40), y How do we increment through the arrays?
51 Implementace MAC Auto-Increment of Pointers 16 registers Register File A a x cnt prod y *ap *xp *yp.s.m.l.d loop: y = 40 a n * x n n = 1 MVK.S 40, cnt LDH.D *ap++, a LDH.D *xp++, x MPY.M a, x, prod ADD.L y, prod, y SUB.L cnt, 1, cnt [cnt] B.S loop Data Memory: x(40), a(40), y How do we store results back to memory?
52 Implementace MAC Storing Results Back to Memory Register File A a x cnt prod y *ap *xp *yp Data Memory: x(40), a(40), y.s.m.l.d loop: y = 40 a n * x n n = 1 MVK.S 40, cnt LDH.D *ap++, a LDH.D *xp++, x MPY.M a, x, prod ADD.L y, prod, y SUB.L cnt, 1, cnt [cnt] B.S loop STW.D y, *yp
Mikroprocesorová technika a embedded systémy. doc. Ing. Tomáš Frýza, Ph.D.
Ústav radioelektroniky Vysoké učení technické v Brně Úvod do signálových procesorů Mikroprocesorová technika a embedded systémy Přednáška 11 doc. Ing. Tomáš Frýza, Ph.D. Ver. 8-12-2014 Obsah přednášky
Ústav radioelektroniky. 18. prosince 2007
Ústav radioelektroniky Vysoké učení technické v Brně Programování signálových procesorů Mikroprocesorová technika, přednáška č. 13 Ing. Frýza Tomáš, Ph.D. 18. prosince 2007 Obsah přednášky Architektury
PROCESOR. Typy procesorů
PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně
Charakteristika dalších verzí procesorů v PC
Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace
Další aspekty architektur CISC a RISC Aktuálnost obsahu registru
Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat
Procesor. Procesor FPU ALU. Řadič mikrokód
Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé
Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat
Paralelní systémy Paralelním systémem rozumíme takový systém, který paralelně zpracovává více samostatných úloh nebo zpracování určité úlohy automaticky rozdělí do menších částí a paralelně je zpracovává.
Architektura počítače
Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:
Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1
Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována
Architektury CISC a RISC, uplatnění v personálních počítačích
Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur
Intel 80486 (2) Intel 80486 (1) Intel 80486 (3) Intel 80486 (4) Intel 80486 (6) Intel 80486 (5) Nezřetězené zpracování instrukcí:
Intel 80486 (1) Vyroben v roce 1989 Prodáván pod oficiálním názvem 80486DX Plně 32bitový procesor Na svém čipu má integrován: - zmodernizovaný procesor 80386 - numerický koprocesor 80387 - L1 (interní)
Technické prostředky počítačové techniky
Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení
Pohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
Miroslav Tichý, tic136
Miroslav Tichý, tic136 32bitová mikroprocesorová architektura typu RISC(Reduced Instruction Set Computer) mobilním odvětví - smartphony, PDA, přenosné herní konzole, kalkulačky apod. Důvod: nízké vyzařované
Procesor z pohledu programátora
Procesor z pohledu programátora Terminologie Procesor (CPU) = řadič + ALU. Mikroprocesor = procesor vyrobený monolitickou technologií na čipu. Mikropočítač = počítač postavený na bázi mikroprocesoru. Mikrokontrolér
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy
Úvod do architektur personálních počítačů
Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu
Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2
Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy
Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard
Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený
Základy digitální techniky
Základy digitální techniky Binarna aritmetika. Tabulky Karno. Operace logické a aritmetické; Binarna aritmetika. č. soust zákl. Abeceda zápis čísla binarní B=2 a={0,1} 1100 oktalová B=8 a={0,1,2,3,4,5,6,7}
GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY
GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY Jiří Šebesta Ústav radioelektroniky, Fakulta elektroniky a komunikačních technologií Vysoké učení technické v Brně
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zjednodušené schéma systému z základ hardware pro mainframe tvoří: operační pamět - MAIN / REAL STORAGE jeden
Přehled DSP, základní vlastnosti, rozdělení, architektura, typické výpočetní jednotky, aplikace DSP
Radek Sedláček, katedra měření, ČVUT v Praze - FEL, 2014 radek.sedlacek@fel.cvut.cz Přehled DSP, základní vlastnosti, rozdělení, architektura, typické výpočetní jednotky, aplikace DSP 2 Digitální signálový
FREESCALE KOMUNIKAČNÍ PROCESORY
FREESCALE KOMUNIKAČNÍ PROCESORY 1 Trocha historie: Freescale Semiconductor, Inc. byla založena v roce 2004 v Austinu v Texasu jako samostatná společnost, jelikož po více jak 50 byla součástí Motoroly.
Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.
1 Architektura počítačů Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače. Neurčuje jednoznačné definice, schémata či principy. Hovoří o tom, že počítač se skládá z měnších částí
V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a
1 Počítače CISC a RISC V dnešní době se ustálilo dělení počítačů do dvou základních kategorií podle typu použitého procesoru: CISC - počítač se složitým souborem instrukcí (Complex Instruction Set Computer)
Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247
Inovace bakalářského studijního oboru Aplikovaná chemie Reg. č.: CZ.1.07/2.2.00/15.0247 APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY s využitím LabView 2. Číslicové počítače a jejich využití pro
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),
Paměti a jejich organizace
Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení
CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů
Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single
Představení a vývoj architektur vektorových procesorů
Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení
Výkonnostní srovnání DSP Jak optimalizovat výběr procesoru. Analog Devices, Texas Instruments Freescale
A0M38SPP - Singálová procesory v praxi - přednáška 1 2 Digitální signálový procesor (DSP) význam tohoto pojmu Základní architektura procesorů, hlavní rysy Základní rozdělení/třídění DSP Typické aplikace
Procesory, mikroprocesory, procesory na FPGA. 30.1.2013 O. Novák, CIE 11 1
Procesory, mikroprocesory, procesory na FPGA 30.1.2013 O. Novák, CIE 11 1 Od sekvenčních automatů k mikroprocesorům 30.1.2013 O. Novák, CIE 11 2 30.1.2013 O. Novák, CIE 11 3 Architektura počítačů Von Neumannovská,
SÁLOVÉ POČÍTAČE. Principy počítačů. Literatura. Harvard Mark I 1944-1959. Grace Murray Hopper ENIAC
Principy počítačů SÁLOVÉ POČÍTAČE Literatura www.computerhistory.org C.Wurster: Computers An Ilustrated History R.Rojas, U.Hashagen: The First Computers History and Architectures Myslím, že na světě je
Struktura a architektura počítačů (BI-SAP) 1
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 1 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 9 SYSTÉMOVÝ NÁVRH, IP-CORES doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze
Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
Struktura a architektura počítačů (BI-SAP) 7
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
Y36SAP http://service.felk.cvut.cz/courses/y36sap/
Y36SAP http://service.felk.cvut.cz/courses/y36sap/ Úvod Návrhový proces Architektura počítače 2007-Kubátová Y36SAP-Úvod 1 Struktura předmětu Číslicový počítač, struktura, jednotky a jejich propojení. Logické
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:
Architektury VLIW M. Skrbek a I. Šimeček
Architektury VLIW M. Skrbek a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.3 Příprava studijního programu
PROCESORY. Typy procesorů
PROCESORY Procesor (CPU Central Processing Unit) je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost
Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).
Strojový kód k d a asembler procesoru MIPS Použit ití simulátoru SPIM K.D. - cvičení ÚPA 1 MIPS - prostředí 32 ks 32bitových registrů ( adresa registru = 5 bitů). Registr $0 je zero čte se jako 0x0, zápis
Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr
Pokročilé architektury počítačů
Pokročilé architektury počítačů referát Intel Core 2 Quad Martin Samek SAM094 Abstrakt Text se bude zabývat procesorem Core 2 Quad firmy Intel. Text bude rozdělen do dvou hlavních částí, kde první část
Operační systémy. Přednáška 8: Správa paměti II
Operační systémy Přednáška 8: Správa paměti II 1 Jednoduché stránkování Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné
Semestrální práce z předmětu Speciální číslicové systémy X31SCS
Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší
Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická
Jan Nekvapil jan.nekvapil@tiscali.cz ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Motivace MMX, EMMX, MMX+ 3DNow!, 3DNow!+ SSE SSE2 SSE3 SSSE3 SSE4.2 Závěr 2 Efektivní práce s vektory
MSP 430F1611. Jiří Kašpar. Charakteristika
MSP 430F1611 Charakteristika Mikroprocesor MSP430F1611 je 16 bitový, RISC struktura s von-neumannovou architekturou. Na mikroprocesor má neuvěřitelně velkou RAM paměť 10KB, 48KB + 256B FLASH paměť. Takže
Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)
Procesor Intel Pentium (1) 32-bitová vnitřní architektura s 64-bitovou datovou sběrnicí Superskalární procesor: obsahuje více než jednu (dvě) frontu pro zřetězené zpracování instrukcí (značeny u, v) poskytuje
RISC a CISC architektura
RISC a CISC architektura = dva rozdílné přístupy ke konstrukci CPU CISC (Complex Instruction Set Computer) vývojově starší přístup: pomoci konstrukci překladače z VPP co nejpodobnějšími instrukcemi s příkazy
Algoritmizace a programování
Algoritmizace a programování Struktura počítače České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura předmětu Systémová struktura počítače, procesor, paměti, periferní
Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)
Paměti EEPROM (1) EEPROM Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat
Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně
Úvod do problematiky návrhu počítačových systémů INP 2008 FIT VUT v Brně Čím se budeme zabývat Budou nás zejména zajímat jednoprocesorové číslicové počítače: Funkce počítače Struktura propojení funkčních
Paralelní programování
Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)
ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv
x86 assembler and inline assembler in GCC
x86 assembler and inline assembler in GCC Michal Sojka sojkam1@fel.cvut.cz ČVUT, FEL License: CC-BY-SA 4.0 Useful instructions mov moves data between registers and memory mov $1,%eax # move 1 to register
Von Neumannovo schema počítače
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_10_NEUMANN_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077
Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů ) Führer Ondřej, FUH002 1. AVR procesory obecně
Přednáška - A3B38MMP Procesory s jádrem ARM. A3B38MMP 2015, J. Fischer, kat. měření, ČVUT-FEL Praha 1
Přednáška - A3B38MMP Procesory s jádrem ARM. A3B38MMP 2015, J. Fischer, kat. měření, ČVUT-FEL Praha 1 ARM - historie ARM - RISC procesory (původ britská firma Acorn, procesory - stolní počítače později
HW počítače co se nalézá uvnitř počítačové skříně
ZVT HW počítače co se nalézá uvnitř počítačové skříně HW vybavení PC Hardware Vnitřní (uvnitř počítačové skříně) Vnější ( ) Základní HW základní jednotka + zobrazovací zařízení + klávesnice + (myš) Vnější
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
Testování jednotky ALU a aplikace metody FMEA
Testování jednotky ALU a aplikace metody FMEA Bc. Jiří Sobotka, Vysoké Učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, Purkyňova 118, 612 00 Brno, Česká
Filtrace snímků ve frekvenční oblasti. Rychlá fourierova transformace
Filtrace snímků ve frekvenční oblasti Rychlá fourierova transformace semestrální práce z předmětu KIV/ZVI zpracoval: Jan Bařtipán A03043 bartipan@students.zcu.cz Obsah Úvod....3 Diskrétní Fourierova transformace
GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze
GPGPU Jan Faigl Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze 8. cvičení katedra kybernetiky, FEL, ČVUT v Praze X33PTE - Programovací techniky GPGPU 1
Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010
Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už
2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín
FPGA + mikroprocesorové jádro:
Úvod: V tomto dokumentu je stručný popis programovatelných obvodů od firmy ALTERA www.altera.com, které umožňují realizovat číslicové systémy s procesorem v jenom programovatelném integrovaném obvodu (SOPC
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
Algoritmizace a programování
Algoritmizace a programování Struktura počítače České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura předmětu Systémová struktura počítače, procesor, paměti, periferní
Architektura procesoru ARM
Architektura procesoru ARM Bc. Jan Grygerek GRY095 Obsah ARM...3 Historie...3 Charakteristika procesoru ARM...4 Architektura procesoru ARM...5 Specifikace procesoru...6 Instrukční soubor procesoru...6
Komunikační protokol MODBUS RTU v měřicích převodnících AD4xxx a Drak 4
Komunikační protokol MODBUS RTU v měřicích převodnících AD4xxx a Drak 4 kompletní popis protokolu 4. ledna 2012 w w w. p a p o u c h. c o m MODBUS RTU M O DBUS RTU Katalogový list Vytvořen: 7.9.2007 Poslední
Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru
Počítačové systémy Procesor Miroslav Flídr Počítačové systémy LS 2006-1/17- Západočeská univerzita v Plzni Víceúrovňová organizace počítače Digital logic level Microarchitecture level Processor Instruction
HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC
HISTORIE VÝPOČETNÍ TECHNIKY Od abakusu k PC Předchůdci počítačů abakus - nejstarší předek počítačů, počítací pomůcka založená na principu posuvných korálků. V Číně byl abakus používán od 13. století, v
Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz
Assembler RISC T.Mainzer, kiv.zcu.cz RISC RISC, neboli Reduced Instruction Set Computer - koncepce procesorů s redukovaným souborem instrukcí (vs. CISC, neboli Complex Instruction Set Computer, "bohatý"
Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy
Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah
Pokročilé architektury počítačů
Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU
Hardwarové zpracování obrazu
Hardwarové zpracování obrazu Cíle kapitoly: Zpracování obrazu na vývojové desce TI DaVinci řešící náročné výpočty v reálném čase 1 Teoretický úvod Prakticky můžeme zpracování obrazu rozdělit na zpracování
Struktura a architektura počítačů
Struktura a architektura počítačů Aritmetické operace Pevná a pohyblivá řádová čárka České vysoké učení technické Fakulta elektrotechnická Ver..2 J. Zděnek 23 Aritmetické operace pevná řádová čárka Pevná
Y36SAP - aritmetika. Osnova
Y36SAP - aritmetika Čísla se znaménkem a aritmetické operace pevná a pohyblivá řádová čárka Kubátová 2007 Y36SAP-aritmetika 1 Osnova Zobrazení záporných čísel Přímý, aditivní a doplňkový kód a operace
Architektura počítačů
Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem
Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200
PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 Bc.Adam Berger Ber 208 Historie a předchůdci G200 V červnu roku 2008 spatřila světlo světa nová grafická karta od společnosti Nvidia. Tato grafická karta opět
Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě
XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29, 2005 519 Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě WOJCIASZYK, Petr Ing., VŠB-TU Ostrava, FS, katedra
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
6. Procesory jiných firem... 1
6. Procesory jiných firem. Obsah 6. Procesory jiných firem.... 1 6.1. Acron RISC Machine (ARM)... 1 6.1.1. Charakteristika procesoru ARM... 2 6.1.2. Architektura procesoru ARM... 3 6.1.3. Specifika procesoru
Náplň přednášky 1. Vestavěný systém Výrobci technických řešení Mikrokontroléry ARM NXP Kinetis KL25Z Rapid prototyping Laboratorní vývojová platforma
4 Přednáška 1 Náplň přednášky 1 Vestavěný systém Výrobci technických řešení Mikrokontroléry ARM NXP Kinetis KL25Z Rapid prototyping Laboratorní vývojová platforma 5 www.vsb.cz Vestavěný řídicí systém Anglicky:
Operační paměti počítačů PC
Operační paměti počítačů PC Dynamické paměti RAM operační č paměť je realizována čipy dynamických pamětí RAM DRAM informace uchovávána jako náboj na kondenzátoru nutnost náboj pravidelně obnovovat (refresh)
Rozhraní mikrořadiče, SPI, IIC bus,..
Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška A3B38MMP 2013 kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, kat. měření, ČVUT - FEL, Praha 1 Rozhraní SPI Rozhraní SPI ( Serial Peripheral
Úvod do informačních technologií
Úvod do informačních technologií Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Úvod Jan Outrata (Univerzita Palackého v Olomouci) Úvod do informačních technologií Olomouc, září
Charakteristika dalších verzí procesorů Pentium
Charakteristika dalších verzí procesorů Pentium 1 Cíl přednášky Poukázat na principy architektur nových verzí typů Pentií. Prezentovat aktuální pojmy. 2 Úvod Paralelní systémy lze třídit z hlediska počtu
a operačních systémů
NSWI2 2/2 ZS Principy počítačů a operačních systémů INSTRUKCE Kdybych nařídil generálovi, aby létal od květině ke květině a on by rozkaz neprovedl, nebyla by to chyba generálova, ale moje. král asteroidu
Intel 80286. Procesor a jeho konstrukce. Vývojové typy, činnost procesoru
Procesor a jeho konstrukce. Vývojové typy, činnost procesoru První obvod nazvaný mikroprocesor uvedla na trh firma Intel v roce 1970. Šlo o 4bitový procesor Intel 4004. V roce 1972 byl MCS8 prvním 8bitovým
Struktura a architektura počítačů
Struktura a architektura počítačů Aritmetické operace Pevná a pohyblivá řádová čárka České vysoké učení technické Fakulta elektrotechnická Ver.1.30 J. Zděnek / M. Chomát 2014 Aritmetické operace pevná
Malý distribuovaný I/O modul
MLIO Shrnutí Použití Funkce Malý distribuovaný I/O modul Malý I/O modul MLIO je mikroprocesorem řízený komunikativní modul pro instalaci mimo rozvaděč. Umožňuje tvorbu topologií s distribuovanými vstupy
REKONFIGURACE FPGA. Božetěchova 1/2, 612 66 Brno. imatousek@fit.vutbr.cz
OPTIMALIZACE VYHLEDÁNÍ NEJDELŠÍHO PREFIXU SÍŤOVÉ ADRESY S VYUŽITÍM ČÁSTEČNÉ DYNAMICKÉ REKONFIGURACE FPGA Jiří Matoušek Výpočetní technika a informatika, 1. ročník, prezenční studium Školitel: Zdeněk Kotásek
Workshop. Vývoj embedded aplikací v systému MATLAB a Simulink. Jiří Sehnal sehnal@humusoft.cz. www.humusoft.cz info@humusoft.cz. www.mathworks.
Workshop Vývoj embedded aplikací v systému MATLAB a Simulink Jiří Sehnal sehnal@humusoft.cz www.humusoft.cz info@humusoft.cz www.mathworks.com 1 Obsah workshopu Model Based Design model soustavy a regulátoru
Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).