Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA
Literatura W.Stallings: Computer Organization & Architecture J.L.Hennessy, P.A.Patterson: Patterson: Computer Architecture: a Quantitative Approach V.P.Heuring, H.F.Jordan: Computer Systems Design and Architecture 2
Vliv na návrh počítače abstraktní úroveň matematika, filozofie, logika technologická úroveň fyzika, elektronika ekonomie 3
Víceúrovňová organizace počítače L 0 mikroprogramová úroveň (nad abecedou stroje) přímo technické vybavení počítače L 1 strojový jazyk počítače (nad abecedou stroje) virtuální stroj nad obvodovým řešením vybavení: popis architektury a organizace L 2 úroveň operačního systému doplnění ě íl 1 o soubor makroinstrukcí novou organizaci ipaměti 4
Víceúrovňová organizace počítače L 3 úroveň assembleru L 4 nejnižší úroveň lidsky orientovaného jazyka úroveň vyšších programovacích jazyků obecné nebo problémově orientované první nestrojově orientovaná úroveň L 5 úroveň aplikačních programů 5
Computer architecture / organization Software Hardware Electronic components Application domains Application designer System designer Computer designer Logic designer Circuit designer Computer architecture Computer organization Highlevel view Lowlevel view 6
Architektura pojem není jednoznačně definován ani používán někdy se chápe jako jeden z bodů postupu: architektura organizace implementace někdy zastřešuje všechny podstatné vlastnosti: funkce struktura organizace ace realizaceace 9
Architektura Amdahl, Blaauw, and Brooks (1964): Architecture of the IBM System/360 Architecture describes the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flow and controls, the logical design, and the physical implementation. ti Důležité aspekty as seen by the programmer conceptual structure and dfunctional lbehavior 10
Architektura dnes Obecná definice Si Science and art of selecting and dit interconnecting ti hardware components to create computers that meet functional, performance and cost goals. Návrh architektury počítačového systému často protichůdné požadavky funkce, propustnost, zpoždění cena, výkon, spotřeba váha, velikost, rozšiřitelnost, spolehlivost dobrý návrh vyžaduje dobře zvolené kompromisy 11
Architektura dnes vše, co by měl znát ten, kdo programuje v assembleru tvoří operační systém Tedy: z jakých částí význam částí jak se jednotlivé části ovládají jak spolu části komunikují 12
Architektura pohled programátora ( instruction set architecture ) 1. základní datové struktury a reprezentace dat 2. adresové konvence 3. instrukční soubor a registrový model 4. řízení chodu, stavy počítače 5. vstupy a výstupy 13
1. Datové struktury, reprezentace dat způsob uložení dat v počítači mapovací funkce mezi reálným světem a vnitřním uložením minimální a maximální velikost adresovatelné jednotky 14
2. Adresové konvence definice způsobu, jak přistupovat k datovým strukturám segment - offset lineární adresace velikost paměti a její jí šířka paměťový model ( povolená místa) virtualizace? 15
3. Instrukční soubor definice přechodové funkce mezi stavy počítače formát instrukce způsob zápisu možnosti adresování operandů 16
3. Registrový model Rozlišování registrů procesoru: Podle volby, určení registru: explicitní / implicitní registr Podle funkce registru: řídící registr / registr operandu 17
4. Řízení spolupráce procesoru a ostatních jednotek interakce s okolím přerušení (interrupt) vnitřní vnější 18
5. Vstupy a výstupy metody a způsob přenosu dat mezi procesorem a ostatními jednotkami počítačem a okolím Zahrnuje: definice datových struktur ( CO CO ) identifikace zdroje/cíle ( KAM ) identifikace datových cest ( KUDY KUDY ) protokol ( JAK ) reakce na chyby 19
Architektura pohled návrháře (mikroarchitektura/organizace počítače) 1. šíře datových cest 2. stupeň sdílení 3. definice specializovaných jednotek 4. paralelismy 5. organizace paměti a I/O 6. stupeň ň predikce 20
1. Datové / přenosové cesty data / řídící signály koncové body šířka 21
2. Sdílení na úrovni obvodů sdílení obvodů procesoru a I/O na úrovni jednotek sdílení ALU více procesory 22
3. Specializované jednotky na různých úrovních: jednotka pro výpočty v plovoucí řádové čárce fetch / decode / execute jednotky 23
4. Paralelismus rozklad na úlohy, které lze zpracovávat současně granularita programy části programů podprogramy cykly, iterace... instrukce Lze pouze u nezávislých dějů! 24
5. Organizace paměti a I/O hierarchie paměti způsob vyhledávání a předávání dat rozdělení funkcí vstupně-výstupních zařízení, počet I/O jednotek, vztahy 25
6. Predikce schopnost připravit se na očekávaný děj načtení instrukce nastavení přenosu dat Realizace explicitní predikce statistika heuristiky adaptivní predikce 26
Implementace architektury Fyzická realizace logická vrstva funkční bloky nahrazeny logickými celky obvodová vrstva logické obvody na úrovni hradel fyzická vrstva na úrovni tranzistorů Význam technologie složitost architektury r odpovídá stavu technologie menší, rychlejší, levnější, ekomičtější v prozovu... 27
Gordon E. Moore Cramming more components onto integrated circuits (Electronics, 1965): Složitost prvků se každý rok zvyšuje řádově na dvojnásobek 28
aktualizovaný Moorův zákon Ke změně základních technologických parametrů dochází přibližně po 18 měsících, kdy se některý z parametrů změní v poměru 1:2. 29
30
31
32
33