Számítógép-architektúrák II.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Számítógép-architektúrák II."

Átírás

1 Várady Géza Számítógép-archtektúrák II. Pécs 2015 A tananyag a azonosító számú, A gépészet és nformatka ágazatok duáls és modulárs képzésenek kalakítása a Pécs Tudományegyetemen című projekt keretében valósul meg.

2 Számítógép-archtektúrák II. Várady Géza Szakma lektor: Sár Zoltán Nyelv lektor: Veres Mára Kadó neve Kadó címe Felelős kadó: ISBN szám Pécs Tudományegyetem Műszak és Informatka Kar Pécs, 2015 Várady Géza

3 TARTALOMJEGYZÉK Tartalom 1. Alapvető dgtáls áramkörök Kombnácós áramkörök Szekvencáls áramkörök CPU lapkák Számítógépes sínek Pentum 4 CPU lapka Számítógépes sínek A processzor belső működése A párhuzamosítás lehetősége...88

4

5 Előszó A jegyzet a Számítógép-archtektúrák című tárgy első félévéhez készült. A tantárgy A. S. Tanenbaum, Számítógép-archtektúrák című könyvének 2. kadása (PANEM, 2006) alapján halad, de egyéb témákra s ktér. A jegyzet váza az oktató tapasztalat és a hallgató vsszajelzések alapján készült. A könyvben tárgyalt részek kcst más megvlágításban, másképp s magyarázva, példákkal, ábrákkal egészültek k. Ez bővült a tárgyban még fontosnak tartott fejezetekkel, nformácókkal. Olyan adatok s bekerültek, melyek a könyv kadása óta újnak számítanak és tárgyaln, említen érdemes őket. A fent magyar nyelvű könyvet dr. Máté Eörs lektorálta, ak a kötethez készült magyar nyelvű ábrákat saját tárgyanak fóláként s használja. Ezeket, lletve a könyvhöz kadott dgtáls mellékleteket s használtam a jegyzet llusztrácóhoz. A jegyzetet nformatkus hallgatóknak ajánlom, de jó szolgálatot tehet a kapcsolódó szakrányok hallgató számára s.

6

7 1. Alapvető dgtáls áramkörök A számítógépek dgtáls áramkörökből épülnek fel. A dgtáls áramkör két logka értékkel dolgozk, a 0-val és az 1-gyel. Ezeket a logka értékeket az elektronkusan működő gépekben jellemzően feszültségértékekkel reprezentálják. Az egyértelműség kedvéért a feszültségeket egy tartományon belül tekntjük megengedettnek, pl. a 0-át a 0 1V feszültség, az 1-et pedg a 2 5V között feszültség jelenthet. A kettő között érdemes egy bztonság sávot hagyn, am egyértelműen elválaszthatóvá tesz a mért jelet. A kapuk ks elektromos eszközök (áramkörök), melyek függvénye kétértékű jelekkel dolgoznak. A logka kapuk logka alapműveleteket valósítanak meg. A kapuk tranzsztorokból épülnek fel, melyeket legnkább gyors bnárs kapcsolóknak teknthetünk. A tranzsztorok felépítését a következő ábra (a) pontján (1. ábra) láthatjuk. A tranzsztoroknak három kapcsolata van a külvlággal: kollektor, bázs, emtter. 1. ábra (NPN) Tranzsztor felépítése és kötése

8 2. ábra Az (a), (b), (c) kötésekhez tartozó bemenetek és kmenetek Ha a bázson mnt bemeneten (Vn) bzonyos határfeszültségnél ksebb feszültség van (azaz logka 0), akkor a kollektorfeszültség, am a kmenet feszültség, megegyezk az egyszerű áramkör Vcc tápfeszültségével (ez kívülről beállított, tpkusan 5V), azaz logka 1. Amkor a bemenet feszültsége egy határértéknél nagyobb, azaz logka 1, a tranzsztor knyt, és mnt egy vezeték, összeköt az emttert és a kmenetet. Ekkor Vout nulla, azaz logka 0. Ezt a logka síkon megfogalmazva úgy írhatjuk le, hogy 0 bemenetre a kmenet 1, 1 bemenetre a kmenet 0. Ez pedg egy nverter működését írja le, így az egyetlen tranzsztor nverterként (és erősítőként) működk. Két tranzsztort sorba kötve (1. ábra (b)), bármelyk bemenet logka 0 esetében a kmenet 1. A kmenet vszont 0, ha mndkét bemenet 1. Ez pontosan az ÉS logka nverz működése. Ez a kéttranzsztoros felépítés így NAND (NEM ÉS) kapu. A párhuzamos kötés hasonlóan belátható módon a NOR (NEM VAGY) logka kaput alkotja (1. ábra (c)). Az áramkörök és kapuk működését a bemenetek és kmenetek összes kombnácójának megadásával egyértelműen meghatározhatjuk. Ezeket az adatokat táblázatos formában gazságtáblának hívjuk. A logka kapuk jelöléset és gazságtáblákat a következő ábrán (3. ábra) láthatjuk. 3. ábra Logka kapuk jelölése és gazságtáblá

9 A ks kört a NOT, NAND és NOR kapuk kmenet oldalán nverzós gömbnek hívjuk. Látszk, hogy az OR, NOR és AND, NAND kapuk között ez az nverz működés látszk a jelölésben s. A NAND és NOR kapuk két tranzsztorból épülnek fel, míg az AND és OR kapuk háromból. Ematt a gyártáskor a NAND és NOR kapukat preferálják. A kapukból épülő áramkörök leírására alkalmas a Boole-algebra. Változó és függvénye csak 0 és 1 értéket vehetnek fel. Az gazságtáblákkal való függvényleírás sok változó esetén kényelmetlen. Ennek egy tömör formája az algebra forma, ahol azon bemenetek kombnácót tüntetjük fel, ahol a kmenetünk gaz lesz. A bemenetek ÉS és VAGY kapcsolatban állnak, melyeket szorzással (AB = A ÉS B) és összeadással (A+B = A VAGY B) jelölünk. Az alább gazságtábla többség függvényt valósít meg, am akkor ad IGAZ kmenetet, ha a bemenete között többségben vannak az IGAZ értékek. Az gazságtábla tömör formája: M = ABC + ABC + ABC + ABC (a felülvonás tt alulvonás, a szerkesztés matt). 4. ábra Többség függvény gazságtáblája Az áramkör (5. ábra) megrajzolásának lépése: 1. gazságtábla felírása, 2. komplemensek felrajzolása, 3. M = 1-ek esetében ÉS rajzolása,

10 4. ÉS-ekbe a bemeneteket kötn, 5. ÉS-ek kmenete VAGY-ba. 5. ábra Többség függvény megvalósítása A NAND és NOR kapuk teljesek, azaz bármely Boole-függvény kszámítható velük. Gyakran kényelmesebb egy fajta kapuból építkezn, és gyártástechnkalag a kevesebb tranzsztorból megvalósítható NAND és NOR kapuk célra vezetőek. A NEM, ÉS, VAGY kapuk megvalósítása a következő ábrán szerepelnek (6. ábra).

11 6. ábra NEM, ÉS, VAGY kapuk megvalósítása A tervezésben és gyártásban a fő cél a kapuszám csökkentése. Ez azonnal árcsökkenést, lapkaméret-csökkenést, ll. fogyasztáscsökkenést jelent. Az egyszerűsítéskor ekvvalens áramköröket használunk. Akkor mondjuk két áramkörre, hogy ekvvalens, ha ugyanazon bemenet kombnácóra pontosan ugyanolyan kmenetet ad. Ekkor a két áramkör egymással lecserélhető. A Boole-algebra segítségével lyen ekvvalens áramköröket kereshetünk, ll. cserélhetünk le, így azonos funkcó mellett olcsóbb megoldásokat kapunk. Az átalakításokhoz a Boole-algebra pár azonosságát használhatjuk fel (7. ábra). 7. ábra Boole-azonosságok

12 A De-Morgan szabályból adódk, hogy VAGY és ÉS között átalakítást lehet véghezvnn (9. ábra). Az alább egyszerű példában azt látn, hogy egy XOR (kzáró VAGY) megvalósítást mlyen alternatív módokon tehetünk meg. 8. ábra XOR működés és megvalósítások 9. ábra ÉS VAGY átmenetek

13 A ma áramköröket már nem kapusznten alakítják k, hanem modulársan. Az egyes modulok természetesen kapukból, végső soron tranzsztorokból állnak, de valamlyen nagyobb egységként kezeljük őket. Az ntegrált áramkör (Integrated Crcut IC) kb. 5x5 mm-es szlícumlap, néhány kapuval. Ez többnyre műanyag vagy kerámatokozással, két él ment lábakkal szerelt (DIP Dual Inlne Package). A kapuszámtól függően osztályozzuk őket. Az 1 10 kapuszámú IC-k az SSI (Small Scale Integrated) osztályba tartoznak, a kapuszámúak az MSI (Medum Scale Integrated), a kapuszámúak LSI (Large Scale Integrated), a felett kapuszámmal rendelkezőket pedg VLSI (Very Large Scale Integrated) osztályba soroljuk. Mvel az ntegráltság folyamatosan nő, újabb kategórák jelennek meg. Az 1,5 mlló kaput vagy többet tartalmazó osztály neve a VVLSI (Very Very Large Integrated) osztály. Az ábrán egy SSI IC látható (10. ábra), 4 NAND kapuval. 10. ábra SSI IC 4 NAND kapuval Az IC-ken látható egy bevágás (notch), am az orentácót tesz egyértelművé. A tápellátáshoz szükséges lábak bekötéset nem szoktuk külön jelöln, de a kvezetések természetesen szükségesek. Egy lyen kapu jelterjedés, késleltetés deje az 1 10 ns-es tartományba esk. Az egyes kapuk lába az IC kvezetésen érhetőek el. Ha az osztályokban feljebb és feljebb lépünk, könnyen beláthatjuk, hogy a százezres, mllós kapuszám összes lábkvezetését egy IC-n nem lehet megoldan (km-es méretek jönnének k a kvezetések matt). Ebből fakadóan az IC-k fejlődésével egy természetes gény, hogy nagy legyen a kapu/láb arány, azaz sok hasznos funkcót valósítson meg az IC, kevés láb segítségével.

14 1.1. Kombnácós áramkörök A kombnácós áramkörök olyan áramkörök, melyeknek többszörös bemenetek, többszörös kmenetek vannak, és a pllanatny bemenetek határozzák meg az aktuáls kmeneteket, tehát nncs memóraelem az áramkörben. Egy lyen áramkör a multplexer. A multplexernek n vezérlőbemenete van, egy adatkmenete és 2n adatbemenete. A funkcó pedg, hogy a vezérlőbemenetekkel kválasztott bemenetet a kmenetre tegyük. Ez a funkcó például egy párhuzamos-soros konverzóhoz lehet szükséges. 11. ábra 8 btes multplexer felépítése és sematkus ábrája A multplexer példán (11. ábra) jól látható a felépítés. Az adatokhoz tartozó egyes ÉS kapukat az A, B, C bemenetekkel vezéreljük, mndg csak egy van nytva. Az ÉS-ek kmenetet egy VAGY kapu gyűjt össze. A multplexer párja a demultplexer, amely hasonlóan működk, egyetlen bemenetét a vezérlőbemenetek által kválasztott kmenetére (D0-D7) tesz (12. ábra).

15 12. ábra 8 btes demultplexer Sokszor a kész áramköröket bzonyos specáls kötésben más feladatokra s felhasználhatjuk. A multplexerből pl. többség függvényt s készíthetünk. A többség függvény azt adja meg, hogy a bemeneten többségben vannak-e az 1-esek. Ha gen, a kmenete 1, ha nem, a kmenete 0. A multplexer adatbemenetet fx logka 0-ra vagy 1-re állíthatjuk attól függően, hogy a vezérlőbemenetek kombnácójában az 1-esek vannak-e többségben. Innentől kezdve, ha ez teljesül, a kmeneten 1, ha nem, 0 jelenk meg (13. ábra). 13. ábra Multplexerből többség függvény

16 Egy tovább, gyakran alkalmazott áramkör a dekódoló. Működését tekntve egy kapcsoló, amely az n-btes bemenete által kválasztott 2n-kmenet közül aktvál egyet. Ez azt jelent, hogy tt 1 lesz a kmenet, az összes több kmeneten pedg 0. Ezt funkcókválasztáshoz, memórák esetében több chp együttes használatához és címzéséhez használják. Az alább ábrán (14. ábra) egy 8-3 dekódoló látható. Észrevehető a hasonlóság a demultplexerrel. Meg s lehet építen demultplexerből, csak a demultplexer bemenetét kell fx 1-re állítan. 14. ábra 8-3 dekódoló felépítése Az összehasonlító vagy komparátor két bnárs számot vzsgál, hogy megegyezőek-e. Ismerve az XOR kapu gazságtábláját, beláthatjuk, hogy deáls a feladathoz (15. ábra). Bármelyk hely értéken meglévő eltérés 1-es kmenetet ad a VAGY-ba, am a végén 0-ra fordul az nverzós gömbnek köszönhetően. Ha sehol nncs eltérés, mnden XOR kmenet 0, így a VAGY kmenete s, am 1-be fordul az nverzós gömb matt, jelezve, hogy IGEN, a két szám megegyezk.

17 15. ábra 4 btes komparátor, XOR gazságtábla A fent pár áramkörben észrevehető, hogy hasonlóképpen épülnek fel. Tetszőleges függvények (gazságtáblázatok) építhetők úgy, hogy ÉS kapukkal logka szorzatokat képzünk, majd ezek kmenetet VAGY-oljuk. Ebből kndulva létrehozható olyan programozható logka tömb (PLA Programable Logcal Array), amelyben ezek a kapcsolatok előre k vannak alakítva mnden bemenet kombnácóra. Ekkor mnden mndennel összeköttetésben van, amnek önmagában sok értelme nncs (pl. negált jel saját magával). Vszont az egyes összeköttetéseken található ks olvadó bztosítékok kégetésével meghatározhatjuk, hogy mely összeköttetések maradjanak meg. Ezzel felprogramozhatjuk a hálózatunkat. Erre az alább ábrán (16. ábra) láthatunk példát, ahol egy 12 bemenetes (negált bemenetekkel 24) és 6 kmenetes elrendezést vázolunk.

18 16. ábra 12-6-os PLA felépítése Ez a módszer nagyon hasznos a prototípusgyártáskor, a fejlesztés fázsában. Amkor már kforrott az elrendezés, nagy tételben érdemes legyártatn a hagyományos módszerrel az áramkört. Artmetka áramkörök nélkül elképzelhetetlen a számítógép. Egy egyszerű funkcót lát el a léptető, azaz shfter (17. ábra). A bemenő adatbteket a vezérlőbten jelzett rányba egy bttel eltolva kapjuk. A bejövő oldalon nullák jelennek meg, a kmenő oldalon elveszítjük a khulló bteket. 17. ábra 8 btes shfter

19 Egy számítógép egyk alapvető művelete az összeadás. Ezt félösszeadók (18. ábra) segítségével végzk el a gépek. A félösszeadó azért fél, mert nem kezel az előző hely értékről érkező átvtel (carry) btet. Ehhez két félből egy teljes összeadót kell építenünk (19. ábra). 18. ábra Félösszeadó és működése 19. ábra Teljes összeadó és működése A maradékos összeadáshoz deáls kapu az XOR. A maradékot egy ÉS kapuval kezelhetjük. A teljes összeadásnál az összeadás végén még a maradékot (carry n) s hozzá kell adn az eredményhez és újabb maradékot számoln (mndkét félösszeadóban nem lehet egyszerre maradék).

20 Több összeadót sorba kötve tetszőleges btszélességű összeadót kaphatunk. Ez jól s működk, csak sajnos lassan. A maradékok kszámításához hely értékenként kell elvégezn az összeadásokat, am a növekvő btszélességekkel egyre tovább tart. Ezt a felépítést hívjuk átvtelt továbbterjesztő összeadónak rpple carry adder). Egy lehetséges gyorsítás módszert az ún. átvtelt kválasztó összeadóban carry select adder) láthatunk (20. ábra). A btszélesség adott pontjától (érdemes mndg felezn) két, külön összeadó sort használunk, melyek fx 0-s és 1-es maradékokkal számolnak. Mre kderül, hogy tt valóban menny lesz a maradék, már csak két verzóból kell választanunk, az eredmények már megvannak. Ezzel párhuzamosíthatjuk a számolást. 20. ábra Átvtelt továbbterjesztő és átvtelt kválasztó összeadók Az eddg áramkörökből már építhetünk egy artmetka-logka egységet (Arthmetc Logc Unt ALU). Ez az egység végz a legtöbb számítógépben a logka és összeadás műveleteket. Egy 1 btes ALU-ra nézünk példát, amből persze tetszőleges btszélességű ALU építhető. Az ALU-nk (21. ábra) F0, F1 vezérlőbemenete egy dekóder segítségével adják meg, hogy a négy lehetséges műveletből melyknek az eredménye jelenjen meg a kmeneten (output). A bemenet az A és B, lletve ezeket ENA és ENB-vel nullára állíthatjuk. A négy művelet a három logka művelet (ÉS, VAGY, NEM), valamnt az összeadás lehet. Az ALU-nk az A bemenetét INVA-val nvertáln tudjuk. A maradékok be- (Carry n) és kmenete (Carry out) a több btes számok összeadásához lesz majd szükséges (több-btes ALU-építésnél).

21 21. ábra 1 btes ALU felépítése Az 1 btes ALU-kból tetszőleges btszélességű ALU-t építhetünk (22. ábra). 22. ábra 8 btes ALU sematkus ábrája Az első hely érték INC bemenete a Carry n-re van bekötve. Ezzel egy tetszőleges szám értékét lehet növeln eggyel, azaz nkrementáln lehet. A dgtáls áramkörökben sokszor az események sorrendje krtkus, azaz kell egy mechanzmus, am bztosítja, hogy amkor szükséges egymást megelőzően, vagy épp pont

