Architektury počítačů

Rozměr: px
Začít zobrazení ze stránky:

Download "Architektury počítačů"

Transkript

1 Architektury počítačů Počítačová aritmetika Miroslav Šnorek, Michal Štepanovský, Pavel Píša České vysoké učení technické, Fakulta elektrotechnická AM36APO Architektury počítačů Ver.. 26

2 Důležitá poznámka úvodem Nechceme vás učit počítač navrhnout, ale Porozumět eho struktuře, abyste mohli lépe využít eho možností k dosažení eho vyššího výkonu. Tento předmět e zeména o HW/SW interfesu. Vychází ze světově uznávané knihy autorů Paterson, D., Henessy, V.: Computer Organization and Design, The HW/SW Interface. Elsevier, ISBN: Stránky předmětu: AM36APO Architektury počítačů 2

3 Hodnocení a podmínky absolvování Zápočet: Kategorie Body Nutné minimum 4 domácí úkoly 24 Hlavní test (9. přednáška) 2 Týmový proekt 2 5 Celkem 64 Zkouška: Kategorie Body Nutné minimum Písemná část zkoušky 3 5 Ústní část zkoušky +/- Známka Bodové rozmezí A 9 a více B 8-89 C 7-79 D 6-69 E 5-59 F méně než 5 AM36APO Architektury počítačů 3

4 Architektura dnešního PC??? AM36APO Architektury počítačů 4

5 Architektura dnešního PC AM36APO Architektury počítačů 5

6 Architektura dnešního PC Máte málo USB portů? Wi-fi? GPU AM36APO Architektury počítačů 6

7 3. přednáška: Paměťový subsystém hierarchie pamětí. Statická a dynamická paměť Přehled témat přednášek 4. přednáška: Paměťový subsystém virtuální paměť 7. přednáška: Vstupně/výstupní podsystém. SW pohled. 2. přednáška: Návrh ednoduchého CPU, Vykonávání instrukcí, Funkce řadiče 5. přednáška: Princip zřetězeného zpracování instrukcí, Řešení hazardů uvnitř CPU 6. přednáška: Vstupně/výstupní podsystém. HW pohled. Sběrnice PCI, propoení PCIe, USB, SerialATA, HyperTransport, QuickPath interconnect AM36APO Architektury počítačů 7

8 Co e to architektura počítače? Original domain of the computer architect ( 5s- 8s) Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Physics Reference: John Kubiatowicz: EECS 252 Graduate Computer Architecture, Lecture. University of California, Berkeley

9 Co e to architektura počítače? Original domain of the computer architect ( 5s- 8s) Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Physics Parallel computing, security, Domain of recent computer architecture ( 9s -???) Reliability, power, Reference: John Kubiatowicz: EECS 252 Graduate Computer Architecture, Lecture. University of California, Berkeley

10 Co e to architektura počítače? Application Original domain of the computer architect ( 5s- 8s) Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Parallel computing, security, Domain of recent computer architecture ( 9s -???) Reliability, power, Náš záběr v rámci APO Physics Reference: John Kubiatowicz: EECS 252 Graduate Computer Architecture, Lecture. University of California, Berkeley

11 Přehled témat přednášek 8. Technické a organizační prostředky (vněší události, výimky, reálný čas) 9. Sítě procesorů a počítačů.předávání parametrů funkcím a virtuálním instrukcím operačního systému.klasická registrově orientovaná architektura CISC (M68) 2. Procesorová rodina INTEL x86, Od 886 k EMT64 3.Přehled vývoe architektury a koncepcí CPU (RISC/CISC) 4. Víceúrovňový model počítače, virtualizace AM36APO Architektura počítačů

12 Proč e potřeba studovat i nízkoúrovňovou konstrukci počítače Pro návrh nové počítačové/procesorové architektury Pro implementaci vybrané architektury v integrovaném obvodu/fpga Pro obvodový návrh hardware/systému (velké nebo vestavné systémy) Pro porozumění obecným otázkám a problémům ohledně počítačů, eich architektur a výkonnosti Pro to ak efektivně využívat existuící hardware (to znamená, ak psát kvalitní software) Bez přehledu a pochopení chování, možností, omezení a limitace zdroů není možné efektivně využít žádný hardware (pro moderní HW s více ádry a výpočetními subsystému to platí dvonásob) Určitě lze vytvořit dobře placené programy i bez těchto znalostí, ale budou vyžadovat mnohonásobně silněší hardware a budou plýtvat zdroi. Není však takto možné vytvořit žádné náročné aplikace ať iž na výkon nebo na ušetřen energie. Přitom to e oblast kde probíhá skutečný vývo a maí z dlouhodoběšího technologického a i vědeckého pohledu smysl. AM36APO Architektura počítačů 2

13 Další motivace a příklady Předkládané znalosti sou nutné pro každého programátora, ehož aplikace pracuí i en s větším ovšem dnes běžným množstvím dat nebo vyžaduí netriviální výpočetní výkon Žádná práce s multimédii nemůže být vykonána dobře bez takovýchto znalostí /3 našeho kurzu e zaměřená i na přístup k periferiím Příklady Facebook HipHop for PHP -> C++/GCC -> machine code BackBerry (RIM) our consultations for time source RedHat JAVA JIT for ARM for future servers generation Multimedia and CUDA computations Photoshop, GIMP (organizace dat v paměti) Knot-DNS (RCU, Copy on write, Cuckoo hashing, ) AM36APO Architektura počítačů 3

14 Obsah. přednášky Jak se v počítači ukládaí Čísla typu INTEGER, bez i se znaménkem, Čísla typu REAL, Hodnoty typu LOGICAL? Jak se realizuí základní operace Sčítání, odčítání, Posuny, Násobení, dělení, AM36APO Architektury počítačů 4

15 int main() { int a = -2; MOTIVACE: Co program vytiskne? printf("hodnota: %u = %d = %f = %c \n", a, a, *((float*)(&a)), a); } return ; hodnota: = -2 = nan = 8 x38 xff xff xff AM36APO Architektury počítačů 5

