Shrnutí na Principy mikroprocesoru: Časování, přerušení a zásobník
Principy Mikroprocesoru: Časování, Přerušení a Zásobník | Rozbor
Úvod
Tento materiál vysvětluje základní principy práce mikroprocesoru a přidružené koncepty: časování, přerušení a zásobník. Cílem je předat srozumitelně, proč tyto mechanismy existují, jak spolu souvisí a jak se využívají v praxi.
1. Časování mikroprocesoru
Co je takt a proč je důležitý
Definice: Taktovací signál (clock) je pravidelný elektrický signál generovaný oscilátorem, který určuje, kdy se provádějí jednotlivé operace procesoru.
- Taktová frekvence se udává v Hz, MHz nebo GHz.
- Vyšší frekvence obvykle znamená vyšší výkon, ale také větší spotřebu energie a teplo.
Takt, strojový cyklus a instrukční cyklus
Definice: Takt (clock period) je nejmenší časová jednotka v procesoru.
- Strojový cyklus: skupina taktů nutných pro provedení části instrukce (např. čtení z paměti).
- Instrukční cyklus: kompletní vykonání jedné instrukce, často obsahuje několik strojových cyklů.
Příklad: Jedna instrukce může obsahovat několik čtení z paměti a několik výpočtů => několik strojových cyklů = mnoho taktů.
Synchronní vs. asynchronní operace
- Synchronní: řízené hodinovým signálem (většina vnitřních operací CPU).
- Asynchronní: probíhají nezávisle na taktu (např. externí přerušení nebo události z periferií).
2. Přerušení (Interrupt)
Co je přerušení
Definice: Přerušení je mechanismus, který umožní mikroprocesoru dočasně přerušit běžící program, obsloužit důležitou událost a poté se vrátit do původního programu.
Použití přerušení: vstup z klávesnice, časovače, komunikace s periferiemi, chyby (výjimky).
Průběh obsluhy přerušení
- Vznik signálu přerušení z periferie.
- Procesor dokončí aktuální instrukci (pokud je to potřeba a povoleno).
- Uloží stav programu (programový čítač PC, relevantní registry) na zásobník.
- Skok na obslužnou rutinu přerušení (ISR, Interrupt Service Routine).
- Po skončení ISR se stav obnoví ze zásobníku a pokračuje se v původním programu.
Praktický příklad: Stisk klávesy vyvolá přerušení, OS načte znak a uloží ho do vyrovnávací paměti bez potřeby nepřetržitého kontrolování klávesnice.
Druhy přerušení
| Typ | Původ | Poznámka |
|---|---|---|
| Vnější (hardware) | Zařízení (např. klávesnice, síťová karta) | Signál zvenčí |
| Vnitřní (software) | Instrukce (např. volání systému) | Generováno kódem |
| Maskovatelné | Hardware/software | Lze je povolit/zakázat |
| Nemaskovatelné (NMI) | Kritické chyby | Vždy obslouženo |
3. Zásobník (Stack)
Co je zásobník a jak funguje
Definice: Zásobník je oblast paměti s principem LIFO (Last In – First Out), používaná k dočasnému ukládání dat.
Použití zásobníku: ukládání návratových adres, ukládání registrů, obsluha přerušení, volání podprogramů.
Stack Pointer (SP)
- Definice: Stack Pointer (SP) ukazuje na vrchol zásobníku.
- SP se automaticky mění při instrukcích: PUSH (uložení na zásobník) a POP (vyjmutí ze zásobníku).
Směr růstu zásobníku
- Nejčastěji roste směrem k nižším adresám (ale může být i opačně podle architektury).
- Velikost zásobníku je omezená; při překročení vzniká stack overflow.
Příklad: Volání funkce uloží návratovou adresu a lokální proměnné na zásobník; při návratu se vše z paměti odstraní POP operacemi.
4. Vztah časování, přerušení a zásobníku
- Časování určuje, kdy procesor může reagovat na přerušení (synchronizace s hodinovým signálem).
- Přerušení využívají zásobník k uložení stavu programu (PC, registry), aby bylo možné se vrátit.
- Zásobník umožňuje návrat do původního stavu i při vnořených voláních a přerušeních.
Tabulka srovnání rolí: | Komponenta | Hlavní role | Interakce s ostatními | |---|
Už máš účet? Přihlásit se
Mikroprocesory a přidružené koncepty
Klíčová slova: Mikroprocesory a přidružené koncepty
Klíčové pojmy: Taktovací signál řídí provádění instrukcí, Instrukční cyklus = několik strojových cyklů a taktů, Synchronní operace jsou řízené hodinami, asynchronní ne, Přerušení umožní dočasné přerušení programu pro obsluhu události, Při přerušení se ukládá stav (PC, registry) na zásobník, Zásobník pracuje podle principu LIFO a řídí jej SP, Směr růstu zásobníku je často k nižším adresám; overflow je omezení, NMI jsou nepřerušitelná přerušení pro kritické chyby, Přerušení zvyšují efektivitu CPU oproti pollingům, Časování určuje, kdy může CPU reagovat na přerušení