2. előadás. Számítógép történelem, Általános hardverismeretek. Dr. Kallós Gábor



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

A fejlődés megindulása. A Z3 nevet viselő 1941-ben megépített programvezérlésű elektromechanikus gép már a 2-es számrendszert használta.

Számítógép felépítése

A számolás és a számítástechnika története. Feladat:

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

3. óra Számrendszerek-Szg. történet

3. óra Számrendszerek-Szg. történet

A SZÁMÍTÓGÉP TÖRTÉNETE

A mikroprocesszor felépítése és működése

Az informatika fejlődéstörténete. A számítástechnika kezdetei

Informatika érettségi vizsga

A számítástechnika története

Processzor (CPU - Central Processing Unit)

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

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

Jacquard szövőgépe, vezérlési modulok használata 1805 lyukkártyás vezérlés

A számítógép története (olvasmány)

A számítástechnika fejlődése

IT - Alapismeretek. Megoldások

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

Az első elektronikus számítógépek

Információs technológiák 1. Ea: Történelmese

Az informatika fejlõdéstörténete

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

A számítástechnika rövid története

Fejezetek az Információ-Technológia Kultúrtörténetéből

IT - Alapismeretek. Feladatgyűjtemény

Bevezetés az informatikába

Alapfogalmak. Dr. Kallós Gábor A Neumann-elv. Számolóeszközök és számítógépek. A számítógép felépítése

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

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

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Tartalom Jelátalakítás és kódolás A számítógép felépítése Alaplap A központi egység...

Az informatika fejlődéstörténete

elektronikus adattárolást memóriacím

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

A számítástechnika történeti áttekintése

1. Fejezet: Számítógép rendszerek

Hardver ismeretek. Várady Géza, B144

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

1. Generáció( ):

Bepillantás a gépházba

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Informatikai rendszerek alapjai (Informatika I.) NGB_SZ003_1

I. el adás, A számítógép belseje

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Alapismeretek. Tanmenet

2. Fejezet : Számrendszerek

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

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

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

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)

Összeadás BCD számokkal

A számítógép fő részei

BEVEZETÉS AZ INFORMATIKÁBA. Háber István

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

A személyi számítógép felépítése

Informatika el adás: Hardver

Jelek és adatok. A jelek csoportosítása:

Ez egy program. De ki tudja végrehajtani?

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása

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

A nulladik generációs számítógépek közé a különbözõ mechanikus mûködésû szerkezeteket soroljuk.

A SZÁMÍTÓGÉP KIALAKULÁSA. Zámori Zoltán, KFKI

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

Mi van a számítógépben? Hardver

A SZÁMÍTÓGÉP FELÉPÍTÉSE.

Központi vezérlőegység

ismerd meg! A PC vagyis a személyi számítógép

Programozás alapjai. Wagner György Általános Informatikai Tanszék

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

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

Bevezetés az informatikába

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Adatok ábrázolása, adattípusok

A számítógép egységei

Informatikai Rendszerek Alapjai. A számolás korai segédeszközei A korszerű számítógépek kialakulása

Őszi félév. Heizlerné Bakonyi Viktória

erettsegizz.com Érettségi tételek

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Az Informatika Elméleti Alapjai. Információ-feldolgozó paradigmák A számolás korai segédeszközei

1. A Neumann-elvű számítógép felépítése

Középszintű Informatika Érettségi Szóbeli Vizsgatétel Bottyán János Műszaki Szakközépiskola

Bevezetés az elektronikába

Alaplap: közös kapcsolódási felület a számítógép részegységei számára

TestLine - Informatika gyakorló Minta feladatsor

Térinformatika. Térinformatika. GIS alkalmazói szintek. Rendszer. GIS funkcionális vázlata. vezetői szintek

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő)

A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Elektronikus gépek előzményei

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

A személyi számítógép elvi felépítése

A hardver fejlődése A mechanikus számítógépektől a szuperszámítógépekig 2. előadás

Alapismeretek. Tanmenet

Átírás:

2. előadás Számítógép történelem, Általános hardverismeretek Dr. Kallós Gábor 2014 2015

Tartalom Motiváció Történeti áttekintés Számolóeszközök az ókortól napjainkig A számítógépek kialakulása Elektronikus számítógépek A Neumann-elvek A számítógép felépítése, a Neumann-architektúra Memória CPU Decimális és bináris mértékegységek Regisztertömb, ALU, CU, gépi utasítások Buszrendszer Órajel-generátor Input és output eszközök A számítógép működése 2