16 Číselná soustava: Základní terminologie Nepoziční číselná soustava - hodnota číslice není dána eím umístěním v dané sekvenci číslic, ale eím vzhledem (zápisem/symbolem) Hodnota čísla může být dána prostým součtem hodnot ednotlivých číslic (Egyptské číslice) nebo e zapotřebí použít něaká pravidla (Římské číslice) AM36APO Architektury počítačů 6

17 Základní terminologie Hodnota čísla tedy e: AM36APO Architektury počítačů 7

18 Číselná soustava: Základní terminologie Poziční číselná soustava - hodnota každéčíslice e dána eí pozicí v sekvenci symbolů Množina všech symbolů (číslic) se nazývá abeceda Celá část e oddělena od zlomkové speciálním znakem (řádová čárka/tečka) Λ abeceda - Například {,, 2, 3, 4, 5, 6, 7, 8, 9} pro desítkovou soust. z základ (radix) soustavy obvykle přirozené číslo > a Λ -číslice AM36APO Architektury počítačů 8

19 Základní terminologie Například dekadické číslo 348,3 má hodnotu 3* 2 + 4* + 8* + 3* - + * -2 Pokud si zvolíme fixně počet pozic pro celočíselnou část (n+) a počet pozic pro zlomkovou část (m), bude: Nemenší zobrazitelné číslo: ε=z -m, Modul - nemenší hodnota, kterou už neumíme zobrazit: M=z n+ Zobrazitelná čísla tedy leží v rozsahu: A < M AM36APO Architektury počítačů 9

20 Uložení čísel typu INTEGER bez znaménka Zvolme si tedy celkově například 8 pozic, z toho všechny pro celočíselnou část a základ soustavy roven 2. Binární hodnota Neznaménková reprezentace () () 25 () 26 () Kolik e různých stavů položky? 2 8 = 256D (desítkově). To není mnoho, že? Řešení: proč nepoužít více batů? 4B = 2 32 = D, Rozsah tedy e: <, 2 n+ ->, nebo pokud N bude počet bitů: <, 2 N -> 27 () 28 () 29 () 3 () 253 () 254 () 255 () AM36APO Architektury počítačů 2

21 Uložení čísel typu INTEGER bez znaménka A(X) Binární hodnota Neznaménková reprezentace () () M X 25 () 26 () 27 () 28 () 29 () 3 () 253 () 254 () 255 () AM36APO Architektury počítačů 2

22 Uložení čísel typu INTEGER se znaménkem Binární hodnota Přímý kód + () Znaménko a hodnota. Jde o tzv. přímý kód. Běžně dodržovaná dohoda: +, -. Nevýhoda: inak se musí při aritmetických operacích pracovat se znaménkovým bitem, inak s bity hodnoty. Jiná nevýhoda: máme 2 různá vyádření nuly. () 25 () 26 () 27 () - () - () -2 () -25 () -26 () -27 () AM36APO Architektury počítačů 22

23 Uložení čísel typu INTEGER se znaménkem Přímý kód pokračování Pokud N bude počet bitů: <-2 N- -, 2 N- -> A(X) Binární hodnota Přímý kód + () () 25 () M 26 () 27 () -M/2 M/2 X - () - () -2 () -25 () -26 () -27 () AM36APO Architektury počítačů 23

24 HW/SW interfes V programovacím azyce C se celým číslům bez znaménka říká unsigned integers a v programu se deklaruí ako unsigned int. Těm se znaménkem se říká integers a v programu se deklaruí ako signed int. AM36APO Architektury počítačů 24

