Systém adresace paměti

Podobné dokumenty
Adresace paměti. 11.přednáška

Přidělování zdrojů (prostředků)

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Paměťový podsystém počítače

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Struktura a architektura počítačů (BI-SAP) 11

Přidělování paměti II Mgr. Josef Horálek

Operační systémy. Přednáška 8: Správa paměti II

Paměti a jejich organizace

09. Memory management. ZOS 2006, L.Pešička

Architektury počítačů a procesorů

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Strojový kód. Instrukce počítače

Mezipaměti počítače. L2 cache. L3 cache

Paměťová hierarchie. INP 2008 FIT VUT v Brně

Metody připojování periferií BI-MPP Přednáška 2

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Řízení IO přenosů DMA řadičem

2010/2011 ZS P i r i nc č py po ít č čů a PAMĚŤOVÝ ĚŤ SUBSYSTÉM z pohledu OS OS

Adresní mody procesoru

Operační systémy. Přednáška 7: Správa paměti I

Počítač jako prostředek řízení. Struktura a organizace počítače

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Vstupně - výstupní moduly

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

Systém souborů (file system, FS)

3. Počítačové systémy

Princip funkce počítače

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Principy operačních systémů. Lekce 3: Virtualizace paměti

Principy operačních systémů. Lekce 2: Správa paměti

Principy počítačů a operačních systémů

Témata profilové maturitní zkoušky

Základní uspořádání pamětí MCU

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Procesor. Procesor FPU ALU. Řadič mikrokód

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Disková pole (RAID) 1

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška IV. 18. listopad, / 41

Vstupně výstupní moduly. 13.přednáška

Petr Krajča. 25. listopad, 2011

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Struktura a architektura počítačů (BI-SAP) 10

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Architektura procesoru ARM

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Memory Management vjj 1

SEKVENČNÍ LOGICKÝ OBVOD - jeho hodnoty výstupu nezavisi pouze na vstupech, ale i na vnitřním stavu obvod

Činnost počítače po zapnutí

Logická organizace paměti Josef Horálek

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

Přerušovací systém s prioritním řetězem

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Pamět ová hierarchie, návrh skryté paměti 2. doc. Ing. Róbert Lórencz, CSc.

Memory Management vjj 1

Struktura programu v době běhu

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Pohled do nitra mikroprocesoru Josef Horálek

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Vnitřní a vnější paměti Část: vnitřní paměti

Architektury počítačů

OS Správa paměti. Tomáš Hudec.

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Management procesu I Mgr. Josef Horálek

Disková pole (RAID) 1

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Adresování paměti. Adresní prostor. Adresní módy (v instrukcích) T.Mainzer

I. Dalšívnitřní paměti

Profilová část maturitní zkoušky 2014/2015

OPS Paralelní systémy, seznam pojmů, klasifikace

Cache paměť - mezipaměť

PROCESOR. Typy procesorů

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Systém řízení sběrnice

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Fakulta informačních technologií Božetěchova 2, BRNO 26. dubna 2011

Profilová část maturitní zkoušky 2015/2016

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Procesy a vlákna (Processes and Threads)

Vnitřní a vnější paměti Část: vnitřní paměti

Architektura počítače

Von Neumannovo schéma

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Transkript:

Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného adresového prostoru efektivní - adresa, která vzniká modifikací operandu segmentovými registry Obvyklý postup překladu adres: operand efektivní logická fyzická Lineární adresový prostor Tvoří jej souvislá (lineární) posloupnost efektivních adres Segmentový adresový prostor Tvoří jej posloupnost segmentů efektivních adres Každý segment tvoří lineární adresový prostor Segmenty jsou definovány zapsáním bázové (základní) adresy segmentu do segmentového registru Segmenty mohou mýt různou velikost a vzájemně se překrývat Procesory bez dynamického překladu adres Efektivní adresa se ukládá přímo do adresového bufferu, odkud je pak přenesena na adresní sběrnici Procesory s dynamickým překladem adres Mezi vnitřní sběrnici procesoru a adresní sběrnici je vložena jednotka DAT (Dynamic Adress Translation), která překládá efektivní (logickou) adresu na fyzickou. - 1 -

Způsoby adresace Adresace bez jednotky DAT Přičtení obsahu adresních registrů k adrese v poli operandu modifikace operandu Přičtení obsahu segmentového registru k modifikované adrese operandu efektivní adresa Efektivní adresa se uloží do adresního bufferu fyzická adresa OZ operand Adresní registry (IND) + Segmentové registry + efektivní adresa Adresový buffer fyzická adresa Nemá-li procesor segmentové registry, uloží se modifikovaný operand přímo do adres. bufferu. - 2 -