22 egyszerre történjenek meg események. A sznkronzálást az órával tehetjük meg. Az óra (clock) egy áramkör, mely pontosan meghatározott szélességű pulzusok sorozatát bocsátja k, pontosan meghatározott dőközönként. A két pulzus éle között dő a cklusdő (clock cycle tme). Egy 500 MHz-es sebesség 500 mlló pulzust jelent másodpercenként. Itt a cklusdő 2 ns. Ha ennél fnomabb felbontás kell, ezt s elő lehet állítan. Ha az órajelet saját magával eltolva logka ÉS kapcsolatba hozzuk, az alább ábrán szereplő aszmmetrkus órát kapjuk (23. ábra). Itt a 0 állapot dőben tovább tart, mnt a ks dőkre beálló 1 állapot. 23. ábra Óra rekombnácója és a kapott aszmmetrkus óra (C) 1.2. Szekvencáls áramkörök Az áramkörök egy másk nagy csoportja a nem kombnácós áramkörök (szekvencáls, sorrend áramkörök). Itt a kombnácós áramkörökkel ellentétben nemcsak az aktuáls bemenetektől, hanem előző állapotoktól s függ a kmenet, azaz van a hálózatnak belső állapota, van memórája. A memóra fontos alkatrésze a számítógépeknek, a Neumann és Harvard elvű gépeknek s fő alkatrésze. A dgtáls áramkörökben alapvetően btállapotokat kell megjegyeznünk. 1 bt tárolásához használhatunk egy egyszerű eszközt, az SR-tárolót (Set Reset Latch). Az alább példában ezt NOR kapukból fogjuk megvalósítan (24. ábra). A két NOR kapu specálsan van kötve, kmenetek a másk kapu egyk bemenetét képzk. Ezzel két bemenete lesz a kétkapus hálózatunknak. Az S (set) és az R (reset). A kmenetekből s kettő lesz, Q és Q (Q negált az ASCII kódolás matt sokszor #Q-ként írják).

23 24. ábra NOR kapukból épített SR-tároló stabl és nstabl állapota A beállítás után Q-ban kalakul az eredmény. Stabl állapotban ez a tápfeszültség megtartáság vagy a lenullázásg (reset) meg s marad. Az nstabl állapot egy lehetetlen állapot, amből az áramkör kugrana egy stabl állapotba. Ha a tároló (Q) 1-es értéken van és S-et 1-re állítjuk, semm nem történk, marad az érték 1. Ha Q 0-n volt és S-et 1-re állítjuk, Q értéke 1-re vált. Hasonlóképp, ha Q értéke 0 volt és R-rel reseteljük a tárolót, semm nem történk. Ha Q értéke 1 volt és resetelünk, Q 0-ba fordul (25. ábra).

24 25. ábra SR-tároló átállítása Gyakran van arra szükség, hogy a tároló állapotváltozása adott pllanatban történjenek. A fentek ks módosításával dőzített SR-tárolót (clocked SR latch) hozhatunk létre. Ebben a képítésben S és R állása csak akkor jutnak be a hálózatba, ha az óra magas állásban van (26. ábra). Az órabemenet jelét szokták még kapuzójelnek (strobe) hívn. 26. ábra Időzített SR-tároló Ha az S és R bemenetek egyszerre 1-es értéken vannak, beállítan és reseteln s akarjuk a hálózatot. Ekkor Q vagy Q beugrk 1-re, míg a másk 0 marad. A baj csak az, hogy ezt nem determnsztkusan teszk, azaz nem tudjuk, m történk (27. ábra).

25 27. ábra S = R = 1 nem determnsztkus vselkedés Erre a problémára adhat megoldást, ha nem engedjük, hogy S és R értéke egyszerre legyen 1. Ezt egyszerűen elérhetjük. Egyetlen bemenetet kell defnáln, amely S-be megy, negáltja pedg R-be. Így S és R nem lehetnek egyformák (0 sem, bár ez nem okoz zavart). Ezzel a módszerrel kapjuk az dőzített D-tárolót (28. ábra). 28. ábra Időzített D-tároló Amkor egy adott pllanatban (akár az óradőktől eltérő pllanatban) akarunk mntát venn, (eltároln) egy jelet, más megoldást kell választanunk. A bllenőkör (flp-flop) élvezérelt, azaz az óra felfutó vagy lefutó élén tárolja el a bemeneten lévő értéket. Az órajel hossza nem lényeges. A következőkben pulzusgenerátoros flp-flop megoldást láthatunk. A pulzusgenerátor első ránézésre értelmetlennek tűnhet, mvel a bemenetet saját negáltjával vezetjük egy ÉS kapuba. Ha fgyelembe vesszük, hogy a negálás ks dőkésleltetéssel történk meg, kderül, hogy pont ekkora dőre tudunk egy pulzust létrehozn (29. ábra).

26 29. ábra (a) pulzusgenerátor, (b) jelértékek A pulzusgenerátort az óra helyére llesztve kapjuk a D-flp-flopot (30. ábra). 30. ábra D-flp-flop A D-flp-flopok (élvezérelt) és tárolók (óravezérelt) sematkus ábrá a következő ábrán (31. ábra) láthatóak.

27 31. ábra Óravezérelt tároló (óra 1-re és óra 0-ra ír) és D-flp-flopok (felfutó élre, lefutó élre ír) sematkus ábrá A valóságban persze nem 1-1 btet szoktunk tároln, hanem többet egyszerre (pl. memórarekesz méretűt vagy regszternyt). A következő két ábra egy független (2 D-flpflop) és egy sznkronban működő (8 btet egyszerre kezelő) elrendezést mutat. 32. ábra 2 független D-flp-flop a chpen A 8 btes elrendezésben a 11-es láb az óra, ez közös. Az 1-es láb s közös, am mndent töröl. Több lyen chp használatával nx8 btny adatot tudunk egyszerre tároln (1-es és 11-es lábakat össze kell kötn a sznkron matt).

28 33. ábra Nyolcbtes D-flp-flop a chpen Az eddg példák megmutatták, mlyen lehetőségünk van btek tárolására. Korábban azonban tettünk utalást arra, hogy a lapkák bonyolultságának és funkcónak növekedésével a lábszámok növekedése nem kívánt hatás. Ezt a memórák esetében s, ahol a kapactások növelése a cél, kjelenthetjük. Még közös órajel és reset-lábak esetén s btenként két láb szükséges a használathoz, am a ma memórakapactásokat tekntve mllárdos lábszámot adna. Nylvánvalóan lehetetlen ennek a megoldása, más módszerrel kell dolgozn. Az ötlet a szavak címezhetősége, azaz a pár btny adatot, am a bemeneten megjelenk, valamlyen cím megadásával írhatjuk célzottan a helyére a memórában. Ez az a koncepcó, amt a memórák kapcsán említettünk korábban: az adott címen érjük el a rekeszt, amt írn vagy olvasn akarunk. A következő egy lyen módon működő, 4 címből és 3 btes rekeszekből álló memóraszervezést mutat (34. ábra).

29 34. ábra 4 darab 3 btes szóból álló memóra A CS (Chp Select) bemenet a lapkaválasztáshoz kell. Ha ez aktív, akkor működk ez a chp. Ebből a felépítésből többet s lehet párhuzamosan használn, amelyk chp CS vonala aktív (pl. egy dekódoló választhat, amnek az nputja az eredetleg megadott teljes memóracím egyes btje lehetnek), az tárol. Ha CS nem aktív, egyk tároló sem kap órát, így nem lehet írn bele, bárm s jelenk meg az nputon. Az RD (ReaD) bemenet 1-es állapotban olvasást, 0-s állapotban írást fog jelenten. Belátható, hogy CS ÉS RD együttes aktválásánál van lehetőség órajelet adn. Az OE (Output Enable) bemenet érték engedélyez a kmenetet, e nélkül nem olvasható a tartalom. A három bemenet vonal (Input I0,I1,I2) a három bemenő adatvonal, az A0,A1 vonalak (address) a címvonalak, amelyek egy dekódoló segítségével megadják, melyk rekeszt (sort) akarjuk írn vagy olvasn. A fent vezérlőbemenetekkel együtt a címbemenet pontosan egy wrte gate-et (író kaput) fog aktváln. A három kmenet (output): O0,O1,O2 az adott rekesz adatat jelenít meg, ha olvasás történk és OE engedélyezett. Olvasáskor a címek

30 által aktvált dekódersor és a Q kmenetek kerülnek ÉS kapukra, melyeket mnden sorral VAGY kapuk gyűjtenek össze és tesznek a kmenetre. Tovább lábcsökkentés lehetőség, ha a bemeneteket (I-k) és a kmeneteket (O-k) közös vonalakra teszk. Az OE által vezérelt ks háromszögek nem nvertáló pufferek. Ezek aktív állapotban rövdzárként, nem aktvált állapotban szakadásként működnek. A fent 4x3-as elrendezést könnyen bővíthetjük pl. 4x8-as elrendezésre, csak a megfelelő tároló oszlopokat kell berajzoln. A címzés marad, hszen ahogy azt a korábbakban tárgyaltuk, a címszélesség és a rekeszek nagysága független. A rekeszméret bármekkora lehet (fent példánkban 3 btes volt), a címszélességet vszont kettő hatványának érdemes választan a legnagyobb hatékonyság kedvéért. Az áramkör technológa nagyon alkalmas arra, hogy smétlődő struktúrákat állítson elő. A kétdmenzós mnták felfedezhetők a fent kalakításban s. A memóralapkák fejlesztés ránya a nagyobb kapactások felé halad. Ez akár a sebesség kárára s megy. Az alább ábrán két memóraszervezés példát láthatunk ( 35. ábra). Az egykben a fenthez hasonlóan 8 btes rekeszeket címzünk sorrendben. A 19 btes adatlábakkal 219 címet, azaz 512 K-ny címet tudunk megadn. Ez 512 K x 8 btny, 4 Mbtny adat. Az elrendezésben = 30 lábat használunk. A másk elrendezésben 2048 x 2048-as mátrxot képzeljünk el. Itt sorokat és oszlopokat címzünk meg, két lépésben. A RAS (Row Address Strobe) a sorcím beadását jelöl, a CAS (Collumn Address Strobe) pedg az oszlopcím beadását. Az így címzett cellában 1 bt adat van, ezt kapjuk (vagy írjuk) a D (Data) vonalon keresztül. Ebben az elrendezésben = 17 lábat használunk. Igaz, a 8 btny adat eléréséhez 8 alkalommal kell 2 címet megadnunk. Ez némleg gyorsítható azzal, hogy a sorcím után egysorozatny oszlopcímet fogadunk. A sebesség így s ksebb, mnt a fent esetben. A kapactások növekedésével mégs lyen lépésekre kényszerülünk a lábszám kezelhető mennységben tartása érdekében.

31 35. ábra 4 Mbtes memórák Az 1 btes olvasás a nagy memórakapactások mellett kezd kényelmetlenné váln, így sok gyártó 1, 4, 8, 16 vagy magasabb btszélességű memóralapkát gyárt. A következő ábra (36. ábra) két 512 Mbt-es lapkát mutat, melyek 16 btes és 4 btes rekeszekkel dolgoznak. 36. ábra 512 Mbtes memórák Mndkét verzón 128Mbtes modulok vannak, ezeket a két modulválasztó vonallal (Bank 0, Bank 1) lehet kválasztan. Az első verzóban 32 M x 16-os kalakítást látunk, azaz a

32 címvonalakból 13-at a RAS, 10-et a CAS jelhez használva M címet adhatunk meg mndegyk modulon ( cím). Ezen címek mndegyke (32 M) egy 16-os rekeszt címez. A másk kalakításban mnden hasonlóan megy, csak a CAS jelekhez nem 10, hanem 12 vonalat használunk. Ez végül 27 címvonalat jelent, amből kjön a 227, azaz 128 M cím, egyenként 4 btes rekeszeket címezve. A végső kapactás ugyanaz, 512 Mbtny memóra CPU lapkák A CPU-k a számítógépenk fő komponense. A modern CPU-k egy lapkán helyezkednek el és lábkészletükön keresztül tartják a kapcsolatot a külvlággal. A lábakat három fő csoportba oszthatjuk: cím, adat, vezérlés. Az egyes csoportok lába párhuzamos vonalakon, síneken kapcsolódnak a több egység (memóra, I/O stb.) hasonló lábahoz. A síneken való kommunkácóra példa lehet egy utasítás betöltése: 1. CPU sínhasználat jogot kér. 2. Utasítás címét a címlábakra tesz. 3. Vezérlővonalakon értesít a memórát, hogy olvasn akar. 4. Memóra a kapott címről kolvassa az adatot és az adatvonalakra tesz. 5. Memóra jelez a CPU-nak, hogy az adatot feltette. 6. CPU olvassa az adatot, végrehajtja az utasítást. A cím- és adatlábak száma lényeges kérdés. Ahány láb van, anny btes címzést, lletve adatátvtelt lehet megvalósítan. Ha m vonalas a címbusz, 2m rekeszt címezhetünk meg. Ha nagyobb adatot vagy címtartományt akarunk olvasn, az s megoldható persze, de több lépésben. A CPU-k egyéb lába az óra, a tápellátás, földelés feladatokhoz rendeltek. A vezérlőlábak egyk feladata a sínvezérlés (bus control). Itt dől el, hogy m történk a sínen. Ehhez tartoznak a sínütemezéssel kapcsolatos lábak. Egy tovább lábcsoport a megszakításokkal foglalkozk. A lassabb eszközök ezen keresztül kérk a CPU-t, hogy amkor

33 adatot tudnak szolgáltatn, a CPU foglalkozzon velük. Addg a CPU egyéb hasznos feladatot csnál. 37. ábra CPU lábcsoportok Külön lábcsoport foglalkozk a segédprocesszorokkal. Amkor több processzor van a rendszerben, kommunkálnuk kell egymással. Vannak állapotnformácós lábak s, lletve kompatbltás matt megtartott lábcsoportok Számítógépes sínek A sínekről a számítógépek kapcsán általában kevés szó esk, pedg fontos építőeleme a gépeknek. A sínek (bus) a különböző eszközök között elektronkus pályák. Sebességükön és paramétereken múlk a kommunkácó, így a számítógép sebessége s. A CPU-n belül buszon az ALU és a CPU-n belül tovább komponensek kommunkálnak (regszterek, vezérlőegység). A CPU-n kívül buszokon a számítógép egységevel zajlk kommunkácó (I/O eszközök, memóra). A kora gépeknek egy külső sínje volt, a rendszersín (system bus). Ez tpkusan párhuzamos rézvezeték volt, az alaplapra ntegrálva, szabvány csatlakozás lehetőségekkel. A modern számítógépekben legalább 2 busz van (38. ábra): CPU memóra között specáls busz CPU I/O között busz (néha buszok).

34 38. ábra CPU-n belül és kívül sínek A sínekre vonatkozó szabályok a sínprotokollok (bus protocol). Ezek írják le a mechanka szabványokat (méretek, csatlakozók) és az elektronkus defnícókat (áramok, feszültségek, dőzítés). A számítástechnka történetében számos sínrendszer megfordult már, ha csak a PCket tekntjük, ott s több sín váltotta egymást, lletve futott párhuzamosan (pl. ISA, PCI, AGP, PCIe). Sajnos a sínrendszerek többsége nem kompatbls egymással és nem valószínű, hogy 1-2 sínre szűkül a kínálat a jövőben. A síneken lévő eszközök alapvetően kétféle módon vselkedhetnek: aktív (mester master) módban, amkor átvtelt tud kezdeményezn, passzív (szolga slave) módban, amkor csak kszolgáln képes a kéréseket. Az eszközök többsége mndkét módon tud vselkedn, például egy CPU és lemezvezérlő között a CPU mesterként kérhet adatot a vezérlőtől, de a memóra és lemezvezérlő között az utóbb kezdeményezhet írást a memórába. A memóra soha nem lehet mester. Az egyes egységek, pl. a jelerősítés matt, sínvezérlőn (bus drver) kapcsolódnak a sínhez. A szolgák sínvevőn (bus recever), a mester-szolgák sín adóvevőn (bus transcever) kapcsolódnak. A csatlakozás fzkalag háromállapotú eszközökkel (tr-state devce) történk meg. Ezeket az eszközöket szakadásnak és rövdzárnak tudjuk állítan, így a buszrendszerről leválaszthatóak az épp nem aktív egységek. A másk csatlakozás megoldás a nytott kollektoros (open collector) kmenet kapcsolás, ahol huzalozott vagy kapcsolatban vannak az egyes eszközök megfelelő lába. (Ha csak egy eszköz beszél, nncs probléma.) A sínszélesség megadja, hány jelet tudunk párhuzamosan továbbítan. A szélesség növelése azonban költségekkel jár, mert több hely kell, és nagyobb csatlakozókat kell kalakítan. Ha

35 vszont csak a költségek mnmalzálására törekszünk, rövdlátóan tervezhetünk, am megnt csak a költségek növekedését okozhatja. Erre egy példa az Intel PC-kbe szánt sínrendszerének története (39. ábra). 39. ábra Intel sínrendszerek btszélességének alakulása Az IBM PC-kben használt 8088-as processzoros gépek sínrendszere 20 btes volt. A címezhető 1 MB memóra kevésnek bzonyult, így a 286-os archtektúrában +4 bttel megnövelték a címszélességet (am 16x-os szorzót jelent). Hamar kderült azonban, hogy a 16 MB-ny címezhető memóra s kevés, így 32 btesre növelték a címszélességet a 386-os archtektúrában. A kompatbltás matt azonban a rég szabványt csak bővíten lehetett, teljesen újratervezn nem. Dgtáls rendszereknél a sávszélességen a maxmáls nformácóátvtelt érthetjük. A sávszélesség növelését alapvetően két módon érhetjük el. Az egyk, hogy csökkentjük a sín cklusdejét. Ez felvet a kompatbltás problémáját, lletve a sínaszmmetrát (skew). Ez utóbb abból adódk, hogy a párhuzamos vonalakon a késleltetések különbözőek lehetnek. Ez a nagy átvtel frekvencák esetén már olyan mértékű lehet, hogy nem eldönthető, egy jel lemaradt vagy túl korán érkezett-e a többekhez képest. Egy másk megoldás az adatszélesség növelése. Ez smét kompatbltás problémákat vethet fel, lletve növel a költségeket. Egy kompromsszumos megoldás lehet a sokszorozott (multplexelt) sín. Ekkor az adat- és címvonalakat együtt használjuk. Először mnden vonalon címet, majd mnden vonalon adatot küldünk. A szükséges sínszélesség növelhető extra vonalak hozzáadása nélkül. A sebesség vszont csökkenhet, lletve maga a sínprotokoll bonyolultabb lehet.

36 A síneket az eszközök közösen használják a CPU-val együtt. Ha egyszerre többen akarják használn, el kell dönten, ké az elsőbbség. Ezt a sínütemező lapka tesz meg. Általában az I/O eszközök előnyt élveznek, mert ezeket nagyon sok dőbe kerül újra kolvasn (mozgó alkatrészek, felpörgetés). Ha tehát szabad a sín és a CPU használn kezd, de közben egy I/O eszköz engedélyt kér, megkapja. Ez a ckluslopás. A nagyobb átvtel gények és bővülő eszközök mellett a sínrendszerekkel szemben támasztott követelmények s nőttek. Zárt rendszerben vszonylag szabad keze van a fejlesztőknek, teljesen új megoldásokat s hozhatnak. Egy PC kategórájú gépben azonban nagyon fontos szempont a kompatbltás megőrzése. A vásárlók tovább akarják használn az eszközeket, amket megvettek (kegészítő kártyák pl.). A gyártók s megbízható környezetet szeretnének, így senknek nem érdeke, hogy túl gyakran gyökeresen változzanak a sínrendszerek. Fejlődn azonban kell. Egy alkalmazott megoldás az lehet, hogy a rég és új rendszereket párhuzamosan, egymás mellett használjuk és az gények montorozása mellett folyamatosan kvezetjük a rég megoldásokat. Erre jó példa volt a PC-k esetében az ISA mellett megjelenő EISA, majd az ISA eltűnése és a PCI megjelenése, am mellől lassan kkopott az EISA és megjelent a PCIe. 40. ábra Kora PCI és ISA buszrendszer A fent ábrán (40. ábra) egy PCI buszrendszerre kapcsolt lassabb, ISA buszrendszert láthatunk. A kapcsolatot az ISA-híd (ISA brdge) adja. Az IBM PC sín a 8088-as gépek de facto szabványa volt. 62 jelvezetékén 20 cím, 8 adat és vezérlővonalak futottak.

37 41. ábra IBM PC sín és bővítés alaplapon A 286-os megjelenésekor a busz btszélességét bővítették. A kompatbltás megőrzése matt a hagyományos élcsatlakozók mögé került egy rövd élcsatlakozó-sor, az extra csatlakozásokkal. Így a rég és új kártyák s bekerülhettek ugyanarra a csatlakozásra (41. ábra). Az IBM a PS/2 új sorozatával új sínrendszert s kdolgozott, MCA (McroChannel Archtecture) néven, melyet erősen levédett. Ez hbás döntésnek bzonyult, az par jó része elfordult a szabványtól és egy máskat támogatott, amely az ISA (Industral Standard Archtecture) lett. Ez egy 8,33 MHz-es, a rég eszközökkel kompatbls sínrendszer volt. Később ez EISA (Extended ISA) néven újult meg. Utóbb egy 32 btes verzó volt ( ). A síneket dőzítésük alapján két nagy kategórába soroljuk. Az első a sznkron sínek (synchronous bus), a másodk pedg az asznkron (asynchronous bus) sínek. A sznkron sínek egy vezetékén krstályoszcllátor négyszögjele halad. Egy jelet síncklusnak (bus cycle) hívunk. Mnden síntevékenység egész számú síncklusg tart. Az asznkron sínek síncklusa bármekkorák lehetnek, még eszközönként s eltérhetnek. Egy sznkron sín órajele legyen 100 MHz. Ekkor a síncklus 10 ns (a PCI sín 33, ll. 66 MHzes). A memóraolvasás 15 ns-g tart. Ebben az esetben a memóraolvasás menetét a következő ábrán láthatjuk (42. ábra).

38 42. ábra Sznkron sín memóraolvasásának dőzítése T1 órajel kezdete a felfutó élen van. T1 dő alatt a CPU a címvezetékre feltesz az olvasandó memóra címét (TAD dő). Amnt fent van a cím, a CPU beállítja a MREQ# jelet, jelezve, hogy a memóra felé akar kommunkáln. Az RD# jel beállításával (alacsonyra) megadja, hogy olvasn akar. Eddg újabb TML dő telk el. Mvel a memórának 15 ns dő kell az adat szolgáltatásához, de egy cklus csak 10 ns hosszú, a protokoll szernt a memóra mndenképp WAIT jelet küld a CPU-nak. Ezzel azt jelz, hogy a CPU ne számítson a következő cklus végég adatra, csnálhat mást, ha akar. Amnt megvan az adat, a WAIT vezetéket negálja a memóra, és feltesz az adatot az adatvezetékre. A CPU a WAIT negálására reagálva a T3 lefutó élén betesz az adatokat egy regszterébe, majd negálja az MREQ# és RD# jeleket, alapállapotba hozva a kommunkácót. A protokoll előre rögzít, m menny deg tart, ezeket az dőket eleve k kell várn. Ha valam tovább tart, egész számú cklusokkal hosszabbodk a művelet. Az egész tevékenység s egész számú cklusg tarthat, hába végződne pl. 2,3 cklus alatt el valam, erre akkor 3 cklusdőt kell szánn. A protokoll várakozásat a leglassabb eszközhöz kell gazítan. A rögzített várakozások matt hába gyorsulnak fel az eszközök, a protokoll változáság marad a sebesség. Erre megoldást nyújt az asznkron sín. Ebben az esetben nncs órajel, nncsenek kötelező várakozások, nncs s WAIT jel. Sznkron óra híján azonban szükség van két extra jelre: az MSYN#-re (kérés master sync.) és a SSYN#-re (kész slave sync.). Amkor SSYN# negált, akkor jöhet újabb kérés. Ebben a rendszerben gyors és lassú eszközök a saját sebességükön

39 dolgozhatnak, ha az eszközök javulnak, a sebesség s nő. A fent memóraolvasás példát a következő ábra mutatja (43. ábra). 43. ábra Memóraolvasás menete asznkron sínen A sínmester feltesz a címet a címsínre, majd beállítja az MREQ#, RD# végül MSYN# jeleket. Erre a szolga reagál, a kapott címről kolvassa az adatot, feltesz az adatsínre és beállítja az SSYN# jelet. Erre a mester beolvassa az adatokat, majd törl a címvezetéket, és negálja az MREQ#, RD# és MSYN# jeleket. MSYN# negálására a szolga SSYN# negálásával reagál, így alapállapotba kerül mnden. A mester és szolga jelek fent felhasználását teljes kézfogásnak (full handshake) nevezzük. Ez független az dőzítésektől, mnden eseményt egy előző vált k, nem az órajel. A sznkron sínrendszereket egyszerűbben és olcsóbban lehet képíten, így azok jobban elterjedtek. Ha több eszköz verseng a sínért, valamlyen módon el kell dönten, k használhassa, azaz sínütemező (bus arbtraton) mechanzmusra van szükség. Ez két nagy kategórára bontható. Az első a centralzált, ahol egy dedkált ütemező hozza meg a döntést, lletve decentralzált, ahol a döntés közös elhatározás alapján születk meg, nncs dedkált ütemező. Az egyk legegyszerűbb centralzált sínütemező mechanzmus az egyszntű láncolt (dasy channg). Ez az ütemezés egyszntű, az eszközök sorba vannak kötve az ütemező mellett. Két vonal él, a kérés vonal, amelyen az eszközök jelzk az ütemezőnek, hogy engedélyt kérnek, és az engedély vonal, amelyen az ütemező sínhasználat jogot küld. Az engedély véggmegy a sorba fűzött eszközökön, és az első olyan eszköznél, amely sínt kért, fennakad. Ez az eszköz elkezd a sínhasználatot, a később eszközök pedg hoppon maradnak (44. ábra).

40 44. ábra Egyszntű centralzált láncolt sínütemezés Ha túl sok eszközünk van felfűzve, az ütemezőtől távol eszközök sznte soha nem jutnak szóhoz. Az ütemezést fnomítan lehet, ha prortás sznteket vezetünk be a kérő és engedély vonalakon. Erre példa a következő ütemezés, a többszntű prortásos láncolt (dasy channg) ütemezés. A működés hasonló, a kéréseket és engedélyvonalakat az ütemező a prortások szernt kezel. Egy fzkalag távolabb, de magasabb prortású eszköz előbb kaphatja meg a sínhasználat jogát (44. ábra). 45. ábra Többszntű centralzált, láncolt ütemezés A láncolt ütemezésnél egy tovább nyugtavezetékkel az eszközök jelezhetk, hogy megkapták az engedélyt. Ekkor, párhuzamosan a kommunkácó deje alatt, el lehet dönten a következő sínhasználat jogot. Az állandó versenyben a CPU gyakran vetekedk a prorzált I/O eszközökkel. A CPU-t érdemes kvenn ebből a versenyből, mégpedg úgy, hogy saját busza van a memóra felé, míg a több eszköz a hagyományos buszrendszeren kommunkál. A fejlődés az unbusztól az eszközönként dedkált kommunkácó rányába halad. A decentralzált sínütemezésnek s több megoldása van. Az egyk, amkor az eszközök maguk döntk el, ké lehet a sín. Tegyük fel, hogy 16 eszközt lleszthetünk a rendszerbe. Ekkor a 16 prortásos kérésvezeték mnden eszközhöz be van kötve, azaz mndenk látja a többek kéréset. Ismerve a saját prortását, mnden eszköz eldönthet, hogy van-e nagyobb prortású

41 kérés a vonalakon, mnt a sajátja. Ha gen, nem használhatja a sínt. Ha nncs, akkor ezé az eszközé a sínhasználat joga. Itt az extra vezetékekkel megspórolhatjuk a sínütemezőt. Egy másk megoldás lehet, amkor a láncolt ütemezéshez hasonló felállásban (46. ábra) az ütemező helyett az óra van az engedélyvonalra kötve. Ekkor engedélyek sorozata megy végg az eszközökön, az engedélyvonalon. Amelyk eszköznek szüksége van a sínre, ezt a vonalat megszakítja és beállítja a foglalt vonalat (ez egy extra vonal a láncolt elrendezéshez képest). Ebből a többek tudn fogják, hogy nem beszélhetnek (mvel vagy nem kaptak az engedélyvonalon jelet, vagy kaptak, de tovább engedték). Csupán egyetlen eszköz lesz, amelyk kapott engedélyt, de nem engedte tovább. Ez az eszköz használhatja a sínt. 46. ábra Decentralzált láncolt sínütemezés A fent síncklusokban adatokat kért vagy küldött a mester a szolgának. Egyéb síntevékenységek s léteznek, pl.: Blokkos átvtel. Versenyhelyzet-kezelés (pl. több CPU-s rendszerben adatelérés). Megszakítás (lassú I/O eszközök végeztek pl. az olvasással, kezeln kell őket). A blokkos átvtelt (47. ábra) már említettük korábban, a cache kapcsán. Ez az átvtel egybefüggő adatok esetén gyorsabb, mnt az egyes szavak egyenként átvtele. Ematt jó, ha nem egyesével érjük el a memórát. A korább memóraolvasás dőzítés példához hasonlóan történk az adatátvtel. Megjelenk egy BLOCK# vezérlővonal, amellyel jelezhetjük, hogy blokkos átvtel következk. Az olvasás első fázsában az adatvonalra feltesszük a darabszámot, hogy hány szó kerüljön a blokkba, és az eddgek mellett beállítjuk a BLOCK# vonalat s. Ebből a memóra tudn fogja, hogy a kapott címtől hány szót küldjön sorfolytonosan a CPU felé. Az első szó olvasása ugyanúgy 3 dőegységbe kerül, mnt korábban, de a blokk tovább szava már 1-1 dőegység múlva érkeznek. Ezzel nagy adatmennységek esetén közel háomszoro gyorsulás érhető el.

42 47. ábra Memóraolvasás blokkos átvtellel A kölcsönös kzárásra akkor van szükség, amkor pl. több CPU van a rendszerben és ugyanazt az adatot akarják elérn. Ha ezt nem szabályozzuk, nem lehet tudn, k, mt módosított az adaton, előbb vagy utóbb adatvesztés, hba történk. A felügyeletre bevezethetünk mnden adatblokkhoz egy bool változót, amt az a CPU, amelyk dolgozn akar az adattal, megvzsgál, és ha 0, akkor 1-re állít. Ekkor ez a CPU dolgozhat az adattal és a több vzsgálatnál a változó 1-es értéke matt a több CPU nem nyúl az adathoz. Ez jól hangzk, de m van, ha pontosan egyszerre olvassa be a két CPU az adott változót? Mndketten 0-t látnak, 1-re állítják, és elkezdenek egyszerre dolgozn ugyanazon adattal. Ez nem megengedhető. Ilyen esetekben már a változó olvasását s kzárólagosan kell bztosítan, azaz, ha kérés érkezk a változó állapotának olvasására, akkor tovább olvasásokat sem szabad engedn. Az olvasás módosítás vsszaírás sínműveletnek nem megbonthatónak kell lenne. A megszakítás akkor következk be, ha egy lassú (többnyre I/O) eszközre a CPU nem vár, hanem más értelmes feladattal foglalkozk, majd a lassú eszköz elkészül és kér a CPU-t, hogy szakítsa meg aktuáls tevékenységét és térjen vssza a lassú eszköz kezelésére. Ezt a CPU megtagadhatja (várakoztatva a lassú eszközt), lletve több megszakítás kérelmet prortások alapján kezelhet (ütemezés feladat). Ezt a kommunkácót s a síneken kell bonyolítan. Az dőkrtkus eszközöknek (ahol a mechanka működésből adódóan nagyon nagy dőköltséggel járhat egy újraolvasás) többnyre magasabb prortást szoktak adn. Az IBM PC és ezt követő PC-rendszereken elterjedt megszakítás-vezérlő lapka az Intel 8259A (48. ábra). Bemenetere 8 I/O lapka kapcsolható. A bejövő megszakításkérések ezeken érkeznek (IR0-IR7). A lapka az INT vonalán kér megszakítást a CPU-tól, amely az INTA vonalon jelz a hajlandóságát. A megfelelő, kválasztott eszközhöz tartozó ponter alapján a

43 megszakításvektor táblából lefut a megfelelő kód azaz a CPU lekezel a megszakítást kérő eszközt. A lapka 8 bemenetére újabb megszakításvezérlők kerülhetnek, ezzel akár 64 eszköz megszakításat lehet kezeln. 48. ábra Intel 8259A megszakításvezérlő kapcsolata a CPU-val és eszközökkel 1.5. Pentum 4 CPU lapka Az Intel P4-es processzora a kora 8088-as processzor egyenes ág leszármazottja. Míg a 8088-as processzor tranzsztorból állt, addg a P4-ben 55 mlló tranzsztor van (Northwood). Egy ma Core 7 Haswell 4 magos processzorban 1,4 mllárd tranzsztor van ntegrálva, az IBM 12 magos POWER8 processzorában 4,2 mllárd, egy IBM z13 Storage Controller chpen pedg 7,1 mllárd tranzsztor van. A P4-es processzor teljesen kompatbls a 8088-cal, így ugyanazon bnárs programok futtathatók a P4-en s. Szoftver szempontból 32 btes gép, hardver szempontból részben 64 btes (memóraolvasások/írások 64 btesek, de ezt a programozó oldalról nem lehet látn). A P4 mkroarchtektúrája más, mnt az előd processzoroknak. Ennek a mkroarchtektúrának a neve: NetBurst. A csővezetékben 2 ALU van, mndkettő az órajel kétszeresével megy, így 1 cklusban két műveletet tud végrehajtan. A P4 hperszálas, azaz két regszterkészlete van, és közöttük nagyon gyorsan tud váltan (kontextusváltás), így két szál vrtuálsan egyszerre hajtódk végre. A P4 szuperskalárs számítógép, mert 2 utasítást tud párhuzamosan végrehajtan. A P4-es széra processzora 2 vagy 3 szntű gyorsítótárral rendelkeznek. Az első szntű (L1), 8KB méretű cache mkroutasításokra konvertált utasításokat tartalmaz, azaz a dekódolás része már készen van ezen utasításoknak. A másodk szntű (L2) cache maxmum

44 256KB 1MB méretű és byte-szntű utasításokat és adatot tartalmazhat. A P4 Extreme Edton példányok L3 cache-sel s rendelkeztek, melyek 2 MB nagyságúak voltak. A többszntű cache használata multprocesszoros környezetben újabb problémát vet fel. Ha az egyk processzor egy memóraterületet akar elérn, am a másk processzor cache-ben van, nem érvényes adatot kap az első, hszen az már módosulhatott a másk processzor cache-ben. Erre a megoldás a szmatolás (snoopng), am vzsgálja a memórahvatkozásokat, és ha olyan címre történk hvatkozás, am valahol cache-ben van, azt a cache-elt értéket adja, melőtt a memórából olvasnánk be elavult értéket. A P4-es archtektúra két sínt használ. Az egyk a CPU-memóra között memórasín, a másk pedg a CPU és I/O eszközök között PCI-sín. Ahogy azt korábban s láttuk, a rendszersínhez egy korább, hagyományos sín (legacy bus) s kapcsolódhat, hogy a régebb eszközökkel megmaradjon a kompatbltás. A P4 lapkának 478 lába van. Ebből 85 az energaellátás, 180 földelés (zaj mérséklése matt), a több pedg adat, cím és vezérlőjelek számára van fenntartva. A 26 x 26 lábny tömbből belül hányzk 14 x 14, lletve az egyk sarokban 2 láb (49. ábra). így a CPU-t csak egyféleképpen lehet behelyezn a foglalatba. A P4 fogyasztása elég magas, W között mozog. Ez nagy hőtermelést s jelent, a P4-es CPU-k aktív hűtést gényeltek. A fogyasztás mérséklése matt a P4-ek öt fokozatban tudnak készenlét állapotba váltan. 49. ábra P4-es CPU lábelrendezése

45 A P4-es logka lábkosztása követ a korábban bemutatott általános CPU lábkosztások felépítését. Az ábrán (50. ábra) a párhuzamos vonalak egy áthúzott vonallal és a vonalak számát jelentő számmal szerepelnek. Az ASCII kódolás matt bevett szokás a negált jeleket #el jelöln felülvonás helyett (vagy alulvonással, amt sok szerkesztő támogat). 50. ábra P4 lábcsoportja Az egyes csoportok balról, fentről ndulva, a sínütemezés (bus arbtraton), amely a sínhasználat kéréséhez kell. A #BR0 (Bus Request, a nyíl helyesen két rányba mutat) vonal a normál prortású sínkérés, a #BPRI (Bus Prorty Request) a magas prortású vonal lehetővé tesz, hogy a normál kérésekhez képest magasabb prortású gényt támasszon az eszköz. Amíg ez a vonal beállított, a normál kéréseket nem szolgálja k, hacsak nem egy futó #LOCK-olt kéréshez tartoznak. A #LOCK vonal lehetővé tesz, hogy több cklusra foglalja a CPU a buszt. Amnt a CPU megszerezte a sínhasználat jogát, a kérés (Request) csoport segítségével. Az #A vonalak a címvonalak (36 bt, alsó 3 bt fx nulla, így 33 vonalra van szükség), az #ADS beáll, ha a cím a címbuszon van (gondoljunk a korább memóraolvasásos példára a síndőzítéseknél). A #REQ vonalegyüttes mondja meg a síncklus típusát, azaz, hogy mt szeretnénk csnáln (pl. szavas olvasás, blokkos írás stb.). A kétvonalas partás pedg

46 véd az #A (cím) és #REQ (tevékenység) jeleket. A hba (Error) öt vonalán különböző hbák jelzése történk (lebegőpontos, belső, hardver, egyéb). A válaszcsoport (Response) vonalan tud a szolga a mester felé vsszajelzéseket külden. Az RS# státuszkódot, a TRDY# adatfogadásra való készséget jelez. A BNR# vonallal a következő busztranzakcót tlthatjuk. A vonalak partásnformácót a Party# vonal vsz. Az utolsó nagy csoport az adat (data) csoport, amelynek vonala az adatátvtelt szolgálják. A D# adatvonal 64 btes, azaz 8 byte-os adatokat tud egyszerre átvnn. DRDY#jelz, hogy az adatok a sínen vannak, DBSY# jelz, hogy a sín foglalt. Az adatátvtelt s védk partásbtek. Tovább pár vonalon pedg az adatértékek jelentését és pár egyéb paramétert kommunkálhatunk. A RESET# vonalon lehet a CPU-t alapállapotba helyezn. Tovább vonalakon a megszakításkérelmek, az energaellátás felügyelete, hőmérséklet felügyelete, órajel, dagnosztka adatok, ncalzálás, szmatolás (snoopng) és egyéb tevékenységek valósulnak meg. A P4-es processzor tud 8088-as módban működn, ekkor a megszakításokat s ugyanúgy kezel, de az újabb APIC (Advanced Programmable Interrrupt Controller) megszakításrendszert s használhatja. A P4-es processzor különböző tápfeszültségekről s képes működn, ehhez többféle lábat használ. A hőmérséklet felügyelete egy fontos tevékenység, a P4-es CPU-k 3 GHz felett s üzemeltek, amely komoly hődsszpácóval járt. A nem megfelelő hűtés túlmelegedést és a CPU hbás működését, akár meghbásodását s okozhatja. Ennek érdekében a P4-es processzorok 130 Cs belső hőmérséklet felett jelzést adnak egy kvezetésen. Ez lehetőséget ad a beavatkozásra (végső megoldásként a CPU resetelésére). Az órajel csoport vonala a rendszersín frekvencájának meghatározásában játszanak szerepet (lásd később PCI-frekvencák). A dagnosztka vonalakon tesztelés és nyomkövetés történhet, az ncalzálás csoport vonala pedg a rendszer betöltésénél játszanak szerepet. Végül a tovább vonalak több egyéb feladatot látnak el, például a 8088-as emulácóban van szerepük. A P4 memórasín csővezetékezett működésű. Ezzel egyszerre akár 8 síntranzakcót s végezhet. Erre azért van szükség, mert a processzor sokkal gyorsabb működésű, mnt a DRAM memóra, amt használ. Ha nem tudjuk a CPU-t elég gyorsan kszolgáln, adathány matt sokat várakozna. A csővezetékezett működésről már korábban olvashattunk. Hasonlót lehet megoldan a memórával s. A memóragények, más néven tranzakcók (transacton) hat különböző állapotát különböztetjük meg: 1. Sínütemezés fázs: Eldől, k következk a mesterek közül? 2. Kérés fázs: A cím a sínre kerül, ezután kérjük az adatot. 3. Hbajelzés fázs: Szolga jelezhet, ha partáshba van a címben v. más hba merül fel. 4. Szmatolás fázs (többprocesszoros rendszerekben):

47 Egyk CPU fgyel a többt (mt írnak/olvasnak, nem azt kell-e épp módosítan). 5. Válaszfázs: Mester megtudhatja, hogy megkapja-e a kért adatokat vagy sem. 6. Adatfázs: Megérkeznek a CPU által kért adatok. A P4 memórasínjén mnden fázs különböző sínvezérlő jeleket használ, így ezek párhuzamosan tudnak működn. A szükséges jelek a korábban tárgyalt P4 lábcsoportokban vannak (sínütemezés, kérés stb.). A következő ábrán (51. ábra) az egyes cklusokban nduló fázsok párhuzamos működését lehet nyomon követn. 51. ábra P4 memórasín-csővezeték fázsa A használt jelek a fent fázsok alapján: Req kérés fázs, Error hbajelzés fázs, Snoop szmatolás fázs, Resp válaszfázs, Data adatfázs. A sínütemezés fázs nem szerepel, mert erre nem mndg van szükség. Ha a mester új tranzakcót akar ndítan, ezt újabb sínkérés

48 nélkül s megtehet. Látható, hogy a csővezetékezett működés az első két tranzakcóban zavartalan. A harmadk tranzakcó adatküldés fázsa nem fejeződk be egy cklus alatt, így átcsúszk a következő cklusra s. Ebből az következk, hogy a négyes tranzakcóban nem ndulhat el az adatfázs a T8 dőpllanatban. Ezt a DBSY# jel beállítása jelz. Amkor végzett a harmadk tranzakcó adatfázsa, ndulhat a négyesé. Az ötös fázsban a válasz tart tovább, így a hatos fázs válasza késlekedk. A késlekedések matt elcsúszások (buborékok) megmaradnak, mert egy dőpontban (oszlopban) nem lehet több tranzakcó ugyanabban a fázsban. Mvel a tranzakcók nem folyamatosan, órajelenként ndulnak, ezek a buborékok nem tartanak sokág Számítógépes sínek A P4-es gépek dején a rendszerbusz a PCI (Perpheral Component Interconnect) volt. A PCI-t már korábban elkezdték fejleszten. Az ok az volt, hogy a multmédás alkalmazások egyre nagyobb sávszélességet követeltek, megterhelték az akkor rendszersínt (PC-n az EISAt, ll. MCA-t). Egy egyszerű számításból adódk, mlyen adatforgalmakra kell gondolnunk. Egy, az akkor dőben nagyfelbontásúnak számító, 1024 x 768 pxel felbontású, 3 byte/pxel (TrueColor ~ 16Mll. szín) színmélységű, 30 fps (Frame Per Second) multmédás vdeó vagy 3D-s alkalmazás 67,5 Mbyte adatforgalmat jelent másodpercenként. Ezt a médáról a memórába, a memórából pedg a grafkus vezérlőbe kell juttatn, azaz összesen 135 MBps adatmozgatást kell megoldan. Az ISA sín maxmáls sávszélessége ehhez képest 16,7 MBps, az EISA síné 33,3 MBps. Könnyen belátható, hogy ezek a sínrendszerek elavultak az újabb khívások mellett. Egy ma alkalmazás jellemzően Full HD felbontásban (1920*1080), 3 byte/pxel, 60 fps sebességgel futó adatfolyamot generál. Ez a fent számítások alapján több mnt 700 MBps-es sávszélességet gényel. Manapság nem rtka, hogy ennél nagyobb felbontás (4K esetleg), nagyobb fps (100+) és akár 3D-s technológa (2x-es szorzó) mellett dolgozunk multmédás alkalmazásokkal. Látszk, hogy a sávszélesség növekedésre folyamatosan szükség van. Az Intel 1990-ben szabadalmaztatta a PCI sínrendszert. A szabadalmat mndenk számára megnytotta. Ez nagy lendületet adott a szabványnak, hamar népszerű lett.

49 52. ábra Kora Pentum archtektúra A fent ábrán (52. ábra) egy kora Pentum archtektúra látható. Az új, gyors sínrendszer mellett a rég (legacy) sínrendszernek s működne kell a kompatbltás megőrzése matt. Ezt az új rendszerre egy hídvezérlő segítségével csatolhatjuk. A PCI első verzója 133 MBps-es átvtelt tudott. Ez a fent példában hozott multmédás alkalmazáshoz kevésnek s bzonyult volna ban jött a 2.0-ás szabvány, majd 1995-ben a 2.1-es, 1998-ban a 2.2-es, 2002-ben a 2.3-as, 2004-ben pedg 3.0-ás szabvány. Mnden verzóváltásnál javítottak a funkconaltáson, de voltak szolgáltatások, melyek lassan eltűntek. Ennek köszönhetően nem mnden PCI-kártya kompatbls mnden alaplappal, még ha a fzka csatlakoztatás lehetséges s. A PCI-frekvenca 33 MHz-en ndult, de a 2.1-es szabványtól 66 MHz-es működésre s lehetőség volt. Ezen kívül a kettes verzótól megjelentek a 64 btes átvtelt kezeln képes eszközök. Ebből adódk s a maxmáls átvtel (66MHz * 64 bt = 4224 Mbps, am 528 MBpsnek felel meg, ez azonban csak egy közelítő elv maxmum). A grafka programok adatgénye gyors ütemben nőtt, az 528 MBps-es átvtel már kevésnek bzonyult tól az Intel a grafkuskártyák számára nagyobb sávszélességet bztosító AGP (Accelerated Graphcs Port) buszrendszert támogatta. Az első verzó 264 MBps sebességű volt, am lassúbb, mnt a PCI, vszont dedkált sín a grafkuskártya számára. A később verzók pedg felsokszorozták ezt a sebességet (ez felelt meg az 1x-es sebességnek, és jöttek az AGP2x, AGP4x, AGP8x-os kártyák s). Az utolsó verzó maxmáls átvtel sebessége 2,1 GBps felett. Ennek megfelelően egy modernebb P4-es gép felépítését láthatjuk a következő ábrán (53. ábra).

50 53. ábra Modernebb P4 felépítése A CPU-t, memórát, vdeokártyát és I/O eszközöket a csatoló lapka (Brdge Chp) köt össze. Ez tovább két alegységből épül fel. A CPU-t és a memórát, valamnt a CPU-t és a grafkus kártyát az észak híd (north brdge), az I/O eszközöket ezekkel pedg a dél híd (south brdge) köt össze. A két áramkör egy nagyon nagy sebességű csatolóval kapcsolódk egymáshoz. A PCI egy sznkron sín, a mester a PCI dokumentácóban Intator, a szolga pedg Target. A PCI-cím és adatvezetéke multplexeltek, így a 64 vonal hol címeket, hol adatokat közvetít. A mester az első cklusban a címet tesz a sínre, a másodkban eltávolítja, fordul a sínrány (ezt mondjuk akkor s, ha írunk), a harmadkban pedg a szolga küld az adatot (ha írás történk, a mester küld). Ha egy cklus alatt nem történk meg az adatátvtel, várakozásokat kell bektatn. A kommunkácó előtt azonban az eszköznek le kell foglalna a sínt. A PCI centralzált sínütemezést használ. Az ütemezés vzsgálatához nézzük meg a következő ábrát (54. ábra).

51 54. ábra PCI sínütemezés Az eszközök a REQ# vonalon kérk a sínhasználat jogát és a GNT# vonalon kapják meg azt. A PCI ütemezésre nncs pontos algortmus megszabva a szabványban, csak rányelvek, am alapján az mplementácónak működne kell. Lehet az ütemezés körkörös, prortásvezérelt vagy egyéb. Arra kell törekedn, hogy gazságos és kegyensúlyozott legyen az engedélyek kosztása. A jogot az ütemező egy tranzakcóra adja, ennek hossza azonban nem korlátozott. Amennyben nncs más kérés, tovább tranzakcókat folytathat le az eszköz. Ha egy hosszú adás közben az ütemező negálja a GNT# jelet, a következő cklusban meg kell szakítan a tevékenységet. Ezekkel a szabályokkal hosszú átvteleket s meg lehet oldan, de az új kéréseket s gyorsan lehet kszolgáln. A PCI sín jele a következő táblázatban szerepelnek (1. táblázat). 1. táblázat PCI sín jele

52 A CLK jel az óra, lemenő élen ndulnak a tranzakcók. Az AD vonalak szolgálnak a cím vagy adatátvtelre (32 btes kommunkácó, ez később 64-re egészül k az új verzókban). A PAR partás vonalak védk az adatvonalakat. A C/BE vonalakon az első cklusban a sínparancs szerepel (m történjen: szóolvasás, blokkírás stb.). A másodk cklustól azonban már egy bttérkép-adatot tartalmaz, am azt mondja meg, hogy az adatok közül melyk byteok érdekesek (érvényesek). A FRAME# vonalat a sínmester állítja be tranzakcó kezdetekor. Az IRDY# vonal olvasáskor azt jelent, hogy a mester fogadn tud, íráskor azt, hogy az adat az adatvonalon van. Az IDSEL vonal abban játszk szerepet, hogy az adott eszköz konfgurácós adatat tudjuk elérn. A PCI eszközök egy 256 byte-os területen tudják saját beállításakat tároln. A DEVSEL# vonalat a szolga állítja be, ha várja az adatokat, amkor felsmer, hogy megszólította a mester. Ha ezt nem tesz meg, egy dő után a mester úgy vesz, hogy meghbásodott. A TRDY# vonalat a szolga állítja. Olvasáskor azt jelz, hogy az adatok az adatvonalon vannak, íráskor azt, hogy a szolga kész az adatok fogadására. A STOP# vonalon hba esetén a szolga megszakíthatja a tranzakcót. A PERR# vonalon az előző cklusban történt partáshbát (hbás átvtelt) jelezhetjük. Olvasásnál a mester, íráskor a szolga állítja be. A hbakezelés lépése a fogadóeszközön múlnak. A SERR# vonal cím- vagy rendszerhba jelzésére való. A REQ# és GNT# vonalak a korábban tárgyalt ütemezésben vesznek részt, a RST# vonallal pedg alapállapotba lehet állítan a rendszert (a gép újra ndul). A 64 btesre való bővülés tovább jeleket gényelt. Ezeket a következő táblázat tartalmazza (2. táblázat). 2. táblázat PCI 64 btes kegészítő jelek A REQ64# jellel kérhet a sínmester 64 btes tranzakcóra engedélyt. Ezt a szolga az ACK# jellel nyugtázhatja. Az AD, PAR64 és C/BE# jelek az előzőek 64 btes kegészítése. A LOCK#, SBO#, SDONE jelek a többprocesszoros rendszerekkel kapcsolatosak. A sínt lehet több tranzakcó erejég lefoglaln, lletve a szmatolással (snoopng) kapcsolatos jelek. Az INT x 4 jel a megszakítások kezeléséhez kell. Egy PCI egység 4 különböző logka egységből állhat, külön megszakítás-génylő vonalakkal. A JTAG jel az IEEE tesztelés

53 eljárásnak van fenntartva, az M66EN jel pedg a 66MHz-es működést jelz. Ez utóbb akkor mehet, ha mnden eszköz támogatja. Menet közben nem változtatható meg. A PCI tranzakcókra egy példát a következő dőzítés dagramon láthatunk ( 55. ábra). Egy olvasás üres járat írás tranzakcó-hármast vzsgálunk. 55. ábra 32 btes PCI síntranzakcók T1 lefutó élén a mester az adatokat az AD vonalra, a sínparancsot a C/BE# vonalra tesz (ez most olvasás READ). Ezek után FRAME#-et állítja be, ezzel ndul a tranzakcó. T2-ben a címsínt elenged a mester (rányváltás), valamnt C/BE#-re tesz a maszkot (melyk byte-ok kellenek az adatvonalon). T3-ban a szolga beállítja a DEVSEL# vonalat, amvel jelz, hogy vette a kérést és jelen van. A szolga AD-re tesz a kért adatokat, majd TRDY#-vel jelz, hogy ott vannak. Ha az adatokat nem tudja azonnal szolgáltatn, a TRDY# elmarad. T 4-ben egy üres cklus történk. A tranzakcók között gyakran egy-egy üres cklus fut le. T5-ben kezdődk egy írás cklus. AD-re felkerülnek az adatok, C/BE#-re a sínparancs (most írás), és FRAME#-et beállítva ndul a tranzakcó. T6-ban nncs valós rányváltás (csak így nevezk), mert az adatokat a mester küld. T7-ben a memóra fogadja az adatokat. A PCI sínrendszer sokág és jól működött, de sávszélessége kezdett az egyéb perférák számára s kevésnek bzonyuln. Tovább kényelmetlenség volt, hogy a PCI-csatlakozások túl nagyok, a hordozható gépekbe nem voltak lleszthetőek. Egyes tervezés elvek szernt a desktop gépek házat s ketté bontották volna. A fx alkatrészek (CPU, grafkus kártya stb.) egy dobozba, a cserélhető tárak (optka, mágneses, külső eszközökhöz a csatlakozó felületek) pedg a montor köré, elérhető helyre kerültek volna. Ezt a PCI távolságszabványa mellett nem lehetett megvalósítan.

54 A PCI Express (PCIe) sínrendszer 2004-es megjelenése mögött smét az Intel állt és a cél az elavulóban lévő PCI sínrendszer leváltása volt. Bár a PCI-hoz nem sok köze van az új mechanzmusnak, a jól csengő nevet nem akarták elhagyn. A PCI Expressz valójában nem s sín, nkább hasonlít a LAN-okhoz. Az egyes eszközök soros módon kapcsolódnak a kapcsolóhoz. A vezérlőnformácók a csomag fejlécében vannak. Az eddg sínkoncepcóktól nagyban eltér ez (56. ábra). 56. ábra PCI Expressz felépítése A CPU és memóra a hagyományos módon kapcsolódk egymáshoz, a csatoló lapkához az I/O eszközök pedg egy kapcsolón (swtch) keresztül. A nagysebességű soros kapcsolat, melynek előnyet korábban kfejtettük, föld- és adatvonalakból áll, zajtűrése nagy. A PCI-hoz képest a következő fontos különbségek élnek: 1. A PCI több leágazású közös sín o PCIe esetén egyed kapcsolat él mnden eszközzel. 2. A PCI széles, párhuzamos kapcsolat (32/64 bt) o PCIe keskeny, soros kapcsolat (1 bt). 3. A PCI mester/szolga kommunkácót valósít meg, egész sínt lefoglalva o PCIe csomagkapcsolt kommunkácót folytat. Pár ksebb különbség még, hogy a PCIe-nél hbaellenőrző kódolás van, a lapka és a kapcsoló között akár 50 cm távolság s lehet, az eszközök helyére újabb kapcsolókat s lehet kötn

55 fastruktúrát kalakítva ezzel, a HotPlug megengedett, azaz menet közben lehet eszközöket leés felcsatlakoztatn, valamnt a PCIe csatlakozók ksebbek. A PCIe a hálózat protokollokhoz hasonló réteges kapcsolat protokollrendszerrel rendelkezk (57. ábra). 57. ábra PCIe rétege Az alsó réteg, a fzka réteg (Physcal layer), bteket továbbít a küldőtől a fogadónak. Mnden kapcsolat egy vagy több szmplex (egyrányú) sávpárból (csatornapárból) áll. Alap esetben egy pár van mndkét rányban, de lehet 2, 4, 8, 16, 32 pár s. A sávok száma mndkét rányban azonos. Egy rányban mnmum 2,5 Gbps a sebesség (effektív 2 Gbps, lásd később). A PCIe 4.0-s változatában ez a sebesség már 15,7 Gbps (effektív) csatornánként. A buszon nncs óra, az eszközök azonnal adnak, amnt van mt. Ha nncs sznkron, nehéz a kapott btfolyamban nylvántartan, hogy hány 0 vagy 1 jött egymás után, ha sok egyforma jel jön. 100 volt, vagy 101? Óra nélkül másra kell sznkronzáln. A PCIe 1.0 és 2.0-ban ún. 8b/10b kódolással oldják ezt meg. A 8 btes kombnácókhoz olyan 10 btes kombnácókat rendelünk, melyekben kellő rendszerességgel váltakoznak a 0-k és 1-ek. Ezzel a módszerrel nem eshet meg, hogy túl sok egyforma jel jöjjön egymás után. Ez vszont azt s jelent, hogy a valós adatmennység 10:8 arányban van a hasznos adattal (2,5 Gbps 2 Gbps). A PCIe 3.0 és 4.0 szabványokban hasonló, 128 b/130 b kódolást használnak (ksebb veszteséggel). A következő réteg a kapcsolat réteg (Lnk layer). Ez a csomagok átvtelével foglalkozk, a tranzakcós rétegtől kapott csomaghoz fejlécet generál, lletve CRC hbajelző kódot állít elő. Az átvtel után ezt ellenőrz, és ha egyforma a két adat, nyugtázó csomagot küld. Ha lyen nyugta nem jön, a fogadó újra kér a csomagot. A kapcsolat réteg oldja meg a folyamatvezérlést s. Meggátolja, hogy gyors eszköz elárassza kérésekkel a lassú eszközt. A fogadó egy pufferméretet küld a küldőnek, ambe a küldő tetszőleges sebességgel írhat. Ha megtelt, várna kell, míg a küldő feldolgozza az adatokat. Ezzel a módszerrel a sebességkülönbség matt nem vesztünk adatot. A tranzakcós réteg (transacton layer) a síntevékenységeket kezel. Egy szó kolvasásához a memórából például két tranzakcóra van szükség. A CPU (DMA) kezdeményez és adatokat kér, lletve a céleszköz kezdeményez az adatok küldését. Ez a réteg a kapcsolat réteg szolgáltatásat kegészít azzal, hogy a sávokat vrtuáls áramkörökre tudja osztan. Mnden sávot 8 külön vrtuáls áramkörre, melyek másmás jellegű adatforgalmat bonyolíthatnak. Ezeket prortás szntekkel (címkékkel) tudja

56 ellátn, a kapcsoló pedg ezek fgyelembevételével dönthet arról, hogy melyk címkével ellátott csomagot kézbesítse. A tranzakcók négy címtartományt használnak: 1. Memóraterület (a hagyományos memórába történő írás vagy onnan történő olvasás esetén). 2. I/O terület (a csatlakoztatott eszközök regszterenek címzésénél). 3. Konfgurácós terület (a rendszer ncalzálásakor, pl. PnP-megvalósításhoz). 4. Üzenetterület (vezérjelek átvtelekor, megszakítások esetén. A PCI vezérlőjele helyett). A szoftver réteg (software layer) a PCIe operácós rendszerhez való kapcsolódásáért felelős. A PCI sín emulálására s képes, így a régebb operácós rendszerek s együtt tudnak működn a PCIe-vel (és mnt PCI-t kezelk). Ez a vsszafelé való kompatbltás matt nagyon fontos és khagyhatatlan elem. Az lyen kompromsszumok nélkül a felhasználó kör nagyon nehezen, vagy sehogy nem fogadná el az újabb technológákat. A rétegek tevékenységet az alább ábra mutatja (58. ábra). 58. ábra PCIe-rétegek és feladatak A szoftverréteg a parancsot a tranzakcós rétegnek adja, amely fejlécre és adatra bontja azt. A kapcsolat réteg hbajavító kódot és számozást lleszt hozzá. A fzka réteg pedg keretet tesz a csomag két végére és elküld azt. A PCIe csomagkapcsolt működése hardveres, az operácós rendszer számára láthatatlan. A számítógép-hálózatok esetében a rétegek megvalósítása szoftveres és az operácós rendszer ebben közrejátszk. A PCI csatolóméretét és az új PCIe-csatolókat a következő ábrán teknthetjük meg (59. ábra).

57 59. ábra PCIe-csatolók (4, 16, 1, 16 sávos) és PCI-csatoló A PCIe-sebességek (3. táblázat) a hasznos adatátvtelre értve a következőképp alakulnak: 3. táblázat PCIe verzó PCIe verzónak sebessége vonal átvtel egy rányba (GT Ggatransfer ggaátvtel) kódolás 1x-es sávszélesség 16x-os sávszélesség 1.0 8b/10b 2.5 GTps 2 Gbps (250 MBps) 32Gbps (4 GBps) 2.0 8b/10b 5 GTps 4 Gbps (500 MBps) 64Gbps (8 GBps) b/130b 8 GTps ~7.9 Gbps (~985 MBps) ~126Gbps (~16 GBps) b/130b 16 GTps ~16 Gbps (~1970 MBps) ~252Gbps (~32 GBps) A számítógép rendszerbuszánál a fő kérdés a sávszélesség, a sebesség. Vannak azonban olyan perférák, ahol emellett egyéb szempontok fontosak. Vannak olyan eszközök, melyeknél nncs szükség ekkora sebességre, így a költséges sínrendszer használata pazarlás lenne. Ilyen eszköz pl. egy bllentyűzet vagy egér, ahol az adatok mennysége nem változk sokat a gépek fejlődésével és vszonylag ks sávszélesség elegendő a kommunkácóra. A számítógépekhez az I/O eszközök mndg s egyed módon csatlakoztak, többnyre bővítőkártyákat kellett az ISA- vagy PCI-sínre lleszten, amk kezelték a külső eszközt. Ez problémás, szereléssel, konfgurálással jár, am újabb problémákat hordozhat. Ráadásul a bővítő helyek száma korlátos. Ennek újragondolásával, több cég közös munkájával született meg 1993-ban egy új, lassúbb eszközök számára tervezett szabvány, az USB (Unversal Seral Bus unverzáls soros sín). A tervezéskor a következő alapelvek érvényesültek:

58 Ne kelljen a beállításokkal vesződn (jumperek állítása, mnswtchek állítása, több kártyához való konfgurálás). Ne kelljen a gépben szereln, a gépet knytn (ezt nem mndenk mer megcsnáln, lletve nem mnden környezetben van erre lehetőség). Egy fajta kábel legyen (ez végül nem teljesen skerült). Az energát s ez a kábel szolgáltassa (ne kelljen külön tápellátással, külön kábelekkel bajlódn). Sok eszköz kapcsolható legyen (a 8 10 bővítő hely néha nem elég, túl lehessen lépn, ha kell). Valós dejű eszközökkel s jó legyen (pl. telefóna, hangszórók, mkrofon, webkamera). Menet közben lehessen telepíten az eszközöket, újrandítás nélkül (néha csak rövd deg van szükség az eszközre, az újrandítások sok dőt vsznek el és nem s lehet mndg megtenn futó folyamatok matt). Költségek ne legyenek magasak (tpkusan olcsó eszközöknél elfogadhatatlan a drága csatolófelület beépítése az árba). Az 1996-os USB 1-es (1.0, 1.1) lassú üzemmódban (low speed) 1,5 Mbps átvtelt tudott megvalósítan, míg gyors üzemmódban (full speed) 12 Mbps-t, am bllentyűzet-, egérkommunkácóra elegendő volt, de szkennerek, webkamerák adatat s át lehetett vnn így ben jött a ma, széles körben elterjedt USB 2.0 szabvány, am a megnövekedett adatátvtel gényekhez gazodva már 480 Mbps-es sebességen üzemelt tól létezk az USB 3.0, am újabb nagy ugrás volt a sebességekben, 5 Gbps-es sebességével, amt 2013-ban az USB 3.1 (USB 3.0 Gen2) szabvány 10 Gbps-re emelt. Az USB-rendszer a központ csomópontból (root hub-ból) és az ehhez csatlakozó USBeszközökből vagy újabb csomópontokból áll. A csatlakozásokat maxmum ötszntű fastruktúrában lehet kalakítan, amnek a gyökere a root hub. Ez a rendszersínre csatlakozk (53. ábra). Az eszközöket négyeres kábelek kötk össze, ahol két adatér, egy tápfeszültség és egy földelés ér fut. Az adatvonalon a feszültségátmenet jelent a logka 0-t, a feszültségátmenet hánya pedg a logka 1-t. Ha új eszközt csatlakoztatunk, a központ csomópont érzékel, és megszakítást kér (az USB-eszközök nem tudnak megszakítást kérn). Az operácós rendszer lyenkor megnéz, mlyen eszköz csatlakozott, és eldönt, mekkora sávszélességet kell bztosítan a számára (tároló, audoeszköz vagy egyéb). Ha rendelkezésre áll a kívánt sávszélesség, az operácós rendszer megadja ezt, az eszköznek egyed azonosítót és címet ad. Ezek után az adatokat a konfgurácós regszterbe tölt. Innentől a rendszer tud az eszközről, az eszköz használható.

59 Az USB-eszközök és a központ csomópont között btcsatornák épülnek fel, ezeket az eszközök tovább 16 alcsatornára oszthatják (egy USB-s csatlakozás többfunkcós eszközt s köthet). Az adatfolyamnak mnden esetben át kell menne a központ csomóponton, a fastruktúrában két USB-eszköz nem kommunkálhat drektben, a root hub khagyásával. A központ csomópont 1,00±0,05 ms-enként új üzenetváltás kérelmet (frame) küld k. Ez bztosítja az eszközök számára a sznkronzácót. Egy keret egy btcsatornához kötődk, csomagokból áll, melyekből az elsőt mndg a központ csomópont küld k, utána az rányok változhatnak. Egy négy keretből álló sorozatot a következő ábrán láthatunk (60. ábra). 60. ábra Négy keretből álló sorozat A 0-ás és 2-es keretben nncs kommunkácó, így csak egy SOF (Start Of Frame) csomagot kell külden a sznkronzácó matt. Az 1-es keretben egy lekérdezés (IN) történk egy eszközről, a 3-as keretben pedg egy írás (OUT) valamelyk eszköz felé. Az USB négy kerettípust különböztet meg: 1. Vezérlés keret: Ez az eszköz konfgurálására szolgál. Parancsokat küldhetünk, állapotot kérhetünk le vele. 2. Izosznkron keret: Valós dejű eszközök használják (telefon, mkrofon, hangszóró), melyeknek pontos dőközönként adatot kell küldenük vagy kapnuk. Hba esetén nncs smétlés, mert az dőveszteséget jelentene, azaz csúszna a hang vagy kép. Egy-egy sercenést vagy hbás pxelt jobban elvselünk, mnt a csúszást. 3. Tömeges adatkeret: Nem valós dejű, byte-pontos átvtelhez. Itt az adatnak pontosan kell átérne, akár hosszabb dő alatt (pl. fle-ok átvtele).

60 4. Megszakítás keret: Az USB-eszközök nem tudnak megszakítást kérn. Egy USB-s bllentyűzet gombjat lenyomva például nem megszakítást generálunk, hanem egy pufferbe írunk, amt az operácós rendszer (smerve a csatlakoztatáskor egyeztetett eszköztípust és adatokat) 50 ms-onként kolvas. Egy keret egy vagy több csomagot tartalmazhat. A TOKEN csomagok a központ vezérlőből az eszközök felé mennek és vezérlk azt. Például az ábrán s látható SOF (Start Of Frame) csomaggal ndul mnden keret, akkor s, ha mást nem s tartalmaz (sznkronzácó!). Az IN csomag az eszköztől kér adatot. A csomag mező azonosítják a btalcsatornát, így az eszköz tudja, mlyen adatokra van szükség. Az OUT csomag jelz, hogy az eszköz számára érkeznek adatok. Az adatcsomag (DATA) maxmum 64 byte küldésére alkalmas csomag, amely 8 btes sznkronzácós mezőből (SYN), 8 btes csomagtípusból (PID), hasznos adatból (PAYLOAD) és 16 btny CRC-kódból áll. A kézfogás csomagokból három létezk: ACK, am azt jelz, hogy rendben megérkezett az előző csomag, a NAK, am azt jelz, hogy CRC-hba történt az átvtelben, lletve a STALL, am azt jelz, hogy az eszköz foglalt és várakozn kell rá. Az USB gyökércsomópont és a vezérlő között nterfész eredetleg kétféle lehetett. Az UHCIt (Unversal Host Controller Interface) az Intel tervezte (hardveres cég) és a feladatok zömét a szoftverre bízza. Ezzel ez egy olcsóbb, de a CPU-t terhelő megoldás. Az OHCI-t (Open Host Controller Interface) a Compaq és a Mcrosoft tervezte (szoftveres cégek), ahol a feladatok zömét hardveresen kell megoldan. Ez így egy drágább megoldás, de nem terhel a CPU-t. Az USB 2.0-val megjelent az EHCI (Enhanced Host Controller Interface). Csak ez tudja a gyors, 480 MBps-es átvtelt megvalósítan, de kompatbltás okokból tud OHCI és UHCI üzemmódban s működn. Az USB 3-mal megjelent az xhci (extensble Host Controller Interface) s. Ez utóbb esetben mélyebbre nyúltak az újratervezésben. Nemcsak a sebesség növelése, hanem a mobl eszközökkel megjelent energatakarékos működés génye s előtérbe került. Ennek megfelelően az állandó kereteket küldő szemlélet helyett egy megszakításokhoz hasonló rendszert dolgoztak k, természetesen a vsszafelé való kompatbltás megőrzése mellett. Az USB-csatlakozók kalakításánál a fent célokat vették fgyelembe. A csatlakozóknak robusztusnak, olcsónak, könnyen használhatónak kellett lenne. A kábelcsatlakozók kalakítása nem tesz lehetővé a körkörös csatlakoztatást, lletve ks erőkkel köthetők és bonthatók. A külső fémkeret a statkus töltések elvezetésére alkalmas, bár a méret matt egyes eszközökön (tárolók pl.) ezt lehagyják. Sajnos az egységes csatlakozóforma nem valósult meg, több típus s a pacon van. Ezeket az alább ábrán láthatjuk (61. ábra).

61 61. ábra USB-csatlakozók: USB A, USB B, USB MINI5A, USB MINI5B, USB MICRO B Az USB-vel párhuzamosan fejlődő csatoló felület az IEEE 1394, más néven FreWre. Ez utóbb a vdeózás szabványa volt sokág és párhuzamosan fejlődk az USB-vel.

62 2. A processzor belső működése A számítógép-archtektúrák dgtáls logka szntje felett a mkroarchtektúra szntje következk. Ez lényegében a processzor belső működését írja le. A felettes sznt ISA (Instructon Set Archtecture) szól a gép által értelmezett parancsokról, ezeknek a feldolgozása és végrehajtása pedg a mkroarchtektúra szntjén történk. A RISC gépek utasítása többnyre egy cklus alatt lefutnak. Az összetett utasításokat s tartalmazó, modern ISA-k (pl. P4 vagy az erre a magra épülő Core archtektúra) számára vszont egy-egy utasítás végrehajtásához akár több cklusra s szükség lehet. Ez az utasítás komplextásából ered és részben ez az ára a kényelmes programozhatóságnak. Az lyen komplex archtektúráknak nncs általános tervezés elve, az aktuáls célok és lehetőségek mellett mnden eset egyed. Példának a Java Vrtual Machne (JVM), JAVA vrtuáls gép egy alrészét, az egész számokkal dolgozó Integer JVM (IJVM) gépet vzsgáljuk. A korábban vzsgált alapvető áramköröket fogjuk használn a fzka megvalósítás tervezésénél. A példában célravezető az a szemlélet, hogy az ISA-utasításokat mnt függvényhívásokat tekntjük, ahol az egyes utasításhoz tartozó tevékenységeket (alaplépéseket, mkroutasításokat) egy főprogram hívja, am az ISA-utasításokon lépked végg. Ezt a példában teknthetjük úgy, mntha egy végtelen cklusban futna a gép, amelyben az ISAutasításokat dolgozza föl. A mkroprogram változó a regszterek, ezekkel dolgozk. A regszterek defnálják a számítógép állapotát. Azt, hogy m történk a számítógép processzorában, a regszterek tartalma határozza meg. Például a PC regszter határozza meg, melyk ISA-utasítás lesz a következő, amt végrehajt a processzor. Amíg az utasítás végrehajtódk, a PC-t frssíten kell, hogy már a következő utasítást mutassa. Az IJVM utasítása tömörek. Mnden utasításnak van egy művelet kódja (művkód Operaton code Opcode), amely az utasítást azonosítja. Ehhez tartozhat egy opconáls operandus (operand), amely megmondja, hogy mvel végezze az utasítás a tevékenységét. Ez lehet egy lokáls változóra való mutató, vagy akár egy drekt érték s. A korábban említett betölt végrehajt (fetch-execute) cklusnak megfelelően az IJVM gépünk s ezt a tevékenységet végz el. Azt, hogy ehhez mt kell pontosan elvégezn, hogy működk a mkroarchtektúra, mt csnálnak a mkroutasítások, a következőkben tárgyaljuk. Az adatút a processzor azon része, am tartalmazza az ALU-t, a bemenetevel és kmenetevel együtt. A példagépünk adatútján 32 btes regszterek vannak, ALU-ja 32 btes egész értékekkel dolgozk (62. ábra).

63 62. ábra IJVM adatút A regszterek neve arra utalnak, hogy mre használjuk őket. A regsztereket a mkroarchtektúra-sznten lehet elérn, az ISA-sznten vszont hasonló néven utalhatunk rájuk. A regszterek többségét a B sínre lehet rányítan, am az ALU B bemenetéhez vezet. Az ALU kmenete a C sínre vezet, am a legtöbb regszterhez vssza van vezetve, azaz az eredményt ezekben a regszterekben lehet tároln. Az ALU mögött egy léptető (shfter) s van, am az ALU eredményével még egy léptető műveletet tud végezn. Az ALU-ból egy N és Z vonal s kjön. Ezek az eredmény függvényében állítódnak be: N értéke lesz 1, ha az eredmény negatív, Z értéke lesz egy, ha az eredmény nulla. Az ALU 6 vezérlő bemenete smerős lehet a korábban épített 1 btes ALU-nkból. Ezek a már smert ENA, ENB, F0, F1, INC és INVA jelek. Az alább táblázatban ezeknek a vezérlőjeleknek a kombnácót láthatjuk, a meghatározott funkcóval együtt (63. ábra).

64 63. ábra Az ALU funkcó Az ALU bal (A) bemenete a holdng (H) regszterből jön, és csaks nnen. A jobb oldal bemenet 9 regszterből érkezhet. Ahhoz, hogy tetszőleges regszterekkel tudjunk műveletet végezn, a H-ba az ALU-n kell a B bemenetről értéket átmozgatn. Ezt olyan művelettel tudjuk megtenn, am nem módosítja az adatot. Pl. lehet a művelet az A+B, de ENA-t negálva. Ekkor 0+B lesz a művelet, azaz marad B az eredmény, am H-ba kerül. A léptetőnek két vezérlőbemenete van. Ezek az SLL8 (Shft Left Logcal), am 8 bttel balra léptet az értéket, lletve az SRA1 (Shft Rght Arthmetc), am 1 bttel jobbra léptet az értéket. A léptetéskor a bejövő btek 0-k, a khulló btek pedg elvesznek. Az adatokat a síneken mozgatjuk, az ALU-n, a léptetőn haladnak át. Mndezek a műveletek bzonyos dőbe telnek. Hogyan tervezzük az dőzítéseket? Ugyanazt a regsztert egy ckluson belül olvasn és írn s lehet (pl. SP = SP + 1). Hogyan lehetséges, hogy nem keverednek össze adatok? Az egyes részműveletek a ckluson belül, de valójában különböző dőpontokban történnek. Az előző példánál maradva (SP = SP + 1), amkor kválasztódk, hogy SP-vel akarunk műveletet végezn, akkor SP értéke a B sínre kerül, és ott s marad a cklus dejére. Az ALU megkapja azt az utasítást, amvel a B+1 műveletet hajtja végre. Az eredmény a léptetőn keresztül (am most semmt nem csnál) a C sínre kerül, ahonnan a jel tovább terjed a regszterekhez és beíródk a célregszterbe (am most SP). Ezek a részlépések dőben egymás után történnek meg a valóságban, de az egész befér egy cklusny dőbe. Az dőzítést a következő ábrán követhetjük nyomon (64. ábra).

65 64. ábra Az adatút dőzítése A cklus elején, az óra mpulzusának ndulásakor a lefutó élen beállítódnak a kapurányító btek. Ezek mondják meg, hogy melyk buszra melyk regszter kerüljön (jelenleg SP a B-re). Ez Δw dő alatt történk meg. A kválasztott regszter a B sínre kapcsolódk, és Δx dő múlva stabl az érték a sínen. Az ALU és a shfter végz a dolgát, és újabb Δy dő múlva stabl a kmeneten az eredmény. Tovább Δz dő múlva a C sínen az eredmény elér a célregszterbe, a következő mpulzus felfutó élén pedg betöltődk a regszterbe. Ez azt jelent, hogyha a cklusdőbe, azaz két mpulzus közé beférnek ezek a részdők, akkor egy cklus alatt lejátszódk ez a tevékenység. A gyártástechnológa, a felhasznált anyagok, távolságok, méretek mnd befolyásolják a jelterjedés sebességeket. A cklusdőt annak megfelelően kell meghatározn, hogy a fent tevékenységek az adott technológa mellett beférjenek a két felfutó él közé, sőt kcst előbb befejeződjenek. Az IJVM gépünk két módon tud a memórával kommunkáln. Az egyk mód, amkor adatokat ér el a memórában. Ezt az MAR (Memory Address Regster) 32 btes címregszterrel és az MDR (Memory Data Regster) 32 btes adatregszterrel tesz meg. A MAR által mutatott címről tudunk adatot olvasn az MDR-be, vagy a MAR által mutatott helyre tudjuk MDR tartalmát kírn. A másk mód, amkor utasítást olvasunk be a memórából. Ezt a 32 btes PC (Program Counter) regszter által mutatott helyről tehetjük meg, és az utasítást a 8 btes MBR (Memory Byte Regster) fogja tartalmazn. Ez utóbb regszter egy 32 btes regszter alsó 8 btjét használja. Ahogy azt az adatút ábráján (62. ábra) s láthattuk, a regsztereket 1 vagy 2 vezérlőjel rányítja, amt ks tömör és üres nylacskák jelölnek. Az üres nyíl jelöl a B sínre való töltés engedélyezését, a tömör nyíl pedg a C sínről való betöltés engedélyezését. MAR nem kapcsolódk a B sínre, hszen m adjuk meg, hogy hova vagy honnan akarunk adatot mozgatn (a memóra nem lehet mester, nem kezdeményezhet!). Az MBR pedg nem kapcsolódk a Csínre, hszen az utasításokat csak a memórából kaphatja, a gépünk csak olvasn és értelmezn akarja azokat. A 32 btes MDR és 8 btes MBR azt s meghatározza, hogy m az egység a megfelelő címregsztereken. Az MDR-hez tartozó MAR szavakban

66 gondolkodk (32 bt 4 byte), tehát MAR + 2 az MAR-hez képest 2 szóval, 64 bttel eltolt értéket jelent. Az MBR-hez tartozó PC vszont byte-okat olvas, így az MBR + 2 tt két byteny, azaz 16 btny távolságot jelent az MBR-hez képest. A valód fzka memóra byte-os szervezésű. A szavas címzés esetén a címeket a címsínre eltolva kell felhelyezn. Kettővel való eltolás a bnárs értékeken pont néggyel való szorzást eredményez, így a MAR-címeket a fzka címvonalra kettővel balra tolva kell kötn (65. ábra). 65. ábra MAR-címek fzka címekre kötése, 2 btes eltolással A memórából való olvasás az MBR-be egy 8 btes porton keresztül történk. Két módon tudunk MBR-be olvasn: előjel nélkül, ekkor a 8 btes érték MBR alsó 8 btjére kerül és a több bt nulla, lletve előjelesen, amkor a 8 bt legmagasabb hely értékű btje másolódk a 32 btes MBR maradék helyere. Ekkor az előjelet jelentő legmagasabb bt a 8 btből (7-es sorszámú) kterjed az MBR maradék 24 btjére. Ez a folyamat az előjelkterjesztés. A két mód közül két vezérlőjellel választhatunk, ezt a két nylacskát láthatjuk az MBR alatt az adatúton (62. ábra). Az adatút vezérlőjelet vzsgálva 26 nylacskát találunk. Három vezérlőjel nncs jelölve, amből kettő a memóraírást/olvasást szabályozza MAR/MDR-en keresztül, egy pedg az utasítás betöltést PC/MBR-en keresztül. Így összesen 29 jel vezérl az adatutat: 9 jel adatírás C sínről regszterbe, 9 jel adatírás regszterekből B sínre, 8 jel (6+2) vezérlőjel ALU és léptető felé, 3 jel memóraolvasáshoz/íráshoz. A B sínre 9 regszter közül pontosan csak 1 írhat, így egy dekóder bektatásával a 9 jelet csökkenthetjük 4-re. Ekkor ugyan 16 kmenet között kapcsolhatnánk, de ebből csak 9-et használunk fel. A 3 btes dekóder csak 8 kmenet közül tudna választan, am sajnos nem elég.

67 Ezzel a lépéssel a 29 jelet 24-re csökkentettük. Ezt a C sínről való regszterbe íráskor nem tehetjük meg, mert ott lehetséges az eredményt egyszerre több regszterbe s beírn. Tovább 9 jelre van szükség a következő cklus tevékenységének a meghatározásához. (Ezt a következőkben fogjuk kfejten.) Végül tovább 3 jel szükséges a következő mkroutasítás kválasztódás módjának meghatározásához (JAM mező). A következő ábrán (66. ábra) ezeknek a jeleknek az összességét teknthetjük meg. 66. ábra 36 btes mkroutasítás A kapott 36 bt pontosan meghatározza, m történjen aktuálsan a processzorban, így kmondhatjuk, hogy ez a 36 bt a mkroutasítás, amnek a végrehajtása éppen történk. A jelek sorrendje tetszőleges, de a most választott sorrend segíten fog abban, hogy a következő ábra átlátható maradjon. A cklus alatt szükséges vezérlőjeleket az ún. sorbaállító adja. Az épp beolvasott ISA-utasítás végrehajtásához szükséges mkroutasítás sorozaton való véggléptetését tehát a sorbaállító rányítja. A feladat kettős. Mnden cklusban elő kell állítana a rendszer összes vezérlőjelét, lletve meg kell határozna a következő mkroutasítás címét (Addr). Úgy s fogalmazhatunk, hogy a sorbaállító mondja meg, melyk eszköznek mt kell csnálna az adatúton, lletve magában a sorbaállítóban. A példagépünket, amt elkezdtünk felvázoln, Mc-1-nek nevezzük el (67. ábra).

68 67. ábra Mc-1 blokkdagram adatút + sorbaállító A sorbaállítót vezérlőegységnek s hívhatjuk. Ennek a legnagyobb és legfontosabb része az ábrán szürkés vezérlőtár (control store). Ez egy memóra, de nem az operatív memóra, így nkább vezérlőtárként hvatkozzuk továbbra s. Ebben, az operatív tár ISA-utasításahoz hasonlóan, mkroutasítások vannak, példánkban 512 darab 36 btes szó. Egy fontos eltérés az operatív tárhoz képest, hogy míg ott az utasítások többnyre címsorrendben vannak (kvéve elágazások esetén), addg tt ez nem alapértelmezett, sőt az egyes mkroutasításoknak meg kell adnuk, hogy hol található a következő mkroutasítás (Addr mező!). A vezérlőtár csak olvasható, nnen mndg a soron következő mkroutasítást olvassuk (hasonlóan az operatív tárból való olvasáshoz). Így szükség van egy memóracím-regszterre, amt MPC-nek (McroProgram Counter), és egy memóraadat-regszterre, amt MIR-nek (Mcro Instructon Regster) hívunk. A MIR fogja tartalmazn a következő érvényes mkroutasítást, azaz az újabb 36 btet, mely meghajtja az adatutat.

69 Mnden óracklus kezdetén MIR feltöltődk MPC által mutatott helyről a vezérlőtárból. MIR felöltés deje Δw. Amnt a mkroutasítás MIR-ben van, jelek futnak az adatútra, melyek kválasztják a B sínre kerülő regsztert, és beállítják az ALU tevékenységét. Ez újabb Δx dőt vesz génybe, így Δw + Δx dő múlva az ALU bemenete stablak. Tovább Δy dő elteltével az N, Z btek, lletve az ALU és a léptető kmenete stablak. Az N és Z értékek eltárolódnak egy-egy flp-flopban, végül Δz dő elteltével a léptető kmenete elér a C sínen a regsztereket és az eredmény beíródk a megfelelő regszterekbe. Ha volt adatkérés az előző cklusban, MDR és MBR megkapja az adatokat. Ezek után MPC új értéke kalakul, így a következő mkroutasítás címe megvan. Az új memóracklus, ha van, ekkor ndul. Az adatút meghajtása mellett a mkroprogramnak meg kell határozna a következő mkroutasítást. Ezt a folyamatot a MIR feltöltődése és stablzálódása után lehet ndítan. Az első lépés, hogy a 9 btes ADDR mező az MPC-be töltődk. Eközben a JAM mező kértékelésre kerül, és ha a tartalma 000, nncs tovább teendő a címkválasztással kapcsolatban. Ha vszont a JAM mező bármelyk btje 1, tovább tevékenység szükséges. Ha a JAMN-érték 1, akkor az N-flp-flop értéke VAGY kapcsolatba kerül az MPC legmagasabb btjével. Ha JAMZ értéke 1, akkor a Z-flp-flop értéke kerül VAGY kapcsolatba az MPC legmagasabb btjével. Ezt a számítást és beállítást a magas bt (Hgh Bt) nevű logka végz el. A flp-flopok használatára azért van szükség, hogy az ALU aktuáls N és Z kmenetetől függetlenül megmaradjon N és Z előző ALU-tevékenységnél beállított értéke. A JAM mező tovább btje a JMPC, am, ha nullától eltérő, akkor MBR alsó 8 btje és MPC alsó 8 btje VAGY kapcsolatba kerül. Ezt a tevékenységet az ábrán az O-doboz végz. Amkor JMPC 1, akkor a NEXT_ADDRESS alsó 8 btje általában nulla. A JAMN, JAMZ, JMPC mezők segítségével a NEXT_ADDRESS mezőt tudjuk változtatn, azaz azt, hogy m legyen a következő mkroutasítás. Ha pl. a legnagyobb hely értéken lévő klencedk btet VAGY-oljuk N-el vagy Z-vel, fx 255-el eltolhatjuk a címet. Ez azt jelent, hogy feltételhez kötött elágazásokat tudunk hatékonyan megvalósítan. A következő táblázatban a fent adatút és vezérlőegység-dőzítéseket követhetjük végg párhuzamosan (4. táblázat).

70 4. táblázat Mc-1 dőzítések, adatúton és vezérlőben A mkroarchtektúra működésének megértése szempontjából érdemes egy rövd dőre az ISA szntre vsszatérn. Ezt szoktuk makroarchtektúrának s hívn. A programozás nyelvek mnd támogatják az eljárásokat (metódusokat). Az eljárásoknak lokáls változók vannak, melyek az eljárás futáság élnek, az eljárásból elérhetőek, de kntről nem. Hol érdemes tartan ezeket a változókat? Egy egyszerű megoldás kínálkozk, tároljuk a változókat fx memóracímeken. Ez azért nem jó, mert egy eljárás lehet rekurzív s, azaz saját magát hívhatja meg. Ha fx helyre tesz a lokáls változót, akkor az újabb és újabb rekurzívan ndított eljárás felülírja az előzőek letárolt változót. Ez nylvánvalóan hbához vezet. Egy jó stratéga lehet a verem (stack) adatstruktúra. Itt egy külön memóraterületet foglal a rendszer, ahol a verem lesz. A veremben a tárolás úgy zajlk, hogy amt utoljára tettem be, azt tudom először kvenn. Ezzel az újabb és újabb beírt adatok nem egymásra, hanem egymás mellé íródnak k. A lokáls változók memóraterületét az LV (Local Varables) regszterben lévő ponter mutatja. A stack ponter (SP) a legfelső változó helyét mutatja. A következő ábrán (68. ábra) A, B, C és D eljárások futása és a verem alakulása követhető nyomon.

71 68. ábra Veremhasználat eljárások számára Az A eljárás meghívja B-t, amely meghívja C-t. Mután C lefut, B s lefut, A pedg meghívja D-t. Közben az LV mndg az aktuálsan futó eljárás elejére mutat, az SP pedg mndg a verem tetejére. A vermek operandusok tárolására s alkalmasak, az artmetka kfejezések kszámolása közben. Vegyünk például egy összeadást: a1 = a2 + a3 Az SP által mutatott területre a következőképp kerülnek be az operandusok. Először a2, majd a3, az összeadás elndul, am kvesz a verem tetejéről a két elemet, majd összeadja és vsszatesz az eredményt (a2 + a3) (69. ábra). 69. ábra Összeadás menete a veremben Az IJVM gépünk memóramodellje kcst eltér a legtöbb gép memóramodelljétől. Míg azok ISA-szntű közvetlen címeket s létrehoznak, az IJVM utasítása mplct címekből létrehozott mutatókat használnak, ezeket lehet ndexelve elérn. Az IJVM példagépünkben a következő négy memóraterületet használjuk: 1. Konstans mező o a CPP regszter mutatja a helyét,

72 o nem módosítható adatokat, például konstansokat tartalmaz, mérete ezért nem változk, nem írható. 2. Lokáls változók mezője o metódushíváskor foglalódk, o metódusváltozó tt tárolódnak, o LV-regszter mutatja az alját (ahonnan ndexelve érjük el a tartalmat). 3. Operandusverem o SP mutatja a tetejét, o lokáls változók közvetlen felső szomszédja (teknthetjük részének). 4. Metódus mező o programot tartalmazó mező, o PC mutatja az aktuáls utasítást, o Nem szavas, hanem byte-os elérésű. A fzka memórában három elkülönülő részben szerepelnek ezek a mezők, az alább ábra szernt (70. ábra). 70. ábra IJVM memóraterületek Az IJVM utasításkészlete hasonló utasításokból áll, mnt más számítógépeké. Mnden utasítás egy művelet kódból és néha operandusokból áll. A következő táblázatban (5. táblázat) az utasítások hexadecmáls kódja, az assembly alak, a mnemonc és egy rövd leírás található.

73 5. táblázat IJVM utasításkészlete Hexadecmáls kód Mnemonc Rövd leírás 0x10 BIPUSH byte Byte elhelyezése a verembe. 0x59 DUP A verem legfelső tartalmát (szavát) duplkálja, azaz még egyszer betesz a verembe. 0xA7 GOTO offset Feltétel nélkül elágazás. 0x60 IADD Összeadás. A verem felső két elemét vesz k, adja össze és helyez vssza az eredményt a verem tetejére. 0x7E IAND Logka ÉS. A verem felső két elemét vesz k, logka ÉS kapcsolatba hozza őket és vsszahelyez az eredményt a verem tetejére. 0x99 IFEQ offset A verem tetején lévő szót kvesz, vzsgálja, és ha az nulla, elágazk, egyébként pedg nem. 0x9B IFLT offset A verem tetején lévő szót kvesz, vzsgálja, és ha az ksebb mnt nulla, elágazk, egyébként pedg nem. 0x9F IF_ICMPEQ offset A verem tetején lévő két szót kvesz, vzsgálja, hogy egyenlők-e. Ha gen, elágazk, egyébként pedg nem. 0x84 IINC varnum const Konstanst ad egy lokáls változóhoz. 0x15 ILOAD varnum A verembe helyez az operandusként megadott lokáls változót. 0xB6 INVOKEVIRTUAL dsp Ezzel az utasítással lehet metódust meghívn. 0x80 IOR Logka VAGY. A verem felső két elemét vesz k, logka VAGY kapcsolatba hozza őket és vsszahelyez az eredményt a verem tetejére. 0xAC IRETURN Metódusból való vsszatérés egy egész értékkel (am a verem tetejére kerül). 0x36 ISTORE varnum A verem tetején lévő szót kvesz és a lokáls változóba tesz (azaz a lokáls változók területére, a megfelelő helyre). 0x64 ISUB Kvonás. A verem felső két elemét vesz k, vonja k egymásból és helyez vssza az eredményt a verem

74 tetejére. 0x13 LDC_W ndex A konstans mezőről egy konstans értéket tesz a verembe. 0x00 NOP No OPeraton nem csnál semmt. 0x57 POP A verem felső szavát eldobja. 0x5F SWAP A verem felső két értékét (szavát) kcserél egymással. 0xC4 WIDE Specáls prefx utasítás. Ezután egy másk utasítás következk és jelezzük, hogy annak nem 8, hanem 16 btes ndexe (operandusa) lesz. Az artmetka, logka műveletek a verem tetején lévő értékekkel történnek. Utasítások vannak arra, hogy a verem tetejére a konstansok vagy a lokáls változók mezejéről értékek kerülhessenek be, ll. vssza. Az elágazásokhoz négy utasítást használhatunk. A GOTO feltétel nélkül elágazás (más nyelvekben szokás JMP-vel jelöln, am a jump ugrás szóból jön), az IFEQ, IFLT, IF_ICMPEQ pedg bzonyos feltételek teljesülése mellett ágazk el. Az elágazás műveletek után 16 btes előjeles (a memórában előre és hátra s ugorhatunk) eltolás szerepel. Ezzel az értékkel kell az aktuáls helyzetünkhöz képest ugranunk a memóracímben (PC-t módosítan). A veremutasítások, a SWAP, POP, PUSH, a verem tetején lévő szavak menedzselésében segítenek. A WIDE prefx utasítás segítségével néhány utasítást rövd és hosszú formában s használhatunk. Az alapból rövd forma 8 btes eltolást használ, de WIDEdal hosszú, 16 btes eltolásos formaként értelmezhetjük. Az INVOKEVIRTUAL és IRETURN utasításpáros a metódushíváshoz és vsszatéréshez szükséges. A hívás lépése a következők: A hívó a verembe tesz egy hvatkozást, am a meghívn kívánt metódusra mutat (egy cím). A hívó a metódus paraméteret s betesz a verembe. Ez után a hívó futtatja az INVOKEVIRTUAL utasítást, am a verem tetején lévő adatokat felhasználva az aktuáls veremre egy új vermet épít (LV módosítása), lletve eltesz a vsszatéréshez szükséges, hívás pllanatában vett címet (lnk ptr lnk ponter). A lefutott metódus utolsó utasítása az IRETURN, am az eredet állapotokat állítja vssza úgy, hogy az eredet verem tetején a vsszatérés érték szerepel. Ezt a folyamatot a hívó fél úgy fogja érzékeln, hogy a verem tetejére beadott metódushvatkozás és paramétere a hívás után eltűnnek és helyükre a kívánt eredmény kerül. Az új verem (stack) felépítését és lebontását láthatjuk a következő két ábrán (71. ábra, 72. ábra).

75 71. ábra Hívás előtt és után állapot, az új verem felépítése 72. ábra Vsszatérés előtt és után állapot, a verem vsszaállítása A nyelv sznteket, a fordítás eredményét és a műveletekhez használt verem részletet a következőkben vzsgáljuk (73. ábra). Az alább JAVA, magasszntű nyelven írt kódból (a) a fordító assembly nyelvű (a fent ISA-szntű utasításokat használó) kódot állít elő (b). Ennek van gép kódú (a valóságban ez futtatható) megfelelője, am hexadecmáls számok sorozata (c).

76 73. ábra JAVA-kódrészlet, assembly megfelelő, gép kód A JAVA-kód első sorában két lokáls változó (j és k) értéket adjuk össze és helyezzük egy harmadk lokáls változóba (). A fentek értelmében a két változót a verembe kell helyezn, előkészítve az összeadást. Ezt a két ILOAD utasítással tesszük meg. Az IADD utasítás elvégz a verem felső két elemével az összegzést és az eredményt a verembe helyez. Innen az ISTORE utasítással kerül az érték a megfelelő változóba. A következő feladat a feltétel vzsgálata. Az változót vzsgáljuk, hogy egyenlő-e 3-mal. Ilyen egyenlőséget vzsgáló feltételes elágazást valósít meg az IF_ICMPEQ utasítás. Ehhez -t s a verembe kell tenn (ILOAD) és a 3, drekt byte értéket s (BIPUSH). Az összehasonlításon alapuló elágazásnak egy címkeparamétert (amt a rendszer eltolásnak számít át a gép kód sznten) s kell adn. Ha a feltétel teljesül, de történk meg a vezérlésátadás (a példában ez L1). Ha a feltétel nem teljesül, az ugrás nem valósul meg, így a soron következő utasítás ndul el, am az else ág tevékenységét kezd. Ez egy kvonás lesz, amnek az értékét egy lokáls változóba kell tenn. A ksebbítendő (j) és a kvonandó (1) értékeket s a verembe kell helyezn az ISUB végrehajtása előtt. Az eredményt a veremből a megfelelő változóba kell tenn az ISTORE utasítással. Utána az L1 címkéhez tartozó sorokat átugorva, L2-re kell adn a vezérlést. Ha a feltétel teljesül, L1-nél folytatódk az elágazás. Ekkor k változóba kell 0-t tenn, azaz a nullát a verembe kell tenn és a verem felső értékét a k változóba eltároln. A rövd példában az s látható, hogy mennyvel egyszerűbb a tevékenységet magasszntű nyelven megfogalmazn. Az egyes lépések közben a vermet s használjuk. A verem tartalmát az egyes sorokhoz rendelve (pl. 6-os sor: BIPUSH 3) láthatjuk az alább ábrán (74. ábra).

77 74. ábra Veremtartalmak a JAVA-kódrészlet futása alatt A fent példaprogram JAVA nyelvű megvalósítását az archtektúra ISA-szntű nyelvén s vzsgáltuk. Tudjuk azonban, hogy az egyes ISA-utasítások tovább felbontásra kerülnek, ahol s mkroutasítások sorozata fogják a valós tevékenységet elvégezn. Ahhoz, hogy ezt vzsgáln tudjuk, egy olyan leíró nyelvet kell meghatároznunk, amely a mkroarchtektúra szntű tevékenységeket átláthatóan reprezentálja. Tudjuk, hogy a mkroutasítások (36 btes szavak) tartalmaznak egy NEXT_ADDRESS mezőt, amben a következő utasítás címe van. Ahhoz, hogy a műveletekre tudjunk koncentráln, a választott leíró nyelvünkben e címek pontos kalakulását nem követjük nyomon. A jelölés rendszerben fontos szerepe van a cklusoknak, így rögzíthetjük, hogy az egy cklusban történő tevékenységeket egy sorba fogjuk írn. Ezzel nyomon követhető, hogy melyk tevékenység hány cklus alatt hajtható végre, lletve jól követhető lesz az s, hogyha bzonyos számú cklusny várakozásokat kell bektatn. Kszúrhatjuk a szűk keresztmetszeteket, és amkor megpróbálunk majd javítan az archtektúrán, azt s nyomon követhetjük, menny dőt tudtunk spóroln az egyes átalakításoknak köszönhetően. Egy 3 cklusos tevékenységen spóroln 1 cklust hatalmas fejlődés, 33%-os sebességnövekedést jelent. Ebben a rendszerben a tltott művelet sorrendet s tetten érhetjük, vannak tevékenységek, melyeket az archtektúrából adódóan nem lehet egy cklusban elvégezn. Tegyük fel, hogy az elvégzendő műveletek az adott cklusban a következők: SP növelése 1-gyel, memóraolvasás kezdeményezése, a következő mkroutasítás meghatározása (am a 122-es helyen van). Ezeket rögzíthetnénk a következő módon: ReadRegster = SP; ALU = INC; Wrte SP; Read; NExtAddress = 122; Ez egy lehetséges jelölés, de hosszú, nehezen átlátható. Helyette érdemes a műveleteket és az egyéb tevékenységeket úgy megjeleníten, hogy ntutív módon olvasható, tömör, de átlátható formát kapjunk: SP = SP + 1;rd

78 Ez már egy sokkal jobban olvasható jelölésmód. Ahogy említettük, a következő mkroutasítás-címeket nem kell számszerűen követnünk most, az bonyolítaná a megértést, ezt a mkroassemblerre bízhatjuk, am ezt a feladatot megoldja helyettünk. A leíró nyelvünket nevezzük el MAL-nak (Mcro Aseembly Language). A MAL tükröz a mkroarchtektúra jellegzetességet, mnden cklus alatt bármelyk regszter írható (jellemzően egy), az ALU B bemenetére csak egy regszter kerülhet, az A oldalra csak a H regszter vagy fx 1, 0, 1 érték mehet. Az értékadás az egyenlőségjellel történk, például: MDR = SP, de az ALU-műveletet s jelezhetjük, például egy összeadás esetén: MDR = H + SP. Mvel az összeadás kommutatív, így az MDR = SP + H forma s megengedett. A nem megengedett utasításokra azonban ügyeln kell. A következő művelet látszólag jó: MDR = SP + MDR, de ez hbás. Mvel egy sor egy cklust jelent, és az archtektúránkon csak H lehet az egyk bemenete az ALU-nak, a helyes leírás két sorban történhet meg: H = MDR; MDR = H + SP; Egy hasonló hba a következő: H = H MDR, mert a kvonandó csak a H lehet. A többszörös értékadást megengedjük, hszen az archtektúránkban a C sín akár az összes regszterhez szállíthat egyszerre adatot: SP = MDR = SP + 1. A memóraolvasást az adatok esetében az rd; az írást a wr; szavakkal jelezzük, az utasítások beolvasására pedg a fetch; parancsot használhatjuk. Az adat- és utasításvonalak párhuzamosan mennek, így ezeket az utasításokat egy sorban s szerepeltethetjük. A memóraolvasások dőzítésere s fgyeln kell. A következő olvasás például hbás: MAR = SP;rd; MDR = H;

79 mert MAR címről egy olvasást ndítunk rd-vel, amnek az eredménye MDR-be fog megérkezn. Ezért a következő cklusban nem szabad MDR-be értéket tennünk, mert nem lehetünk benne bztosak, hogy megtörténk-e a felülírás. Az elágazásokat a jelölés rendszerünkben a goto label módon írhatjuk le. Ezt az ugrást jellemzően mnden mkroutasítás-sorozat végén megtesszük, hszen, ahogy említettük, a mkroprogramokat egy főcklus hívogatja folyamatosan, amhez mndg vssza kell térn: goto Man1. Az archtektúra képességehez gazodva a megengedett műveleteket az alább táblázat (6. táblázat) tartalmazza. Ezeket, a fent összeadáshoz hasonlatosan, a B és C sínek kapcsolatat fgyelembe véve adott regszterekkel végezhetjük el. 6. táblázat Mc-1 megengedett művelete Mnden utasítás kterjeszthető még az ALU után kötött léptető egy műveletével. Ezen az ALU-eredmény mnden esetben átmegy és a ckluson belül maradunk akkor s, ha tevékenységet végez, így a két léptető műveletet s betehetjük egy MAL utasítássorba. A műveletek a <<8 és a >>1. Például a H = MDR << 8; Művelet megengedett és MDR a 8 bttel balra tolt értékét tesz H-ba. A korább feltétel nélkül elágazás mellett feltételhez kötött elágazásokat s végezhetünk a MAL-ban. A JAMN és JAMZ mezők az N és Z btek alapján működnek. Az N és Z btek az

80 ALU-művelet alapján állnak be. Ha egy regsztert meg akarunk vzsgáln, hogy például nullae, át kell engednünk az ALU-n, hogy a Z bt beálljon. Ezt a MAL-ben jelölhetnénk például így s: TOS = TOS; De ez, mvel nem derül k pontosan, m a cél, értelmetlennek s tűnhet. Valamlyen módon azt s érdemes lenne egyben jelöln, hogy melyk btet m alapján szeretnénk beállítan. A MALban hasznosnak tűnhet a következő jelölés (TOS vzsgálata, hogy nulla-e): Z = TOS; Ez persze N-t és Z-t s beállítja, de így a MAL-ban látszk a tevékenység célja és ez egy fontos szempont. A feltétel vzsgálata és az elágazás a következő módon jelölhető: f (Z) goto L1; else goto L2 Itt az L1 és L2 címkéknek 255 byte távolságra kell lennük (címek alsó 8 btje megegyezk emlékezzünk: Z beállítása esetén MPC 9. btje változhat). Ennek a kosztása a mkroassembler feladata. Ezt kegészíthetjük a Z beállításával: Z = TOS; f (Z) goto L1; else goto L2 A JMPC kezeléséhez (MBR-el kerül VAGY kapcsolatba az MPC alsó 8 btje, ha ez él) a következő jelölést használhatjuk: goto (MBR OR value) A value gyakran nulla, ekkor elég a goto (MBR) használata. Most, hogy van már egy MAL leíró nyelvünk, tárgyaln tudjuk a Mc-1 archtektúra utasításanak mkroprogramjat. A TOS (Top Of Stack) regszterhez meg kell jegyeznünk, hogy praktkus okokból ebben mndg a verem tetején lévő értéknek kell szerepelne. Ezt majd a mkroprogramban nekünk kell bztosítan. A lent táblázatok három oszlopot tartalmaznak. Az első oszlopban az utasítás szmbolkus neve van, a másodkban a mkrokód, a harmadkban pedg egy megjegyzés, hogy m s történk az adott sorokban. Az első táblázatban a főcklus (Man1) után jönnek rendre az utasítások, egészen a SWAP utasításg.

81 7. táblázat Mc-1 mkroprogramok A Man1 főcklus ndulásakor a PC-ben a végrehajtandó utasítás címe van, MBR-ben pedg maga az utasítás. Az első utasítás után a PC növekedk, az utasítás után byte-ra mutat, ez lehet egy újabb utasítás vagy operandus. A növelést Man1-ben elvégezzük, a fetch-sel a memóracklus ndul, ez a program következő byte-ját olvassa MBR-be (a következő mkroutasítás végén lesz MBR-ben a byte). A goto (MBR) elugrk az utasításhoz tartozó mkroprogram elejére. Ez a kezdő utasítássorozat mnden utasítás elején lefut, fontos, hogy gyors legyen. Mnden utasítás feldolgozását végző függvény első mkroutasítása az utasítás kódnak megfelelő címen van a mkroprogramtárban. Pl. POP-utasítás kódja 0x57, mvel a mkroprogram tár 0x57 címénél kezdődk a mkroprogram, am lyenkor lefut. A DUP parancs pedg a 0x59 címen kezdődk. Mvel a POP három mkroutasításból áll, ezek nem állhatnak egymás mögött, mert akkor belelógnának DUP mkroutasításaba. Ezért láncolt lstaszerűen helyezkednek el a mkroutasítások a mkroporgramtárban, azaz mndegyknek meg kell adna a NEXT_ADDRESS mezőben, hogy hol helyezkedk el a következő mkroutasítás. Tehát a mkroutasítások sorozata egymás után hajtódk végre, a NEXT_ADDRESS mező segítségével. A sorozat mndg a művelet kóddal megegyező címen kezdődk.

82 A NOP1 szmplán megegyezk azzal, hogy vsszaugrunk Man1-re, azaz nem csnálunk semmt (No Operaton). Ha a főcklus az IADD-ra ágazk el, add1-en ndul a munka. A TOS már rendelkezésre áll (TOS-utasítások elején a TOS tartalmazza az SP által mutatott hely tartalmát, azaz a verem legfelső szavát), de a verem teteje alatt szót be kell tölten a memórából: MAR = SP = SP-1;rd (ez lesz az új veremtető, így SP-be s beírjuk). MPC-be NEXT_ADDRESS-ből add2 címe bekerül közben, így ezen a soron következő utasítás végrehajtása következk. A TOS-t hozzá kell adn a frssen betöltött szóhoz. Ezt az összeadást elő kell készíten: H = TOS Az ALU bal bemenete a H (TOS), mvel összeadn csak H-t és regsztert lehet. Melőtt az addr3 sorra jutunk, a MAR-ban megadott címről MDR-be kerül az érték (az SP mutatta szó). Az addr3 soron az eredmény a verembe kerül. MAR oda mutat, wr-el pedg MDR bekerül MAR címére, azaz a verem tetejére: MDR = TOS = MDR + H;wr;goto Man1 A fentekhez nagyon hasonló történk az ISUB mkroprogramjában, azzal a különbséggel, hogy tt a harmadk soron nem összeadás, hanem kvonás történk. Ugyanez mondható el az IAND és IOR utasításokra s, de tt a harmadk soron logka AND és OR műveletek történnek. A DUP parancs esetén a verem felső tagjáról kell másolatot készíten a verembe. Mvel az érték, mnt mnden utasítás elején, most s már TOS-ban van, így elegendő SP-t növeln és SP új értékére TOS-t beírn. A POP egyszerűen eldobja a verem tetején lévő szót, de TOS-t karban kell tartanunk, így az új értéket be kell töltenünk TOS-ba. MAR-ba beadva az olvasandó címet, várnunk kell egy cklust, amíg az adat MDR-be kerül, és csak utána lehet TOS-ba beírn ezt az értéket. A SWAP felcserél a verem felső két szavát. A felső már TOS-ban van, az alsót kolvassuk MAR címről MDR-be, majd H-ba és MAR (SP) címre mentjük. Ekkor felső és alsó szó ugyanaz, a rég felső pedg a TOS-ban van. Ezt SP-1-re, azaz az alsó helyre írjuk. A végén TOS-t beállítjuk a felső szóra. A következő táblázatban (8. táblázat) folytatódnak a Mc-1 archtektúra mkroprogramja.

83 8. táblázat Mc-1 mkroprogramok folytatása BIPUSH-tól A BIPUSH utasítás lépése már kcst bonyolultabbak, mert a művelet kódot egy byte követ (előjeles egész). Man1-ben ezt már MBR-be töltöttük. Ezt a háttérben 32 btessé kell kterjeszten, hogy a 32 btes regszterekben tudjuk kezeln. Ezen túl be kell másoln MDR-be (majd így MAR = SP címre írn). PC-t közben növeln kell, hogy a főprogramba vsszatérve a következő művelet kód végrehajtható legyen, mert a Man1-ben történt PC-növelést elhasználtuk a paraméter kolvasásánál. Az ILOAD (lokáls változót tesz a verembe) utasításnak s van egy művelet kódot követő operandus byte-ja. Ez egy előjel nélkül ndex a lokáls változók mezőjén. Ez az ndex azonosítja azt a szót, melyet a verembe kell rakn. Mvel az ndex 256 címet enged, így a lokáls változók mezejének első 256 tagját lehetséges így a verembe tenn. ILOAD közben kell egyszer olvasn a lokáls változók mezejéről, és írn s, a verembe. A H-ba a lokáls változók kezdete, LV kerül, MBRU-ban a paraméter van (Man1-ben olvastuk be), előjel nélkül. MAR segítségével kolvassuk az LV+MBRU-t, am a lokáls változók mezejének eleje eltolva a paraméterben megadott ndexszel. Másképp megfogalmazva, ez maga a lokáls változónk értéke. MAR-t már az új, növelt SP-re állítjuk, hszen a verembe új érték kerül. PC-t növelnünk kell, mert mre Man1-be vsszaugrunk, az új utasításnak MBR-be kell kerülne. A fetch-sel egy sorban wr-rel az új veremtetőbe beírjuk

84 MDR-t, azaz a lokáls változónkat. A végén a Man1-be ugrás előtt TOS-t beállítjuk az új értékre. Az ISTORE az ILOAD ellenkezője. A paraméterndexű lokáls változót vesszük k a veremből és tároljuk az LV+ndex helyre, pont fordítva, mnt az előbb. A következő utasítás a WIDE. Ez egy prefx utasítás, azaz önmagában nncs értelme, módosítja a mögötte következő utasítást. A WIDE az ISTORE és ILOAD prefxuma lehet. Például, az ILOAD ndex forma helyett, 2 x 8 btes ndexet használva: WIDE ILOAD ndex1 ndex2 formát s használhatunk. A WIDE mkroprogram első sorában PC-t növeljük, hogy beolvashassuk a művkód után első byte-ot. Maga a művkód már MBR-ben van, ezt Man1ben kezdtük beolvasn. WIDE másodk sorában (wde2) a művelet kód címet VAGY-oljuk 0x100-zal és oda s ugrunk. A VAGY matt a művelet kódcím módosul, pl. az ILOAD 0x15ös címe helyett a WIDE_ILOAD 0x115-ös címét kapjuk. Ematt fontos, hogy a WIDE-dal használható utasítások mkroprogramcíme pontosan 0x100 távolságba legyenek egymástól. Maradva a WIDE_ILOAD példánál, tekntsük az ottan első sor tevékenységét. Rögtön újabb PC-növeléssel és beolvasással kezdődk a mkroporgram. Ezzel a másodk ndexet kezdjük olvasn. Az dőközben megérkezett első ndexet, am MBRU-ba jött meg, 8 bttel eltoljuk balra. Ezzel az első ndexet a 16 btes értékünk felső 8 btjére, azaz magas hely értékére toljuk. A következő sorban az MBRU-ba frssen megérkezett másodk ndexet OR kapcsolatba hozzuk H-val, azaz az előzőleg kapott 16 btes értékkel. Ezzel a felső és alsó 8 bteket egy darab 16 btes értékké olvasztjuk és H-ba helyezzük. Az utolsó sorban MAR-be helyezzük a 16 btes ndexszel ndexelt lokáls változót és a kapott címről megkezdjük az olvasást. A megszokottakkal szemben most nem a Man1-re ugrunk, hszen még nncs kész a tevékenység, pusztán a 2 x 8 btes ndexből készítettünk egy 16 btest, valamnt elkezdtük az olvasást a segítségével. Vszont nnentől ugyanaz a feladat, mnt a sma ILOAD-ban, így annak a harmadk sorára (load3) adva a vezérlést, nem kell ugyanazokat a sorokat kétszer beírn a mkroprogramtárba. Ott a verembe való beírás, valamnt a következő utasítás beolvasása Man1 számára van hátra, majd ugorhatunk Man1-re. A WIDE_ISTORE pontosan követ a WIDE_ILOAD logkáját, csak az rány tt s fordított. Ugyanúgy, mnt az ILOAD ISTORE páros esetén. Az LDC_W konstans mezőről olvas a lokáls mező helyett, így az LV helyett a CPP-t ndexel. Ennek az utasításnak s két 8 btes ndexe van, ugyanazokat a lépéseket kell végrehajtan, mnt a WIDE_ILOAD esetén.

85 9. táblázat Mc-1 mkroprogramok folytatása IINC-től Az IINC utasítás konstanst ad egy lokáls változóhoz. Két paramétere van: IINC ndex const A const előjeles, így csökkenten s tud. A lokáls változók címét (LV) növeljük ndexszel, a harmadk sorban pedg fetch-sel MBR-be beolvassuk const értékét. A másodk sorba olvasott változót megkapva a negyedk sorban H-ba tesszük azt. Az ötös sorban beolvassuk a következő utasítást. A hatos sorban pedg a MAR címre (ugyanoda, ahonnan olvastunk) vsszaírjuk a lokáls változó + konstanst (H + MBR). A végén ugrunk a Man1-re. A GOTO utasítás egyetlen tevékenysége, hogy a PC-t módosítja. A GOTO paraméterében, a fentekhez hasonlóan két, 8 btes paraméter van. Ezt egyrészt 16 btes előjeles eltolássá kell alakítan, másrészt ahhoz a PC-pozícóhoz kell adn, am a GOTO ndulásakor volt érvényben. Mvel a Man1 automatkusan növel a PC-értéket, a GOTO első sorában OPC-be (Old PC) az eggyel csökkentett értéket kell tenn. Ehhez fogjuk majd a 16 btes eltolást hozzáadn. A következő sorokban PC-t növeljük és beolvassuk a másodk ndexet. Az elsőt Man1 kezdte beolvasn, ezt 8 bttel eltoljuk a magas hely értékre és H-ba tesszük. Ez után a közben megérkezett másodk 8 bttel összeolvasztjuk ezt (MBRU OR H). A Man1 számára PC-t növelve k kell olvasnunk a következő utasítást, am most az OPC+H címen lesz, és ugorhatunk Man1-be. A következő mkroprogramunk egy feltételes elágazás megvalósításával foglalkozk. Az IFLT utasítás kvesz a verem tetejéről egy szót és elágazk, ha a szó ksebb, mnt nulla (IFLT IF Less Than). Az első sorban a veremmutatót csökkentenünk kell, hszen kveszünk a veremből, és a csökkentett értékről adatot kell olvasnunk. A másodk sorban TOS értékét

86 átmenetleg elmentjük OPC-be. Ezt azért tesszük, mert a korább memóraolvasás matt amúgy s egy üres sor következne, TOS értéket pedg majd karban kellene tartan később. A harmadk sorban a megérkezett MDR-rel beállítjuk TOS új értékét és a negyedk sorban teszteljük az eredet, legfelső veremértéket (TOS volt, de már OPC-ben van). Ha N értéke gaz, akkor a T-címkére ugrunk, egyébként pedg az F-címkére. A T-címke (True) egyetlen sorból áll. Beállítja OPC-t PC-1-re és ugrk a goto2 sorra. Ez logkus s, hszen a feltételes elágazás feltétele teljesült, így ezen az ágon már egy feltétel nélkül utasítást kell végrehajtanunk. Az F-címke (False) első sorában PC-t növeljük, a másodkban pedg PC-t növeljük és beolvassuk a következő utasítást. Itt várva az eredményt, a következő sorban ugrunk Man1re. A PC növelése, lletve újra növelése azt a célt szolgálta, hogy a feltételes elágazásunk feltételének nem teljesülésekor a két, 8 btes ndexet átugorjuk, és onnan folytassuk az utasítások beolvasását. Az IFEQ (IF Equal) utasítás pontosan úgy zajlk, mnt az IFLT utasítás, csak nem az N, hanem a Z btet tesztel. 10. táblázat Mc-1 mkroprogramok folytatása IF_ICMPEQ-tól A következő feltételes elágazásutasítás az IF_ICMPEQ. Hasonlóan működk, mnt az előző feltételes utasítások, csak nem az N vagy Z btet tesztel, hanem a verem felső két elemének az egyenlőségét. Az első sorban a verem másodk szavát olvassuk, SP csökkentése s

87 megtörtént (az első elem TOS-ban van). A másodk sorban a verem harmadk elemének az olvasását készítjük elő, ez a TOS karbantartása matt lesz szükséges. A harmadk sorban megérkezk a verem másodk szava, ezt MDR-be tesszük, és ndítjuk a harmadk szó olvasását. Ez után az első szót, am TOS-ban van, OPC-be tesszük, mert TOS-t karban kell tartanunk az új felső (eredetleg harmadk) szóval (ötödk sor). Ebben a pllanatban TOS az új felső elem, SP de mutat, már csak az eredet első (OPC-ben) és másodk (H-ban) elem különbségét kell tesztelnünk. Ezt a hatodk sorban meg s tesszük. 11. táblázat Mc-1 mkroprogramok folytatása INVOKEVIRTUAL-tól Az INVOKEVIRTUAL és IRETURN mkroprogramok a metódushívás elején és végén építk fel, ll. bontják el az új vermet. A vsszatéréskor a rég verem tetejére kerül a vsszatérés érték. A Mc-1 archtektúra jó példa arra, hogy a számítógépek, akár a mkroarchtektúra tervezése, tele van kompromsszumokkal. A CPU-tervezés egyk nagy kérdése az ár sebesség arány meghatározása. A Mc-1 archtektúrát lehet javítan, pár példát fogunk s nézn rá. Ez azonban legtöbbször olyan extra megoldásokat kíván, am mnd felfelé tornázza az árat.

88 3. A párhuzamosítás lehetősége Adott áramkör technológa és ISA mellett alapvetően három lehetőségünk van a sebesség növelésére: 1. Egy utasítás végrehajtásához szükséges óracklusok számának csökkentése. 2. Felépítés egyszerűsítése, amvel az óracklus hosszát csökkenthetjük. 3. Átlapoln az utasítások végrehajtását (párhuzamosítás). Azon óracklusok számát, amelyek egy utasításhalmaz végrehajtásához szükségesek, úgy hívjuk, hogy úthossz. Ezt lehet specáls hardverrel rövdíten, például növelő (INC) hozzáadásával. Így a növeléshez nem kell az ALU-t használn, és cklusokat spórolunk. Itt a sebességért a pluszhardver árával fzetünk. Egy növelő azonban általában nem segít annyt, mnt várjuk, mvel a növelések körül memóraolvasások s vannak, és ezek matt amúgy s várn kell. A jelentős gyorsulást a harmadk módszer, azaz a párhuzamosítás adhatja. Egy nagyon hatékony lehetőség, amkor a mkroarchtektúra utasításbetöltéssel foglalkozó részét leválasztjuk a fő adatút elemeről. Így a betöltést a több lépéstől függetlenül tehet meg. Az utasítások egyk legdőgényesebb szakasza a 16 btes eltolások kezelése. Itt a két, 8 btes értéket külön-külön be kell olvasn, léptetn, összeépíten, H-ba helyezn. A memóraport 16 btesre való kterjesztése túl bonyolult lenne. A memóra valójában 32 btes szavakban érhető el, a 16 btes olvasások átnyúlhatnának két, 32 btes olvasásra s (8 btet még az egyk 32-es részből, 8-at meg már a következőből fedne le a 16 bt). Ekkor két, 32 btes olvasásra lenne szükség. Amkor nem nyúlna át, akkor meg csak egy, 32 btes olvasásra lenne szükség. Erre ezért más megoldást fogunk választan. Az utasításbetöltés és -végrehajtás szétválasztása már önmagában s jelentős gyorsulást hozhat. A modern számítógép-tervezés kérdése pont az átlapolásokról, a párhuzamosításról szólnak. Egy tovább lényeges szempont az ár. Az alkatrészek manapság már ntegráltan vannak jelen a lapkákon, ezért nem s érdemes darabszámban számoln az árat. Inkább a lapkán elfoglalt felület az új mértékegység. A bonyolultabb, nagyobb tudású áramkörök több helyet s foglalnak el. Egyes funkcókat többféle módon lehet megvalósítan. Ezek között vannak egyszerű és nagyon bonyolult megoldások s, melyek között az ár és sebesség szernt a tervezőnek kell döntene. Az egyes alkatrészeket a lehető leggyorsabban akarjuk üzemeltetn, ehhez kell az órajelet s gazítan. A korább dőzítés vzsgálatoknál láthattuk, hogy vannak feladatok, melyeket egy ckluson belül érdemes elvégezn. Ez adott technológa mellett meghatározza a cklus lehetséges hosszát s.

89 A dekódolás sebessége az egész rendszerre khat. A Mc-1 archtektúránkban például a 9 regszter B sínre kapcsolását egy dekóder segítségével 9 jel helyett 4-gyel meg tudjuk oldan. Ezzel a mkroprogramtárban helyet spórolunk, mkroutasításonként 5 btet. A dekódernek vszont fx késleltetése van, am az egész adatút működésére khat. Ez a késedelem az órajel cklus hosszát befolyásolja, így kmondhatjuk, hogy tt kompromsszum van a sebesség (órajel lassabb) és az ár (ksebb mkroprogramtár kell) között. Egy gyors gépbe nem érdemes a dekóder késleltetését betervezn. Az IJVM Mc-1 archtektúra közepesen egyszerű és gyors, vannak javítás lehetőségek, ezekből párat meg s vzsgálunk. Az egyk lehetőségünk az értelmező cklus és a mkrokód összefűzése. A Mc-1-ben mnden utasítás kezdetén végre kell hajtan a Man1 címen lévő utasítást (PC növelése, fetch; és (MBR)-re való ugrás). Ezeket a tevékenységeket mnden mkroprogram végéhez hozzáfűzhetjük. Nem mndenhol tudunk ezzel javulást elérn, de sok helyen gen. Különösen ott, ahol vannak olyan meddő cklusok, amkor az ALU nem végez tevékenységet. Ezeket a cklusokat ktölthetjük értelmes feladattal. Vegyük például a POP utasítás cklusat (75. ábra). 75. ábra Mc-1 POP mkroprogram és javítása A Man1 tartalma megjelenk a POP kódja mögött, majd az egyes tevékenységeket belleszthetjük a POP eddg soraba. Ezzel a 4 cklusos utasításból 3 cklusos lett. Persze ehhez némleg nagyobb mkroprogramtár kell. Tovább lehetőség a végrehajtás hossz csökkentésére, ha az ALU mndkét bemenetén lehetővé tesszük az összes szükséges regszter bekötését. Ez egy tovább sín betervezését jelent, így háromsínessé tehető az archtektúra. Ezzel megszűnk a kényszer, hogy H regszterbe kelljen egyes műveletek előtt tartalmat áttölten, ahogy ezt a következő ábrán láthatjuk s (76. ábra).

90 76. ábra Mc-1 és a háromsínes archtektúra különbsége az ALU használatában Ezek a módszerek már hoznak gyorsulást, de az gaz áttörés az utasításbetöltés gyorsítása lenne. Szerencsére erre s van megoldás. Mnden utasításban előfordulnak a következő lépések: PC átmegy az ALU-n, növeljük. PC-t az utasításfolyam következő byte-jának kválasztásához használjuk. Operandusokat olvasunk a memórából. Operandusokat írunk a memórába. Az ALU műveletet végez, és az eredményt eltároljuk. Az utasítás operandusát, ha van, be kell olvasn, lletve, ha több mezőből (több 8 btes egységből) áll, össze s kell lleszten a mezőket. Mnden byte olvasása egy cklusny dőbe kerül. Az ndexek léptetése és összellesztése tovább 1-1 cklus. Ez már arányaban túl sok admnsztratív feladat a több számításhoz képest (egy-egy mkroprogram 1 10 cklusból áll). Ezeket az admnsztratív lépéseket le lehet venn az ALU válláról. Akár egy másodk ALU-t s bektathatunk, de ez túl nagy pazarlás lenne, ezekhez a feladatokhoz nem szükséges egy teljes ALU. A betöltéseket és feldolgozást rábízhatjuk egy ALU-tól független egységre. Ezt az egységet IFU-nak (Instructon Fetch Unt utasításbetöltő egység) hívjuk. Az IFU képes a PC-t függetlenül növeln, byte-okat betölten a byte-folyamból és a 8 vagy 16 btes operandusokat s előkészíthet. Mndehhez nncs szükség másra, csak egy növelőre, am lényegesen egyszerűbb, mnt egy ALU vagy egy összeadó. Az operandusok előkészítésének két módja s lehetséges. Az egyk, hogy a művelet kód értelmezésével meghatározzuk, hogy lesz-e, és ha gen, hány btes lesz az operandus. A másk lehetőség, hogy vzsgálat nélkül előkészítjük a 8 btes, lletve a 16 btes operandus használatának a lehetőséget s. M ezt az utóbb megoldást mutatjuk be az alább ábrán (77. ábra).

91 77. ábra IFU működése A jelölt területen látható, hogy az eddg MBR helyett most két lyen regszterünk van, MBR1 és MBR2. Ezeken keresztül 8 btet vagy helyesen fűzött 16 btet tudunk kolvasn. Ha 8 btet olvasunk, a léptetőregszterben 8 bttel csúsznak jobbra az értékek. Ha 16 btet olvasunk k, értelemszerűen 16 btet csúsznak jobbra az értékek. A léptetőregszter 6 byte (6 x 8 bt) nagyságú. Amkor a jobbra csúsztatásokkal felszabadul 4 byte-ny hely a bal oldalon, akkor az IFU beolvas de egy 32 btes szót (mmáron 32 btes memóraolvasással). Azt, hogy hol tartunk ezen beolvasásokkal a memórában, IMAR tárolja és a beolvasáskor ez az érték a saját növelője segítségével növekedk. MBR1-et és MBR2-t s lehet előjelesen vagy előjel nélkül olvasn, ezt az ábrán s látható szokásos 2-2 ks nylacska mnt vezérlő bemenetek jelölk. Amkor a programban PC értékét megváltoztatjuk, akkor IMAR-t s változtatn kell, hszen PC mondja meg, hol tartunk a programban, IMAR csak ksegítő tevékenységet végez. Mvel PC nem bztos, hogy szóhatáron van, IFU-nak a szükséges szót (ambe esk PC) kell beolvasna és a léptetőt hozzá gazítana. PC-be, ha van IFU-egységünk, csak az elágazásoknál kell írn, ahol az utasításfolyam soros jellege megváltozk (mert elugrunk másk memóracímre a végrehajtásban). IMAR szavas, PC byte-os számlálású, így IMAR 2 btes eltolással kerül a címsínre (0. btje a címsn 2. btjéhez). A fent módosításokkal új mkroarchtektúra-verzónk van: Mc-2. Az IFU nagyon lecsökkent az átlagos utasítás hosszat. Nncs főcklusunk, mnden utasítás végén már megvan a következő címe (Mc-1-ben Man1-ben növeltük PC-t). Nem az ALUnak kell PC-t növelne. A 16 btes operandusokat s összerakja az IFU. Az újabb archtektúra adatútját az alább ábrán (78. ábra) láthatjuk.

92 78. ábra Mc-2 adatút A háromsínes Mc-2 archtektúra IFU egysége drasztkus gyorsulást hozhat egyes utasítások esetén. Például a következő ábrán (79. ábra) bemutatott LDC_W utasítás esetén, ahol az archtektúra sajátossága matt 8 cklusról 3 cklusra csökkenhetett az úthossz. 79. ábra Mc-1 és Mc-2 LDC_W utasításanak mkroprogramja

93 Persze a fent változtatások nem mnden utasítás mkroprogramjára vannak ekkora hatással, de azt kmondhatjuk, hogy valamennyt mndenhol tudtunk spóroln. A javítás lehetőségeknek vszont még nncs vége. Egy lehetőség a cklusdő gyorsítása. Ezt alapvetően a lapkatechnológa határozza meg, a tranzsztorok mérete és távolsága szab határt az óra sebességének. Ahogy eddg s, most s a párhuzamosítás rányába érdemes lépn. Az IFU és az ALU már külön, egymással párhuzamosan dolgoznak, de a több egység még mndg szekvencáls működésű: regsztertartalom a sínekre kerül, várunk az ALU-ra és a léptetőre, majd az eredmények vsszaíródnak valamely regszterekbe. Az óracklust az adatút jeltovábbítás deje határolja be. Az adatútcklusban a késleltetés dők a következőkből állnak: 1. a kválasztott regszterek A és B sínekre való vezetésének deje, 2. az ALU és a léptető munkájának deje, 3. az eredmények regszterekhez vezetése és tárolása. Az alább ábrán egy új, Mc-3-nak nevezett archtektúrát mutatunk be (80. ábra). 80. ábra Mc-3 adatútja A három beszúrt regszter, A, B, C, rendre az A, B és C sínekre kerültek és az adatút három részét, melyeket színekkel jelöltünk, tagolják. Elsőre az extra regszterek bektatása csak ront a helyzeten, hszen késleltetést vsznek a jelterjedésbe. Az adatútrészek rövdülésével az órajelet emelhetjük, mvel a jelterjedés távolságok hozzávetőlegesen harmadolódtak. Pl. a

94 regszterekből az A és B sínen a jeleknek csak A és B regszterekg kell eljutnuk. Így az órajel háromszoros lehet. Ez önmagában még nem túl nagy előrelépés, vszont van még egy haszna a tagolásnak. Az egyes szétválasztott részeket párhuzamosan használhatjuk. Ezek a változtatások smét sebességnövekedéshez vezetnek. Tekntsük a Mc-2 archtektúra SWAP mkroprogramját (81. ábra). 81. ábra Mc-2 SWAP mkroprogram Látható, hogy tt 6 cklus alatt végez a korább Mc-2 archtektúra a művelettel. Rendezzük át a SWAP mkroprogramot a Mc-3 archtektúra végrehajtás dőzítéséhez llesztve (82. ábra). 82. ábra Mc-3 SWAP mkroprogram Látható, hogy a SWAP mkroprogram egyes korább sorahoz oszlopokat soroltunk és az egyes részlépéseket ezekbe az oszlopokba írtuk be. Látható az s, hogy mnden óracklusban adunk k parancsot, de a párhuzamosan futtatott parancsok függetlenek. Ott, ahol függőség lenne, várn kell a párhuzamos parancskadással (pl. 5-ös sor). A Mc-3 11 cklus alatt végez a SWAP utasítással, míg Mc-2-nek 6 cklusra van szüksége. Ez utóbb azonban harmad olyan gyorsan megy, így ez a 11-hez képest 3x6, azaz 18 új cklusnak felel meg. Így az arány már 11:18, a párhuzamosított Mc-3 javára. A swap3 lépésnél az 5. cklusg várn kell, mert MDRrel szeretnénk dolgozn, am az előző adatolvasás hatására érkezk (swap1 3. cklus: rd és 4. cklus: MDR = Mem). Itt egy valód függőség (RAW Read After Wrte) alakul k. Az lyen kényszerű várakozásokat elakadásnak s hívjuk.

95 Az egyes részegységek működését az egymást követő ütemekben a lent ábra (83. ábra) mutatja. 83. ábra Mc-3 párhuzamosan működő részegysége Látható, hogy a negyedk cklusban már mnden részegység dolgozk, mndegyk másk utasításon. Ez a fajta párhuzamosság a csővezetékezett (ppelne) működés, amt korábban az utasításszntű párhuzamosságnál megsmertünk. A Mc-3 egy négyszakaszú (négyfázsú) csővezetékezett megoldás. A Mc-3 már sokkal gyorsabb működésre képes, mnt az előző archtektúrapéldánk. Mégs van egy olyan probléma, amt meg kellene oldan. A fent Mc-3 SWAP végrehajtás cklusokban a GOTO (MBR) mkroutasítás egy elágazás. Ez a csővezetéket eldugítja, mert nem lehet tudn, hogy mt kell ezek után az IFU-nak betölten? Melyk ágon fut majd tovább a program? Ezt a problémát a Mc-4 mkroarchtektúrában kezeljük. Számos részletet nem tárgyalunk a mkroarchtektúrában, így még átlátható marad a működés. Az újabb felépítés a következő ábrán látható (84. ábra).

96 84. ábra Mc-4 fő alkatrésze A felépítésben láthatjuk az IFU-t, a háromutas adatutat, de új egységeket s. Az IFU a bejövő byte-folyamot a dekódoló egység (Decodng unt) felé adja. Ebben az egységben egy belső ROM található, amt az ISA-utasítások értékével ndexelünk. Az ndexelt adatok két értéket tartalmaznak: az utasítás hossza (van-e, és ha gen, hány byte-ny a paramétere?), lletve egy tovább ndex, am a mellette lévő egység mkroművelet ROM-ját (Mcro-operaton ROM) ndexel. Ez az egység a sorba állító egység (Queueng unt). Az egységnek van egy ROM és egy RAM része. A ROM-ban vannak a mkroműveletek (Mcro-operaton) egymás után sorban. A teljes sorozatok egymás után következnek, nncs olyan lehetőség, hogy az egyforma részeket ugrásokkal megspóroljuk (mnt korábban pl. a nem wde és wde utasításpároknál). Ennek megfelelően NEXT_ADDRESS mezek sncsenek a mkroműveleteknek, lletve JAM mezek sem. Az A sín matt van azonban A sínt vezérlő A jelük és két új jelük: Fnal és Goto. A Fnal bt mnden mkroművelet-sorozat utolsó műveleténél van beállítva, ez jelz, hogy vége a sorozatnak. A Goto bt a feltételes elágazások jelölésére szolgál. Ezeknek a mkroműveleteknek kcst más a formája, tt van JAM mező és

97 van egy RAM-ot címző ndexmező s. A mkroelágazásokat az előzőekhez képest máshogy kell kezeln. Először azonban nézzük meg, hogyan s működk a sorba állító egység. A dekódoló küld egy ndexet. Ez alapján a ROM-ból elkezdődk egy mkroművelet-sorozat RAM-ba másolása a fnal bt ellenőrzésével. Ha nem volt goto bt beállítva és van még hely a RAM-ban, a sorba állító nyugtát küld a dekódolónak, hogy küldhet a következő ndexet. Ezzel a két egység feltölt a RAM-ot, ahonnan a mkroműveletek sora érkezk a MIR felé. Egész pontosan a MIR-ek felé. A csővezetékezett működés matt ugyans a mkroműveletek egyes vezérlőbtjenek dőben máskor és máskor van szerepe. Ezt úgy lehet kezeln, hogy több MIR helyezkedk el egymás után, és mndegyk MIR-nek csak a megfelelő vezérlőkvezetése vannak bekötve az egyes egységekhez. Ilyen módon, az dőben először szükséges tevékenység az A és B vonalakra kapcsolandó regszterek kválasztása. A MIR1-ben ezek a vezérlővonalak vannak bekötve, a több nncs. A következő cklusban a mkroművelet átmásolódk MIR2-be, ahol az ALU (és léptető) tevékenységvonalak vannak élesben bekötve. Ez az előbb beállított bemenetekkel elvégz a most beállított műveletet, mközben MIR1-be már a következő mkroművelet kerül, am épp a következő A és B vonalakra enged a megfelelő regsztereket. Amkor vége a cklusnak, a mkroművelet MIR3-ba másolódk, ahol beállítjuk, melyk regszterek kapják meg a C sínen az eredményt. Mndezzel párhuzamosan a MIR1 tartalma MIR2-be másolódk, MIR1-be pedg újabb mkroművelet kerül. A MIR3-ból MIR4-be kerül a mkroművelet, ahol a memóraműveletek történnek meg. Az ábrán mnden egység funkcója megvan, de az elágazások részletet még tsztázn kell. Ha egy feltételes elágazásnál teljesül a feltétel, elágazunk, az utasításokat másk memóraterületről kell tovább olvasnunk. Ha sorba állító egység olyan mkroműveletet talál, ahol a goto bt be van állítva, nem küld nyugtát a dekódolónak. Ezzel felfüggeszt a RAM feltöltését, azaz nem kerül be újabb mkroművelet az elágazás után részből. A nyugtát csak akkor küld k, ha az elágazás kmenete eldől, és megvan, hogy honnan kell a következő utasításokat beolvasn. Ekkorra a dekódolóban már lehet, hogy van olyan utasítás, am az elágazás mögött, azaz a nem teljesült feltétel ágáról származk. Bonyolult műveletek és specáls hardver kell, hogy ezt szükség szernt kürítsük onnan, lletve bzonyos tevékenységeket vsszavonjunk, de ennek a részletet nem vzsgáljuk. Látható, hogy a kndulás alaparchtektúra, Mc-1, jelentősen gyorsítható és ennek a fő csapása a tevékenységek párhuzamosítása. Ez bonyolultabbá és szükségszerűen drágábbá s tehet a hardvert. Egy jelentős kompromsszumot ezen a ponton kell hozn az ár és teljesítmény között. A fentekben példát láthattunk arra, hogy mlyen módon működhet egy mkroarchtektúra, mlyen lépésekkel lehet a sebességet növeln és ez mlyen extra költségekkel járhat. A ma processzorarchtektúrák a példa archtektúránkhoz képest sokkal bonyolultabbak, mégs, az

98 alapelvek hasonlóak. Amkor pedg a technológa korlátok nem engedk, hogy egy processzoron belül oldjuk meg a párhuzamosítás maxmalzálását, a processzorok vagy processzormagok sokszorozásával, lletve több számítógép együttes használatával érhetjük el célunkat, mnt ahogy azt a harmadk fejezetben tárgyaltuk. Andrew S. Tanenbaum, Számítógép Archtektúrák, Panem, 2006 Snckerdo, Englsh Wkpeda, Máté Eörs, SZE, Számítógép Archtektúrák, Onlne tananyag, ábrák

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika Fuzzy rendszerek A fuzzy halmaz és a fuzzy logka A hagyományos kétértékű logka, melyet évezredek óta alkalmazunk a tudományban, és amelyet George Boole (1815-1864) fogalmazott meg matematkalag, azon a

Részletesebben

4 205 044-2012/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme

4 205 044-2012/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme HU 4 205 044-2012/11 Változtatások joga fenntartva Kezelés útmutató UltraGas kondenzácós gázkazán Az energa megőrzése környezetünk védelme Tartalomjegyzék UltraGas 15-1000 4 205 044 1. Kezelés útmutató

Részletesebben

A mikroszámítógép felépítése.

A mikroszámítógép felépítése. 1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az

Részletesebben

IT jelű DC/DC kapcsolóüzemű tápegységcsalád

IT jelű DC/DC kapcsolóüzemű tápegységcsalád IT jelű DC/DC kapcsolóüzemű tápegységcsalád BALOGH DEZSŐ BHG BEVEZETÉS A BHG Híradástechnka Vállalat kutató és fejlesztő által kdolgozott napjankban gyártásban levő tárolt programvezérlésű elektronkus

Részletesebben

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció Közlekedés létesítmények élettartamra vonatkozó hatékonyság vzsgálat módszerenek fejlesztése PhD Dsszertácó Budapest, 2006 Alulírott kjelentem, hogy ezt a doktor értekezést magam készítettem, és abban

Részletesebben

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek BARA ZOLTÁN A bankköz utalék (MIF) elő- és utóélete a bankkártyapacon. A bankköz utalék létező és nem létező versenyhatása a Vsa és a Mastercard ügyek Absztrakt Az előadás 1 rövden átteknt a két bankkártyatársasággal

Részletesebben

8. Programozási tételek felsoroló típusokra

8. Programozási tételek felsoroló típusokra 8. Programozás tételek felsoroló típusokra Ha egy adatot elem értékek csoportja reprezentál, akkor az adat feldolgozása ezen értékek feldolgozásából áll. Az lyen adat típusának lényeges jellemzője, hogy

Részletesebben

Az elektromos kölcsönhatás

Az elektromos kölcsönhatás TÓTH.: lektrosztatka/ (kbővített óravázlat) z elektromos kölcsönhatás Rég tapasztalat, hogy megdörzsölt testek különös erőket tudnak kfejten. Így pl. megdörzsölt műanyagok (fésű), megdörzsölt üveg- vagy

Részletesebben

The original laser distance meter. The original laser distance meter

The original laser distance meter. The original laser distance meter Leca Leca DISTO DISTO TM TM D510 X310 The orgnal laser dstance meter The orgnal laser dstance meter Tartalomjegyzék A műszer beállítása - - - - - - - - - - - - - - - - - - - - - - - - - 2 Bevezetés - -

Részletesebben

Leica DISTOTMD510. X310 The original laser distance meter. The original laser distance meter

Leica DISTOTMD510. X310 The original laser distance meter. The original laser distance meter TM Leca DISTO Leca DISTOTMD510 X10 The orgnal laser dstance meter The orgnal laser dstance meter Tartalomjegyzék A műszer beállítása - - - - - - - - - - - - - - - - - - - - - - - - - 2 Bevezetés - - -

Részletesebben

METROLÓGIA ÉS HIBASZÁMíTÁS

METROLÓGIA ÉS HIBASZÁMíTÁS METROLÓGIA ÉS HIBASZÁMíTÁS Metrológa alapfogalmak A metrológa a mérések tudománya, a mérésekkel kapcsolatos smereteket fogja össze. Méréssel egy objektum valamlyen tulajdonságáról számszerű értéket kapunk.

Részletesebben

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő) Memóriák (felejtő) Memória Kapacitás Ár Sebesség Memóriák - tárak Háttértár (nem felejtő) Memória Vezérlő egység Központi memória Aritmetikai Logikai Egység (ALU) Regiszterek Programok Adatok Ez nélkül