Motiváció 3

Motiváció Mindenkinek ismernie kell legalább részben ezeket a fogalmakat Ez nagy üzlet is! 4

Történeti áttekintés Számolóeszközök az ókortól napjainkig Ókori mechanikus eszközök Abakusz (római számok összeadásához is jó segítség), szorobán XVI XVII század: a tudomány és a közlekedés fejlődése nagy mennyiségű számítási feladatot generált (hajózás, csillagászat) Új elméleti eredmény: természetes alapú logaritmus bevezetése, segítségével a szorzás összeadásra, az osztás kivonásra vezethető vissza John Napier (1550 1617) ezen az elven egy számolóeszközt is konstruált (logarléc-szerű) Wilhelm Schickard (1592 1635) tübingeni professzor Napier számolóeszközéből egy mechanikus berendezést (számológép) tervezett 1642-ben Blaise Pascal (1623 1662) francia polihisztor megtervezte és megépítette az aritmetikai gép nevű mechanikus számológépét (ebből már több is készült) 1670-es évek eleje: Wilhelm Gottfried Leibniz (1646 1716) megépítette Pascal gépének az ún. Leibniz-kerék alkalmazásával továbbfejlesztett változatát Lehetővé vált a szorzás mechanikus elvégzése 1800-as évek elejétől: gyakorlatban is egyre jobban használható, mechanikus számológépek De: ezek a gépek csak segítették a számolást, a felhasználónak kellett beállítani (többek között) a műveleteket és az operandusok értékét; az eredmény leolvasása sem volt triviális (hibák) 1950-es évek végétől: elektromechanikus, majd elektronikus asztali, illetve zsebszámológépek (ez csak az 1970-es évektől) Manapság: fejlett zsebszámológépek ill. telefonnal számolunk 5

Történeti áttekintés A számítógépek kialakulása/1: Mechanikus számítógépek Joseph Marie Jacquard (1752 1834) francia feltaláló: gépek a szövetgyártásban, szövés előre rögzített minta szerint, a vezérléshez lyukkártyákat használt Program a szövőszék működéséhez, a programmal vezérelt számítógép előfutára Charles Babbage (1791 1871) angol matematikus Nagyrészt emberi beavatkozás nélkül működő számológép terve a korabeli hajózási és csillagászati táblázatok újraszámolására (sok hibát tartalmaztak); differenciálgép csak összeadást végezve számolt (csak prototípus készült, rendesen működtetni nem sikerült a technikai fejletlenség miatt) Újabb gép terve (1833): már nemcsak összeadásra, de a másik három alapművelet elvégzésére is alkalmas; analitikus gép (csak terv maradt, megvalósítani nem sikerült) Olyan elvek, mint a mai modern számítógép-építésnél: számítások vezérlése Jacquard-féle lyukkártyával; a részeredmények megőrzésére önálló részegység; a négy alapművelet elvégzésére alkalmas műveletvégző egység; az eredményeket nyomtatni lehet(ett volna) (azaz: a gép programozható, bemeneti és kimeneti egységgel, memóriával és műveletvégző egységgel) A technikai színvonal elégtelensége ezután sokáig meggátolta a mechanikus számítógépek fejlesztését 6

Történeti áttekintés A számítógépek kialakulása/1: Mechanikus számítógépek (folyt.) Herman Hollerith (1860 1929) amerikai statisztikus Népszámlálási adatok; probléma: a kézi feldolgozás túl hosszadalmas (65 milliós népesség), közben az adatok már érvényüket vesztik Gyors feldolgozásra gépet szerkesztett, a lyukkártyákra rögzített adatok csoportosítása és rendezése a kézi módszerhez szükséges idő töredéke alatt (adatfeldolgozó gépek őse) Ebből: vállalkozás innen nőtt ki a mai számítógéppiac egyik vezető cége az IBM (International Business Machines Corporation) Konrad Zuse (1910 1995) német mérnök Első ténylegesen felépített mechanikus számítógép, Z1, 1938 (Németország, 3. birodalom) A mechanikai elemek mozgatására már elektromotorok Zuse a 2. vh. után Svájcban dolgozott, majd újra Németországban (sikeres vállalkozó) Bővebb történeti leírás (olvasmány): jegyzet 7