Adresace s jednotkou DAT Na vstup jednotky DAT je přiváděna efektivní adresa Výstupem jednotky DAT je efektivní adresa přeložená na adresu fyzickou vnitřní sběrnice efektivní adresa DAT logický adresový prostor systémová (adresní) sběrnice fyzická adresa Logický adresový prostor lineární segmentovaný Lineární adresový prostor OZ Operand Adresní registry + efektivní adresa = logická adresa DAT Pevná adresa + Převedení logické adresy na fyzickou adresu Adresový buffer fyzická adresa - 3 -

Logické adresy se každému procesu přidělují od pevně zvolené adresy p Všechny procesy mají stejný logický adresový prostor, jehož velikost je dána šířkou vnitřní sběrnice n Logické adresy procesů jsou z intervalu <p, p + 2 n > Obvykle u procesorů RISC Segmentový adresový prostor Adresový prostor je složený ze segmentů různé velikosti, které se mohou překrývat Segmenty jsou chráněny regulace přístupu procesů k segmentům Některé segmenty mohou procesy mezi sebou sdílet např. jádro operačního systému Jednotka DAT obsahuje tabulku deskriptorů segmentů V deskriptoru je zaznamenáno: velikost segmentu adresa jeho báze způsob ochrany tabulka deskriptorů - 4 -

Strategie přidělování paměti Pokud je multitaskingový operační systém v činnosti, je rezidentní část jádra operačního systému umístěna obvykle na začátku hlavní paměti. Zbývající část hlavní paměti operační systém přiděluje zpracovávaným procesům. Jsou možné tyto způsoby jejího přidělování: přidělování statických souvislých úseků Paměť je po celou dobu běhu operačního systému rozdělena na souvislé úseky, jejichž umístění se nemění Proces se uloží do nejmenšího volného úseku, do kterého ho lze uložit. Překlad mezi logickou a fyzickou je možné provést jednoduchou jednotkou DAT (i bez jednotky DAT) Překlad spočívá v přičtení počáteční adresy (báze) k logické adrese Hodnota báze je zapsána do bázového registru operačním systémem při spuštění procesu přidělování dynamických souvislých úseků Operační systém vybere nejmenší souvislou volnou část paměti tak, aby do ní mohl umístit celý proces. Paměť obsahuje řadu malých, procesy neobsazených částí fragmentace paměti U přidělování dynamických úseků lze odstranit realokací obsazených úseků paměti spotřebovává procesorový čas Proces není chráněn před ostatními procesy Proces může přepsat oblast paměti vyhrazenou jinému procesu Ochrana procesu pomocí techniky klíč-zámek přidělování virtuálního adresového prostoru - 5 -

Virtuální paměť Je-li proces větší než fyzická paměť počítače, nelze jej přímo uložit a spustit Proces je nutno rozdělit na menší části (tzv. overlays) a postupně nahrávat do paměti a zpracovávat Je-li postupné umísťování do paměti prováděno automaticky, mapuje jednotka DAT logický adresový prostor procesu na fyzický tak, jak stanovuje operační systém Procesor může pracovat v celém svém logickém prostoru, jakoby se fyzická paměť rozšířila na velikost logické paměti virtuální paměť Lineární adresový prostor Stránkování paměti virtuální adresový prostor rozdělen na stránky (1-8kB) fyzický adresový prostor rozdělen na stejně velké úseky rámy nebo rámce (frames) Logická (virtuální) adresa rozdělena na číslo stránky posuv (offset) vyjadřuje umístění (lokální adresu) v rámci stránky Každý proces má svoji tabulku stránek Každý řádek tabulky stránek odpovídá jedné stránce, v řádce je uvedeno: číslo rámu, které OS stránce přidělil bit platnosti stránky P kód autorizace R (povolení číst) W (povolení zapisovat) X (použít stránku pro řízení procesu) bit změny obsahu stránky Z číslo bloku, ze kterého lze stránku získat (systém souborů, swappovací oblast) - 6 -

logická (virtuální) adresa číslo stránky posuv Registr tabulky stránek Tabulka stránek P RWX Z blok číslo rámu rám posuv fyzická adresa Operační systém procesu namapuje jen určitý počet stránek použije-li proces virtuální adresu mimo namapovaný prostor, dojde k výpadku stránky je generováno přerušení OS požadovanou stránku namapuje Operační systém často mapuje procesu stránky až, když dojde k výpadku stránky stránkování na žádost Nastane-li situace, kdy nejsou žádné volné rámy, OS musí některé stránky odmapovat různé strategie výběru stránek - nejlepší LRU (poslední použitá) Přenosy při řešení výpadku stránky velmi zdržují. Nesmí být požadovány příliš často. Nebezpečí ZAHLCENÍ trashing. Proto je rozumné určit pro každý proces tak zvanou PRACOVNÍ MNOŽINU (= počet stránek, které by měly být přítomny v paměti trvale). Zda je volné místo pro pracovní množinu kontrolovat před zahájením procesu programem řízení úloh (spolu s tím, zda jsou volné nesdílitelné zdroje). - 7 -

