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

A Mikroprocesszor Második rész. A CPU egyéb belső egységei: BIU (Bus Interface Unit) –A busz interfész egység a 80386-os család processzorainak kapuja.

Hasonló előadás


Az előadások a következő témára: "A Mikroprocesszor Második rész. A CPU egyéb belső egységei: BIU (Bus Interface Unit) –A busz interfész egység a 80386-os család processzorainak kapuja."— Előadás másolata:

1 A Mikroprocesszor Második rész

2 A CPU egyéb belső egységei: BIU (Bus Interface Unit) –A busz interfész egység a os család processzorainak kapuja a külvilágba. Bármely egyéb egység, amelynek külső adatra van szüksége, a BIU- hoz fordul adatért. Ha valamely utasítás adatot akar a me­móriába vagy I/O-csatornába írni, az adat és a cím a BIU-hoz kerül amit a BIU a sínre helyez. A BIU csak a fizikai címmel foglalkozik, ezért az operandus címeknek először át kell haladniuk a szegmentáló és a lapozó egységeken.

3 Szegmentáló egység –A szegmentáló egység alakítja a szegmentált címet lineáris címmé. Az átalakítás idejét a párhuzamos műveletvégzés majdnem teljes egészé­ben elfedi. Egy cím átalakításához maximum egy óraciklus idő szük­séges (de többnyire nulla). A szegmentáló egység tartalmaz egy cache­t, mely deszkriptortáblázat információt tárol a hat szegmensregiszter mindegyikéhez

4 Lapozó egység –A lapozó egység a szegmentáló egység által szolgáltatott lineáris címe­ket alakítja fizikai címekké. Ha a lapozás nem engedélyezett, a lineáris cím azonos a fizikai címmel. Amikor a lapozás engedélyezett, a mik­roprocesszor a lineáris címterületet 4096 bájtos lapnak nevezett blokkokra osztja. A lapok különböző fizikai címekre helyezhetők el.

5 Utasításlehívó egység –Az utasításlehívó egység feladata : folyamatosan kéri a BIU-t, hogy hozza ki a memória tartalmát a következő utasítás címéről.

6 Utasításdekódoló egység –Az utasításdekódoló egység átalakítja a műveleti kódot belső formátumú utasítássá és elhelyezi az utasítássorban.

7 Utasítás-végrehajtó egység (ALU) –Az utasítás végrehajtó egység a CPU azon része, amely bármilyen műveletet elvégez (léptet, összead, szoroz stb.), ami egy utasítás végrehajtásához szükséges. A regiszterek a végrehajtó egységen belül találhatók.

8 Aritmetikai Logikai Egység (ALU): A CPU-n belüli számítási, logikai feladatokért felelős. 1.bináris összeadás 2.Boole algebrai (logikai) műveletek 3.komplemensképzés 4.bitsorozatok léptetése (bitenként jobbra és balra) Ennek megfelelően az ALU rendszerint fixpontos bináris összeadóból, komplementálóból, léptetőregiszterből, és a logikai műveletvégzőből áll.

9 A vezérlőegység (CU): Ő a nagy bábjátékos. Ő irányít mindent. –értelmezi az utasításokat –értelmezi a memória címeket –az adatok/címek megfelelő regiszterbe történő továbbítása –vezérli a számítógép többi egységének működését úgy, hogy az események a programnak megfelelően helyes sorrendben és időben következzenek be. –indítja az áramkörök működését –az ALU-val végrehajtatja a megfelelő műveleteket –biztosítja az eredmények megőrzését –beállítja az utasításszámlálót

10 A CU és ALU kapcsolata

11 Regiszterek: Egy CPU több gyors működésű tárolót úgynevezett regisztert tartalmaz abból a célból, hogy a memóriából kihozott adatokat tárolják. A különböző regiszterek meghatározott feladathoz vannak hozzárendelve. A regiszterek tárolókapacitása egy szó, vagyis a mai viszonylatban 32 vagy 64 bit.

12 Egy-egy regiszter hozzáférési (elérési) ideje általában néhány ns (10 -9 másodperc nagyságrendű). Elérési idő: Az az időtartam ami alatt az adatokhoz hozzáférünk, vagyis a címkijelöléstől az írás, vagy olvasás műveletének befejezéséig eltelik. (Néhány ns, fény 30cm, ha 1s lenne akkor a bill leütés 30 év)