Történeti áttekintés A számítógépek kialakulása/2: Elektromechanikus számítógépek Jelentős technikai fejlődés a 20. század elejétől Lehetőség arra, hogy a mechanikai eszközök egy része elektromechanikussá, majd később elektronikussá váljon A jelfogó (relé), majd az elektroncső megjelenése új lendületet adott a számítógépépítésnek Első komoly eredmények: Zuse A mechanikus Z1 elektromechanikus átalakítása, Z2 gép, 1940 Az 1941-ben megépült Z3-ban már mindent megtalálunk, amit a mai modern számítógépek legalapvetőbb tulajdonságaiként elvárunk Továbbfejlesztett változat, minimális változtatásokkal: Z4, 1945, ez volt az első kereskedelmi forgalomba került számítógép IBM fejlesztések, Egyesült Államok 1944-ben fejezték be az első számítógépüket (a Harvard Egyetemen, IBM Automatic Sequence Controlled Calculator; ASCC, később Mark I-nek nevezték át) Tervező: Howard H. Aiken (1900 1973) A gép elektromechanikus egységekből kapcsolókból, relékből épült fel, működését program vezérelte Programlépések: szalagra lyukasztott lyukkombinációval kódolva, ezeket a gép lépésenként hajtotta végre A számítások elvégzésére: decimális kódolás Később Mark II (1947-re), szintén elektromechanikus 8

Történeti áttekintés A számítógépek kialakulása/3: Elektronikus számítógépek 1940-es évek: technikai lehetőség a teljesen elektronikus számítógépek létrehozására Az elektroncsövek modernebb változatai fokozatosan biztonságosabbak lettek Első elektronikus számítógép: 1942-re készült el, Iowai Főiskola A gépet programozni nem lehetett (csak lin. egyenletrendszerek megoldására), a fejlesztés leállt, nem volt visszhangja Colossus nevű elektronikus szg. (2. vh., Nagy-Britannia) A németek az ENIGMA nevű rejtjelező géppel kódolták üzeneteiket (pl. tengeralattjárók irányítására), és a rejtjelezést megfejthetetlennek vélték. A kriptoanalízissel foglalkozó angol tudósok az ENIGMA-kódú üzenetek megfejtésére (csak erre; célgép) használták a Colossust. Fejlesztők: Alan Turing (1912 1954) és Thomas Flowers (1905 1998); a fejlesztést sokáig titokban tartották A gépet lehetett programozni, de csak nagyon körülményesen (kapcsolókkal, kábelekkel) ENIAC, Egyesült Államok Szintén 2. vh-ús fejlesztés, az USA hadseregének kutató laboratóriuma tüzérségi táblázatok számítására alkalmas számítógép tervezését és építését rendelte meg a Pennsylvaniai Egyetemen (Moore Intézet) A projekt csak 1946-ban lett publikus, addig minden titokban zajlott (tervezés, építés, munkába állítás) Tervezők: John W. Mauchly (1907 1980) és John A. Eckert (1919 1995), tanácsadó: Neumann János (1903 1957) ENIAC (Electronic Numerical Integrator And Computer; Elektronikus Numerikus Integrátor és Szg.) Elektronikus elemekből építették meg, de minimális mértékben reléket is tartalmazott A gép általános célokra készült, minden olyan feladatot képes volt megoldani, amire be tudták programozni (programozás: mint a Colossus) 1955-ig használták 9

Történeti áttekintés A számítógépek kialakulása/3: Elektronikus számítógépek (folyt.) EDVAC Az ENIAC-projekthez kapcsolódóan a gép tervezői 1944 augusztusában új fejlesztésbe kezdtek (tanácsadó szintén: Neumann János) Cél: egy új számítógép, az EDVAC (Electronic Discrete Variable Automatic Computer, magyarul Elektronikus Diszkrét Változású Automatikus Számítógép) megtervezése és megépítése Korábbi tapasztalatok alapján: elektronikus, bináris kódolást alkalmazó, belső programvezérlésű számítógép kell A gép 1948-ra készült el Az ENIAC-kal ellentétben nem voltak elektromechanikus alkatrészei, és a működését meghatározó programot a tárolóegységében kódolva tárolta Neumann a tervezés eredményeiről, ill. saját javaslatairól: 1945. június, First Draft of a Report on the EDVAC (Az EDVAC-jelentés első vázlata) című tanulmány A jelentésben egy olyan számítógépet ír le, amely sokáig kizárólagosan meghatározta a számítógép-tervezés és -építés irányelveit A ténylegesen elkészült EDVAC valamelyest eltér a vázlatban megadott számítógéptől 10

