Principy Počítačů
- Zjednodušené schéma počítače
- Historie
- Kódování informace v počítači
- Dohoda přenosu
- Typy přenosu
- Komunikační protokol
- Binární odbočka
- Čísla v Pythonu
- Převody mezi datovými typy
- Otročina
- Paměť
- Instrukce a architektury
- Reálná čísla
- Paměti ROM
- Adresování, soubory
- Dokončení rozdělané magie
Úvodní informace
Tato stránka obsahuje moje poznámky z přednášky Pavla Ježka z akademického roku 2019/2020 (MFF UK). Pokud by byla někde chyba/nejasnost, nebo byste rádi něco přidali, tak stránku můžete upravit pull requestem (případně mi dejte vědět na mail).
Zjednodušené schéma počítače
- vymyšlena na univerzitě v Harvardu
- CPU – vykonává instrukce
- kódová paměť – uchovává instrukce; je pouze pro čtení
- datová paměť – uchovává data, se kterými pracujeme
Historie
Charles Babbage (1837)
- mechanický stroj analytical engine
- z dnešního pohledu plnohodnotný počítač
- byl Turingovsky úplný!
- nebyl nikdy fyzicky postaven
- měl usnadnit počítání tehdy komplexního systému daní v Británii
Ada Lovelace
- dcera G. G. Byrona
- finančně Babbage podporovala
- příběhy o ní jako programátorce (psaní programů, ladění bugů) jsou vesměs nesmysl, ale:
- napsala manuál stroje
- napadlo ji, že by se mohlo pracovat i s jinými informacemi než s čísly (texty, obrazy, hudba…)
Kódování informace v počítači
- pojďme si zakódovat čísla
Analogový přenos
- kódování , by nešlo, jelikož se musí čekat na bouřku
- , zní rozumněji
- v praxi zní skvěle, ale v realitě řada problémů, jelikož napětí ovlivňuje:
- délka vodiče
- teplota vodiče
- elektromagnetické pole, které je vodičem jak generováno, tak přijímáno
Digitální přenos
- problém je v intervalech, které se překrývají… co je odtáhnout od sebe?
- pouze 2 hodnoty – logická 1 a logická 0
- jednotka bit (BInary digiT, značíme )
- funguje s rozumným šumem (100procentní ale není)
Sériový přenos
- způsob přenosu více bitů informace: pošleme je za sebou
- měření hodnoty na měřáku
- nezapomínat na to, že napětí je relativní
- měření rozdílu napětí dvou vodičů
- výhoda – elektromagnetické rušení signál neovlivňuje, jelikož rozdíl je relativní
- délka bitů musí být jasně dána, aby přijímající dobře interpretoval informace
- dnes bývá dána hardwarově
- přenosová rychlost (= transfer rate)… baud (symbols / second)
MSb/LSb odbočka
- je potřeba se dohodnout, jak říkat různým bitům dvojkových čísel
- LSb-first – první v komunikaci přijde LSb, poslední MSb (MSB-first funguje analogicky)
Dohoda přenosu
- problém: hodiny se časem kvůli HW rozejdou – data pak stranám nedávají smysl
Řešení (1): nový stav
- vymyšlení dalšího stavu přenosu, ve kterém k přenosu nedochází
- odpojení vodiče = floating state (plovoucí stav)
- lze detekovat, že je linka odpojena
- není to ideální, moc se nepoužívá
- idle stav
- na začátku je linka idle (tzn. přenos neprobíhá)
- používá RS-232
- start dohodou, většinou rising edgem (dobře se detekuje), poté držen (většinou 1) start bit
- start (a end) bit je potřeba – když by to jen vystřelilo, tak by to druhá strana kvůli šumu vůbec nemusela detekovat
- se startem (rising edge) se synchronizují hodiny
- nejsou perfektní (mají tendenci se rozcházet) – omezení přenosu na bitů, kde je konstanta (v reálu )
- pozn.: jsou 2 šestnáctkové znaky
- nejsou perfektní (mají tendenci se rozcházet) – omezení přenosu na bitů, kde je konstanta (v reálu )
- velký overhead… z je jen datových…