Virtuální paměť příklad Procesor pracuje s velikostí stránky 4kB (4096 B). Proces A má obsazenu tabulku stránek takto: Hlavní paměť stránka 0 1 2 bit platnosti 1 0 1 číslo rámu 2 40 3 0 4096 8192 12288 rám 0 rám 1 rám 2 rám 3 Program, který řídí proces A má startovací adresu 100. Kde ve fyzické paměti je obsah této adresy umístěn? logická adresa: stránka (0. 4096) + posuv (100) fyzická adresa: rám (2) + posuv (100) 8192 + 100 = 8292 Proces provede instrukci LDX R, 9000. Kterou adresu fyzické paměti procesor do registru načte? logická adresa: stránka (2. 4096) + posuv (808) fyzická adresa: rám (3) + posuv (808) 12288 + 808 = 13096 Následně procesor začne provádět instrukci ADX R, 4098. Popište činnost procesoru a operačního systému při zpracování této instrukce. logická adresa: stránka (1. 4096) + posuv (2) fyzická adresa: bit platnosti = 0 výpadek stránky Víceúrovňové stránkování Předpokládejme, že logická adresa má 32 bitů a velikost stránky je 4kB (12 bitů). Tabulka stránek musí potom mít 1M (20 bitů) řádků. Každý řádek má několik bytů tabulka stránek by v paměti zabírala příliš místa Operační systém tabulku stránek také stránkuje udržuje její kopii na disku a do paměti uloží jen část Adresa stránky se rozdělí na adresu adresáře stránek vlastní adresu stránky - 8 -

Pokud rozdělíme 20 bitů adresy stránek z příkladu na adresu adresáře s 10 bity a adresu stránky také s 10 bity, potom obě tabulky budou mít jen 1024 řádků. Invertovaná tabulka stránek Jiným řešením příliš velké tabulky stránek je použití tzv. invertované tabulky stránek Tabulka s přiřazením stránky a rámu je organizována podle čísel rámů (rámů je podstatně méně než stránek) OS hledá k číslu stránky číslo rámu a musí mít přímý přístup do tabulky podle čísla stránky realizováno pomocí hash tabulky Hash funkce je dána vztahem číslo stránky mod velikost základní části hash tabulky Více stránek může být mapováno do stejného místa hash tabulky rehashing logická adresa stránka posuv Hash tabulka Invertovaná tabulka Rám Rám P RWX Z blok rám posuv - 9 -

Segmentovaný adresový prostor Segmentovaný adresový prostor umožňuje: strukturovat program a data do oddělených segmentů s různými způsoby ochrany sdílení dat mezi procesy realizovat podprogramy uložením do segmentu, který je přístupný všem procesům nezávislý překlad (kompilaci) částí programu Některé implementace operačního systému UNIX (SYSTEM V) ukládají do různých segmentů program (text), data a zásobník (stack) Hlavní paměť Proces A Proces B STACK STACK DATA TEXT DATA TEXT TLB cache Pro uchovávání právě načtené řádky tabulky stránek jsou procesory vybaveny rychlou vyrovnávací pamětí TLB cache (Translation Look aside Buffer) obvykle plně asociativní obsahuje řádově desítky řádků Příklad: Procesor má TLB cache s 32 řádky. Velikost stránky je 4kB. V jak velikém rozsahu adres může pracovat program, aniž by procesor musel při překladu adresy číst z hlavní paměti? (Samozřejmě s výjimkou počátečního naplnění TLB cache) TLB cache může obsahovat 32 stránek, každá o velikosti 4 kb rozsah adres = 32. 4 = 128 kb - 10 -

Proces čtení z paměti / zápisu do paměti Čtení z paměti / zápis do paměti probíhá následovně: Adresová jednotka nejdříve hledá zobrazení adresy stránky na adresu rámu v TLB cache Nenajde-li v TLB, hledá v tabulce stránek (možný výpadek stránky) Je-li známa fyzická adresa, hledá její obsah v cache paměti (mezi procesorem a hlavní pamětí) Není-li obsah paměti v cache, obrátí se na hlavní paměť logická adresa TLB řádek tabulky stránek není v TLB Cache stránka posuv řádek tabulky stránek je v TLB TAG + TAG Tabulka stránek nesouhlasí tag + Hlavní paměť Souhlasí tag, obsah adresy je v cache - 11 -