Architektura počítačů Agenda http://d3s.mff.cuni.cz http://d3s.mff.cuni.cz/teaching/computer_architecture/
Lubomír Bulej
[email protected]
CHARLES UNIVERSITY IN PRAGUE faculty faculty of of mathematics mathematics and and physics physics
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
[email protected]
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
2/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í
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
3/36
[1]
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
5/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
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 ... Stejně budu programovat web ...
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 ... 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]
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ů.
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
14/36
[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
Č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
20/36
Návod na použití matfyzu Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
21/36
Č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
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
23/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
24/36
Volba mezi povrchním a hloubkovým učením se je jen na vás!
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
25/36
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
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
31/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
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
32/36
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
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
34/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
35/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
Architektura počítačů, Agenda, LS 2015/2016, 23. 2. 2016
36/36