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

A Wikipédiából, a szabad enciklopédiából

A számítógép-architektúra az informatika egy alapfogalma, ennek ellenére nincs általánosan elfogadott értelmezése. A számítástechnikában a számítógép-architektúra a számítógép tágabb értelemben vett felépítésére vonatkozik.

Magát a számítógép-architektúra kifejezést az IBM-nél vezették be, a System/360 család főkonstruktőrei (Amdahl és mások) használták először egy 1964-ben megjelent cikkükben.[1]

A meghatározás szerint ez alatt „a számítógép azon felépítése értendő, amelyet egy alacsony szintű nyelven programokat fejlesztő szakembernek kell ismernie ahhoz, hogy korrekt programokat tudjon írni a gépre” (az időkritikus programoktól eltekintve). Ez az értelmezés magában foglalja a regiszterek és a memória leírását, valamint a gép utasításkészletét, utasításszerkezetét, címzési módjait, az utasítások aktuális kódolásának megadását, de nem tartalmazza a konkrét hardveres struktúrát (az implementációt) és az áramkörökben és összekapcsolásokban használt technológiát (megvalósítást). A fogalom leírása az idővel tovább finomodott, mikor Bell és Newell 1970-ben bevezette a négyszintű értelmezést: áramköri szint, logikai tervezés szintje, a programozás szintje és a processzor-memória sínek szintje. Később a fogalmat kiterjesztették a funkcionális és a hardver specifikációra is.[2]

A köztudatban egy számítógép két alapvetően elkülöníthető részre bontható: a gép fizikai részére, az úgynevezett hardverre (a.m. vasáru), illetve az ezen a hardveren futó különféle programokra, az úgynevezett szoftverre.

A számítógép-architektúrák a fenti két részt további szintekre bontják; a ma elfogadott strukturált közelítésmód szerint egy korszerű számítógép egymásra épülő rétegekből áll össze. A rétegek száma legalább kettő, de általában a 6 rétegű strukturális vagy 6 rétegű architektúrák szerint választják szét a különböző működési vagy absztrakciós szinteket.

Többszintű gép

A szintek bevezetésével együtt be kellett vezetni egy új fogalmat is: a virtuális gépet. A virtuális géphez (nevezzük Mx-nek) saját gépi nyelv (legyen ez Lx) tartozik, amelyet értelmezni és végrehajtani képes. A virtuális gép-modellel tetszés szerinti bonyolultságú, többszintű modellt – lásd később – lehet felépíteni, mindössze arra kell csak figyelni, hogy az egymásra épülő szintek – a különböző virtuális gépek – „kimenete” olyan legyen, hogy azt képes legyen az alsóbb szint értelmezni és végrehajtani. Könnyen belátható, hogy e modell legalján van az M0 virtuális gép, az L0 nyelvével, ami valójában a valódi gép. E szint fölött helyezkedik el az M1 virtuális gép, amelyet L1 nyelven programozhatunk, amelyet vagy az M1 virtuális gép fordít le L0 nyelvre, vagy az M0 virtuális gépen futó értelmező (interpreter) hajt végre. A következő szinten lévő M2 virtuális gép L2 nyelven programozható, amely programot vagy az M1 (ritkábban az M0) gépen futó értelmező hajt végre, vagy lefordítják L1 (ritkábban L0) nyelvre. Ezen meggondolások alapján a szintek száma tetszés szerint növelhető.

A modell biztosítja, hogy az n. szintű virtuális gépre írt programnak nem kell törődnie az alsóbb szinten futó fordítókkal (translator) és értelmezőkkel, számára ugyanis érdektelen, hogy a virtuális gép programját hány és milyen fordító vagy értelmező hajtja végre. Egy dologban biztos lehet a program írója: a program végrehajtása meg fog történni.

Gyakorlati okokból – költséghatékonyság és végrehajtási idő – a szintek számát nem célszerű nagyon megnövelni, ugyanakkor nagyon lecsökkenteni sem. Mai technológiák mellett elvileg nincsen akadálya annak, hogy egy C vagy Java gépi nyelvű gépet építsen valaki, bár az eléggé bonyolult és drága lenne. Viszont gyakorlatilag bármelyik gépen lehet akár C-, akár Java-programot futtatni, így költséghatékonyság szempontjából mégis ez előbbi megoldás terjedt el.

Tartalomjegyzék

A többszintű számítógépmodell[szerkesztés]

