66
TÁMOP-4.1.1.F-14/1/KONV-2015-0009 „A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN Várady Géza Számítógép-architektúrák I. Pécs 2015 A tananyag a TÁMOP-4.1.1.F-14/1/KONV-2015-0009 azonosító számú, „A gépészeti és informatikai ágazatok duális és moduláris képzéseinek kialakítása a Pécsi Tudományegyetemen” című projekt keretében valósul meg.

Dr. Várady Géza: Számítógép-architektúrák I

Embed Size (px)

Citation preview

Page 1: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Várady Géza

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

Pécs2015

A tananyag a TÁMOP-4.1.1.F-14/1/KONV-2015-0009 azonosító számú,

„A gépészeti és informatikai ágazatok duális és moduláris képzéseinek kialakítása a

Pécsi Tudományegyetemen” című projekt keretében valósul meg.

Page 2: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

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

Várady Géza

Szakmai lektor: Sári Zoltán

Nyelvi lektor: Veres Mária

Kiadó neve

Kiadó címe

Felelős kiadó:

ISBN szám

Pécsi Tudományegyetem

Műszaki és Informatikai Kar

Pécs, 2015© Várady Géza

Page 3: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

TARTALOMJEGYZÉK

Tartalom

1. Bevezetés....................................................................................................... 7

1.1. Bevezetés................................................................................................................................. 7

1.2. Számábrázolás ......................................................................................................................... 7

1.2.1. Számrendszerek............................................................................................................... 8

1.3. Számítást segítő eszközök és módszerek .............................................................................. 12

1.4. Elektro-mechanikus gépek .................................................................................................... 19

2. Számítógép-generációk ...................................................................................20

3. Számítógépek működése.................................................................................26

3.1. Nyelv...................................................................................................................................... 26

3.2. Mikroprogramozott működés ............................................................................................... 30

3.3. Számítógépek csoportosítása méret, teljesítmény és ár szerint........................................... 31

3.4. Számítógépek alapvető felépítése ........................................................................................ 34

3.5. RISC és CISC felépítés ............................................................................................................ 36

3.6. Utasításszintű párhuzamosság .............................................................................................. 38

3.7. Processzorszintű párhuzamosság.......................................................................................... 41

3.8. Memóriák .............................................................................................................................. 42

3.9. Mágneses háttértárak ........................................................................................................... 54

3.10. Optikai tárolók................................................................................................................... 63

Page 4: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Page 5: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Előszó

A jegyzet a Számítógép-architektú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-architektúrák című könyvének 2. kiadása (PANEM, 2006) alapjánhalad, de egyéb témákra is kitér. A jegyzet váza az oktatói tapasztalat és a hallgatóivisszajelzések alapján készült. A könyvben tárgyalt részek kicsit más megvilágításban,másképp is magyarázva, példákkal, ábrákkal egészültek ki. Ez bővült a tárgyban mégfontosnak tartott fejezetekkel, információkkal. Olyan adatok is bekerültek, melyek a könyvkiadása óta újnak számítanak és tárgyalni, említeni érdemes őket. A fenti magyar nyelvűkönyvet dr. Máté Eörs lektorálta, aki a kötethez készült magyar nyelvű ábrákat sajáttárgyainak fóliáiként is használja. Ezeket, illetve a könyvhöz kiadott digitális mellékleteket ishasználtam a jegyzet illusztrációihoz.

A jegyzetet informatikus hallgatóknak ajánlom, de jó szolgálatot tehet a kapcsolódószakirányok hallgatói számára is.

Page 6: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Page 7: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

1. Bevezetés1.1. Bevezetés

Az informatika sokrétű tudomány, mely mára jelen van szinte minden más tudományban ésmunkakörben. Alapvetően a szó az információ szóból ered, ennek a megszerzésével,feldolgozásával, tárolásával, továbbításával foglalkozik. Az információtechnika pedig azinformáció technikai értelemben vett forrástovábbításának, -kezelésének a problémakörével.A számítástechnika az automatizált adatfeldolgozás eszközeivel foglalkozik, ahol is azeszközök részben számítógépek. A jelen tárgy, a számítógép-architektúrák, témája pedig aszámítógépek felépítése és absztrakt szintekre bontott részei.

A számítógépek a számítási feladatokat támogató eszközök, amelyek mára nagysebességet és komplexitást értek el. Már nemcsak a tudományos kutatás, hanem a mindennapiélet is nehezebb, esetenként elképzelhetetlen lenne nélkülük. A számítógépek komplexalgoritmusai sebességben már jóval az emberi teljesítőképesség felett járnak, az összetettdöntéshozó és tanuló algoritmusaik alapján akár mesterséges intelligenciáról is beszélhetünk.

Ide azonban egy ötletekkel, fejlesztésekkel teli út vezetett, amely az egyszerű számításokbólindult ki.

1.2. Számábrázolás

A szám valamilyen mennyiség reprezentációja, a szám egy tipikus információ. Aszámábrázolás az a mód, ahogyan a számokat szimbólumokkal jelöljük, így írásbanrögzíthetjük őket. A számírások számábrázoló rendszerek, amelyek az alapjelek és formálisszabályok segítségével nyelvtant alkotnak.

A számábrázolási rendszer, röviden számrendszer, szabályok alapján meghatározza a használtszámok ábrázolási szabályait, minden szám egyedi ábrázolását, az aritmetikai és az algebraiszabályokat. A számjegy egy szimbólum, ami egy számot ír le. A számrendszer aszámjegyek sorozatának jelentését is definiálja, hisz ugyanaz a szimbólumsorozat jelenthetmás és más számot is (pl. bináris és decimális ábrázolásban is értelmezhető a 01101szimbólumsorozat). Éppen ezért az egyértelműség kedvéért a különböző számrendszerekbenábrázolt szimbólumsorozatokat valamilyen jelöléssel el szokták látni, amiből kiderül, hogymilyen számrendszerben kell értelmeznünk azt. Ez lehet pl. a számsorozat végén alsóindexben (pl.: 456d – decimális, azaz tízes számrendszer vagy 10010b – bináris, azaz kettesszámrendszer). Sokszor a kontextusból egyértelműen kiderül, hogy miről beszélünk, ígygyakran elhagyjuk ezt a jelölést.

Page 8: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

1.2.1. Számrendszerek

A legegyszerűbb számrendszer, az unáris (egyes) számrendszer. A nevéből is adódik, hogy ittegyetlen szimbólumot használhatunk a szám reprezentációjára. Ebből a szimbólumból annyitkell leírni, ahányas számra gondolunk. Például, ha a szimbólumunk a * (csillag), akkor a 623-as számot úgy írhatjuk le, hogy 623 darab * karaktert rajzolunk. Ebből a példából márislátszik ennek a rendszernek a korlátja. Csak kis számokkal lehet kényelmesen használni, ígyadódik is, hogy praktikusabb megoldást találjunk. Egy gyakori könnyítés, hogy az egyestreprezentáló szimbólumainkat csoportokban jelöljük (pl. 5-ös csoportokban lehet vonalakathasználni, ahol a négy után a négy vonalat az ötödikkel áthúzzuk). Ettől azonban a nagyszámok kezelése csak kicsit lesz egyszerűbb. Ezeket a csoportokat azonban lecserélhetjükújabb egyszerű szimbólumra, amiknek a csoportjait újra lecserélhetjük újabb egyszerűszimbólumra. Ezzel a módszerrel lényegesen egyszerűsödik a jelölés és egy nagy lépésselközelebb kerülünk a manapság használatos számrendszerünkhöz.Például,

a tízes csoportot jelöljük + szimbólummal,

a százas csoportot ! szimbólummal,

a * szimbólum pedig továbbra is az egyeseket jelentse.

Ekkor az előbbi 623 * szimbólum helyett csak hat darab ! szimbólumot, kettő darab +szimbólumot és három darab * szimbólumot kell leírnunk:

!!!!!!++*** .

Ez már lényegesen egyszerűbbé és tömörebbé teszi az írást. A tömörség a tárolásszempontjából (pl. papirusztekercsek) is fontos kérdés.

Az egyiptomiak is hasonló rendszert használtak, szintén a tízes csoportokat (tíz hatványokat)jelölték el külön. A szimbólumok különböző rajzos grafikák voltak, a csoport értékével agrafika is bonyolódott. A kisebb értékek vonalakból álltak, a nagyobb értékek pedig márvalamilyen felismerhető tárgyat ábrázoltak. Az egyet egy vonal jelentette, a tízet egy görbe ív,a százat egy felcsavart kötél, az ezret a lótuszvirág, a tízezret egy ujj, a százezret egy békavagy ebihal (aminek az ábrázolása egy madárra emlékeztetett és sok helyen annak is rajzoljákújra), az egymilliót pedig egy térdeplő emberalak (1. ábra).

Page 9: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

1. ábra Egyiptomi számábrázolási

A 2015 ezzel a rendszerrel pl. így nézne ki:

2. ábra 2015 – egyiptomi számábrázolással

Az egyiptomiak milliós számokkal számoltak, ismerték a törteket, szoroztak-osztottak ezzel arendszerrel.

A római számrendszer hasonló módon működik. A római számok (1. táblázat) eredete nemtisztázott, de a kisebb számok írásából látszik, hogy szintén egy unáris rendszerről beszélünk.Az egyes számokat, ill. számcsoportokat egy szimbólummal ábrázolják. Az egyiptomirendszerhez képest annyi a változás, hogy a szimbólumok helyének van jelentősége, ugyanis anagyobb értékű szimbólum elé írt kisebb értékű szimbólum negatív előjellel számít. Anagyobb szimbólumok elé csak egy fokkal kisebb szimbólumot lehet írni (tehát pl. az 1999-etnem lehet úgy leírni, hogy leírjuk az egyet, majd mögé a kétezret).

A római számok:

Page 10: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

1. táblázat Római számok1 I

2 II

3 III

4 IV

5 V

10 X

50 L

100 C

500 D

1000 M

5000IƆƆ vagyↁ

10000CCIƆƆ vagyↂ

100000 CCCIƆƆƆ vagy

A nagyobb számok esetében több írásmód is létezett, ami nem feltétlenül praktikus dolog. Azelőző példánál maradva, az 1999 számot helyesen MCMXCIX-ként kell leírni (tehát az IMMnem helyes).

A mai számírásunk őse a brahmi számírástól gyökereztethető. Ebből származik a hindu, arab,majd a 15. századi európai, később a düreri számírás. Az egyes számértékek képeinekalakulása a táblázatban (3. ábra) nyomon követhető. Míg a brahmi számírás és rendszer közelállt az egyiptomi, ill. római rendszerhez, addig a későbbi arab rendszerben megjelenik a nullamint szimbólum, illetve a számok egymás utáni pozíciója nagyon is lényeges. Ez az első helyiértékes rendszer, amelyet ma is használunk.

Page 11: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

3. ábra Mai számírásunk alakulásaii

A helyi értékes rendszerben, melyet ma is használunk, az egyes számcsoportokat nem egykülön szimbólum, hanem a szimbólum pozíciója jelenti a felírt számban. Ebből az iskövetkezik, hogy a felírt számunkat több szimbólum sorrendben való felírásávalreprezentáljuk. Itt fontos szerepe van a nullának, mivel, ha egyes számcsoportokat nemakarunk használni, a pozíciók miatt akkor is kell egy kitöltő szimbólum a megfelelő helyekre.Pl. a 4005 számot 4 darab ezres, 0 darab százas, 0 darab tízes és 5 darab egyes alkotja. A jelenpéldában tízes alapú számrendszert használtunk, ami azt adja meg, hogy az egyes csoportokmelyik szám hatványait jelentik. A tíz hatványai jobbról balra jönnek, azaz a jobb szélen 0–9közötti értékek, mellette balra 10–99 közötti értékek, majd 100–999 közöttiek következnek(100; 101; 102; stb.). A rendszer hátránya, hogy a nagy számokat sok kitöltő nulla segítségéveltudjuk leírni, viszont az alapszimbólumok ismeretében tetszőlegesen nagy szám leírható. Arendszer bármilyen számalapú lehet, a helyi értékeken a választott alap hatványai vannak, ésannyi szimbólumunk van, amekkora a választott alap. A kettes számrendszerben a kettőhatványai jönnek egymás után és a két szimbólumot, az 1-et és a 0-át használhatjuk. A 16-osszámrendszerben a 16 hatványai állnak az egyes helyi értékeken (16, 256, 4096, 65536 stb.)és 16 szimbólumot kell használnunk (0–9 és A, B, C, D, E, F).

A tízes alapú helyi értékes rendszerben tehát a 327 jelentése: 3 darab százas (3x102), 2 darabtízes (2x101) és 7 darab egyes (7x100).

Az első európai helyi értékes számábrázolást ismertető írás 1202-ből származik: Fibonacci –Liber Abaci című könyvében. A magyarok 6-os és 7-es számrendszert használtak, majd

Page 12: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

áttértek a 10-es számrendszerre. A legrégebbi arab számjegyes írásos emlékünk 1407-bőlszármazik, de a 12. század körül már helyi érték nélküli tízes számrendszerben számoltunk.

A kettes számrendszer a számítástechnikában fontos, mivel a számítógépek alacsony szintenbináris számokkal dolgoznak. A bináris számrendszerben az egyes helyi értékeken a kettőhatványai szerepelnek, jobbról balra felírva: 1,2,4,8,16,32,64 stb.

Mivel csak két szimbólumot használhatunk, a bináris számaink csupa 0-ból és 1-ből állnak.Pl. 2015 bináris számmal: 11111011111.

Itt, jobbról haladva az 1+2+4+8+16+64+128+256+512+1024 összegzést elvégezvemegkapjuk a 2015-öt. Észrevehetjük, hogy a számban csak egy helyen van nulla, azaz ezt azértéket nem használtuk fel. Ez a 32-es érték, amit, ha a 2015-höz adunk, 2047-et kapunk.Vegyük észre, hogy a hatványsorban 1024 után 2048 jönne, azaz a 2048-at érő hatvány (211)alatti helyi értékek összértéke 2048-1, azaz 2047, ha minden helyi értéken 1-est írunk. Ha a32-esnél (25) 0-t, akkor 32-vel kevesebbet, 2047-32=2015-öt kapunk.

1.3. Számítást segítő eszközök és módszerek

Nagy valószínűséggel Mezopotámiából származik az egyik legősibb, számolást segítieszközünk, az abakusz (4. ábra), vagy másik nevén a szorobán. Eleinte egy fatáblába vájtmélyedésekből és kavicsokból (calculus – kavics) állt, később ezeket a kavicsokat mintgolyókat rögzítették tengelyekre. A tengelyek az egyes helyi értékek, a golyók pedig aszámokat ábrázolják. Az abakusszal történő számolás a világ számos helyén még ma ismindennapos. Az iskolákban pedig sok helyen újra tanítják a szorobánnal való számolást. Eza számkép és a műveleti logika fejlesztését szolgálja.

Page 13: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

4. ábra Abakusz