Részletesebben

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat Mskolc Egyetem Gépészmérnök és Informatka Kar Automatzálás és Infokommunkácós Intézet Tanszék Optka elmozdulás érzékelő llesztése STMF4 mkrovezérlőhöz és robot helyzetérzékelése Szakdolgozat Tervezésvezető:

Részletesebben

Szerelési útmutató FKC-1 síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára

Szerelési útmutató FKC-1 síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára Szerelés útmutató FKC- síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára 604975.00-.SD 6 70649 HU (006/04) SD Tartalomjegyzék Általános..................................................

Részletesebben

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László adat Távközlés és Médanformatka Tanszék Budapest Műszak és Gazdaságtudomány Egyetem Eurecom Telecom Pars Elosztott rendszerek játékelmélet elemzése: tervezés és öszönzés Toka László Tézsfüzet Témavezetők:

Részletesebben

Darupályák ellenőrző mérése

Darupályák ellenőrző mérése Darupályák ellenőrző mérése A darupályák építésére, szerelésére érvényes 15030-58 MSz szabvány tartalmazza azokat az előírásokat, melyeket a tervezés, építés, műszak átadás során be kell tartan. A geodéza

Részletesebben

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található Phlosophae Doctores A sorozatban megjelent kötetek lstája a kötet végén található Benedek Gábor Evolúcós gazdaságok szmulácója AKADÉMIAI KIADÓ, BUDAPEST 3 Kadja az Akadéma Kadó, az 795-ben alapított Magyar

