29
Digitális technika V.) Számítógép architektúrák

Digitális technika

  • Upload
    kedma

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Digitális technika. V.) Számítógép architektúrák. Számítógépek. Programozható műveletvégző, adatfeldolgozó. Tárolás: Adatok Műveletsor. Neumann-elv. Bináris Műveletvégzés →Aritmetika Tárolás→Memória Be-, kimenet→Perifériák Vezérlés→Vezérlő egység. Aritmetika. Program. - PowerPoint PPT Presentation

Citation preview

Page 1: Digitális technika

Digitális technika

V.) Számítógép architektúrák

Page 2: Digitális technika

Számítógépek

Programozható műveletvégző, adatfeldolgozó

Tárolás:

o Adatok

o Műveletsor

Page 3: Digitális technika

Neumann-elv• Bináris

• Műveletvégzés → Aritmetika

• Tárolás → Memória

• Be-, kimenet → Perifériák

• Vezérlés → Vezérlő egység

Vezérlő

Aritmetika

Memória

Program Kimenet

Page 4: Digitális technika

4 címes utasítás-szervezés

5 mezős utasítás:

Következő utasítás címe

Operációs kód

Pl..: +, -, *, /…Operandus 1 címe

Operandus 2 címe

Eredmény címKövetkező utasítás címe

Operációs kód

• Redundás

• Nagy méret

Programszámláló (PC)

Automatikus inkrementálás

Felülírható

Akkumulátor

Page 5: Digitális technika

1 címes utasítás szervezés

• Cím = f ( Operációs Kód )• Cím:

– Adatcím

– Adat

– Utasítás cím

Művelet / Operációs kód

Cím

Page 6: Digitális technika

1 címes µP felépítése

ALU

Átmenti reg.Akku

FlagK

imeneti reg.

Bem

eneti reg. Vezérlő CLK

Dekóder

Op. kód Cím

Mem

ória

címreg.

Adatregiszter

MemóriaPC

Utasítás regiszter =

Page 7: Digitális technika

Korszerűbb µP felépítés → C(entral) P(rocessed) U(nit)

• Külső memória

• Külső periféria illesztők

CPU

Vezérlő egység

RAM ROM

Memória

I/O 1 I/O 2 I/O N

Perifériák

Legkorszerűbb felépítés

Page 8: Digitális technika

Intel 8085-ös CPU

X1

X2

Reset Out

SOD

SID

Trap

RST 7.5

RST 6.5

RST 5.5

INTRINTA

AD0

AD1

AD2

AD3

AD4

AD5

AD6

AD7

VSS

VCC

HOLD

HLDA

CLK OUT

RESET IN

READY

IO / M

S1

RD

WR

ALE

S0

A15

A14

A13

A12

A11

A10

A9

A8

Cím-, és adatjel

Multifunkciós, Tri-State

+5V

GND← másik Master lefoglalta a sínt→ fogadta a másik Master kérését→ fosc / 2← PC = 0, Regiszterek törlése← külső memória R/W műveletre kész

→ státusz→ adatbusz kész az olvasásra→ adatbuszon az adat már készen áll→ címtároló engedélyezése

→ IO / Memória művelet, státusz

→ státusz

Címjel, Tri-State

oszcillátorhoz kötve

CPU resetelve ←Soros kimeneti vonal ←

Soros bemeneti vonal →Nem maszkolható Restart interrupt →

Restart Interrupt →

Interrupt észlelve ←

Restart Interrupt →Restart Interrupt →

Interrupt →

Page 9: Digitális technika

8085-ből épült rendszer

Page 10: Digitális technika

8085-ös blokkvázlata

A(kku) Átmenti reg. Műv. reg.

Ut. dekóder

Időzítés és vezérlés

Megsz. kezelő. Soros I/O

+/- cím tároló

Cím buffer Adat/Cím buff.

Program Száml. (PC)

Verem pointer (SP)

B reg. C reg.

D reg. E reg.

H reg. L reg.

IntA

Intr RST5.5

RST6.5

RST7.5

Trap SID SOD

S0 S1

X2

Intr

X1

WRCLK OUT

RD

Ready

IO/M

HLDA

ALE HOLDReset

In

Reset out

ALU

Flag

A8 – A15AD0 – AD7

Page 11: Digitális technika

Programkód elkészítése0 1 1 1 1 0 1 0

0 0 1 0 0 0 0 0

0 1 0 0 0 0 1 0

0 0 0 0 1 0 1 1

1 0 0 0 0 0 0 0

0 1 0 0 1 1 0 0

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

