1 / 21

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

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)

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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) Címzésmódok

  3. 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 Címzésmódok

  4. Közvetlen címzésdiagramm Utasítás Opkód Operandus Címzésmódok

  5. 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 Címzésmódok

  6. Utasítás Opkód R regiszter cím Regiszterek Operandus Regiszter címzés diagramm Címzésmódok

  7. Memória operandusok Valós üzemmód: 15 0 15 0 Szegmens szám ·16 + eltolás (offset) Védett üzemmód: 15 0 31 0 Szegmens szelektor eltolás (offset, effective address) Címzésmódok

  8. 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 Címzésmódok

  9. 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. Címzésmódok

  10. 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 Címzésmódok

  11. Utasítás Opkód A cím Memória Operandus Direct címzés diagramm Címzésmódok

  12. 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 Címzésmódok

  13. Utasítás Opkód R regiszter cím Memória Regiszterek Operandus Mutató az operandusra Regiszter indirekt címzésdiagramm Címzésmódok

  14. 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 Címzésmódok

  15. Uasítás Eltolás Opkód R regiszter Memória Regiszterek Báziscím Operandus + Báziscímzésdiagramm Címzésmódok

  16. Indexeltcí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 Címzésmódok

  17. 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) Címzésmódok

  18. 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) Címzésmódok

  19. Címzési lehetőségek 32 bites regiszterekkel Skálázási tényező 1 2 4 8 Bázis EAX EBX ECX EDX ESP EBP ESI EDI Eltolás Nincs 8 bit 16 bit 32 bit Index EAX EBX ECX EDX EBP ESI EDI + * + Címzésmódok

  20. Címzési lehetőségek 16 bites regiszterekkel Bázis BX BP Index SI DI Eltolás Nincs 8 bit 16 bit + + Címzésmódok

  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 Címzésmódok

More Related