A Neumann-elvek Neumann a jelentésben (a szg. tervének megadása mellett) azt is megfogalmazta, hogy mit vár el egy számítógéptől, és javaslatait meg is indokolta (részletesen lásd: cikk) A gép digitális legyen, azaz diszkrét jeleket tudjon kezelni (ezek a jelek bináris számjegyek legyenek) A gép teljesen elektronikus legyen, azaz fő részegységei ne tartalmazzanak mozgó (mechanikus) alkatrészeket A gép a következő részegységekből épüljön fel Legyen egy aritmetikai műveletek elvégzésére alkalmas egysége Nevezhetjük központi aritmetikai egységnek, Neumann elnevezése szerint Central Arithmetical part, azaz CA Legyen egy vezérlő egység, ami egymás után hajtja végre a gép működését meghatározó utasításokat. Egymásutániság: a sorra kerülő utasítással addig ne foglalkozzon, amíg az aktuálisat be nem fejezte. (Ezt vsz. nem elvi megfontolásból, hanem az adott kor technikai lehetőségei miatt írta, hiszen alig pár év múlva már a párhuzamos végrehajtás elvi lehetőségét is vizsgálta.) Az egység neve Central Control, azaz CC. A CC és a CA egység együtt a vezérlő (Control), röviden C. Legyen egy olyan egysége, amelyben tárolni lehet az utasítások, ill. a számoláshoz szükséges adatok (és részeredmények) kódjait (digitálisan). Neve Memory, azaz M. 11

A Neumann-elvek Javaslatok, elvárások a számítógépről/től (folyt.) A gép részegységei (folyt.) A gépnek legyen egy olyan részegysége, amely képes a környezettel kommunikálni. A környezetből kapott ill. az oda küldött jelek az R nevű egységcsoporton (outside Recording medium, külső adathordozó) lesznek kódolva. (Ezek egy része az ember számára is érthető kódolású, más részük digitális kódú.) A külső adathordozók kétfélék legyenek. A bemenő jeleket vagy kódjaikat kezelő egységeket I-nek (Input, bemenet), a kimenő egységeket O-nak (Output, kimenet) nevezte. A fenti elemek működését szinkronizálandó legyen órája a gépnek, amely a szinkronizációhoz az ún. órajelet generálja. Ennek segítségével a CC működésében az utasítások végrehajtási lépései nem keverednek. A gép működtetése bináris kódokkal leírt utasítások végrehajtásával történjen, amelyeket a memória tartalmaz. A memória tartalma cserélhető, így a gép minden olyan feladat végrehajtására képes, aminek megoldásához utasítássorozatot lehet készíteni (univerzális, belső programvezérlés). A memória mellett a C egység részeként átmeneti tárolókat is tervezett (ezekben: utasításokhoz kapcsolható kódok, az elvégzendő műveletek operandusainak kódjai és az eredmény kódja) Egyéb javaslatok Bináris kódok, kettes komplemens (egész számok) A CA által mindenképpen elvégzendő műveletek: összeadás, kivonás, szorzás és egészosztás Megtervezi a CA elektronikus összetevőit, és megadja működési elvüket is Megadja azt is, hogyan legyen megszervezve az M Leírja a definiált egységek fizikai kapcsolatait, hogyan mozogjon az egyes egységek között a kód 12

A Neumann-architektúra Az 1940-es évek végétől már minden készen állt a nagyüzemi gyártáshoz, és lehetővé vált, hogy a számítógép, ha lassan is, de a mindennapi életünk eszközévé váljon Az építőelemeket, illetve a számítógépet alkotó berendezéseket közös néven hardvernek nevezzük Neumann terveihez igazodva (némely praktikus változtatással) a számítógép logikai felépítése Mai gépeink már nem tiszta Neumann-elvűek (lásd jegyzet: párhuzamos végrehajtás, Harvard-architektúra külön memória a program és az adatok tárolására, módosított Harvard-arch. külön buszrendszer a program és az adatok szállítására) 13