25 Čísla INTEGER se znaménkem II. Inverzní kód edničkový doplněk (one's complement): Výhodněší varianta něž přímý kód Proč výhodněší? Úspora v HW! Jedničkový doplněk zápornéhočísla se (ve dvokové soustavě) vytvoří bitovou negací čísla kladného => inverze všech bitů (edničkový doplněk) Dekadická hodnota Reprezentace v inverzím kódu na 4 bity 6-6 AM36APO Architektury počítačů 25

26 Uložení čísel typu INTEGER se znaménkem II. Inverzní kód pokračování Pokud N bude počet bitů: <-2 N- -, 2 N- -> A(X) Binární hodnota Inverzní kód () () 25 () M M/2 26 () 27 () -27 () -26 () -25 () -M/2 M/2 X -2 () - () - () AM36APO Architektury počítačů 26

27 Čísla INTEGER se znaménkem III. Dvokový doplněk (two's complement): Výhodněší varianta něž inverzní kód Proč výhodněší? Úspora v HW! Často se označue nepřesně ako doplňkový kód Dvokový doplněk zápornéhočísla se (ve dvokové soustavě) připočtením k nenižšímu bitu záporného čísla reprezentovaného v inverzním kódu Jedničkový se od dvokového doplňku se liší málo, en o edničku, o tzv. horkou edničku (Hot-One), kterou přičítáme k nenižšímu řádu. Dekadická hodnota Reprezentace v dvokovém doplňku na 4 bity 6-6 AM36APO Architektury počítačů 27

28 Uložení čísel typu INTEGER se znaménkem III. Dvokový doplněk pokračování Pokud N bude počet bitů: <-2 N-, 2 N- -> A(X) Binární hodnota Dvokový doplněk () () 25 () M M/2 26 () 27 () -28 () -27 () -26 () -M/2 M/2 X -3 () -2 () - () AM36APO Architektury počítačů 28

29 Příklady reprezentací: D = H, Doplňkový kód - příklady D = H, -D = FFFFFFFFH, 2D = 2H, -2D = FFFFFFFEH, 3D = 3H, -3D = FFFFFFFDH, Analogii dvokového doplňku se v soustavě s iným základem říká doplněk do modulu. Steně se postupue třeba v soustavě desítkové (doplněk do ). Všimněte si: součet dvou opačných čísel se stenou absolutní hodnotou e H. Přenos do vyššího řádu (32.) ignorueme. Sčítáme vlastně mod Jak e to vlastně v tomto kódování s přeplněním (přetečením) rozsahu? Budeme diskutovat pozděi AM36APO Architektury počítačů 29

30 Přímý kód Zvlášť pracueme se znaménkem a zvlášť s hodnotou Algoritmus pro + a ?????? Aritmetické operace Inverzní kód Vystačíme si s edním algoritmem nutnost provádět tzv. kruhový přenos = přičtení přenosu z nevyššího řádu k výsledku ? + + Dvokový doplněk Jeden algoritmus Žádný kruhový přenos není součástí výsledku AM36APO Architektury počítačů 3

31 Sčítání Příklad sčítání a odčítání v doplňkovém kódu B 7D Vysvětl.: =H, =B + B 6D B 3D Odčítání e v tomto kódu přičítáním čísla opačného B 7D + FFFFFFF B -6D B D Pro vyádření INTEGER znaménkových čísel používáme v počítači dvokový doplněk AM36APO Architektury počítačů 3

32 Je výsledek správný? Rozumíte pomu přeplnění? Přeplnění - říká se tomu také přetečení (overflow). Situace, kdy výsledek operace není správný, protože se nevešel do zobrazitelného rozsahu. Nastává v situaci, kdy znaménko výsledku e iné, než znaménka operandů, byla-li stená, nebo Nonekvivalencí přenosu do a z nevyššího řádu. Měme k dispozici 5 bitů: ? ? AM36APO Architektury počítačů 32

33 A co čísla neznaménková? Na ty nezapomíneme V tomto případě sledueme přenos z nevyššího řádu Opět situace, kdy výsledek operace není správný, protože se nevešel do zobrazitelného rozsahu. Měme k dispozici 5 bitů: ? ? ? AM36APO Architektury počítačů 33

34 Jak nás procesor informue o správnosti výsledku? Musíme se podívat do příznakového registru - FLAGS register pro Intel x86 mikroprocesory, CPSR (Current Program Status Register) pro ARM,.. V něm nademe příznaky Carry a Overflow (a další) AM36APO Architektury počítačů 34

35 Jak realizueme rozdíl dvou čísel? Na předchozích slidech sme viděli ak se realizue operace součtu dvou čísel ať iž znaménkových (kladné+kladné, kladné+záporné, záporné+záporné) nebo neznaménkových (kladné+kladné) Otázka k opakování: ak sme vytvořili k číslu ve dvokovém doplňku eho číslo opačné? A B Sub (subtraction) Invertor c přenos do nenižšího řádu Kontrolní otázka: Lze použít tento obvod i pro realizaci rozdílu neznaménkových čísel? AM36APO Architektury počítačů 35

36 Sčítací HW blokově Sčítačka s postupným šířením přenosu a n- b n- a b a b Obvyklý symbol pro funkční blok c n c Overflow s n- s s Úplná sčítačka kde x y Poloviční sčítačka z z = x. y w w = x y AM36APO Architektury počítačů 36

37 Paralelní sčítačka s minimálním zpožděním Sčítačka s postupným šířením přenosu e pro více bitová čísla velmi pomalá Pokud označíme t zpoždění ednoho hradla, pak generování přenosu v i-témřádě trvá 2 t. Pro N bitové číslo generování součtu trvá 2N t. Pro 64-bitovou sčítačku to e 28 t. Proto zkusíme navrhnout rychleší S n C = n+ A A = n n B B A n n n B C C n n n B A A n n n C B B n n n + C C A n n n + C A n B n C n C n+ S n AM36APO Architektury počítačů 37 n

38 Paralelní sčítačka s minimálním zpožděním C B A C B A C B A C B A S = C A C B B A C + + = ( ) ( ) ( ) ( ) = = = A C C B B A B A A C C B B A B A A C C B B A B A A C C B B A B A C B A C B A C B A C B A S AM36APO Architektury počítačů 38 ( ) ( )... = C A C B B A B A A C C B B A B A Je zevné, že můžeme pokračovat v zednodušování výrazu a dosáhnout zpoždění 2 t pro každou rovnici. Bude však narůstat počet vstupů do hradla a počet hradel... 2 = + + = C A C B B A C

39 Poznámka k realizaci rychlé paralelní sčítačky Paralelní sčítačka s minimálním zpožděním (kombinační obvod) e prakticky nerealizovatelná. Pro 64-bitovou verzi bychom potřebovali 2 hradel. x = y = c =???????????? s =???????????? Jak můžeme urychlit výpočet součtu? = Jak můžeme urychlit výpočet přenosu? => sčítačka s predikcí přenosů Carry Look-Ahead AM36APO Architektury počítačů 39

40 Paralelní sčítačka s předvídáním přenosu x y c c + s C n+ = C n C n+ = C n C n+ = C n C n+ = C n x y c + C n C n Šíření přenosu Generování přenosu s = x = c y ( x y x y ) c ( x y x y ) = c ( x y ) c ( x y ) c x y c x y c x AM36APO Architektury počítačů 4 y c c + = x y ( x ) y c

41 Tyto rovnice sou klíčové pro pochopení principu Označme: generování přenosu: šíření přenosu (propagation): y x g = y x y x y x p = = Pak: součet v -tem řádu: přenos do vyššího (+) řádu: AM36APO Architektury počítačů 4 ( ) ( ) c p p c p c y x c y x c s = = = ( ) c p g c y x y x c = = +

42 Paralelní sčítačka s předvídáním přenosu Takže platí: c = g p c c 2 = g p c = g p (g p c ) = g p g p p c c 3 = g 2 p 2 c 2 = g 2 p 2 (g p g p p c ) = g 2 p 2 g p 2 p g p 2 p p c c 4 = g 3 p 3 c 3 =... = g 3 p 3 g 2 p 3 p 2 g p 3 p 2 p g p 3 p 2 p p c c 5 =... Například rovnici pro c 3 e možné číst následovně: Přenos do 3. řádu nastane, pokud přenos byl generován v 2. řádu, nebo se 2. řádem šíří a byl generován v. řádu, nebo se šíří 2. a. řádem a byl generován -tým řádem, nebo se šíří druhým, prvním a -tým řádem a byl v c (c ==). Pro porovnání: Sčítačka s postupným přenosem: AM36APO Architektury počítačů 42

43 CLA struktura ednotky Predikce Vycházeíc z rovnic pro c až c 3 sestroíme ednotku CLA: Gg p 3 g 3 c 3 p 2 g 2 c 2 p g c p g C Gp c 4 = g 3 p 3 c 3 =... = g 3 p 3 g 2 p 3 p 2 g p 3 p 2 p g p 3 p 2 p p c = Gg Gp Gc Gg Gp AM36APO Architektury počítačů 43

44 Paralelní sčítačka s předvídáním přenosu Podobným způsobem ako sme stanovili c 4 můžeme odvodit rovnice pro grupové přenosy: c 8 = Gc 2 = Gg Gp Gc = Gg Gp (Gg Gp Gc ) = = Gg Gp Gg Gp Gp Gc c 2 = Gc 3 = Gg 2 Gp 2 Gc 2 = Gg 2 Gp 2 (Gg Gp Gg ) = Gg 2 Gp 2 Gg Gp 2 Gp Gg Gp 2 Gp Gp Gc S výimkou názvů proměnných vidíme, že výše uvedené rovnice pro c 4, c 8 a c 2 sou identické s rovnicemi pro c až c 3. Čili, členy grupových přenosů lze vytvářet stenými obvody CLA, ako pro obyčené přenosy. Propoení sumátorů a ednotek CLA pro bity až 5 e ukázáno na následuícím obrázku: AM36APO Architektury počítačů 44

45 6-bitová sčítačka s grupovým předvídáním s 2-5 x 2-5 y 2-5 s 8- x 8- y 8- s 4-7 x 4-7 y 4-7 s -3 x -3 y -3 SUM 2-5 pg 2-5 SUM 8- pg 8- SUM 4-7 pg 4-7 SUM -3 pg -3 c 2-5 c 8- c 4-7 c -3 p 2-5 g 2-5 p 8- g 8- p 4-7 g 4-7 p -3 g -3 CLA 3 CLA 2 CLA CLA c Gc 3 Gc 2 Gc Gp 3 Gg 3 Gp 2 Gg 2 Gp Gg Gp Gg Sp GCLA Sg c Sčítačka pro bity až 3 AM36APO Architektury počítačů 45

46 64-bitová paralelní sčítačka s předvídáním přenosu 64-bitový sumátor se sekciovým předvídáním: s x y s x y s 6-3 x 6-3 y 6-3 s -5 x -5 y -5 SUM pg SUM pg SUM 6-3 pg 6-3 SUM -5 pg -5 c c c 6-3 c -5 p g p g p 6-3 g 6-3 p -5 g -5 CLA 2-5 CLA 8- CLA 4-7 CLA -3 Gc 2-5 Gc 8- Gp Gc Gp Gg Gg Gp4-7 Gc 8-8- Gg Gp Gg 8- c GCLA 3 GCLA 2 GCLA GCLA c Sc 3 Sc 2 Sc Sp 3 Sg 3 Sp 2 Sg 2 Sp Sg Sp Sg SCLA c Np Ng Sčítačka pro bity až 5 AM36APO Architektury počítačů 46

47 Paralelní sčítačka s předvídáním přenosu CLA Carry Look-Ahead. Sčítačka CLA nabízí dostatečné zrychlení v porovnaní se sčítačkou s postupným přenosem při přiatelném nárůstu ceny HW. 64-bitová verze zvýší cenu HW o necelých 5% v porovnání se sčítačkou s postupným šířením přenosu, ale rychlost se zvýší 9: (28 t vs. 4 t). To představue významné zvýšení poměru rychlost/cena). AM36APO Architektury počítačů 47

48 Aritmetické posuvy: vlevo, vpravo Aritmetický posuv v doplňkovém kódu o bit (výsledek má odpovídat přísl. násobení nebo dělení) vlevo vpravo Aritmetický posuv vs. Logický posuv vs. Cyklický posuv... AM36APO Architektury počítačů 48

49 Násobení binárních čísel bez znaménka pro připomenutí AM36APO Architektury počítačů 49

50 Sekvenční HW násobička (varianta 32b) AC MQ Diskuze o rychlosti: ta e ale pomalá, co? AM36APO Architektury počítačů 5

51 Algoritmus A = násobenec; MQ = násobitel; AC = ; for( int i=; i <= n; i++) // n e počet bitů { if(mq = = ) AC = AC + A; // MQ = nenižší bit MQ SR (posuň registr AC MQ o edno místo doprava a doplň případný přenos z nevyššího řádu z předchozího kroku) } end. Nyní e výsledek v AC MQ. AM36APO Architektury počítačů 5

52 Příklad x.y Násobenec x= a násobitel y=. i operace AC MQ A komentář prvotní nastavení AC = AC+MB začátek cyklu SR 2 nic protože MQ = = SR 3 AC = AC+MB SR konec cyklu Tedy: x y = =, ( 6 5 = 3 ) AM36APO Architektury počítačů 52

53 Násobení v doplňkovém kódu Lze realizovat, ale e tu problém Obraz součinu obecně není roven součinu obrazů! Řešení spočívá v modifikaci dvokové soustavy na soustavu s relativními číslicemi Podrobnosti už sou mimo zamýšlený rozsah APO. Nebo v znaménkovém rozšíření na 2N bitů a násobení obvyklým způsobem. Z výsledku bereme pouze 2N bitů. -> ruční násobení AM36APO Architektury počítačů 53

54 Násobička v doplňkovém kódu Boothova metoda APO en pro informaci AM36APO Architektury počítačů 54

55 Rychlá násobička podle Walaceova stromu Q=X.Y, X a Y nechť sou 8b čísla ( x 7 x 6 x 5 x 4 x 3 x 2 x x ). (y 7 y 6 y 5 y 4 y 3 y 2 y y ) = x 7 y x 6 y x 5 y x 4 y x 3 y x 2 y x y x y P x 7 y x 6 y x 5 y x 4 y x 3 y x 2 y x y x y P x 7 y 2 x 6 y 2 x 5 y 2 x 4 y 2 x 3 y 2 x 2 y 2 x y 2 x y 2 P2 x 7 y 3 x 6 y 3 x 5 y 3 x 4 y 3 x 3 y 3 x 2 y 3 x y 3 x y 3 P3 x 7 y 4 x 6 y 4 x 5 y 4 x 4 y 4 x 3 y 4 x 2 y 4 x y 4 x y 4 P4 x 7 y 5 x 6 y 5 x 5 y 5 x 4 y 5 x 3 y 5 x 2 y 5 x y 5 x y 5 P5 x 7 y 6 x 6 y 6 x 5 y 6 x 4 y 6 x 3 y 6 x 2 y 6 x y 6 x y 6 P6 x 7 y 7 x 6 y 7 x 5 y 7 x 4 y 7 x 3 y 7 x 2 y 7 x y 7 x y 7 P7 Q 5 Q 4 Q 3 Q 2 Q Q Q 9 Q 8 Q 7 Q 6 Q 5 Q 4 Q 3 Q 2 Q Q Součtem P+P+...+P7 získáme výsledek součinu X a Y. Q = X.Y = P + P P7 AM36APO Architektury počítačů 55

56 Rychlá násobička podle Walaceova stromu Jeím stavebním prvkem e sčítačka s uchováním přenosu CSA (Carry Save Adder) & & & S = S b + C S b i = x i y i z i C i+ = x i y i + y i z i + z i x i AM36APO Architektury počítačů 56

57 HW dělička algoritmus dělení AM36APO Architektury počítačů 57

58 Sekvenční HW dělička (varianta 32b) dělenec = podíl dělitel + zbytek AC MQ AM36APO Architektury počítačů 58

59 Algoritmus dělení MQ = dělenec; B = dělitel; (Podmínka: dělitel různý od!) AC = ; for( int i=; i <= n; i++) { SL (posuň registr AC MQ o ednu pozici vlevo, přičemž vpravo se připíše nula) } if(ac >= B) { AC = AC B; MQ = ; // nenižší bit registru MQ se nastaví na } Nyní registr MQ obsahue podíl a zbytek e v AC AM36APO Architektury počítačů 59

60 Příklad x/y Dělenec x= a dělitel y= i operace AC MQ B komentář prvotní nastavení SL nic podmínka if není splněna 2 SL podmínka if není splněna 3 SL r y AC= AC B; MQ = ; 4 SL r y AC= AC B; MQ = ; konec cyklu x : y = : = zbytek, ( : 3 = 3 zbytek ) AM36APO Architektury počítačů 6

61 Dělička celých čísel - blokově AM36APO Architektury počítačů 6

62 Čísla INTEGER se znaménkem IV. Je i iná možnost pro zobrazení čísel se znaménkem? Ano, dokonce často používaná (viz dále): kód aditivní (inak zvaný s posunutou nulou ). Připomenutí: Z e modul AM36APO Architektury počítačů 62

63 Sčítání a odčítání v aditivním kódu Platí: Detekce přeplnění sčítání: stená znaménka sčítanců a iné znaménko výsledku, odčítání: znaménka menšence a menšitele se liší a liší se znaménka menšence a výsledku. AM36APO Architektury počítačů 63

64 Jak se v počítači zobrazuí čísla typu REAL? Vědecká, neboli semilogaritmická notace. Dvoice: EXPONENT (E), ZLOMKOVÁ část (nazývaná též mantisa M). Mantisa x zaklad Exponent Notace e normalizovaná. Zlomková část vždy začíná binární číslicí, Obecně: nenulovou číslicí. Dekadicky: 7,26478 x 3 Binárně:, x 2 AM36APO Architektury počítačů 64

65 HW/SW interfes Normalizováno ako IEEE754 ve verzích Jednoduchá, Dvonásobná přesnost. V programovacím azyce C se deklarue ako float a double. AM36APO Architektury počítačů 65

66 Příklady binárně Znaménko M Poloha řádové čárky (tečky) pro E i M AM36APO Architektury počítačů 66

67 Formát čísla v pohyblivé řádové čárce Kód mantisy: přímý kód znaménko a absolutní hodnota Kód exponentu: aditivní kód (s posunutou nulou). Znaménko M Poloha řádové čárky (tečky) pro E i M AM36APO Architektury počítačů 67

68 Příklady reprezentace některých důležitých hodnot Nula Nekonečno Některé kraní hodnoty AM36APO Architektury počítačů 68

69 Denormalizované číslo? Smyslem zavedení denormalizovaných čísel e rozšíření reprezentovatelnosti čísel, která se nacházeí blíže k nule, tedy čísel velmi malých (v následuícím obrázku oblast označena modře). Denormalizovaná čísla maí nulový exponent a i skrytý bit před řádovou čárkou e implicitně nulový. Cenou e nutnost speciálního ošetření případu nulový exponent, nenulová mantisa. AM36APO Architektury počítačů 69

70 Podtečení Jde o situaci, kdy zobrazované číslo není rovno nule, ale nedosahue hodnoty nemenšího zobrazitelného normalizovaného čísla. Mnoha podtečením normalizovaných čísel lze předeít právě implementací čísel denormalizovaných. podtečení oblast zobrazitelných čísel nemenší kladné číslo - denormalizované normalizované AM36APO Architektury počítačů 7

71 NaN Samé edničky v exponentu, Mantisa e nenulová. V tom případě není bitový řetězec obrazem žádného čísla, anglicky Not-a-Number, Nan. AM36APO Architektury počítačů 7

72 Shrnutí zobrazitelná čísla a výimky AM36APO Architektury počítačů 72

73 ANSI/IEEE Std formáty 32b a 64b ANSI/IEEE Std dvoity format 64b g... b f... 52b AM36APO Architektury počítačů 73

74 Skrytý bit Nevyšší platný bit mantisy (který se do bitové reprezentace operandu neukládá) e závislý na hodnotě obrazu exponentu. Jestliže e obraz exponentu nenulový, e tento bit, mluvíme o normalizovanýchčíslech. Na druhou stranu estliže e obraz exponentu nulový, e skrytý bit. Pak mluvíme o denormalizovaném čísle. AM36APO Architektury počítačů 74

75 Porovnání dvou čísel ve FP Porovnání: e-li A B A B. Obrazy čísel A a B se odečtou ako čísla v přímém kódu a v pevné řádová čárce. To e výhodou zvoleného zobrazení čísel. Nebo e eště iný způsob? AM36APO Architektury počítačů 75

76 Algoritmus sčítání v pohyblivé řádové čárce Ma x 2 Ea + Mb x 2 Eb Odečteme exponenty. Mantisu čísla s menším exponentem posuneme doprava o počet bitů, který e roven rozdílu exponentů. Sečteme mantisy obou čísel. Určíme počet nul mezi řádovou čárkou a první platnou číslicí součtu mantis. Posuneme součet doleva o tolik míst, kolik nul bylo nalezeno za řádovou čárkou. Zmenšíme původní exponent o počet nalezených nul. Zaokrouhlíme. AM36APO Architektury počítačů 76

77 HW FP sčítačky AM36APO Architektury počítačů 77

78 Násobení čísel v pohyblivé řádové čárce Exponenty sečteme. Mantisy vynásobíme. Normalizueme. Zaokrouhlíme. HW FP násobičky e srovnatelně složitý, ako FP sčítačky. Jen má namísto sčítačky násobičku. AM36APO Architektury počítačů 78

79 Iterační dělička - Goldschmidt Q N m m en N N e = = = 2 ed D md 2 md Pokud sou čísla v normalizovaném tvaru, pak platí: m N =.???????...? a m D =.???????...? tzn. m N, m D < 2 pokud uvažueme celou mantisu, nebo,5 m N, m D < pokud bereme pouze zlomkovou část. Uvažume pouze zlomkovou část (za desetinnou čárkou). Zřemě můžeme m D přepsat do tvaru: m D =-x, kde < x,5 2 N e D Jakou hodnotu má x? Spočíteme i: x=- m D Zvolme F = +x. Všimněme si akou vlastnost bude mít m D *F AM36APO Architektury počítačů 79

80 Iterační dělička - Goldschmidt Pokud budeme volit Fi tak, aby menovatel konvergoval k, bude čitatel konvergovat k podílu mantis. Pokud F =+x. Potom m D *F = (-x)*(+x) = -x 2 D N D N D N e e D N e e D N e D e N F m F m m m m m D N Q = = = = AM36APO Architektury počítačů 8 ) )...( )( ( i x x x m F F F F m F F F F m F F F F m m m N N D N D N = = Zvolme F =+x 2. Potom m D *F *F = (-x 2 )*(+x 2 ) = -x 4

81 Iterační dělička Goldschmidt vylepšená verze S rostoucím x ( < x,5) se konvergence zhoršue. Pokud x ==.5 e nehorší. Jinými slovy, pro fixní počet iterací se snižue přesnost výsledku. Modifikace Goldschmidtova algoritmu spočívá v odhadu (nepřesném) převrácené hodnoty K hodnoty m D z look-up tabulky podle několika málo prvních bitů ( ). Místo původního x=- m D počítáme s x=- Km D mn 2 mn K( + x)( + x )...( + x m D Tato dělička se používá v moderních CPU. Kontrolní otazka: Můžeme tuto deličku použít i pro INTEGER? 2 i ) AM36APO Architektury počítačů 8

82 Nadete všechny chyby v programu? Chceme napsat program pro zištění součtu: N i= i 2 #include <stdio.h> int main() { int i, sum=; for(i=; i<= ^; i++) sum += /i*i; printf( Soucet e: %d,sum); return ; } AM36APO Architektury počítačů 82

83 Nadete všechny chyby v programu? Který způsob e nevýhodněší? N i= i= i= = 2 i i= N = 2 i N i= ( N i + ) , 2 i i 2 typ double pro oba případy.. Proč se liší? AM36APO Architektury počítačů 83

84 Překvapení na závěr??? #include <stdio.h> int main() { float x; x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); x = ; printf("%.3lf\n", x); return ; } AM36APO Architektury počítačů 84

Architektura počítačů

Architektura počítačů Architektura počítačů Počítačová aritmetika Miroslav Šnorek, Michal Štepanovský, Pavel Píša Častá inspirace: X36JPO, A. Pluháček České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektura

Více

Architektury počítačů

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é

Více

Aritmetické operace a obvody pro jejich realizaci

Aritmetické operace a obvody pro jejich realizaci Kapitola 4 Aritmetické operace a obvody pro jejich realizaci 4.1 Polyadické číselné soustavy a jejich vlastnosti Polyadické soustavy jsou určeny přirozeným číslem z, kterému se říká základ nebo báze dané

Více

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly Počítačové systémy Zobrazení čísel v počítači Miroslav Flídr Počítačové systémy LS 2007-1/21- Západočeská univerzita v Plzni Vážený poziční kód Obecný předpis čísla vyjádřeného v pozičním systému: C =

Více

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Čí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

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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)

Více

Struktura a architektura počítačů (BI-SAP) 6

Struktura a architektura počítačů (BI-SAP) 6 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 6 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

v aritmetické jednotce počíta

v aritmetické jednotce počíta v aritmetické jednotce počíta tače (Opakování) Dvojková, osmičková a šestnáctková soustava () Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. 2 A 3 Doplněné nuly B Číslo

Více

Struktura a architektura počítačů (BI-SAP) 5

Struktura a architektura počítačů (BI-SAP) 5 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

E. Pohyblivářádováčárka

E. Pohyblivářádováčárka E. Pohyblivářádováčárka pevná a pohyblivá řádová čárka formát US Air Force MIL-STD-1750A základní operace normalizace přetečení a nenaplnění formátbflm 1 přímý kód sčítání a odčítání násobení, dělení a

Více

C2115 Praktický úvod do superpočítání

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

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Procesor V přednášce byly použity (se souhlasem vydavatelství) obrázky z knihy Paterson, D., Henessy, V.: Computer Organization and Design, The HW/SW Interface. Elsevier, ISBN: 978--2-3766-5

Více

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně Čísla v plovoucířádovéčárce INP 2008 FIT VUT v Brně Čísla v pevné vs plovoucí řádové čárce Pevnářádováčárka FX bez desetinné části (8 bitů) Přímý kód: 0 až 255 Doplňkový kód: -128 až 127 aj. s desetinnou

Více

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša 35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša http://dce.felk.cvut.cz/pos/ 1 Obsah předmětu Architektura počítače počítač jako prostředek řízení struktura a organizace

Více

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é 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

Více

Architektury počítačů

Architektury počítačů Architektury počítačů Počítačová aritmetika Richard Šusta, Pavel Píša České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.00 2019 1 Důležitá poznámka úvodem Cíl

Více

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody. Y36SAP Číselné soustavy a kódy, převody, aritmetické operace Tomáš Brabec, Miroslav Skrbek - X36SKD-cvičení. Úpravy pro SAP Hana Kubátová Osnova Poziční číselné soustavy a převody Dvojková soust., převod

Více

Mikroprocesorová technika (BMPT)

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í

Více

Pohled do nitra mikroprocesoru Josef Horálek

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á

Více

Čísla a číselné soustavy.

Čísla a číselné soustavy. Čísla a číselné soustavy. Polyadické soustavy. Převody mezi soustavami. Reprezentace čísel. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.

Více

Násobení. MI-AAK(Aritmetika a kódy)

Násobení. MI-AAK(Aritmetika a kódy) MI-AAK(Aritmetika a kódy) Násobení c doc. Ing. Alois Pluháček, CSc., 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha&

Více

Fz =a z + a z +...+a z +a z =

Fz =a z + a z +...+a z +a z = Polyadické číselné soustavy - převody M-místná skupina prvků se z-stavovou abecedou umožňuje zobrazit z m čísel. Zjistíme, že stačí vhodně zvolit číslo m, abychom mohli zobrazit libovolné číslo menší než

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5 Obsah Obsah 1 Číselné soustavy 1 2 Paměť počítače 1 2.1 Měření objemu paměti počítače................... 1 3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače................. 3 4 Problémy

Více

Číselné soustavy. Binární číselná soustava

Číselné soustavy. Binární číselná soustava 12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované

Více

Struktura a architektura počítačů

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á

Více

Principy počítačů I Reprezentace dat

Principy počítačů I Reprezentace dat Principy počítačů I Reprezentace dat snímek 1 Principy počítačů Část III Reprezentace dat VJJ 1 snímek 2 Symbolika musí být srozumitelná pro stroj, snadno reprezentovatelná pomocí fyzikálních veličin vhodně

Více

Y36SAP - aritmetika. Osnova

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

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 5 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

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

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Základní invertor v technologii CMOS dva tranzistory: T1 vodivostní kanál typ N T2 vodivostní kanál typ P při u VST = H nebo L je klidový proud velmi malý

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Počítačová aritmetika a úvod Pavel Píša, Michal Štepanovský, Miroslav Šnorek České vysoké učení technické, Fakulta elektrotechnická Ver.2.0 1 Základní cíl předmětu Cíl je porozumět

Více

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing. Číslo projektu Číslo materiálu Název školy Autor Tematická oblast Ročník CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné

Více

PB002 Základy informačních technologií

PB002 Základy informačních technologií Operační systémy 25. září 2012 Struktura přednašky 1 Číselné soustavy 2 Reprezentace čísel 3 Operační systémy historie 4 OS - základní složky 5 Procesy Číselné soustavy 1 Dle základu: dvojková, osmičková,

Více

Struktura a architektura počítačů

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á

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Data a datové typy 1 / 28 Obsah přednášky Základní datové typy Celá čísla Reálná čísla Znaky 2 / 28 Organizace dat Výběr vhodné datvé struktry různá paměťová náročnost různá

Více

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Aritmetika v počítači Zimní semestr 2011/2012 Úvod Jak hardware provádí aritmetické operace? sčítání/odčítání, násobení a dělení Co když výsledek operace nelze reprezentovat?

Více

Algoritmizace a programování

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

Více

B. Sčítání,odčítání adoplňkovýkód

B. Sčítání,odčítání adoplňkovýkód B. Sčítání,odčítání adoplňkovýkód číselné soustavy a řádová mřížka sčítání a odčítání racionálních a celých čísel úplná a poloviční sčítačka sčítačka s postupným šířením přenosu a s predikcí přenosů sčítání

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují. 7 Celá čísla Pro práci s celými čísly jsou v Javě typy byte, short, int a long. Všechny jsou znaménkové (připouštějí záporné hodnoty) a všechny používají doplňkový kód. Doplňkový kód definuje, jak jsou

Více

Profilová část maturitní zkoušky 2014/2015

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

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 4 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2014, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Úvod do programování 7. hodina

Úvod do programování 7. hodina Úvod do programování 7. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Syntax Znaky Vlastní implementace

Více

BI-JPO (Jednotky počítače) Cvičení

BI-JPO (Jednotky počítače) Cvičení BI-JPO (Jednotky počítače) Cvičení Ing. Pavel Kubalík, Ph.D., 2010 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

Operace ALU. INP 2008 FIT VUT v Brně

Operace ALU. INP 2008 FIT VUT v Brně Operace ALU INP 2008 FIT VUT v Brně 1 Princip ALU (FX) Požadavky: Logické operace Sčítání (v doplňkovém kódu) Posuvy/rotace Násobení ělení B A not AN OR XOR + Y 1) Implementace logických operací je zřejmá

