szám_arch.pdf

51
1.Kétváltozós logikai függvények Kétértékű logikai rendszer előnyei: A matematikusok szerint tökéletes e alapú számrendszerhez ez áll a 2. legközelebb (3-as azért nem jó mert nehezebb megkülönböztetni 3 jelet). Logikai érték: igaz vagy hamis. Boole algebra: A Boole-művelet olyan logikai művelet, amely logikai értékekhez (operandusokhoz) logikai értéket rendel. A B v ˄ EQ A A B B XOR NOR NAND 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 Egy logikai függvény tehát olyan n változós függvény, melynek változói a {0,1} halmazból vehetnek fel értéket, a függvényérték pedig szintén a {0,1} halmazból valók. Itt az 1 értékre gyakran, mint az igaz, a 0 értékre, mint a hamis hivatkoznak (főleg logikai alkalmazásaiban) Hány darab n változós függvény létezik? - n logikai változónak 2 n lehetséges értékkombinációja van, és minden ilyen kombinációhoz kétféle függvényérték tartozik, vagyis (2 2 ) n Kapunak hívjuk azokat az elektromos eszközöket, amik megvalósítják a logikai függvényeket. A kapuk kapcsolási funkciót látnak el, vagyis megengedik vagy megakadályozzák az áram folyását. 1,2, vagy több () bementjük van ezeknek a kapuknak. A legtöbb kétváltozós függvény ki lehet egészíteni 3 bemenetre, kivéve a XOR-t és az EQ-t. Jelöléseik (emberenként váltózó lehet, Tannenbaumban pl. máshogy van jelölve): igazságtábla Logikai műveletek alatt az ítéletkalkulus ítéletein definiált műveleteket értünk, amelyek segítségével az ítéletekből újabb, összetett ítéleteket alkothatunk. Az így képezett összetett ítéletek igazságértéke pedig egyértelműen meghatározható a kiindulási ítéletek igazságértékeiből. A legáltalánosabban használt logikai műveletek a negáció , a konjunkció , a diszjunkció , az implikáció és az ekvivalencia.

Upload: zoltan-szekely

Post on 21-Nov-2015

12 views

Category:

Documents


3 download