Memória A számítógép működéséhez szükséges kódokat (pl. utasítások, operandusok, eredmény) tárolja Egy nagy táblázatként képzelhetjük el Programkódot is tartalmazó memória: operatív memória Elektronikus működésű; kettes számrendszerbeli kódolás Megvalósítás/felépítés: kezdetben elektroncsövekből, majd mágnesezhető apró gyűrűkből (ferritgyűrű), később kizárólagosan integrált áramkörös megvalósítás Legkisebb elemi egysége két stabil állapottal rendelkezik, ezek az állapotok egymásba átvihetők. Az átkapcsolás külső hatásra következhet be. Egyik állapot 0, a másik 1, így az elemi egység egy bit tárolására alkalmas Az elemi cellákat, mivel egy bin. számjegy tárolására képesek, szintén bitnek nevezzük (bit: kétféle jelentés!) A gyakorlatban (hatékonyság) a memóriát nagyobb tárolási egységbe szervezzük, nyolc elemi cella alkot egy ilyen egységet, ez a bájt (byte) Tudjuk már: nyolc bitnél hosszabb kódokat is használunk Célszerű a mem.ban bájtnál nagyobb egységeket is definiálni: szó (4 bájt), félszó, duplaszó A memória méretét ugyancsak bájtokkal szokás kifejezni A memóriák nagy méretűek, a bájt sokszorosaival adhatók meg (Az 1950-es évek számítógépeinek memóriája legfeljebb párszáz bájtos volt, manapság a memória nagyságát gigabájtokban (helyesen gibibyte lenne) mérik) A tárolóegységek azonosítása sorszámozással történik A sorszámozást nullával kezdik, az egymást követő egységek sorszáma egyesével növekedő (bájtszervezésű memóriában bájtok, a szószervezésűben szavak) 14

Memória Méretmegadások (memória, háttértárak) Bináris rendszer: váltószám az egyes mértékegységek között 1024, ami 2 10 SI (Système International d Unités) rendszer: tízes alapú Megállapodás szerint a számítástechnikában is ezt kellene használni, de kompromisszumos megoldásként használatos a kettes alapú rendszer is De: sokszor összekeverik a kétféle rendszert, és az SI mértékegységeket használják akkor is, ha a méret bináris rendszerben van Memória: a méret általában a bináris rendszer szerint van megadva, a mértékegységet viszont a tízes rendszer szerint használják helytelenül Pl. megabyte helyett mebibyte, az MB jel helyett MiB kellene Háttértárak: a méret általában SI egységekben van megadva Itt helyesen megabyte, gigabyte, terabyte a mértékegység, MB, GB, TB a jel Mértékegység (dec.) Nagyság Jel Mértékegység (bin.) Nagyság Jel bit egy bináris jegy tárolóegysége b bit egy bináris jegy tárolóegysége b bájt (byte) 8 bit B bájt (byte) 8 bit B kilobájt 1000 bájt KB kibibájt 1024 bájt KiB megabájt 1000 kilobájt MB mebibájt 1024 kibibájt MiB gigabájt 1000 megabájt GB gibibájt 1024 mebibájt GiB terabájt 1000 gigabájt TB tebibájt 1024 gibibájt TiB petabájt 1000 terabájt PB pebibájt 1024 tebibájt PiB 15

CPU Informatika I. Central Processing Unit Magyarul: Központi Végrehajtó Egység, Neumann-terminológia szerint C (Control) Három fontos rész: CU, ALU és regisztertömb Neumann szerint CC és CA + átmeneti tárolók Neumann a gép tervezésekor (eredetileg) csak numerikus értékekkel végzendő számolásra gondolt, ezért a számolómű nevében csak az aritmetikai jelzőt szerepeltette. De: a logikai műveletek elvégzése is fontos, ezért a CA helyett az ALU (Arithmetic and Logic Unit) megnevezést használjuk. Regisztertömb Speciális tárolóegységek rendszere. A tárolóegységek mérete a tárolt kódok nagyságának, a memóriaszervezésnek, a műveletvégző egységnek paramétereitől függ. (Legalább egy bájtosak, de a mai számítógépekben akár nyolcbájtosak is.) *Néhány fontosabb egység a regisztertömbben Utasításregiszter, IR (Instruction Register): az éppen végrehajtás alatt álló utasítás kódját tartalm. Utasításszámláló regiszter, PC (Program Counter): egy memóriacím kódját tartalmazza. Ez alapján kerül a megfelelő utasítás az utasításregiszterbe. Akkumulátorreg., A (Accumulator): az ALU által előállított eredmény kódját tartalmazza Státuszreg., SR (Status Register): a művelethez tartozó kiegészítő információk. Pl. a művelet eredménye negatív-e (egyik bit), nulla-e (másik bit), az eredmény beletartozik-e a kódolható tartományba (harmadik bit) stb. Ezt a tárolót szinte folyamatosan használja a CU és az ALU, ezért gyorsnak és megbízhatónak kell lennie 16

