Alapfogalmak Dr. Kallós Gábor 2007-2008. A számítógép felépítése A Neumann-elv A számítógéppel szemben támasztott követelmények (Neumann János,. Goldstine, 1945) Az elv: a szekvenciális és automatikus működésű, digitális, elektronikus számítógép (memóriája) tárolja a műveletek sorozatát, azaz a programot. A gép részei: Központi aritmetikai egység (számolómű) Központi vezérlő egység Memória nput és output egység 2 Számítógép történelem Számolóeszközök és számítógépek Számolásra alkalmas eszközök ( őstörténet ) Számológép (mechanikus) B. Pascal, W. Leibniz, C. Babbage Számítógép terv (mechanikus): Babbage, 1838 Első elektromechanikus számítógépek: Z1-4 (K. Zuse, 1938-) Mark. és. (. Aiken, 1941-) Első igazi elektronikus számítógép: ENAC (J. Mauchly,. Goldstine és J. Eckert, 1946) 18000 elektroncső, 150 kw energiaigény, 300-400 szorzás mp-ként 3 1
Számítógép történelem Számítógép generációk Osztályozás szempontjai: hardverek és szoftverek fejlettsége Első generáció (1949-55) Jelfogós és elektroncsöves berendezések CPU aritmetikai logikai egység + központi vezérlő egység EDVAC (1949), Z4 (1950), UNVAC (1951, már sorozatban gyártott), BM 650 és 701 Gépi kódú ill. assembly programozás Második generáció (1955-65) Diódák és tranzisztorok, ferritgyűrűs memória, kisebb gépméret Gyorsabb műveletvégzés, 1 millió művelet per sec Első programnyelvek (FORTRAN - 1954, COBOL - 1959, BASC - 1964) 4 Számítógép történelem armadik generáció (1965-78k.) ntegrált áramkörök, sokkal kisebb energiafogyasztás és méret, sokszoros tárolókapacitás és sebesség Operációs rendszerek (UNX), erőforrások közös használata BM 360, CDC 6000 Negyedik generáció (1975k-) Nagyfokú integráltság Mikroprocesszor, memória és kiegészítő áramkörök Mikroszámítógépek Ötödik generáció (elv: 1989k-) Néhány elképzelés beépült a mostani gépekbe 5 Számítógép történelem Magyarországi történelem azai fejlesztések ( hőskor, 50-es évek közepétől) Kozma László és Kalmár László (BME, Szeged) Számítógép-ellátottság 70-es évek elejétől: második generációs gépek (kb. 10 év késéssel) az országos szerveknél és az egyetemeknél, kutató intézeteknél 1983-tól: iskolaszámítógép program, minden középiskola kapott egy T1080Z személyi számítógépet (BASC progr.), szintén 10 év késés a harmadik generációnál 80-as évek végétől: BM-klónok (COCOM-lista vége) 90-es évek második fele: már nincs lemaradásunk, ill. ha mégis van, az csak pénzkérdés 6 2
A számítógépek osztályozása Számítógép kategóriák Az osztályozás fontosabb szempontjai: Feldolgozási sebesség, tárkapacitás, adatátviteli sebesség Szuperszámítógép Az elsők több tízmillió dollárba kerültek, most is nagyon drágák Akár több ezer, igen gyors processzort tartalmaznak, párhuzamos működés Nagyon számolásigényes tudományos kutatómunkához és katonai célokra használják Leghíresebb képviselőjük a Cray gépcsalád Nagyszámítógép Nagyobb cégeknél, vállalatoknál, nagyobb egyetemeken Több ezer felhasználó egyidejű kiszolgálására Kisszámítógép A személyi számítógépnél eggyel magasabb kategória Fontosabb gyártók: BM (de nem PC), Silicon Graphics, Sun, Next Mikroszámítógép (személyi számítógép, PC) A mikroprocesszor megjelenésével, már az első példányok elfértek minden kellékükkel együtt egy asztalon, egy felhasználó számára elérhető áron Fontosabb gyártók: BM, ewlett Packard, Olivetti, Apple Macintosh 7 Adatok A számítógép adatkezelő eszköz Az adatokat át kell alakítani oly módon, hogy a számítógép kezelni és tárolni tudja Az adattárolás alapja a kettes számrendszer elyiértékes ábrázolás, tdk. 0-1 sorozatok Az adatokat a gép memóriája tárolja Bit, bájt, Kilobájt, Megabájt, Gigabájt, Terabájt Tárolandó: szöveg, szám, (utasítás), logikai, kép és hang 8 Szöveges adatok A szöveg karakterek sorozata A karaktereket 1, 2 vagy több bájton el lehet tárolni A kódokat táblázatok tartalmazzák Tárolási szabványok ASC (American Standard Code for nformation nterchange) Felső fele változhat, SO 8859-1 (Latin-1) és 8859-2 (Latin-2) EBCDC (Extended Binary Coded Decimal nterchange Code, főként nagygépes környezetben) Unicode (Különböző nemzeti karakterkészleteket tartalmaz, 1991-) UTF-7: 7 bites kód, már nem használják UTF-8: az ASC Latin-1-ből UTF-16: 16 bites kód UCS-4 és UTF-32: 4 bájtos kódok Ebben már pl. a kínai és koreai képírás is benne van 9 3
Az ASC kódtábla alsó fele 10 A Latin-2 (felső) kódtábla részlete 11 Számok Tárolási szabványok egész számokra (fixpontos: a tizedespont helye fix) Előjeles bináris kódolás BCD kódolás (Binary Coded Decimal, vállalati és pénzügyi rendszereknél) 4 bites csoportok, jegyek 0-tól 9-ig tt lehet törtrész is Bináris komplemens kódolás A 0-val kezdődő számok pozitívak Az 1-gyel kezdődő számok negatívak (invertálással) Spec: kettes bináris komplemens A számhoz hozzáadunk 2^N-et, ennek a bináris alakját vesszük, ha N biten kódolunk (nemneg. számoknál túlcsordulás) Vagy: pozitív számokra bináris alak, negatív számokra a bináris alak bitenkénti invertálása + 1 tt nincs pozitív és negatív 0 12 4
Példa: 2 bájtos kettes (bináris) komplemens ábrázolás Ábrázolható számtartomány: 2^15-től +2^15 1-ig Ábrázolható számok legnagyobb nem negatív legkisebb nem negatív legnagyobb negatív legkisebb negatív Binárisan 0111 1111 1111 1111 0000 0000 0000 0000 1111 1111 1111 1111 1000 0000 0000 0000 Decimálisan +32767 0 1 32768 Lehetséges problémák az egész számok ábrázolásával: Túlcsordulás Pozitív és negatív 0 13 Tört számokra: lebegőpontos ábrázolás m*2^k alakra hozzuk a számot, ahol ½ <= m < 1 Tárolandó a mantissza (m, az első bit kivételével, pl. 23, 52 vagy 64 bit), a karakterisztika (k, fixpontosan, pl. 8, 11 vagy 15 bit), és az előjel (1 bit) Kiegészítjük 0-val a hiányzó pozíciókat ill. elhagyjuk az el nem férő jegyeket Valós számokra csak közelítés! Példa: a -987,56 lehetséges ábrázolása 4 bájton 987,56 10 = 11 1101 1011.1000 1100 1100 2 Lebegőpontos alak: 0.1111 0110 1110 0011 0011 *2 10 Karakterisztika: 10 10 = 1010 2 Előjel 1 Mantissza (1) 111 0110 1110 0011 0011 0011 Karakterisztika 0000 1010 Lehetséges problémák: Túlcsordulás, alulcsordulás A 0 pontossága, ill. mit tekintünk 0-nak 14 Logikai adatok Logikai állítás: igazságtartalma egyértelműen eldönthető (igaz vagy hamis) Ezt a két értéket tároljuk Elvileg egy bit is elég, gyakorlatilag egy bájtot szoktak használni Műveletek Egyváltozós (NOT negáció, tagadás) 4 ilyen művelet lehetséges Kétváltozós AND és, konjunkció; OR vagy, diszjunkció; XOR kizáró vagy Szabályok: Boole-algebra 15 5
Fontosabb kétváltozós logikai műveletek: A B A AND B A OR B A XOR B A B A B elyettesítési szabályok az implikáció és az ekvivalencia kiváltására (egyszerűen ellenőrizhető): A B = NOT(A) OR B A B = (A AND B) OR (NOT A AND NOT B) 16 6