A legalacsonyabb szint a többszintű modellben a

  • 0. szint, a digitális logika szintje. E szinten a különféle logikai kapuáramkörök, regiszterek, illetve a belőlük felépített logikai hálózatok helyezkednek el.
  • 1. szint, a mikroarchitektúra szintje. Itt találhatók a lokális memóriaként használt regiszterblokkok, a műveletvégző egység (ALU – Arithmetic Logical Unit), valamint az adatok áramlását biztosító adatutak vagy buszok. Ezen a szinten jelennek meg az adatút vezérlését végző mikroprogramok – ha vannak ilyenek, ugyanis léteznek olyan architektúrák, amelyekben ezt a vezérlést logikai áramkörökkel, s nem programozottan végzik.
  • 2. szint, az az utasításrendszer architektúraszintje. Ezt a szintet az angol Istruction Set Architecture alapján ISA-szintnek is nevezik. Ez valójában a gép utasításrendszerének a megvalósítása, kicsit pongyola fogalmazással a gép azon utasításkészletéé, amelyet a mikroprogram és/vagy a hardver értelmezni képes.
  • 3. szint, az operációs rendszer szintje.
  • 4. szint, az assemblerszint.
  • 5. szint, a problémaorientált nyelvek szintje.

Tágabb értelemben a számítógép tervezési elveinek és a gép alapvető működési módjának, struktúrájának, a számítógép „rendszerének” a meghatározása. A fenti jellemzők tervezési szinten dőlnek el, ezért a következőkben tervezési szempontok szerint vizsgáljuk a kérdést. A gép tervei, a megvalósítandó igények funkcionális leírása (különösen a sebesség és összekapcsolhatóság), a megvalósítás módja, mind csak egy-egy részét határozzák meg a számítógépnek – a fő kérdés általában a CPU teljesítménye és memóriacímzés- és hozzáférés módja.

Az „architektúra” gyakran a CPU belső struktúrájára vonatkozik (azaz az elektronikus kapcsolókkal megvalósított, logikai kapuk) által végrehajtott logikai műveletek, és ide tartozhatnak a beépített interfészek (úm. a hardver-szintű opkódok), erőforrások (úm. CPU, memória, és esetleg az alaplap, perifériák) és a hozzájuk használható szoftverek.

Több speciális területet foglal magába az architektúra, ezek közül néhány:

  • A számítógép tervezésénél a CPU architektúra, az utasításkészlet, a címzési módok és a különféle technológiák, mint például a SIMD és a MIMD párhuzamosságok.
  • Gyakran a skálázható kialakításra vonatkozik, mint a fürtözés (clustering) vagy a Non-Uniform Memory Access (NUMA) szerinti felépítés.
  • Az architektúra gyakran meghatározza a programozó számára, hogy az adott számítógép milyen jellemzőkkel bír, ami alapján eldöntheti, milyen programozási eszközöket használjon az adott számítógépre írt programok készítésénél. Például az architektúra része az utasításkészlet, a legnagyobb ábrázolható szám, speciális műveletek stb.
  • A létező technológiák használatával felépíteni a lehető legjobb számítógépet (a legjobb kifejezés gyakran sok, egymásnak ellentmondó szempontot takar, részletesebben lásd: Tervezési célok alatt). A korszerű tervezési megfontolások gyakran az úgynevezett mikroarchitektúrakra vonatkoznak.

Általános architekturális tervezési célok és megfontolások[szerkesztés]

A következőkben az architektúrák fejlesztésének leggyakoribb céljait vesszük sorra, a költségeket, a teljesítményt (sebességet), és nem foglalkozunk egyéb meggondolásokkal, mint például méretek, tömeg, megvalósíthatóság, bővíthetőség, energiafogyasztás stb.

Költségek[szerkesztés]

A költségek általában állandó, a meghatározott rendszer- vagy kereskedelmi igényektől függő, a sebesség és tárolókapacitás által meghatározott elemeket tartalmaznak, amelyeknek összességükben a kijelölt célköltségek közelében kell lenniük.

Teljesítmény[szerkesztés]

A számítógép-forgalmazók hajlamosak a számítógép teljesítményét a központi órajel sebességével mérni (ezt általában MHz-ben vagy GHz-ben adják meg), ami valójában a CPU ciklusidejére jellemző. A megadott érték és mértékegység bizonyos mértékben félrevezető, ugyanis a magasabb órajelsebesség nem feltétlenül jelent nagyobb teljesítményt is egyben. A mai modern CPU-k képesek egy órajel ideje alatt több utasítást is végrehajtani, amivel jelentősen felgyorsul a program végrehajtási sebessége. Más, teljesítménnyel összefüggő tényezők még a buszsebességek, a felhasználható memória mérete, gyorsítótár használata stb.