Részletesebben

Szerelési és beüzemelési útmutató

Szerelési és beüzemelési útmutató Mndg az Ön oldalán Szerelés és beüzemelés útmutató Exacontrol E7 C Exacontrol E7R C TARTALOMJEGYZÉK BEVEZETÉS 1 Szerelés útmutató... 3 1.1 A dokumentácó... 3 2 CE jel... 3 FELSZERELÉS 3 A készülék felszerelése...

Részletesebben

2. személyes konzultáció. Széchenyi István Egyetem

2. személyes konzultáció. Széchenyi István Egyetem Makroökonóma 2. személyes konzultácó Szécheny István Egyetem Gazdálkodás szak e-learnng képzés Összeállította: Farkas Péter 1 A tananyag felépítése (térkép) Ön tt áll : MAKROEGENSÚL Inflácó, munkanélkülség,

Részletesebben

IMPRESSA C5 Használati útmutató

IMPRESSA C5 Használati útmutató IMPRESSA C5 Használat útmutató Kávé Prof Kft. 1112 Budapest, Budaörs út 153. Tel.: 06-1-248-0095 [email protected] A TÜV SÜD független német mnôségvzsgáló ntézet Az IMPRESSA kézkönyvének és a hozzá tartozó

Részletesebben

Bevezetés a kémiai termodinamikába

