Az informatika alapjai
A számítógépes feladatok nagy része nem matematikai számítás, így amikor a számítógép fogalmát meghatározzuk, sokkal általánosabban kell fogalmaznunk: Azt mondhatjuk, hogy a számítógép információ«adat-átalakító eszköz.
Legelőször tisztáznunk kell az adat és információ fogalmát. Az adatot nyers adatként szokták értelmezni. Az adat lehet: szöveg, szám, kép, hang stb. Az információ az adatok rendezett, egymással összefüggő, értelmezett rendszere. Ha tekintjük azt az értéket, hogy „170 cm”, akkor erről, mint adatról beszélhetünk. Ha azt mondjuk, hogy magasságom 170 cm, akkor ez már információ.
lásd az 1.képen - Az információ mint értelmezett adat
A számítógép az input (bemeneti) eszközein közölt információkat átalakítva információt ad vissza nekünk. Az információt kimeneti (output) eszközein jeleníti meg, valamilyen, az ember számára érzékelhető formában (pl. képernyőn, nyomtatásban vagy éppen hang formájában). Ma külön műveletként tekintik a tárolást, amikor a feldolgozott információkat további feldolgozásra tároljuk. Így a számítógépes feldolgozást 4 fázisra oszthatjuk:
Input: Bevisszük az adatokat a számítógépbe.
Feldolgozás: A számítógép feldolgozza azokat.
Output: Kiadja az eredményeket.
Tárolás: Elmentjük az adatokat, későbbi felhasználásra.
lásd az 2. képen - A számítógép, mint információ feldolgozó eszköz
Az írás kialakulásával egyidőben (ie. 4000–3000 táján) létrejöttek a számok leírására alkalmas jelek, illetve számjegyek. A számolás gyorsításának igénye egyidős a számolással. A babiloniak táblázatokkal dolgoztak, de az első igazi gyorsítási lehetőséget a helyiértékes számírás feltalálása jelentette. Az egyiptomi abakusz, majd ennek utódai a különféle golyós eszközök a helyiértékes ábrázoláson és a tízes számrendszeren alapultak. Innen ered a mai kalkulátor szó is, hiszen az abakusznál használt kövecskék latin neve „calculus” volt.
Az ókortól a XX. századig sokan foglakoztak olyan tevékenységgel, amelyek hozzájárultak a számítógépek kifejlesztéséhez (pl.: J. Bürgi, Napier, W. Schickard, B. Pascal, G. W. Leibniz, J. M. Jacquard, Ch Babbage, G. Boole, H. Hollerith).
K Zuse német mérnök 1938-ban megépítette első mechanikus Z1 nevű gépét, és a többszöri továbbfejlesztés során elkészített Z3 nevű gépét (1941) már jelfogókból felépített lebegőpontos aritmetikai egységgel szerelte fel. Ezzel egyidőben H. Aiken a Harvard Egyetem fizikusa tervezett elektromechanikus gépeket (Harvard Mark I. és Mark II.).
Az elektromechanikus gépek nagyon nehezen voltak programozhatók. Nem tudták a fellépő különböző részeredmények hatására a tevékenységüket automatikusan megváltoztatni. Sebességüket a jelfogók kapcsolási ideje nagymértékben korlátozta.
Az 1906-ban feltalált elektroncsövet a 30-as években továbbfejlesztve kapcsolóelemekként is használni kezdték. Ez lehetővé tette a mechanikus kapcsolóelemek elektroncsövekkel való kiváltását. Az első új kapcsolási elvű gépet 1939-ben kezdte el J. W. Mauchly, H. H. Goldstine és J. P. Eckert építeni, de az ENIAC a Pennsylvaniai Egyetemen csak 1946-ra készült el. Ez a gép kb. 18000 elektroncsövet, és sok más alkatrészt tartalmazott és teljesítményfelvétele elérte a 150 kW-ot. Másodpercenként 3–400 szorzást volt képes elvégezni.
Neumann János lásd 5. képen
A mai értelembe vett számítógépről azóta beszélhetünk, mióta Neumann János megfogalmazta a belső programvezérlés elvét, és megtervezte, majd elkészítette az ennek megfelelő architektúrájú számítógépet az EDVAC-ot.
Neumann János, magyar származású tudós, számítógépekre megfogalmazott elvének lényege, hogy a szekvenciális (soros), automatikus működésű, digitális számítógép tárolja a műveletek sorozatát, azaz a programot.
Az általa elképzelt gép részei:
Központi aritmetikai egység, számolómű;
Központi vezérlő egység;
Memória;
Input és output (ki- és beviteli) egység.
Röviden összefoglalva arról van szó, hogy az elektronikus számítógépnek rendelkeznie kell egy olyan szerkezeti egységgel, amelyben egy feladathoz tartozó információk összességét (program + adatok) tárolni és kezelni (elérni, létrehozni, olvasni és módosítani) lehet. Ez az egység a számítógép memóriája. A memóriában tárolt program olyan utasítások összessége, amelynek lépéseit a vezérlő egység minden emberi beavatkozás nélkül értelmezi, és a gép egy további egysége, a számolóművégre is hajtja. Az információt kódolva tárolja a memória; a kódolás alapja a 2-es számrendszer.
A számítógépek fejlődésének különböző korszakait generációknak nevezik. A generációkat a hardverek és szoftverek fejlettsége alapján állapítják meg.
3.1 Első generációs számítógépeknek nevezik a jelfogós és elektroncsöves berendezéseket. Ezeket az ötvenes évek elejéig többnyire egyedileg gyártották. Az első sorozatban gyártott számítógép az UNIVAC (1951) volt. Zuse is üzembe helyezte 1950-ben Zürichben új gépét, a Z4-et. Megemlíthetjük még az IBM első generációs gépeit, az IBM 701-es és az IBM 650-es sorozatot is. Szovjetunió első gépe, a MESZM, 1951-ben Lebegyev vezetésével készült el. A gépek ún. fixpontos aritmetikai egységgel dolgoztak, azaz a számolómű csak egész számokkal volt képes műveleteket végezni. Az ún. lebegőpontos, azaz nem egész számokkal végezhető műveletek elvégzésére programot kellett írni. A programokat gépi nyelven készítették. Az aritmetikai és logikai egységet (számolómű) és a központi vezérlő egységet összevonva központi feldolgozó egységnek (Central Processing Unit , CPU) nevezték el. A CPU közvetlenül vezérelte a külső berendezéseket is (beolvasó, kiíró stb.), és ez a külső berendezések lassúsága miatt az egész feldolgozási sebességet visszavetette.
3.2 A második generációs gépekben (1955–65) a kisméretű és sokkal gyorsabb kapcsolási idejű félvezető diódák és tranzisztorok kiszorították az elektroncsöveket. Megjelent a nagyobb kapacitású, gyors tárolást lehetővé tevő ferritgyűrűs memória. A nagy tömegű adatot mágnesszalagos és mágneslemezes egységeken tárolták. A második generációs gépek mérete lecsökkent, és az üzembiztonságuk jelentősen megnőtt. A sebességük másodpercenként az 1 millió műveletet is elérte. A beviteli-kiviteli műveleteket a CPU helyett az önállóan működő perifériaprocesszorok bonyolították. A CPU teljesítményét néhány gépcsaládnál lebegőpontos aritmetikával is növelték.
Megjelentek az első magas szintű programnyelvek (1954: FORTRAN, 1959: COBOL, 1960: ALGOL, és 1964-ben a BASIC).
3.3 A harmadik generációs gépek fő korszaka a 60-as évek közepén kezdődött, és a 70-es évek végéig tartott. Ezek a gépek már integrált áramkör felhasználásával készültek, ezért jelentősen sikerült a gépek méreteit csökkenteni, amivel arányosan nőtt a működési sebességük, és négyzetesen csökkent az energiafogyasztásuk. A gépek tárolási kapacitása és sebessége megsokszorozódott. Egyre inkább elterjedt a modulrendszerű felépítés. A gépek kihasználtságát azzal fokozták, hogy a gép erőforrásait (processzor, memória, nyomtató, háttértárak stb.) az egymástól független programok vagy felváltva, vagy egyszerre használhatták (multiprogramozás). A programok futásának ütemezését (és ennek adminisztrációját) egy speciális szoftverre bízták, amelyet operációs rendszernek neveztek.
A 3. generációs gépek közül megemlítjük az IBM 360-as sorozatot, és a CDC 6000-t.
3.4 A negyedik generációs gépek fejlődése a 70-es évek közepétől napjainkig tart. Az integrált áramkörök gyártástechnológiájának továbbfejlődése (LSI és VLSI – magas integráltsági fokú áramkör) tette lehetővé a nagykapacitású memória-áramkörök gyártását. Többféle, speciális feladatú áramkört is kialakítottak:
a mikroprocesszort, ami egyetlen félvezető lapkára került;
a különböző tárolási feladatokat ellátó memória-áramköröket;
az egyéb kiegészítő áramköröket (órajel-generátorok, meghajtók stb.);
programozható I/O (beviteli és kiviteli) áramköröket
Ebben az időszakban a számítógépek előállítási költsége és az alkalmazott technológia lehetővé tette, hogy a mikroprocesszorhoz közvetlenül kapcsolt memóriával és I/O áramkörökkel „olcsó” számítógépek készüljenek. Ezeket a gépeket mikroszámítógépeknek hívjuk, és tömeges elterjedésük tette lehetővé, hogy a számítógép mindennapjaink eszközévé vált. Ebbe a kategóriába tartoznak a személyi számítógépek is.
3.5 Az ötödik generációs számítógépek elveit a 80-as évek végén dolgozták ki. Ezek alapján képzelték el az új számítógépek megépülését. Az elképzelések alapján nem készültek el ezek a számítógépek, de néhány elv használhatónak bizonyult, ezeket a mai számítógépek tervezésénél, építésénél figyelembe veszik.
1. generáció |
2. generáció |
3. generáció |
4. generáció |
5. generáció |
-1958 |
1958-1965 |
1965-1978 |
1978- ? |
-?- |
Hardver: Elektroncső |
Hardver: Tranzisztor |
Hardver: Integrált á.k. |
Hardver: VLSI á.k., Internet |
Hardver: hibrid VLSI á.k. |
A hazai számítástechnika gyökerei az 1930-as évekig nyúlnak vissza. Nemes Tihamér (1895–1960) postamérnök ekkor kezdett el kibernetikai gépek tervezésével foglalkozni.
Kozma László (1902–1983) mérnök 1930-tól a Bell Telephone antwerpeni gyárában telefonközpont-fejlesztőként dolgozott. 1938-ban megbízták, hogy a gyárban használatos telefonközpont-elemekből automata számológépeket építsen. 1955-ben tervezte és építette meg a BME első és egyetlen jelfogós bináris számítógépét a MESZ 1-et. A gép programvezérelt, de nem tárolt programú volt.
Kalmár László (1905–1976) akadémikus, matematikaprofesszor tervezte és építette meg 1958–1960-ban az ún. Kalmár-féle logikai gépet. A gép főleg az oktatás céljait szolgálta a József Attila Tudományegyetemen.
Több kutató intézetben is folytak fejlesztések (KFKI, EMG stb.), a gyártások is beindultak, hazánk elsősorban licensz alapján gyártott kisebb gépeket.
Napjainkban egyre nő a személyi számítógépek aránya, általánossá vált ezek hálózatos ill. az INTERNET használata.
A számítógépeink elemi szinten csak két különböző állapotot tárolnak (1 bit), ezért a kódrendszerünket ehhez kellett igazítani. Így lett alkalmas a kódok leírására a kettes számrendszer, hiszen ennek a számrendszernek két számjegye van, és ezek megfeleltethetők a két tárolható állapotnak.
A bit a bináris alapinformáció egysége, nagyobb egységek: 1 bájt=8 bit, 1 Kilobájt=1024 bájt, 1 Megabájt=1024 Kilobájt, 1 Gigabájt=1024 Megabájt, 1 Terabájt=1024 Gigabájt.
Ha jól meggondoljuk, akkor elég csak a
információk kódolását definiálnunk, mert minden más ezekre visszavezethető.
Bináris (kétállapotú) rendszerekben több bináris jel együttese szükséges egy-egy általunk használt karakter kódolásához. A memória belső szervezése és az általunk használt karakterek száma miatt 8 bináris jelből álló, azaz 8-bites (1 bájt) kódrendszert alakítottak ki. Így például az A betű kódja: 01000001. A kódok 2-es számrendszerbeli értékük szerint sorrendbe rendezhetők. Nyolc bit, azaz 1 bájt segítségével 256 jelet tudunk kódolni. A legtöbb számítógép az ASCII kódrendszert használja, melyben az első 128 darab kód standard kód. Sajnos ez a 128 darab kód csak az ékezet nélküli betűket, számjegyeket és az írásjeleket kódolja. A speciális jelek (grafikus jelek, ékezetes jelek…) kódjai a felső, 128-tól 255-ig terjedő tartományba eshetnek csak. Ez a tartomány szűk valamennyi jelnek.
ASCII kódtábla (0–127)
A legújabb személyi számítógépes operációs rendszerek 16 jelből álló kódot, azaz kétbájtos kódrendszert ún. Unicode rendszert használják.
Ha a jelek kódrendszere már definiálva van, ennek a kódrendszernek segítségével már minden olyan szöveg, amely a kódrendszerben lévő jelekkel készült, kódolható. A szöveg kódja úgy keletkezhet, hogy a szöveg egymás utáni jeleinek kódját egymás után írjuk, és a kód végét egy speciális jel kódjával zárjuk. A kapott csupa bináris jelből álló jelsorozat lesz az adott szöveg kódja. A kódban lévő jelek száma a szövegben lévő karakterek számának 8 (vagy 16) szorosa +8 (vagy 16).
Ha a számokat számjegyekből álló szövegként kódoljuk, akkor ezzel a kóddal nehézkesek lennének a számokkal végezhető műveletek. A számok kódolását számábrázolásnak is szokás nevezni. Ennek megértéséhez célszerű először a számrendszerekről ejteni néhány szót.
A mindennapi életben a tízes számrendszerrel dolgozunk, ami azt jelenti, hogy az értékeket a 10-es számrendszer 0, 1, 2, …, 8, 9 számjegyeivel írjuk le a helyi értékek figyelembevételével. Tehát
199810 = 1*103 + 9*102 + 9*101 + 8*100
Egy p alapú számrendszer használata esetén az adott számértéket úgy számítjuk ki, hogy a megfelelő helyiértékű számjegyet (ami 0 és p–1 közé esik, beleértve a végpontokat is) megszorozzuk a p-nek megfelelő kitevőjű hatványával, és az ilyen tagokat összeadjuk.
Fixpontos számábrázolás
Egész vagy egész számra visszavezethető számok kódolásakor használják ezt a kódolást. A kód hossza leggyakrabban 8, 16 ill. 32 jel. Jelölje N a kód hosszát. Ha pozitív számot nem akarunk kódolni, akkor 0-tól 2N–1-ig lehet választani a számokat, negatív számokat is megengedve [-2N–1 - 2N–1–1]-ig lehet a kódolandó számokat választani. Az első estben a kódolás nagyon egyszerű, hiszen a pozitív szám kettes számrendszerbeli alakja előröl annyi nullával kiegészítve, ahány a kívánt hossz eléréséhez kell.
Ha negatív számok is vannak a kódolandók között, akkor a kódolásra az ún. kettes komplemens kódot használjuk, amelyet úgy kapunk, hogy a kódolandó számhoz hozzáadunk 2N-et és ennek képezzük a kettes számrendszerbeli alakját. A következő táblázat az 1998 és a –1998 kódját tartalmazza.
Kód |
+1998 |
–1998 |
2’-es komplemens |
0000011111001110 |
1111100000110010 |
Lebegőpontos számábrázolás
Olyan számok kódolására használjuk, amelyek kettes számrendszerbeli normál alakban vannak megadva, vagy ilyen alakra hozhatók. A szám kettes számrendszerbeli normál alakja a következő: m*2k, ahol 1/2 £ m < 1 kettes számrendszerbeli szám, az ún. mantissza; k kettes számrendszerbeli egész szám, az ún. karakterisztika.
Pl. 1998 bináris normál alakja: 0.11111001110*21011
A szám kódolásához elegendő a mantisszát és a karakterisztikát kódolni.
Mint már korábban említettük minden információt, így a számítógépet vezérlő utasításokat is binárisan kódolják. Egy utasítás általában két fő részből áll:
Az első rész a műveletvégző egységnek szóló kód, azt mondja meg, milyen műveletet kell végrehajtani.
A második, ún. címrész, azt közli, hogy a kijelölt műveletet, melyik vagy hol található adatokkal kell végrehajtani, illetve, hogy a képződött eredményt hova kell tárolni. Ha az utasítás célja az, hogy a program ne a soron következő utasítással folytatódjék, akkor a címrész nem adatra, hanem a folytatási helyre mutat.
Két logikai adatot különböztetünk meg:
Az igaz kódja 1, a hamis kódja a 0 lehet.
A logikai adatokkal logikai műveleteket lehet végezni. Ezek lehetnek egy- vagy kétváltozós alapműveletek. Mi csak a legfontosabbakat értelmezzük:
NOT (NEM) művelet, jelölése: ØX. ØX akkor és csak akkor igaz ha X hamis.
OR (VAGY) művelet, jelölése: X Ú Y. X Ú Y akkor és csak akkor igaz, ha az X és az Y közül legalább az egyik igaz.
AND (ÉS) művelet, jelölése: X Ù Y. X Ù Y akkor és csak akkor igaz, ha az X és az Y is igaz.
A fent említett logikai műveleteket a következő táblázatban (ún. igazságtáblázatban) foglaljuk össze:
X |
Y |
|
X Ú Y |
X Ù Y |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
E szabályokat megalkotójukról G. Boole-ról Boole-algebrának is nevezik, a műveleteket megvalósító áramköröket pedig logikai kapuknak.
A képek és a hangok kódolása és tömörítése nagy jelentőséget kap, mivel ma már az otthoni audiovizuális berendezéseinkben is terjed a digitális működés, a mikroprocesszoros irányítás. Bonyolultságuk miatt ezeknek a kódolását itt nem részletezzük.
Összefoglalva a kódolásról elmondottakat, kitűnik, hogy a memória bármely részén fellelhető bináris jelsorozatról közvetlenül nem tudjuk eldönteni, hogy ott milyen és miként kódolt információt találtunk. Maga a számítógép a futó program alapján dönti el, hogy egy általa kezelt memóriaterület tartalmát hogyan értelmezi.
8. A számítógépek felépítése és működése
A számítógépet és a hozzá tartozó egységeket, funkciójuk szerint a következő kategóriákba soroljuk:
Beviteli egységek: egér, billentyűzet stb.
Főegység: ez a feldolgozó egység a processzorral.
Kiviteli egységek: monitor, nyomtató, hangszórók stb.
Tároló egységek: HDD, flopi stb.
Kommunikációs egységek: modemek, hálózati kártyák stb.
A beviteli (input) egységek feladata, hogy a számítógéppel közölt információt elektromos jellé alakítva, a számítógép számára továbbítsa.
A főegység végzi el az információ átalakítását, feldolgozását. Tartalmazza az alaplapot, a processzort, a memóriát, a különböző illesztőket és vezérlőket
A kiviteli (output) egységekfeladata, hogy a számítógép által feldolgozott információt a felhasználó számára érzé
A tároló egységeken tárolhatjuk az információkat későbbi feldolgozás céljából.
A kommunikációs egységek feladata biztosítani a számítógépes kommunikációt más gépekkel, ill. ezeken keresztül más felhasználókkal.
kelhető információvá alakítsa át.
lásd a Képgalériában a képet róluk!
9. Számítógépek és számítógéprendszerek típusai
A számítógépeket az alábbi szempontok szerint szoktuk osztályozni:
Feldolgozási sebesség, amit MIPS-ben, azaz „millió művelet másodpercenként” egységben mérnek. A modernebb gépek sebessége eléri a 100 MIPS-et. Ha a gépünk lebegőpontos számításra való alkalmasságára vagyunk kíváncsiak, a MIPS helyett az MFLOPS, azaz „millió lebegőpontos művelet másodpercenként” értéket kell ismernünk.
Tárkapacitás, ami az operatív memória méretét jellemzi, az itt tárolt bájtok száma.
Processzor-regiszterméret, ami a műveletvégzésre betölthető operandus hosszát, az egy időben feldolgozható bitek számát jelenti. A leggyakoribb értékek: 8, 16, 32, 64 bit.
Igen nagy tárkapacitás és műveletvégző sebesség, akár több ezer, igen gyors processzor jellemző reájuk. Klasszikus képviselője e gépcsaládnak a Cray-2 számítógép. Elsősorban a nagyon számolásigényes tudományos kutatómunkákhoz, tervezéshez és katonai cé
Hírek
Lehetőséget kaphatnak betekinteni az informatika alapjaiba, hálózati felépítésébe,működtetésébe.
Szavazás