sz ámítógép architektúra

21
Számítógép architektúra Címzésmódok

Upload: gertrude-lehmann

Post on 01-Jan-2016

27 views

Category:

Documents


2 download

DESCRIPTION

Sz ámítógép architektúra. C ímzésmódok. Operandusok. egy operandus hossza lehet: 1 byte 2 byte (szó) 4 byte egy operandus lehet: az utasítás része regiszterben memóriában az adatszegmensben (címzés a DS szegmensregiszterrel) a veremszegmensben (címzés az SS szegmensregiszterrel) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sz ámítógép architektúra

Számítógép architektúra

Címzésmódok

Page 2: Sz ámítógép architektúra

2007 Címzésmódok 2-21

Operandusok

• egy operandus hossza lehet:– 1 byte

– 2 byte (szó)

– 4 byte

• egy operandus lehet:– az utasítás része

– regiszterben

– memóriában• az adatszegmensben (címzés a DS szegmensregiszterrel)

• a veremszegmensben (címzés az SS szegmensregiszterrel)

• valamelyik járulékos szegmensben (címzés az ES, FS vagy GS szegmensregiszterrel)

Page 3: Sz ámítógép architektúra

2007 Címzésmódok 3-21

Közvetlen címzés

• Az operandus az utasítás része• Operandus = cím mező• Pl. ADD AX,5

– Adj hozzá 5-öt az akkumulátorhoz– 5 operandus

• Nincs memória hivatkozás hogy megkapjuk az operandust

• Gyors

Page 4: Sz ámítógép architektúra

2007 Címzésmódok 4-21

Közvetlen címzés diagramm

OperandusOpkód

Utasítás

Page 5: Sz ámítógép architektúra

2007 Címzésmódok 5-21

Regiszter címzés

• Az operandus a cím mező által megadott regiszterben van

• Effective address (ea) = R• Példa: ADD AX,BX• Nincs memória hozzáférés• Nagyon gyors végrehajtás• Kevés regiszter• Nagyon kicsi címtartomány • Rövidebb utasítások• Gyorsabb utasítás lehívás

Page 6: Sz ámítógép architektúra

2007 Címzésmódok 6-21

Regiszter címzés diagramm

R regiszter címOpkód

Utasítás

Regiszterek

Operandus

Page 7: Sz ámítógép architektúra

2007 Címzésmódok 7-21

Memória operandusok

Valós üzemmód:

Szegmens szám

15 0

·16 + eltolás (offset)

15 0

Védett üzemmód:

Szegmens szelektor

15 0

eltolás (offset, effective address)

31 0

Page 8: Sz ámítógép architektúra

2007 Címzésmódok 8-21

Effektív cím (1)

• Megadható statikus értékként (direkt címzés)

• Kiszámítható végrehajtáskor a következő komponensekből:– eltolás – egy 8, 16 vagy 32 bites érték– bázis – egy általános célú regiszter tartalma– index – egy általános célú regiszter tartalma– skálázási tényező – 2, 4 vagy 8, amivel szorozzuk

az indexregiszter tatalmát

Page 9: Sz ámítógép architektúra

2007 Címzésmódok 9-21

Effektív cím (2)

• 32 bites regiszterek esetén bármelyik általánoscélú regiszter lehet bázis illetve indexregiszter

• Skálázási tényezőt csak 32 bites indexregiszterrel használhatunk

• ESP nem használható indexregiszterként• ESP (SP) és EBP (BP) a veremszegmensben határoz

meg címet• Más bázisregiszter esetén az adatszegmens az implicit• 16 bites regiszterek használata esetén csak az adott

célra szolgáló regiszterek használhatóak bázis ill. indexregiszterként.

Page 10: Sz ámítógép architektúra

2007 Címzésmódok 10-21

Direkt címzés

• A cím mező az operandus címét tartalmazza• ea = cím mező• Pl. ADD AX,[A]

– az A címen levő értéket hozzáadja az akkumulátorhoz

– a memóriában az A címen keresi az operandust