A számítást módszerek, egyszerűsítések, algoritmizálható lépések sorozata is segítette. Ez afajta megközelítés a mai számítógépekben is megtalálható: nagy feladatokat apró kisfeladatokra szedünk szét, amelyeket könnyen megoldunk. Egy ilyen módszer a középkorbanhasznált Gelosia-módszer is. Ez a nagy számok szorzására adott egy leírást, amellyel aműveletet kis, egyjegyű számok szorzásaira bonthattuk. A módszer szerint a két számottáblázatos módon vízszintesen, ill. függőlegesen kell felírni, a táblázat metszéspontjaiba pedigaz adott sor és oszlop számainak szorzatát kell beírni. A táblázat celláiban diagonális vonalvan, ha az eredmény kétjegyű, akkor a felső háromszögbe kell az első számjegyet, az alsóba amásodik számjegyet írni. Ezek után a diagonálisok mentén összegeznünk kell a számokat,majd jobbról balra, maradékok átvitelével leírni. Ez kiadja a végeredményt.

5. ábra Gelosia-módszer – szorzástáblázat

A fenti módszerhez táblázatokat kell rajzolni, ami egy vándorkereskedő, esetleg boltosesetében extra időt vihet el. Egy lehetséges egyszerűsítést Napier (John Napier, 1550–1617)mutatott be, melyet Napier-pálcáknak (6. ábra) hívunk. Az ötlet az volt, hogy a táblázatok

Page 14: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

egyes oszlopait pálcákkal reprezentáljuk, melyeken egymás alatt szerepelnek már adiagonálissal elválasztott cellákban az 1-gyel, 2-vel, 3-mal stb. vett, pálcához rendelt számmalvaló szorzatok. Így a táblázat felrajzolása helyett a pálcákat kellett csak a megfelelősorrendben (szorzandó szám jegyei szerint) egymás mellé tenni. Ezek után a szorzó jegyeitjobbról balra tekintve a megfelelő sorból kiírhattuk az eredményt. Az eredménysorokategymás alá, soronként balra eltolva kellett leírni, majd ezeket összeadni. Az írást teljesen ígynem kerültük el, de a táblázat felrajzolását, illetve az egyjegyű számok fejben történőszorzását igen.

6. ábra Napier-pálcákiii

A pálcás módszert Schott (Gaspar Schott 1608–1666) fejlesztette tovább annyiban, hogytengelyeket és azokon elhelyezett forgatható hengereket (7. ábra) készített. A pálcákösszeválogatása helyett a hengerek elforgatásával lehetett a táblázatot összeállítani.

7. ábra Schott hengereiiv

Page 15: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

A kor egy másik említésre méltó találmánya a logarléc (8. ábra) volt, 1622-ből, mely WilliamOughtred (1574–1660) nevéhez köthető. A logaritmikus skálákkal ellátott pálcák egymáshozvaló elcsúsztatása az összeadás és kivonás (csúsztatás) eredményeképp kijött számot alogaritmikus skálán mutatta, így szorzás és osztási eredményeket lehetett leolvasni. A jólismert összefüggések:

log(a*b) = log(a) + log(b)

log(a/b) = log(a) – log(b)

8. ábra Logarléc

Egy következő lépés a fenti szerkezetek továbbgondolásából született mechanikus gépekkonstruálása volt. Wilhelm Schickard (1592–1635) 1623-ban a Napier-pálcák ötletébőlkiindulva olyan mechanikus gépet (9. ábra) konstruált, amely tengelyeken lévő, szorosancsatolt fogaskerekekből, csúsztatható pálcákból és tekerőgombokból állt. A négyalapműveletet lehetett vele elvégezni, ahol is az összeadás és kivonás teljesen automatizáltvolt, azaz a fogaskerekek segítségével a maradékok átvitele is megvalósult. A gép hatjegyűszámokkal dolgozott volna, de Schickard korában csak részben készült el, majdmegsemmisült. A működő replikát a korabeli leírások alapján az IBM készítette el.

Page 16: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

9. ábra Schickard mechanikus számológépe

Pascal (Blaise Pascal 1623–1662) fentihez hasonló mechanikus gépe 8 jegyű számokkaldolgozott, tízes számrendszerben, összeadni és kivonni lehetett vele. Sokáig Pascal 1642-esgépét tartották az első mechanikus számológépnek, de valójában Schickard gépe volt az első,amit ismerünk.

10. ábra Pascal mechanikus számológépe

Page 17: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

1694-ban, Leibniz (Gottfried Wilhem von Leibniz 1646–1716) gépe már szorozni és osztani,valamint gyököt vonni is tud. Ugyan Leibniz gépe még tízes számrendszerben dolgozott, őmár felismerte, hogy a kettes számrendszerben lenne érdemes a gépeket üzemeltetni (1703 –Explication de l’Arithmétique Binaire).

11. ábra Leibniz gépe

A digitális működés előnye az, hogy csak két állapotot kell megkülönböztetni egymástól, amikapcsoló működésű eszközökkel megvalósítható. A többállapotú kapcsolók megbízhatóságakisebb, akár mechanikus, akár elektromos működést képzelünk el. Leibniz további nagy ötletea bordás tengely alkalmazása, amellyel meg tudta oldani a szorzás mechanikus mozgássalvaló kivitelezését (12. ábra). Jól látható az ötlet, hogy a bordás tengelyen növekvőhosszúságúak a fogak, így egy mozgatható fogaskerék elfordulását a bordás tengelyhezképesti pozíciója adja meg. Ha 9 fognyit akartuk forgatni, a bordás tengely legszéléhez kelletttolni. Ha csak egyet, akkor a másik szélre kellett tolni. Ez a bordás tengelyes megoldás szinteaz összes későbbi mechanikus gépben megtalálható volt.

Page 18: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

12. ábra Leibniz gépének bordás tengelyev

Az első mechanikus gép, ami tömeggyártásig jutott, Colmar (Charles Xavier de Colmar1785–1870) 1820-as gépe, ami 4 alapműveletet tudott. A korszak egy fontos gépe, ami ugyannem számításokat végzett, de a számítógépek fejlődéséhez nagyban hozzájárult, Jacquard(Koseph Marie Jacquard 1752–1834) 1801-es lyukkártya vezérlésű szövőgépe. A gép akülönböző színű szálak programozott behúzásával előre definiált, programozott mintákattudott szőni. Ez a fajta programbevitelt később a számítógépeknél is felhasználták. 1822-benBabbage (Charles Babbage 1791–1871) megálmodta és megtervezte a „Differnce Engine”-t ,egy gépet, ami polinom behelyettesítési értékeket tudott volna kiszámolni. A gép a sajátkorában nem készült el, de egy modern kori replika (13. ábra) jól működik, pontosan úgy,ahogy azt eltervezték.

13. ábra Differential Engine-replika

1837-ben, 16 évvel később, Babbage megalkotta az „Analytical Engine”-t, ami egylyukkártyákkal programozható mechanikus számológép lett volna. Sajnos működőképes gép

Page 19: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

ebből sem készült a saját korában, de később egy replika igen, ami működött is. Ez a gép lettvolna az első Turing-teljes gép, amely elágazásokat, tárolt eredményeket felhasználvaalgoritmikus feladatok elvégzésére lett volna képes.

14. ábra Analytical engine-replika

1.4. Elektro-mechanikus gépek

1880-ban az Egyesült Államokban népszámlálást írtak ki. Ez nemcsak a lakosság pontosszámának megállapítását jelentette (55 millió ember abban az időben – 2014-ben 318 millió),hanem az egyes emberek bizonyos paramétereinek rögzítését és feldolgozását is.Személyenként 36 paramétert kellett vizsgálni. Erre a feladatra a kormány 500 feldolgozószemélyt alkalmazott, akik 7 évig dolgoztak ezeken az adatokon, majdnem a következőnépszámlálásig, amit 1890-ben írtak ki. Ezt a népszámlálást közel ugyanekkora népességmellett, ugyanolyan paraméterek vizsgálatával kellett elvégezni. Ezt a feladatot azonban mostmár nem több száz emberrel, hanem Herman Hollerith (1860–1929) lyukkártyás elektro-mechanikus gépével végeztették el. Az ilyen jellegű gépek létjogosultságát részben ez amunka igazolta. A gép 4 hét alatt végzett a feladattal, ami jelentős gyorsulás a manuálisfeldolgozás idejéhez képest. Erre, illetve további európai sikerekre alapozva, 1896-banlétrejött a Tabulating Machine Company, melyből később, 1924-ben létrejött az IBM.

Page 20: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

2. Számítógép-generációkAz első generációs számítógépeket 1945-től számítjuk. Ennek ellenére érdemes pár korábbigépet is megemlíteni, amik már az elsőgenerációs gépekhez sorolhatók.

1941-ben készült el a Z3 nevű gép, amely Konrad Zuse nevéhez fűződik. A gép 22 bitesszavakkal, lebegőpontos számokkal dolgozott. Elsősorban katonai számításokhoz használták.A gép műveleti sebessége (hány műveletet tud adott idő alatt elvégezni) 3 művelet/másodpercvolt. Ez már jóval az emberi fejszámolási sebesség felett van, ugyanakkor a mai műveletisebességekhez képest (pl. top500.org szuperszámítógépei) szinte nevetséges. Egy továbbiemlítésre méltó gép 1943-ból, Alan Turing (1912–1954) nevéhez fűződik. A Colossus nevűgép a második világháborúban használt német Enigma kódolását volt hivatott feltörni. A gépsegítségével a kódolás próbálgatásos részének jelentős részét gyorsan végig lehetett pörgetni,így a viszonylag kevés manuális munka elvégzésével összesen pár órával (3–6 óra) az éjfélikódváltások után már le lehetett hallgatni a németek kommunikációját. Szintén az 1943-asévhez kötődik Claude Shannon (1916–2001) fontos felismerése, miszerint a matematikailogika szoros kapcsolatban van az elektromos kapcsolás szabályaival.Ez a későbbiekben lehetőséget adott a költséghatékony tervezésre és gyártásra.Az 1944-es évhez kapcsolódik Aiken (Howard Aiken 1900–1973) Mark I. nevű gépe. Ez voltaz első automata elektro-mechanikus gép. Az alapműveleteket tudta számolni, relékkel,vezetékekkel dolgozott.

A számítógépek első generációjához tartozó egyik gép az 1946-ban elkészült ENIAC, amelyJohn P. Eckert és John W. Mauchly nevéhez kapcsolódik. A gép 18000 vákuumcsővelműködött, 30 tonnát nyomott és 140 000 Watt volt a teljesítményfelvétele. A gép 10 jegyűdecimális számokkal számolt, 20 regisztere volt és huzalozottan lehetett programozni.

A vákuumcsövek az első olyan alkatrészek, amikkel megvalósíthatóvá váltak az elektronikusszámítógépek. A vákuumcső, mint a nevéből is adódik, egy üvegcső, melyből a levegőtkiszivattyúzva ritka közeget, közel vákuumot lehet elérni. A cső két végére csatlakoztatottelektródok közötti potenciálkülönbség hatására a csőben elektronok kezdenek el vándorolni (alevegő jól szigetel, ezért kell kiszivattyúzni). Ezt a katód fűtésével lehetett elérni, a katód ésaz anód közötti rácsra adott feszültséggel pedig szabályozni. Ezzel elérhető, hogy az áram ki-és bekapcsolható legyen, így a vákuumcső (elektroncső) kapcsolóként működik. Avákuumcsövek, bár jól működnek, számos problémát vetettek fel. Az izzókhoz hasonlóan kitudnak égni, és ez sajnos elég gyakran be is következett. A működés közben jelentős hőtdisszipálnak és nagy a méretük (cm-es tartomány). A korai gépek esetében az MTBF (MeanTime Between Failures – a hibák közt eltelt átlagos idő) néha a perces tartományba esett, apárórás, hibátlan működés pedig ritkaságszámba ment. Mindezek ellenére ez az út járhatónakbizonyult.

Page 21: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Az ENIAC MTBF-értéke 40 másodperc volt. A leállások legtöbbször kiégett vákuumcsövekmiatt történtek, ahol a csere gyakran nemcsak egy-egy csövet, hanem egész blokkokat érintett,hiszen a kor gyártástechnológiája nem tudott állandó minőséget produkálni. A huzalozottprogramozás azt jelentette, hogy a műveleteket előre rögzíteni kellett kábelek megfelelőhelyre illesztésével. A kábelek különböző konfigurációi adták meg a gép tevékenységét. Ezzela megoldással a program szerves részévé vált a gépnek, gyorsan és egyszerűen nem voltváltoztatható. Maga a számolás azonban már gyorsan ment. A gép egyik jelentőstulajdonsága, hogy a háború befejeztével lehetőség nyílt a működés tanulmányozására, ígyszámos későbbi fejlesztéshez adott ötletet.

Neumann János (1903–1957) nevéhez fűződik az 1945-ös EDVAC IAS, ami az első olyanszámítógép volt, amely a memóriában tárolta a programot, amit futtatott. A gép 6000vákuumcsőből, 12 000 diódából állt, 56 000 Watt teljesítményfelvétellel. Neumann ennek agépnek a tervezése közben alakította ki azokat az alapelveket, melyek a mai napig tartjákmagukat, és a számítógépek működésének alapelvei. A gépben megjelent a feltételesvezérlésátadás, amely az elágazások kimenetelét az eddigi eredmények alapján tudtaautomatikusan meghatározni. A tárolás bináris rendszerben történt, a műveletek is binárisértékekkel dolgoztak. A gépnek központi vezérlőegysége volt, amely az aritmetikai egységetirányította a programnak megfelelően.

Az UNIVAC I. 1951-ben az első kereskedelmi forgalomban kapható számítógép volt.

Az elsőgenerációs számítógépek jellemzői összefoglalva:

Tudományos számítások célgépei – bizonyos feladat miatt tervezték, hozták létre őket,a feladat változásával a gép létezése okafogyottá vált.

Processzorcentrikusság – a számítógépben lezajló folyamatokat végig a processzorfelügyeli aktívan, azaz minden adatforgalom a processzoron keresztül zajlik.

Bináris gépi nyelvű programok.

Soros feldolgozás.

Vákuumcsövek.

1000–10 000 művelet/másodperc sebesség.

Drága.

Gyakori meghibásodások, főleg a vákuumcsövek kiégése miatt.

Az első generáció gépeihez kötődnek Neumann elvei is:

Program és adat a memóriában – ezzel a gép a saját sebességével haladhat amunkájával – minden rendelkezésére áll, ami ehhez kell.

Page 22: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Aritmetikai egység – elemi műveleteket tud elvégezni, tetszőleges sorrendben, amivégső soron komplex műveletek végrehajtását is jelentheti.

Vezérlőegység – az aritmetikai (és logikai) egység vezérlését végzi el. Az adottutasítás alapján megmondja, hogy melyek azok az elemi lépések, amiket aszámítógépnek el kell végeznie.

Bemeneti/kimeneti egységek.

Elektronikus működés.

Bináris tárolás és működés.