De léteznek más típusú sebességek is. A megszakításkésleltetés a rendszer egy garantált maximális válaszideje egy elektronikus eseményre (jelzésre) – például a diszkegység befejezte az adatok átvitelét. Ez a jellemző döntő tervezési megfontolásokat igényel, többek között járulékos gyorsítótár használatával javítható a késleltetés. A viszonylag lassúbb reakció elfogadható egy adatfeldolgozó rendszernél, de a speciális, úgynevezett valós idejű (real-time) környezetben működő rendszerek esetében elvárás, hogy a számítógép a beavatkozást egy adott időn belül biztosan befejezze. Például gondoljunk egy atomerőmű vagy egy villamos teljesítményt elosztó rendszer vezérlő számítógépére, vagy a gépkocsikban lévő blokkolásgátló berendezésekre, ahol a reakcióidő esetleg igen rövid is lehet. A megfelelően gyors válaszidő megvalósítása nagyon drága is lehet.

A benchmarkok szolgálnak annak megállapítására, mérésére, hogy az adott rendszer bizonyos, előre összeállított tesztjellegű utasítássorozatot milyen teljesítménnyel hajt végre. Annak ellenére, hogy a benchmarkok hasznosak a különféle teljesítmények mérésére és összehasonlításokra, nem alkalmasak a rendszerek kiválasztására. Ráadásul különböző funkcionalitások elemzéséhez különböző benchmarkok szükségesek, és csak az azonos típusok eredményei hasonlíthatók össze. A számítógépek, számítógép-családok különböző tagjai eltérő célok kiszolgálására készülnek, lehetséges, hogy tudományos számításokat nagy pontossággal, és gyorsan végeznek, ugyanakkor grafikus műveleteket lassan és nehézkesen hajtanak végre. A tervezők egyre inkább próbálnak általános gépeket tervezni, de biztosítják annak a lehetőségét, hogy kiegészítő elemek, részegységek egyszerű beépítésével bizonyos jellemzők – a többi jellemző változatlansága mellett – nagymértékben javíthatók legyenek. Ilyenkor – többnyire – egy kis, speciális, esetleg számítógép-bonyolultságú egységet csatlakoztatnak, ami szinte perifériaként működik (például grafikus gyorsítókártya, speciális műveletvégző egység stb.). Ezek a megoldások nem keverendők össze a skálázhatóság fogalmával, amikor azonos architektúra mellett több jellemző (sebesség, memóriaméret, processzorok száma, háttértár-méret stb.) növelhető.

Az optimalizálás általános sémája szerint: meg kell vizsgálni a gépet alkotó egyes egységek költségeit. Kiegyenlített rendszer esetében az egységek adatrátái nagyjából azonosak, a költségek növekedése pedig nagyjából egyenesen arányos az adatráta növekedésével. A számítógéprendszer végső formája – és költsége – pedig a vele szemben támasztott követelmények szerint alakul.

Virtuális memória[szerkesztés]

Kritikus terület a virtuális memória-kezelés.

A számítógépek korai időszakában, a véletlen elérésű memória (ez esetünkben a központi memóriát jelenti) többnyire ferritgyűrűs kivitelben, hozzávetőlegesen ezerszer drágább volt, mint a mechanikai tárolók (nem véletlenül voltak jellemzők a mágnesdobos memóriát használó korai gépek), azaz a mai merevlemezeknek megfelelő tárolók.

Jó megoldásnak tűnt, hogy a drága – ezért viszonylag kis tárolókapacitású – gyorsmemóriába csak az éppen szükséges programrész kerüljön be, a "nem használt" programrészek pedig külső, mechanikus tárolókon helyezkedjenek el. Különösen a több felhasználós (időosztásos) rendszerek esetében látszott előnyösnek ez a megoldás, amikor a program- és felhasználóváltás amúgy is jó alkalmat szolgáltatott arra, hogy a programot cseréljék.

A program megállítása helyett, több számítógéprendszer a kevéssé használt memóriaterületeket másolja ki mechanikai tárolóra, lényegében, a háttértárakat központi memóriává váltva. Viszont, a mechanikus háttértárak kb. ezerszer lassúbbak, mint a mágneses-, buborék- vagy félvezető tárak.

Átkonfigurálható számítógép[szerkesztés]

A folyamatban lévő fejlesztések célja az átkonfigurálható számítógépek területén a konvencionális struktúrákból származó határok ledöntése. Egy átkonfigurálható számítógéprendszerben, egy speciális compilerprogram segítségével a forrás kódból olyan közbülső kód jön létre, ami futási időn belül elvégzi a FPGA átkonfigurálását, biztosítva ezzel a programnak legjobban megfelelő hardver létrehozását. Amíg a különböző hardver-megvalósításokkal sikerül a párhuzamos programvégrehajtásra alkalmas környezetet kialakítani, addig a átkonfigurálható számítógép „önmagától” biztosítja a legfejlettebb, és program elvárásaihoz igazodó párhuzamos feldolgozási architektúra rendelkezésre állását. Az átkonfigurálható számítógépek másik fejlődési iránya a számítógép-memória átalakítása, elsősorban a neuron-alapú memória, amely egyszerre tárol és végrehajt.

