Architektury počítačů
|
|
- Petr Staněk
- před 6 lety
- Počet zobrazení:
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čů 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íceArchitektury 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íceAritmetické 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íceZá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
Ú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íceData 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íceStruktura 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ícev 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íceStruktura 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íceE. 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íceC2115 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íceArchitektura 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 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íce35POS 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íceJak 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íceArchitektury 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íceY36SAP. 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íceMikroprocesorová 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ícePohled 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. 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íceNá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íceFz =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íceAlgoritmy 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íce3 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
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íceStruktura 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ícePrincipy 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íceY36SAP - 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 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íceAhoj 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íceArchitektura 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íceDigitá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íceArchitektura 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íceVY_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ícePB002 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íceStruktura 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íceAlgoritmy 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ícePJC 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ícePrincipy 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íceAlgoritmizace 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íceB. 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íceArchitektura 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?
Čí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í.
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íceProfilová čá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íceRacioná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 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 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íceBI-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íce1.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íceOperace 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ícePokroč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íceRacioná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íceAplikovaná 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íceProfilová čá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íceARITMETICKÉ 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íceAplikovaná 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íceZá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íceDatové 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íceZŠ Ú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íce1. 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ícePaměť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íceStrojový 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íce5 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íceVÝ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íceFaculty 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íceOperá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íceInformatika 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íceProcesor 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ů.
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íceSEKVENČ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íceOperace 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é.
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íceArchitektury 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íceFaculty 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íceReprezentace 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íceProcesor. 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íceREPREZENTACE 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íceZpů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íceUž 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íceObsah. 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íceElementá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íce1. 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íceProgramová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 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íce1. 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íceOpaková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íceNSWI /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
.. 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ícePočí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íceDě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íceArchitektura 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íceAlgoritmizace 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íceRozš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íceZÁ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íceJan 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 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íceLOGICKÉ 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íce4-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