Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
1. V době překladu víme, na jakou adresu bude proces umístěn. Pak může překladač
generovat absolutní kód. Toto není dnes obvyklý případ, proto se vyskytuje velmi
zřídka.
44
FEKT Vysokého učení technického v Brně
2. Při zavádění programu do paměti se přepočítají všechny adresy (cíle skoků, adresy
proměnných a konstant). Toto řešení se používalo v dobách, kdy procesory
neměly hardwarovou podporu pro transformaci adres za běhu. Nevýhodou je, že
přepočítávání adres zabírá určitý čas a zejména při přesunu procesu do jiné oblasti
fyzické paměti je třeba přepočítat adresy znovu.
3. Překládáním adres za běhu pomocí speciální jednotky nazývané MMU (Memory
management Unit), která je zařazena mezi CPU a operační paměť resp. paměť
cache.
CPU generuje tzv. logické adresy, které jsou vedeny na vstup jednotky MMU. Ta je
transformuje na fyzické adresy, které jsou přivedeny na adresovou sběrnici, na níž jsou
připojeny fyzické paměťové obvody. Bude-li instrukce procesu B generovat logickou adresu
0x080000, MMU ji přeloží na fyzickou adresu 0x180000 a proces B bude bez problémů
fungovat.
Rozlišujeme tedy dva typy adres:
Logické adresy generované CPU. S logickými adresami pracuje programátor.
Jedná se o efektivní adresy vytvářené na základě adresovacích módů instrukcí.
Fyzické adresy generované na výstupu MMU na základě transformace logických
adres. Fyzické adresy jsou čísla paměťových slov fyzické paměti. Jsou přiváděny
po adresové sběrnici k paměťovým obvodům.