Számítógép-architektúrák[szerkesztés]

Processzorok[szerkesztés]

A CPU felépítése[szerkesztés]

A központi feldolgozó egység vagyis a CPU (Cental Processing Unit) hármas egységre való tagozódása (vezérlőegység, aritmetikai egység, memória) egy korábbi tágabban értelmezett felfogást tükröz. A korszerű berendezések esetében, a memória növekvő fontossága, és az egység jól elválasztható volta miatt, a CPU-n inkább csak a vezérlő és az aritmetikai egység kettősét értjük. Szűkebb értelemben ezt a kettőst nevezzük processzornak. A mikroszámítógépek esetében alkalmazott egytokos processzorokat mikroprocesszornak nevezzük.

A CPU a számítógép központi egysége. A vezérlőegység irányítja a tárolt program alapján a műveletek végrehajtását, az aritmetikai egység (ALU) munkáját. A vezérlőegység feladata a processzor és a bemeneti/kimeneti ún. I/O eszközök (perifériák) közötti adatátvitel irányítása is, amik és a processzor közötti adatátvitelre buszrendszer (sínrendszer) szolgál.

A processzor vezérlőegységének további feladata a program utasításai, vagy külső megszakítási kérelem, sín-igénybevételi kérelem alapján a gép részeinek irányítása, vezérlőjelek segítségével. Ez az aritmetikai egység műveleteinek irányítását, az adatútvonalak nyitását/zárását, valamint a memória, és az I/O eszközök vezérlését jelenti.

A mai processzoroknak alapvetően két nagy csoportja van a CISC és a RISC. Az előbbi különböző hosszúságú, több processzorciklusú utasításokat használ (Intel 8086), az utóbbi csoportba pedig a csökkentett utasításkészletű processzorok tartoznak (Intel 80486).

Aritmetikai – logikai egység (ALU) A processzornak azon része, amely a számolási-, összehasonlítási- és logikai műveleteket végzi.

Regisztereknek nevezzük a processzorban, ideiglenes adattárolás céljára szolgáló általános, vagy meghatározott funkciójú memóriarekeszeket. A regiszter a belső sínrendszeren keresztül kapcsolódik a processzor más részeihez. A regiszterek gyors működésű tárak, amelyek hossza általában az adatsín hosszával egyezik meg. A legfontosabb, legtöbb processzornál meglévő regiszterek a következők:

  • Utasításszámláló regiszter
  • Utasításregiszter
  • Báziscím-regiszter
  • Indexregiszter(ek)
  • Állapotregiszter(ek)
  • Veremmutató regiszter
  • Pufferregiszter(ek)

A processzor teljesítménye alatt azt az időt értik, amelyre a processzornak szüksége van egy bizonyos feladat végrehajtásához. A processzornak két lényeges jellemzője, amelyek utalnak a teljesítményre: a szóhossz (bitszám, vagy bitszélesség) és az órajel-frekvencia. Mindkettő azt a sebességet határozza meg, amellyel adatokat lehet feldolgozni.

A számítógép teljesítményének szempontjából alapvető jelentősége van annak, hogy mekkora az a szóhossz, amivel a számítógép dolgozik. Ezek a következők lehetnek:

  • 8 bites processzorok = 1 byte
  • 16 bites processzorok = 2 byte
  • 32 bitesek = 4 byte
  • 48 bitesek = 6 byte
  • 64 bitesek = 8 byte

A belső szóhossz mellett, fontos még a buszrendszer szóhossza is, az adatbusz bitszélessége és a címbusz bitszélessége.

Az adatbusz szélessége azt mutatja, hogy a processzor hány bitet tud egyidejűleg a hozzá kapcsolt perifériákra küldeni. A címbusz közvetíti azokat a jeleket, amelyek a tárolóhelyek eléréséhez szükségesek. A címbusz szélessége határozza meg a közvetlenül megcímezhető címtartomány nagyságát. Az Intel 8086 például 16 bites adatbusszal és 20 bites címbusszal dolgozik.

Egy számítógép teljesítményét az órajel-frekvencia is meghatározza. Az órajel-frekvenciát az órajeladó hozza létre, amely vagy közvetlenül integrálva van a processzorba vagy azon kívül helyezkedik el. Az órajelet megaherzben (MHz) mérik. Egy herz (Hz) az a frekvencia, amely 1 másodperc alatt egy periódust ír le. A processzor teljesítményét jellemzi a MIPS ( 1MIPS=1000000 utasítás/ másodperc).