TRANSCRIPT

  • 1.Ktvltozs logikai fggvnyek

    Ktrtk logikai rendszer elnyei:

    A matematikusok szerint tkletes e alap szmrendszerhez ez ll a 2. legkzelebb (3-as azrt nem j mert nehezebb megklnbztetni 3 jelet).

    Logikai rtk: igaz vagy hamis.

    Boole algebra:

    A Boole-mvelet olyan logikai mvelet, amely logikai rtkekhez (operandusokhoz) logikai rtket rendel.

    A B v EQ A A B B XOR NOR NAND

    0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0

    0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0

    1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1

    1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0

    Egy logikai fggvny teht olyan n vltozs fggvny, melynek vltozi a {0,1} halmazbl vehetnek fel rtket, a fggvnyrtk pedig szintn a {0,1} halmazbl valk. Itt az 1 rtkre gyakran, mint az igaz, a 0 rtkre, mint a hamis hivatkoznak (fleg logikai alkalmazsaiban)

    Hny darab n vltozs fggvny ltezik? - n logikai vltoznak 2n lehetsges rtkkombincija van, s minden ilyen kombincihoz

    ktfle fggvnyrtk tartozik, vagyis (22) n

    Kapunak hvjuk azokat az elektromos eszkzket, amik megvalstjk a logikai fggvnyeket. A kapuk kapcsolsi funkcit ltnak el, vagyis megengedik vagy megakadlyozzk az ram folyst. 1,2, vagy tbb () bementjk van ezeknek a kapuknak. A legtbb ktvltozs fggvny ki lehet egszteni 3 bemenetre, kivve a XOR-t s az EQ-t.

    Jellseik (emberenknt vltz lehet, Tannenbaumban pl. mshogy van jellve):

    igazsgtbla

    Logikai mveletek alatt az tletkalkulus tletein definilt mveleteket rtnk, amelyek segtsgvel az tletekbl jabb, sszetett tleteket alkothatunk. Az gy kpezett sszetett tletek igazsgrtke pedig egyrtelmen meghatrozhat a kiindulsi tletek igazsgrtkeibl. A legltalnosabban hasznlt logikai mveletek a negci, a konjunkci, a diszjunkci, az implikci s az ekvivalencia.

  • 1. Karnaugh Weitch tblk, grafikus minimalizls

    Elnye: gyorsabb, biztosabb eredmnyt ad, szemlletes, kevesebb munkt ignyl mdszer. A Karnaugh-tbla sorait s oszlopait a GRAY- kd sorrendjben szmozzuk, mert a GRAY- kd tulajdonsga, hogy a szomszdos szmok csak egyetlen helyirtken klnbznek egymstl.

    Ez a tbbsgi fggvny igazsgtblzata s eltte a Karnaugh tblja. A tbbsgi fggvny akkor lesz igaz, ha a 3 bemenet

    kzl legalbb 2 igaz.

    Hogy is kell a tblt megcsinlni? 1. 3 vltznl gy fog kinzni a tbla. A vastag szeglyen kvli rsz fix.

    A bels rszre meg oda runk 1- est ahol a fggvny is 1-et ad eredmnyl. Pl. a bal fels azrt 0 mert A=0, B=0, C=0 ra a fggvny 0-t ad eredmnyl.

    2. Karikzgatunk: elszr az egyedlll 1-eseket keressk meg, amelyek nem vonhatk ssze msokkal, majd azokat az sszevonhat prosokat, amelyekbl 4-es csoport nem kszthetk, majd azokat a 4-eseket, amelyekbl 8-as csoport nem kszthetk. Csakis 1,2,4 vagy 8 egyest lehet bekarikzni (vagyis 3,5,6,7-et nem). 1 egyes tbb hurokban (karikban) is szerepelhet, a lnyeg hogy minden 1-est krlkertsnk a lehet legnagyobb hurokkal.

    Kis segtsg a kvetkez rszhez:

    1. Egy ngyzetben a vltzkat AND-el kapcsoljuk ssze, ennek a jele legyen a * (szorzs). Pl. a jobb als: A*B*C (a C azrt van neglva, mert ugye a jobb als az az 110, s itt a C=0)

    2. Magukat a ngyzeteket pedig OR-ral kapcsoljuk ssze, ennek a jele legyen a +. Pl. a jobb als hurokban: (A*B*C) + (A*B*C) = A*B , mivel a C + C = 1

    Mit kezdjnk a hurkolt tblval? 1. Az ez eltti kis magyarzatban fel lett rva a jobb als hurok. A mdszert kvetve a bal als:

    A*C, a fels pedig: B*C. 2. A hurkokat ssze vagyoljuk: AB + AC + BC

    Egy kis ltalnossg mg a Karnaugh tblrl:

    - 5-nl tbb vltozs logikai fggvnnyel nem tudunk tblzattal foglalkozni - * s ** (a csillaggal s kt csillaggal jellt ngyzetek) is szomszdok (mint a fldgmbs trkpek. - Brmely kt szomszdos cella kztt egy bit eltrs van. - Az egyms mellett (alatt, felett) lv termek (ngyzetek ) egy hurokkal sszefoghatk s egyszersthet.

    A B C Y

    0 0 0 0

    1 0 0 0

    0 1 0 0

    1 1 0 1

    0 0 1 0

    1 0 1 1

    0 1 1 1

    1 1 1 1

    Ez lesz a cl, vagyis az egyszerstett

    fggvny

  • Hogyan is valsthatunk meg egy Bool-fggvnyt

    Pl.: a fent mr igazsgtblval lert tbbsgi fggvny megvalstsa:

    1. lps: vesszk a fggvny igazsgtblzatt 2. lps: biztostunk NEM kapukat minden bemenet komplemensnek

    ellltshoz. 3. lps: rajzolunk egy s kaput a tblzat minden olyan sorhoz, aminl a fggvny

    (Y) 1-es rtket veszi fel. 4. lps: S kapukat sszekapcsoljuk a megfelel bemenetekkel. 5. lps: Az sszes S kimenett bevezetjk egy VAGY kapuba

    A legfels S kapu

    felel meg a tblzat utols sornak:

    A*B*C.

    A 2. S kapu felel meg az utols eltti

    kapunak: A*B*C

    A 3. S kapu felel meg a tblzat alulrl

    3. sornak: A*B*C

    A 4. pedig allrl az 5. sornak: A*B*C

    Ezzel megkaptuk a tbbsgi fggvny diszjunktv megvalstst: (ABC)+(ABC)+(ABC)+(ABC) A fenti lpsek sszefoglalva:

    1. megnzzk hol lesz igaz a fggvny 2. ahol igaz, ott a vltozkat sszekapcsoljuk S-sel (*-gal), majd a vltozk kzl negljuk azokat, amik

    0-t vesznek fel abban a sorban. 3. majd az sszes ilyen sort sszekapcsoljuk OR-ral (+-szal).

    Ahhoz hogy konjunktvan valstsuk meg a fggvnyt:

    1. megnzzk hol hamis a fggvny 2. amelyik vltoz egy ilyen sorban 1-es (vagyis igaz), azt negljuk, azrt hogy ha sszekapcsoljuk ket

    OR-ral akkor 0-t adjanak, mivel azokat a sorokat nzzk ahol a fggvny rtke hamis. 3. vgl az ilyen sorokat sszekapcsoljuk AND-el.

    Plda konjunktv megvalstsra:

    1. els, msodik, harmadik s tdik sorban lesz a fggvny 0 2. pldnak nzzk a 2. sort:

    - ahhoz hogy az A+B+C egyenl legyen 0-val, az A-t neglni kell, vagyis (A+B+C) - megcsinljuk a tbbi sort is hasonlan

    3. (A+B+C)*(A+B+C)*(A+B+C)*(A+B+C) Gondolom ezek onnan kaptk a nevket, hogy konjunktv vagy diszjunktv norml alakban vannak.

    Megvalstsok egynem ramkrkkel [Tannenbaum knyvbl msolva, trva]

    A B C Y

    0 0 0 0

    1 0 0 0

    0 1 0 0

    1 1 0 1

    0 0 1 0

    1 0 1 1

    0 1 1 1

    1 1 1 1

  • Az elz oldalon be lett mutatva, hogy lehet megvalstani a fggvnyeket NEM, S, VAGY kapukkal. Azonban gyakran knyelmesebb csak egyfajta kapuval megvalstani ket. Ehhez kt j kaput hasznlunk majd a pldban:

    1. NEM-S 2. NEM-VAGY

    A NEM-S s NEM-VAGY kapurl azt mondjuk, hogy teljesek, mert brmely BOOLE- fggvny kiszmthat brmelyik kizrlagos hasznlatval. A tblzat bemutatja, hogy lehet ezzel a kt kapuval kivltani a NEM, S, VAGY kapukat:

    NEM-S kapukkal NEM-VAGY kapukkal

    NEM

    S

    VAGY

    Ahhoz hogy pl. az elz oldalon lv fggvnyt megvalstsuk egyfajta kapukkal. elszr megcsinljuk, mondjuk a diszjunktv megvalstst NEM, S, VAGY kapukkal. Majd az sszes tbb bemenet kaput kicserljk vele ekvivalens 2 bemenet kapura. Pldul ha az elz oldalon lv egyetlen vagy kaput (A+B+C+D), kicserljk 3 olyan vagy kapura, aminek mind 2 bemenete van ((A+B)+(C+D)). Vgl a NEM, VAGY, S kapukat kicserljk a velk ekvivalens NEM-S, NEM-VAGY kapukra (amit a tblzat is mutat ). Ez szp s j, de szrevehet, hogy gy nem lesz optimlis az ramkrnk olyan rtelemben, hogy minimlis szm kaput hasznljon, de ez a megolds mindig megvalsthat. Algebrai egyszersts: A nagy rszt ms rkon mr kellett, lehetett sajttani. Itt azonossgok alkalmazsval egyszerstnk a fggvnyeken. Fontosabb azonossgok: De-Morgan, disztribcis szably AB = A+B, A+B=AB

    A+BC=(A+B)(A+C), A(B+C)=AB+AC

  • A s B szmot hogyan adjuk ssze? A 01011001000 B 01011110111 A s B egy-egy helyi rtke ngy fle verziban ltezhet: 1-1,0-0,1-0,0-1 1 bites sszeads: Fl-sszead:

    A flsszead egysget elvben csak a legkisebb helyi rtken tudjuk felhasznlni, hiszen nem veszi figyelembe az elz fokozatok tvitelt (itt ugye hasznltunk egy XOR, meg egy AND kaput). Azonban:

    A B Elz tvitel sszeg tvitel

    0 0 0 0 0

    1 0 0 1 0

    0 1 0 1 0

    1 1 0 0 1

    0 0 1 1 0

    1 0 1 0 1

    0 1 1 0 1

    1 1 1 1 1

    De ez mr majdnem j, mr csak azt kell elintzni, hogy az tvitel is menjen !! Vagyis rkapcsoljuk a szavazgpnket, ami akkor ad 1-est, ha 3 bit (A, B s elz tvitel) kzl legalbb kett 1-es (lsd az elzfejezetben, amgy ez a hromvltozs tbbsgi fggvny).

    A B sszeg tvitel

    0 0 0 0

    0 1 1 0

    1 0 1 0

    1 1 0 1

    sszeg

    tvitel

    A B

    Cy0

    Cy1

    sszeg

    Cy0

    Teljes sszead

    (AC)v(AB)v(BC) ez kiderlt mg az elz

    fejezetben a Karnaugh tblnl (A*B + A*C + B*C)

    Cy0

    Cy1

    sszeg

    A

    B

  • Azonban nem szabad elfelejteni, hogy ez egy helyi rtken, azaz 1 biten kpes elvgezni az sszeadst. Nagyobb szhosszsg esetn, ktfle mdon jrhatunk el:

    1. Soros sszeads esetn a biteket sorban az sszead ramkr bemenetre vezetjk (elg 1 ramkr). A keletkezett tvitelt megrizzk s tovbbadjuk a kvetkez helyi rtken rkez biteknek. Az eredmnyt bitenknt vezetjk ki az sszegkpz ramkrbl. Termszetesen ehhez egy specilis eszkzre van szksg, amely kpes a bitek lptetsre. gy sszead elemeket sprolunk, de jelents idt vesztnk az sszeadandk s az eredmny bitenknti tologatsval. Sok bitnl hosszadalmas a mvelet elvgzse.

    2. Prhuzamos mveletvgzsnl minden egyes biten egy teljes sszeadt kell alkalmazni, az sszeadandk egyszerre kerlnek a bemenetekre, de az sszeg nem egyszerre jelenik meg valamennyi ki meneten. Ki kell vrni, mg az tvitel thullmzik a legalacsonyabb helyirtkrl a legnagyobbra. Leghamarabb a legalacsonyabb helyirtken kapunk vgleges eredmnyt, mert az tvitel soros mdon terjed.

    Azonban (kis trkk): Pldnak vegyk kt 8 bites szm sszeadst. Osszuk kett a biteket (4-4). gy ahhoz hogy a fels 4 biten elkezdhessnk szmolni, tudnunk kell, hogy az als 4 bitrl jn-e tvitel, vagy sem. Viszont ha a fels 4 bitet sszeadjuk tvitellel s tvitel nlkl (8 T-val) akkor miutn ksz az als rsz mr csak ki kell vlasztani a megfelelt a szerint, hogy volt vagy nem volt tvitel (am i lnyeges gyorstst jelent).

    Kombincis ramkr (combinational circuit)

    A digitlis logika nagyon sok alkalmazsa megkvnja, hogy egy ramkr tbbszrs bemenettel s tbbszrs kimenettel rendelkezzen, s benne a kimeneteket csak a pillanatnyi bemenetek hatrozzk meg. Az ilyen ramkrt kombincis ramkrnek hvjuk. Multiplexer (rn adatszelektornak hvtuk):

    Digitlis logika szintjn a multiplexer egy olyan ramkr, amely 2n adatbemenettel, 1 adatkimenettel s n darab vezrlbemenettel rendelkezik. Mi is ez:

    Mind a kt rajz ugyanaz csak mskppen felrajzolva. Fajti (biztos, ami biztos alapon lerom ezeket is)

    - idosztsos- multiplexer

    - frekvencia-osztsos multiplexer (analg kbel TV)

    - hullmhossz-osztsos multiplexer (optikai tvitel)

    - kd-osztsos multiplexer (idbeli multiplexls, digitlis technika elterjedsvel)

  • Magyarzat: A, B: ezek a vezrl bemenetek, amivel megmondjuk, hogy melyik adatbemenet kerljn a

    kimenetre. 0,1,2,3: adatbemenetek, ezek kzl fog megjelenni valamelyik a kimeneten.

    Brmilyen rtket is rakunk a kontrollvonalra, 3 S kapunak mindig 0 lesz a kimenete, egynek pedig vagy 0 vagy 1 attl fggen mi az rtke a kivlasztott bemeneti vonalnak. A vezrlbemenetek klnbz kombincijval brmelyik S kapu kivlaszthat.

    ALU Meglv elemekbl ssze tudunk mr rakni egy 1 bites aritmetikai logikai egysget (ALU) elmleti skon:

    5 bemenete lesz: - 2 szelektor bit - 2 adat bit - az elz tvitel bit Belerakunk: - teljes-sszeadt - egy S kaput - egy VAGY kaput - egy invertert. Ezeket sszektjk. Kt szelektor segtsgvel meg

    tudjuk hatrozni, hogy milyen mveletet, szeretnnk vgezni a kt bemen biten. Minden mvelet megcsinl egyszerre (sszeads, vagyols), de csak azt kti majd az orrunkra, amit krnk. Ezeket az 1 bites egysgeket sszektve lehetv vlik a kvnt bitszlessg ALU megptse. Hozzs kell tenni, hogy a valsgban kicsit bonyolultabb felptsek szerintem ezek az egysgek . Fontos: Az ALU minden mveletet elvgez, de csak 1-et vlasztunk ki. Emellett a multiplexert Prhuzamosbl-sorosba trtn adat konverterknt is hasznlhatjuk. A 4 bites adatot (lehetne 8 is, a bemenetek szmtl fggen) elhelyeznk a bemeneti vonalakon s ezutn a vezrl vonalakkal sorba lpegetnk: 00-01-10-11 (binrisan), ezzel a 4 bitet egyms utn helyeztk el a kimenetre.

  • A multiplexer inverze a demultiplexer: [TANNENBAUM]: egy egyedi bemen jelet irnyt a 2n kimenet valamelyikre az n vezrlvonal rtktl fggen. Ha a vezrlvonalak binris rtke k, akkor a k-adik kimenet a kivlasztott kimenet. Vagyis magyarul mit is takar: A msodikhoz egy kis magyarzat (ez egy demultiplexer kapuk nlkl felrajzolva): Tegyk fel, hogy van 8 chipnk s gy tudunk egyet aktvv tenni, hogy a CE vonalon megmondjuk neki, hogy most legyen aktv. gy ez a demultiplexer, attl fggen, hogy az A,B,C vezrlvonalakon milyen jelprosts van, csak egy chiphez kldi ki a CE (neglt) vonalon lv jelet. 3-as bra egy ilyen kiosztst mutat a vezrljelekhez (pl. a 0-0-0 vezrljel esetn a 0 vezetkre kerl a bemenjel ezrt lesz a tblzatban 1-es).

    DeKdol: Digitlis logika szintjn a dekdol egy olyan ramkr, amely n adatbemenettel ki tud vlasztani 1-t a 2n kimenet kzl.

    Pl.:

    - van 8 memria lapka - 0. lapka cmtartomnya 0-tl 1 MB-ig - 1. lapka cmtartomnya 1 MB-tl 2 MB-ig - - amikor egy cmet akarunk a memriban hasznlni a fels 3 bit-et

    hasznljuk arra, hogy kivlasszuk a 8 lapka egyikt. - mindig csakis 1 kimenet lesz 1-es, a tbbi 0 - Lnyege: az S kapukra gy kell rktni a bemeneteket:

    o ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC

    o 000, 001, 010, 011, 100, 101, 110, 111

    dekdol

    demultiplexer

  • Trolk, flip-flopok

    Ahhoz hogy 1 bites memrit ksztsnk, szksgnk van egy ramkrre, amelyik valahogy visszaemlkszik az elz bemeneti rtkekre. Az els bra erre mutat pldt 2 NOR kapuval:

    Kt bemenete van: S (set), a trol belltsra, R (reset), az jrabelltsra szolgl. Kt kimenete van: Q s Q, amelyek egyms fordtottjai. A kombincis ramkrkkel ellenttben a kimenete nem csak az aktulis bemenettl fgg, hanem az elz bemenettl is. Az ilyen ramkrt szekvencilis (sorrendi) hlzatnak nevezzk.

    Mint lthat a tblzatbl is kiderl,

    hogy az aktulis kimenet nem csak az aktulis bemenettl fgg, hanem az elz rtktl (Q-tl) is. Msik megfigyels, hogy S (set) csak akkor van hatssal a Q-ra, ha Q rtke elzleg 0 volt, klnben ugyanaz marad. R (reset) viszont pont csak akkor van hatssal Q-ra, ha az elzleg 1-es volt. Vagyis ha S 1-re van lltva, akkor a trol Q = 1 llapotot veszi fel, hasonlan, ha R-t 1-esre lltjuk, akkor a trolt Q= 0 llapotba knyszerti fggetlenl attl milyen llapotba volt elzleg. Az R s S egyszerre trtn 1-esre lltsa megegyezs szerint tilos, mivel ilyenkor az ramkr nemdeterminisztikuss vlik Idztett SR-trol (ha jl rtelmeztem ez a C-trol ):

    Ha az rajel 1, akkor az S kapuk hatsa megsznik, s a trol rzkeny lesz S-re s R-re vagy is akkor gy mkdik mint egy sima SR-trol. Vagyis az rajel az engedlyez jel. Fontos: Az rai anyagban nincs benne, de segti a megrtst s nem nagydolog megrteni mi a klnbsg az elz rajzhoz kpes Mirt is kell ez az rajeles iz? : mert az

    informci vges sebessggel halad t az ramkrkn, s a kapuk is okoznak nmi ksleltetst, s ez nagyszm kapu sorba kapcsolsa esetn a ksleltets jelents id, ami zavart okoz (ennl rtelmesebben nem tudom lerni). Idztett D-trol:

    Ezzel kikszbltk az SR-trolsi bizonytalansgot (S=R=1), elfordulst megakadlyoztuk (mivel D-t negljuk az als s kapura, gy nem lesz soha 1-1). Hasonlan az elz brhoz, a trol akkor lesz rzkeny, ha az rajel 1, vagyis D rtkt mintnak tekintjk s troljuk a trolban. A trolt rtk mindig Q-ban rhet el.

    SR trol

    Igazi 1 bites memria

    Tiltott

  • Flip-flop:

    A flip-flop lvezrelt (a trol szintvezrelt), vagyis adatmsols 1 pillanatban trtnik: az rajel emelked lnl, vagy a lefel halad lnl: D- flip-flop:

    Els rnzsre gy tnhet, hogy hasznlhatatlan egy dolog, de rafinlt modn az inverternek van egy pici (nem nulla) ksleltetsi ideje. Ez dolgoztatja meg az ramkrt. Ehhez van egy rajz a Tannenbaumban (160. oldal krnyke).

    D- flip-flop szabvnyos jellse:

    M-S flip-flop: Mivel errl rn nem volt sz ezrt csak halvnyan rintem. Vesznk kt idztett SR-trolt, ezeket tbuherljuk flip-flop (vagyis hogy ne rajel szintet figyeljen, hanem az let ). Erre plda ott van fent a D-trol. Ezt a kett ezutn sszebuherljuk, gy hogy az els a rendes rajelet kapja a msik meg a negltat. Ha nem rthet nem lnyeg nincs benne a ttelsorba

    Ez a kp teljesen sajt gyrtmny teht nem megbzhat egyelre. A lnyege az lenne, hogy felmen lnl a bal oldali flip-flopba kerlne az rtk, lemen lnl pedig a msodikba. JK flip-flop:

    Erre azrt van szksg mert nem lehet garantlni hogy a kt bemeneten (itt J s K) nem lesz egyszerre 1-es. Ez ellen ugy vdekezik, hogy 1-1 nl gy fog viselkedni mint egy T flip-flop (ami ugye lnyegben egy olyan J-K minek a bemenetei ssze vannak ktve ) , vagyis a flip-flop llapotot vlt (0->1,1->0). J-K flip-flop rajza tk olyan mint az M-S-, csak a Q kimenet pluszban arra az AND kapura van ktve amibe az M legelsnek megy, a Q pedig az S els AND

    kapujra van ktve . T flip-flop: olyan J-K aminek a bementei sze vannak ktve. rajelre vlt az llapotn.

    Flip-flopok hasznlata (Advanced edition)

    1. bra: Felfel fut lt figyeli 2. bra Lefel fut lt figyeli

  • 3. Regiszterek:

    Mi az a regiszter: tulajdonkppen egy lapka, amire rdobunk pr flipflopot, s a lapka lbait vezetkekkel sszektjk a flipflopok bemeneteivel s kimeneteivel. gy kpes trolni j pr bitet, amit olvashatunk s rhatunk.

    Kpesek vagyunk egy n bites digitlis sz trolsra.

    Lptet regiszterek: Ketts feladatot ellt funkcionlis ramkrk, egyrszt egy n bites digitlis sz trolsra, msrszt egy-egy lptet jel hatsra a trolt informci jobbra vagy balra lptetsre hasznlhatk.

    PL.: 4 D- flip-flop 4 bit lptetsre.

    - az adatot sorosan vezetjk be a regiszterbe, a lenti kis tblzat szemllteti Az els flip-flop-ba mindig az aktulis bemeneti rtk rdik, a tbbi pedig megkapja az eltte lv flip-flop ez eltti llapott. X a lptets eltti ismeretlen tartalmat jelli. t1t4 az temeket jelli.

    Viszont a lptetst felhasznlva, ha mr betltttnk egy szmot, akkor a szmrendszer alapszmval (binrisnl 2-vel) tudunk osztani, szorozni, attl fggen, hogy jobbra vagy balra lptetnk. Mg egy kis vltoztatssal pedig csinlhatunk belle egy gyrs szmllt. Ekkor az utols (Q3) bitet visszavezetjk az elshz. A fenti brn adatot sorosan vezetjk be, viszont prhuzamosan kapjuk meg. Lehetsges az is hogy az adatot az utols flip-flop-bl sorosan kivezetve kapjuk meg.

    4. Szmllk Szinkron: ha egy egysg szinkron, akkor egy temre az sszes flip-flop tk egyszerre fog billenni a szinkron jel (nlunk az ra) hatsra. Aszinkron: esetben csak az els flip-flop kapja meg az rajelet s billenti meg a kvetkezt, majd az pedig a rkvetkezt Ilyenkor viszont lesz egy olyan problma, amit tvitel kpzs problmjnak hvnak, vagyis ez rviden annyit jelent, hogy az els s az utols flip-flop billense kztt eltelik valamennyi id (tudomnyosan: az eszkzk kapcsolsi ideje sszeaddik). Msik kis problma is ebbl addik, hogy egy kis ideig fals rtket trol, mire a billens thullmzik.

    Kvetkez oldalon bemutatsra kerl a problma is.

    t Q0 Q1 Q2 Q3

    t1 1 x x x

    t2 0 1 x x

    t3 1 0 1 x

    t4 0 1 0 1

    Erre lptet

  • Ezzel a kis mdostssal a D- flip-flop felezni fogja a frekvencit (mg egy ilyet ennek a kimenetre ktve mr negyedel, stb.)

    Ha ezeket sszektjk (a Q kimenetet a kvetkez CLK bemenetre ktve) egy aszinkron egysget kapunk. Itt lthat az tvitel kpzsi problma (terjedsi id)

    Ttelezzk fel mindegyik nulla: 0-0-0. Jn egy felfel fut rajel az els vlt 0-rl 1-sre, amikor ez vltott vlt a 2.-is 1-esre s gy tovbb. Szinkronszmllk (elre, htra) multi funkcis eszkzkben:

    Mit is tud egy szmll: 01234567-> 0-> s ezt adott pillanatokban csinlja, mondjuk az rajel felmen lre. A bemutatsra kerl szmllban minden D- flip-flop-nak szinkronban kell vltoznia az rajelre.

    1. Az brn lthat ahhoz, hogy D0 kvetkez rtkt megkapjuk elg mindig az aktulis rtket neglnunk. gy a lenti brn rktjk a bemenetre a neglt Q-t.

    2. A Msodik egy picivel mr problmsabb: ahhoz hogy megkapjuk D1 kvetkez rtkt, az aktulis D0, D1 kizr vagy (XOR) rtke kell.

    3. Itt bonyoldik meg igazn a dolog, elg annyit tudni, hogy megvalsthat: ennek a neve legyen KH2 (D0*D2)+(D2*D1)+(D0*D1*D2) = KH2 (ebben az esetben).

    KH0: D0 KH1: D0 XOR D1 KH2: kicsit feljebb ott van Ezt mindet ki lehet derteni Karnaugh tblval. KH0, KH1, KH2 helyre mst KH-kat (kombincis hlzat) helyettestnk be, akkor mst

    s mst tud majd a szerkezetnk: pl. elreszmlls, visszafele szmlls. Mi vlasztjuk, hogy mit csinljon (mint az ALU-nl).

  • ttekints:

    - Lpets: alapszmmal szorzs/oszts. - Szmlls: eggyel val nvels cskkents.

    Aszinkron szmll: JK- flip-flop okkal kerl bemutatsra az aszinkron szmll. Vagyis ht tulajdonkppen T- flip-flop, mivel a J s K bemenetre llandan nyomjuk az 5 V t (vagyis 1-est ), gy az els flip-flop (ami ugye kapja az rajelet) mindig vlt, amikor az rajel 1-rl 0-ra vlt. A tbbi flip-flop pedig akkor vlt, amikor az eltte lv vlt 1-rl 0-ra.

    A szmokat nem a szoksosan balrl jobbra kell olvasni, hanem jobbrl balra, vagyis az 100 jelenti decimlisan az 1-et. Ha ebbl akarunk visszafele szmllt csinlni, akkor a Q (ami az brn nincs bejellve ) kell sszektni a kvetkez flip-flop C bemenetvel. Plusz minden flip-flopnak kell adni mg kt bemenetet (R, S), azrt hogy a kezd, indul rtket be tudjuk lltani. Vagyis egy kicsit macersabb, de nem nagyon sszehasonltk: Nha szksgnk lehet arra, hogy 2 binris szmot sszehasonltsunk, hogy egyenlk-e. Ennek megvalstshoz nem kell sok minden csak pr kapu:

    A kt egysg 0-at eredmnyl, ha egyenlk a bitek s 1-est, ha nem egyenlk. De-Morgan azonossg (A*B=A+B) hasznlatval belthat hogy a kt bra ugyanazt jeleneti. Valsznleg nem 2 biteket fogunk sszehasonltani, hanem mondjuk 32-t, akkor sem kell sokat tenni csak becsatolunk a megfelel helyi rtk bitekre egy XOR/EQ kaput (attl fggen melyik brt nzzk) s annak a kapunak a kimenett rktjk a jobb szls OR/AND kapura, mivel ugye a AND s az OR kapu bvthet 2 bemenet fl is.

    Paritskpz-ellenrz egysgek:

    tem B0 B1 B2

    0 0 0 0

    1 1 0 0

    2 0 1 0

    3 1 1 0

    4 0 0 1

    5 1 0 1

    6 0 1 1

    7 1 1 1

    NAh ehhez egy fl ra kellett mire leesett, hogy ez az aszinkron szmll mirt is mkdik. AZRT MERT LVEZRELT vagyis amikor pl. az els flip-flop 1-es akkor a msodik flip-flop nem fog ugrlni 0-1 kztt (a tbbi sem), csakis akkor vlt amikor az 1. flip-flop 1-bl 0-ra vlt.

  • Ez az egyik legegyszerbb md, hogy ellenrizzk adataink psgt, br ebbl kifolylag csodkat sem lehet tle vrni. Rgebben volt elterjedve, ma mr CRC-t hasznltnak az integrits megrzsre. Tfh. : Van 4 bitnk + mg egy bit parits ellenrzsre. Kt mdszer kzl vlaszthatunk: pratlan, vagy pros parits-ellenrzst alkalmazunk. "Pratlan" parits-ellenrzsnl az elektronika megvizsglja, hogy a bers sorn hny binris 1-est kell trolni, s a paritsbit rtkt ennek megfelelen lltja be. A paritsbit rtke 0, ha a trolni kvnt bitsorozat pratlan szm 1-est tartalmaz, s 1 akkor, ha a trolni kvnt bitsorozat 1-eseinek a szma pros. Msiknl rtelemszeren fordtva

    Mint lthat hozzcsapni mg kt bitet nem nehz. Hogyha az EQ kapukat lecserljk XOR kapukra (ami ugye az EQ kapu negltja) akkor megkapjuk a pros parits ellenrz egysgnket.

    A szmtgpek csoportostsa a feldolgozott utasts- s adatfolyamok szma szerint

    Az utasts- s adatfolyam defincija: Utastsfolyam: az utastsok egyms utni sorozata, amelyeket egy program lefuttatsa

    sorn hajt vgre a szmtgp. (Az utastsfolyam nem azonos a programutastsok sorozatval. Pl. ciklusok utastsai a programban csak egyszer szerepelnek, az utastsfolyamban viszont annyiszor ahnyszor azokat a szmtgp vgrehajtja.)

    Adatfolyam: Az utastsfolyam utastsai mindig meghatrozott adatokra hivatkoznak, amelyekkel a mveleteket el kell vgezni. Ezek egymsutnisgt, amilyen sorrendben rendelkezsre kell llniuk, nevezzk adatfolyamnak.

    (E kt fogalomrl szemlletes kpet alkothatunk, ha elkpzeljk, hogy a program futsakor sorban felrjuk a vgrehajtott utastsokat s az ezekben szerepl adatokat.) Ez az osztlyozs azrt hasznos, mert segtsgvel knnyebb megrteni a bonyolultabb szmtgp architektrk (SISD, SIMD, MISD, MIMD) mkdsnek lnyegt.

    1. SISD architektrj szmtgpek A SISD (Single Instruction Stream Single Data Stream) tpus szmtgp egyetlen utastsfolyammal egyetlen adatfolyamot dolgoz fel, amint azt az albbi bra mutatja:

    Pldk SISD architektrj gpekre:

    A Neumann elv gpek

  • A PC-k kzponti feldolgoz egysge (CPU = Central Processing Unit), azaz processzora, a Pentium MMX-ig (MMX-nl kiegsztettk a SISD utastskszletet a multimdis alkalmazsok miatt [ki- s betmrts ]).

    2. SIMD architektrj szmtgpek

    Egy raks adaton ugyanazt a mveletet vgezzk el. A SIMD (Single Instruction Stream Multiple Data Stream) tpus szmtgp egyetlen utastsfolyammal tbbszrs adatfolyamot dolgoz fel, amint az az albbi brn lthat:

    Ezek a szmtgpek tbb prhuzamos, egyidej mkdsre kpes mveletvgz egysget (ALU) tartalmaznak. Vektormveleteket kpesek vgrehajtani, gpi utasts szinten (pldul a Pentium III processzor 3D grafikus utastsai). Kt alaptpusuk van:

    a kzs trolj (Shared Memory) gpek, s az osztott trolval (Distributed Memory) rendelkez gpek.

    3. MISD architektrj szmtgpek A MISD (Multiple Instruction Stream Single Data Stream) tpus szmtgp tbb utastsfolyammal egyetlen adatfolyamot dolgoz fel, amint azt a kvetkez bra mutatja:

    A gyakorlatban ilyen gpek nem lteznek. Egyes szakrtk ide soroljk a pipeline (futsza lag) szervezs processzorokat, illetve a hibatr architektrkat, melyek tbbszrsen vgzik el a mveleteket azonos adatokon s az eredmnyt hibavdelmi clbl sszehasonltjk.

    Keresztes tanr r pldja: Hibatr rendszerre egy j plda, amikor az rhajzsnl ki kell szmolni a fldet rs szgt. Sok szmtgp ugyanazt szmolja, majd a vgn egy kln hardver ellenrzi az eredmnyeket. Megbzhatsg nvelse, hogy megfelel eredmnyt kapjunk.

    4. MIMD architektrj szmtgpek

    A MIMD (Multiple Instruction Stream Multiple Data Stream) szmtgprendszerek tbb utastsfolyammal tbb adatfolyamot dolgoznak fel, amint azt az albbi brn lthat:

  • Ebbe a kategriba tartoznak a multiprocesszoros szmtgpek (tbb vezrlegysggel) s a nem a hagyomnyos, soros utasts vgrehajts elvn mkd szmtgpek (adatvezrelt szmtgpek, neurlis hlk).

    Adatcmzsi eljrsok Az utastsok vgrehajtshoz ismerni kell az operandusok (feldolgozand adatok) trolsi helyt. Az

    operandusok cmzsre tbbfle mdszert is hasznlnak, annak rdekben, hogy a klnbz feladatokat

    knnyebben lehessen megoldani.

    Az utastsok cmrsze ltalban nem az operandusok pontos (abszolt) cmt tartalmazza, hanem azt a

    processzornak a cmzs mdjra utal kiegszt informcik alapjn, meghatrozott mdon ki kell

    szmtania. A pontos cmek meghatrozsra alkalmazott eljrsokat nevezik cmmdostsi eljrsoknak. A

    cmmdosts oka lehet:

    - az utasts cmrsze nem elegenden hossz, hogy minden memriacm lerhat legyen azon

    - adatsorozat elemein kell, ltalban azonos mveletet vgrehajtani

    - ciklikus mveletsort kell elvgeztetni az adatokkal

    - az elkszlt program thelyezhetsgt kell biztostani

    Alapvet cmzsi mdok (rviden):

    1. Abszolt vagy relatv:

    Abszolt cmzsi md esetn a tnyleges cmet tartalmazza az utasts, relatv cmzs esetn

    pedig valamilyen alapcmhez viszonytott cmet tartalmaz az utasts.

    2. Direkt vagy indirekt (kzvetlen vagy kzvetett):

    Direkt cmzs esetben az urastsban maga a trolhely cm tallhat (ami vonatkozhat a

    memrira vagy a processzor egy regiszterre).

    Indirekt cmzsnl, az utastsban megcmzett trolhelyen nem az operandus tallhat,

    hanem annak cme.

    3. Literlis (lcmzs):

    Nevezik mg kzvetlen adatcmzsnek is, amely esetben magban az utastsban tallhat az

    operandus.

    4. Indexels:

  • Segtsgvel a megcmzett trolsi hely cmrtke folyamatosan nvelhet, gy egy trlhely

    sorozaton egyesvel vgighaladunk.

    1.a. Abszolt cmzsi md:

    Az utasts cmrszben az operandus valdi, pontos cme tallhat. A cm vonatkozhat a memrira, vagy a

    processzor valamelyik regiszterre. Regisztercmzs esetn kisebb hosszsg cmrszre van szksg, mint

    memriacmzsnl. Az gy trtn cmzs esetn a program s a hozz kapcsold adatok a memriban

    nem helyezhetk t, mert akkor a program sszes cmt mdostani kellene. Ez elssorban vezrlstad

    utastsok esetben okoz gondot, mivel a program thelyezsvel az ugrs clpontja is megvltozik. De

    ugyangy az adatok helye is megvltozhat.

    1.b. Relatv cmzsi md:

    Az utasts cmrsze az operandus valamilyen alapcmhez (bziscmhez) viszonytott cmt tartalmazza.

    Alapcmknt szolglhat:

    - egy kijellt regiszterben, bzisregiszterben (base regiszter) elhelyezett rtk

    - a program kezdetnek a cme (bzis relatv cmzs)

    - vagy magnak a vgrehajts alatt lv utastsnak a trolbeli helye, amelynl az alapcmet az

    utastsszmll regiszter (PC) szolgltatja

    Ezek alapjn beszlhetnk:

    - bzisrelatv cmzsrl

    - programrelatv cmzsrl: lehetv teszi a programok memrin belli thelyezhetsgt, azaz

    brhov betltve a programot, belltva az alapcmet a program kezdetre, az futtathat.

    - utastsrelatv cmzsrl.

    A trolhely pontos cme kt cmrtk sszeadsval, a bziscm s az utasts cmrszben lv cm (relatv

    cm) sszegeknt addik ki.

  • 2.b. Kzvetett cmzsi md (indirekt)

    Indirekt cmzsnl nem az operandus cme tallhat az utasts cmrszben, hanem annak a trolhelynek a cme, ahol az operandus cmt megtallja a processzor. Egyes processzorok esetben ez a cmzsi md lehet tbbszint is (a lenti brn lthat). Az indirekt cmzs trtnhet valamely memriabeli trolhely felhasznlsval, vagy a processzor valamelyik sajt regiszternek segtsgvel is. Az ezeken a trolhelyeken trolt cmeket pointereknek (mutatknak) szoktk nevezni.

    A stack-be helyezett adatokat is indirekt cmzssel rhetjk el: stack pointer.

    3. Kzvetlen adatcmzs, lcmzs

    Kzvetlen adatcmzs alatt azt rtjk, amikor az utasts operandus rszben nem az operandus cme, hanem maga az operandus tallhat. Ez megszabja az operandusok legnagyobb rtkt (az utasts cmrsznek korltozottsga miatt), ezrt elssorban kis rtk konstansokkal val mveletvgzseknl alkalmazhat.

    4. Indexels

    Adatsorozatokon val mveletvgzs esetn alkalmazand az gynevezett indexelt cmzs. Ennl a mdszernl az utasts cmrszben az adatsorozat els elemnek a cme tallhat s az indexregiszterben (IX) tallhat az ettl val eltrs, azaz hogy az adatsorozat hnyadik elemvel kell az utastsban megadott mveletet elvgezni. Az indexregiszter tartalmnak nvelsvel (vagy cskkentsvel) vgig tudunk haladni az sszes adaton.

    Egyes processzorok esetben alkalmaznak olyan megoldsokat is, ahol egy-egy adat elkeresse utn az indexregiszter tartalma automatikusan nvekszik, vagy cskken, gy az adatsorozaton val mveletvgzs egyszerbb vlik. Ezt autindexelsnek nevezik.

    Az indexelt utasts s a relatv cmzsi md igen hasonlt egymshoz, mert mindegyiknl egy alapcmtl val eltrs adja meg a pontos trolhely cmet. Azonban lnyeges klnbsg van a kett kztt:

    - relatv cmzsnl az alapcm egy regiszterben van s ennek az rtkt nem vltoztatjuk folyamatosan

    - az indexelt utastsok esetben az alapcm az utastsban van s a folyamatosan vltoz rsz az indexregiszterben tallhat

  • Cmzsi mdok rszletesen Kzvetlen operandus (immediate operand): Az operandus megadsa a

    cmrszen (5.16. bra)

    Direkt cmzs (direct addressing): A memriacm megadsa a cmrszen. Az utasts mindig ugyanazt a cmet hasznlja. Az operandus rtke vltozhat, de a cme nem (fordtskor ismert kell legyen!).

    Regiszter cmzs (register addressing): Mint a direkt cmzs, csak nem memrit, hanem regisztert cmez.

    Regiszter-indirekt cmzs (register indirect addresing): A cmrszen valamelyik regisztert adjuk meg, de a megadott regiszter nem az operandust tartalmazza, hanem azt a memriacmet, amely az operandust tartalmazza (mutat - pointer).

    Rvidebb s a cm vltoztathat. Pl.: 5.17. bra, tmb elemeinek sszeadsa (a jellstl eltekintve Pentium II program). nmdost program (Neumann): Ma mr kerlend (cache problmk!), regiszter indirekt cmzssel kikerltk.

    Indexelt cmzs (indexed addressing,): Egy eltolsi rtk (offset) s egy (index) regiszter tartalmnak sszege lesz az operandus cme, 5.18-19. bra.

    Bzisindex cmzs (based-indexed addressing): Egy eltolsi rtk (offset) s kt (egy bzis s egy index) regiszter tartalmnak sszege lesz az operandus cme. Ha R5 A, R6 B cmt tartalmazza, akkor

    LOOP: MOV R4, (R2 + R5) AND R4, (R2 + R6)

    Verem cmzs (stack addressing): Nem kell operandusz! Az I8086/88 cmzsi rendszere (A7-9) Minta program: A3-4 Az I8086/88 cmzsi rendszere Memria cmzs Adat terlet cmzs

    Kdba ptett adat (immediate kzvetlen operandus) MOV AL, 6 ; AL j tartalma 6 MOV AX, 0FFH ; AX j tartalma 000FFH Automatikus szegmens regiszter (ASSUME): DS

    Direkt memria cmzs: a cmrszen az operandus logikai cme (eltols, displacement)

    MOV AX, SZO ; AX j tartalma SZO tartalma MOV AL, KAR ; AL j tartalma KAR tartalma Valahol a DS ltal mutatott szegmensben: SZO DW 1375H

  • KAR DB 3FH (DS:SZO) illetve (DS:KAR) MOV AX, KAR ; hibs MOV AL, SZO ; hibs MOV AX, WORD PTR KAR ; helyes MOV AL, BYTE PTR SZO ; helyes

    Indexelt cmzs: a logikai cm: a 8 vagy 16 bites eltols + SI vagy DI (BX) tartalma MOV AX, [SI] MOV AX, 10H[SI] MOV AX, -10H[SI]

    Regiszter indirekt cmzs: eltolsi rtk nlkli indexelt cmzs MOV AX, [BX] MOV AX, [SI]

    Bzis relatv cmzs: a logikai cm: eltols + SI vagy DI + BX tartalma MOV AX, 10H[BX][SI] MOV AX, [BX+SI+10H] Stack terlet cmzs Automatikus szegmens regiszter (ASSUME): SS Megegyezik a bzis relatv cmzssel, csak a BX regiszter helyett a BP szerepel. Program terlet cmzs Automatikus szegmens regiszter (ASSUME): CS A vgrehajtand utasts cme: (CS:IP) Egy utasts vgrehajtsnak elejn: IP = IP + az utasts hossza.

    IP relatv cmzs: IP = IP + a 8 bites eljeles kzvetlen operandus Direkt utasts cmzs: Az operandus annak az utastsnak a cme, ahova a

    vezrlst tadni kvnjuk. Kzeli (NEAR): IP = a 16 bites operandus Tvoli (FAR): (CS:IP) = a 32 bites operandus. CALL VALAMI ; az eljrs tpustl fggen NEAR vagy FAR

    Indirekt utasts cmzs: Brmilyen adat cmzsi mddal megadott szban vagy dupla szban trolt cmre trtn vezrls tads. Pl.:

    JMP AX ; ugrs az AX-ben trolt cmre JMP [BX] ; ugrs a (DS:BX) ltal cmzett ; szban trolt cmre.

    Mikroprocesszor

    Memria felptse: A memria byte szervezs (8 bit), vagyis a legkisebb cmezhet egysg 1 byte. Ezeket az

    egysgeket besorszmozzuk, hogy meg tudjuk ket klnbztetni. gy a szmtgp tbbi egysge is 8 bites: a processzor, idzt. De az Intel egyszer csak azt mondta a processzor legyen 16 bites -> a 8086 megbukott, mert nem lehetett hasznlni a 8 bites egysgekkel. gy az Intel csinlt egy 16 bites processzort, ami kifel 8 bites, viszont bell 16-bites. (pl. 286-os) Problma: neki 16 bit kell ahhoz, hogy dolgozhasson:

    - ezrt 2 x 8 bitet olvas be - ?a cmek prosval vannak? - ?ha a 0. cmrl kr -> akkor a 0.-at s az 1.-t akarja?

  • - ?ha a 2. cmrl kr -> akkor a 2.-at s a 3.at akarja? ?A mai 32 bites rendszerek is 4 x 8 bitet habzsolnak be logikailag.?

    Kapcsolattarts: CPU-Memoria-perifria

    - az adatbuszon, mozognak az adatok: proci memo

    proci perifria

    perifria memo

    - a cmbuszon van a cm

    - s a vezrlbusz, hogy tudjuk kit s mirt

    akarunk elrni

    Adatbusz: van D0-D1--D7 vezetk (pldnak rajzolt kpbl kiindulva) Vezrlbusz: itt mr nem olyan egyrtelm. De 3 vezetk (pl.): RD (read), WR (write), M/IO (memria vagy perifria)

    a valsgban neglt vezetkek

  • CPU-felptse: -MDR (memory data register): kvl lb, bell regiszter az adatbuszra kapcsoldik -MAR (memory address register): ez is megjelenik, mint lb -CU (control unit): leegyszerstve az adatokat ramoltatja Bvebben: az egysg IR (kpen I)-be a program utastsait egyenknt befogadja, rtelmezi azok mveleti jeleit s a szerint vezrli az ALU-t]. -PC (program counter, PCR): mindig a kvetkez utasts memriabeli cmt tartalmazza, mrete akkora, mint a cmbusz mrete, minden utasts vgrehajtsa alkalmval automatikusan 1-el (1 utasts hosszval) n, kivve ha a program mst nem r el. -I (instruction pointer, nha IR): a trolbl elkeresett,

    vgrehajtand utastst fogadja be a feldolgozs idtartamra -DC: (data counter): rgen tnylegesen ntt eggyel, ma mr nem

    -Indexregiszter (IR = Index Register, kicsit flrerthet az IR jells) amely az operandusok cmzst segti el. Nem fordul el az sszes processzortpusnl. ALU: aritmetikai-logikai mveletvgz egysg FLAG Register: az aktulis processzorllapotot visszatkrz llapotjelz regiszter

    Hagyomnyos Neumann elv gp utasts feldolgozsa, memria s I/O ciklusok:

    I. Utasts elkszts, lehvs (fetching): 1. PC-> MAR:

    Pl. 5B cm megjelenik a vezetkn (csom 0 meg 1-es) 2. MR MDR o [5B] lv 6A megy az MDR-be

    4. MDR -> I (Istruction register): o Ide rakjuk az utastsokrl a msolatot. Nha IR a neve (de ugyangy nhol PCR, DCR van).

    5. PC = PC + 1 (legels cmet az OP-rendszer adja) A: akkumultor, adatot trol, a memribl ide olvassa be az adatot, mivel az ALU ezt tudja piszklgatni, pl. nvelni, stb.

    II. Adatbeolvass: 1. DC -> MAR 2. MR MDR 4. MDR -> A

    III. Vgrehajts (executing):

    o a kijellt mvelet vgrehajtsa az elksztett operandusokkal, s itt vltozhat a PC rtke (vagyis hogy hol van a kvetkez utasts)

    IV. Eredmny elhelyezse

    2.5 rtelmezs, adatelkszts

  • FLAGS: - logikailag bitet jelent, eredmnyjelz (igen-nem) - minden aritmetikai ciklus belltja, az aktulis utasts eredmnytl fggen

    CY - tvitel (carry) jelzbit: 1-esre lesz lltva, ha a legmagasabb helyi rtken tvitel keletkezik OV - tlcsorduls (overflow) jelzbit: 1-esre lesz lltva, ha a mvelet eredmnye nagyobb, mint a

    trolhat legnagyobb rtk. Z - nulla (zero) jelzbit: 1-esre lesz belltva, ha a mvelet eredmnye 0. (CMP utastsnl) S - eljel (sign) jelzbit: 1-esre lesz belltva, ha a mvelet eredmnye negatv.

    P parits (parity) flag : ha az eredmny paritsa pros (?egyesek szma pros vagy pratlan?) HC half carry

    CALL-RET (szubrutinhvsra plda) Szubrutin: olyan gyakran alkalmazott utastsok, amiket tbbszr felhasznlunk, de csak egyszer trolunk Vzlatos ttekints: 4 5 -CALL : a PC-t (program counter-t) tlltja 3B7C-re, a 6-ost hidegre teszi 3B7C . . 3B81 -RET: visszahozzuk a 6-ost

    6

    SP - stack pointer, azt mutatja, hogy hova tesszk a verembe val elemet

    Stack (verem) - a memria egy klnleges helye - Olyan, mint egy zsk, amit utolsnak tesznk bele azt vesszk ki elsnek

  • Stack fajti, szerepe: A verem olyan adatszerkezet, melybe bevinni elemet az eddig mr bent lv elemek utn lehet. Az els elemet a verem aljra teszem, a kvetkezt ennek a tetejre s gy tovbb. Veremrl lvn sz, mindig csak a legfelst ltom. Egy verembl mindig csak a legutoljra bevitt adatelemet tudom kiemelni. Az, hogy kiolvasok egy elemet a verembl, az egyben az adott adatelemnek az eltvoltst is jelenti. A verem a ftr egy kijellt memriaterlete, vagy egy regisztertr a CPU-ban (kaszkd verem). A verem (stack) LIFO szervezs trolhely: az utjra bert adatot lehet elszr kiolvasni. A verem gy mkdik, mintha oszlopba rendezett regiszterekbl llna s csak az oszlop tetejn lv regiszteren keresztl lehetne abba adatokat berni vagy ebbl adatokat kiolvasni. A verem tetejn lv rekeszre mutat a veremmutat. Ha egy adat bekerl a stack-be akkor a veremmutat az SP 1-gyel cskken, ha kivesznk belle egy elemet, akkor a veremmutat rtke 1-gyel n. Szubrutin hvsakor (CALL) a visszatrsi cmet helyezi el a stack-ben s a szubrutinbl val visszatrskor (RET) innen olvassa ki a visszatrsi cmet. Kaszkd verem: A verem egy msik szervezs formja a kaszkd verem. Ez olyan verem, amely a CPU-n bell van, s meghatrozott szm regiszterbl ll. Az adatbers/olvass itt is kizrlagosan a verem tetejn trtnik, itt azonban nincs szksg SP-re, ugyanis minden bers utn minden adat eggyel lejjebb ugrik. Amennyiben a legals rekeszben volt adat, akkor az elvsz. A kiolvass ennek a fordtottja. A legfels adat kiolvasst kveten minden egyes adat eggyel feljebb ugrik.

  • Utasts kszlet A processzor egyik fontos jellemzje, hogy hny s milyen tpus gpi utasts vgrehajtsra kpesek. A processzor szmra rtelmezhet utastsok sszessgt nevezzk tastskszletnek.

    Jellemz utasts tpusok: Mindig van LOAD s STORE utasts ( egy vagy tbb formban) az adatoknak a memria s a regiszterek kztti mozgatsra, s van MOVE utasts adatoknak regiszterek kztti msolsra. Mindig vannak aritmetikai utastsok, csakgy mint logikai utastsok, adatok sszehasonltsra s elgazsra szolgl utastsok Az utastsokat megkzeltleg fl tucat (6) csoportba lehet sorolni. Vezrlstad utastsok: CALL-RET pros ttekintse az ltalnos mikroprocesszor modellnl.

    JMP (jump, ugrs): Felttel nlkli: 6 -> 7 -> 8 -> 9 -> 10 (norml esetben erre menne mondjuk) Feltteles: Ugorj ha filozfia. A felttel ltalban egy bithez kapcsoldik: carrybit,

    Jif: JC carry-bitet nzi, s ha az 1-es, akkor ugrik JZ ugrik ha zero-bit 0 Emellett ezeknek megvan a fordtottja is: JCN ellenkez esetben ugrik, mint JZN hasonl az elzhz

    SKIP: Hasonl a JMP-hoz, ha a felttel stimmel, akkor 1 utastst kihagy. Nincs felttel nlkli vltozata, mivel az azt jelenten, hogy az azt kvet utastsra nincs is szksgnk.

    INT (interrupt) Hatsra a gp gy csinl mintha kls megszakts rkezett volna (CALL szer dolog).

    Szoftvermegszakts kezdemnyezse. IRET Ez a prja, visszatrs megszaktsbl. Pl. hasznlhatjuk DIV-nl ha tudjuk, hogy oszts tlcsorduls lesz.

    jump utasts hatsra a processzor x-edik

    memriacmmel folytatja

  • Aritmetikai utastsok: ADD:

    sszeads, 1 byte-nl mg mkdik, azonban tbb byte esetn mr a nagytestvrt is hasznlnunk kell: ADC (add with carry) mivel a byte-ok kztti tvitelre is figyelni kell. gy az els byte-t ADD-vel adjuk sszes majd a tbbit ADC-vel ADD r1, r2: az eredmny r1-ben lesz

    SUB: Itt is megvan a nagytestvr: SBC, azonban mivel itt nem carry van hanem boro gy nhny processzornl SBB-t kell hasznlni tbb byte kivonsra

    Az sszeadsnl s kivonsnl nem kell figyelni, hogy eljelesek-e a szmok vagy sem. MUL:

    A szorzs eljel nlkli szmokkal vgezhet, s szoftveresen kell figyelni r hogy miket is szoroztunk ssze.

    IMUL: Eljeles szorzs. Ilyen nincs az K. P. rjban.

    INC: Eggyel val nvels. DEC: Eggyel val cskkents. DIV: Egsz oszts. Az oszts eredmnybl az egsz rszt s a maradkot adja. Legrosszabb esetben 16 bites : 8 bitessel = max 16bit maradk: max 8bites

    HA nullval osztunk, vagy az eredmny nem fr el akkor oszts tlcsorduls lp fel. Van IDIV eljeles osztsara

    CMP(compare): Kivons, de az eredmnyt nem teszi sehov, de a flageket belltja.

    Mire hasznlhat: A-B -> zero flag= 0, akkor a kt szm egyenl Vagy egy billentylenyomsrl el tudjuk dnteni, hogy pl. egyenl-e A-val (az rtkvel), anlkl hogy levonogatnnk, hozznylnnk az rtkkel

    Logikai utastsok: AND: AND R1, R2

  • - a kis ventiltorainak bekapcsolni tudjuk vele XOR:

    jobbra lptetsnl a legnagyobb helyi rtkre 0 kerl SHL - shift left -> balra lptetsnl a legkisebb helyi rtkre 0 kerl SAR - shift arithmetic right -> itt van trkkzs, mert legnagyobb bitet tekinthetjk SAL - shift arithmetic left -> ugyanaz, mint SHL

    Forgat: Rotls (jobbra vagy balra): ROR ROL RCR RCL

    INT (interrupt) - hatsra a gp gy csinl mintha kls megszakts rkezett volna (CALL szer dolog)

    IRET - ez a prja Pl. hasznlhatjuk DIV-nl ha tudjuk, hogy oszts tlcsorduls lesz.

    eljelnek, amit meg kell rizni

    Visszalp a

    kies bit

    Rotls, de

    beleveszi a

    carry bitet is

  • Csoporton kvli:

    NEG:

    Kettes komplemenst csinl: Elszr NOT majd +1. gy aritmetikai s logikai is, vltoz hogy hova teszik.

    NOP: res utasts. IN s az OUT: memria httrtrolk, perifrik

  • Megszaktsi rendszer

    Az utastsok szablyszer feldolgozst megszakt esemnyeknek kt alapvet tpusa van:

    programfutshoz kpest kls eredet megszaktsok (Interrupt), pldul egy I/O eszkz adattviteli ignynek jelzse.

    az utastsok szablyszer vgrehajtst megakadlyoz kivtelek (exception), melyet a processzor egy utasts vgrehajtsa sorn szlel.

    A helyzet a kvetkez: van a CPU-nk, meg egy csom perifrink. Ahhoz hogy processzornak ne

    kelljen llandan arra figyelnie, hogy pldul a felhasznl mikor nyomott billentyt, megalkottk a

    megszaktsi rendszert (mivel pl. az ember s a processzor mveletvgzsi sebessge

    nagysgrendekben eltr).

    Egy kls esemny ( I/O eszkz adattviteli ignynek jelzse) ltal okozott megszaktsok esetn a

    processzor az ppen aktulis programutasts vgrehajtst szablyszeren befejezi, s ezt

    kveten kezd el foglalkozni a megszaktskrelmem kiszolglsval.

    Mivel a megszaktsok fellpse a programvgrehajts szempontjbl vletlenszer, a is

    elfordulhat hogy a megszakts krelem kiszolglsa alatt szintn bekvetkezik egy megszakts.

    Megszakts vezrl felptse, ismertetse:

    A CPU-nak van IRQ bemenete: - ezen keresztl szl a perifria, hogy adj

    De tbb perifria van: 8259 es integrlt ramkr:

    - megszakts elosztst vezrli, ez beszli meg a dolgot a CPU-val - megnzi, hogy az ignyelt megszakts nincs-e maszkolssal letiltva - vizsglja s rtkeli a megszakts priortst - INT (Interrupt) vezetken kzli a megszaktskrst a processzorral - IACK (Interrupt Acknowlegment) vezetken fogadja, hogy a processzor ksz van-e a

    fogadsra - 8 forrslehetsg (kaszkdoltnl 15)

    2. szm megszakts a kperny: Leegyszerstve a kperny egy olyan memria, ami meg is jelenik a szmunkra. Azrt van szksg megszaktsra, hogy ne rjunk s olvassunk belle egyszerre 8259-es ramkr dnti el az egyszerre bejv jeleknl a prioritsi sorrendet. A szmtgpek fejldsvel egyre tbb perifrit csatoltunk a szmtgphez -> pl. LPT2-t helyett ms kapott megszaktsi lehetsget (pl. 286-os), azonban a tovbbi fejlds ms megoldst kvnt.

    IRQ 0 - Timer IRQ 1 - klaviatra . - video . -COM2 . - COM1 . - LPT ??? . - FLOPPY IRQ7 -LPT 2

    } Elterjedt adattviteli kapcsolat Prhuzamos, ha minden igaz

  • 2 (azaz kett) db 8259-es ramkr, kaszkdols: Azrt van szksg a megszakts vezrlre, mert tbb megszakts is rkezhet egyszerre. Ez nem azt jelenti, hogy mind pont ugyanabban a pillanatban merl fel egyszerre, hanem pl. amg a CPU dolgozik, jn egy megszakts, de neki mg be kell fejeznie az aktulis feladatt, de ez alatt az id alatt jn mg egy megszakts.

    Kivtelek:

    Vannak olyan utastsok, amelyek felhasznli zemmdban tilosak. Kivtelek, vagy ms nven exception-ok akkor merlnek fel, ha a mkdsben valami szokatlan merl fl:

    1. Egy utasts olyan memria terletre hivatkozik, amire nem lenne szabad. 2. Vagy a programunk olyan utastst tartalmaz, amit nem hasznlhatunk: illeglis utasts 3. Vagy tegyk, fel olyan memriaterletre hivatkozunk, ami jelenleg nincs bent a

    memriban (nincs clp a lbunk alatt): exception -> lap betltse

    Ilyen esetekben szksg van szerelkre. Az opercis rendszer exception kezel rutinjai fognak meghvdni. Kicsit hasonl, mint a JAVA-ban (vagy ms magas szint prog. nyelvben), ahogy mi is elkapjuk az exception-okat s valamilyen formban reaglunk r.

    - 2/9-es lesz a vide

    - ezt a kettssget kaszkdolsnak

    nevezzk, kaszkdolt krs

    - gy lesz 15 fle megszakts

    - pl. 486-osban is ez volt/van

  • DMA (Direct memory Access) A DMA vezrl egy leegyszerstett CPU-

    hoz hasonl hardver egysg, amely az

    adatmozgst kzvetlenl irnytja a

    memria s az I/O kszlk kztt. gy is

    felfoghat, hogy az ebben rsztvev

    perifria kzvetlen memria hozzfrssel

    rendelkezik.

    Vezrlbuszban: DMA REQ (request) DMA ACK DMA a gyors perifriknl j.

    A DMA alkalmazsnak egyik clja a CPU mentestse az adattvitel kvetlen vezrlse all.

    Emellett a DMA vezrlssel nagysebessg kzvetlen adattvitel rhet el a memria s az I/O

    kszlkek kztt.

    A CPU s az I/O, valamint a memria kzs buszra vannak rkapcsolva, ezrt a CPU s a I/O azonos

    ciklusban nem frhetnek hozz a memrihoz. Vagyis meg kell osztani a sn hasznlatt. Ennek a

    megoldsra klnbz DMA adattviteli megoldsok vannak:

    1. CPU lelltsi eljrssal (burst, blokkos tvitel): A CPU lekapcsoldik a buszrl a DMA

    adattvitel tartama alatt. Lasstja a CPU mkdst, de ilyenkor a leggyorsabb a DMA

    adattvitel

    2. Memria-idszelet eljrsnl: a memriaciklust kt rszre bontjk fel. Az egyik a CPU-, a

    msik a DMA-. Nagy CPU vgrehajtsi s nagy DMA adattviteli sebessg, de nagy

    sebessg, drga memrit ignyel.

    3. Cikluslopsos eljrs: kompromisszum az elz kett kztt. tlapolva hasznljk a buszt.

    Ha mindkettnek azonos idben lenne szksge a memrira, akkor a DMA-nak prioritsa

    van, a CPU vr, amg a DMA ciklus be nem fejezdik. CPU mkdst lasstja, de nem lltja

    le, legtbb esetben kielgt megolds.

    4. Transparent/Transport: olyan perifriknak van, akiknek van idejk s memrijuk letrolni

    az adatot, amg a CPU foglalt. Ez a md a CPU-t figyeli, nem lltja le, de ha a CPU magba

    mlyed s nem hasznlja a memrit, akkor ez alatt benyom, annyi adatot a memriba

    amennyit csak tud.

    Vagyis a CPU szempontjbl az adata tvitel transzparens.

  • A DMA regiszterei:

    cmregiszter, amely azt a memriarekesz cmet trolja, amely a kvetkez rsi/olvassi mveletben rszt vesz.

    a szmll regiszter, amely az tvitt memriarekeszeket szmllja

    llapot regiszter, amelynek tartalma meghatrozza az adatramls irnyt A DMA vezrl csatornihoz prioritsi rtkeke rendelhetnk hozz. A DMA vezrl helye szerint kt megoldst klnbztetnk meg:

    elosztott DMA: az I/O kszlkekben van a DMA vezrl

    Centralizlt DMA: egyetlen DMA vezrl szolglja ki valamennyi I/O-t Tbb perifrinl hogy kell elosztani a buszt:

    Kzs krvonal: A perifrik csak akkor adjk tovbb a jelet, ha nem jeleztek. Soros priorits feldolgozs.

    Gond: a hardverben van kiosztva, fix priorits. Kiheztets, a sorvgen lv ritkn jut szhoz. Itt a priorits a csatlakozra vonatkozott, vagyis lehetett prioritst vltoztatni, de ahhoz meg kellett cserlni a perifrik csatlakoztatst. (Megjegyzs: itt a pldakpen a minden perifria tartalmazza a sajt kis DMA-jt) Alternatva:

    Prhuzamos snfoglals Lehet prioritst vltoztatni, rotlni, sszerbben kiosztani.

    Plda a priorits vltoztatsra, ha az olyan egysgeket amiket kiszolglunk mindig a prioritsi sor

    vgre rakjuk.

    Egy DMA adattvitel vgrehajtshoz a kvetkez vezrlsi feladatokat kell elltni:

    Cmvonal vezrls: DMA-s rendszerekben a cmbuszt vagy a CPU, vagy a DMA hajtja meg. A DMA ciklusban a DMA-nak az aktulisan szksges cme kell a cmbuszra raknia.

    Adattviteli vezrls: memria, I/O kztti adattvitelhez megfelel idztssel vezrljeleket kell szolgltatni. Csak a DMA ciklusban.

    Cmtrols: a DMA cmregisztere tartalmazza a kvetkez rsra vagy olvassra kerl adat cmt. Minden tvitel utn inkrementlni vagy dekrementlni kell.

    Adatszmlls: a DMA adattvitel kezdetekor a CPU betlti a DMA szmllregiszterbe az tvitelre kerl rekeszek szmt. Az tvitel alatt a DMA vezrl szmllja az tvitt rekeszeket s a megadott szm adat tvitele utn befejezi az adattvitelt.

    zemmd vezrls: a DMA zemmd regisztert a CPU tlti fel adattvitel eltt.

    Memrik

  • Csoportostsa:

    RAM (Random Access memory): Fordts: vletlen elrs memria tetszleges elrs memria rhat/olvashat memria. Kikapcsols utn tartalma visszavonhatatlanul elvsz (fals rtket adna). Fajti:

    statikus RAM (70-160 ns): Az adatokat egy flvezet memriban (flip-flop) trolja, minden bitjhez 4-6 tranzisztor kell. Ennek az llapota mindaddig megmarad, amg jra nem rjk, vagy a tpfeszltsg meg nem sznik. A SRAM-okat nem kell bizonyos idkznknt frissteni. Nagyon gyorsak (Elrsi idejk nhny ns), de nagyon drgk, ugyanakkor kevesebb energit fogyasztanak.

    dinamikus RAM (10-20 ns): Elemi cellja egy kondenztor s egy tranzisztor (CMOS technolgia, 1 tranzisztor -> 1 bit). Ezek az elemek viszonylag nagy srsgben helyezhetk el az integrlt ramkrben, gy relatve olcs s emiatt a fmemrik majdnem mindig dinamikus RAM-ok. A memria tartalmt viszont meghatrozott idnknt frissteni kell. Mivel az elektronok szivrognak

    ROM (READ ONLY MEMORY): - gyrts sorn kialaktjk a memriakpet, az alapkltsge sok, de 1-nek az ra kicsi, gy nagy

    mennyisgben arnylag j rban van - PC-knl a BIOS-t rom-ban troljuk - legfontosabb tulajdonsga, hogy tpfeszltsg nlkl is rzik a tartalmukat

    PROM (programmable ROM): Lnyege hogy mindegyik bitje ugyanolyan (1-es (vagy 0)) s fizikailag utlag el lehet rontani

    tetszleges szm bitet. A felhasznl egyetlen alkalommal berhatja a szmra llandan megrzend adatot vagy programot.

    EPROM (Erasable PROM): - trlhet a tartalma (UV fnnyel). Az adatokat elektromos tlts formjban rzi. - mez trlhet s mez programozhat (specilis helyen az UV miatt)

    EEPROM (Elecricaly EPROM): - nem UV fnnyel, hanem elektromos impulzussal trlhet a benne trolt adat. Drga! - bjttrls

    Flash EEPROM (fnymemria): - mivel az EEPROM egy jabb vltozata gy ezt is elektromosan lehet trlni s jraprogramozni.

    Manapsg a Pc-k ROMBIOS-t legtbbszr ez tartalmazza, gy maguk a felhasznlok is frissthetik. A sima EEPROM-hoz kpest kisebb kltsg, s blokkszinten lehet trlni, jrarni.

    - Ezt hasznljuk digitlis audio lejtszkban, a klnfle memriakrtykban, s az USB csatols pendrive-okban is.

    RAM vs. ROM:

    - A ROM-nak alacsonyabb az olvassi sebessge. - Az rsi sebessge is 2-3-szor lassabb. - Vges sokszor lehet vltoztatni a tartalmat, mert vltoztatskor romlik a ROM llapota.

    Memria kialaktsok:

    A DRAM-ok elemi cellja egy igen kicsi mret kondenztor s egy CMOS tranzisztort tartalmaz. A CMOS tranzisztor tulajdonsgaibl addan kevs elektront trol s azok is szivrognak. Viszont ha lekrdezzk a tartalmt, akkor elektronokat vesznk ki, s ezutn vissza is rakunk megfelel mennyisgt -> vagyis frissl a tartalom s tovbbra is azt trolja, amire szksgnk van. Rgebbi

    ez jobban kifejezi milyen is a memria: a 6-os cm utn akr a 666-ost is olvashatjuk

  • architektrkban ezt szimullt kiolvasssal oldottk meg, a korszer memrik mr integrltan tartalmaznak egy frisst ramkrt.

    Trkkk a memria elrs gyorstsra elmleti alapon:

    - memria mtrixszervezs, vagyis oszlopokbl s sorokbl ll. 1. Besprs: krnk egy oszlopot, s mindegyik sor dobja a sajt oszlopbeli elemt -> prbljuk minl

    gyorsabban elkapni. 2. Az a megfigyels, hogy egy rvid intervallum alatt a memriahivatkozsok a teljes memria csak egy

    kis rszt rintik, a lokalitsi elv. Vagyis ha 6-os cmrl krnk valamit, akkor nagy valsznsggel a 7-esrl krnk kvetkezleg. Emellett ismerve a ciklusok mkdst, valsznleg szksg lesz a hatosra, ha hasznltuk mr: Idbeli, cmbeli lokalits

    3. Memria tmbk hasznlata: A folyamatok prhuzamostsn alapul a memriatmbk hasznlatnak tlapolsa, a memory interleaving mdszere - > a memrit cmzs szempontjbl blokkokra bontjuk, mindegyikhez kln hozzfrsi lehetsggel. A felbonts 2, 4, 8 tmbre trtnhet:

    Processzor ltal ltott cm: A15 A14 A13 A0 A memria ezt kapja: A15 A14 A13 A1

    s a kett kztti szerkezet hasznlja a A0-t. Ami a bankok kzl fog vlasztani.

    Itt ltszik a kzbls szerkezet ami megkapja a A0-t. s a szerint fogja kldeni a megadott cmen lv bitsort, hogy milyen volt (itt a pldban) az A0. A D0, D1, stb. lesz a krt cmen lv adat bitjei.

    Itt szrevehet, hogy a cmben jobbrl az utols bit fogja megmondani melyik blokkot cmeztk is meg. gy egyetlen cm kikldsvel 2 byte-t kapunk s az utols bit segtsgvel el tudjuk dnteni melyik is kell. A msikkal nem muszj trdnnk, de ha szksgnk van r mr csak el kell azt is kapnunk. Tbb bankra val felosztssal tovbbi eredmnyt rhetnk el.

    4. tlapolt cmzs (interleaved addressing): Elrsi id az az idtartam, amely a cmzs megindtsa s az adat megjelense kztt telik el, mg a ciklusid a trnak az a legrvidebb idtartama, amelynek trhoz forduls kztt el kell telnie. A DRAM trolknl a ciklusid kzel ktszerese az elrsi idnek, ami a DRAM-ok felledsi idejbl addik. Az tlapolt cmzsi technika ezt az idtartamot hasznlja ki. A bankokra osztott memrinl felvltva olvas vagy r az egyik, vagy a msik bankba.

    FONTOS: A memrik byte szervezsek, vagyis ez a legkisebb cmezhet egysg.

  • Snszervezs memrirl:

    Egy kis magyarzat kell a lent lvhz. Krds merlhet fel, hogy hogy lehetsges az, hogyha

    egyetlen snre tbb eszkz van kapcsolva, honnan tudjuk, hogy melyik mondja meg a tutit. Meg

    persze, hogy nem okoz az gondot hogy az egyik eszkz gymond 0-t rak a vezetkre a msik meg

    mondjuk 1-est.

    Ezt a problmt oldottk meg a hromllapot kapcsolval:

    Azt kell elkpzelni, hogy azon a vezetken, ami a kpen kzpen van tbb ilyen

    kapcsol is van.

    - Ha a felsre becsukjuk 1-lesz a kimeneten

    - Ha az alst csukjuk be 0-as lesz a kimeneten

    - Ha mindkett nyitva nem mond semmit a kimenetre (ms fogja a kzs

    vezetkre rakni a tutit)

    - Pl. ha ez a kapcsol egy memria chip- s a CE vonalon azt mondjuk

    neki, hogy nincs szksgnk r, akkor nem zargatja a kzs vezetket

    azzal, ha felveszi a 3. llapotot.

    A snszervezs memriknak az az elnye, hogy nem szksges a CPU-nak kln-kln

    vezetkrendszer kialaktani ez egyes memriaelemek kztt. Az illesztst szabvnyos felleteken

    lehet megvalstani, gy ms-ms gyrtktl szrmaz alapelemek esetn is jl alkalmazhat. A

    snvezrl jelei alapjn egyszeren elklnthetek a CPU rsi s olvassi szndkai. Lehetsget ad

    arra is, hogy klnbz ptkockkbl is felpthet legyen az ignyek szerinti mret, s szlessg.

    A szoksos jelek MRD, s MWR, a memria olvassra s rsra. Ilyen esetben a snrendszeren

    zemel I/O eszkzk IORD s IOWR jelekkel kezelhetek. Ha csak ltalnos RD s WR vezetkekkel

    kezelnek egy memrit, akkor e kett mellett hasznljk az M/(I/O neglt) jelvezetket is, ami

    magas szint esetn a memrira vonatkozik. Ilyenkor az I/O eszkzk nem vgeznek mveletet. Ha

    ez a vezetk alacsony szinten van, akkor a memria hagyja figyelmen kvl az RD s WR llapott,

    mert az az I/O eszkzre vonatkozik.

    A kpen lthat memria chip a fenti pldnl maradva 16

    cmbemenettel rendelkezik.

    CE: itt tudjuk megmondani a chipnek, hogy mkdjn vagy csinljon

    gy mint ha itt sem lenne.

    A CE, RD, WR technikailag negltak, mint az a kpen ltszik.

    Elvben elg lenne egy M/(I/O neglt) s egy RD/(WR neglt) vezetkpros, de ilyenkor nem volna

    soha inaktv llapot, vagy a memria, vagy az I/O minden pillanatban valamilyen mdon rintett

  • lenne. Az els (4 vezetkes) megoldsnl, ha valamennyi vezetk inaktv, nincs semmilyen mvelet.

    A msodik (3 vezetkes) megoldsnl ez az RD s WR inaktv llapotnl fordul el.

    Tbb memria tokbl ll rendszerek hasznlata nagyobb mret kialaktsra:

    A fenti plda egy 64 K- s (212) memrit hoz pldnak. (A kpen azrt van a CE mindig igazra ktve mert csak az egyedli lapka, agy mindig aktv, pl. Commodore 64 ) De maradva az rai pldnl mi van, ha bemegynk a boltba s a

    boltos csak 2 32 K-st tud adni neknk.

    A 64-es cmtartomnya: 0000 FFFF (16 cmbittel ennyit tudunk

    megcmezni)

    Egy 32-es cmtartomny: 0000 7FFF

    Mg egy 32-esnek: 8000 - FFFF

    Ha megnzzk a kt 32-es cmtartomnyt lthatjuk, hogy tulajdonkppen balrl az els 15 bitben

    megegyezik a cmtartomnyuk, viszont a 16. az elsnl 0, a msodiknl egyes.

    0000 - 7FFF: 0000 0000 0000 0000 0111 1111 1111 1111

    8000 FFFF: 1000 0000 0000 0000 1111 1111 1111 1111

    Vagyis 15 cmbittel egyenknt mind a kt tokot meg tudjuk cmezni s a fennmarad egy vezetket pedig arra hasznljuk, hogy megmondja, melyik tokot akarjuk hasznlni. Mgpedig gy, hogy az A15-s (vagyis a 16. most ppen nem kell cmvezetk) lesz mindkett engedlyez jele. Azonban ezt az egyik tok rendesen meg fogja kapni, a msiknak viszont negljuk ezt a jelet.

    gy ezzel a mdszerrel nem kell minden egyes tokot kln sszektni a CPU-val. Lthat, hogy a cmbiteket dinamikusan osztjuk szt attl fggen, hogy ppen mennyi memria tok van mkdtetve. Ezek szerint a cmvezetkeket feloszthatjuk:

    1. Chip-en belli 2. Chip kivlaszt vezetkekre

    A hatr az ptelemek mrettl fgg:

    1. 64K: 16-0 2. 32K: 15-1

    Nem homogn elemeknl (pl. 32+1+1) nem lehet hatrt hzni.

  • Cm multiplexels, CAS, RAS, dinamikus memria kezelse :

    Az egsz clja hogy kevesebb lb legyen:

    22 * 22 = 24 = 16

  • Ismeretlen helyrl szerzett ms anyag:

    A dinamikus memrik multiplexelt cmzsi mdszert ignyelnek. A cmet a memria idben nem veheti t egyszerre, mint a statikus memriknl, hanem kt rszletben. A bemutatott dinamikus memriban lev 65536 cella megcmzsre egy 16 bites cmsz szksges ( 216 = 65536 ), amelyet az A7 A1 A0 cmbemeneteken keresztl kt egyenl 8 bites rszletben kell megadni. Az els rsz a sorcm (Row Address), a msodik rsz pedig az oszlopcm (Column Address). A teljes 16 bites cmet kt 8 bites puffer trolja, az egyik a sor puffer a msik pedig az oszlop puffer. A puffer (buffer, latch) egy olyan egyszer statikus memria, amely egy szt kpes trolni. A trolst a sz hossza ltal meghatrozott szm D flip-flop vgzi. Az adatberst a flip-flopok kzs rajele vezrli. Ennek hatsra mindegyik flip-flop a D adatbemenetn lev bit rtkt tveszi s a kvetkez rajelig megtartja. A pufferek rajeleit a dinamikus memriavezrl ramkre lltja el RAS (Row Address Strobe) sorcm-ber jelbl, CAS (Column Address Strobe) oszlopcm-ber jelbl s WE (Write Enable) adatbers-engedlyez jelbl. RAS jel hatsra a vezrl ramkr berja a sorcmet (a cm kisebb helyirtk 8 bitjt) a sorpufferbe s vezrli a sordekdolt a megfelel sor kijellse vgett. CAS jel hatsra az oszlopcmet (a cm nagyobb helyirtk 8 bitjt) rja be az oszlop pufferbe s vezrli az oszlopdekdolt a megfelel oszlop kijellse vgett. A kijellt sor s oszlop tallkozsnl lev cella hozzfrhetv vlik adatbers, adatkiolvass s felfrissts szmra is. Az adatberst WE =0, mg a kiolvasst WE =1 hatrozza meg. A kimenet csak akkor vlik aktvv, ha OE (Output Enable) adatkimenet-engedlyez vezrljel logikai 0 szinten van, egybknt a harmadik, nagyimpedancis llapotban tallhat. A RAS s CAS rajelek megfelelen kombincija egy megcmzett sor felfrisstst teszi lehetv. Az egsz memriamtrix felfrisstse az sszes 256 sor felfrisstsbl ll. A dinamikus RAM vezrljelei kztt fennll bonyolult idbeni sszefggst, amelynek a betartsa hardver tervezsnl elengedhetetlen, az adatlapok rszletes tanulmnyozsval ismerhetjk meg.

    1.Gyorst-tr (cache)

    Lnyege: A trol egy rszrl msolatot tartunk valahol, ahonnan gyorsabban lehet elrni azt, mint az

    eredeti helyen. Utastsokat s adatokat egyarnt trol. Az adatramls folytonossgt biztostja.

  • Ez azrt lett lehetsges, mert olcs lett a RAM, gy az eszkzkre is raktak. Idben elszr az

    operatv tr s a httrtrol (winchester) kz raktak, ksbb tettek a CPU s az operatv tr kz

    is, mivel a CPU sebessg nvekedsvel az operatv memria nem tartotta a lpst (mrmint

    valamennyire tarthatta volna, de azok a fajta memrik nagyon drgk). Ezen fell ezt mg

    turbztk egy kicsit:

    1. sztvlasztott gyorst-trak alkalmazsa: az alapmdszer hogy kln gyorst-trat

    vezetnk be az adatoknak s az utastsoknak.

    2. tbbszint gyorst-trak alkalmazsa (L1, L2, L3): szmozssal egytt n a mretk s a

    tvolsguk a CPU maghoz kpest (lehet nem pontos ez a kifejezs). Vagyis az L1-nek van a

    legkisebb mrete, de magn a CPU lapkn van, az L3-nak van a legnagyobb mrete, de mr

    csak a processzoralaplapon van.

    Memria hierarchia:

    A disk cache: 1. rsze op. tron

    2. rsze httrtron

    A CPU cache: - CPU-n

    Mi is a klnbsg a szintek kztt: - gyorsasg, sebessg - fajlagos r (vagyis mennyibe kerl 1 byte) - mret

    Mibl addik a hasznlatuk:

    1. Cm szerinti lokalits: vagyis ha (tfh.) a 6. cmrl olvastunk be adatot, akkor nagy

    valsznsggel a 7. cmrl fogunk kvetkezleg beolvasni. Tudomnyosabban: azokat a

    memriahelyeket, amelyeknek a cme szmszeren hasonl a nemrgiben elrt

    memriahely cmhez, valsznleg a kzeli jvben el kell rni.

    2. Id szerinti lokalits: elg a ciklusokra gondolni: 6. -> 7. -> 8. majd megint a 6. -> 7. -> 8.

    3. Meg a loklis vltozinkat is gyakran hasznljuk (amikor programot runk, lthatjuk).

    A fmemria fel van osztva rgztett mret blokkokra, amiket gyorst-tr vonalnak neveznk. Egy

    ilyen gyorst-tr vonal jellemzen 4-64 byte-bl ll. A vonalak meg vannak sorszmozva: (pl.) 0.

    vonal a 0-31. bjtok, az 1. vonal a 32-63. bjtok. Brmelyik pillanatban nhny vonal a gyorst-

    trban van. Minden memria hivatkozs alkalmval a gyorst-tr vezrlramkre megvizsglja,

    hogy a hivatkozott sz a gyorst-trban tartzkodik-e. Ha igen sproltunk egy utat, ha nem

    betesszk a gyorst-trba.

    Honnan tudjuk mirl is van msolatunk?

    A cmnek azt a rszt, amelyet a cache-trban elhelyez a

    processzor, s amelynek sszehasonltsval trtnik a

    Az adatok csak a trol hierarchin

    vgighaladva kerlhetnek

    feldolgozsra a processzorban.

  • vlaszts, tag-nek nevezzk.

    Valid bit: a sor rvnyessgt jelzi. A szmtgp indtsakor minden V bitet le kell kapcsolni

    (valamely hardware megcsinlja). Egybknt trlshez is elg ezt lekapcsolni.

    Arra hogy melyiket trlje, a cache-bl elg sokfajta algoritmus van, pl.: LRU az utolsnak hasznltat trli

    Dirty bit: a blokk valamely rsznek mdostst, fellrst jelzi. Az ilyen blokk helyre nem lehet

    betlteni j blokkot, elbb a rgit ki kell vinni a ftrba.

    Ha 2n byte van az adat rszben, akkor a cm-ben a blokk

    sorszm 32-n bit hossz.

    A cache elrst tartalom szerinti elrsnek nevezzk. Ez nem azt jelenti, hogy megkrdezzk 6-ot

    trol-e s akkor kiolvassuk a 6-ot, hanem megkrdezzk: tartalmazol-e errl a sorrl msolatot.

    Fajti:

    a. Teljesen asszociatv (fully associative) cache

    256 sort tartalmaz. A beolvasott blokk 16 byte-ja mellett, a virtulis, vagy fizikai memriacm egy rsze is trolsra kerl. Az brn a 28 bites blokksorszm. Az als 4 bit a sz s azon bell a byte helyt hatrozza meg.

    Ilyen az elz oldalon lthat nagy bra. Ennl, ha a processzor adatot keres a cache-ben, akkor a

    memriabeli cm 28 bitjt sszehasonltja a blokksorszmokkal. Az sszehasonlts egy idben

    trtnik az sszes sorban, vagyis szksgnk van a jelen esetben 256 prhuzamos, sszehasonlt

    ramkrre.

    Elny: - rugalmas a betltsnl (brmelyik blokk brhov kerlhet)

    - igen j tallati arny lehetsg

  • Htrny: - sok sszehasonlt ramkr -> kltsges (nagyon)

    b. Kzvetlen lekpezs (direct mapping ) cache

    A kzvetlen lekpezs cache-trnl egy-egy blokk csak meghatrozott helyre kerlhet. A blokk

    helyt a cache-ben a blokksorszm (28 bit) als 8 bitje, mint sorindex hatrozza meg. A korbbi

    blokksorszm bomlik: 20 bit lapsorszm, 8 bit sorindex. A cache-ben a 16 adat byte mellett a

    lapsorszm s a jelzbitek kerlnek trolsra.

    Ennl, ha a processzor keres a cache-ben, akkor a virtulis, vagy fizikai memriacmbl ellltott

    sorindex alapjn kijelli a keresett sort, majd a fels 20 bitet (lapsorszm) sszehasonltja a cache-

    beli lapsorszmmal. Ez gy egyetlen sszehasonltst eredmnyez.

    Elny: - rvidebb tag - gyors visszakeress, egyszersg, olcssg

    Htrny: - kttt blokkhelyek miatti merevsg -> azonos index helyek adatainak elrse lelassul - tallati arny alacsonyabb, mint az asszociatvnl (de nagyobb trolval javthat

    valamelyest)

  • c. Csoport asszociatv (set associative) cache

    tmenet a teljes asszociatv s a kzvetlen lekpezs cache-tr kztt. A cache nagyobb, n sorbl

    ll csoportokra vannak osztva, amelyek nmagukban, mint teljesen asszociatv trolk mkdnek,

    azaz a csoporton belli n hely brmelyikre kerlhet a blokk. Az elhelyezsi algoritmus hatrozza

    meg hogy ott hova.

    brn 4-blokkos csoportmret van: 26-on csoport. A fels 22 bitbl kpzett lapsorszmot troljuk.

    A csoport asszociatv cache esetben, amikor a processzor adatot keres a cache-ben, akkor a

    memriacmbl kpzett csoportindex alapjn kijelli az indexnek megfelel csoportot, majd a

    memriacm fels 22 bitjt sszehasonltja a cache-beli lapsorszmokkal. Ez az sszehasonlts a

    csoport sszes sorban egyidejleg trtnik, vagyis ehhez egy olyan ramkr tartozik, ami jelen

    esetben 4 prhuzamos, sszehasonlt ramkrt tartalmaz.

    A csoport asszociatv cache rugalmasabb, mint a kzvetlen lekpezs trol s ugyanakkor

    kisszm sszehasonlt ramkr kell hozz s viszonylag gyors.

    Adategyezsg biztostsa:

    A cache-trak csak abban az esetben tudnak megfelel hatst kifejteni, ha a tartalmuk s a memria tartalma megegyezik s megfelel a valsgnak. A cache tr tartalmnak modstsa utn rvid idn bell a memriban is aktualizlni kell a tartalmat:

    1. Azonnali trs (write throught): Ilyenkor mind a cache-be, mind az operatv trba berjuk a mdostott adatot. Ezzel

    biztostva a konzisztencit.

    2. Visszars (write back):

    Csak a cache-ben aktualizl, a ftr tartalmt csak a blokk cserjekor mdostja. Ez

    problmkat okozhat, mivel msik processzor is hozzfrhet a memrihoz, vagy akr egy I/O

    eszkz is a DMA segtsgvel.

  • A DMA-s problmra alkalmazzk a figyel rendszert (snoop logic), amely minden cmet

    ellenriz, amelyhez tartz adat a snen tvitelre kerl, ha az I/O mvelet tr egy

    memriahelyet s a cache-ben is benne van, akkor a cache-belit rvnytelenti.

    MESI protokoll:

    Multiprocesszoros rendszerekben az adategyezsg biztostsa mg nehezebb vlik, klnsen, ha

    tbb cache-tr is van a rendszerben. Ilyenkor fontos az egysges megoldsi md.

    Erre szolgl az . n. MESI (modified, exclusive, shared, invalid) protokoll.

    A cache tr blokkjainak lehetsges llapotait hatrozza meg:

    mdostott (modified), amely esetben a cache-tr blokkja a ftrhoz viszonytva,

    mosstva lett s ez a blokk az egyetlen rvnyes adatblokk. Ilyenkor az sszes tbbi

    invalid (srlt) lesz.

    kizrlagos (exclusive), amely esetben a cache-tr blokkja a ftrral egyez, rvnyes

    adatot tartalmaz s ms cache-trban nem fordul el az adott blokk.

    megosztott (shared), amely esetben a cache-tr blokkja a ftrral egyez, rvnyes

    adatot tartalmaz s legalbb mg egy cache-trban megtallhat ugyanaz az

    adatblokk. -> problma lehet a mdosts (aki mdostja az modified lesz a tbbi

    pedig invalid)

    rvnytelen (invalid), amely esetben a blokk rvnytelen adatokat tartalmaz

    3.Virtulis memria A trol hasznlat problmi:

    A programvgrehajts kzben a vgrehajts alatt ll programrsznek s a feldolgozand adatoknak a kzponti memriban kell lennik. Ugyanakkor a ftr mrete nem teszi lehetv, hogy a teljes program s az sszes adat egyszerre a trban legyen.

    A kzponti tr vges kapacitsa (s persze a multi programozs s multitasking megjelense) miatt, az aktulisan nem hasznlt programokat (vagy rszeket), adatokat valamilyen httrtroln kell trolni s szksg esetn betlteni a kzponti memriba. Mi esetnkben erre a winchesteren kerl sor. Megolds (60-as, 70-es vektl): Az overlay technika alkalmazsakor csak a programrendszer mindig szksges vezrl programja kerl betltsre a ftrba, s emellett lefoglalsra kerl egy trol terlet, amelyre a ritkbban szksges programmodulok (overlayek) kerlnek betltsre, amennyiben szksg lesz rjuk. Ennek a techniknak volt egy nagy htrnya: overlayek tltst, nyilvntartst az egyes felhasznli programokban kellett nyilvn tartani. Optimlisabb megolds, ha ezt a feladatot az opercis rendszerre bzzuk. Ezt az automatikus overlay-t nevezik lapozsi trol kezelsi mdszernek. Ma mr teljes kr hardvertmogatst kap.

    (V-bit)

    Overlay technika

  • Az gy rendelkezsre ll cmtartomnyt, a lehetsges, hasznlhat cmek sszessgt, virtulis cmtartomnynak nevezzk. A virtulis cmek mennyisge attl fgg, hogy mekkora terletet jelltnk ki a httrtroln a virtulis memrinak. A programok a virtulis trat gy ltjk, mintha az a kzponti tr lenne. A virtulis cmtartomny brmely rszben elhelyezked blokkot a feldolgozshoz a kzponti tr terletre kell tvinni (kivve, ha mr ott van). Az tvitt blokk mrete lehet vltoz, ilyenkor szegmensnek nevezzk, ha pedig rgztett, akkor lapnak nevezzk. A ftr s a virtulis tr viszonya:

    - Egy programfolyamat egyidejleg ms programfolyamatokkal egytt fut, mindegyik folyamathoz nll virtulis trterlet tartozik

    - Ha egy blokk nincs a ftrban (blokkhiba) akkor ezt az opercis rendszer kezeli - a cmtartomnyt meghatrozza a virtulis tr nagysga - a mgneslemezen, a virtulis tron kvl ms adatllomnyok is megtallhatk - ha egy blokk megvltozik a ftrban, akkor csak blokkcsernl aktualizljuk a virtulis trterleten

    (write back), mivel ez jelents idt ignyel Virtulis memria kpzelettrstssal (Keresztes tanr r pldja, els kzbl kell hallani ): Kpzeljk el, hogy t akarunk menni egy tavon. Ezt gy tehetjk, meg hogy bizonyos memriacmeket hasznlunk (ezek a tban, mint clpk jelennek meg). De szerencsnkre van egy bvr a segtsgnkre (MMU), aki clpt rak a lbunk al, ha vletlen olyan helyre akarunk lpni ahol jelenleg, nincs clp (vagyis a varzshtizskjbl, ami tbbszr nagyobb, mint a tavunk, elkapja azt a clpt amire lpni szeretnnk, s visszateszi azt ami esetleg ott volt de amire nem szabad lpnnk), vagy olyan clp van amin eltrjk a lbunk (nem a mi adatunk). Ha alapbl vgig van cvekelve az egsz t akkor a bvrnak csak a lbt kell lgatni, viszont ha alapveten kevs clp van (RAM) s azt mondjuk, hogy a t nagy rszn akarunk kzlekedni (vagyis sok virtulis memrit lltunk be, a RAM- hoz kpest), akkor elg rendesen megtrztatjuk a bvrt. Ha a maximlis RAM-mal zemelnk, akkor hiba lltunk be sok virtulis mem., nem fogjuk hasznlni.

  • Termszetesen a processzornak a mvelet vgrehajts sorn a ftr vals vagy mskppen nevezve fizikai cmeire van szksg, teht a virtulis cmeket t kell alaktani fizikai cmekk:

    - A blokkok httrtroln tallhat cmt, a fizikai memriba bemsolt blokkok sorszmt, a fizikai kezdcmt, stb. megfelel tblzatban nylvn kell tartani.

    Az MMU (Memory Management Unit) a blokkok adatait tartalmaz tblzat alapjn elvgzi a virtulis cmrl fizikai cmre trtn talaktst. Emellett azt is figyeli, hogy a vgrehajtand utastsban olyan memria cmre hivatkoznak-e, ami ppen nincs bent a ftrban. Ha ilyen trtnik, akkor megbki az opercis rendszert, hogy intzkedjen. Az OS megszakts-kezel rutinja fogja meghatrozni, hogy melyik ftrbeli blokk helyre kerljn be az, amire szksg van (ez pl. egy tipikus kivtel [msik anyag]). Lapbetlts: j lap betltsre mindig a felmerl igny esetben kerl sor. A cserlend lapok krnek kivlasztsra ktfle mdszer kzl is vlaszthatunk:

    - a memriban lv sszes lap kzl vlasztjuk ki - vagy pedig csak az adott feladathoz tartoz lapok kzl vlasztjuk ki azt, amelyiket lecserljk

    A laphasznlat gyakorisgnak vizsglatakor fontos szerepet tlt be az aktulisan hasznlt lapok kre (ms nven working set). Ilyenkor azt vizsgljuk, hogy egy idtartamon bell, mely lapok lettek leggyakrabban hasznlva. Egy-egy feladatnl ezeknek a szma egy konstans rtkhez tart, gy ha ezeket a memriban tartjuk, akkor ritkn kell lapot behozni a httrtrrl. Persze ennek az a felttele, hogy a memria hasznlhat terlete nagyobb legyen a working set ltal ignyelt trolterletnl. Lapvltshoz hasznlt leggyakoribb algoritmusok:

    1. Vletlenszer lapvlaszts: a cserlend lapot a lehetsges lapok kzl vletlenszeren vlasztja ki. Csak gyakori lapvltst ignyl esetekben lehet letkpes valamennyire.

    2. Legrgebben bent lv lap cserje: a nevbl addik, hogy mit cserl. Ennl problma lehet, hogy amit ppen cserl, azt a kvetkez mvelethez vissza is kell hozni. Sok esetben rosszabbul mkdik, mint a vletlenszer lapvlaszts

    3. Legrgebbi nem hasznlt lap cserje: a legrgebben bent lv lapokat nzi, de csak abban az esetben cserli ki a vizsglt lapot, ha azt nem hasznlja a program. Viszonylag egyszer, de elegend hatkonysg mdszer.

    4. Adott id alatt nem hasznlt lapok cserje: ilyenkor azokat cserli, amelyek adott idszakon bell nem lettek hasznlva. A working set kialaktsa ktdhet idtartamhoz, vagy a hasznlat gyakorisghoz. Bonyolultabb, j hatkonysg eljrs.

    5. Legkevsb hasznlt lapok cserje (LRU): Mint a cache-nl. Ez a leggyakrabban hasznlt eljrs. Lapvlts gyorstsra lapcmfordt cache trat alkalmaznak (TLB = translation lookaside buffer), amely a leggyakrabban hasznlt lapok adatait tartalmazza, mivel a laptblzatok mrete igen nagy (pr MB-t) s ezt a httrtron kell elhelyezni. A TLB ltalban a processzor s a cache kztt helyezkedik el. Lapozsos virtulis trkezelsnl fregmentci, azaz res kihasznlatlan memriaterletek nem kpzdhetnek, mivel a lapok csak azonos mret lapkeretek helyre kerlhetnek be a ftrba. Legfeljebb az fordulhat el, hogy a nem hasznlt lapkeretek resek, de ez leginkbb a rendszerindtsakor fordul el.

    A TLB s a cache

  • A virtulis cmzs folyamata Az bra egy plda az egylpcss lapcmzsre:

    - a virtulis cmek a pldban 32 bitesek: o a fels 20 bit jelli ki melyik lapot is szeretnnk, ezzel tulajdonkppen rmutatunk egy sorra.

    Ha a sor Valid bitje 1-es, akkor a keresett lap bent tallhat a ftrban (ha 0, akkor be kell tlteni s aktualizlni kell a fizikai lapcmet a tblzatban). A tblzat megfelel sora tartalmazza a fizikai lapcmet, vagyis hogy a memriban hova lett betltve a keresett lap. Ez fogja adni a fizikai cm els felt

    o als 12 bit pedig a relatv cm, vagyis azt mondja meg, hogy a keresett lap kezdcmtl kezdve melyik cmet is keressk pontosan (ezek a cmek mind a lapban vannak). 12 bitnl 212-en (4096) cm van egy lapban.

    - tblzatrl mr volt sz - fizikai cmek 30 bitesek:

    o kt rsz konkatenlsval kapjuk meg o a fizikai lapcmet a tblzatbl o a relatv cmet pedig magbl a virtulis cmbl

    Tbblpcss lapcmzs: BRA hinyzik - itt a fenti virtulis lapsorszmot kt rszre osztjuk:

    1. laptbla sorszm 2. lapsorszm

    - gy ha a fenti pldnl maradunk (s mindkett 10-10 bit), akkor a laptbla sorszm a laptbla katalgusban jelli ki a hasznland laptblzat kezdcmt, a msodik 10 bit (a lapsorszm) pedig a laptblzaton bell jelli ki a lapkeret sorszmt, ahonnan kivesszk a fizikai lapcmet s mg rakjuk a relatv cmet.

  • 4.Perifrik illesztse a mikroprocesszoros rendszerbe

    A kpen lthat hogy

    illesztnk be egy perifrit a

    snrendszerre.

    Ha a pldnak egy 16

    vezetkkel rendelkez

    cmbuszt nznk, akkor

    megegyeznk annyiban, hogy

    csak 10 bitet nznk.

    A szmtgp tervezk azt

    mondtk, hogy a tbbi bitet

    0-nak tekintjk.

    Vagyis ha van 10 cmbitnk, amibl a fels ht mindig 1-es, akkor mennyi tnyleges cmnk lesz: Lthat, hogy ez 8 db cmet jelent: 3F8-3FF

    COM1

    COM2-re pedig azt a megoldst talltk ki, hogy 2F8-tl 2FF-ig legyen a cmek. Megvalsts: Vagyis a megolds hasonl a COM1-hez, csak itt az A8-as vezetknek 0-nak kell lennie.

    A COM1-nek s a COM2-nek sszesen 16 cme volt.

  • De hogy lehet azt megoldani, hogy mi dnthessk el, hogy egy perifria COM1 vagy COM2?

    Erre talltk ki a jumper-t (mszka): Alternatv sszekttets:

    - vagy a kzpst s a jobb oldalit - vagy a kzpst s a bal oldalit

    gy van A8 s A8 is, attl fggen, hogy jumper-eljk. gy ha van egy egernk (pl.) s odaadjuk msnak, de neki van mr egy modem bektve, akkor elg csak t-jumper-elni. Jumper megfelel helyre dugsval a memria cmek, az I/O cmek, megszaktsi cmek s prioritsok bizonyos hatrok kztt, de megvltoztathatk voltak. Problma lehet, hogy 2 COM1-tl nem lehet egyszerre parancsot vrni.

    Elektronikus jumper:

    Attl fggen, hova tesszk a jumper-t

    ms lesz a megszaktsi vonala.

  • Addik a krds, hogy honnan vegyk a cmet?

    Meg kell oldani, hogy ne lehessen kt azonos cm:

    - Meg kell szmozni minden perifrit:

    o Ha 12 byte-t hasznlunk egy cmhez (a plda kedvrt), akkor azt jelenti, hogy 12*8 =

    96 bit -> 296= 7.92281625 x 1028

    Vagyis mondhatjuk, hogy ez egy elg szp nagy szm, gy minden gyrt egy konkrt perifrinak a

    szmba beleteheti, hogy gyrtotta, a per. tpust, stb.

    Ergo, nincs kt egyforma perifria.

    Viszont ezeket bekapcsolskor be kell azonostani (plug and play):

    Nos, ennek a szemlltetse nem knny. Az alaphelyzet fent lthat, vzlatos, de a

    gondolkodsmenetet nagyon jl rzkelteti: minden tglalap egy perifria (mindegyiknek van egy

    egyedi azonostszma), mindegyik ilyen eszkznek van egy kapcsolja.

    Alap esetben a vezetken (amire rkapcsoldnak a perifrik) 1-es jelszint van (ezt a tovbbiakban

    gy hvom, hogy 1-s van a vezetken).

    Ha brmelyik kapcsol akr csak egyetlen egy is a kapcsoljt bekapcsolja, akkor a kimeneten 0

    lesz.

    Vagyis a 0 azt jelenti van valaki (>0), az 1-es pedig azt hogy nincs senki. s ttelezzk fel, hogy ott

    lnk a kimenetnl s figyeljk, hogy ppen mi van a kimeneten

    1. tem:

    Krnk egy jelet a vezetken. Ez, legyen mindegyik perifria szm legkisebb bitje. Mindegyik

    perifria, ha ez a bitje 0-s, akkor nyitva hagyja a kaput, ha 1-es, akkor becsukja. Mi trtnhet? :

    a. a kimeneten 0 lesz. Vagyis ez neknk azt jelenti, hogy van pr olyan perifria, aminek

    ez a bitje 1-es, esetleg mindegyiknek egyes ez a bitje

    b. a kimeneten 1 lesz. Vagyis mindegyik perifrinak 0-s a bitje, vagy esetleg nincs

    egyetlen perifria sem, ami vlaszolhatna

    2. tem:

    Krnk mg egy jelet a vezetken. Ez, legyen ugyanaz a bit, mint elzleg, de neglva

  • krjk. Vagyis, ha a perifria bitje 0, akkor most zrja a kaput, ha 1-es, akkor most nyitva

    hagyja. Mi trtnhet? :

    a. Az 1. temben 1-es volt a kimenet:

    i. Most is 1-es lesz: Ez azt jelenti, hogy semelyik temben sem kapcsolgatta a

    kapcsoljt egyetlen egy perifria sem. Ergo, ha egy bit sem nem 1-es, se nem

    0-s akkor nincs bit -> nincs perifria

    ii. Most 0 lesz: Ez azt jelenti, hogy mindegyik perifrinak (amiket vizsglunk) ez

    a bitje 1-es -> FIX 1-es

    b. Az 1. temben 0-s volt a kimenet:

    i. Most 1-es lesz a kimeneten: Ez azt jelenti, hogy mindegyik perifrinak ez a

    bitje 0-s -> FIX 0-s

    ii. Most is 0-s lesz: Ez az, amit vglis keresnk. Ilyenkor az els temben

    kapcsoltk nhnyan a kapcsoljukat, hogy k nekik 1-es bitjk van, a

    msodik temben pedig valamennyi azt mondja, hogy neki 0-s bitje van->

    VAGYIS BIZOTSAN TUDJUK, HOGY NHNYAK 1, NHNYNAK 0

    Tudjuk, hogy nhny perifria bizonyos bitje 1-es, s valahny perifri 0-s

    3. tem:

    Most mi adunk ki egy bitet. Azt mondjuk, hogy akinek 1-es (a plda kedvrt 1) az

    maradjon, a tbbi pedig ne reagljon addig, amg egy perifrit be nem azonostottam.

    Az brhoz a kis kiegszts azrt van, hogy a 3. temben mi is tudjunk kldeni egy jelet a

    perifriknak.

    Ezt addig ismtelgetem a 3 temet,

    amg mr csak 1 marad. t mostantl

    ismerni fogom, kap cmet, tudok vele

    kommuniklni, s nem fog rszt venni az azonostsban ezutn.

    Addig kell ismtelgetni amg be nincs azonostva az sszes perifria.

    Mellkhats: (PCI) Ha ttesznk valamit msik csatlakozra, akkor a Windows kirja, hogy j azonosts, de utna ugyanazt a cmet kaphatja. Kiosztst sokszor mr a BIOS elvgzi s tjkoztatja az OS-t. OS tudni fogja ki melyik IRQ-n fog szlni.

  • 6.A snhez csatlakoz eszkzk cmzse:

    Kzvetlen: elklnlt elrsi md alkalmazsa esetn, a memria, illetve a perifrik elrsre hasznlt utastsok mveleti kdja kzvetlenl meghatrozza az rs/olvass helyt az M/IO jel belltsval. Tulajdonkppen megduplzzuk a cmtartomnyt, azonban ennek a nagy rszt nem fogjuk hasznlni, mivel nincs annyi perifrink (ilyenkor a cmnek csak egy rszt nzzk).

    Begyazott: a ftrral azonos elrsi md (memory mapped addressing), amely esetben a perifrik ugyangy cmezhetk, mint a memria. A perifrik, mint a memriaterlet egyik rszn elhelyezked trlhelyek hasznlhatk. Ennek kvetkeztben brmely memrira hivatkoz utasts elrheti a perifrikat is. Legtbb mikroprocesszor esetben ez a hasznlhat eljrs.

    PCI (Peripheral Component Interconnector): Sok gyrt ltal elfogadott szabvny. Ennl a helyi sn s a PCI busz kz egy processor- PCI Bridge.t iktattak be, mely lehetv tette, hogy a buszrendszer a konkrt processzortl s annak sebessgtl fggetlenl mkdkpes legyen. Ezt azt jelentette, hogy a PCI busz nem ktdik szorosan egy processzorhoz, hanem tbbfajta processzorral is kpes egyttmkdni.

    Adattvitel a perifrik s a mikroszmtgp tbbi egysge kztt:

    Perifrik programozsi techniki:

    1. programozott I/O tvitel (polling) az adattvitel az I/O eszkzk s a cpu (/ftr/opercis rendszer) kztt kizrlag, akkor teljesl, amikor krbe lesznek krdezve a perifrik. J erre a telefonos-plda, mely szerint a szemly a processzor, telefon az I/O eszkz. A telefonnak elromlott a csengje, ezrt a szemlynek bizonyos idkznknt fel kell vennie a kagylt, belehallgatni, nem kereste-e valaki. Jellemzi: - a processzor ellenrzi s vezrli az I/O mvelet egszt, - a perifria llapot-regiszter ciklikus lekrdezse folyamatosan terheli a processzort.

    2. megszaktsos I/O tvitel a processzor jelzi az I/O eszkz szmra az adattvitel ignyt, s ha az felkszlt erre, akkor egy megszaktsi krelemmel jelzi azt. Ezutn kerl sor az adattvitelre. Az I/O eszkz ugyanolyan megszaktsi krelemmel jelzi az adattvitel befejezst. Telefonos plda szerint: j a cseng, ezrt nem kell figyelni a kszlket, gy is cseng, teht jelzi, ha valaki keres.

    3. kzvetlen memria-hozzfrssel az adattvitelt nem a processzor, hanem egy tle fggetlen DMA vezrl irnytja. Ennek clja a processzor tehermentestse. Lpsei: - a proc. ellenrzi a perifrit, hogy tudja-e fogadni az adattvitelt, - ha igen, tadja a megfelel paramtereket, - a DMA buszfoglalsi krelmet juttat el a proc.-hoz, - a DMA lefoglalja a buszt, vgrehajtja az adattvitelt, - a DMA jelzi a proc.-nak, hogy befejezte az adattvitelt, - a proc. ellenrzi a vgrehajtst s ezutn visszaveszi a buszjelet a DMA-tl.