• Egyetlen memória hivatkozással kapja meg az adatot• Nincs szükség plussz műveletekre a címszámításhoz• Statikus adatok címzésére

Page 11: Sz ámítógép architektúra

2007 Címzésmódok 11-21

Direct címzés diagramm

A címOpkód

Utasítás

Memória

Operandus

Page 12: Sz ámítógép architektúra

2007 Címzésmódok 12-21

Regiszter indirekt címzés

• ea = [R]

• Az operandus az R regiszter által mutatott memória címen van

• R lehet BX, SI vagy DI

• 4 byte-os regiszterek használata esetén nincs megkötés, bármelyik regiszter lehet

Page 13: Sz ámítógép architektúra

2007 Címzésmódok 13-21

Regiszter indirekt címzés diagramm

R regiszter címOpkód

Utasítás

Memória

OperandusMutató az operandusra

Regiszterek

Page 14: Sz ámítógép architektúra

2007 Címzésmódok 14-21

Báziscímzés• ea = [R+eltolás]• A cím mező két részből áll

– báziscím a BX vagy BP vagy valamely 32 bites regiszterben

– 8, 16 vagy 32 bites eltolás

• Az eltolást előjelhelyesen kiegészítve hozzáadja a bázisregiszter tartalmához

• BX az adatszegmensben, BP a veremszeg-mensben címez

• Adatstruktúra elemeihez való hozzáférés

Page 15: Sz ámítógép architektúra

2007 Címzésmódok 15-21

Báziscímzés diagramm

R regiszterOpkód

Uasítás

Memória

OperandusBáziscím

Regiszterek

Eltolás

+

Page 16: Sz ámítógép architektúra

2007 Címzésmódok 16-21

Indexelt címzés• ea = [R*s+eltolás]

• A cím mező két részből áll– index az SI, DI vagy valamely 32 bites regiszterben– 8, 16 vagy 32 bites eltolás

• 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8)

• Az eltolást előjelhelyesen kiegészítve hozzáadja a skálázott indexregiszter tartalmához

• Egy dimenziós tömb elemeihez való hozzáférés

Page 17: Sz ámítógép architektúra

2007 Címzésmódok 17-21

Indexelt báziscímzés

• ea = [Rb+Ri*s]

• A cím mező két részből áll– index az SI, DI vagy valamely 32 bites regiszterben

– báziscím a BX, BP vagy valamely 32 bites regiszterben

• Az bázisregiszter tartalmát hozzáadja a skálázott indexregiszter tartalmához

• 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8)

Page 18: Sz ámítógép architektúra

2007 Címzésmódok 18-21

Indexelt báziscímzés eltolással

• ea = [Rb+Ri*s+eltolás]• A cím mező 3 részből áll

– index az SI, DI vagy valamely 32 bites regiszterben– báziscím a BX, BP vagy valamely 32 bites regiszterben– 8, 16 vagy 32 bites eltolás

• A bázisregiszter tartalmát és az eltolást előjelhelyesen kiegészítve hozzáadja a skálázott indexregiszter tartalmához

• 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8)

Page 19: Sz ámítógép architektúra

2007 Címzésmódok 19-21

Címzési lehetőségek 32 bites regiszterekkel

Bázis

EAX

EBX

ECX

EDX

ESP

EBP

ESI

EDI

Index

EAX

EBX

ECX

EDX

EBP

ESI

EDI

*

Skálázási tényező

1

2

4

8

Eltolás

Nincs

8 bit

16 bit

32 bit

+ +

Page 20: Sz ámítógép architektúra

2007 Címzésmódok 20-21

Címzési lehetőségek 16 bites regiszterekkel

Bázis

BX

BP

Index

SI

DI

Eltolás

Nincs

8 bit

16 bit

+ +

Page 21: Sz ámítógép architektúra

2007 Címzésmódok 21-21

Cím

• Egy cím lehet:– közeli (near) – csak az eltolást kell megadni– távoli (far) – meg kell adni a szegmens címet és

az eltolást is