CPU Informatika I. ALU Azokat a műveleteket végzi, amelyekre a CU-tól utasítást kap A műveletekhez szükséges adatok kódjait a CU készíti elő a megfelelő regiszterek kitöltésével A művelet elvégzése után az eredmény szintén valamelyik regiszterbe kerül A műveletvégzés eredményének kódján kívül néhány más kód is keletkezik, ezek alakítják ki a státuszregiszter megfelelő bitjeit Egy kétoperandusú művelet elvégzésére beállított ALU sematikus rajza 17

CPU ALU (folyt.) Az ALU által elvégezhető műveletek Aritmetikai műveletek Az egész számok kódjaival elvégezhető ún. fixpontos műveletek A valós számok kódjaival elvégezhető ún. lebegőpontos műveletek (a régi ALU-k még nem tudták) Logikai műveletek (tanultuk őket, Boole-algebra) Léptető műveletek A kódok bitjeit jobbra vagy balra tolják úgy, hogy a kódból kieső bitek a kódból elvesznek, az eltoltak helyébe nulla vagy egy kerül, ill. lehet az eltolás ciklikus is, ekkor a kipottyanó bit a kód másik végén jelenik meg Minél több és összetettebb művelet elvégzésére képes az ALU, annál bonyolultabb áramkörökből épül fel, és természetesen annál drágább is. Egy-egy számítás elvégzésére viszont bonyolultabb egységnél kevesebb művelet kell. A számítógép-építőknek tehát dönteniük kell: egyszerűbb, olcsóbb ALU, és így több művelet ugyanannak a számításnak az elvégzésére; vagy bonyolultabb, drágább ALU kevesebb műveletvégzéssel Napjainkban mindkét irányú választásra van példa, régen csak az egyszerűbb ALU volt 18

CPU Informatika I. CU A Control Unit (vezérlőegység) a számítógép alapvető fontosságú részegysége Működése során néhány egyszerű lépést ismétel ciklikusan Fetch (elérés/beolvasás), decode (dekódolás), execute (végrehajtás) A lépések részletezve Elsőként a memóriából (az utasításszámláló regiszterben lévő címkód alapján) beolvas egy utasításkódot, ami az utasításregiszterbe kerül Miután beolvasta, értelmezi azt, vagyis eldönti, hogy mit kell csinálnia Végül végrehajtja (ha szükséges az ALU műv.végző képességét is felhasználva) az utasítást, és az eredményt ha az utasítás alapján erre szükség van a memóriába juttatja, továbbá módosítja a regisztertömb megfelelő regisztereit Ezután kezdődik az újabb ciklus A CPU működési sebességét az egy másodperc alatt végrehajtott utasítások számával mérik Mértékegysége az IPS (az instructions per second rövidítése); ennek ezerszerese a KIPS, milliószorosa az MIPS 19

CPU Informatika I. *Gépi utasítások Gépi utasítás: elemi instrukció a CPU számára Amit az felismer, és pontosan úgy működik, ahogyan az instrukció szerint kell Egy adott CPU-hoz több különböző instrukció tartozik, ezen utasítások összességét utasításkészletnek (instruction set) nevezzük Ez a készlet a CPU jellemző tulajdonsága, így más-más CPU-nak más-más ut.készlete van Az utasítások binárisan vannak kódolva, ez a kód általában egy állandó és egy változtatható részből áll Állandó rész: milyen utasítást kódolt a jelsorozat Változtatható rész: mik lesznek a végrehajtáskor a műveletvégzés operandusai Ha az utasításhoz nem tartozik operandus, akkor ez a rész elmarad Az 1950-es évektől minden utasításnak rövid nevet (mnemonikot) adtak, így könnyebbé vált a kezelésük (könnyebb lett összeállítani a CPU egységet irányító utasítássorozatot is) A gépi utasítások csoportjai Memóriakezelő utasítások (regiszter vagy memória olvasása, írása, másolása stb.) Aritmetikai és logikai utasítások (összeadás, kivonás, osztás, szorzás; bitmanipulációs műveletek, pl.: eltolás, negáció; összehasonlítás, például: kisebb, nagyobb, egyenlő stb.) Vezérlőutasítások (feltételes ugrás, feltétel nélküli ugrás stb.) Egyéb utasítások (például energiagazdálkodást szabályzó utasítások, amelyek a mai modern gépeken már megtalálhatók) 20

