Mikroprocesorová technika a embedded systémy. doc. Ing. Tomáš Frýza, Ph.D.
|
|
- Hynek Bezucha
- před 7 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. Ver
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ů číslicového 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 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ě (viz 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.
6 Příklady algoritmů číslicového zpracování dat Signálové procesory a procesory pro všeobecné použití (GPP General Purpose Processor) mají odlišné použití: DSP mají nižší spotřebu, proto odpadá nutnost (aktivního) 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=
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, M. J. Very High-Speed Computing Systems. Proceedings of the IEEE. 1966, vol. 54, no. 12, p ) 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: Struktura signálového 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ě, tj. dvojnásobný počet oproti C6713. Tabulka: Využití funkčních jednotek podle typu operace pro DSP 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 Pozn.: 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 long dst 8 8 long srcá long dst dst 8.S1 src1á src2á dst.m1 src1 src2 Á dst Á.D1 long src src1 src2 src2.d2 src1 dst 8 src2 Á.M2 src1 dst Á src2 src1.s2 dst 8 long dst Register file A (A0 A15) 2X 1X Register file B (B0 B15)
17 Pozn.: 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 ě s t í 2 lddw.d1 A4++, A7 : A6 ; n a p l n ě n í r e g i s t r ů A7 : A6 3 lddw.d2 B4++, B7 : B6 ; n a p l n ě n í r e g i s t r ů 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 l o o p
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 Pozn.: 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, Pozn. 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 (DIF: Decimation In Frequency, 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 Testy 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 and Decoder Benchmark video. BDTI Optical Flow Benchmark video surveillance, driver assistance, and mil-aero applications.... BDTI H.264 Decoder Benchmark video. BDTI OFDM Receiver Benchmark komunikace.
29 Algoritmy pro BDTI DSP Kernel Benchmarks Obrázek: 12 algoritmů používaných v testu BDTI DSP Kernel Benchmarks TM.
30 Výsledky BDTI DSP Kernel Benchmarks (floating-point, May-2013)
31 Výsledky BDTI DSP Kernel Benchmarks (floating-point, May-2013)
32 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ů
33 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.
34 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 í
35 Pozn.: 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 ( v o i d ){ // 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 : ; f u n k c e u l o ž e n á v souboru.asm 2... ; t ě l o f u n k c e 3 b B3 ; skok na n á v r a t o v o u a d r e s u
36 Pozn.: 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.
37 Pozn.: 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: f 2. a s m 2.global _asmfunction ; d e f i n i c e g l o b á l n í h o parametru NUTNÉ 3 4 _asmfunction : ; v o l a n á f u n k c e 5 add.d1x A4, B4, A4 ; A4 + B4 = A4 6 s h l.s1 A4, 1, A4 ; A4 << 1 = A4 7 b.s2 B3 ; skok na n á v r a t o v o u adresu, t j. na r e g i s t r B3 8 nop 4 ; č a s o v á n í i n s t r u k c e B, k t e r á t r v á 5 c y k l ů
38 Pozn.: 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.
39 Pozn.: 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: f 2. s a 2.global _asmfunction ; d e f i n i c e g l o b á l n í h o parametru NUTNÉ 3 4 _asmfunction :.cproc a, b ; p ř i ř a z e n í hodnot od vstupních operandů 5.reg y ; e k v i v a l e n t l o k á l n í proměnné 6 7 add a, b, y ; a + b = y 8 s h l y, 1, y ; y << 1 = y 9 10.return y ; funkce v r a c í hodnotu y 11.endproc ; konec f u n k c e v LJSA
40 Pozn.: 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
41 Pozn.: 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
42 Pozn.: Implementace MAC (1/9) 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?
43 Pozn.: Implementace MAC (2/9) 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?
44 Pozn.: Implementace MAC (3/9) 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
45 Pozn.: Implementace MAC (4/9) 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?
46 Pozn.: Implementace MAC (5/9) 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
47 Pozn.: Implementace MAC (6/9) 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?
48 Pozn.: Implementace MAC (7/9) 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?
49 Pozn.: Implementace MAC (8/9) 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?
50 Pozn.: Implementace MAC (8/8) 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. listopad 2012 Obsah přednášky Úvod
Ú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
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á
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
Č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á
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
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Á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
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šší
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í
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ě
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
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í
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
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
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
C2115 Praktický úvod do superpočítání
C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137
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
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
Architektury počítačů a procesorů
Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní
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ž
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
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
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é
Architektura Intel Atom
Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí
Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače
V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se
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:
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
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
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
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:
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
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
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
Čí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
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
VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy
VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková
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
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
Strojový kód. Instrukce počítače
Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska
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í
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}
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
NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA
Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA Literatura W.Stallings: Computer Organization & Architecture J.L.Hennessy, P.A.Patterson: Patterson: Computer Architecture: a Quantitative Approach
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
Ú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
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
8. Laboratoř: Aritmetika a řídicí struktury programu
8. Laboratoř: Aritmetika a řídicí struktury programu Programy v JSA aritmetika, posuvy, využití příznaků Navrhněte a simulujte v AVR studiu prográmky pro 24 bitovou (32 bitovou) aritmetiku: sčítání, odčítání,
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
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é
Principy komunikace s adaptéry periferních zařízení (PZ)
Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.
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á.
Mikrokontroléry. Doplňující text pro POS K. D. 2001
Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou
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ý"
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
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á,
Adresní mody procesoru
Adresní mody procesoru K.D. - přednášky 1 Obecně o adresování Různé typy procesorů mohou mít v instrukci 1, 2 nebo více adres. Operandy mohou ležet v registrech nebo v paměti. Adresní mechanismus procesoru
Profilová část maturitní zkoušky 2014/2015
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika
Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.
Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)
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ě
Jak do počítače. aneb. Co je vlastně uvnitř
Jak do počítače aneb Co je vlastně uvnitř Po odkrytí svrchních desek uvidíme... Von Neumannovo schéma Řadič ALU Vstupně/výstupní zař. Operační paměť Počítač je zařízení, které vstupní údaje transformuje
ARCHITEKTURA PROCESORŮ
ARCHITEKTURA PROCESORŮ Základními jednotkami, které tvoří vnitřní strukturu procesorů, jsou: řadič, který má za úkol číst operandy (data, čísla) a instrukce z operační paměti, dekódovat je a na základě
Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Úvod SISD. Sekvenční výpočty SIMD MIMD
Úvod SISD Single instruction single data stream Sekvenční výpočty MISD 1. Přednáška Historie Multiple instruction single data stream SIMD Single instruction multiple data stream MIMD Multiple instruction
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit
Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti
Algoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Ú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
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í)
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é
Architektury počítačů
Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1 Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové
Profilová část maturitní zkoušky 2015/2016
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika
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í
Řízení IO přenosů DMA řadičem
Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována
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:
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ý
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
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í
Základní uspořádání pamětí MCU
Základní uspořádání pamětí MCU Harwardská architektura. Oddělený adresní prostor kódové a datové. Používané u malých MCU a signálových procesorů. Von Neumannova architektura (Princetonská). Kódová i jsou
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
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ě
Počítač jako elektronické, Číslicové zařízení
Počítač jako elektronické, Číslicové Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1135_Počítač jako elektrornické, číslicové _PWP Název školy: Číslo a název projektu: Číslo a název šablony
Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
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
Jazyk symbolických adres
Jazyk symbolických adres 1 Proč programovat v JSA Pro některé procesory resp. MCU jsou překladače JSA dostupnější. Některé překladače vyšších jazyků neumí využít určité speciální vlastnosti procesoru.
Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.
Systémov mová sběrnice 1 Sběrnicová architektura Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry. Single master jeden procesor na sběrnici, Multi master více
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.
Reprezentace dat v informačních systémech. Jaroslav Šmarda
Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,
4-1 4. Přednáška. Strojový kód a data. 4. Přednáška ISA. 2004-2007 J. Buček, R. Lórencz
4-4. Přednáška 4. Přednáška ISA J. Buček, R. Lórencz 24-27 J. Buček, R. Lórencz 4-2 4. Přednáška Obsah přednášky Násobení a dělení v počítači Základní cyklus počítače Charakteristika třech základní typů
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 3 CZ.1.07/1.5.00/34.0410 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování
Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Upozornit, jak se typické rysy obou typů
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur
Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují
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)
Mikroprocesorová technika (BMPT)
Mikroprocesorová technika (BMPT) Přednáška č. 10 Číselné soustavy v mikroprocesorové technice Ing. Tomáš Frýza, Ph.D. Obsah přednášky Číselné soustavy v mikroprocesorové technice Dekadická, binární, hexadecimální
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.