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



Hasonló dokumentumok
Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

/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

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

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

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ó

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

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

Az elektromos kölcsönhatás

The original laser distance meter. The original laser distance meter

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

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

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

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

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

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

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

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

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

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

IMPRESSA C5 Használati útmutató

Bevezetés a kémiai termodinamikába

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

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

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

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

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

CRT Monitor gammakarakteriszikájának

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

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

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

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.

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

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

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

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

Cache, Cache és harmadszor is Cache

LEGO robotok. IV. rész

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

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

VEZÉRIGAZGATÓI UTASÍTÁS

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

Die Sensation in der Damenhygiene Hasznos információk a tamponokról

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

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

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

Ahol mindig Ön az első! Segítünk online ügyféllé válni Kisokos

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

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

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

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

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

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

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

Hardver leírás Klasszikus kontroller v.3.2.2

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

Fizika II. (Termosztatika, termodinamika)

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

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

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

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

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

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

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

Gate Control okostelefon-alkalmazás

Ez egy program. De ki tudja végrehajtani?

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

Reiczigel Jenő,

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

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

Digitális rendszerek. Digitális logika szintje

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

Műszaki folyamatok közgazdasági elemzése Előadásvázlat november 06. A közgazdaságtan játékelméleti megközelítései

Alkalmazott modul: Programozás

A poliolefinek bemutatása

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

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

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

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

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

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

Környezetvédelmi analitika

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

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

Bevezetés az informatikába

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

Biostatisztika e-book Dr. Dinya Elek

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

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

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)

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

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

Szeminárium-Rekurziók

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

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

CellCom. Szoftver leírás

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

Digitális technika VIMIAA01

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

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

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

Átírás:

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.

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

TARTALOMJEGYZÉK Tartalom 1. Alapvető dgtáls áramkörök... 7 1.1. Kombnácós áramkörök... 14 1.2. Szekvencáls áramkörök... 22 1.3. CPU lapkák... 32 1.4. Számítógépes sínek... 33 1.5. Pentum 4 CPU lapka... 43 1.5.1. Számítógépes sínek... 48 2. A processzor belső működése...62 3. A párhuzamosítás lehetősége...88

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.

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

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á

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,

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).

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

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

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 10 100 kapuszámúak az MSI (Medum Scale Integrated), a 100 100 000 kapuszámúak LSI (Large Scale Integrated), a 100 000 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.

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).

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

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.

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.

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

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).

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. á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

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).

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).

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).

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).

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.

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).

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).

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

á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 19 + 8 + 3 = 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 11 + 1 + 5 = 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.

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

címvonalakból 13-at a RAS, 10-et a CAS jelhez használva 223 8 M címet adhatunk meg mndegyk modulon (213+10+2 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. 1.3. 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

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. 1.4. 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 50 100 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).

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

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.

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.

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 (16 20 32). 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).

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

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).

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ú

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.

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

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 29000 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

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, 63 82 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

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

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):

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

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. 1.5.1. 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.