CPU Informatika I. *CPU szimulátor program Nem tanuljuk, külön érdeklődőknek: mérnök hallgatók gyakorlati anyagai (C100) 21

Buszrendszer A számítógép fő részei közötti összeköttetést elektromos vezetékek biztosítják Ezek juttatják el az egyik egységből a másikhoz a működéshez szükséges kódokat Ilyen vezetékek kötik össze a memóriát a CPU-val (ez a legfontosabb), az input, output eszközökkel stb. Kezdetben ezeken a rendszereken mindenféle kódot mozgattak, később külön vezetékrendszer készült a memóriacímek, az utasítások, az adatok kódjainak átvitelére. Egy-egy kódcsoporthoz tartozó vezetékrendszert busznak hívunk. (Címbusz, adatbusz stb.) Egy számítógép összes busza a buszrendszer A buszrendszerben nem pont-pont kapcsolattal mennek a vezetékek, hanem minden busz egy fővezetékből áll, amelyre több egység is csatlakozhat A kódok bitjeinek átvitele lehetséges Bitenként egy vezetéken egymás után. Ezt soros átvitelnek hívjuk. Emellett átvihetjük a teljes kódot, vagy annak egy jól meghatározott bitszámú részét annyi vezetéken, ahány bitből áll a megadott rész. Ehhez legalább annyi vezeték kell, ahány bitet egyszerre szeretnénk szállítani. Ezt az átvitelt párhuzamos átvitelnek nevezzük. 22

Órajel-generátor Egy számítógép megfelelő működéséhez az is fontos, hogy a gépet felépítő elemi áramkörök szinkronban működjenek Ennek biztosítására a gépekben egy órajelet (szinkronizáló jelet) használnak, amit az órajelgenerátor állít elő Ez az apró áramkör (még az ősi szg.-ken sem volt jelentős méretű) a főbb egységektől függetlenül működik, az előállított jeléhez minden egység hozzáfér Az órajel egy alacsony (0) és egy magas (1) feszültségérték között periodikusan és ugrásszerűen váltakozó folytonos, elektromos jel Az áramkörök működését a felfutó és lefutó élnek nevezett 0-1 vagy 1-0 átmenetek szinkronizálják: az órajelben bekövetkező hirtelen fesz.változást figyelve képesek a szg. részei az összehangolt működésre Periódusidő (jele: T): azt mutatja, hogy az órajel-gen. jele bármely időpillanathoz mérten (minimum) mennyi idő múlva lesz pontosan ugyanolyan értékű A T reciproka az 1/T, az órajel frekvenciája, azt fejezi ki, hogy egy időegység alatt (pl. másodperc) hány periódus ismétlődik A mai modern számítógépeken ez az érték már 10 9 (gigahertz, GHz) nagyságrendű is lehet Az órajel frekvenciája nagy mértékben befolyásolja egy adott számítógép gyorsaságát is 23

Órajel-generátor Az Intel processzorok fejlődése (tranzisztorok száma, órajel) a többmagos processzorok megjelenéséig Processzor típusa Bev. éve Tranzisztorok sz. Órajel 8088 (első PC-k) (50 kflops) 1979 30 000 5 MHz 80286 1982 130 000 6 MHz 80386 1985 275 000 16 MHz 80486 1989 1 200 000 25 MHz Pentium (586-os PC) 1993 3 100 000 66 MHz Pentium Pro 1995 5 500 000 200 MHz Pentium II 1997 7 500 000 300 MHz Pentium III (1 GFLOPS felett) 1999 9 500 000 500 MHz Pentium 4 és Xeon (2000) 2000 42 000 000 1,5 GHz Pentium M 2002 55 000 000 1,7 GHz Pentium D 2005 291 000 000 3,2 GHz Core 2 Duo és Dual-Core Xeon 2006 291 000 000 2,93 GHz Dual-Core Itanium 2 2006 1 720 000 000 1,66 GHz Quad-Core Xeon és Core 2 Quad (50-60 GFLOPS) 2007 582 000 000 2,66 GHz 24

Órajel-generátor Gépünk teljesítményadatai (Vezérlőpult) 25