13 Regiszterek 2 fő csoportja: 1.Rendszer regiszter: fix feladatokhoz van hozzárendelve, felhasználó folyamat nem használhatja. 2.Általános regiszterek: szabadon felhasználható.

14 Regiszterek főbb típusai: Akkumlátor regiszeter (AX): Az akkumlátor a CPU megkülönböztetett regisztere. Az aritmetikai és logikai műveletek operandusait, vagyis a műveletek tárgyát képező mennyiségeket vagy azoknak az eredményeit tárolja. Minden műveletben részt vesz. A különböző műveleteket a CPU az akkumlátor tartalmán végzi!

15 Utasításregiszter (IR): A vezérlő egységhez tartozó regiszter, amelyben a memóriából lehozott utasítás tárolódik, amíg a CU az utasítás műveleti jelrésze alapján meghatározza az elvégzendő műveletet és elindítja a mikroprogramot.

16 Utasításszámláló regiszter (PC v. IP): A soron következő utasítás címét tárolja. Az utasításszámláló által címzett első memóriarekesz elérésekor kihozunk a memóriából egy utasításkódot, így az utasításszámláló tartalma eggyel nő és így a memória következő rekeszét címezi, ahol a program szerint a következő utasításkód található.

17 Memória címregiszter: (MAR, memory adress register) Adatok kiolvasásakor vagy beírásakor azonosított memóriarekesz címét tárolja.

18 Memória adatregiszter: (MDR memory data reg.) A memóriából beolvasott vagy beírni kívánt adatok átmeneti tárolója. (puffer)

19 Bázis(cím)regiszter: (BX ) Az operandusok címzéséhez felhasznált regiszter, amely nem általános használatú. A báziscím egy alapcím, amelyhez viszonyítva adhatjuk meg az utasításban az operandus helyét.

20 Indexregiszterek: Szintén nem minden processzorban találhatók és ezek is az operandusok címzését segítik elő, különösen adatsorok feldolgozásánál.

21 Állapotregiszterek, vezérlő regiszterek Egy vagy több regiszteren belül tárolnak vezérlő és ellenőrző jeleket. Az állapotregiszter az ALU műveleti eredményeit jellemzi, a műveletek végrehajtásának eredménye alapján bekövetkező állapotot tükrözi vissza. Pl. az eredmény 0 volta, vagy ha túlcsordulás keletkezik.

22 Állapotinformációk Az állapotinformációval a számítógép pillanatnyi állapotát jellemezzük. Ezeket az állapotokat egy regiszter bitjeinek 0-ra vagy 1-re állításával kódoljuk. Jellegzetes állapotbitek: előjelbit - S (sign) nulla bit - Z (zéró) túlcsordulásbit - O (overflow) átvitelbit - C (carry) félbyte - átvitelbit - H megszakításbit - I paritásbit - P

23 Jelzőbit A jelzőbit (flag) olyan állapotinformáció mely a rendszer működéi módjáról, feltételeiről, a működés közben előálló állapotról ad felvilágosítást. PL: eredmény=0,

24

25 Flag: (jelzőbitek) of (overflow) lebegőpontos túlcsordulás if (interrupt) megszakítás engedélyezés tf (trap) lépésenkénti futtatás sf (sign) negatív eredmény zf (zero) zéró af (auxilary carry) segédátvitel (félátvitel) cf (carry) átvitel pf (parity) paritás df (direction) string-muv. iránya

26 Veremmutató regiszter (SP): (stack pointer) A verem legfelső elemét jelöli ki. A veremtároló egy speciális tároló, amely elsősorban az alprogramok kezelését segíti. A verem nem része a belső regisztereknek, általában a főtárolóban kerül kialakításra. Szervezése LIFO (Last in first out) jellegű, ami azt jelenti, hogy az utoljára bekerült adat vehető ki először, és amit legelőször tettünk be, azt vehetjük ki utoljára (Több szintű verem létezhet, több SP is lehet). A "verem instrukciók" (PUSH, POP) automatikusan hivatkoznak az SP-re és automatikusan állítják

27 A veremtár

28 Regiszterek csoportosítása:

29 Általános regiszterek o AX AKKUMULÁTOR o BX BÁZISREGISZTER (indirekt címzésre használjuk) o CX számláló regiszter (count r.: ciklusokban az iterációk számát határozza meg) o DX adatregiszter (data r. : IO műveleteknél a portok címzésére használható)