A második generációt 1948-tól származtatjuk, amikor is John Bardeen, Walter Brattain,William Shockley feltalálják a tranzisztort. Ez az apró alkatrész robbanásszerű változásthozott a számítógépek felépítésében. Az eddigi megbízhatatlan vákuumcsöveket leváltottákezek a kisméretű (eleinte féltenyérnyi, majd gombostűfej méretű), olcsó, gyors, kisáramigényű és kevés hőt termelő eszközök. A megbízható működés, kis energiaigény, tartósműködés mind nagy lépést jelentettek a kisméretű, megbízható számítógépek létrehozásában.A kis méret természetesen az eddigi, szobányi gépekhez képest értendő, és szekrény–kisszekrény dimenziókat jelentett eleinte. 1957-ben indult a kor egyik legnagyobbszámítógépgyártó cége, a DEC (Digital Equipment Corporation), amely gépeket, perifériákatés szoftvert is készített. Egy igen népszerű gépcsaládjuk a PDP- (Programmed DataProcessor) sorozat volt. A sorozat első tagja, a PDP–1 1961-ben jelent meg, 200 000utasítás/másodperc műveleti sebességgel és az első grafikus kijelzővel, amely 512x512-esfelbontású volt. Erre készült el az első számítógépes játék, a Spacewar! 1964-ben készült elegy további érdekes gép, Seymour Cray (1925–1996) tervei alapján. A CDC 6600 megelőztekorát, nagyfokú párhuzamosságot valósított meg. Cray ötlete az volt, hogy a CPU-t bizonyosfeladatok alól tehermentesíteni lehetne, párhuzamosan működő célprocesszorokkal (I/O,ütemezés), illetve a műveleti egységből is többet lehetne párhuzamosan alkalmazni. Ez azötlet ebben az időszakban merőben újszerű volt a Neumann-elvekben megfogalmazott sorosfeldolgozással szemben. A gépnek ezekkel a tervezési elvekkel inkább a harmadikgenerációhoz kellett volna tartoznia. A második generáció jellemzői:

Tranzisztorok és diódák használata.

10 000-100 000 művelet/másodperc sebesség.

Lényegesen kevesebb fogyasztás az első generációhoz képest.

Memóriacentrikus működés – az adatok a memórián keresztül haladnak.

Ferritgyűrűs memória – apró, mágnesezhető korongok mátrix alakzatban, a mágnesespolaritás jelentette a 0-át és az 1-et.

Page 23: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

CPU-tól független csatornák (nem kell mindent a CPU-nak aktívan felügyelni).

Perifériák, háttértárak.

A harmadik generáció kezdetét az integrált áramkör (IC – Integrated Circuit) 1958-asfelfedezése jelentette. A módszer Robert Noyce és Jack St Clair Kirby nevéhez fűződik. Azötlet az, hogy a tranzisztorokból összeépített, ezáltal erősen méretkorlátozott áramköröketegyben, a megfelelő összeköttetésekkel, integráltan kell legyártani. Így sokkal kisebb méretű,ezáltal olcsóbb, gyorsabb, kevesebb energiát igénylő, kevésbé melegedő alkatrészeketkapunk. Az eljárás, ami ezt lehetővé tette, a fotolitográfia. Ezzel a módszerrel a félvezetőnelhelyezett maszk és megvilágítás segítségével a maszk megvilágított része eltávolítható. Ígyegy nagyon kisméretű struktúra jön létre, amelyet több következő rétegben is újra meg újralétrehozhatunk. A méretcsökkenéssel a sebesség növelése felé lépett a technológia. Aműveleti sebesség a harmadikgenerációs számítógépek esetén tipikusan 100 000–1 000 000művelet/másodperc tartományban van. A harmadik generációhoz köthető aszámítógépcsaládok fogalma is. Ennek egyik első képviselője az IBM System 360-as családvolt. Az elgondolás szerint több más hardverkiépítésű gép is képes volt ugyanazt a programot,kódot futtatni. Itt a gépek sebességkülönbsége több tízszeres is lehetett, így drága és olcsóbbkategóriás gépeken futott a program. Ezt a mikroprogramozott futtatással lehetett elérni, azazmíg a gyors gépen direktben, a hardver hajtotta végre az utasításokat, addig a lassabb gépekenezt a mikrovezérlő több elemi lépésre bontva, programozottan, az általános célúhardverelemeken futtatta le. Ezzel lehetséges volt egy fejlesztőcsapattal több más gépre isfejleszteni. Ez hatalmas nagy költségmegtakarítást, koherensebb fejlesztést és kompatibilitástjelentett. A harmadik generációra már jellemző volt a párhuzamosság, a multiprogramozás,ahol is több program párhuzamosan van a memóriában, és amikor az egyik végrehajtásaszünetel, addig a processzor hasznosan tölti az időt, egy másik végrehajtásával foglalkozik.Ebben az időben jelentek meg az első operációs rendszerek, illetve a nagy háttértárak is.

A negyedik generáció indulását a személyi számítógépek megjelenéséhez kötjük. A Xerox-nak és más cégeknek is voltak elképzeléseik egy általános célú, olcsó gépről. Az IBM 1981-ben jelentette meg személyi számítógépét IBM PC néven (15. ábra).

Page 24: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

15. ábra IBM PC, két lemezegységgel

A családok számára is elérhető árú, általános célra használható gép nagy siker lett. Aszabadon elérhető tervek alapján azonban rengeteg klón jelent meg a piacon. A koncepció újtávlatokat nyitott meg a számítógépek számára, mely azóta is a legnagyobb költségvetésűágazata a számítástechnikának. Az IBM PC az Intel 8088-as lapkája köré épült (amely 29 000tranzisztorból állt), és a Microsoft által fejlesztett DOS (Disk Operating System) operációsrendszert futtatta. A géphez számos perifériát lehetett kötni. A PC-knek újabb lendületet adtaka szintén a Xerox ötletei alapján tervezett GUI-k (Graphical User Interface), azaz grafikusfelületek. Az egérnek keresztelt beviteli eszközzel ezeken a felületeken egy intuitív, bárkiszámára könnyen elsajátítható módon lehetett a számítógéppel kommunikálni. Az egyik elsőilyen felület a Macintosh Apple 1984-ből származó gépe és felülete (16. ábra) volt. A felületkoncepciója a mai napig tartja magát.

Page 25: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

16. ábra Macintosh Apple 1984-ből

A negyedik generációhoz szorosan hozzátartozik a szuperszámítógép koncepció is, amely anagy számítógépek klasszikus vonalán jelentett fejlődést. A koncepció a harmadikgenerációban jellemző erős párhuzamosságra építve, sok processzort tömörít egy gépbe. Ezzela teljesítmény nagyon megugrik, bonyolult számítási feladatok készülhetnek el nagyon rövididő alatt. Ez új távlatokat nyitott a tudományos számítások és szimulációk előtt. Aszuperszámítógép koncepciót egyedül az árnyékolta be az 1990-es években, hogy bizonyosfeladatok esetén hasonló teljesítményt lehetett kihozni sok, hálózatba kötött olcsó PC-ből,azaz fürtből (cluster) is. Itt természetesen a hálózati kommunikáció a szűk keresztmetszet, ígya feladat jellege meghatározza azt is, hogy milyen rendszeren érdemes gyorsulást várnunk.Ott, ahol a feladatban sok a kommunikáció, nem túl jól teljesít egy fürt egyszuperszámítógéppel szemben.

17. ábra A Cray-I 1975-ből (160 MIPS)

Page 26: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Az ötödik generációra nem is annyira az architekturális fejlődés, mint inkább aszemléletváltás jellemző. A mindennapjaink részévé vált számítógépekkel szembentermészetes elvárás, hogy egyre inkább emberi módon kommunikáljanak. Ne gépi kódokat,parancsokat kelljen esetlen felületeken bevinnünk, hanem a gép értse, értelmezze abeszédünket, mozdulatainkat, reakcióinkat, valamint hasonlóképpen beszéljen hozzánk,illetve cselekedjen. Ez utóbbi jelentheti a környezetünk, épületeink, járműveink „okossá”,„smart”-tá válását is, ahol a természetes viselkedésünk és beszédünk, gesztusainkfeldolgozása révén a környezetünk aktívan reagál. Ezt szokták a „láthatatlan számítógépek”koncepciónak is nevezni, ahol nem direktben egy gép interfészével állunk kapcsolatban,hanem több gép vesz minket körül, melyekről sokszor nem is tudunk.

A generációk, számítógépek fejlődésének üteméről Moore-törvénye (Gordon E, Moore 1929–) a következőt mondja ki: „Az IC-k komplexitása, a legolcsóbb komponenst figyelembe véve,24 hónaponként megduplázódik.” Ezt át lehet fogalmazni többféle módon, akár úgy is, hogyugyanazon az áron kétévente dupla olyan sebességű gépet kapunk.

vi

18. ábra Moore törvénye az Intel CPU-kon

3. Számítógépek működése

3.1. Nyelv

A számítógépek elektronikus áramkörei egyszerű utasításokat hajtanak végre, mint pl.összeadás, összehasonlítás, másolás. Ezeknek az egyszerű műveleteknek valamilyen adott

Page 27: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

sorrendű kombinációjából komplex feladatok valósulnak meg. Az utasítások együttese, amit agép megért, a gép nyelve. Ezt ezért gépi nyelvnek vagy nulladik szintű nyelvnek is hívjuk(level 0 – L0 nyelv). Ezen a szinten egyszerű tevékenységeket fogalmazunk meg, melyekvalamilyen számként reprezentálódnak. Mivel az emberek számára nehézkes a számokat ésjelentésüket fejben tartani, szokás ezeket az utasításokat rögtön assembly mnemonicokkéntkezelni. Ezek rövid, a funkcióra utaló angol kifejezések, tömör formában (Pl. mozgatás –move vagy ugrás – jmp). Ezek persze még mindig nehézkesen kezelhetők, ezért komplexebb,ezeken az utasításokon alapuló új utasításokat is létrehozhatunk, amelyek magasabb szintűutasításrendszereket alkotnak (L1, L2 stb.). Ez a megközelítés fontos alapeleme aszámítástechnikának. A komplexitás kezelése a strukturált megközelítéssel történik.Az egyes szintek tárgyalása így történhet olyan módon, hogy nem kell mindig mindenrészletet újra és újra elmondani, leírni, tárgyalni.

Az új nyelvek kezelése alapvetően kétféleképpen valósulhat meg. Az egyik módszer az lehet,hogy az alsóbb szintű utasításaink egyes sorozatait egy magasabb szintű utasítássalreprezentáljuk. Ezt persze a végén L0-s utasítások sorozatára kell visszacserélnünk, hogy agép megértse.

19. ábra L1- és L0-szintek kapcsolata

Ez a megközelítés a fordítás, amikor a magasabb szintű nyelven írt programból afordítóprogram (compiler) létrehoz egy L0-s nyelvű, „bináris” állományt. Ez az állományezek után önmagában futtatható az adott architektúrán és operációs rendszeren, a fordítástcsak egyszer kell elvégezni, viszont ezekhez kötött lesz, eltérő operációs rendszer, ill.architektúra esetén újra kell fordítani a programot.

Page 28: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

20. ábra Fordítás menete

A másik módszer az értelmezés, ahol nem jön létre L0 szintű köztes bináris állomány, hanema magasabb szintű program utasításait röptében értelmezi az értelmező (interpreter) és hajtatjavégre a megfelelő gépi kódú utasításokat. Így maga a magasabb szintű program hordozhatólesz, ahol van hozzá értelmező, futtatni lehet.

21. ábra Értelmezés menete

Az értelmezett nyelv használata a fejlesztési fázisban kényelmesebb lehet, a hibák javítása, amódosítások azonnal az értelmezett, végső kódban történnek. A futtatás azonban mindenalkalommal sok kis fordításnak felel meg, így lassabb is. A fejlesztési fázis után ezért egyesértelmezett nyelvekből mégis készül külön bináris állomány.

Az értelmezést fel lehet fogni úgy is, hogy az adott számítógép és a hozzá tartozó értelmezőegyütt egy új virtuális gépet alkotnak, melynek a gépi nyelve az L1, eddig magasszintű nyelv.Ez a koncepció tetszőleges szintig folytatható, tehát mindig lehet újabb és újabb szintet egybezárni az eddigi géppel, ezzel új gépet kapunk.

22. ábra Virtuális gép

Page 29: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Ez a koncepció tetten érhető a modern, mikroprogramozott számítógépekben is. A processzorgépi kódját egy beépített értelmező tovább bontja kis lépések sorozataira.

A magasabb szintű nyelvek célja a komplexitás kezelése. A megoldandó feladat, célmegfogalmazásához adnak olyan eszköztárat, amihez nem feltétlenül kell ismerni a gépekalacsony szintű működését. Aki viszont ezt ismeri, az a magasszintű programokelkészítésekor jobb döntéseket hozhat, hatékonyabb megoldásokat készíthet. Egy másikelőnye a magasabb szintű nyelveknek, hogy a fizikai géptől egyre függetlenebbé válnak, akáregy nem létező, virtuális gépre lehet velük fejleszteni, ami szinte bármilyen fizikai gépenfuttatható a megfelelő futtató környezet megléte esetén.

A mai gépek felépítését is hasonló, strukturált szerkezetben érdemes vizsgálni, ahol az alsóbbszintekre épülő felsőbb szinteken már nem kell az alsóbb szintek működésére folytonvisszatérni.

A legtöbb mai gép felbontható az ábrán látható szintekre (23. ábra).

23. ábra Számítógép szintjei

Az alsó, digitális logika szintje foglalkozik a valódi hardverrel, tranzisztorokból épültkapukkal, ezeknek működésével, az áramköri elemekkel, áramkörökkel. Az erre épülőmikroarchitektúra szintje foglalkozik a processzorban található egységekkel és ezekműködésével (ALU, regiszterek). Az erre épülő utasításrendszer-architektúra szintje(Instruction Set Architecture – ISA) foglalkozik a gépi nyelvű utasításokkal, amelyeket a gépért. E felett van az operációs rendszer gépi szintje, amely a gép direkt utasításait kiegészíti új,operációs rendszerszintű funkciókkal, illetve adott esetben egyes ISA-utasításokat elrejt a

Page 30: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