Az utasítási ciklus végrehajtása[szerkesztés]

  1. Utasítás-előkészítés, -lehívás. PC (utasításszámláló regiszter) tartalma a MAR-ba (memória címregiszter).
  2. Utasításszámláló regiszter tartalmának növelése (inkrementálás). A PC tartalmának növelése 1-gyel, vagyis egy utasításhossznak megfelelő tárolóhely számmal, ez lesz a következő utasítás tárolóbeli helyének címe.
  3. Műveleti kód értelmezése, dekódolása s az operandus címének meghatározása. Ebből derül ki, hogy mit kell csinálnia a gépnek az utasítás hatására. Meghatározza az operandusok (amiken a műveletet végre kell hajtania) helyét is a tárban.
  4. Művelethez szükséges adat(ok) előkészítése. Az előző lépésben meghatározott cím alapján kikeresi az operandusokat a memóriából, és átviszi őket a az utasításban megadott helyre, általában az ALU AC-jébe (akkumulátor regiszterbe).
  5. Végrehajtás. Kijelölt műveletek végrehajtása
  6. Az eredmény elhelyezése. Az eredményt az előírt helyre viszi, ez általában az AC, és visszatér az első lépésre.

A RISC- és CISC-architektúrák[szerkesztés]

RISC (Reduced Instruction Set Computer): csökkentett utasításkészletű számítógép.

  • kevés, egyszerű utasítás
  • fix utasításhossz

pl.: POWER PC, Alpha.

CISC (Complex Instruction Set Computer): teljes utasításkészletű számítógép.

  • sok, bonyolult utasítás
  • változó utasításhossz
  • elavult, lassú (mégis ezt használja az Intel, a lefelé való kompatibilitás érdekében)

pl.: VAX, Intel x86.

Utasításszintű párhuzamosság[szerkesztés]

Processzorszintű párhuzamosság[szerkesztés]

Központi memória[szerkesztés]

Gyorsítótárak[szerkesztés]

Háttérmemória[szerkesztés]

Memóriahierarchia[szerkesztés]

Mágneslemezek[szerkesztés]

Floppylemezek[szerkesztés]

A hajlékony mágneslemez alaphordozója korábban 8 hüvelyk, később 5,25 hüvelyk, végül elterjedten a 3,5 hüvelyk átmérőjű hajlékony műanyag tárcsa. Az első hajlékony lemez 1971-ben jelent meg a piacon, ez 8 hüvelykes volt; 1976-ban jelent meg az 5,25 hüvelykes és 1987-ben a 3,5 hüvelykes.

A hordozólemezre a gyártás során viszik fel a mágnesezhető anyagot. A lemeznek korábban csak az egyik oldala volt adattárolásra használatos, később mindkettő. A 8 hüvelykes és a az 5,25 hüvelykes lemezeket papírtokban helyezték el, a 3,5 hüvelykes lemez kemény műanyag tokba építve volt használatos. A lemez forgómozgást végez, felette áll a fej. A lemezen körkörös pályákra történik az adatok rögzítése, a fej sugárirányú mozgással éri el ezeket, működés közben vékony légpárnán siklik. Kemény, nem mágnesezhető anyagból kerámia készül, mivel indulás-leálláskor fizikailag is érintkezik a lemezzel, ez a súrlódó mozgás hosszabb használat után elkoptatja a mágnesezhető réteget.

A hajlékony lemez élettartama intenzív használat esetén ezért nem túl nagy, s bár igen olcsó, könnyen használható adathordozó, de nem üzembiztos, adattárolási kapacitása a mai igényekhez nem elegendő, ezért kevésbé használatos eszköz.

IDE-lemezek[szerkesztés]

SCSI-lemezek[szerkesztés]

Raid-elrendezések

RAID = Redundant Array of Independent Disks, azaz független lemezek redundáns tömbje.

Független lemezek, mert egy RAID kötet létrehozásához legalább kettő (vagy több) merevlemez kell. Jójó, de mi az a redundáns tömb? Ez nem más, mint olyan több merevlemezből álló tárolóegység, amelyet a rendszerünk és mi magunk, mint felhasználó egyetlen tárhelynek látunk. Tehát a RAID segítségével létrehozhatunk gyors vagy hibatűrő kötetet, de egyes RAID tömbök mindkét tulajdonságot képesek ötvözni.

Kezdetben csak szerverekben és nagy (és drága) munkaállomásokban alkalmazták ezt a technológiát, melyek SCSI csatolófelületű merevlemezeket használtak. Otthoni felhasználók nem használták, mert ezek a merevlemezek és a csatolókártyák nagyon drágák voltak. A SATA csatolófelület viszont lehetővé tette, hogy egyre több, olcsó merevlemezt használjunk otthon is így a RAID technológia ma már kezd elterjedni az otthoni felhasználók között is.

