1 / 17

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

Sz ámítógép architektúra. x86-os processzorok. A processzor felépítése (8 0 86). Vérehajtó egység (EU) : regiszterek, vezérlő egység (CU), aritmetikai logikai egység (ALU) – az utasítások végrehajtása

laban
Télécharger la présentation

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 x86-os processzorok

  2. A processzor felépítése (8086) • Vérehajtó egység (EU): regiszterek, vezérlő egység (CU), aritmetikai logikai egység (ALU) – az utasítások végrehajtása • Sín illesztő egység (Bus interface unit – BIU): behozza az utasításokat a EU-ba, kezeli a szegmensregisztereket és az utasítássort • A két egység egymástól függetlenül, aszinkron működik x86-os processzorok

  3. Belső memória • ROM – Read Only Memory, csak olvasható, a BIOS gépfüggő részének tárolására • RAM – Random Access Memory • Regiszterek és memória közti átvitel – az alacsonyabb helyiértékű byte a regiszterből a kisebb memóriacímre kerül (little endian) x86-os processzorok

  4. Valós üzemmód • 16 bites szegmensregiszterek • 16 bites eltolás – a szegmens hossza max. 64 kB • Szegmensen belüli címtartomány: 0000h – FFFFh • 20 bites címek – 1 MB címezhető tartomány • Címszámítás: cím = szegmensregiszter * 16 + eltolás x86-os processzorok

  5. 16 bites védett üzemmód • A 80286-os processzortól • A szegmensregiszterek egy szelektort tartalmaznak, ami index a deszkriptortáblához • Minden szegmenshez tartozik egy bemenet a deszkriptortáblában, ami megadja a szegmens jellemzőit: kezdőcím, hossz, hozzáférési jogok, védelmi információk • Továbbra is 16 bites offset, a szegmens hossza max. 64 kB. x86-os processzorok

  6. 32 bites védett üzemmód • A 80386-os processzortól • A 16 bites védett üzemmódhoz hasonlóan működik 32 bites eltolással • A szegmens hossza max. 4 GB • Lehetséges a lapozás – 4 kB fix hosszúságú lapokra ossza a memóriát (a virtuális memória kezelés a szegmentálás mellett lapozással is dolgozhat) x86-os processzorok

  7. Regiszterek • Nagyon gyors hozzáférésű memória a processzoron belül • Dolgozhatunk 32, illetve 16 bites regiszterekkel • A regisztereknek jól meghatározott feladata van • Nagyrészük használható ideiglenes tárolásra amikor nincs szükség a sajátos szerepére x86-os processzorok

  8. Szegmensregiszterek (1) • 16 bites regiszterek • CS – cod segment register – a kódszegmens kezdőcímét határozza meg. Az IP regiszterrel együtt [CS:IP] megadja a soron következő utasítás címét • DS – data segment register – azadatszegmens kezdőcímét határozza meg. Az utasításokba foglalt eltolásokkal megadja az operandus címét x86-os processzorok

  9. Szegmensregiszterek (2) • SS – stack segment register – a veremszegmens kezdőcímét határozza meg, az SP [SS:SP] illetve BP [SS:BP] regiszterekkel együtt adja meg a verembeli címet • ES – extra segment register – string műveleteknél a DI regiszterrel [ES:DI] adja meg a cél operandus címét • FS, GS – a 80386-os processzortól még két extra szegmens x86-os processzorok

  10. Mutató (pointer) regiszterek • Címszámításnál az eltolást adják meg • EIP (IP) – Instruction Pointer – utasítás számláló • ESP (SP) – Stack Pointer – verem mutató • EBP (BP) – Base Pointer – bázis mutató • EIP a kódszegmensre, ESP és EBP a verem-szegmensre mutat x86-os processzorok

  11. Általános regiszterek (1) • EAX, EBX, ECX, EDX – 32 bites regiszterek • AX, BX, CX, DX – 16 bites regiszterek, a fentiek alacsonyabb helyiértékű 2 byte-ja • AL, BL, CL, DL – a 16 bites regiszterek alacsonyabb helyiértékű byte-ja • AH, BH, CH, DH – a 16 bites regiszterek magasabb helyiértékű byte-ja 31 16 15 8 7 0 x86-os processzorok

  12. Általános regiszterek (2) • EAX – akkumulátor – I/O műveletek és egyes aritmetikai műveletek használják • EBX – bázis regiszter – címzésnél bázisregisz-terként használható az adatszegmensben • ECX – számláló regiszter – ciklusszervezésnél, bitműveleteknél számláló • EDX – data regiszter – I/O műveletek, illetve a szorzás és az osztás használják (párban az EAX regiszterrel) x86-os processzorok

  13. Index regiszterek • ESI (SI) – Source Index – string műveleteknél a DS regiszterrel adja meg a forrásoperandus címét [DS:SI] • EDI (DI) – Destination Index – string műveleteknél azES regiszterrel adja meg a céloperandus címét [ES:DI] x86-os processzorok

  14. Állapotregiszter • EFLAGS – 32 bites regiszter • FLAGS – alacsonyabb helyiértékű 16 bit • Az utasítások végrehajtásának eredményére vonatkozó, illetve vezérlő információt tartalmaz – jelzőbitek • Valós üzemmódban használható jelzőbitek: x86-os processzorok

  15. Jelzőbitek (1) • CF – Carry Flag – átvitel bit, aritmetikai illetve biteltolás műveleteknél ide kerül a kifutó bit • PF – Parity Flag – paritás bit, 1, ha az eredmény alacsonyabb helyiértékű byte-ja számjegyeinek összege páros • AF – Adjust Flag – segédátvitel, BCD aritmetikánál használt, átvitel a 3-as bitről x86-os processzorok

  16. Jelzőbitek (2) • ZF – Zero Flag – 1, ha az eredmény nulla • SF – Sign Flag – 1, ha az eredmény negatív • OF – Overflow Flag – 1, ha aritmetikai túlcsordulás történt • DF – Direction Flag – vezérlő bit, string műveletek irányát határozza meg • IF – Interrupt enable Flag – vezérlő bit, maszkolható megszakítások letiltása • TF – Trap Flag – vezérlő bit, lépésenkénti üzemmód, azaz minden utasítás végrehajtása után megszakítás – debug lehetséges x86-os processzorok

  17. Regiszterek (összefoglaló) 31 16 15 8 7 0 15 0 EAX EBX ECX EDX EIP ESP EBP ESI EDI CS DS SS ES FS GS AH AL BH BL CH CL DH DL IP SP BP SI DI 31 16 15 8 7 0 I VI VI A V R N I O O D I T S Z A P C D P F C M F T P L F F F F F F F F F EFLAGS x86-os processzorok

More Related