x x x x x x x x

0000H

0004H

0001H

0002H

0003H

7FFEH

7FFFH

8000H

8001H

FFFBH

FFFCH

FFFDH

FFFEH

FFFFH

A-ba 32D

B-be 11D

A és B összeadása

RA

M

mem

óriaE

EP

RO

M

mem

ória

STOP

MVI A, 32D

MVI B, 11D

ADD B

.

.

.

STA 8000H

HLT

Assembly kód

Assembly fordító és

programozó

Page 12: Digitális technika

Alaputasítások végrehajtása

• (Általában) Utasítás = Művelet + Operandus címe

• Műveleti kód → utasítás hossza

• Utasítás hossza: 1, 2, 3 byte (+ 0, 1, 2 byte)

Page 13: Digitális technika

Assembly nyelv utasításai

• Adatmozgatók• Aritmetikai és Logikai• Ugró:

– Feltétel nélküli– Feltételes

• Szubrutin hívó• Vegyes

– I/O kezelés– Megszakítás vezérlők

Page 14: Digitális technika

1) Adatmozgató utasítások

• MOV r1, r2 (r2) → (r1)

• MOV r, M ((H)(L)) → (r)• MOV M, r (r) → ((H),(L))• MVI r, data data → (r), 2B-os• MVI M, data data → ((H)(L)), 2B-os• LHLD addr M → (H)(L), 3B-os• XCHG (H) ↔ (D), (L) ↔ (E), 1B-os

r: 8085-ös belső regisztere: 000 B; 001 C; 010 D; 011 E; 100 H; 101 L; 111 A(kku)M: külső memória 1 „rekeszének” címeD: cél regiszter kiválasztó bitS: forrás regiszter kiválasztó bit((H)(L)): a H és L regiszterekben lévő memória címre történik

0 1 D D D S S S

0 1 D D D 1 1 0

0 1 1 1 0 S S S

Page 15: Digitális technika

2) Aritmetikai és Logikai utasítások• ADD r (A) + (r) → (A)• ADD M (A) + ((H)(L)) → (A), kód: 86H, 2B-os• ADI data (A) + data → (A), kód: C6H, 2B-os• ADC r

• ADC M• ACI data• SUB r (A) - (r) → (A)• SUB M (A) - ((H)(L)) → (A)• SUI data (A) - data → (A)• ANA r (A) & (r) → (A)• ANA M (A) & ((H)(L)) → (A)• ANI data (A) & data → (A), • ORA r / M / data VAGY kapcsolat• XRA r / M / data kizáró VAGY kapcsolat• INR r / M Inkrementálás• DCR r / M Dekrementálás• CMP r / MKomparálás• CMA Komplemetálás (Akku)• PCHL (H,L) → (PC)• SPHL (H,L) → (SP)

Page 16: Digitális technika

• A feltétel a Flag regiszter tartalma.

• Flag regiszter felépítése:– S: SIGNUM, előjel flag, S = 0 ↔ eredmény pozitív

– Cy: CARRY, átvitel flag, Cy = 1 ↔ volt átvitel

– Ac: járulékos átvitel flag

– Z: ZERO flag, Z = 1 ↔ művelet eredménye = 0

– P: paritás flag, P = 0 ↔ eredmény páros

– X5: alól/felül csordulást jelző flag

– V: túlcsordulás flag.

3) Ugró utasítások

S Cy Ac Z P X5 V -

Page 17: Digitális technika

Ugró utasítások

• JMP addr feltétel nélkül, kód: C3H, 3B

• Feltételes ugró utasítás:

• JZ addr ugrik, ha Z(ero) flag = 1, CCC = 001B

• JNZ addr ha Z flag = 0, CCC = 000B

• JC addr ha C(arry) flag = 1, CCC = 011B

• JNC addr ha C flag = 0, CCC = 010B

• JPO addr ha a paritás páratlan, CCC = 100B

• JPE addr ha a paritás páros, CCC = 101B

1 1 C C C 0 1 0

Page 18: Digitális technika

4) Szubrutin hívás, utasításai

Szubrutin: a kódban egyszer definiált eljárás, melyet akárhányszor hívhatunk meg, használhatunk fel.

MVI B, 3D ;ez lesz a szorzó

MVI C, 10D ;ez a szorzandó

CALL SZOR ;szorzo szubrutin meghívasa

CALL KIIR ;kiiro szubrutin meghivasa

.

SZOR: ;szubrutin fejléce

PUSH PSW ;A es flag-ek mentese a verembe

DCR B ;B=B-1

MOV A, C ;C masolasa A-ba