A RAID szintek:

Több RAID szint is létezik (RAID szint, vagy RAID level), és bár sorszámozva vannak, ne dőljünk be a számoknak, nem tükrözik a technológia fejlettségét, vagy elterjedését. Vannak olyan szintek is, melyeket két másik szint alkot.

RAID 0 - stripping = sávozás vagy csíkozás (én jobb szeretem az összefűzés szót): az első valódi raid szint.

Egy dolgot tud, de azt nagyon, feljavítja, megnöveli a teljesítményt.

A lényege nagyon egyszerű, az adatokat párhuzamosan több merevlemezre (HDD) írja. Ha csak két merevlemezt használunk, akkor az adatokat blokkokra bontja (A1, A2,...) és az első blokkot felírja az első HDD-re, a másodikat a másodikra, a harmadikat megint az elsőre és így tovább, amíg a teljes adat felírásra nem került. Beolvasásnál ugyanez történik fordítva. Ezáltal az írási és olvasási sebesség megnő, ezt könnyű belátni. Ha két 1 TB-os merevlemezt RAID 0-ba kötünk, akkor azokat egyetlen 2 TB-osnak fogjuk látni. Egy probléma van vele: nem biztonságos. Gyorsnak gyors, az igaz, de mi van, ha megsérül az egyik merevlemez? Mivel az adatok felosztva több HDD-n vannak tárolva, ha az egyik HDD megsérül, akkor teljes adatvesztésünk lesz és nincs mód azok visszaállítására.


RAID 1 - mirroring = tükrözés:


Lényege, hogy az adatot minden merevlemezre felírja, tulajdonképpen mintha "klónoznánk" az adatokat. Ha két merevlemezt használunk, úgy képzeljük el azokat, mint egymás tükörképeit, a két merevlemezen tárolt adatok teljesen megyegyeznek. Ha két 1TB-os HDD-t használunk így, azokat csak 1TB-nak látjuk. Fajlagosan drága ennek a RAID szintnek a létrehozása, mert kétszer anyyi HDD-t kell vásárolnunk, mint amennyi tárhelyet használni tudunk. Viszont rendkívül biztonságos. Ha egy adat megsérül, a "klónja" rendelkezésre áll, ha egy merevlemez sérül meg, a másik merevlemezen megvan minden adatunk. Az esetleges adatvesztést teljesen kiküszöbölhetjük.


RAID 10 (1+0) - mirroring + stripping = tükrözés és csíkozás: az első hibrid :)


Ötvözi a RAID 0 gyorsaságát a RAID 1 hibatűrésével. Azt gondolhatnánk, hogy tökéletesen optimális megoldás, de egy apró dolgon még megütközhetünk. Nem fogja kímélni a pénztárcánkat, viszonylagosan drága, hisz sok HDD-nél csak egy dolog drágább, kétszerannyi HDD. Ráadásul a helykihasználás sem ideális. Gondoljunk bele, hogy alapesetben is legalább négy HDD-re van szükségünk, de ebből csak kettőnek használhatjuk a tárterületét. Viszont egyszerű és gyors, valamint sok eszköz már alpból kínálja ezt a lehetőséget és nem kell pluszba "drága" RAID vezérlőt vásárolnunk.



RAID 01 (0+1) - stripping + mirroring = csíkozás és tükrözés:

Tulajdonképp a RAID 10 fordítottja, csak itt a sorrend megfordul. Ez se kíméli a pénztárcánkat, hisz legalább 4 HDD-re van szükségünk, ezekből kettőt összefűzve, majd páronként tükrözve építhetjük fel a tömbünket, ezáltal csak a kapacitás fel használható ezzel a módszerrel is. Mivel a tükrözés (RAID 1) a két összefűzött (RAID 0) tömbre épül, ezért egy lemez meghibásodása esetén az egyik összefűzött tömb mindenképp kiesik, így a tükrözés is megszűnik.



A RAID 2 , RAID 3 és RAID 4 szinteket csak megemlítés szintjén írnám le, ugyanis nem sikerült elterjedniük...

RAID 2 - csíkozás + hibajavító kód használata:

Tulajdon képpen csíkoz, mint a RAID 1, de az adatokhoz hibajavító kódokat (ECC: Error Correcting Code) képez és azokat egy külön lemezen tárolja. Ezek a kódok adott esetben az adathibákat észlelik és javítják. HDD hibatűrése is van, mert egyes adatbitekből redundáns biteket is képez, így tulajdon képpen a hibás bit bármikor pótolható. Ezek által gyorsabb mint a RAID 1, viszont hátránya, hogy sokkal nagyobb adattömeget képez, vagyis sokkal több tárkapacitásra van szükségünk.

