🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

23. Architektury mikroprocesorů, režimy správy paměti IA - 32, IA - 64.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Otázka VOŠ a SPŠ, Jičín | Maturita   Odhlásit se Architektury mikroprocesorů, režimy správy paměti IA-32, IA-64 Témata architektura CISC, RISC a superskalární, von Neumannova x Harvardská vlastnosti reálného režimu správy paměti logická x fyzická adresa význam složek logické adresy v reálném a...

Otázka VOŠ a SPŠ, Jičín | Maturita   Odhlásit se Architektury mikroprocesorů, režimy správy paměti IA-32, IA-64 Témata architektura CISC, RISC a superskalární, von Neumannova x Harvardská vlastnosti reálného režimu správy paměti logická x fyzická adresa význam složek logické adresy v reálném a ve chráněném režimu správy paměti přínosy chráněného režimu v segmentaci a ve stránkování Relevantní zdroje https://youtu.be/bTCuFmY0sUg (Architektury) https://youtu.be/BzV5purl6Ls (Externí fragmentace) https://youtu.be/LKYKp_ZzlvM (Stránkování) Co je to CISC? Complex Instruction Set Computer mnoho instrukcí různé složitosti různá délka i formát instrukcí (měří se v počtu strojových cyklů) malý soubor specializovaných registrů složité instrukce rozloží řadič na mikroinstrukce častý výskyt jednoduchých operací vede ke zpomalení při zpracování složitým řadičem Jaká je myšlenka CISC? podporovat složité a čitelnější instrukce a jejich optimalizaci vyřešit na straně CPU Jaké jsou problémy CISC? objevují se nové instrukce, cena výroby CPU se tím zvyšuje CPU vydává i více tepla, protože spotřebovává více energie Co je to RISC? Reduced Instruction Set Computer česky: redukovaná instrukční sada obsahuje pouze ty nejčastěji používané instrukce rozsáhlejší soubor univerzálních registrů násobení a dělení se nahrazuje sčítáním a odčítáním 1 strojový cyklus = 1 provedená instrukce jednotná délka i formát instrukcí jednodušší, tedy i levnější, na výrobu než CISC procesory vhodné pro pipelining (proudové zpracování instrukcí ve více frontách) jednodušší řadič - na čip se vejdou další funkční bloky (ALU, cache, ...) Jaká je myšlenka RISC? podporovat pouze jednoduché instrukce a jejich optimalizaci nechat na překladači jednotlivých programovacích jazyků provede se sice více instrukcí než u CISC, ale ty jsou jednocyklové, takže provedení bude stejně rychlé nebo dokonce rychlejší Co je to superskalární architektura? využívá výhod RISC architektury podporuje současnou práci více ALU (zpracování více instrukcí naráz) rozkládá složité instrukce na mikroinstrukce načítá z RAM a zpracovává současně více instrukcí z jednoho programového vlákna procesory s touto architekturou se nazývají superskalární Co je to Von Neumannova architektura? paměť programu a paměť dat je fyzicky spojena (protiklad Harvardské) počítač pracuje vždy nad jedním programem Co je to Harvardská architektura? paměť je fyzicky oddělena na paměť programu a paměť dat PC může disponovat i více než jedním CPU Co je to reálný režim? všechny aplikace mohou přistupovat ke všem portům a měnit libovolné místo v paměti operační paměť je rozdělena na segmenty o velikosti max. 64 kB př.: program zabírá 200 kB = je rozdělen na 3 segmenty po 64 kB nevýhody: umožňuje adresovat maximálně 1 MB operační paměti (= podporovaná operační paměť je max. 1 MB) nechrání paměťový prostor v operační paměti (= neumožňuje multitasking) v operační paměti dochází k externí fragmentaci nepodporuje práci s virtuální pamětí (=s pamětí, k níž má mikroprocesor přístup a využívá se, když nestačí operační paměť - HDD, CD, ...) Co je to externí fragmentace? problém, který vzniká při alokace paměti řeší ho stránkování pokud nějaký proces zabírá např. 50 MB paměti, ukončíme ho, 50 MB paměti zůstává volných pokud spustíme nový proces, který zabírá např. jen 45 MB paměti, 5 MB zůstane nevyužitých = vznikne v uvozovkách díra (fragment) pokud se tak děje opakovaně, děr může vzniknout několik může se pak stát, že i když máme třeba 20 MB paměti volné, tak se nám nepovede naalokovat program, který má třeba 15 MB, protože těch 20 MB mohou pouze tvořit díry různě po paměti = program nemůže být rozkouskován a díry vyplnit, ale musí být uložen souvisle (začátek segmentu a limit segmentu) Co je to segmentace v reálném/chráněném režimu? úsek operační paměti každého procesu je rozdělen na segmenty = na programový a datový segment programový segment = instrukce programu (read-only) datový segment = data využívána v rámci programu Jak dělíme adresový prostor? globální = společný více běžícím procesům (např. program souběžně spuštěný více uživateli) lokální = přístupný jednomu procesu (obsahuje data a proměnné jednoho procesu) Co je to logická adresa? programátorovi je umožněn přístup k segmentům = díky logické adrese jedná se o adresu, kterou používají instrukce (např. MOV) skládá se ze selektor segmentu (16 b) : offset (32 b) před skutečným přístupem do operační paměti = nutnost převodu na fyzickou adresu o převod z logické adresy na fyzickou se stará MMU (Memory Management Unit) je virtuální, fyzicky neexistuje slouží pouze jako reference pro přístup k fyzickému umístění v paměti generována pomocí CPU, konkrétně na adresní sběrnici Co je to fyzická adresa? adresa, která vznikne při převodu z logické adresy díky MMU identi kuje fyzické umístění v operační paměti Co je to offset? říká, jak daleko se od báze segmentu nachází místo v paměti, kterou hledáme musí být menší než limit segmentu Z čeho se skládá segment? báze segmentu (=začátek segmentu) limit segmentu (=jak je velký) přístupová práva (=co můžeme se segmentem dělat - číst/přepisovat) Jak se převádí logická adresa na fyzickou? 1 2 3 4 5 6 7 8 9 10 Určete fyzickou adresu z následující adresy logické 08FFFH:0005H a) Segment 08FFFH * 10H = 08FFF0H Offset 0005H ---------------------------------------------------------------------------------------------------------Fyzická adresa 08FFF5H b) 08FFEH * 10H = 08FFE0H Segment Offset 0015H ---------------------------------------------------------------------------------------------------------Fyzická adresa 08FFF5H Co je to chráněný režim? přináší podporu ochrany operační paměti plnohodnotně podporován od 32bitových mikroprocesorů to umožňuje přidělit běžícímu procesu určitý úsek operační paměti a zároveň znemožnit, aby mohl zasahovat mimo tento vymezený prosto (= nemůže sahadovat do RAM jiným procesům) umožňuje tím zavést multitasking (v paměti může být najednou více procesů) používá 2 mechanismy = mimo segmentaci využívá také stránkování Co je to stránkování v chráněném režimu? umožňuje, aby každý proces měl svůj vlastní adresový prostor (virtuální paměť) virtuální paměť je rozdělená na stránky (page) o velikosti 4 KB (4096 bajtů) operační paměť je rozdělena na rámy (frame) o téže velikosti 4 KB do paměti, resp. do jednotlivých rámů jsou načítány stránky, nikoliv segmenty stránka plně vyplní rám a nevnikají tak díry = odstranění problému externí fragmentace proces se tedy rozprostře po stránkách v paměti, při ukončení procesu jsou tyto stránky opět volné pro další procesy k vyplnění v logické adrese již není segment a offset, ale stránka a offset © Ondřej Švorc

Use Quizgecko on...
Browser
Browser