30 Címzési regiszterek: o SI Forrás index (source) o DI Cél index (destination) o BP Bázismutató regiszter

31 Vezérlő regiszterek oSP veremmutató (stack pointer) oIP Utasításszámláló (instruction pointer, a soron következő utasítás címének biztosítása CS-sel párban) oFLAG Jelző regiszterek

32 Szegmens regiszterek oCS kód szegmens (code segment : arra a szegmensre mutat, amelyben a következo utasítás található) oDS adat szegmens (data segment : az adatok tárolására szolgáló szegmens címét tartalmazza) oES másodlagos adatszegmens (extra) oSS verem szegmens (stack)

33 Regiszterhasználat, utasítás- végrehajtás elemi lépései. 1.A PC/IP ben található cím bekerül a MAR-ba. Ez alapján kiolvassuk a megfelelő címről az összeadás gépi kódját, ez pufferelésre kerül az MDR-ben, majd innen átkerül az IR-be. 2.Az PC/IP tartalma megnövelésre kerül a kiolvasott utasítás hosszával. (Így az a következő utasítás címére mutat)

34 3.A CPU értelmezi az IR-ben található utasítás műveleti kódját az összeadást. 4.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 5.A CPU kiolvassa az első összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter), majd onnan az akkumlátorba.

35 6.A CPU az IR-ben található címek alapján meghatározza a második operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 7.A CPU kiolvassa a második összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter).

36 8.A CPU a műveletvégző egységében( ALU) végrehajtódik az összeadás, melynek eredménye képződik az akkumlátorban, majd ez bekerül a MDR- be. Memória adatregiszter) 9.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe).

37 10.A MDR tartalma a MAR ben található címre (az első operandus címe) kiíródik. 11.Jöhet a következő utasítás az PC/IP ben található cím alapján.

38 1.A PC/IP ben található cím bekerül a MAR-ba. Ez alapján kiolvassuk a megfelelő címről az összeadás gépi kódját, ez pufferelésre kerül az MDR-ben, majd innen átkerül az IR-be. 2.Az PC/IP tartalma megnövelésre kerül a kiolvasott utasítás hosszával. (Így az a következő utasítás címére mutat) 3.A CPU értelmezi az IR-ben található utasítás műveleti kódját az összeadást. 4.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 5.A CPU kiolvassa az első összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter), majd onnan az akkumlátorba. 6.A CPU az IR-ben található címek alapján meghatározza a második operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 7.A CPU kiolvassa a második összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter). 8.A CPU a műveletvégző egységében( ALU) végrehajtódik az összeadás, melynek eredménye képződik az akkumlátorban, majd ez bekerül a MDR- be. Memória adatregiszter) 9.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 10.A MDR tartalma a MAR ben található címre (az első operandus címe) kiíródik. 11.Jöhet a következő utasítás az PC/IP ben található cím alapján.

39 1.A PC/IP ben található cím bekerül a MAR-ba. Ez alapján kiolvassuk a megfelelő címről az összeadás gépi kódját, ez pufferelésre kerül az MDR-ben, majd innen átkerül az IR-be. 2.Az PC/IP tartalma megnövelésre kerül a kiolvasott utasítás hosszával. (Így az a következő utasítás címére mutat) 3.A CPU értelmezi az IR-ben található utasítás műveleti kódját az összeadást. 4.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 5.A CPU kiolvassa az első összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter), majd onnan az akkumlátorba. 6.A CPU az IR-ben található címek alapján meghatározza a második operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 7.A CPU kiolvassa a második összeadandó értéket a memóriából, ami bekerül a MDR-be (memória adatregiszter). 8.A CPU a műveletvégző egységében( ALU) végrehajtódik az összeadás, melynek eredménye képződik az akkumlátorban, majd ez bekerül a MDR- be. Memória adatregiszter) 9.A CPU az IR-ben található címek alapján meghatározza az első operandus címét a memóriában, és ezt a címet beírja a MAR-be (memória címregiszterbe). 10.A MDR tartalma a MAR ben található címre (az első operandus címe) kiíródik. 11.Jöhet a következő utasítás az PC/IP ben található cím alapján.


Letölteni ppt "A Mikroprocesszor Második rész. A CPU egyéb belső egységei: BIU (Bus Interface Unit) –A busz interfész egység a 80386-os család processzorainak kapuja."

Hasonló előadás


Google Hirdetések