Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Számítógép architektúra x86-os processzorok. 2007x86-os processzorok2-17 A processzor felépítése (8086) Vérehajtó egység (EU): regiszterek, vezérlő egység.

Hasonló előadás


Az előadások a következő témára: "Számítógép architektúra x86-os processzorok. 2007x86-os processzorok2-17 A processzor felépítése (8086) Vérehajtó egység (EU): regiszterek, vezérlő egység."— Előadás másolata:

1 Számítógép architektúra x86-os processzorok

2 2007x86-os processzorok2-17 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

3 2007x86-os processzorok3-17 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)

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

5 2007x86-os processzorok bites védett üzemmód A 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.

6 2007x86-os processzorok bites védett üzemmód A 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)

7 2007x86-os processzorok7-17 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

8 2007x86-os processzorok8-17 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 – az adatszegmens kezdőcímét határozza meg. Az utasításokba foglalt eltolásokkal megadja az operandus címét

9 2007x86-os processzorok9-17 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 os processzortól még két extra szegmens

10 2007x86-os processzorok10-17 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

11 2007x86-os processzorok11-17 Á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 AHAL AX EAX

12 2007x86-os processzorok12-17 Á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)

13 2007x86-os processzorok13-17 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 az ES regiszterrel adja meg a céloperandus címét [ES:DI]

14 2007x86-os processzorok14-17 Á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: JelzőbitODITSZAPC Bit száma

15 2007x86-os processzorok15-17 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

16 2007x86-os processzorok16-17 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

17 2007x86-os processzorok17-17 Regiszterek (összefoglaló) EAX EBX ECX EDX EIP ESP EBP ESI EDI CS DS SS ES FS GS IP SP BP SI DI AH BH CH DHDL CL BL AL 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


Letölteni ppt "Számítógép architektúra x86-os processzorok. 2007x86-os processzorok2-17 A processzor felépítése (8086) Vérehajtó egység (EU): regiszterek, vezérlő egység."

Hasonló előadás


Google Hirdetések