RAID 3 - csíkozás + paritásinformációk használata:

Majdnem ugyanolyan, mint a RAID 2, csak nem teljes hibajavító kódokat tárol, hanem egy lemeznyi paritásinformációt. Miután ezt mindig ugyanazon lemezen tárolja, így még nagyobb sebesség elérésére képes.

RAID 4 - Ugyanazt a metódust használja, mint a RAID 3, csak ez nagyobb csíkozást, nagyobb adatblokkot használ.


RAID 5 - A legelterjedtebb RAID megoldási mód. Tulajdonképp a RAID 3 és RAID 4 továbbfejlesztett változata.

Olyan mintha a RAID 0-hoz adalékolnánk egy hibajavító információt. A megvalósításhoz legalább három darab HDD-re van szükségünk. Most nézzünk pédát 4 db HDD-re, mint az ábrán. A RAID tömb felépítésének, azaz az adatok felírásának az a lényege, hogy az első adatblokk kerül az első lemezre, a második a másodikra, a harmadik a harmadikra és a háromból képzett hibajavító kód (ECC - Error Correction Code) a negyedikre. A következő körben az első adatblokk az első lemezre, a második a másodikra, a hibajavító kód a harmadikra és a harmadik adatblokk a negyedikre és így tovább. A hibajavító kód vándorol körbe lemezről lemezre. Ha az egyik HDD meghibásodik, a többin levő hibajavító kódokból kiszámítható, hogy milyen adat volt rajta, így nemcsak gyors, de hibatűrő megoldás is egyben. Négy darab 1TB-os merevlemez egyetlen 3TB-osnak fog látszani (a maradék 1TB-ot a paritás foglalja el).

RAID 6 - Olyan mint egy kibővített RAID 5.


A RAID 6 tömb képzése, vagyis az adatblokkok merevlemezekre való felírása, abszolút analóg a RAID 5 tömb képzéséval. A különbség annyi, hogy itt a hibajavító kódok nem csak soronként, de oszloponként is képződnek és ezen hibakódok is vándorolnak lemezről lemezre. Ezáltal két HDD meghibásodás is kiküszöbölhető, viszont könnyű belátni, hogy a paritások kétszer annyi helyet foglalnak.

CD-ROM[szerkesztés]

A Compact Discet Philips és a Sony fejlesztette ki 1980-ban szórakoztató anyagok közreadására. Az első ilyen eszköz 1984-ben jelent meg a piacon. Lézerfény-letapogatással olvassa le a rá, domborműszerűen rögzített jeleket. Több fajtája is elérhető, a legelterjedtebb 12 cm-es lemez kapacitása minimum 640 Mbyte. A CD-ROM tartalmát préseléssel alakítják ki, csak olvasható adathordozó. A CD-R egyszer írható média: az olvasóban használtnál nagyobb energiasűrűségű lézerfénnyel lehetséges az adatrögzítés. Az alkalmazott lézer 800 nanométeres. Mivel a használt réteg fényvisszaverő képessége kisebb, mint a CD-ROM esetében, ezért egyes olvasók esetén problémás ennek a használata, olvasása. A CD-RW többször újraírható, törölhető. A fényvisszaverő réteg az újraírhatóság miatt kevesebb fényt ver vissza, ezért egyes CD-olvasó egységek az újraírható lemezeket nem olvassák. A CD-RW-k igen sokszor (kb. 1000 alkalommal), de korlátozott élettartamban írhatóak újra.

Fontos jellemző a CD kezelésével kapcsolatban a sebesség. Mivel hanganyag tárolására fejlesztették ki, az egyszeres sebesség 150 Kbyte/s értéket jelent, ennek sokszorosát használják ma. Léteznek CD/DVD-író és -olvasó meghajtók, ezeket CD-DVD kombónak nevezik.

A CD-írót az írási/újraírási/olvasási sebességei meghatározzák meg. Ezeket így is szokták jelölni a meghajtókon: 52/12/52. Tehát ez azt jelenti, hogy ez a meghajtó 52x sebességgel képes lemezeket írni, 12x sebességgel képes újraírni, és 52x sebességgel tud olvasni. A megvásárolható lemezeken fel van tüntetve, hogy milyen sebességgel lehet őket írni. Ha a meghajtónk mondjuk csak 4x sebességgel tud újraírni és a boltban csak 12x újraírható lemezt árulnak, akkor nyugodtan megvehetjük azt is, hiszen a lefelé kompatibilitás érvényesül, ami azt jelenti, hogy a lemezt a megjelölt sebességnél lassabban lehet írni, de gyorsabban nem. Így a mi 4x-es meghajtónk meg fogja írni a 12x-es lemezt.

