Architektura počítačů Agenda 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
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 2/36 Základní informace Přednášející: Lubomír Bulej Katedra distribuovaných a spolehlivých systémů (D3S) Malá Strana, 2. patro, místnost č. 205 bulej@d3s.mff.cuni.cz Přednáška Úterý 10:40, posluchárna S3 http://d3s.mff.cuni.cz/teaching/nswi143
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 3/36 Obsah přednášky Architektura procesoru Hradla, kombinační a sekvenční obvody, funkční bloky, aritmetické operace Výkonnost procesoru, základní metriky Zpracování instrukcí, datová cesta a řízení Architektura počítače Paměťový subsystém, cache Latence a propustnost Paralelní a vektorové zpracování
[1]
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 5/36 K čemu mi to bude dobré?... vždyť přece budu stejně celý život programovat v Javě, C, Pythonu nebo PHP! Proč mám vědět, jak funguje počítač vevnitř?
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 6/36 K čemu mi to bude dobré? Za předmět jsou přece kredity...
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 7/36 K čemu mi to bude dobré? Za předmět jsou přece kredity...
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 8/36 K čemu mi to bude dobré? Za předmět jsou přece kredity... Stejně budu programovat web...
K čemu mi to bude dobré? Za předmět jsou přece kredity... Stejně budu programovat web... Ale mohlo by se mi hodit vědět...... jak věci fungují uvnitř počítače, protože to ovlivňuje, jak fungují operační systémy, virtuální stroje atd. Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 10/36
K čemu mi to bude dobré? Za předmět jsou přece kredity... Stejně budu programovat web... Ale mohlo by se mi hodit vědět...... jak věci fungují uvnitř počítače, protože to ovlivňuje, jak fungují operační systémy, virtuální stroje atd. To mi pomůže...... navrhovat a psát aplikace inteligentněji.... diagnostikovat a vyřešit problémy (když nastanou). Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 11/36
Aplikační framework Komponentový systém Java /.NET JVM / CLR C++ C Firmware / Operační systém Assembler Strojový kód Procesor
[3]
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 14/36 K čemu mi to bude dobré? Cílem předmětu je seznámit studenty s návrhem a vnitřní organizací počítače a procesoru na takové úrovni, aby jako budoucí profesionálové v oboru nevnímali počítač jako černou skříňku, která nějakým blíže neurčeným způsobem vykonává program. Pochopení základních principů moderních architektur je základním předpokladem k efektivnímu použití programovacích jazyků při vývoji počítačových programů.
[2]
Literatura Knihy D. A. Patterson, J. L. Hennessy: Computer Organization and Design doporučená pro tuto přednášku A. S. Tanenbaum: Structured Computer Organization W. Stallings: Computer Organisation and Architecture V. P. Heuring, H. F. Jordan: Computer Systems Design and Architecture Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 16/36
Literatura (2) Internet Anglická mutace Wikipedie Série článků Co se děje v počítači na Root.cz Podobné kurzy na západních univerzitách MIT, Princeton, Berkeley, Carnegie Mellon, (Coursera, edx,...) Doplňková literatura J. Hlavička: Architektura počítačů (skripta ČVUT) J. Douša, A. Pluháček: Úvod do počítačových systémů (skripta ČVUT) Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 17/36
Jak otestovat své porozumění? Zkuste řešit příklady Check yourself z knihy D. A. Patterson, J. L. Hennessy: Computer Organization and Design M. Dráb, T. Martinec: Sbírka úloh inspirovaná zkouškovými příklady a knihou Computer Organization and Design Odkaz na webu předmětu Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 18/36
Zkouška Písemnou formou Ústní zkouška jen ve výjimečných případech Požadavky Sada otázek pokrývající obsah všech přednášek Pozor: Jen pasivní znalost informací ze slajdů nemusí nutně stačit Při studiu je vhodné slajdy vnímat jako podrobnou osnovu Důraz na pochopení principů a schopnost tyto principy aplikovat (ne memorování faktografických údajů) Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 19/36
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 20/36 Časté dotazy a připomínky Chtělo by to (česká) skripta... Ideálně přesně v té formě, která je vyžadována u zkoušky... U zkoušky se chce něco úplně jiného... Žádné příklady jsme neprobírali, chtělo by to cvičení... Výklad je příliš technický... Hardware mě nezajímá, chci jenom programovat...
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 21/36 Návod na použití matfyzu
Čeho se snažíme dosáhnout? Cíle vzdělávání (proč existují univerzity) V obecné rovině Naučit kriticky myslet Naučit hledat zákonitosti V konkrétní rovině Předat nějaké znalosti Předat nějaké dovednosti Jak zajistit, že učení se (faktický proces vzdělávání) umožní dosáhnout těchto cílů? Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 22/36
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 23/36 Dobré a špatné učení se Povrchní přístup k učení se Úkoly dělám proto, abych splnil jejich zadání Výsledkem je zpravidla memorování Hloubkový přístup k učení se Úkoly dělám proto, abych splnil jejich účel Výsledkem je zpravidla porozumění
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 24/36 Porozumění je lepší než memorování Schopnost spojit nové a dřívější znalosti Zjednodušuje chápání dalších znalost Pomáhá odstranit chybné znalosti Schopnost použít znalosti Spojení znalost s každodenní zkušenost Schopnost uchovat znalosti Dobře spojené znalosti se pamatují déle
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 25/36 Volba mezi povrchním a hloubkovým učením se je jen na vás!
Přednášky Výkladu se asi nedá uniknout...... ale konkrétní informace jsou dávno k dispozici (viz literatura) Aby přednášky skutečně k něčemu byly...... snažte se porozumět tomu, co se říká... přemýšlejte o praktických důsledcích toho, co se říká... ptejte se Proč jsou věci tak, jak jsou? Jak byste to udělali jinak? Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 26/36
Přednášky (2) Chodit na přednášky, to je jako chodit do kina, ne? Návštěva kina Pasivní zážitek se zajímavým příběhem (občas) Není potřeba příliš myslet (a pokud ano, moc to nebolí) Desítky milionů dolarů vynaloženy na udržení pozornosti (triky, hudba) Návštěva přednášky Jako návštěva kina, ale film je docela nudný Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 27/36
Přednášky (2) Chodit na přednášky, to je jako chodit do kina, ne? Návštěva kina Pasivní zážitek se zajímavým příběhem (občas) Není potřeba příliš myslet (a pokud ano, moc to nebolí) Desítky milionů dolarů vynaloženy na udržení pozornosti (triky, hudba) Návštěva přednášky Jako návštěva kina, ale film je docela nudný Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 28/36
Přednášky (3) Problémy při učení se na přednášce Látka je často složitá, ale při pasivním poslouchání to člověku tak nepřijde Většina věcí zní rozumně a logicky (což koneckonců jsou) Pro skutečné pochopení je potřeba věnovat se látce i po přednášce ACM/IEEE CS Curriculum: Na 1 hodinu přednášky (v bakalářském studiu) připadají 2 3 hodiny domácí přípravy Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 29/36
Přednášky (4) Jak se na přednášce něco naučit? Neusnout Ve spánku se nic nenaučíte a přijdete o souvislosti Chodit včas a pravidelně Nová látka staví na předchozích základech, bez kterých budete zmatení Aktivně poslouchat Hledání vlastního vysvětlení toho, jak věci fungují Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 30/36
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 31/36 Aktivní poslouchání Přemýšlejte o tom, co slyšíte Dává to smysl? Dovedli byste to vysvětlit někomu, kdo na přednášce nebyl? Když něco nedává smysl Zkuste vymyslet otázku, jejíž zodpovězení by věci vyjasnilo
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 32/36 Jak se efektivně ptát? Musíte vědět, proč vám něco není jasné Nechybí vám nějaká znalost, kterou přednášející předpokládá? Nemáte jinou představu o tom, jak něco funguje, která nesouhlasí s tm, co přednášející říká? Když zrovna nevíte proč, udělejte si poznámku a časem se problém naučíte popsat Nesmíte být úplně mimo Když vůbec nevíte, o co jde, těžko se na něco zeptáte
Jak se efektivně ptát? (2) Než se zeptáte, zkuste si sami odpovědět Pokud si odpovědět neumíte nebo si odpovědí nejste jisti, zeptejte se Možná vám prostě chybí nějaká část skládanky Neexistují hloupé otázky Existují jen hloupí lidé, kteří se nezeptají, i když něčemu nerozumí Vaše otázka možná napadla i ostatní, takže ji uvítají Naučíte se klást otázky, které jsou užitečné pro všechny Začnete aktivně poslouchat s cílem něco se naučit Na konci přednášky budete schopni položit několik upřesňujících otázek Myslím, že říkáte (vlastními slovy X). Je to tak? Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 33/36
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 34/36 Co byste měli na konci semestru vědět Z čeho je složen procesor a jak vykonává strojový kód Z čeho (kromě procesoru) je složen počítač Jak měřit a porovnávat výkonnost počítačů Co určuje výkonnost programu a jak ji může programátor ovlivnit Jak ovlivňuje architektura procesoru/počítače jeho výkon Proč nejde jen zvyšovat pracovní frekvenci Jaké jsou důvody a důsledky přechodu od jednojádrových k vícejádrovým procesorům
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 35/36 Proč byste to měli vědět Pochopení otevírá cestu k...... zlepšování výkonnosti programů na moderních procesorech a lepšímu využit dostupných prostředků počítače... schopnosti porovnávat vlastnosti a výkon různých počítačů a schopnosti posoudit jejich vhodnost pro danou úlohu Systematicky, nikoliv metodou pokus/omyl
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016 36/36 Reference [1] http://upload.wikimedia.org/wikipedia/commons/6/62/intel_cpu_pentium_4_640_prescott_bottom.jpg [2] downloadable wallpaper from Tron: Legacy, Walt Disney Studios Motion Pictures 2010 (cited under fair use) [3] http://www.nasa.gov/images/content/180870main_062207land3.jpg