Více

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika amortizovaná složitost, Fibonacciho halda, počítačová aritmetika Jiří Vyskočil, Marko Genyg-Berezovskyj 2009 Amortizovaná složitost Asymptotická složitost často dostatečně nevypovídá o složitosti algoritmů,

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Profilová část maturitní zkoušky 2015/2016

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

Více

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ Sčítání binárních čísel Binární čísla je možné sčítat stejným způsobem, jakým sčítáme čísla desítková. Příklad je uveden v tabulce níže. K přenosu jedničky do vyššího řádu dojde tehdy, jeli výsledkem součtu

Více

Aplikovaná numerická matematika

Aplikovaná numerická matematika Aplikovaná numerická matematika 1. Úvod do ANM doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

Datové typy a jejich reprezentace v počítači.

Datové typy a jejich reprezentace v počítači. Datové typy a jejich reprezentace v počítači. Celá čísla. Reálná čísla. Semilogaritmický tvar. Komplexní čísla. Řetězce. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie,

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 Úvodní obrazovka Menu Návrat na hlavní stránku Obsah Výsledky Poznámky Záložky edunet Konec Matematika 1 (pro 9-12 let) LangMaster Obsah (střední část) výběr tématu - dvojklikem v seznamu témat (horní

Více

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači 1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači 2. Reprezentace čísel v Pascalu celá čísla Typ Rozsah Formát shortint 128..127

Více

Paměťový podsystém počítače

Paměťový podsystém počítače Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...

Více

Strojový kód. Instrukce počítače

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

Více

5 Přehled operátorů, příkazy, přetypování

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í

Více

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů Výrazy podle priority operátorů (od nejnižší priority) OPERANDY OPERÁTORY výraz = jednoduché výrazy a relační operátory

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 38 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 2 3 4 5 6 2 / 38 2 / 38 čárkou Definition 1 Bud základ β N pevně dané číslo β 2, x bud reálné číslo s

Více

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

Více

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

Více

Procesor z pohledu programátora

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

Více

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů. Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,

Více

SEKVENČNÍ LOGICKÉ OBVODY

SEKVENČNÍ LOGICKÉ OBVODY Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních

Více

Operace v FP a iterační algoritmy. INP 2008 FIT VUT v Brně

Operace v FP a iterační algoritmy. INP 2008 FIT VUT v Brně Operace v FP a iterační algoritmy INP 2008 FIT VUT v Brně 1 Operace FP Číslo X s pohyblivou řádovou čárkou X = M X.B Ex zapíšeme jako dvojici (M X, E X ), kde mantisa M X je ve dvojkovém doplňkovém kódu,

Více

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové. Příprava na cvčení č.1 Čísla a artmetka Číselné soustavy Obraz čísla A v soustavě o základu z: m A ( Z ) a z (1) n kde: a je symbol (číslce) z je základ m je počet řádových míst, na kterých má základ kladný

Více

Architektury počítačů a procesorů

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í

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

Více

Reprezentace dat. INP 2008 FIT VUT v Brně

Reprezentace dat. INP 2008 FIT VUT v Brně Reprezentace dat INP 2008 FIT VUT v Brně Pojem kód a typy kódů Definice: Kód je vzájemně jednoznačné přiřazení mezi symboly dvou množin. (Tedy tabulka.) Přehled kódů pro reprezentaci dat: Data můžeme rozdělit

Více

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

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

Více

REPREZENTACE DAT. Principy počítačů I. Literatura. Literály. Typy dat. Literály. Čísla Instrukce. Znaky. Logické hodnoty

REPREZENTACE DAT. Principy počítačů I. Literatura. Literály. Typy dat. Literály. Čísla Instrukce. Znaky. Logické hodnoty Principy počítačů I REPREZENTACE DAT Literatura D.Goldberg: What Every Computer Scientist Should Know About Floating-Point Arithmetic IA-32 Intel Architecture Software Developer s Manual (Vol. Basic Architecture)

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Už známe datové typy pro representaci celých čísel i typy pro representaci

Už známe datové typy pro representaci celých čísel i typy pro representaci Dlouhá čísla Tomáš Holan, dlouha.txt, Verse: 19. února 2006. Už známe datové typy pro representaci celých čísel i typy pro representaci desetinných čísel. Co ale dělat, když nám žádný z dostupných datových

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

Elementární datové typy

Elementární datové typy Elementární datové typy Celočíselné typy (integers) Mohou nabývat množiny hodnot, která je podmnožinou celých čísel (někdy existuje implementační konstanta maxint). Operace: aritmetické, relační, bitové,

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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.

Více

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Reprezentace reálnách čísel v počítači Reálná čísla jsou v počítači reprezentována jako čísla tvaru ±x

Více

Č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. 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á

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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.

Více

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

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

Více

Čísla v počítači Výpočetní technika I

Čísla v počítači Výpočetní technika I .. Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně pavel.haluza@mendelu.cz Osnova přednášky ergonomie údržba počítače poziční a nepoziční soustavy převody mezi aritmetické operace

Více

Počítač jako prostředek řízení. Struktura a organizace počítače

Počítač jako prostředek řízení. Struktura a organizace počítače Řídicí počítače - pro řízení technologických procesů. Specielní přídavná zařízení - I/O, přerušovací systém, reálný čas, Č/A a A/Č převodníky a j. s obsluhou - operátorské periferie bez obsluhy - operátorský

Více

Dělení. MI-AAK(Aritmetika a kódy)

Dělení. MI-AAK(Aritmetika a kódy) MI-AAK(Aritmetika a kódy) Dělení c doc. Ing. Alois Pluháček, CSc., 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha& EU:

Více

Architektura počítačů

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

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

Více

Rozšiřování = vynásobení čitatele i jmenovatele stejným číslem různým od nuly

Rozšiřování = vynásobení čitatele i jmenovatele stejným číslem různým od nuly Rozšiřování a krácení zlomků Rozšiřování vynásobení čitatele i jmenovatele stejným číslem různým od nuly rozšířený zlomek vznikl tak, že jsme čitatel i jmenovatel původního zlomku vynásobili číslem rozšířený

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

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

Více

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

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

Více

ČÍSELNÉ SOUSTAVY PŘEVODY

ČÍSELNÉ SOUSTAVY PŘEVODY ČÍSELNÉ SOUSTAVY V každodenním životě je soustava desítková (decimální, dekadická) o základu Z=10. Tato soustava používá číslice 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9, není však vhodná pro počítače nebo číslicové

Více

LOGICKÉ OBVODY X36LOB

LOGICKÉ OBVODY X36LOB LOGICKÉ OBVODY X36LOB Doc. Ing. Hana Kubátová, CSc. Katedra počítačů FEL ČVUT v Praze 26.9.2008 Logické obvody - 1 - Úvod 1 Obsah a cíle předmětu Číslicový návrh (digital design) Číslicové obvody logické

Více

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-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ů

Více