Základní principy počítačů II
Editovat
Note
|
Kombinační a sekvenční logické obvody. Von Neumannova architektura. Principy práce procesoru, přerušení. PB150/PB151 |
Elektronické obvody
Elektronické součástky (rezistory, tranzistory, kondenzátory, atd.) propojené vodiči.
Kombinační logické obvody
Takové elektronické obvody sestávající se z logických hradel (logic gate), kde výstup závisí jen na aktuální kombinaci vstupů. Tedy zejména nemají paměť a dají se popsat pravdivostní tabulkou a výrazy výrokové logiky.
Mezi základní logické obvody patří:
-
Invertor (NOT),
-
AND,
-
OR,
-
XOR (sčítačka mod 2),
-
NAND (Shefferova algebra),
-
NOR (Pierceova algebra).
Mezi ty zajímavější patří:
- Polosčítačka
-
Dává kromě součtu i přenos z nejvyššího bitu ven.
- Úplná sčítačka
-
Dává kromě součtu i přenos nejvyššího a druhého nejvyššího bitu.
- Násobička
-
Násobí dvě čísla v doplňkovém kódu. Operandy jsou v 32-bitových registrech, výsledek v 64-bitovém.
Sekvenční logické obvody
Takové elektronické obvody sestávající se z logických hradel, kde výstup závisí nejen na aktulní kombinaci vstupů ale i na posloupnosti minulých vstupů.
- Klopný obvod RS (reset, set)
-
Stavební prvek sekvenční obvodů. Řízený jedničkami:
Přivedení hodnoty 1 na způsobí vynulování uložené hodnoty. Přivedení hodnoty 1 na nastaví uloženou hodnotu na 1. Pokud ani ani nejsou 1, pak obvod propouští uloženou hodnotu.
0
1
1
1
0
0
0
0
1
1
Zakázaný stav
- Klopný obvod D (delay)
-
Klopný obvod RS doplněný o synchronizaci, takže uloženou hodnotu lze změnit jen, pokud je na vstup přiveden impuls. Navíc je vstup přiveden na a .
- Klopný obvod JK
-
Jako RS, ale stav není zakázaný, nýbrž invertuje uloženou hodnotu. Je vždy synchronizovaný.
- Sériová sčítačka
-
Synchronizovaný obvod užívající klopné obvody k uchování výsledků.
Von Neumannova architektura
Model digitálního počítače, který se sestává z: operační paměti, aritmeticko-logické jednotky (ALU), řídicí jednotku (CU), a vstupně/vstupních zařízení.
-
CU vykonává program uložené ve formě binárních instrukcí v paměti.
-
Místa v paměti jsou označena adresami.
-
Změna pořadí instrukcí je možná díky instrukcím podmíněného a nepodmíněného skoku.
-
Zpracování dat probíhá samočinně.
Principy práce procesoru
Procesor je synchronní výpočetní a řídicí jednotka. Dá se na něj dívat taky jako na sloučení ALU a CU z Von Neumannovy architektury. Obsahuje:
-
řadič — intepretuje instrukce,
-
registry — uchovávají operandy a instrukce,
-
aritmeticko-logické jednotky a jednotky plovoucí čárky — vykonávají aritmetické operace,
-
cache — malá pamět zrychlující přístup do operační paměti.
- Takt procesoru
-
Základní frekvence (rychlost procesoru) — počet provedených instrukcí za jednotku času.
- Strojový cyklus
-
Čas potřebný k zápisu/čtení slova z paměti.
- Instrukční cyklus
-
Čas potřebný k výběru a provedení instrukce. Má následující fáze:
-
zjištění, co za instrukci se má provést,
-
provedení instrukce,
-
přerušení.
-
- Mikroinstrukce
-
Každá instrukce se skládá z dílčích mikroinstrukcí.
Přerušení
Mechanismus pro asynchronní obsluhu událostí, který umožňuje pozastavit vykonávaný proces na základě externí příčiny, uložit si stav, zapamatovat si místo návratu a potom se k procesu znovu vrátit. Např. přerušení od časovače (proces běží dlouho, měl by se vyměnit).
Note
|
Hardware se hlásí, chce se na něco zeptat asi. Software se umí hlásit taky, ale dá se umlčet. |
- Vnější přerušení
-
Vyvolává je I/O zařízení, které si tak vyžaduje pozornost — chce obsloužit (přesunout data apod.).
- Vnitřní přerušení
-
Vyvolává je sám procesor, pokud dojde k nějaké chybě (dělení nulou, výpadek stránky, přístup na špatné místo v paměti).
- Řadič přerušení
-
Speciální obvod, který dokáže určit prioritu jednotlivých přerušení.
- Softwarové přerušení
-
Synchronní, je to speciální strojová instrukce, která se používá pro systémová volání, nachází se přímo v programu.
Kdy nelze přerušit proces?
-
Během provádění instrukce.
-
Pokud je dané přerušení zakázáno (příznak Interrupt Flag (IF) je nastaven na 0).
-
Bezprostředně po zahájení obsluhy předchozího přerušení. Obsluha přerušení může uvnitř sebe povolit další přerušení.
Průběh přerušení
Zařízení: Přerušuji! (IRQ)
Řadič přerušení: (IF je nastaveno na 1) Zaznamenáno. (INTR)
CPU: (Právě vykonalo instrukci) Chce mě někdo přerušit? (INTA)
Řadič přerušení: Ano, číslo přerušení je [DATA VYMAZÁNA].
CPU: Dobře, takže zakazuji další přerušení (nastaví IF na 0), ukládám aktuální stav registrů na zásobník (PUSH) a spouštím obsluhu přerušení [DATA VYMAZÁNA].
CPU: (Provede obsluhu přerušení.)
CPU: Povoluji přerušení (nastaví IF na 1) a obnovuji předchozí stav registrů ze zásobníku. (RET a POP)