felhasználók elől. Ez a szint gondoskodik a memóriaszervezésről, a több program egyidejűfuttatásáról és még pár olyan adminisztratív funkcióról, amellyel a programozók válláról lehetterhet átvállalni. Az eddigi szinteket szoktuk rendszerszinteknek is hívni, mert ezek ismeretéta rendszerszintű fejlesztőktől várhatjuk el. A következő szinttől az egyszerűalkalmazásfejlesztői szintek jönnek. Az első az assembly nyelvi szint, amely az alsóbb szinteknyelvének egy kényelmesebben használható, de még mindig alacsony szintűnek tekinthetőnyelvi szintje, illetve e felett vannak a problémaorientált nyelvi szintek, amelyek már akorábbi koncepció szerinti magasabb szintű nyelvek (Pl. C, C++, C#, JAVA stb.).

A fenti szinteken az adattípusokat, műveleteket, szolgáltatásokat a szint architektúrájánaknevezzük. Ebből jön a tárgy neve: számítógép-architektúrák.

3.2. Mikroprogramozott működés

Az 1940-es években a számítógépek kétszintűek voltak. A bonyolult digitális logika szintrecsupán az ISA-szint épült. 1951-ben Maurice Wilkes (1913–2010) javasolt egy harmadikat, abeépített értelmező (mikroprogram) szintjét. Ezzel megoldhatóvá vált, hogy bizonyoskomplex műveleteket ki lehessen váltani egyszerű műveletek programozott végrehajtásával.Ilyen módon kevesebb áramkörre, ebben az időben kevesebb vákuumcsőre volt szükség agépek megépítéséhez. 1970-re már szinte minden komolyabb gép így épült fel.

Az 1960-as években egy tipikus számítógépes futtatás lépései a következők voltak: A géphezszámítási időt kellett bérelni, az otthon, gép nélkül elkészült programunkat ekkor futtathattuk.A kezelést egy operátor végezte a programozóval együtt. Először a fordítóprogramot kellettbetölteni, pl. lyukkártyákról, hogy a magasabb szintű (jellemzően Fortran nyelvű) programbóla gép számára is futtatható kódot állítsunk elő. A fordító és a program, mint adat betöltése ésfuttatása után, létrejött a már futtatható kód. Ez persze ritkán sikerült hiba nélkül elsőre ésilyenkor a memóriatartalom lyukkártyára való kiírásával és otthoni tanulmányozásávallehetett javítani a programon. Ha lefutott a program, akkor a kimenetet lyukkártyákonmegkapva kész volt a futtatás. A fenti procedúrában a gépkezelő sebességén, rutinján ismúlott a futtatás sebessége, illetve rengeteg lépésben az emberi hibalehetőség miattmeghiúsulhatott a sikeres futtatás. Az operátor egyes lépéseinek automatizálásával(betöltések, adatok mentése, beolvasása) az emberi hibák és lassúság kikerülhetővé vált.Ezeknek a tevékenységeknek a végrehajtását újabb utasításokkal lehetett programozottanvégrehajtani, ezekkel körvonalazódni kezdett egy új réteg, az operációs rendszerimakroutasítások, mai nevén rendszerhívások rétege.

A mikroprogramozott működés fellendülésével természetesen megnőtt a mikroprogramottároló mikroprogramtár helyigénye is, ami az akkori árak mellett igencsak költséges volt. Megkellett találni tehát az optimumot, ahol a drága hardveres megoldások és a drága memóriák

Page 31: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

mellett hatékony és elfogadható árú gépeket lehetett létrehozni. Ez a fajta eltolódás aprogramozókat nem kellett, hogy érdekelje. Hogy az adott utasítást direktben egy speciálisáramkör, vagy előfeldolgozással, mikroprogramozottan másik áramkörök hajtják-e végre,lényegtelen.

3.3. Számítógépek csoportosítása méret, teljesítmény és ár szerint

A mai gépeket méret, teljesítmény és ár alapján az alábbi táblázatban (2. táblázatSzámítógépek skálája) szereplő csoportokra bonthatjuk. Mivel a számítástechnikai eszközök árafolyamatosan változik, többnyire csökken, az árak irányadóak és inkább az arányok miattérdekesek.

2. táblázat Számítógépek skálájaHiba! A könyvjelző nem létezik.

Eldobható számítógép 0,5 USD Zenélő képeslap

Mikrovezérlő 5 USD Órák, autók stb.

Játékgép 50 USD Videojátékok

PC 500 USD Asztali és hordozható gépek

Szerver 5000 USD Hálózati kiszolgáló

Munkaállomás-csoport 50 000-500 000 USD Mini-szuperszámítógép

Nagyszámítógép 5 000 000 USD Banki kötegelt adatfeldolgozás

Az eldobható számítógép elnevezés talán elsőre furcsán hangzik, mégis sok esetben erről vanszó. Ez a kategória a zenélő képeslapok, bolti lopásvédelmi rendszerek szintje, ahol azeszközök rövid élettartamra készülnek, egyszeri vagy csak párszori felhasználásra. Ezek akörömnyi kis számítógépek speciális célgépek, melyek csak az adott cél érdekébenelengedhetetlen alkatrészeket tartalmazzák. A nagy számban történő gyártás, a kis méret éskevés alkatrész miatt az ár is alacsony tud maradni. Az egyik legjobb példa az ilyeneszközökre az RFID (Radio FRequency IDentification) technológia tagjei. A legegyszerűbbilyen apró gépek egy rádió-adóvevőt, valamint egy beégetett sorszámot tartalmaznak. A

Page 32: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

passzív eszközöknek saját energiaforrásuk sincs, a leolvasási frekvenciára érzékenyantennájukkal felfogott elektromágneses hullám energiáját hasznosítva tudnak egy nagyon kishatótávolságú válaszjelet sugározni, amely a beégetett sorszámukat tartalmazza. E miatttöbbnyire leolvasó kapukon keresztülhaladva oldják meg a hatótávolság betartását. Atechnológiával nagyon jól meg lehet oldani árucikkek követését, raktári nyilvántartást, egyébstatisztikákat. A technológia iránt érdeklődők a www.rfid.org vagy www.rfid24-7.comoldalakon friss és részletes információkat találnak.

24. ábra Passzív RFID-tag

Egy következő kategória a mikrovezérlők, amelyek már komplexebb feladatokat láthatnak el.Ezek az eszközök még mindig szűk feladatkörű célgépek, melyek CPU-val, I/O-egységgel,memóriával, valamint többnyire beégetett (ROM) szoftverrel rendelkeznek. A követelményezekkel az eszközökkel kapcsolatban elsősorban a gyors reakció. Nagyon sok eszközünkbenilyen mikrovezérlők sokasága működik, sokszor úgy, hogy nem is tudunk róla. Mosógépek,telefonok, nyomtatók, zenelejátszók, kamerarendszerek, kávéautomaták és még számos,elektronikát használó készülék. Mivel nincs szükség több feladat együttes futtatására, illetvetöbbfelhasználós környezetre, a processzorok aktívan figyelhetik az inputokat és gyorsanreagálhatnak ezekre (nem kell például hosszú másodperceket, perceket várni egy mosásiprogram indítására csak azért, mert a processzor éppen valami más tevékenységet végez amosógépben).

Eggyel magasabb kategóriát képviselnek a mai modern konzolgépek, amelyek kimondottan jógrafikai képességekkel felvértezett, sokszor érdekes beviteli rendszereket kiszolgálni képesgépek. Itt a sáv a kézi kis kvarcjátékoktól a mozgásérzékelős PC-szintű gépekig terjed. Atudásuk alapján ez a kategória nagyon közel áll a személyi számítógépekhez.Ezek a gépek általános otthoni felhasználásra készültek. Ez azt jelenti, hogy a működésimechanizmusaik több, esetleg párhuzamosan futtatott feladatot, illetve különböző perifériákműködtetését képesek kezelni. Főképp a telepíthető szoftvereken múlik, hogy a gépet mirelehet használni, illetve a bővíthetőség miatt a kimeneti, bemeneti eszközök, különbözőperifériák széles választéka áll rendelkezésre. A mai PC-k már több felhasználós munkára isalkalmasak, így egy tipikus otthoni gép akár felhasználónként más szoftvereket futtathat. Akompatibilitás természetes elvárása a célfelhasználóknak, a megvásárolt szoftvereket és

Page 33: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

hardvereszközöket minél tovább szeretné használni mindenki. Ez a kompatibilitás némileg agyors fejlődés gátja, de egyben a vásárlói bizalmat biztosítja. A személyi számítógépek tudásaegy mobiltelefonba vagy hasonló méretű eszközökbe is bezsúfolható, ugyanakkor a méretcsökkenésével a perifériák csatlakoztathatósága is beszűkül. A legnagyobb bővítésilehetőséget és szoftveres kompatibilitást továbbra is a desktop gépek jelentik, bár ahordozhatóság igénye miatt ez a szegmens zsugorodik és a laptop és tablet gépek térhódításavan növekvő pályán. A kiszolgálók vagy szerverek kategóriája az erősebb és redundanciávalellátott PC-ktől indul és kimondottan ilyen alkalmazásra tervezett, szinte nagyszámítógépeskategóriáig terjed. A redundanciával a rendelkezésre állást lehet kiterjeszteni. Míg egy átlagosPC-ben minden alkatrészből csak egy példány van, addig a redundáns rendszerekben akritikus alkatrészekből kettő vagy több példány is dolgozik. Ez teszi lehetővé, hogy egy-egyalkatrész meghibásodása mellett is tovább működhet a gép, s ha esetleg lassúbb ütemben is,de végezni tudja a munkáját. Tipikusan feltöbbszörözött alkatrészek a táp, a hálózati kártya,háttértár, de a memória, ill. processzorok is működhetnek több példányban egy gépben. Aredundancia mellett a felhasználás függvényében nagyobb memóriára, háttértárra, gyorsabbhálózati kapcsolatra is szükség lehet az átlagos PC-khez viszonyítva.

A redundáns működést, illetve a szükséges erősforrások skálázását csoportba kötött gépek(clusterek) segítségével is elérhetjük. Itt az az alapötlet, hogy több egyszerű PC-t vagyszerverkategóriás gépet hálózatba kötünk és egy speciális szoftver segítségével (middleware)összehangoljuk a munkájukat. Itt a párhuzamos működés miatt sebességben, biztonságban isjól skálázható növekedést érhetünk el. Az elrendezés gyengéje a hálózati kommunikáció,olyan feladatokban tud gyorsulást hozni ez az elrendezés, ahol az egyes gépek kevesebbkommunikációt igényelnek egymással. Erre egy jó példa lehet a digitális filmek képkockáinakkiszámolása (renderelés), ahol az egyes kockák adatai függetlenek egymástól, így a számításközben az egyes gépeknek nem kell egymással sokat beszélniük. Ott, ahol ez a fajta megoldásnem működik, a processzorok sokaságát egy gépbe kell beépíteni. Ezeket a gépeketszuperszámítógépeknek hívjuk. Ha nem számítási kapacitásban, hanem megbízhatóságban, ill.I/O-ban kell nagyobb teljesítmény, a nagyszámítógépeket (mainframe) kell megemlítenünk.Ezek a gépek a teremnyi korai gépek egyenes ági leszármazottai. Tipikus felhasználásuk abanki kötegelt állományok kezelése.

Page 34: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

3.4. Számítógépek alapvető felépítése

A digitális számítógép fő komponensei

CPU-k (Central Processing Unit)

Memóriák

Bemeneti/kimeneti (I/O) egységek.

25. ábra Számítógépek alapvető felépítése

Ami ebből a felsorolásból gyakran kimarad, de fontos alkatrész, a busz-, ill. sínrendszerek.Egyrészt a fő komponensek közötti kapcsolatot biztosítják, másrészt a sebességük, működésiprotokolljuk nagyban meghatározza az architektúra fejlődési lehetőségeit is.

A processzor (CPU) feladata a központi memóriában tárolt programok futtatása a szinténközponti memóriában tárolt adatok felhasználása mellett. A programok futtatása a programokutasításainak sorrendben történő beolvasása, értelmezése és végrehajtása. A processzor főrészei a vezérlőegység (Control Unit – CU), amely az utasítás értelmezésében és az ALUennek megfelelő vezérlésében játszik szerepet, az aritmetikai-logikai egység (ALU), amely alogikai és aritmetikai műveleteket hajtja végre, illetve a regiszterek, amelyek az adatokátmeneti tárolásában játszanak szerepet. Ezek lehetnek a memóriából beolvasott bemenőadatok, művelet során kapott eredmények, ill. különböző vezérlőinformációk is. Egyesregisztereknek kiemelt szerepe van. Ilyen például a PC- (program counter) regiszter (Intelgépeknél: IP, EIP, amit lát is a programozó), amely azt tartja nyilván, hogy a memóriában

Page 35: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

melyik címen helyezkedik el a következő beolvasandó utasítás, vagy az IR (instructionregister), amely a már beolvasott utasítást tartalmazza. Léteznek általános célú regiszterek,amelyeket tetszőleges feladatra lehet használni és speciális célú regiszterek, melyek nemdirektben kötődnek a végrehajtott műveletekhez.

Az ALU-t, a regisztereket és az ezeket összekötő sínt adatútnak nevezzük. Az adatúton atipikus cselekmény a következő: a vezérlőegység kiválasztja, mely regiszterek tartalmakerüljön az ALU bemeneteire. Beállítja, hogy az ALU-ban mi történjen ezekkel, illetvemegadja, hogy az eredmény melyik regiszterben tárolódjon el. Ezek után újabb ilyen körindul, és amíg a számítógépünk be van kapcsolva, ez a körforgás történik meg újra és újra.Ennek a körforgásnak a neve: adatciklus. Az adatciklus sebessége határozza megelsődlegesen, hogy milyen gyors egy számítógép. Természetesen a regiszterek tartalmát amemóriából kell néha feltölteni, mert a futó program utasításai ott vannak, illetve az adatok is,amikkel dolgozunk. Az utasítások között megkülönböztetünk „regiszter–memória” és„regiszter–regiszter” típusú utasításokat. Az első típus a memória felől vagy felékommunikál, így lassú utasításnak minősül, hiszen a memóriákhoz való hozzáférésnagyságrendekkel lassabb, mint a regiszterekhez való hozzáférés. A fenti körforgás ígykiegészül a memóriából való töltéssel is (3. táblázat).

3. táblázat Betöltés, dekódolás, végrehajtás ciklusBetöltés (fetch) Soron következő utasítás (PC mutatja)

beolvasása a memóriából azutasításregiszterbe (IR)

PC regiszterbeállítása a következőutasításra (alapból a következő címen, deelágazás esetén, egy másik címen)

Dekódolás (decode) Beolvasott utasítás típusánakmegállapítása (mit kell tenni)

Végrehajtás (execute) Ha az utasításnak szüksége vanmemóriatartalomra (operandus), akkorennek helyét meg kell állapítani, illetvebeolvasni egy regiszterbe

Utasítás végrehajtása

A betöltő–végrehajtó–dekódoló ciklust nemcsak hardveresen lehet megvalósítani. A ciklusegyes lépéseit egy szoftver is végrehajthatja, amely értelmezi és programozottan végrehajtjaaz egyes utasításokhoz tartozó alaptevékenységeket. Ennél fogva ez a szoftver értelmezőkéntműködik. A megoldásnak számos előnye van. Az egyik legnagyobb, hogy a bonyolultutasításokhoz nem feltétlenül kell bonyolult hardveres implementációt megvalósítani, ezt az

Page 36: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

egyszerű hardveres eszközök bizonyos sorrendben való használatával ki lehet váltani. Ezzelspórolni lehet a gép árán, ugyanakkor valamennyit veszthetünk a sebességből. Attól függően,hogy milyen gyakori és költségű utasításokról van szó, lehetőség van különböző kategóriákatdefiniálva ár–teljesítmény kompromisszumokat kötni. Így drágább, de gyorsabb (nagygépek),valamint olcsóbb, de lassúbb (kisgépek) működésű számítógépeket is létrehozhatunk,amelyeken ugyanaz a szoftver futtatható. Az ötletet egyébként fordítva is értelmezhetjük. Azeddigi egyszerű utasításokból programozott műveletsorozatokhoz új utasításokatrendelhetünk, így a programozás egyszerűbb, a memóriahivatkozások pedig ritkábbaklesznek.

Ahogy az elektronika egyre olcsóbb és olcsóbb lett, arányaiban a szoftverfejlesztés költségeviszont egyre drágább. A koncepció, hogy ugyanaz a szoftver futtatható legyen különbözőgépeken, ebből is adódott. A már korábban említett számítógépcsalád-felfogás jórészt ennekköszönhető.

Az összetett utasítások értelmezetten való végrehajtásának további előnyei is voltak. Azesetleges hibás működést, hardveres tervezési hibákat korrigálni lehetett a szoftveres rétegsegítségével. Így kisebb hibák esetén nem kellett újratervezni a processzort, pusztán abeégetett programot kellett módosítani. Új utasításokat is létre lehetett hozni, amihez nemfeltétlenül kellett új hardveres egységeket beépíteni (lásd fent). Maga a fejlesztés, teszt ésdokumentálás is egyszerűsödik a módszer bevezetésével.

Az értelmezett futtatásnak kedvezett az is, hogy a vezérlőtárak (control store) egyre olcsóbbaklettek, illetve a memóriahivatkozások (fetch) csökkenésével a futtatás is gyorsult.

Az összetett utasítások egyszerű, rövid utasításait mikroutasításoknak hívjuk.

3.5. RISC és CISC felépítés

A processzorok felépítését tekintve két nagy csoportot különböztetünk meg. A csökkentettutasításkészletű számítógépeket (Reduced Instruction Set Computer, RISC) és a nagyutasításkészletű számítógépeket (Complex Instruction Set Computer, CISC). A komplexutasításokkal ellátott gépek (CISC) jellemzője, hogy majdnem minden tevékenységre vanutasítása (jellemzően 200–300). Ez a programozást tekintve kényelmes, a fentiek tekintetébena memóriahivatkozásokat is redukálni lehet, ugyanakkor széles címmezőkre, nagymikroprogram-tárakra, változó utasításhosszakra, ebből adódóan komplex értelmezőkre, ígytöbbtranzisztoros kivitelezésre volt szükség. A CISC rendszerek egy további jellemzője, hogyáltalában kevesebb regiszterrel dolgoznak, melyek közül eleve konkrét funkciók vannak azegyes regiszterekhez rendelve. Ez a fajta megközelítés a mikroprogramozott felépítésből nőtteki magát, de hamar elérte a határait. A CISC gépek jellemzően nem használták ki a

Page 37: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

párhuzamos feldolgozás előnyeit, mivel a változó hosszúságú utasítások nehézkesenkezelhetőek ebben a tekintetben. A RISC gépek ezzel szemben tipikusan csővezetékezettekvoltak (futószalag, pipeline), ahol az utasítások feldolgozásának lépései párhuzamosantörténtek meg. Ez akkora teljesítménynövekedést jelentett, hogy a hasonló paraméterekkelrendelkező CISC architektúrájú gépekhez képest két-háromszoros sebességet értek el. Egypélda erre az Intel 386DX CISC gépe és a MIPS R2000 processzor. A MIPS gép egy régebbitechnológiával, fele annyi tranzisztorból épült és felszínre is kisebb volt, mint a 386-osprocesszor. A két CPU órajele 16 MHz volt, az Intel gép 64 Kbyte, a MIPS 32 Kbyte külsőcache-sel rendelkezett. A MIPS gép Specmark89 (lebegőpontos és integer vegyes teszt) értéketöbb mint négyszer volt jobb az Intel gépnél (386: 2.2; MIPS: 10.1), Dhrystone MIPs (integerteszt) értékben pedig több mint kétszer volt gyorsabb (386: 5.7; MIPS: 13.9)vii.

A RISC technológia alapelve, hogy kevés (jellemzően 50 körüli), egyforma hosszúságú,huzalozottan (hardveresen) végrehajtott utasítással dolgozik. A RISC gépek jobbára többregiszterrel dolgoznak (több száz akár), ezek viszont általános célúak, tetszőlegesen lehethasználni őket. A RISC gépek programozása bonyolultabb, mint a CISC gépeké, hiszenminden komplex műveletet a programozónak kell implementálnia, nincsenek komplexutasítások. E miatt a programok hosszabbak is, ami több memóriahivatkozást is jelent egyben.Ezt némileg a megnövekedett regiszterszám kompenzálja.

A mai modern gépek a RISC alapelveit és a CISC ötleteit együttesen használják. A gyakoriutasításokat érdemes RISC alapokon megvalósítani a sebesség miatt, a nem túl gyakoriutasításokhoz viszont nem feltétlenül éri meg a hardveres egység implementálása. A cél azutasításkiadás ütemének maximalizálása, a nagyfokú párhuzamosítás, illetve a lassúutasítások előbbre hozása. Ehhez az is szükséges, hogy az utasításokat gyorsan lehessendekódolni, illetve lehetőleg egyforma hosszúságú utasításokkal kell dolgozni azelőreolvasások miatt. További RISC-elv, hogy a memóriát csak kevés, dedikált utasításhivatkozhatja: a LOAD (töltés) és STORE (kiírás) utasítások. Minden más utasításregiszterekkel dolgozik, azaz az előreolvasásoknál egyszerűen meghatározhatóak amemóriahivatkozásokból adódó várakozások.

A teljesítményt nemcsak a párhuzamosítással lehet növelni, mégis ez az az irány, amivel amai ismereteink szerint gazdaságosan lehet a sebességnövekedést elérni. Az Intel P4-esprocesszorainak korában még az órajelfrekvenciák emelése jelentette a sebességnövekedést.A 3,6 GHz-es gépek korában, amikor már a 4,2 GHz-es sorozat is be volt tervezve (2005),azonban kiderült, hogy a frekvenciaemelés miatt olyan mértékben nő a hődisszipáció, hogy ahűtésre fordított energia már több, mint ami magának a CPU-nak a működtetéséhezszükséges. Ez gazdaságtalan üzemeltetést jelentett, ami miatt a processzorcsaládpiacképtelenné vált. A rajongóknak és extrém játékosoknak még kiadták a P4 ExtremeEdition változatot, amely a Xeon CPU-kba szánt Gallatin-magon alapult, de az Intelbeszüntette az összes P4-es sorozatot.

Page 38: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Az új irány a párhuzamosítás lett, ami a magokon belüli módszerekkel (utasításszintű), illetvea magok/processzorok számának az emelésével (processzorszintű) valósulhatott meg (Core-architektúra).

3.6. Utasításszintű párhuzamosság

Az utasításszintű párhuzamosság az utasítások végrehajtási lépéseinek a végrehajtó egységekpárhuzamosan való működtetését jelenti. Ennek az egyik módszere a csővezetékek(futószalagok, pipeline) használata. Egy nem csővezetékezett számítógépben a korábbanemlített betöltés–dekódolás–végrehajtás lépések ismétlődnek oly módon, hogy az aktuálisutasításhoz tartozó tevékenységek közül mindig csak egy történik meg. Így a CPU-nak csakbizonyos részegységei dolgoznak egyszerre, míg a többi egység inaktív. A csővezetékezettműködés lényege, hogy a processzor egyes egységeit folyamatosan ellátjuk munkával, ezekegymással párhuzamosan működnek. Ezt úgy érhetjük el, hogy a funkcionálisan elkülönülőegységeket valóban lehatároljuk egymástól, ezáltal külön-külön működtethetőek lesznek.Amikor az egyik egység (fázis) elvégezte a részfeladatát, az eredményeket egy következőfázisnak adja át. Amíg ez a következő fázis dolgozik, addig az előző fázisban újabb utasításfeldolgozása kezdődhet meg. Ezzel az egyes fázisokhoz tartozó egységek párhuzamosanműködhetnek, különböző utasításokkal dolgozva. A következő ábrán egy ötfázisúcsővezetékezett működés vázlatát láthatjuk (26. ábra).

26. ábra 5-fázisú csővezeték

Az egyes fázisok fix (példánkban egy) órajel-késleltetéssel újraindulnak az előző fázistólérkező adatokkal, azaz az utasítás végigjárja az egyes fázisokat. Miután az első utasításbeolvasása megtörtént és a dekódolása zajlik, addig a második utasítást már épp beolvassuk.Amikor ezt dekódoljuk, a harmadik beolvasása történik meg, és az első utasítás operandusátolvassuk be épp (ha volt neki, ez opcionális lépés). Ezzel a fázisszám utáni lépésben márminden fázis párhuzamosan dolgozik. Ennek az időbeli lezajlását szemlélteti a következő ábra(27. ábra).

Page 39: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

27. ábra Utasítások útja a fázisokban

Az utasítás végrehajtásának a késleltetése a fázisokban eltöltött idő, szorozva a fázisokszámával. Az első teljes késleltetés után már órajelenként megtörténik minden következőutasítás végrehajtása. Ha az egyes fázisok futási ideje különböző, további megoldásokatvethetünk be. Megtehetjük, hogy a beolvasási fázisban több utasítást olvassunk egyszerre ésezeket több párhuzamos pipeline-on futtassuk. Egy ilyen, két csővezetékes, ötfázisúmegoldást láthatunk a következő ábrán (28. ábra).

28. ábra Kétpipeline-os megoldás

Ez a megoldás újabb problémát vet fel. A valóban párhuzamosan végrehajtott utasításokesetében meg kell vizsgálni, hogy az utasítások függetlenek-e, használnak-e közös erőforrást,illetve az utasítás eredményét használja-e a másik utasítás? Csak akkor futhatnak ezek azutasítások párhuzamosan, ha a fenti kérdésekre nem a válasz. Ezt egy újabb hardveresegységnek kell vizsgálnia, méghozzá menet közben, valós időben. Egy másik lehetőség lenne,hogy ezt már a fordítóprogram ellenőrizze, és megfelelő kódot állítson elő (ez a megoldás azIntel Itanium sorozatában meg is jelenik). Az ellenőrzés bonyolult szabályok alapján történikmeg, amely újabb adminisztratív időt jelent, ráadásul, ha nem futtatható a két utasításpárhuzamosan, nem tudjuk kihasználni a két pipeline előnyét. Négy párhuzamos pipeline-ig

Page 40: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

még elképzelhető a működés, de e felett már több időt vesztünk ezeken az ellenőrzéseken,mint amit a párhuzamosítással nyerhetünk.

Egy másik tipikusan lassabban futó fázis az utasítás-végrehajtási fázis. Itt a szűkkeresztmetszet az ALU sebessége. Itt érdemes több végrehajtó egységet (ALU, LOAD,STORE művelet-végrehajtó, ill. lebegőpontos egység) párhuzamosan használni, hogycsökkenteni tudjuk ennek a fázisnak az idejét. Természetesen a szükségespárhuzamosíthatósági kérdéseket itt is vizsgálni kell. Azokat a gépeket, amelyek képesek többvégrehajtó-egységet párhuzamosan működtetni, szuperskaláris architektúráknak nevezzük.Egy ilyen elrendezésre példa a következő ábra (29. ábra).

29. ábra Szuperskaláris architektúra

Az alap ALU mellé még egy második ALU is bekerült, valamint egy LOAD, STORE egység,amely a memóriakommunikációt tudja végezni az ALU-k logikai/aritmetikai műveleteivelpárhuzamosan, illetve egy lebegőpontos egység, amely a lebegőpontos műveleteket végzi elgyorsan az ALU-k mellett. Egy ilyen felépítés mellett a komplex utasítások egyes lépéseit avégrehajtó szinten párhuzamosítani lehet.

A szuperskalár megoldást kombinálni lehet a több csővezetékkel. Ekkor 5–10-szeresgyorsulásig lehet eljutni, innentől már nem éri meg bonyolítani az architektúrát.

Page 41: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Ha ennél is nagyobb teljesítménynövekedést szeretnénk, azt a processzor szintjén kellmegoldanunk, azaz több processzort kell együttesen használnunk (amelyek adott esetben afenti utasításszintű párhuzamosítási technikákat is használhatják).

3.7. Processzorszintű párhuzamosság

A nagy számításikapacitás-igény jellemzően a tudományos számítások felgyorsítása miattlépett fel a számítástechnikában. A matematikai számításokra jellemző, hogy mátrixelrendezésű adatokon kell műveleteket elvégezni. A tömbszámítógépek pont ilyen esetbenadtak segítséget. A tömbszámítógépek tömbprocesszorait (30. ábra) a mátrix elrendezésűadatokhoz rendelve az egyes adatokon párhuzamosan dolgozhattak a processzorok. Maga aművelet közös volt, egyetlen vezérlő adta ki, mi a teendő. Egy hagyományos architektúránegy ciklusban adatonként, sorosan lehet feldolgozni az ilyen jellegű adatokat. Atömbszámítógépek a CPU-számtól függően akár egyetlen lépésben végezhettek az egészadatmennyiséggel. Az ilyen architektúrát gyakran SIMD (Single Instruction stream MultipleData stream) gépeknek is nevezik.

30. ábra Tömbszámítógép processzorai

A vektorprocesszorok ugyanezen elgondolás alapján, vektoradatokon tudtak akár egyetlenlépésben műveleteket végezni. Az adatokat vektorregiszterekben tárolták, a processzorezekkel dolgozott.

A multiprocesszorok és tömbprocesszorok közötti fő különbség, hogy a multiprocesszorosrendszerekben az egyes processzoroknak saját vezérlőegységük van, azaz teljes jogúprocesszorokból épülnek fel. Ez lehetőséget ad arra, hogy a processzortömb egyes

Page 42: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

részcsoportjainak más és más feladatokat adjunk meg és dinamikusan újracsoportosíthassukőket. A processzorok mind együtt láthatják a központi memóriát, de egyes megvalósításokbane mellett lokális memóriájuk is van, ezzel is csökkentve a sínkommunikációt és gyorsítva aműködést.

Közös memóriát látó processzorokból véges mennyiséget lehet/érdemes egybeépíteni,bizonyos processzorszám felett már nehezen kezelhető problémák lépnek fel. Amikor ittelérjük a határokat és további felskálázásra van szükség, az eddigi egybe épített (szorosancsatolt) rendszerek helyett lazán csatolt rendszereket építhetünk. Ez egyszerűen azt jelenti,hogy multiszámítógépes rendszert építhetünk, azaz több számítógépet kötünk össze hálózatba.Itt már nincs közös memória, amit együtt érnek el, mindenki a saját memóriájában dolgozik,és ha adatot kell cserélni, ezt üzenetküldéses protokollal teheti meg a hálózaton keresztül. Amunka összehangolását egy speciális szoftverréteg végzi, amely alkalmassá tehető akár arrais, hogy új gépeket lehessen csatlakoztatni, esetleg menet közben kivenni a hálózatból. Ezennek a rendszernek az egyik előnye is egyben. A hálózati kommunikáció viszont sokkallassabb, mint a gépen belüli csatornák, így nem minden feladatot lehet hatékonyan futtatniilyen architektúrán.

3.8. Memóriák

A modern digitális számítógépek adatait és programjait már nem külső eszközökről kellbetölteni, ezek beépített háttértárakon helyezkednek el, a futtatás közben pedig memóriákbatöltődve éri el őket a CPU. A memóriák és háttértárak ár-, kapacitás-, sebességarányait egypiramisba helyezhetjük, amit a következő ábrán (31. ábra) láthatunk.

31. ábra Memóriákviii

A tárolt programú digitális gépek egyik fő alapalkatrésze az operatív tár, rövidebbenmemória. Feladata a program és adat tárolása. A memória alapegysége a bit (binary unit), ami

Page 43: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

a bináris rendszer 0, ill. 1 értékét veheti fel. A logikai 1 és 0 értéket többféle módon lehetreprezentálni, a számítógépek fejlődésével az elektronikus működés miatt manapságtöltésekkel és feszültségszintekkel történik a rögzítés. A sima bináris tárolás mellett sok gépismeri és támogatja a BCD (Binary Coded Decimal) formátumot, amely a decimális–bináriskonverziót könnyíti meg azzal, hogy négybites csoportokban tárolja a decimális érték egyeshelyi értékeit.

Az operatív tárat felfoghatjuk egy hosszú szalagnak, amin egyforma távolságú vonalakkalterületeket osztunk be, mint egy mérőszalagon. Az egyes területeknek, rekeszeknek sorszámavan, ez a cím (address). Ez egyértelműen azonosítja a rekesz pozícióját a szalagon. A címbitszélessége azt adja meg, hogy hány különálló rekeszt tudunk megkülönböztetni egymástól.A rekeszek mérete, azaz, hogy hány bit fér el benne, ettől teljesen független lehet. Míg acímek esetében érdemes kettő hatványaiban gondolkodni (hiszen a címbuszok a binárisrendszerben mindenképpen kettő hatványának különböző értékeit tudják szállítani), addig arekeszméretek tetszőleges méretűek lehetnek. Ennek a kettőnek a szorzata pedig kiadja, hánybitnyi adatot tudunk tárolni az adott kiépítésben.

Például, 10 db 8 bites rekesz esetén 210 különböző rekeszünk lehet, összesen 210*8 bittel, míg10 db 128 bites rekesz esetén is 210 különböző rekeszünk lehet, összesen 210*128 bittel.

Ha a memóriaméretet rögzítjük, akkor megfogalmazhatjuk, hogy hasonló kapacitású memóriamellett a rekeszméret csökkenése nagyobb címtartományt követel, azaz szélesebbcímmezőkkel kell dolgoznunk. A mai fejlesztési irányok a nagy adatmennyiségek kezelésétcélozzák, jellemzően nagy adatmozgatásokkal a memóriából vagy a memória felé.

A rekesz a legkisebb címezhető egység. Az IBM PC-k megjelenésekor az ezeken a gépekenalkalmazott 8 bites méret (8 bit = 1 byte), a gépek ugrásszerű terjedése révén a memóriákalapegysége. Ez nem volt mindig így, pár ellenpéldát a lenti táblázatban láthatunk, amibőlkiderül, hogy nemcsak kettő hatványának, hanem még csak párosnak sem kell lennie arekeszméretnek (de a címnek igen!) (4. táblázat).

Page 44: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

4. táblázat Különböző gépek rekeszméreteiHiba! A könyvjelző nem létezik.

A memóriák feladata a bitek tárolása. A korai időszakban a technológiai hibák gyakoriakvoltak, a memóriák egyes rekeszeiben külső behatásokra egy-egy bit átfordulhatott. Manapságis előfordulhat ilyen probléma, de ennek mára jóval kisebb esélye van. A meghibásodásokokozta probléma nagysága az adott memóriaterület szerepétől függött. Ha utasítás sérült, azhibás működést eredményezett, ami végzetes lehetett a futtatás szempontjából. Adatterületsérülése esetén, ha adatbázis, számszerű adat sérült, logikai hiba is történhetett, ami szinténbaj. Ha képi vagy hanganyag adata sérült, akkor kis szerencsével a problémát észre semvettük (például a képen egy pixel feketéről sötétzöldre változott). A hiba esetén több esetlehetséges. Ha nem tudjuk ellenőrizni mi történt, akkor csak a jó szerencsénkben bízhatunk.Ha detektálni akarjuk a hibát, akkor valamilyen kódolási rendszerben kell a rögzítéstelvégeznünk. Ez a legtöbb esetben redundanciával jár, azaz a tiszta adatbiteken túl extra, adetektáláshoz szükséges biteket is hozzá kell tenni az adatblokkokhoz. Az egyik módszer aparitás bitek alkalmazása. Az elgondolás abból indul ki, hogy az adatblokkban szereplő 1-eseket páros vagy páratlan darabszámúra egészítjük ki egy bittel. Páros esetben párosparitásról, páratlan esetben páratlan paritásról beszélünk. Onnantól, hogy döntöttünk,mondjuk a páros paritás mellett, végig ez alapján kell működnünk. A páros paritásra egypéldát a következőkben láthatunk.

Ha a hasznos adatsorozatunk pl.:

0101100, akkor páros paritás esetén, mivel három darab 1-esem van, egy 1-essel kellkiegészítenem: 01011001.

Ha a hasznos adatsorozatunk pl.:

Page 45: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

0101000, akkor egy 0-val kell kiegészítenem: 01010000.

Amikor egy adatblokkot olvasok, ismerve a páros paritás-szabályt, páros 1-est kell látnom abitek között. Ha egy 0 1-be, vagy egy 1-es 0-ba fordul, az azonnal elrontja a blokk paritását ésészrevehetem a hibát. Ez persze két hiba esetén megdől, ezért a hibavalószínűségeket mindigmérlegelni kell és ezek alapján beállítani a blokkok méretét, illetve a hozzájuk tartozóparitásbitek számát. Ha két hibára ritkán van esély, elég egy hiba jelzésére felkészülni. Ha ahibát detektáltuk, akkor az adott blokkot újra be kell olvasnunk a háttértárról vagy valamilyeneszközről. Ha ez nem lehetséges, akkor csak annyival vagyunk előrébb, hogy tudjuk, hibás azadott adatblokk. A javításhoz a hiba pozícióját is ismernünk kell, ehhez pedig vélhetőleg majdtöbb paritásbitre lesz szükség, mint a detektáláshoz.

A többszörös hibák detektálásához bevezetjük a Hamming-távolság fogalmát (RichardHamming 1915–1998). Egy kódolási technika lehet az, hogy egyes bitsorozatokat valamilyenrendszer szerinti másik (hosszabb) bitsorozatokkal reprezentálunk. Ha hiba történik, akkornem megengedett bitsorozatot kapunk, amiből kiderül, hiba történt. A Hamming-távolság kétbitsorozat közötti, pozíciónkénti biteltérések száma. Például az 1001 és 1010 bitsorozatokHamming-távolsága 2. Kódolási technikáknál arra törekedünk, hogy a lehetséges kódok(bitsorozatok) Hamming-távolsága maximális legyen, illetve egy kódpár esetében se essen nérték alá. Ha ez megvalósul, akkor n-1 hibának a detektálása megvalósítható, mert ennyi hibaesetén nem fordul át egy lehetséges kódszó egy másik lehetséges kódszóba. Másképpmegfogalmazva: d egyszeres bithiba detektálásához d+1 Hamming-távolságú kódolást kellhasználni (a kódolás Hamming-távolsága a két legkisebb Hamming-távolságú kódszóHamming-távolsága).

Ha javítani is akarunk, akkor már rosszabb a helyzet. d egyszeres bithiba javításához 2d+1Hamming-távolságú kódszó-rendszer kell.

Hamming összefüggést adott arra, hogy mennyi kiegészítő bitet kell használni adottmennyiségű hasznos adatbit mellé, ha egyszeres bithibát akarunk javítani.

Tegyük fel, hogy m hasznos adatbitünk van, amihez r ellenőrző bitet akarunk adni. Ekkor:

n = m + r

Ha m hasznos bitünk van, akkor ebből 2m érvényes hasznos bitsorozatot lehet létrehozni.Minden érvényes bitsorozathoz tartozni fog egy n bites kiterjesztett sorozat. Ezek n helyenlehetnek hibásak (egyszeres hiba!), illetve lehetnek hibátlanok. Így minden érvényesbitsorozathoz (n+1) darab egyszeres hibájú, ill. hibátlan sorozat tartozik, összesen:

(n+1)*2m darab.

Az összes n bites lehetséges kód, amiben nemcsak egyszeres, hanem kétszeres, többszöröshibák is vannak:

Page 46: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

2n

Ezekből belátható, hogy:

(n+1)*2m<=2n ; ahol n = m + r,

behelyettesítve:

(m+r+1) <= 2r

A hasznos adatmennyiség, m adott, így r-re is meg tudunk adni olyan minimális értéket,amelyre még teljesül ez az összefüggés.

Egy-két példa a következő táblázatban található (5. táblázat).

5. táblázat Javításhoz szükséges bitek számának alakulása

Hasznos bitek száma (m) Ellenőrző bitek (r) Teljes hosszSzázalékos „overhead” -felár

8 4 12 50

16 5 21 31

32 6 38 19

64 7 71 11

128 8 136 6

256 9 265 4

512 10 522 2

Látható, hogy a nagyobb adatblokkokban való kommunikációban egyre kisebb feláratfizetünk a javításhoz szükséges extra biteken. A nagyobb adatblokkokban való tárolás, ill.kommunikáció esetén viszont nagyobb a valószínűsége annak is, hogy egynél több bithibatörténik. Ez a fajta kódolás akkor effektív, ha a hibák előfordulási valószínűsége kicsi (mintpl. a memóriák esetén).

A fentiek alapján felmerülhet, hogy az imént kapott alsó korlátot milyen módszerrel tudjukérvényesíteni a kódolási technikánkban. Erre is Hamming adott választ. Az alapötlet azátlapoló paritások használata, ahol a paritások egymást is figyelik, nemcsak az adatokat. EztVenn-diagramok segítségével szemléletesen megvizsgálhatjuk.

Page 47: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Legyen a hasznos adatunk a következő 4 bit: 1100. Ehhez a fentiek alapján 3 bitnyi extrainformációt kell adnunk az egyszeres javításhoz. Az 1100 sorozatot írjuk be a Venn-diagramok átlapoló területeire (32. ábra (a)).

32. ábra Egyszeres bithiba javításaHiba! A könyvjelző nem létezik.

Az ábra (a) részében rögzített sorrendet végig megtartva, a (b) rész szerint, páros paritástalkalmazva, írjuk be az adott halmazba eső hasznos bitek paritásbitjét a halmaz nem átlapolórészébe. Így az A-ba (2 db 1-es) 0 kerül, a B-be (2 db 1-es) 0, míg a C-be (1 db 1-es) 1-eskerül. Így minden halmazban páros 1-es van. Ha valahol hiba történik (c), a paritásokújraszámításával meghatározhatjuk, melyik halmaz érintett, és melyik nem. Jelenleg az Ahalmaz igen, a B nem, illetve a C igen. Tehát a hiba itt van: A és B, de nem C, azaz A és Bmetszete, ahol C-vel nincs metszet. Ez egyetlen pozíció, ahol valóban a hiba történt. A binárishiba javítása egyszerű, a 0-t 1-be, az 1-et 0-ba kell visszaállítani.

A fenti elgondolás alapján tetszőleges bitsorozatban képezhetünk szisztematikusan átlapolóterületeket, így a fenti módszert tetszőleges bitsorozatra alkalmazhatjuk.

Az eljárás a következő:

1. A bitsorozatunk bitjeit jobbról balra vagy balról jobbra sorszámozzuk, 1-től.

2. A paritásbiteket a 2 hatványok helyeire szúrjuk be (1,2,4,8 stb. pozíció).

3. A maradék helyeken az adatbitek jönnek sorban.

4. A paritásbitek a saját pozíciójuktól kezdve rendre minden első, minden első kettő, elsőnégy stb. bitet ellenőriznek felváltva, azaz pl. kettőt igen, kettőt nem, kettőt igen,kettőt nem stb.

Ez alapján pl.

1-es paritásbit ellenőrzött pozíciói: 1,3,5,7,9,11 stb.

Page 48: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

2-es paritásbit ellenőrzött pozíciói: 2,3,6,7,10,11 stb.

A lépéseket az alábbi ábrán is nyomon követhetjük (33. ábra).

33. ábra Paritásbitek meghatározása (jobbról balra)

Általánosan megfogalmazva: b. bitet azok a b1,b2 stb. paritásbitek ellenőriznek, melyekreigaz, hogy b1,b2 stb. pozícióinak összege b.

A szemléltetés kedvéért az egyes paritáspozíciókat a sorokban is megjeleníti a következőábra, ahol az ellenőrzött területeket zöld szín jelöli (34. ábra).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 151248

34. ábra Ellenőrzött területek

Jól látható, hogy a zöld kombinációk mindig egyedi mintát adnak, azaz egymással valómetszeteik pontosan egyszer fordulnak elő. Ez alapján a Venn-diagramoknál látottak szerintpontosan meghatározható, hogy az adott hiba melyik csoportba tartozik és melyikbe nem.Ebből a pozíció egyértelműen meghatározható.

A memóriák fejlődése az adatok növekedésével, illetve a többprocesszusos futtatáskialakulásával a nagyobb kapacitás irányába indult el. Ez gyakran a sebesség kárára történt,így a CPU-k és memóriák közötti sebességkülönbség inkább nőtt, mint csökkent. Ez problémaabban az értelemben, hogy a CPU-k a memóriában tárolt programok és adatokfelhasználásával működnek, így a lassú memóriahivatkozások nem engedik a processzort asaját, nagy sebességén működni. A várakozások nyilván nem gazdaságosak, így másmegoldást kellett találni. Ha gyors, CPU mellé integrált memóriát szeretnénk, fizikai ésgazdasági korlátokba ütközünk: megfizethetetlenül drága és korlátozott memóriakapacitásúmegoldást kapunk. A processzorok és memóriák közötti sebességkülönbséget átmeneti,cache-tárolókkal hidalhatjuk át. A cache-memória kisebb kapacitású, de gyorsabb az operatív

Page 49: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

tárnál, ugyanakkor nagyobb és lassabb a regisztereknél. A cache-memóriában az operatív táregy része tárolódik, és amíg ezekre az adatokra hivatkozunk, addig nem a memóriából, haneminnen lehet írni-olvasni őket. A koncepció a lokalitáselv miatt működik. Ez azt jelenti, hogy ahivatkozott utasítás vagy adat adott környezetében elhelyezkedő adatokra és utasításokra lesznagy valószínűséggel szükség a következő hivatkozásoknál. E miatt az operatív tárbólblokkosan (gyorsabb) olvashatunk be egy-egy darabot, amit utána egy darabig a cache-bőlhasználhatunk. Ha a memóriából véletlen címekről olvasnánk mindig, nem lehetne egybenbeolvasni blokkosan egy darabot a cache-be. A ritka blokkos olvasások mellett a gyakoriműveletek a cache-be történnek. A következő ábrán a nyilak vastagsága a sebességet (vastag– lassú, vékony – gyors) jelenti (35. ábra).

35. ábra Cache- és memóriahozzáférések

Ha a cache-hivatkozáskor megtaláljuk, amit keresünk, akkor a hozzáférés c idő alattmegvalósul. Ha nincs a cache-ben, amit kerestünk, előbb egy m ideig tartómemóriahivatkozást kell végeznünk. Ha h a találati arány, akkor 1–h a hibaarány. Az átlagoselérési idő c+(1–h)m. Ha h 1-hez tart, az elérési idő c-hez tart, ha h nullához tart, az átlagoselérési idő c+m lesz, ami rosszabb, mintha nem lenne cache a gépben.

A Neumann-elvű számítógépben a program és az adat együtt van a memóriában. Ezvalamelyest az adatok és programok egyensúlyát is biztosítja, illetve egyszerű megvalósítás.A mai párhuzamosítási törekvések miatt az utasításokat célszerű külön tárban tárolni, ígymára a Harvard-architektúra szerint osztott tárakat is használunk. Osztott gyorsítótárak(cache) esetén az utasításcache-ből a csővezetékeket könnyebben lehet feltölteni, illetve azoperandusok beolvasását párhuzamosan megtehetjük az adatcache-ből.

A regiszterek a számítógépek leggyorsabb tárolói, a CPU-ba integrálva az ALU sebességévelkell lépést tartaniuk. Bitszélességük általában megegyezik az ALU bitszélességével. Azutasítások végrehajtásakor az adatokat az ALU a regiszterekből kapja és ide is teszi azeredményeket. A regiszterek a műveletek során létrejövő extra információkat is tárolhatják(összehasonlítások eredménye, végeredmény adatai – nulla vagy mínusz érték stb.).

Míg a regisztereket és a cache-memóriákat a CPU-ba, illetve az alaplapi elektronikábaintegrálják, az operatív tár jellemzően bővíthető. Az operatív tár RAM (Random AccessMemory), azaz véletlen elérésű memória. Ez azt jelenti, hogy adott címről direktbenkérhetünk adatot, nem kell az előtte lévő adatokon végigmennünk az olvasáshoz (mint pl. egy

Page 50: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

szalagos tároló esetében). Mérete az adott gép felhasználási céljaitól is függ, illetve az adatoknövekedésével folyamatosan emelkedik a kategóriákon belül is. Míg a 2000-es évek körül párszáz Megabyte-os méretek voltak a jellemzőek a PC-szintű gépekben, addig manapság (2015)ez már inkább pár tíz Gigabyte. Egy szuperszámítógépes környezetben nem ritka, hogy többTerabyte operatív tár van. A bővíthetőséget eleinte lapkánként lehetett megtenni (DIP – DualInline Package), de ez a növekvő méretigények mellett hamar nehézkessé vált, hiszen azalaplapra direktben akár több tíz ilyen chipet kellett felhelyezni. Ezeket a lapkákat manapságmodulokra szervezik és ezeket a modulokat lehet az alaplapokra helyezni.

36. ábra Memórialapkák (DIP)

A modulok első verziója a SIPP (Single Inline Package) volt (37. ábra36. ábraHiba! A hivatkozásiforrás nem található.), egy sorban elhelyezett tüskékkel. Erről hamar kiderült, hogy nem praktikus,az egy sorban elhelyezett tüskelábak hamar eltörhettek. Korai 80286-os gépeken pl. használták ezt amegoldást.

37. ábra SIPP chipek

Page 51: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

A sérülékeny SIPP-eket váltották a SIMM-ek (Single Inline Memory Module), melyeknek acsatlakozása a modul felületén kialakított érintkezősor volt. Ez kevésbé sérülékeny megoldásés a mai memóriamodulokon is ezt az érintkezést alkalmazzák. A memóriaigénynövekedésével a modulok méretét is növelni kellett, így egyre több és nagyobb kapacitású chipjelent meg rajtuk. Ez természetesen a kivezetések számának növekedésével is járt.

38. ábra 30 érintkezős és 72 érintkezős SIMM-ekix

Az érintkezők számának növekedésével egy idő után a modulok méretét is növelni kellettvolna, ami nem túl praktikus, így inkább a modul két oldalán végigfutó érintkezősorokatválasztották külön. A DIMM-eken (Dual Inline Memory Module) a két oldal érintkezőikülönböző kivezetések.

39. ábra 168 (SDRAM) és 184 (DDR RAM) érintkezős DIMM-ekx

A hordozható, kompakt gépek miatt egy kisebb szabvány is létezik, az ún. SO-DIMM (SmallOutline DIMM). Ezeket a modulokat jellemzően noteszgépekben, routerekben,nyomtatókban, mini-PC-alaplapokon alkalmazzák.

Page 52: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

40. ábra SO_DIMM

A memóriák esetében belső felépítés alapján két fajtát különböztetünk meg:

1. statikus és

2. dinamikus

memória.

A statikus memória (Static RAM, SRAM) jellemzője, hogy amíg van tápellátása, addigmegjegyzi a benne tárolt adatot. Az SRAM-ok gyors működésűek, jellemzően néhány nselérési idővel. Az SRAM-ok bitcellákból épülnek fel. Egy bit tárolása jellemzően egy flip-flopot, pl. SR-tárolót használhatunk. Erre egy példát NOR-kapukból felépítve a következőábrán látunk (41. ábra).

41. ábra SR-tároló NOR-kapukbólHiba! A könyvjelző nem létezik.

Az S (set) bemenetet 1-re állítva Q értéke 1 lesz, az R (reset) értéket 1-re állítva Q értéke 0lesz, S=R=0 állapotban az eredeti Q érték olvasható (memória!), míg az S=R=1 állapot egynem determinisztikus helyzetet idézne elő, ezért tiltott.

Az SRAM-ok cellái több, tipikusan hat tranzisztorból épülnek fel. Emiatt az SRAM-ok kissűrűségűek, nagy kapacitásokhoz drágák, fogyasztásuk a sebesség emelkedésével gyorsan nő.Tervezésük, ill. implementálásuk viszont egyszerű. A fentiek miatt jellemzően kicsi, de gyorstárolókat építenek belőle, pl. cache-memóriákat.

A DRAM (Dynamic RAM, dinamikus RAM) egy bitcella-tömb, minden cellája egytranzisztorból és egy kapacitásból áll. Ez lényegesen nagyobb sűrűséget enged meg, ígyáltalában nagyobb memóriákat, pl. operatív tárat szoktak építeni belőle. A kapacitásrajellemző, hogy töltései szivárognak, ezért ezeket bizonyos időközönként vissza kell pótolni, a

Page 53: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

memóriát frissíteni kell. Ez a frissítés 200–500 alkalom másodpercenként. Sebessége néhányns körüli, azaz lassabb, mint az SRAM-ok. Ennek ellenére a nagy adatsűrűség olyan előny,ami miatt érdemes operatív memóriának használni.

Az operatív tárak mátrix szervezésű tömb felépítése esetén sor-, illetve oszlopcímeket várnaka címzéskor, amelyre a címen szereplő cella értékét válaszolják. Az FPM (Fast Page Mode)DRAM-ok is ilyen módon működtek, maximális 176 MBps sebességgel. Az EDO (ExtendedData Output) DRAM-ok már 264 MBps sebességre voltak képesek, azzal a lehetőséggel,hogy a második memóriahivatkozást az első kimenetének megvárása nélkül befogadták.

Az SDRAM (Synchronous DRAM, szinkron DRAM) szinkron órajellel dolgozik, ami lehetővéteszi a CPU és RAM szinkronizálását, így a késleltetés (latency) ideje alatt a CPU egyébtevékenységet folytathat. A 2000-es években már minden PC ilyen memóriákkal jelent meg.

A Direct Rambus DRAM (DRDRAM v. RDRAM) háromszor gyorsabb órajellel (400 MHz)működött, mint az akkori SDRAM-ok (100-133 MHz). A memóriamodulokra különmemóriavezérlő került, ami miatt drágább volt, a késleltetési ideje is nagyobb volt (45 ns ajellemző 7,5 ns helyett), hőtermelése is jelentősebb volt és csak párban lehetett a modulokathasználni (illetve „vak” CRIMM modulokat – Continuity Rambus Inline Memory Module –kellett az éles memóriamodulok mellé helyezni). Az RDRAM-ok a megjelenésükkormindezek ellenére jobban teljesítettek, mint az SDRAM-ok. Az Intellel való szerződésnekköszönhetően a P4 architektúrát az RDRAM-okhoz tervezték. Később azonban a sebességelőnye szinte eltűnt a párhuzamosan fejlődő DDR SDRAM-okhoz képest, árban viszonttovábbra is jelentős különbség mutatkozott. Manapság a játékkonzolok piacán él, illetve a PC-piacot is újra megcélozta a Rambus cég.

A DDR (Double Data Rate) SDRAM-ok kétszeres adatátvitelt valósítanak meg az SDRAM-okhoz képest oly módon, hogy az órajel felmenő és lemenő élén is történik adatátvitel. Asebességnövekedés mellett az üzemi feszültséget is sikerült csökkenteni, 3,3 V-ról 2,5 V-ra.

A DDR2 verzió magasabb órajelek mellett további feszültségcsökkenést hozott (1,8 V), aDDR3 pedig már csak 1,5 V-os feszültségen üzemel, több csatorna használatával. A 2011-benmegjelent DDR4 memóriák 1,2 V-os feszültséggel dolgoznak, 2014-es adat szerint pedig 17GBps-es adatátvitelt képesek megvalósítani a korábbi DDR3 6,4GBps átviteléhez képest.

Az eddigi memóriák írható, olvasható memóriák voltak. Egy másik kategória a ROM-ok(Read Only Memory), melyek a nevükből is sejthetően, csak olvashatóak. Itt az elsődlegesszempont az volt, hogy a gépek kikapcsolása után, a tápfeszültség megszűntével se tűnjön el atárolt adat. Jellemzően a gépek alapprogramjait tárolják, amelyek a bekapcsoláskor az elsőlépéseket végzik el az operációs rendszerek betöltése előtt. A ROM-ok programjait gyártáskorépítik be, ami a tervezés és legyártás között hosszú várakozási időket jelenthet. Ezért is merültfel az igény a helyben írható ROM-okra, amelyek PROM (Programable ROM) névenismertek. Ezeket egyszer lehet írni oly módon, hogy a tartalmat egy biztosíték mátrix egyescelláinak a kiégetésével programozhatjuk be. Az EPROM-ok (Erasable PROM) erős UV-

Page 54: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

sugárzással törölhetőek is, míg az EEPROM-ok (Electrically EPROM) elektromosimpulzusokkal helyezhetők alapállapotba. Ilyen módon már csak a nevükben ROM-ok.Jellemzőjük, hogy továbbra is megtartják a tárolt adatokat kikapcsolás után is, de sokkallassabbak és kisebb kapacitásúak, mint az S- és DRAM-ok. A Flash memóriák speciálisEEPROM-ok, melyeket blokkokban lehet törölni és újraírni, szemben az EEPROM-ok teljestörlés–újraírás megközelítésével. Elérési ideje 50 ns körüli, olcsó és nagyon elterjedt. Egycella megközelítőleg 100 000 írás/olvasási ciklust bír ki.

3.9. Mágneses háttértárak

A felejtő memóriák mellett szükség van nem felejtő tárolóeszközökre is. Több ilyen eszközlétezik a piacon, de a manapság általánosan elterjedt háttértár a mágneses elven működőmerevlemezes háttértár.

Az egyik első merevlemezes tárolórendszer az IBM RAMAC 305-ös eszköze volt 1956-ból.Ez az 5 Mbyte kapacitású tár 50 darab 24” (~61 cm) átmérőjű lemezből állt. Az adatsűrűség2000 bit/inch2 volt (összehasonlításképp 2006-os adat merevlemezes mágneses tárolókra: 421Gbit/inch2), az olvasási sebessége pedig 8800 bps. A tároló a lenti képen (42. ábra) a hölgymögötti RAMAC feliratú szekrény, amelyben jól látható a korongokból álló torony.

42. ábra RAMAC 305-ös tárolóxi

A merevlemezekre használatos „Winchester” név az IBM 1973-as IBM 3340-estárolórendszeréhez kötődik. A rendszer 1,7 MB/inch2 adatsűrűség mellett 2x30 MB-oslemezegységet tartalmazott. Emiatt 30-30-asnak is nevezték, ami a híres ismétlőpuskalőszerének a neve is volt.

Page 55: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

43. ábra IBM 3340xii

1980-ban a Seagate cég ST506-os tárolója volt az első, ami egy mai szabvány szerintiméretben, 5,25”-os szélességben valósított meg 5MB-nyi tárkapacitást. A GByte-os méretet aHitachi 2 fejes, 10 darab 14”-os (~36 cm-es) lemezzel működő tárolója lépte át, 1,2 GByte-oskapacitással.

44. ábra Seagate ST506xiii 45. ábra Hitachi 1,2 GByte-os tárolójaxiv

Az első asztali gépekbe szánt megoldások „Hardcard” néven ismertek, 1985-től. A QuantumCorporation fejlesztésének célja az volt, hogy a PC-kbe különösebb szakértelem nélküllehessen a háttértárakat behelyezni. A Hardcard egy ilyen kártya volt, ami avezérlőelektronikát és a mechanikát is tartalmazta és a PC szabványcsatolójához lehetettilleszteni.

Page 56: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

46. ábra Hardcard megoldású háttértárxv

Az 1986-os IDE (Integrated Device Electronics) szabvány az egyre kisebb helyet igénylővezérlő elektronikát a merevlemez-mechanika hátlapjára helyezte, és ezzel ki is alakult amanapság is ismert formája a merevlemezeknek. A rendszerbusszal az ATA (AT Attachment)felületen keresztül kapcsolódott a merevlemez.

47. ábra Mechanika és elektronikaxvi48. ábra A merevlemez mai formájaxvii

Az IDE vezérlőkből jellemzően kettő az alaplapra volt integrálva, vezérlőnként pedig kéteszközt tudtak kezelni mester és szolga viszonyban. A vezérlők számát a szabványcsatolónbővíteni lehetett. Az IDE méretkorlátja a címszélességből adódó 528 MB volt.

Az E-IDE (Enhanced IDE, vagy Fast ATA vagy ATA-2) vezérlőkhöz már nemcsakmerevlemezes tárolókat, hanem más eszközöket is csatolni lehetett (pl. CD). Az 528 MB-oskorlátot kitolták 8,4 GB-ra.

Egy másik elterjedt szabvány az 1986-os SCSI (Small Computer System Interface), amelykülső és belső eszközökhöz egyaránt használható volt. Egy buszon 7 eszköz tudottkommunikálni, az eszközök száma nem befolyásolta lényegesen a sebességet. A rendszer

Page 57: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

komolyabbnak számított az EIDE megoldáshoz képest, de ára miatt nem volt jellemző azotthoni felhasználása. Az átviteli sebessége az SCSI-1-nek 5 Mbps volt, ami a későbbiverziókkal folyamatosan nőtt.

Az UDMA (Ultra DMA) megoldásokból több verzió jelent meg 1998 óta, a SATA (SerialATA) megoldásokig ez volt a PC-k standard háttértárcsatoló szabványa. A leggyorsabb verzió133 MB-os átvitelt tudott megvalósítani másodpercenként.

2002-ben megtört a 137 GB-os címhatár (28 bit cím 228*512 (blokkméret) 137GB),amikoris az ATA-szabvány szerinti 28 bites címszélességet 48 bitesre módosították.

2003-ban mutatták be a SATA-szabványt. Az elektronika méretcsökkenésével és egyreolcsóbbá válásával már megérte minden eszközhöz saját vezérlőt alkalmazni, amiszükségtelenné tette a bonyolult ütemezéses protokollokat. A soros átvitelre pedig azért tértekát, mert a működési frekvenciák növekedésével a párhuzamosan futó kábelek áthallásiproblémái ugrásszerűen megnőnek, illetve a frekvenciák emelésével a párhuzamosan futójelek szinkronizálása (egyszerre érjenek be) egyre nehezebb. Soros átvitel esetén ezek nemjelentenek problémát. Másképp fogalmazva: jobban megéri sokkal gyorsabb soros átviteltmegvalósítani, mint lassú párhuzamos átvitelt. A SATA-1 szabvány 150 MBps-es átviteleihezképest a SATA-2 szabvány 300 MBps-es átviteleket tud megvalósítani. A SATA eszközök„hot swap” eszközök, azaz menet közben lehet őket csatlakoztatni, ill. leválasztani, valaminttámogatják az NCQ-t (Native Command Queueing), ami az olvasási sorrend újrarendezésétteszi lehetővé a sebesség növelésének érdekében.

A fenti indokok miatt az SCSI-szabványból is megjelent a soros verzió (Serial Attached SCSI– SAS).

A merevlemezek, a nevükből sejthetően, merev, mágnesezhető bevonattal ellátott korongokontárolják az adatokat. A lemezek mindkét oldala használható és általában több lemezt egymásalatt helyeznek el. A lemezek oldalai sávokra (track) vannak bontva, a sávok pedigszektorokra (sector) oszlanak. Ezeket a szektorokat vagy szektorcsoportokat (cluster)olvassuk, illetve írjuk. Az egymás alatti sávok hengeres formákat, cilindereket (cylinder)alkotnak. Az egyértelmű azonosításhoz a sávot (cilindert), fejet (melyik lemez melyik oldala)és a szektort kell megadni (CHS címzés).

Page 58: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

49. ábra A merevlemez lemezeinek felépítése

Mivel a külső sávokra több szektort is lehet osztani, mint a belsőkre, a sávok címzése márvirtuálisan egy sorszámmal történik, amely egyetlen, spirálisan feltekert sáv felosztásait jelöli.Az író-olvasó fejek nanométerekre vannak a lemezektől, így a szerkezetnek teljesenpormentesnek kell lennie. Az író-olvasó fej a mágnesezhető apró részek (domainek)pólusainak irányát állítja be, ezzel lehetőséget adva a logikai 0 és 1 reprezentálására. Alemezek szabvány fordulatokon (rpm – revolution per minute) forognak – 5400, 7200, 10 000,15 000 [rpm]. Minél magasabb az érték, annál gyorsabb a merevlemez, de annál nagyobb amechanikai igénybevétel.

2005-ben egy új adatrögzítési megoldás jelent meg a piacon, aminek a segítségéveldrasztikusan megemelhetővé vált az adatsűrűség. Az eddigi 100–200 Gbit/inch2 értékek 1000Gbit/inch2-re emelkedtek. Ez a megoldás a függőleges adatrögzítés (Perpendicular MagneticRecording – PMR). A módszer lényege az, hogy az aszimmetrikusan kialakított író-olvasó fejés egy extra alsó mágneses erővonalakat vezető réteg segítségével az íráshoz használtelektromágneses tér irányát vízszintesről függőlegesre lehet állítani. Így a mágnesezettegységnyi kis felületek (domainek) nem hosszanti, hanem függőleges irányban alakíthatóakki. Ezzel adott felületen több ilyen domaint lehet kvitelezni, azaz nagyobb adatsűrűség érhetőel.

Page 59: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

50. ábra Hagyományos és függőleges adatrögzítésxviii

Amikor már látszólag nincs további megoldás az adatsűrűség növelésére, illetve amerevlemez mozgó alkatrészeinek gyorsítására, még mindig van lehetőség a sebességnövelésére. Egy ilyen lehetőség a TCQ (Tagged Command Queuing), ami lehetővé teszi azI/O parancsok sorrendjének megváltoztatását. Ez azt jelenti, hogy az adott lemezpozícióhozigazodva optimális olvasási sorrendet lehet felállítani, ami nem feltétlenül a kérések logikaisorrendjében van. Természetesen a válaszokat vissza kell rendezni és a logikai sorrend alapjánkiadni. Erre egy példát az alábbi ábrán (51. ábra) láthatunk.

Page 60: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

51. ábra A, B, C szektorok beolvasásaxix

A lemezről beolvasni kívánt A, B, C adatokat ebben a sorrendben szeretnénk megkapni. Ha alemez aktuális pozíciójában ezt fizikailag is így olvassuk be, akkor A adatról pont „lekéstünk,így egy teljes fordulatot kell várnunk, majd ezek után B-re háromnegyed, míg C-re újabb félfordulatot kell várnunk. Ez összesen kettő és negyed fordulat. Ha azonban az adatokat a fejalá érkezésük sorrendjében olvassuk be, akkor C-re negyed, majd B-re fél, végül A-ra újabbnegyed fordulatot kell várnunk. Ez összesen csak egy fordulat, kevesebb, mint fele az eredetisorrendi beolvasásnak. Ez persze némi extra elektronikát és logikát igényel, de asebességnövekedés számottevő, megéri az extra kiadást.

Amikor már egy merevlemezzel nem lehet további sebességnövekedést elérni, akkor jöhetszámításba a RAID (Redundant Array of Inexpensive Disks). Az alapokat Norman Ken OuchiIBM-mérnök fektette le 1980-ban, de a részleteket a Berkleyn dolgozták ki hét évvel később.

A RAID célja:

1. Hibatűrés,

2. Sebességnövekedés,

3. Egybefüggő logikai diszk létrehozása.

Az első szint a RAID-0 (52. ábra), ami a csíkozás (striping) néven ismert. Az eljárásban többfizikai merevlemezt felhasználva egy logikai lemezt hozhatunk létre. Ennek kettős hasznavan. Az egyik, hogy a logikai lemezünk kapacitásmaximuma nem függ a fizikai lemezekkapacitásától, a másik pedig az, hogy az írási és olvasási műveletek párhuzamosíthatók. Asebességnövekedés szinte lineárisan alakul a felhasznált lemezek számával. Ha két lemezünkvan, közel kétszeres, három lemeznél közel háromszoros. Az összes vásárolt kapacitást

Page 61: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

használni tudjuk. Az elrendezés azonban nem redundáns, nincs semmilyen hibavédelme, sőt alemezek darabszámának növekedésével a hibavalószínűség is nő. A sebesség- éskapacitásnövekedés a biztonság rovására történik meg.

52. ábra RAID-0 – csíkozás (striping) xx két lemezzel

A RAID-1 egy teljesen más szempont alapján működik. A tükrözés (mirroring) segítségévelaz elsődleges fizikai lemez tartalma további fizikai lemezeken is rögzül. A logikai lemez ígypárhuzamosan működtetett, identikus tartalmú fizikai lemezekből áll. Az írási sebesség nemjavul és kezelhetjük úgy, hogy az olvasási sebesség sem (bár itt felmerülhet a párhuzamosolvasás ötlete – ez viszont tipikusan blokkos olvasásoknál nem javítana annyit). A biztonságviszont többszörös, a felhasznált lemezek számától függően. A biztonság viszont nagyondrága, a vásárolt kapacitásnak csak a felét tudjuk felhasználni, vagy annyit sem.

Page 62: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

53. ábra RAID-1 tükrözés (mirroring)xx

A kettő szintet kombinálva is szokták alkalmazni, így a sebességet és a biztonságot is növelnilehet. A RAID 1+0 (0+1) éppen ezt teszi, ahol a tükrözést és csíkozást együttesen használjuk.A felhasznált kapacitás aránya a vásárolt kapacitásokhoz viszonyítva viszont még mindigrossz, ezért további szinteket is érdemes vizsgálni.

54. ábra RAID 1+0 4 fizikai lemezzelxx

Page 63: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

A RAID további szintjei ezt az arányt javítják a biztonság és sebesség növelése mellett. ARAID-2 és RAID-3 bitszintű, ill. byte-szintű megoldást ad, ezeket nem használják elterjedten.A RAID-4 blokkszintű megoldást ad. A megoldások lényege az, hogy a csíkozás elveitkövetve több lemezre terítik az adatokat párhuzamosan. Egy fizikai lemezt azonban arrahasználnak, hogy paritásinformációkat tároljanak az egyes lemezeken tárolt adatokhoz. Ezzelbiztosítható, hogy bármelyik adatblokk kiesése (lemez tönkremegy pl.) esetén a maradékadatblokkok és a paritásblokk segítségével visszaállítható az elveszett adat. Egy 4 lemezesfelállás esetén 3 adat- és 1 paritáslemezünk van. A tükrözéshez képest jobb az arányunk ésbármelyik lemez kiesése esetén még visszaállíthatóak az adatok. Az adatlemez–paritáslemezarányt érdemes úgy beállítani, hogy a várható (statisztikusan meghatározott) hiba-előfordulásokat megfontoljuk. A lemezek számának növekedésével az egyesítetthibavalószínűség nő és ez az elrendezés csak egy lemez kiesése ellen ad védelmet. A RAID-5annyiban tér el a 4-estől, hogy a paritáslemezre jutó extra terhelést enyhíti, és aparitásadatokat szétteríti a különböző lemezeken. A RAID-6 pedig több paritásblokkotszámol, amivel elérhető, hogy kettő lemez kiesése sem jelent gondot. Ezzel növelhető abiztonság és még mindig jó használható kapacitás–vásárolt kapacitás arányt lehet elérni.

A RAID-kiépítések esetén sem szabad elfelejteni, hogy a RAID nem véd a logikai hibákellen, így a backupok rendszeres készítése RAID-használat mellett is kötelező biztonságilépés.

3.10. Optikai tárolók

A merevlemezes háttértárak mellett elterjedt hordozható megoldások az optikai tárolók. A CDötlete a Philipstől származik, 1978-ból, ekkor még LaserVision volt a neve. Filmek tárolásáratalálták ki, de nem volt átütő sikere. 1982-ben a Sony is társult a technológiához ésaudioállományok tárolását vetette fel. A bakelitlemezek leváltása volt a cél, amely meg isvalósult. A szabványt a Red Book rögzíti, mely a fizikai paramétereket is meghatározza akésőbbi eszközkompatibilitás miatt. A 120 (80 a mini) mm-es átmérő, az 1,2 mm vastagság ésa középső 15 mm-es lyuk a mostani optikai lemezeken is megtartott méretezések. Az adatokspirál alakban helyezkednek el, a CD kitekert adatcsíkja 5,6 km hosszú. Az olvasás az egyessávokon különböző sebességgel történik, ezt az optikai lemezek használatakor hallani is lehet.A belső sávon 530 rpm, míg a külső sávon 200 rpm-es fordulattal forog a lemez. Az adatokata préselt lemezeken üregek és kiugrások átmenetei reprezentálják, logikai 0 és 1 formában.

Az 1984-es Yellow Book definiálja a számítógépes adatok CD-n való tárolását. A Mode-1tárolás extra biztonsági hibajavító kódot is definiál, a 2352 byte-os szektorokból 16 bytebevezető, 2048 byte adat- és 288 byte hibajavító kód. A Mode-2 tárolás 16 byte bevezető és2336 byte adatot tartalmaz. A CD egyszeres sebessége 150 KB/sec. A valahányszoros CD-meghajtók ennek a többszöröseit képesek maximális sebességgel olvasni.

Page 64: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

Az 1986-os Green Book vagy CD-Interactive egy interaktív tartalmat megjeleníteni képesverzió volt. A mai DVD-menükhöz hasonló szerkezetet, illetve a távirányítóval mint bevitelieszközzel megvalósítható kurzormozgatással színezőket, játékokat, érdekes alternatívmenüválasztásokat valósítottak meg. A tv-hez csatlakoztatható drága lejátszók nem terjedtekel igazán.

1988-ból származik az Orange Book definíció, azaz az írható CD (CD-R) formátum. Azadatot itt nem préselt bemélyedések és kiugrások váltakozása, hanem egy tükrös felület felettispeciális festékréteg ottléte és hiánya kódolja. A nagyintenzitású lézerrel ezt a réteget lehetelbomlasztani, így a kisintenzitású megvilágítás két minőségben tükröződik. Ezt érzékelvemár lehet logikai 0-t és 1-et megkülönböztetni. A CD-RW, azaz újraírható szabvány 1997-bőlszármazik. A tükrös és festékréteg helyett a tükrös réteg egy speciális kétállású ötvözetből áll.A kristályos vagy amorf állapotok között a lézer különböző intenzitású sugárzásávalváltogathatunk, ezzel lehet tükrössé vagy homályossá tenni az adott felületet. Ezt jólmegkülönböztethetően tudjuk érzékelni, ismét megteremtve a lehetőségét a logikai 0-k és 1-ek reprezentálásának. A CD-k hordozóanyaga egy polikarbonát-réteg, ami kisebbkarcolásokra érzéketlen, az optikai lemezen belüli fókuszálhatóságának köszönhetően (55.ábra). E miatt lehet majd a későbbi többrétegű médiát használni.

55. ábra Írható CD rétegei és működéseHiba! A könyvjelző nem létezik.

A DVD (Digital Versatile Disc) működése hasonló a CD működéséhez. A fő változás ahasznált lézer hullámhossza miatt van. A CD lézere 780 nm-es hullámhosszúságú és 0,8mikronos üregeket tud pontszerűen lefedni, míg a DVD lézere 650 nm-es (továbbra isvörösnek látjuk) 0,4 mikronost. Így persze a sávok is közelebb lehetnek, azaz aszabványfelületre több adatot lehet rögzíteni. A kapacitás ennek megfelelően 4,7 GB-tól indul

Page 65: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

és a kétrétegű lemezek esetén 8,5 GB. Léteznek kétoldalas (9,4 GB) és kétoldalas, kétrétegű(17 GB) lemezek is. Az egyszeres sebesség 1,4 MBps.

Egy következő ugrás a Blu-Ray és HD DVD harcból győztesen kikerülő Blu-Ray Disc lett.2006-tól él a formátum, a felhasznált lézer hullámhossza 405 nm (kéknek látjuk, ebből isadódik a név). Az adatsűrűség ismét nőtt, 25 GB-tól indul a tárolható adatmennyiség és afolyamatosan bővülő lemeztípusok tervei között a több száz GB-os kapacitás is felmerül.

56. ábra CD, DVD, Blu-Ray lemezek felülete nagyításbanxxi

Page 66: Dr. Várady Géza: Számítógép-architektúrák I

TÁMOP-4.1.1.F-14/1/KONV-2015-0009„A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉSMODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSITUDOMÁNYEGYETEMEN „

i http://discoveringegypt.com/egyptian-hieroglyphic-writing/egyptian-mathematics-numbers-hieroglyphs/

ii Számítástechnika története dióhéjban, http://szttort.blog.hu/

iii G.W.J. Beckers privát gyűjteményéből (http://www.macs.hw.ac.uk/~greg/calculators/napier/about.html)

iv https://spillerlaszlo.wordpress.com/2010/05/15/a-szamitastechnika-rovid-tortenete-ii/keszulek/

v http://ferencesgimnazium.hu/regihonlap/informatika/tananyagok/tortenet/Leibniz.html

vi https://commons.wikimedia.org/wiki/File:Moore_Law_diagram_(2004).jpg

vii RISC vs. CISC Still Matters, February 13, 2000 by Paul DeMone, Real World Technologies(http://www.realworldtech.com/risc-vs-cisc/3/)

viii How Computer Memory Works – Jeff Tyson - www.mindpride.net

ix Topory, WikiMedia Commons, https://commons.wikimedia.org/wiki/File:RAM_n.jpg

x Grendelkhan, English Wikipedia, https://commons.wikimedia.org/wiki/File:DIMMs.jpg

xi CDS Tech, Technology Timeline, https://cdstech.wikispaces.com/Technology+Timeline

xii Evolution of the media. Part 2., Uma M, Tech Kabar, http://www.techkabar.com/blog/evolution-media-part-2-hard-drives-ssds-blu-ray/

xiii HandsonComputing, http://www.handson.ca/reference/hdd.html

xiv History of Hard Disks, Lanka PC Guide,http://lankapcguide.com/index.php/component/content/article?id=45:history-of-hard-disks

xv Plus Hardcard 20, http://www.computermuseum.li/Testpage/CompaqPortable.htm

xvi How Stuff Works – Computer Hardware Pictures, http://s.hswstatic.com/gif/hard-disk2.jpg

xvii How IDE Controllers Work, Jeffy Tyson, 2008, http://computer.howstuffworks.com/ide.htm

xviii HARDcore Mayhem, Keep your data safe and sound, Bogdan Solca, Softpedia, 2006,http://news.softpedia.com/news/HARDcore-Mayhem-42501.shtml

xix TCQ, RAID, SCSI, and SATA, eugene, 2004, StorageReview.com,http://www.storagereview.com/tcq_raid_scsi_and_sata

xx An Introduction to RAID, Panther Products, http://www.pantherproducts.co.uk/Articles/Storage/RAID.shtml

xxi BD vs. DVD, www.blu-raydisc.com, http://www.blu-raydisc.com/en/aboutblu-ray/whatisblu-raydisc/bdvs.dvd.aspx