ADD C ; A=A+C

DCR B ;B=B-1

JNZ 13A1H ;visszaugras, ha meg kell szorozni

MOV D, A ;eredmeny (A) mentese D-be

POP PSW ;hivast megelozo alapot beallitasa

RET ;visszatoltes, visszaugras

END

A=

B=

C=

D=

ZF=

3

10

10

30

01

210

2030

Page 19: Digitális technika

Szubrutin hívás

• CALL „utasítás” SP-be az aktuális PC cím beírása (ide tér vissza), szubrutin hívása, 3B, kód: CD

• RET SP-ből PC feltöltése, 1B, kód: C9H

Page 20: Digitális technika

5) Soros IO vezérlő utasítások

• SIM ”A” 7. bitjét kiteszi a SOD vonalra, 1B, kód: 30H

• RIM ”A” regiszter 7. bitjébe menti a SID vonal állapotát, 1B

Page 21: Digitális technika

6) Megszakítás kezelés• µP-ban „főprogram” fut. Külső periféria kiszolgálást kér. A µP elmenti aktuális állapotát

(PC, Flag regiszter, regiszterek), majd meghívja a megszakítást lekezelő „megszakítási szubrutint”.

• Jelzés lehet:– Belső interrupt kezelővel (TRAP, RST vonalak)– Külső IC-vel

• EI Enable Interrupt, megszakítás engedélyezése, 1B, FBH

• DI Disable Interrupt, megszakítás tiltása, 1B, F3H

• Megszakítások egymásba „skatulyázhatók” (ha a prioritás engedi)• Megszakítási szubrutin felépítése:

– µP állapotának mentése (PUSH)– EI?– Megszakítási program– Állapot visszaállítása (POP)– EI?– RET

• A µP az INTA kimeneten jelzi a külvilág (megszakítást kérő felé), hogy a megszakítás regisztrálva lett

Page 22: Digitális technika

Belső megszakítás kezelő

• 8 prioritási szint:

• IT0→ 0000H

• IT1 → 0008H

• .

• TRAP →0024H

• RST5.5 →002CH

• RST6.5 →0034H

• RST7.5 →003CH

Megsz. kezelő.

Intr RST5.5 RST7.5

Intr

IntA RST6.5 Trap

INTR7.5: maszkolható, 1. legnagyobb prioritás, felfutó élre aktív

INTR6.5: maszkolható, 2. legnagyobb prioritás, szintre érzékeny

INTR5.5: maszkolható, 3. legnagyobb prioritás, szintre érzékeny

TRAP (RST4.5):nem tiltható 4.legnagyobb prioritás

INTR: maszkolható (tiltható), legkisebb prioritású

Page 23: Digitális technika

D(irect) M(memory) A(cces) mód

• HOLD bemeneten jelezheti egy másik Master a µP felé, hogy le akarja foglalni a sínt.

• HLDA kimeneten jelzi a µP , hogy elengedte a sínt.

HLDA

HOLD

Page 24: Digitális technika

Adat címzési módok:A) Közvetlen operandusú

• utasításban van az adat. Pl.: ADI 32D

Műveleti kód + Adat MemóriaµP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

Page 25: Digitális technika

B) Direkt címzés

• A műveleti kód mellet megtalálható az operandus memória címe. Pl.: JNZ 1345H (itt van az operandus). Utasítás 3B-os!!!

Műveleti kód + Cím Memória

Operandus

µP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

Page 26: Digitális technika

C) Indirekt címzés

• A műveleti kód által hivatkozott regiszter/cím az operandus címét tartalmazzaH, L regiszter pár tartalmazza a címet. Pl.: MVI M, 11D

Műveleti kód + Cím Memória

Cím

Operandus

µP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

Page 27: Digitális technika

D) Bázis regiszteres címzés

• Műveleti kódban utalás az operandust tartalmazó regiszterre. Pl.: MOV A, B

Műveleti kód + Regiszter MemóriaµP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

Page 28: Digitális technika

E) PC relatív címzés

• A címet a PC és a műveleti kód (~offszet) együttesen adják

Műveleti kód + Offszet Memória

Operandus0

Operandus1

Operandus2

.

Operanuds n

µP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

+

0D, 1D, 2D, …nD

Page 29: Digitális technika

F) Indexelt címzés

• A címet a PC és valamely regiszter tartalma (~offszet) együttesen adják

Műveleti kód Memória

Operandus

µP belső

Regiszterei

B

A

PC

SP

Cím információ

Adat információ

Regiszter utalás

+0D, 1D, 2D, …nD