Fontos megemlíteni, hiszen bizonyos szempontból fontos lehet: minél gyorsabban írunk egy lemezt, a lézerfény annál gyorsabban halad el a pit-ek felett, gyorsabban lesz kész a lemezünk, de ezzel együtt jár az is, hogy mivel a lézersugár kevesebb időt tölt el az adatok helyes felírásával, mondhatjuk úgy, a lemez kevésbé lesz olvasható, ez ugyan elhanyagolható de régebben nagy problémákat tudott okozni. Előfordul az is, hogy a gyorsabban írt lemezek egyes meghajtókban lassabban és nehézkesebben olvashatók vissza, vagy a gyorsan megírt audio CD-ket a hifi nem akarja olvasni. Ilyenkor az egyetlen megoldás, ha lassabban írjuk meg a lemezt. Audio CD-nél célszerű 4x sebességet használni. A gyors írás következménye továbbá, hogy kevesebb ideig lesz biztonságosan visszaolvasható a lemezre írt adat, bár erre a gyártók 100 év garanciát vállalnak.

Bemenet/kimenet[szerkesztés]

Sínek[szerkesztés]

Terminálok[szerkesztés]

Mutató eszközök[szerkesztés]

Nyomtatók[szerkesztés]

Telekommunikációs egységek, -berendezések[szerkesztés]

Digitális logikai szint[szerkesztés]

Kapuáramkörök[szerkesztés]

Integrált áramkörök[szerkesztés]

Kombinációs áramkörök[szerkesztés]
Aritmetikai áramkörök[szerkesztés]
Órák[szerkesztés]
Tárolók[szerkesztés]
Regiszterek[szerkesztés]
Memóriaszervezés[szerkesztés]
CPU-k és sínek[szerkesztés]
Kapcsolat a perifériákkal, interfészek[szerkesztés]

A mikroarchitektúra szintje[szerkesztés]

Mikroarchitektúra[szerkesztés]

Adatút[szerkesztés]

Mikroutasítások[szerkesztés]

Vermek[szerkesztés]

Gyorsítótár – a teljesítmény növelése[szerkesztés]

Elágazásjövendölés[szerkesztés]

Utasításrendszer architektúra szintje[szerkesztés]

Az ISA-szint és tulajdonságai[szerkesztés]

Memóriamodellek[szerkesztés]

Regiszterek[szerkesztés]

Utasítások[szerkesztés]

Adattípusok[szerkesztés]

Utasításformátumok[szerkesztés]

Címzési módszerek[szerkesztés]

Utasítástípusok[szerkesztés]

Adatmozgató utasítások[szerkesztés]
Diádikus műveletek[szerkesztés]
Monádikus műveletek[szerkesztés]
Összehasonlító és feltételes elágazó utasítások[szerkesztés]
Eljáráshívó utasítások[szerkesztés]
Ciklusutasítások[szerkesztés]
Beviteli/kiviteli utasítások[szerkesztés]

Vezérlési folyamat[szerkesztés]

Csapdák[szerkesztés]
Megszakítások[szerkesztés]

Családok[szerkesztés]

Jegyzetek[szerkesztés]

  1. Amdahl, G.M., Blaauw, G.A., Brooks, F.P.,Jr. (1964.). „Architecture of the IBM System/360” (angol nyelven) (scribd). IBM JOURNAL OF RESEARCH AND DEVELOPMENT 8 (2), 21–36. o. (Hozzáférés ideje: 2013. január 7.)  
  2. Dr. Seebauer Márta: Számítógép architektúra (magyar nyelven) (pdf). jegyzet pp. 9-10. Budapesti Műszaki Főiskola, Regionális Oktatási és Innovációs Központ, Székesfehérvár, 2007. szeptember 17. (Hozzáférés: 2012)

Források[szerkesztés]

További információk[szerkesztés]

Angolul[szerkesztés]

Magyarul[szerkesztés]

  • Dr. Kovács György: SZÁMÍTÓGÉP-ARCHITEKTÚRÁK (magyar nyelven) (PDF) pp. 1-163. Debreceni Egyetem Agrártudományi Centrum Agrárgazdasági és Vidékfejlesztési Kar (DE ATC AVK 2005), 2006. (Hozzáférés: 2013)
  • Dr. Seebauer Márta: Számítógép architektúra (magyar nyelven) (PDF). jegyzet pp. 1-14. Budapesti Műszaki Főiskola, Regionális Oktatási és Innovációs Központ, Székesfehérvár, 2007. szeptember 17. (Hozzáférés: 2012)

Kapcsolódó szócikkek[szerkesztés]