P000 Architektura počítačů

Obsah
Předchozí:
Obvod pro rotaci bitů vpravo, vlevo a beze změny, komparátor

Paměti

Máme tyto druhy:

Parametry pamětí:

Parametry aplikované na typech pamětí:

Další: Vnitřní paměti
Obsah

P000 Architektura počítačů

Obsah
Předchozí:
Paměti

Vnitřní paměti

Klasifikace pamětí podle způsobu čtení a zápisu:

20015a.gif

Fyzická struktura paměti:

Fyzická struktura paměti

Následující: Permanentní paměti
Obsah

P000 Architektura počítačů

Obsah
Předchozí:
Vnitřní paměti

Permanentní paměti

ROM

ROM - 20020a.gif

PROM (programable ROM)

PROM - 20020b.gif

EPROM (erasable PROM)

EEPROM (electrically EPROM)

Následující: Asociativní paměť
Obsah

P000 Architektura počítačů

Obsah
Předchozí:
Permanentní paměti

Asociativní paměť

= CAM (contents addressable memory)

CAM 20025a.gif

Zapojení 1 bitu klíče:

20025b.gif

Následující: Struktura, fáze, registry, typy instrukcí, instrukce
Obsah

P000 Architektura počítačů

Obsah
Předchozí: Asociativní paměť

Procesor

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.

Počítač

Procesor i8080

8 bitový procesor
0,0 - impulsy vnějších hodin

I. část instrukčního souboru

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
Předchozí: Procesor, počítač, instrukce I

Interní registry (programátorovi neviditelné)

Fáze instrukcí (mikroinstrukce)

 

Příznakový registr F procesoru I8080

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
Předchozí: Fáze instrukcí, příznakový registr

Podmíněné skoky

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

Příklady

X .... 100h
Y .... 101 h

X:=X + Y

LDA 100h
MOV B,A
LDA 101h
ADD B
STA 100h

 

IF X=Y THEN ANO ELSE NE

LDA 100h
MOV B,A
LDA 101h
CMP B
JZ ANO

:NE
........
JP VEN
:ANO
....
:VEN

 

IF X<=Y THEN ANO ELSE NE

LDA 100h
MOV B,A
LDA 101h
CMP B
JP ANO

:NE
........
JP VEN
:ANO
....
:VEN

X:=X - Y

LDA 100h
MOV B,A
LDA 101h
CMA
INR A
ADD B
STA 100h

IF X<Y THEN ANO ELSE NE

LDA 100h
MOV B,A
LDA 101h
CMP B
JM ANO

:NE
........
JP VEN
:ANO
....
:VEN

 

WHILE Y>=X DO B

opakuj: LDA 100h
            MOV B,A
            LDA 102h
            CMP B
            JP blok
            JMP Konec
Blok     .......
            ........
            JMP Opakuj
Konec

 

Uložení instrukcí v paměti:

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
Předchozí: Instrukce v paměti a podmíněné skoky

Zásobník

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í !

Zásobník a volání podprogramu

Instrukce

CALL adresa
RET

Příklad:

*1
100h   CALL 200h
103h   *3

......

200h
           *2
210h RET
211h .......

1000h
0FFEh
0FFCh
0FFAh < SP *1 *3
0FF8h

103h

< SP *2
0FF6h
....

 

Fáze instrukce CALL

Fáze instrukce RET

 

Programování V / V operací

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
Předchozí: Zásobník a V/V operace

Multiprogramové zpracování

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í:

  1. Přerušení provádění programu
  2. Úklid PC, A, .....
  3. Provedení obslužné rutiny
  4. Obnovení PC, A .... a tím pokračování v provádění programu

Kdy lze přerušit proces ?

Schéma uplatňování přerušení

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

Singál RESET

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:

  1. vyčkání asi 1s (doba náběhu a ustálení zdroje)
  2. generování signálu RESET
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