Úvod
Transkript
Architektura počítačů Úvod 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 Proč jsou počítače zajímavé? Velmi dynamický obor První digitální elektronické počítače kolem roku 1940 O 60 let později počítače zcela běžné, dnes všudypřítomné Nové technologie jsou nahrazovány dříve, než stačí zestárnout Neuvěřitelný vliv na každodenní život Internet, vestavěné počítače, lidský genom, výpočetní chemie, ... Každé řádové snížení ceny, zvýšení výkonu, zmenšení velikosti přináší nové možnosti Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 2/49 Co je vlastně počítač? V dnešní době velmi široký pojem Řada společných technologií, ale různé uspořádání podle požadavků a využit Hlavní třídy Osobní počítače Optimální poměr cena/výkon (tlak na vývoj) Servery, mainframy, superpočítače Vyšší propustnost, spolehlivost, výpočetní výkon Vědecké výpočty, velké množství požadavků Vestavěné (embedded) počítače Dnes nejrychleji rostoucí trh (nejen mobilní zařízení) Omezené zdroje (paměť, výkon, energie, cena), speciální nároky (fyzická odolnost) Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 3/49 Sálový počítač (1964) IBM System 360 Použit integrovaných obvodů Revoluční prvky Stavebnicová konstrukce Jednotná struktura dat a instrukcí Jednotný způsob připojování periferií Ochrana dat v paměti Prvky architektury zachovány v mainframech až dodnes [1] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 5/49 Sálový počítač (2005) IBM System Z9-109 model S54 60 konfigurovatelných LPARS Special-purpose processors Paměť 512 GB 1 740 kg, 2,49 m2, příkon 18,3 kW Dostupnost, propustnost, bezpečnost [2] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 6/49 Méně běžný osobní počítač [3] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 7/49 Běžný osobní počítač [4] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 8/49 Co je v krabici běžného počítače? Základní deska Procesor Paměť (RAM, ROM) Čipová sada Základní I/O periferie [4] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 9/49 Co je v krabici běžného počítače? Základní deska Procesor Paměť (RAM, ROM) Čipová sada Základní I/O periferie Optická mechanika Pevný disk [4] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 10/49 Co je v krabici běžného počítače? Základní deska Procesor Paměť (RAM, ROM) Čipová sada Základní I/O periferie Optická mechanika Pevný disk Rozšiřující karty Grafická karta [4] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 11/49 Co je v krabici běžného počítače? Základní deska Procesor Paměť (RAM, ROM) Čipová sada Základní I/O periferie Optická mechanika Pevný disk Rozšiřující karty Grafická karta Zdroj [4] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 12/49 Základní deska [5] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 13/49 Základní deska (2) CPU High-Speed Peripherals High-Speed Bus Clock Generator RAM Front-side Bus North Bridge (memory controller) Memory Bus Internal Bus Peripherals Peripheral Bus South Bridge (I/O controller) SATA USB Ethernet Audio CMOS memory Legacy Bus Flash ROM Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 Super I/O Serial Parallel Floppy Keyboard Mouse 14/49 Procesor Součásti Datová cesta (operace s daty) Řízení (řadič datové cesty) Paměťové prvky (soubor registrů a cache) Intel Core i7-980X 6 jader, 12 MB L3 cache, taktovací frekvence 3,33 GHz 32 nm výrobní proces, 248 mm2, 1,2 mld. tranzistorů Source: intel.com Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 15/49 Operační paměť Dočasná paměť Běžící programy a data, přímá adresace procesorem Dynamic Random-Access Memory (DRAM) Konstantní doba přístupu (v řádu desítek ns) Bity uloženy jako náboje v integrovaných kondenzátorech (spolu s tranzistorem) Nutnost periodicky občerstvovat obsah (refresh) Typická frekvence 16 Hz Typická kapacita jednotky až desítky GB Source: slashgear.com Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 16/49 Operační paměť (2) Dočasná paměť Static Random-Access Memory (SRAM) Realizovaná pomocí dvoustavových klopných obvodů (obvykle 4 až 6 tranzistorů na bit) Není potřeba periodické občerstvování Výrazně vyšší rychlost (jednotky ns), ale výrazně nižší hustota záznamu a vyšší cena Při plné rychlosti výrazně vyšší spotřeba Cache procesoru Soubor registrů procesoru Interní paměť procesoru Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 17/49 Technologie procesorů a pamět Polovodičový tranzistor Základní stavební prvek Typicky použit jako diskrétní elektronický prvek (signálem řízený spínač), ne analogový prvek (zesilovač) Integrovaný obvod Kombinace více tranzistorů na jednom polovodičovém čipu Včetně doplňkových elektronických součástek (kondenzátorů, rezistorů apod.) Lepší výrobní technologie → menší rozměry → vyšší stupeň integrace → vyšší rychlost procesorů a vyšší kapacita pamět Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 18/49 Technologie procesorů a pamět (2) Source: P&H Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 19/49 Technologie procesorů a pamět (3) [6] Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 [7] 20/49 Sekundární paměť Permanentní paměť Data uchovávána i po odpojení napájení Datové soubory a spustitelné programy Není přímo adresovatelná procesorem (jedná se o vstupně/výstupní periferii, vyžaduje programové řízení) Pevné disky Magnetické rotační médium Adresace po sektorech (512 B, 4 KB), přístupová doba v řádu jednotek až desítek ms (není konstantní) Solid-State Drive (SSD), Flash paměť Nepohyblivá, tranzistorová permanentní paměť (floating-gate MOSFET) Čtení po bitech, zápis po blocích (asymetrické operace čtení a zápisu), konstantní přístupová doba v řádech desítek až stovek µs Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 21/49 Základní organizace počítače Počítač vstup výstup paměť procesor datová cesta řízení Nezávisí na technologii pasuje na současné i minulé počítače Zdroj: P&H Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 22/49 Interakce s okolím Vstupní zařízení klávesnice, myš, tablet, snímač otisků, joystick Výstupní zařízení CRT monitor, LCD panel, grafická karta, tiskárna Vstupně/výstupní zařízení síťová karta, pevný disk, zvuková karta, kamera, volant + pedály se zpětnou vazbou (forcefeedback), ... Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 23/49 Grafický výstup na obrazovku Paměť na grafické kartě (framebuffer) každé místo v paměti (nebo shluk několika míst) odpovídá jednomu obrazovému bodu obsah místa v paměti reprezentuje barvu velikost místa určuje barevné rozlišení Zdroj: P&H Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 24/49 Základní koncept architektury počítačů Aneb ... Co nevidíte na svém (oblíbeném) programu? Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 25/49 Od zapnut počítače k běžící aplikaci Firmware BIOS (Basic Input/Output System) Zavaděč operačního systému Boot sector Boot loader Operační systém Uživatelské rozhraní Aplikace Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 26/49 Stovky tisíc řádků kódu Aplikační software Např. textový editor Knihovny pro uživatelské rozhraní Systémový software Operační systém Vstupně/výstupní operace Alokace paměti a úložného prostoru Sdílení prostředků Hardware Firmware Hardware Procesor, paměť, periferie Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 27/49 Od uživatele k algoritmu Smaž odstavec Nastav písmo .... Uživatel Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 28/49 Od uživatele k algoritmu Smaž odstavec Nastav písmo .... document.par[i].value = ...; document.set_font(...); ... Algoritmus Uživatel Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 29/49 Od uživatele k algoritmu Smaž odstavec Nastav písmo .... document.par[i].value = ...; document.set_font(...); ... Sémantická mezera Algoritmus Uživatel Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 30/49 Od algoritmu k programu document.par[i].value = ...; document.set_font(...); ... Algoritmus Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 31/49 Od algoritmu k programu MULI $2, $5, 4 ADD $2, $4, $2 LW $16, 0($2) ... document.par[i].value = ...; document.set_font(...); ... Algoritmus Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 Sémantická mezera Program 32/49 Od programu ke strojovému kódu MULI $2, $5, 4 ADD $2, $4, $2 LW $16, 0($2) ... Program Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 33/49 Od programu ke strojovému kódu MULI $2, $5, 4 ADD $2, $4, $2 LW $16, 0($2) ... Program Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 0101001010010 0110101001101 0111010110101 ... Sémantická mezera Procesor 34/49 Základní koncept architektury počítačů Abstrakce Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 35/49 Abstrakce Překonávání sémantických mezer Postup od konkrétního (technického) jazyka k abstraktnímu (obecnému) jazyku Ideálně se zachováním přesnosti, ale využit šířeji definovaných pojmů a „zapouzdření“ vnitřních detailů Stručnější a kompaktnější vyjádření „An abstraction is one thing that represents several real things equally well.“ (Edsger Dijkstra) Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 36/49 Abstrakce (2) Vhodný jazyk pro danou úroveň abstrakce Řídící logika procesoru Pomocí jednotky ALU sečti hodnotu z registru A a hodnotu z registru B, výsledek ulož do registru C Strojový kód: instrukce (slova) nad abecedou {0, 1} 1000110010100000 Assembler: symbolický zápis instrukcí programu add R2, R3, R1 Vyšší programovací jazyk: symbolický zápis algoritmu fruits := apples + oranges Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 37/49 Abstrakce (3) Vhodný jazyk pro danou úroveň abstrakce Překlad mezi jazyky = překonávání sémantické mezery Jazyk vyšší úrovně = vyšší produktivita člověka Doménově-specifické jazyky Jazyk nižší úrovně = vyšší produktivita stroje Strojový kód Překladač Překlad z vyššího programovacího jazyka do jazyka nižší úrovně (často až do symbolického zápisu instrukcí konkrétního procesoru) Assembler Překlad ze symbolického zápisu instrukcí do binárního kódu vykonatelného konkrétním procesorem Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 38/49 Příklad: Záměna k. a (k+1). prvku pole Vyšší programovací jazyk void swap(unsigned int array[], unsigned int k) { unsigned int old = array[k]; array[k] = array[k + 1]; array[k + 1] = old; } Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 39/49 Příklad: Záměna k. a (k+1). prvku pole (2) Symbolický zápis instrukcí pro MIPS swap: sll addu lw lw sw sw jr $a1, $a1, $v0, $v1, $v1, $v0, $ra $a1, 2 $a1, $a0 0($a1) 4($a1) 0($a1) 4($a1) Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 40/49 Příklad: Záměna k. a (k+1). prvku pole (2) Symbolický zápis instrukcí pro SuperH swap: shll2 mov add mov.l add add mov.l mov.l rts mov.l r5 r4,r1 r5,r1 @r1,r2 #4,r5 r5,r4 @r4,r3 r3,@r1 r2,@r4 Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 41/49 Příklad: Záměna k. a (k+1). prvku pole (3) Symbolický zápis instrukcí pro x86-64 swap: movslq leaq leaq movl movl movl movl retq %esi, %rsi (%rdi, %rsi, 4), %rdx 4(%rdi, %rsi, 4), %rax (%rdx), %ecx (%rax), %esi %esi, (%rdx) %ecx, (%rax) Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 42/49 Příklad: Záměna k. a (k+1). prvku pole (4) Zápis ve strojovém kódu pro MIPS 00000000000001010010100010000000 00000000101001000010100000100001 10001100101000100000000000000000 10001100101000110000000000000100 10101100101000100000000000000100 10101100101000110000000000000000 00000011111000000000000000001000 Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 43/49 Příklad: Záměna k. a (k+1). prvku pole (4) Zápis ve strojovém kódu pro SuperH 0000100001000101 0100001101100001 0101110000110001 0001001001100010 0000010001110101 0101110000110100 0100001001100011 0011001000100001 0000101100000000 0010001000100100 Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 44/49 Příklad: Záměna k. a (k+1). prvku pole (5) Zápis ve strojovém kódu pro x86-64 010010000110011111110110 01001000100011010001010010110111 0100100010001101010001001011011100000100 1000101100001010 1000101101110000 1000100101110010 1000100100001000 11000111 Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 45/49 Implementace Opačný směr než abstrakce Konkretizace Od architektury počítače ke konkrétnímu fyzickému počítači Vysokoúrovňový jazyk Blokové schéma, logický popis obvodů Nízkoúrovňový jazyk Schéma zapojení elektronických součástek, schéma polovodičových prvků na integrovaném obvodu „Strojový kód“ Samotná fyzická realizace počítače Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 46/49 Aplikace Sofware Uživatelské rozhraní Výkonné jádro aplikace Aplikační knihovny Operační systém Rozhraní HW/SW Instrukční architektura (ISA) Hardware Úroveň abstrakce Vrstvy abstrakce počítače Datová cesta, řízení Logické obvody Tranzistory Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 47/49 Pozor: abstrakce je jen nástroj! Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 48/49 Reference [1] [2] [3] [4] [5] [6] [7] http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/DM_IBM_S360.jpg/800px-DM_IBM_S360.jpg http://upload.wikimedia.org/wikipedia/commons/2/21/Front_Z9_2094.jpg http://upload.wikimedia.org/wikipedia/commons/3/31/Raspberry_Pi_2_Model_B_v1.1_top_new_%28bg_cut_out%29.jpg http://upload.wikimedia.org/wikipedia/commons/a/ac/Computer_from_inside_018.jpg http://upload.wikimedia.org/wikipedia/commons/d/dd/MicroATX_Motherboard_with_AMD_Athlon_Processor_2_Digon3.jpg http://upload.wikimedia.org/wikipedia/commons/2/23/Monokristalines_Silizium_f%C3%BCr_die_Waferherstellung.jpg http://upload.wikimedia.org/wikipedia/commons/d/d7/Wafer_2_Zoll_bis_8_Zoll_2.jpg Architektura počítačů, Úvod, LS 2015/2016, 23. 2. 2016 49/49
Podobné dokumenty
915_VY_32_INOVACE_CAJS_1+3_24_OBRATLOVCI I_kruhoústí
http://cs.wikipedia.org/wiki/Soubor:Iciligorgia_schrammi.jpg
http://www.i60.cz/obrazky/velke/ferda-mravenec1_201301011249429.jpg
http://cs.wikipedia.org/wiki/Soubor:Lamprey_mouth.jpg
http://cs.wiki...
Zpravodaj 2/2016
zasláno celkem patnáct návrhů, vypsal Český
aeroholding ve spolupráci s Institutem plánování a
rozvoje hl. m. Prahy (IPR) v červenci loňského roku.
Výstava představí cestujícím i široké veřejnosti
...
915_VY_32_INOVACE_CAJS_1+3_25_OBRATLOVCI II_plazi,ptáci
Tento výukový materiál vznikl v rámci operačního programu Vzdělávání pro konkurenceschopnost.
Dům umění města Brna The Brno House of Arts Malinovského nám
The Brno House of Arts will present this
summer for the third time the biennal for
art in public space Brno Art Open. To this
occasion a public stage and info platform
is going to be built in coope...