Bevezetés a kémiai termodinamikába A Sprnger kadónál megjelenő könyv nem végleges magyar változata (Csak oktatás célú magánhasználatra!) Bevezetés a kéma termodnamkába írta: Kesze Ernő Eötvös Loránd udományegyetem Budapest, 007 Ez az oldal

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd SZE MTK MSZT [email protected] B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van

Részletesebben

34-35. Kapuáramkörök működése, felépítése, gyártása

34-35. Kapuáramkörök működése, felépítése, gyártása 34-35. Kapuáramkörök működése, felépítése, gyártása I. Logikai áramkörcsaládok Diszkrét alkatrészekből épülnek fel: tranzisztorok, diódák, ellenállások Két típusa van: 1. TTL kivitelű kapuáramkörök (Tranzisztor-Tranzisztor

Részletesebben

Schlüter -KERDI-BOARD. Közvetlenűl burkolható felületű építőlemez, többrétegű vízszigetelés

Schlüter -KERDI-BOARD. Közvetlenűl burkolható felületű építőlemez, többrétegű vízszigetelés Schlüter -KERDI-BOARD Közvetlenűl burkolható felületű építőlemez, többrétegű vízszgetelés Schlüter -KERDI-BOARD Schlüter -KERDI-BOARD A csempeburkolat készítésének unverzáls alapfelülete Pontosan, ahogy

Részletesebben

Összeszerelési és kezelési útmutató. VideoTerminal 2600..

Összeszerelési és kezelési útmutató. VideoTerminal 2600.. Összeszerelés és kezelés útmutató VdeoTermnal 2600.. Tartalom Készülékleírás...3 Szerelés...4 Az üvegfedél leszerelése...5 Kezelés...5 Normál beszéd üzemmód...6 Hívás fogadása... 6 Érvényesítés funkcó...

Részletesebben

FPGA áramkörök alkalmazásainak vizsgálata

FPGA áramkörök alkalmazásainak vizsgálata FPGA áramkörök alkalmazásainak vizsgálata Kutatási beszámoló a Pro Progressio alapítvány számára Raikovich Tamás, 2012. 1 Bevezetés A programozható logikai áramkörökön (FPGA) alapuló hardver gyorsítók

Részletesebben

CRT Monitor gammakarakteriszikájának

CRT Monitor gammakarakteriszikájának Budapest Műszak és Gazdaságtudomány Egyetem Mechatronka, Optka és Gépészet Informatka Tanszék CRT Montor gammakarakterszkájának felvétele 9. mérés Mérés célja: Számítógéppel vezérelt CRT montor gamma karaktersztkájának

Részletesebben

Máté: Számítógép architektúrák 2010.10.06.

Máté: Számítógép architektúrák 2010.10.06. szinkron : Minden eseményt egy előző esemény okoz! Nincs órajel, WIT, van viszont: MSYN# (kérés Master SYNchronization), SSYN# (kész Slave SYNchronization). Ugyanazon a en gyors és lassú mester szolga

Részletesebben

1.Tartalomjegyzék 1. 1.Tartalomjegyzék

1.Tartalomjegyzék 1. 1.Tartalomjegyzék 1.Tartalomjegyzék 1 1.Tartalomjegyzék 1.Tartalomjegyzék...1.Beezetés... 3.A matematka modell kálasztása...5 4.A ékony lap modell...7 5.Egy más módszer a matematka modell kálasztására...10 6.A felületet

Részletesebben

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest. 2005. december 16.

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest. 2005. december 16. Architektúrák és operációs rendszerek Balogh Ádám, Lőrentey Károly Eötvös Loránd Tudományegyetem Algoritmusok és Alkalmazásaik Tanszék Budapest 2005. december 16. Tartalomjegyzék Perifériák 1 Perifériák

Részletesebben

NKFP6-BKOMSZ05. Célzott mérőhálózat létrehozása a globális klímaváltozás magyarországi hatásainak nagypontosságú nyomon követésére. II.

NKFP6-BKOMSZ05. Célzott mérőhálózat létrehozása a globális klímaváltozás magyarországi hatásainak nagypontosságú nyomon követésére. II. NKFP6-BKOMSZ05 Célzott mérőhálózat létrehozása a globáls klímaváltozás magyarország hatásanak nagypontosságú nyomon követésére II. Munkaszakasz 2007.01.01. - 2008.01.02. Konzorcumvezető: Országos Meteorológa

Részletesebben

A mágneses tér energiája, állandó mágnesek, erőhatások, veszteségek

A mágneses tér energiája, állandó mágnesek, erőhatások, veszteségek A mágneses tér energája, állandó mágnesek, erőhatások, veszteségek A mágneses tér energája Egy koncentrált paraméterű, ellenállással és nduktvtással jellemzett tekercs Uáll feszültségre kapcsolásakor az

Részletesebben

MEZŐGAZDASÁGI TERMÉKEK FELVÁSÁRLÁSI FOLYAMATÁNAK SZIMULÁCIÓJA, KÜLÖNÖS TEKINTETTEL A CUKORRÉPÁRA OTKA

MEZŐGAZDASÁGI TERMÉKEK FELVÁSÁRLÁSI FOLYAMATÁNAK SZIMULÁCIÓJA, KÜLÖNÖS TEKINTETTEL A CUKORRÉPÁRA OTKA MEZŐGAZDASÁGI TERMÉKEK FELVÁSÁRLÁSI FOLYAMATÁNAK SZIMULÁCIÓJA, KÜLÖNÖS TEKINTETTEL A CUKORRÉPÁRA OTKA Kutatás téma 2002 2005. Nylvántartás szám: T0 37555 TARTALOMJEGYZÉK 1. Kutatás célktűzések... 2 2.

Részletesebben

Hobbi Elektronika. Bevezetés az elektronikába: Boole algebra, logikai kifejezések

Hobbi Elektronika. Bevezetés az elektronikába: Boole algebra, logikai kifejezések Hobbi Elektronika Bevezetés az elektronikába: Boole algebra, logikai kifejezések 1 Felhasznált anyagok Mészáros Miklós: Logikai algebra alapjai, logikai függvények I. BME FKE: Logikai áramkörök Electronics-course.com:

Részletesebben

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben

Részletesebben

Cache, Cache és harmadszor is Cache

Cache, Cache és harmadszor is Cache Cache, Cache és harmadszor is Cache Napjainkban, a XXI. században bátran kijelenthetjük, hogy a számítógépek korát éljük. A digitális rendszerek mára a modern ember életének meghatározó szereplőjévé váltak.

Részletesebben

LEGO robotok. IV. rész

LEGO robotok. IV. rész A homályosságot úgy küszöböljük ki, hogy sok kockát exponálunk ugyanarról az objektumról, minél többet, annál jobb, és a képfeldolgozás során ezeket egy speciális asztroszoft segítségével kiátlagoljuk,

Részletesebben

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb Input és Output 1 Bevitel-Kivitel Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel és kivitel a számitógépből, -be Perifériák 2 Perifériákcsoportosításá,

Részletesebben

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

Számítógép architektúra kidolgozott tételsor Számítógép architektúra kidolgozott tételsor Szegedi Tudományegyetem Szeged, 27. Tartalomjegyzék. Fordítás, értelmezés... 4 2. Numerikus adatok ábrázolása: fixpontos ábrázolás, konverzió számrendszerek

Részletesebben

VEZÉRIGAZGATÓI UTASÍTÁS

VEZÉRIGAZGATÓI UTASÍTÁS Követeléskezelés Szabályzat Sgma Követeléskezelı Zrt. A Sgma Követeléskezelı Zrt. tevékenység köre A Sgma Követeléskezelı Zrt. 1923-ban, részvénytársaság formában került bejegyzésre, magánosítására 1988.

Részletesebben

4.1.1. I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

4.1.1. I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA 4.1.1. I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA A címben található jelölések a mikrovezérlők kimentén megjelenő tipikus perifériák, típus jelzései. Mindegyikkel röviden foglalkozni fogunk a folytatásban.

Részletesebben

Die Sensation in der Damenhygiene Hasznos információk a tamponokról www.123goodbye.com

Die Sensation in der Damenhygiene Hasznos információk a tamponokról www.123goodbye.com nokról tampo a k ácó form n s no Hasz Mért használnak tamponokat? A tampon szó francául és a szó szernt fordításban dugó. Már a szó s sokat mond. A tamponok körülbelül öt centméteres rudak, amely közel

Részletesebben

Hálózat gazdaságtan. Kiss Károly Miklós, Badics Judit, Nagy Dávid Krisztián. Pannon Egyetem Közgazdaságtan Tanszék 2011. jegyzet

Hálózat gazdaságtan. Kiss Károly Miklós, Badics Judit, Nagy Dávid Krisztián. Pannon Egyetem Közgazdaságtan Tanszék 2011. jegyzet Hálózat gazdaságtan jegyzet Kss Károly Mlós, adcs Judt, Nagy Dávd Krsztán Pannon Egyetem Közgazdaságtan Tanszé 0. EVEZETÉS... 3 I. HÁLÓZTOS JVK KERESLETOLDLI JELLEMZŐI HÁLÓZTI EXTERNÁLIÁK ÉS KÖVETKEZMÉNYEIK...

Részletesebben

MEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék [email protected].

MEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék lencse@hit.bme. MEMÓRIA TECHNOLÓGIÁK Számítógép-architektúrák 4. gyakorlat Dr. Lencse Gábor 2011. október 3., Budapest tudományos főmunkatárs BME Híradástechnikai Tanszék [email protected] Tartalom Emlékeztető: mit kell

Részletesebben

3. Az elektronikus számítógépek fejlődése napjainkig 1

3. Az elektronikus számítógépek fejlődése napjainkig 1 2. Az elektronikus számítógépek fejlődése napjainkig Vázold fel az elektronikus eszközök fejlődését napjainkig! Részletesen ismertesd az egyes a számítógép generációk technikai újdonságait és jellemző

Részletesebben

Ahol mindig Ön az első! www.eon.hu/ugyintezes. Segítünk online ügyféllé válni Kisokos

Ahol mindig Ön az első! www.eon.hu/ugyintezes. Segítünk online ügyféllé válni Kisokos Ahol mndg Ön az első! www.eon.hu/ugyntezes Segítünk onlne ügyféllé váln Ksokos Kedves Ügyfelünk! Szeretnénk, ha Ön s megsmerkedne Onlne ügyfélszolgálatunkkal (www.eon.hu/ugyntezes), amelyen keresztül egyszerűen,

Részletesebben

Funkcionális áramkörök vizsgálata

Funkcionális áramkörök vizsgálata Dienes Zoltán Funkcionális áramkörök vizsgálata A követelménymodul megnevezése: Elektronikai áramkörök tervezése, dokumentálása A követelménymodul száma: 0917-06 A tartalomelem azonosító száma és célcsoportja:

Részletesebben

MUNKAANYAG. Tordai György. Kombinációs logikai hálózatok II. A követelménymodul megnevezése: Elektronikai áramkörök tervezése, dokumentálása

MUNKAANYAG. Tordai György. Kombinációs logikai hálózatok II. A követelménymodul megnevezése: Elektronikai áramkörök tervezése, dokumentálása Tordai György Kombinációs logikai hálózatok II. A követelménymodul megnevezése: Elektronikai áramkörök tervezése, dokumentálása A követelménymodul száma: 0917-06 A tartalomelem azonosító száma és célcsoportja:

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Máté: Számítógép architektúrák 20100922 Programozható logikai tömbök: PLA (315 ábra) (Programmable Logic Array) 6 kimenet Ha ezt a biztosítékot kiégetjük, akkor nem jelenik meg B# az 1 es ÉS kapu bemenetén

Részletesebben

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Misák Sándor SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Nanoelektronikai és Nanotechnológiai Részleg 4. előadás A DIGITÁLIS LOGIKA SZINTJE I. DE TTK v.0.1 (2007.03.13.) 4. előadás 1. Kapuk és Boole-algebra: Kapuk; Boole-algebra;

Részletesebben

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Misák Sándor SZÁMÍTÓGÉPES ARCHITEKTÚRÁK Nanoelektronikai és Nanotechnológiai Részleg DE TTK v.0.1 (2007.03.13.) 4. előadás A DIGITÁLIS LOGIKA SZINTJE I. 4. előadás 1. Kapuk és Boole-algebra: Kapuk; Boole-algebra;

Részletesebben

Hardver leírás Klasszikus kontroller v.3.2.2

Hardver leírás Klasszikus kontroller v.3.2.2 StP Beléptető Rendszer Hardver leírás Klasszikus kontroller v.3.2.2 s TARTALOMJEGYZÉK 1. ALKÖZPONTOK KÖZÖTTI KOMMUNIKÁCIÓ (INTERNET)... 3 2. RS485... 3 3. OLVASÓ- ÉS KÁRTYATÍPUSOK, OLVASÓ KEZELÉS, EGY

Részletesebben

Merev test mozgása. A merev test kinematikájának alapjai

Merev test mozgása. A merev test kinematikájának alapjai TÓTH : Merev test (kbővített óraválat) Merev test mogása Eddg olyan dealált "testek" mogását vsgáltuk, amelyek a tömegpont modelljén alapultak E aal a előnnyel járt, hogy nem kellett foglalkon a test kterjedésével

Részletesebben

Fizika II. (Termosztatika, termodinamika)

Fizika II. (Termosztatika, termodinamika) Fzka II. (Termosztatka, termodnamka) előadás jegyzet Élelmszermérnök, Szőlész-borász mérnök és omérnök hallgatóknak Dr. Frtha Ferenc. árls 4. Tartalom evezetés.... Hőmérséklet, I. főtétel. Ideáls gázok...3

Részletesebben

DIGITÁLIS TECHNIKA I Dr. Lovassy Rita Dr. Pődör Bálint

DIGITÁLIS TECHNIKA I Dr. Lovassy Rita Dr. Pődör Bálint 25.5.5. DIGITÁLIS TECHNIK I Dr. Lovassy Rita Dr. Pődör álint Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet 2. ELŐDÁS: LOGIKI (OOLE) LGER ÉS LKLMÁSI IRODLOM. ÉS 2. ELŐDÁSHO rató könyve2-8,

Részletesebben

A800. Az eredeti használati utasítás fordítása. Kávéfőző gép: FCS4050 - Hűtőegység: FCS4053

A800. Az eredeti használati utasítás fordítása. Kávéfőző gép: FCS4050 - Hűtőegység: FCS4053 A800 Az eredet használat utasítás fordítása Kávéfőző gép: FCS050 - Hűtőegység: FCS053 A készülék használata előtt olvassa el a használat utasítást és a «Bztonság tudnvalók» című fejezetet. Tartsa a használat

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Kívánalom: sok kapu kevés láb Kombinációs áramkörök efiníció: kimeneteket egyértelműen meghatározzák a pillanatnyi bemenetek Multiplexer: n vezérlő bemenet, 2 n adatbemenet, kimenet z egyik adatbemenet

Részletesebben

Balogh Edina Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetemi tanár

Balogh Edina Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetemi tanár Balogh Edna Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetem tanár Budapest Műszak és Gazdaságtudomány Egyetem Építőmérnök Kar 202 . Bevezetés,

Részletesebben

ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET. Összeállította: Dr. Szabó Sándor

ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET. Összeállította: Dr. Szabó Sándor MISKOLCI EGYETEM Gépgyártástechnológa Tanszék Mskolc - Egyetemváros ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET Összeállította: Dr. Szabó Sándor A orgácsoló megmunkálásokhoz

Részletesebben

MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA. Napkollektorok üzemi jellemzőinek modellezése

MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA. Napkollektorok üzemi jellemzőinek modellezése MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA Napkollektorok üzem jellemzőnek modellezése Doktor (PhD) értekezés tézse Péter Szabó István Gödöllő 015 A doktor skola megnevezése: Műszak Tudomány Doktor Iskola tudományága:

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Számítógép Architektúrák Perifériakezelés a PCI-ban és a PCI Express-ben 2015. március 9. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék [email protected] Tartalom A

Részletesebben

Gate Control okostelefon-alkalmazás

Gate Control okostelefon-alkalmazás Gate Control okostelefon-alkalmazás GSM Gate Control Pro 20/1000 modulokhoz HASZNÁLATI ÚTMUTATÓ v1.0.0.0 és újabb alkalmazásverzióhoz Dokumentumverzió: v1.42 2015.09.23 Termék rövid leírása A GSM Gate

Részletesebben

Ez egy program. De ki tudja végrehajtani?

Ez egy program. De ki tudja végrehajtani? Császármorzsa Keverj össze 25 dkg grízt 1 mokkás kanál sóval, 4 evőkanál cukorral és egy csomag vaníliás cukorral! Adj hozzá két evőkanál olajat és két tojást, jól dolgozd el! Folyamatos keverés közben

Részletesebben

A HV-PCI6 VIDEODIGITALIZÁLÓ KÁRTYA ÉS ALKALMAZÁSAI (HV-PCI6 Video Digitizing Card and its Applications)

A HV-PCI6 VIDEODIGITALIZÁLÓ KÁRTYA ÉS ALKALMAZÁSAI (HV-PCI6 Video Digitizing Card and its Applications) A HV-PCI6 VIDEODIGITALIZÁLÓ KÁRTYA ÉS ALKALMAZÁSAI (HV-PCI6 Video Digitizing Card and its Applications) Ladányi Zoltán, Ladányi Péter, Máthé József, Nagy Ferenc, Nagy Tamás, Patkó Tamás Hexium Műszaki

Részletesebben

Reiczigel Jenő, 2006 1

Reiczigel Jenő, 2006 1 Reiczigel Jenő, 2006 1 Egytényezős (egyszempontos) varianciaelemzés k független minta (k kezelés vagy k csoport), a célváltozó minden csoportban normális eloszlású, a szórások azonosak, az átlagok vagy

Részletesebben

A Számítógépek felépítése, mőködési módjai

A Számítógépek felépítése, mőködési módjai Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor

Részletesebben

Dell Precision Tower 7910 Kezelési kézikönyv

Dell Precision Tower 7910 Kezelési kézikönyv Dell Precision Tower 7910 Kezelési kézikönyv Szabályozó modell: D02X Szabályozó típus: D02X003 Megjegyzések, figyelmeztetések és vigyázat jelzések MEGJEGYZÉS: A MEGJEGYZÉSEK fontos tudnivalókat tartalmaznak,

Részletesebben

Digitális rendszerek. Digitális logika szintje

Digitális rendszerek. Digitális logika szintje Digitális rendszerek Digitális logika szintje CPU lapkák Mai modern CPU-k egy lapkán helyezkednek el Kapcsolat a külvilággal: kivezetéseken (lábak) keresztül Cím, adat és vezérlőjelek, ill. sínek (buszok)

Részletesebben

2-VEZETÉKES KAPUTELEFON RENDSZER Beltéri egység VDT-37MG. VDT-37MG Leírás v1.3

2-VEZETÉKES KAPUTELEFON RENDSZER Beltéri egység VDT-37MG. VDT-37MG Leírás v1.3 2-VEZETÉKES KAPUTELEFON RENDSZER Beltéri egység VDT-37MG VDT-37MG Leírás v1.3 Tartalomjegyzék 1. Elővigyázatossági felhívások...3 2. Műszaki adatok...3 3. Felépítés és funkciók...4 3.1. Kiegészítő csatlakozók...5

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto [email protected] http://people.inf.elte.hu/groberto Frissítve: 2015.

Részletesebben

A poliolefinek bemutatása

A poliolefinek bemutatása A pololefnek bemutatása Poletlén és polproplén 1. Szntetkus polmerek 1.1. Osztályozás 1.2. Globáls termelés 2. Pololefnek 2.1. A pololefnek családja 2.2. PE típusok és szerkezetek 2.3. PP típusok és szerkezetek

Részletesebben

VIII. ELEKTROMOS ÁRAM FOLYADÉKOKBAN ÉS GÁZOKBAN

VIII. ELEKTROMOS ÁRAM FOLYADÉKOKBAN ÉS GÁZOKBAN VIII. ELEKTROMOS ÁRAM FOLYADÉKOKBAN ÉS GÁZOKBAN Bevezetés: Folyadékok - elsősorban savak, sók, bázsok vzes oldata - áramvezetésének gen fontos gyakorlat alkalmazása vannak. Leggyakrabban az elektronkus

Részletesebben

I+K technológiák. Digitális adatátviteli alapfogalmak Aradi Szilárd

I+K technológiák. Digitális adatátviteli alapfogalmak Aradi Szilárd I+K technológiák Digitális adatátviteli alapfogalmak Aradi Szilárd Hálózati struktúrák A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

Részletesebben

járta, aprít ó é s tuskófuró a NEFA G fejlesztésében

járta, aprít ó é s tuskófuró a NEFA G fejlesztésében ható, max. 140 cm munkaszélességre és 15 25 cm-es munkamélységre készült. A gép üzem próbájára ez évben kerül sor. A műveletcentrkus egyed gépkalakítások mellett nem mondtunk le egy bázsgép rendszerű csemetekert

Részletesebben

Mit találtam RÓLAD a meddőséggel foglalkozó honlapokon?

Mit találtam RÓLAD a meddőséggel foglalkozó honlapokon? Mt találtam RÓLAD a meddőséggel foglalkozó honlapokon? Kgyűjtöttem, hogy a vlághálón mk kerngenek arról, mért vagy meddő. 10 honlapot olvastam át részletesen, azokat, melyeket a Google keresője felkínált

Részletesebben

III. Áramkör számítási módszerek, egyenáramú körök

III. Áramkör számítási módszerek, egyenáramú körök . Árakör száítás ódszerek, egyenáraú körök A vllaos ára a vllaos töltések rendezett áralása (ozgása) a fellépő erők hatására. Az áralás ránya a poztív töltéshordozók áralásának ránya, aelyek a nagyobb

Részletesebben

On-line értékelési módszerek II. Lengyelné Molnár Tünde

On-line értékelési módszerek II. Lengyelné Molnár Tünde On-line értékelési módszerek II. Lengyelné Molnár Tünde MÉDIAINFORMATIKAI KIADVÁNYOK On-line értékelési módszerek II. Lengyelné Molnár Tünde Eger, 2013 Korszerű információtechnológiai szakok magyarországi

Részletesebben

Környezetvédelmi analitika

Környezetvédelmi analitika Az anyag a TÁMOP-4...A/- /--89 téma keretében készült a Pannon Egyetemen. Környezetmérnök Tudástár Sorozat szerkesztő: Dr. Domokos Endre XXXIV. kötet Környezetvédelm analtka Rezgés spektroszkópa Blles

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések Algortmusok és adatszerkezetek gyakorlat 09 Rendezések Néhány órával ezelőtt megsmerkedtünk már a Merge Sort rendező algortmussal. A Merge Sort-ról tuduk, hogy a legrosszabb eset dőgénye O(n log n). Tetszőleges

Részletesebben

1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5

1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5 EntryProx Beléptető Rendszer FELHASZNÁLÓI KÉZIKÖNYV v.1.0.7. EntryProx Beléptető Rendszer TARTALOM 1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5 3. A RENDSZER ÜZEMBE HELYEZÉSE... 7 3.1. Az

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 4. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

II. Rákóczi Ferenc Kárpátaljai Magyar Fıiskola. Pataki Gábor. STATISZTIKA I. Jegyzet

II. Rákóczi Ferenc Kárpátaljai Magyar Fıiskola. Pataki Gábor. STATISZTIKA I. Jegyzet II. Rákócz Ferenc Kárátalja Magyar Fıskola Patak Gábor STATISZTIKA I. Jegyzet 23 Tartalomjegyzék evezetés... 3 I. Statsztka alafogalmak... 4. Statsztka kalakulása, tudománytörténet összefüggése... 4.2

Részletesebben

Biostatisztika e-book Dr. Dinya Elek

Biostatisztika e-book Dr. Dinya Elek TÁMOP-4../A/-/-0-005 Egészségügy Ügyvtelszervező Szakrány: Tartalomfejlesztés és Elektronkus Tananyagfejlesztés a BSc képzés keretében Bostatsztka e-book Dr. Dnya Elek Tartalomjegyzék. Bevezetés a mátrok

Részletesebben

vállalatok esetén Technológia és költségek, Árdiszkrimináció és monopólium: A vállalati árbevétel megoszlása Számviteli költségek + számviteli profit

vállalatok esetén Technológia és költségek, Árdiszkrimináció és monopólium: A vállalati árbevétel megoszlása Számviteli költségek + számviteli profit 3. Elõadás Technológa és költségek, Árdszkrmnácó és monopólum: lneárs árképzés Kovács Norbert SZE KGYK, GT vállalat árbevétel megoszlása Gazdaság költség + gazdaság proft Számvtel költségek + számvtel

Részletesebben

prímfaktoriz mfaktorizáció szló BME Villamosmérn és s Informatikai Kar

prímfaktoriz mfaktorizáció szló BME Villamosmérn és s Informatikai Kar Kvantumszámítógép hálózat zat alapú prímfaktoriz mfaktorizáció Gyöngy ngyösi LászlL szló BME Villamosmérn rnöki és s Informatikai Kar Elemi kvantum-összead sszeadók, hálózati topológia vizsgálata Az elemi

Részletesebben

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia) Informatika alapjai-9 Személyi számítógép (PC) 1/12 (Personal computer - From Wikipedia, the free encyclopedia) A személyi számítógépet ára, mérete és képességei és a használatában kialakult kultúra teszik

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Programozható logikai tömbök: PLA (35 ábra) (Programmable Logic Array) 6 kimenet Ha ezt a biztosítékot kiégetjük, akkor nem jelenik meg B# az -es ÉS kapu bemenetén 5 35swf 24 bemenő vonal A B L 2 bemenő