Input és output eszközök A számítógép nem sokat ér, ha nem tud a környezetével (kétirányú) kapcsolatot teremteni Azaz: képes a környezettől adatokat, kérdéseket stb. fogadni, és meg tudja jeleníteni az eredményeket, esetenként a számolás részeredményeit is A kapcsolatteremtésre képes eszközök csoportosítása Bemenő vagy inputeszközök: ezeken keresztül a számítógép adatokat, instrukciókat fogad (inputperifériák) Kimenő vagy outputeszközök: ezeken keresztül a számítógép adatokat küld a külvilág felé (outputperifériák) Háttértárak vagy input/output (I/O) eszközök: azon berendezések, amelyekre a számítógép adatokat/kódokat képes küldeni, ezeket az eszköz megőrzi és ha szükséges, vissza tudja olvasni A háttértárak kódtároló részeit gyakran le lehet választani az egységről, és egy másik számítógép hasonló egységére téve lehetővé válik a kódok/adatok egyik gépről a másik gépre való átszállítása A háttértárat a memória kibővítésének is fel lehet fogni, hiszen azok a kódok/adatok, amelyekre a működéshez éppen nincs szükség, háttértárra küldhetők, majd amikor újra szükség lesz rájuk, visszatölthetők Input vagy output, illetve I/O eszközök (hétköznapi tapasztalataink alapján): billentyűzet, egér, monitor, hangszóró, nyomtató, CD-olvasó, CD-író, winchester stb. Megj.: a mai modern sz.gépekhez kifejlesztettek olyan perifériákat is, amik nem háttértárak, mégis képesek input és output tevékenységek végrehajtására. Példák: érintőképernyő, többfunkciós nyomtató stb. 26

Input és output eszközök Ezen eszközök számítógéphez való csatolására kétfajta módszert alkalmaznak Memóriába ágyazott I/O: az eszközöket a memória eléréséhez használt buszra kapcsolják (*a SimHYMN is ilyen). Ezzel a módszerrel csatolt periféria vagy háttértár ugyanúgy sorszámot (esetenként sorszámokat) kap, mint a memóriarekeszek, azaz címezhetővé válik. Kód/adat írása vagy olvasása a memóriába való írással/olvasással megegyező módon, ugyanazokkal az adatmozgató utasításokkal történik. Dedikált I/O: az adatforgalom egy külön buszon, külön input, output utasítások hatására jut el a memóriába vagy a CPU regisztereibe Winchester szétszedett állapotban 27

Mi a számítógép napjainkban? Korunkban azt a berendezést hívjuk számítógépnek, amelyik struktúrájában és működési elvében megegyezik/hasonlít a fentebb vázlatosan ismertetett géppel/géphez 28

A számítógép működése A memória elemei a gép kikapcsolásakor elveszthetik tartalmukat. A belső programvezérlés elvén épített számítógépnek szükséges: a mem.ból jusson hozzá a működéshez szükséges utasításhoz. Megoldás: olyan memóriák használata, amelyek nem vesztik el tartalmukat a számítógép lekapcsolása után sem (már hosszú ideje vannak ilyenek) Ezen belül: megfelelő memóriarész, ide a gép gyártásakor beírják az bekapcsoláskor/indításkor végrehajtandó utasítást (innen veszi ki azt a CU) Ennek a memóriarésznek a címét a kezdetekben a gépkezelő egy kapcsolótáblán tudta beállítani, később a gép bekapcsolásakor mindig ugyanaz a cím került a PC regiszterbe Az első ut.ok végrehajtása során a CU felépíti a további működéshez szükséges mem.tartalmat A megmaradó tartalmú memória mérete eleinte pár bájt volt, manapság több KiB, sőt GiB A működés tehát a következő: Bekapcsoláskor feszültség alá kerül a számítógép. A fesz.impulzus hatására a CPU regisztereiben kezdőérték generálódik. Bekerül az utasításregiszterbe az első gépi utasítás kódja (a PC reg. alapján), és a CU a már ismert módon elkezdi ciklikus működését Ez az állandóan ismétlődő folyamat már a teljes számítógép-működést meghatározza Ez a működés automatikus, csak akkor van szükség a kezelő beavatkozására, ha a program ezt előírja (A kezelő persze beavatkozhat a működésbe, amikor csak akar, de ennek gyakran az a következménye, hogy az éppen futó program megszakad, és esetleg nem is lesz folytatható) A számítógép működése kikapcsolással állítható le A mai modern gépek, ha éppen várakoznak a gépkezelő beavatkozására, és ez nem történik meg, akkor takarék üzemmódra kapcsolnak, sőt (kezelői utasításra) önmaguk kikapcsolására is képesek Külön köszönet: Pukler A. és Boros N. kollégáimnak 29