P000 Architektura počítačůObsah |
Máme tyto druhy:
Parametry pamětí:
Parametry aplikované na typech pamětí:
Další: Vnitřní paměti Obsah |
P000 Architektura počítačů |
Klasifikace pamětí podle způsobu čtení a zápisu:
Fyzická struktura paměti:
Následující:
Permanentní
paměti |
P000 Architektura počítačů
Obsah |
Následující:
Asociativní
paměť Obsah |
P000 Architektura počítačůObsah |
= CAM (contents addressable memory)
Zapojení 1 bitu klíče:
P000 Architektura počítačůObsah |
Procesor je synchronní stroj řízený řadičem.
Základní frekvence = takt procesoru.
Strojový cyklus = čas potřebný k zápisu (čtení) slova z paměti (např. 3
takty)
Instrukční cyklus = čas potřebný pro výběr a provedení instrukce
Příklad formátu instrukce:
Operační kód (operační znak) | Adresa operandu / operand | Adresa 2. operandu / 2. operand |
^ ne u všech instrukcí ^ |
Fáze procesoru:
Výběr instrukcí je řízen registrem:
Po provedení instrukce se zvyšuje o délku instrukce. Plní se např. instrukcí skoku.
8 bitový procesor
0,0 - impulsy vnějších hodin
operační znak | 16 bitová adresa paměti |
|
3Ah | nižší slabika adresy | vyšší slabika adresy |
operační znak | 16 bitová adresa paměti |
|
32h | nižší slabika adresy | vyšší slabika adresy |
operační znak | 16 bitová adresa paměti |
|
0DAh | nižší slabika adresy | vyšší slabika adresy |
Příklad: X=Y
LDA 101h
STA 100h
obsahy paměti :
100h ..X
101h ..Y
Další příklad:
200h: LDA 101h
203h: STA 100h
206h: ...
adresa | 200h | 201h | 202h | 203h | 204h | 205h | 206h |
obsah | 3Ah | 01 | 01 | 32h | 00 | 01 | ... |
Následující: Fáze instrukcí, příznakový registr Obsah |
P000 Architektura počítačůObsah |
Z (Zero) - = 1 při nulovém výsledku operace, =0 při nenulovém
S (Sign) - Kopie znaménkového bitu výsledku operace
CY (Carry) - Kopie bitu přenášeného z nejvyššího řádu výsledku operace
AC (Auxilary Carry) - přenos mezi bitem 3 a 4 výsledku
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
< < CY < ^ |
^ < AC < ^ |
P (Parity) = 1 při sudé paritě výsledku, =0 při liché paritě výsledku
Příznaky nastavují instrukce: INR, ADD, CMA
Příznaky nemění instrukce: LDA, STA, JMP, MOV
Následující: Instrukce v paměti a podmíněné skoky Obsah |
P000 Architektura počítačůObsah |
tj. skoky podle obsahu příznakového registru
Vzor instrukce: podmínka adresa
Instruke:
JC - CY=0
JNC - CY=1
JZ - Z=1
JNZ - Z=0
JP - S=0
JM - S=1
X .... 100h
Y .... 101 h
X:=X + Y LDA 100h
IF X=Y THEN ANO ELSE NE LDA 100h :NE
IF X<=Y THEN ANO ELSE NE LDA 100h :NE |
X:=X - Y LDA 100h IF X<Y THEN ANO ELSE NE LDA 100h :NE
WHILE Y>=X DO B opakuj: LDA 100h
|
for i:= 1 TO X do B;
0FFh | 1 | |
100h | X | |
102h | i | |
..... | ||
..... | ||
200h | LDA 0FFh | |
203h | STA 102h | ; i:= 1 |
206h | MOV B, A | ; reg. B:= i |
207h | LDA 100h | |
20Ah | CMP B | ; X - i |
20Bh | JM 300Ah | |
20Eh | blok B | |
.... | ||
.... | ||
300h | LDA 102h | |
303h | INR A | |
304h | STA 102h | ; i:= i + 1 |
307h | JMP 206h | |
30Ah |
Následující: Zásobník a V/V operace Obsah |
P000 Architektura počítačůObsah |
Struktura Last - in, First - out (LIFO)
Umístěn kdekoli v opereční paměti
Registr SP (Stack Pointer (16 bitový))
Plnění SP instrukcí LXISP hodnota Load Immediate. Fáze instrukce:
Práce se zásobníkem
Instrukce
Fáze instrukce PUSH
Fáze instrukce POP
Příklad:
LXISP 100h
PUSH B
PUSH D
1000h | B | |
0FFFh | C |
|
0FFEh | D | |
0FFDh | E |
< SP |
0FFCh | ||
0FFBh | ||
0FFAh | ||
.. | .. | |
.. | .. | |
.. | .. |
Pozor, žádná kontrola podtečení !
Instrukce
CALL adresa
RET
Příklad:
*1 100h CALL 200h 103h *3 ...... 200h |
|
Fáze instrukce CALL
Fáze instrukce RET
Instrukce
OUT - zapíše obsah A na V/V sběrnici
IN - přečte obsah V/V sběrnice do A
START - zahájí V /V operaci
FLAG adresa - skok na adresu, není-li operace hotova
PROCESOR |
V / V zařízení |
|
SBĚRNICE |
||
>>> START >>> | ||
<<< HOTOVO (FLAG) <<< |
||
Příklady:
Přenos A (100h) do výstupního zařízení
1000h | LDA 100h |
1003h | OUT |
1004h | START |
1005h | FLAG 1005h |
1008h |
Čtení vstupního zařízení a uložení do A(100h)
1000h | START |
1001h | FLAG 1001h |
1004h | IN |
1005h | STA 100h |
1008h |
Následující: Multiprogramové zpracování a signál RESET Obsah |
P000 Architektura počítačůObsah |
Program 1 | Výpočet | Tisk | Výpočet | |
Program 2 | Výpočet | Výpočet | ||
^ | ||||
okamžik přerušení progr. 2 |
Přerušovací systém (iterrupt system) umožňuje přerušení běžícího procesu a aktivuje rutinu pro obsluhu přerušení.
Činnost při přerušení:
Kdy lze přerušit proces ?
Při přerušení se uplatní tyto fáze:
Příklad konstrukce programu pro obsluhu přerušení
100h | PUSH PSW | úklid registru A |
101h | .. | obsluha přerušení |
..... | .. | |
..... | .. | |
..... | POP PSW | obnovení registru A |
..... | STI | povolení přerušení |
..... | RET | návrat do přerušeného procesu |
Nastavení počítače do počátečních podmínek a předání řízení zaváděcímu programu v permanentní paměti
Příklad: Rozdělení paměti 'našeho' pomyslného počítače
65535
|
ROM
|
< 1 kB < |
<
64 kB
< |
64512 | |||
64511
|
RAM
|
||
|
|||
0 |
Signál Reset se uplatní kdykoli - tj. i uvnitř fází instrukce
Fáze RESET:
Činnosti po zapnutí počítače:
Následující: Virtuální paměťAdresace
v chráněném režimu a řídící registry Obsah |
Michal Brandejs brandejs@informatics.muni.cz