Részletesebben

4. Programozási nyelvek osztályozása. Amatőr és professzionális

4. Programozási nyelvek osztályozása. Amatőr és professzionális 4. Programozási nyelvek osztályozása. Amatőr és professzionális programozási nyelvek. Számítási modellek (Neumann-elvű, automataelvű, funkcionális, logikai). Programozási nyelvekkel kapcsolatos fogalmak

Részletesebben

Szeminárium-Rekurziók

Szeminárium-Rekurziók 1 Szeminárium-Rekurziók 1.1. A sorozat fogalma Számsorozatot kapunk, ha pozitív egész számok mindegyikéhez egyértelműen hozzárendelünk egy valós számot. Tehát a számsorozat olyan függvény, amelynek az

Részletesebben

Számítógép architektúrák

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

Részletesebben

CellCom. Szoftver leírás

CellCom. Szoftver leírás CellCom Szoftver leírás A vezérlő szoftver bemutatása 2 www.lenyo.hu Tartalom LCC vezérlőszoftver 5 Rendszerkövetelmények 5 Telepítés 5 Indítás 7 Eltávolítás, újratelepítés és javítás 8 Kulcskezelés 8

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Elágazás jövendölés ok gép megjövendöli, hogy egy ugrást végre kell hajtani vagy sem. Egy triviális jóslás: a visszafelé irányulót végre kell hajtani (ilyen van a ciklusok végén), az előre irányulót nem

