Informatika I.
Széchenyi István Egyetem
2. előadás Számítógép történelem, Általános hardverismeretek
Dr. Kallós Gábor
2014–2015
Informatika I.
Széchenyi István Egyetem
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 Decimális és bináris mértékegységek
CPU 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
Informatika I.
Széchenyi István Egyetem
Motiváció
3
Informatika I.
Széchenyi István Egyetem
Motiváció Mindenkinek ismernie kell – legalább részben – ezeket a fogalmakat Ez nagy üzlet is!
4
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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 210 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
Informatika I.
Széchenyi István Egyetem
CPU 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
Informatika I.
Széchenyi István Egyetem
CPU 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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
CPU 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
Informatika I.
Széchenyi István Egyetem
CPU *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
Informatika I.
Széchenyi István Egyetem
CPU *CPU szimulátor program Nem tanuljuk, külön érdeklődőknek: mérnök hallgatók gyakorlati anyagai (C100)
21
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
Ó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 109 (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
Informatika I.
Széchenyi István Egyetem
Ó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
Informatika I.
Széchenyi István Egyetem
Órajel-generátor Gépünk teljesítményadatai (Vezérlőpult)
25
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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
Informatika I.
Széchenyi István Egyetem
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