seln soustavy Kolika zpsoby je mon zapsat jedno
Číselné soustavy • Kolika způsoby je možné zapsat jedno číslo? Nekonečně mnoho způsobů . Nepoziční číselné soustavy Počet čárek = 47 10 5 1 Římské číslice I=1 C = 100 V=5 X = 10 L = 50 D = 500 M = 1000 MDCCXI = 1711 IX = 9 IV = 4 Poziční číselné soustavy V rámci projektu „Cesta k vědě“ (veda. gymjs. net) vytvořil V. Pospíšil (vladimir. pospisil@fjfi. cvut. cz). Modifikace a šíření dokumentu podléhá licenci GNU ( www. gnu. org).
Číselné soustavy Nejpoužívanější poziční číselná soustava je desítkový zápis. Používáme v něm arabských cifer 0 -9 a jejich poloha čísel udává význam: 20856 2*104 + 0*103 + 8*102 + 5*101 + 6*100 desetitisíce stovky desítky kde každé ai nabývá hodnoty 0 -9, tedy jedné z deseti možností. jednotky
Číselné soustavy Toto schéma lze zobecnit: kde každé ai nabývá hodnoty 0, 1, …, 9, A, B, C, … - tedy jedné ze Z možností. různých Z symbolů Jako Z (základ) můžeme použít libovolné přirozené číslo, nepoužívanější jsou osmičková soustava šestnáctková soustava dvojková soustava
Číselné soustavy Příklad Převeďte do desítková soustavy čísla 207, 72501, 33215 z osmičkové soustavy 2 F, BA 72, 1 F 2 A z šestnáctkové soustavy 1011, 1101001 z dvojkové soustavy osmičková soustava 207 8 = 7 x 1 + 0 x 8 + 2 x 64 = 7 + 128 = 135 72501 8 = 1 x 1 + 0 x 8 + 5 x 64 + 2 x 512 + 7 x 4096 = 1 + 320 + 1024 + + 28672 = 30017 33215 8 = 5 x 1 + 1 x 8 + 2 x 64 + 3 x 512 + 3 x 4096 = 5 + 8 + 128 + 1536 + + 12288 = 13965
Číselné soustavy Příklad Převeďte do desítková soustavy čísla 207, 72501, 33215 z osmičkové soustavy 2 F, BA 72, 1 F 2 A z šestnáctkové soustavy 1011, 1101001 z dvojkové soustavy šestnáctková soustava 2 F 16 = Fx 1 + 2 x 16 = 15 + 32 = 47 BA 72 16 = 2 x 1 + 7 x 16 + Ax 256 + Bx 4096 = 2 x 1 + 7 x 16 + 10 x 256 + 11 x 4096 = = 2 + 112 + 2560 + 45056 = 47730 1 F 2 A 16 = Ax 1 + 2 x 16 + Fx 256 + 1 x 4096 = 10 x 1 + 2 x 16 + 15 x 256 + 1 x 4096 = = 10 + 32 + 3840 + 4096 = 7978
Číselné soustavy Příklad Převeďte do desítková soustavy čísla 207, 72501, 33215 z osmičkové soustavy 2 F, BA 72, 1 F 2 A z šestnáctkové soustavy 1011, 1101001 z dvojkové soustavy dvojková soustava 1011 2 = 1 x 1 + 1 x 2 + 0 x 4 + 1 x 8 = 1 + 2 + 8 = 11 1101001 2 = 1 x 1 + 0 x 2 + 0 x 4 + 1 x 8 + 0 x 16 + 1 x 32 + 1 x 64 = = 1 + 8 + 32 + 64 = 105
Číselné soustavy Příklad Převeďte do desítková čísla 35, 1280 do osmičkové soustavy 15, 789, 32565 do šestnáctkové soustavy 128, 112, 223 do dvojkové soustavy osmičková soustava 35 < 64 Třetí a vyšší cifra bude vždy nulová. První nenulový symbol se vyskytne na druhém místě. Číslo dělíme hodnotou tohoto platného místa, výsledek je příslušná cifra. Zbytek po dělení přesuneme k vedlejšímu nižšímu místu a postup zopakujeme. To děláme tak dlouho, dokud nevyjde zbytek nulový. Zbylé cifry jsou pak všechny nulové. 35 : 8 = 4, zbytek 3 3 : 1 = 3, zbytek 0 35 = 43 8
Číselné soustavy Příklad Převeďte do desítková čísla 35, 1280 do osmičkové soustavy 15, 789, 32565 do šestnáctkové soustavy 128, 112, 223 do dvojkové soustavy osmičková soustava 125 < 512 125 : 64 = 1, zbytek 61 61 : 8 = 7, zbytek 5 5 : 1 = 5, zbytek 0 125 = 175 8
Číselné soustavy Příklad Převeďte do desítková čísla 35, 1280 do osmičkové soustavy 15, 789, 32565 do šestnáctkové soustavy 128, 112, 223 do dvojkové soustavy osmičková soustava 1280 < 4096 1280 : 512 = 2, zbytek 256 : 64 = 4, zbytek 0 1280 = 2400 8
Číselné soustavy Příklad Převeďte do desítková čísla 35, 1280 do osmičkové soustavy 15, 789, 32565 do šestnáctkové soustavy 128, 112, 223 do dvojkové soustavy šestnáctková soustava 15 = F 16 pozn. : většinou se píší alespoň dvě cifry, tedy 15 = 0 F 789 : 256 = 3, zbytek 21 21 : 16 = 1, zbytek 5 tj. 789 = 315 16 32565 : 4096 = 7, zbytek 3893 : 256 = 15, zbytek 53 53 : 16 = 3, zbytek 5 tj. 32565 = 7 F 35 16 16
Číselné soustavy Příklad Převeďte do desítková čísla 35, 1280 do osmičkové soustavy 15, 789, 32565 do šestnáctkové soustavy 128, 112, 223 do dvojkové soustavy dvojková soustava 128 : 128 = 1, zbytek 0 tj. 128 = 10000000 2 112 : 64 = 1, zbytek 48 48 : 32 = 1, zbytek 16 16 : 16 = 1, zb. 0 tj. 112 = 01110000 2 pozn. : bývá zvykem psát dvojková čísla ve 4 -násobcích cifer (4 cifry, 8 cifer atd. ) 223 : 128 = 1, zbytek 95 31 : 16 = 1, zbytek 15 3 : 2 = 1, zbytek 1 95 : 64 = 1, zbytek 31 15 : 8 = 1, zbytek 7 1 : 1 = 1, zbytek 0 31 : 32 = 0, zbytek 31 7 : 4 = 1, zbytek 3 tj. 223 = 11011111 2
Analogové a digitální zpracování dat Vstup dat Elektrický signál Toto je analogový signál. Data (obraz) jsou zde zakódována velikostí napětí. V nejjednodušším případě čím vyšší napětí, tím vyšší jas obrazového bodu. Pokud někde cestou vznikne parazitní signál (šum), analogové obvody jej svědomitě přenášejí dále. Při delším zpracování může analogový signál ztratit na kvalitě. Elektromagnetická vlna
Analogové a digitální zpracování dat Vstup dat Elektrický signál Analogově digitální převodník • Velikost napětí se převede na číslo • Číslo je zaznamenáno ve dvojkové soustavě • Jedničky a nuly jsou převedeny na napětí (0 – žádné napětí, 1 – maximální napětí) Digitální elektrický signál Šumy jsou malé a pravděpodobnost, že změní v signálu nulu (žádné napětí) na jedničku (velké napětí) či obráceně je mizivá. Digitální signál či záznam při zpracování nedegradují.
Proč počítače pracují digitálně Pro výpočty je možné v principu použít i analogový model. S elektrickým signálem lze pracovat podobně jako s číslem – signály lze sčítat, odčítat, násobit, porovnávat a podobně. Nicméně právě citlivost na šumy a různé okolní jevy odsoudila analogové počítače (vlevo) do zapomnění. Digitální model (dvojková soustava) má další obrovskou výhodu – snadno se realizuje. Již v prvních počítačích na bázi elektrických relé šlo přiřadit cifrám dvojkové soustavy 1 – zapnuto, 0 – vypnuto. Analogový počítač
Proč počítače pracují digitálně Zapnuto - 1 - + Vypnuto - 0 Zapnuto - 1 - - + + 0 Zapnuto - 1 Vypnuto - 0
von Neumannův stroj Architektura současných počítačů vychází z koncepce tzv. von Neumannova stroje. John von Neumann (Neumann János) byl Maďarský matematik židovského původu, který značnou měrou přispěl k oborům jako jsou kvantová fyzika, funkcionální analýza, teorie množin, ekonomika, informatika, numerická analýza, hydrodynamika, statistika, a mnoho dalsích matematických disciplín. Nejvýznamnější jsou jeho objevy jako průkopníka digitálních počítačů a operační teorie kvantové mechaniky (takzvaná Von Neumannova algebra), tvůrce teorie her a konceptu buňkového automatu. Spolu s Edwardem Tellerem a Stanislawem Ulamem se zabýval jadernou fyzikou, kde vytvořili základní předpoklady termonukleárních reakcí a vodíkové bomby. Koncepci výpočetního stroje, podle které jsou konstruovány všechny počítače dodnes, formuloval roku 1946. John von Neumann 1903 - 1957
Schéma von Neumannova stroje 1) Do operační paměti se pomocí vstupních zařízení přes ALU umístí program, který bude provádět výpočet. 2) Stejným způsobem se do operační paměti umístí data, která bude program zpracovávat 3) Proběhne vlastní výpočet, jehož jednotlivé kroky provádí ALU. Tato jednotka je v průběhu výpočtu spolu s ostatními moduly řízena řadičem počítače. Mezivýsledky výpočtu jsou ukládány do operační paměti. 4) Po skončení výpočtu jsou výsledky poslány přes ALU na výstupní zařízení. Operační paměť - uchování programu, dat a výsledku výpočtu ALU - provádí veškeré aritmetické výpočty a logické operace. Řadič - řídí činnost všech částí počítače Vstupní zařízení - pro vstup programu a dat Výstupní zařízení - pro výstup výsledku
von Neumannův stroj • 5 funkčních jednotek – řídící jednotka, aritmeticko-logická jednotka, paměť, vstupní zařízení výstupní zařízení • Programy a data jsou v operační paměti (nenačítají se z vnější paměti v průběhu výpočtu), jednotné kódování - k programům lze přistupovat jako k datům, umožnilo univerzalitu počítače, bezproblémové zavedení cyklů a podmíněného větvení) • Struktura je nezávislá od zpracovávaných problémů, na řešení problému se musí zvenčí zavést návod na zpracování, program a musí se uložit do paměti, bez tohoto programu není stroj schopen práce • Programy, data, mezivýsledky a konečné výsledky se ukládají do téže paměti • Paměť je rozdělená na stejně velké buňky, které jsou průběžně očíslované, přes číslo buňky (adresu) se dá přečíst nebo změnit obsah buňky • Přímé adresování (přístup) - v libovolném okamžiku přístupná kterákoliv buňka paměti • Po sobě jdoucí instrukce programu se uloží do paměťových buněk jdoucích po sobě, přístup k následující instrukci se uskuteční z řídící jednotky zvýšením instrukční adresy o 1 • Instrukcemi skoku se dá odklonit od zpracování instrukcí v uloženém pořadí • Všechna data (instrukce, adresy, …) jsou binárně kódované, správné dekódování zabezpečují vhodné logické obvody v řídící jednotce
Co mají dnešní počítače navíc Vstupy a výstupy jsou umožněny i za běhu programu – lze tedy zísávat mezivýsledky a řídit běh programu například z klávesnice. Současné procesory umožňují multitasking – tj. umí zpracovávat více úloh najednou. Dnešní počítače mohou být víceprocesorové – jednotek ALU mají tedy několik.
Paměť a procesor Současné RAM uchovávají data pomocí náboje na kondenzátoru. Náboj je přítomen – 1, náboj není přítomen – 0. Zápis a čtení probíhá pomocí adresového vodiče, kterým se otevírá či uzavírá příslušný tranzistor. Datový vodič pak přivede nebo odvede náboj z kondenzátoru. adresový vodič datový vodič tranzistor kondenzátor Buňky jsou v paměti uspořádány po skupinách na společných adresových a datových vodičích. K těmto skupinám se přistupuje najednou. Zjednodušené schéma je zde: napětí 1 0 1 1 0 0 1 1 binární kód uschovaný v příslušné řadě buněk
Paměť a procesor 35448 : 1 0 0 0 1 1 35449 : 1 1 0 0 0 1 35450 : 35451 : 35452 : 0 1 0 1 RAM je organizována po skupinách osmi jedniček/nul. To reprezentuje ve dvojkové soustavě celé číslo z intervalu 0 – 255. Tato skupina se nazývá byte, základní buňka bit. Každý byte v paměti má své číslo, podle kterého jej lze vyhledat. Je-li potřeba uložit do paměti větší číslo než 255, použije se k tomu několik byte. Ve dvou byte lze uschovat celé číslo z intervalu 0 – 65 535, ve třech byte číslo z intervalu 0 – 16 777 215 a ve čtyřech byte číslo z intervalu 0 – 4 294 967 295.
Paměť a procesor 35448 : 1 0 0 0 1 1 35449 : 1 1 0 0 0 1 35450 : 35451 : 35452 : 0 1 0 1 Hodinový takt (operace za sekundu) [Hz] Generátor přerušení (klávesnice) - IRQ programové instrukce práce s daty procesor
Sběrnice a komponenty procesor ALU Registry mov ax, bp sub ax, 4 push ax push offset text 2 call _scanf pop ax mov ax, word ptr [bp-2] add ax, word ptr [bp-4] Paměť L 1 (cache) Paměť L 2 (cache) RAM AGP/PCIe sběrnice Další zařízení (PC/2, USB) PCI IDE/SATA
Hardware, firmware, OS, software • Co z toho musím znát, když chci napsat dopis? Odpověď : nic. Mezi uživatelem a hardware je několik „vrstev“, které umožňují pracovat i člověku, jež není systémový programátor. MS Word Software Win, Linux Op. Systém 1001011010101 Firmware Hardware Operační systém umožňuje komunikaci s HW na vyšší úrovni. Dovede definovat skupinu dat (soubor) a uložit je někam na disk, aniž by se uživatel staral o čísla. Firmware je určitý druh programu umožňující univerzální přístup k HW. Například dle čísla plotny, stopy a sektoru vrátí data z disku jako číslo. Hardware pracuje s napětím a elektrickými signály. Např. pevný disk ukládá data v podobě magnetických domén na mechanické plotně.
- Slides: 24