Részletesebben

Digitális technika VIMIAA01

Digitális technika VIMIAA01 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 Fehér Béla BME MIT Digitális Rendszerek Számítógépek

Részletesebben

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van

Részletesebben

XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny

XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny evopro systems engineering kft. H-1116 Budapest, Hauszmann A. u. 2. XXI. Országos Ajtonyi István Dokumentum státusza Közétett Dokumentum verziószáma v1.0 Felelős személy Kocsi Tamás / Tarr László Jóváhagyta

Részletesebben

ÍRÁSBELI ÖSSZEADÁS, KIVONÁS. A MŰVELETI SORREND SZÁMÍTÁSOKBAN ÉS SZÖVEGES FELADATOK MEGOLDÁSA SORÁN. 9. modul

ÍRÁSBELI ÖSSZEADÁS, KIVONÁS. A MŰVELETI SORREND SZÁMÍTÁSOKBAN ÉS SZÖVEGES FELADATOK MEGOLDÁSA SORÁN. 9. modul Matematika A 4. évfolyam ÍRÁSBELI ÖSSZEADÁS, KIVONÁS. A MŰVELETI SORREND SZÁMÍTÁSOKBAN ÉS SZÖVEGES FELADATOK MEGOLDÁSA SORÁN 9. modul Készítette: KONRÁD ÁGNES matematika A 4. ÉVFOLYAM 9. modul ÍRÁSBELI

Részletesebben