Rövid történeti áttekintés Informatikai rendszerek alapjai Horváth Árpád <horvath.arpad@amk.uni-obuda.hu> 2015. május 6. Tartalomjegyzék 1. Neumann János Neumann János (John von Neumann, 19031957) Született: 1903. december 28., Budapest. Apja egy bank ügyvédje 1914-ig magánúton tanul, utána fasori gimnáziumba kerül. Tanárai: Rátz László, Kürschák József, Fekete Mihály Wigner Jen : Zseni csak egy volt... 1921: érettségizik; matematikai publikáció Feketével Egy történet szerint Wigner Jen t, Neumann osztálytársát kés bb megkérdezték, hogy hogyan lehet, hogy annyi zseni került ki Magyarországról, akkor válaszolta, hogy Hogyhogy annyi zseni? Zseni közöttünk csak egy volt: Neumann János.. Wigner Jen, a Nobel-díjas zikus tehát ilyen komolyra értékelte Neumann zsenialitását. Pedig tényleg szép számmal kerültek ki magyar gimnáziumokból Neumann kortársai közül Novel-díjasok is: Gábor Dénes, Szent-Györgi Albert, Békésy György, Hevesy György, mind kortársa volt. 1
Neumann János (egyetem, indulás) matematikus; Berlin/Zürich (ETH) ve- egyetemek: Bp. gyészmérnök, Berlin: Gábor Dénes, Szilárd Leó, Wigner Jen barátsága, Einstein zikael adását hallgatja Zürich: matematikusokkal levelezett; Pólya, Weyl (el adás) kutatás (Göttinga, Hilbert): matematikai logika; kvantummechanika 1932 Mathematische Grundlagen der Quantenmechanik Apja vegyésznek szánta, úgyhogy tanulmányait a Berlini Egyetemen kezdte vegyészmérnökként, majd Zürichben folytatta, ott kapta meg a vegyész-diplomát 1926-ban. Zürichben Pólya György és Hermann Weyl matematikusok el adásait látogatta. Utóbbi helyett el adást is tartott, amikor egy ideig távol volt Zürichb l. Pólya György szerint csak egyetlen hallgatójától félt: amikor egy el adásán beszélt egy megoldatlan matematikai problémáról, a végén odament hozzá Neumann, és bemutatta a feladat teljes megoldását. Budapesten szerezte meg a matematikusi diplomát, majd kés bb a doktori végzettséget (1926). Kit n eredménnyel tette le vizsgáit, pedig az el adásokat nem tudta látogatni. (Kérem, ez utóbbiban ne kövessék, mert hátha nem mindenkinek m ködik a dolog!) Neumann János (családi élet) 2
Kövesi Marietta Házasság 19321937 lányuk Marina sz. 1935 1939: házassága Dán Klárával, aki programozó lesz A képen Dán Klárával, és Inverz nev kutyájával Neumann János: játékelmélet NeumannMorgenstern: Theory of Games and Economic Behavior, 1943 játékelmélet; axiomatikus tárgyalás, kombinatorikával árucsere több résztvev között monopólium, ogliopólium szabad kereskedelem kis példányszám; 1946-ban a New York Times címoldalán 3
Neumann János: EDVAC, IAS A II. világhábórú alatt katonai tanácsadó A lökéshullámok terjedését vizsgálja, ami bonyolult (dierenciál)egyenletek megoldását jelenti. Nagy számolásigény. EDVAC, IAS sztori (lásd kés bb) Amikor Goldstine-t l megtudta, hogy milyen nagy sebesség számítógép épül (ez még az ENIAC), akkor gyelme a számítógépépítés felé fordult. Ilyen gépekre volt szüksége a lökéshullám-terjedés modellezéséhez. Neumann János: Utolsó évek meteorológia, bonyolult matematika, mely csak számítógéppel oldható meg rákos lesz, meghal 1957. február 8-án A számítógépeket többek között a meteorológiai el rejelzések készítésére használta fel Neumann. Addig is ismertek voltak a leveg tulajdonságának változásait leíró zikai egyenletek, de képtelenség volt számítógép nélkül akár csak egy óra id tartamra is kell pontossággal kiszámítani az egyenletek megoldását. 4
Neumann János jobbra Ulam lengyel származású matematikus, Feynman amerikai zikus és Neumann. Jellemz Neumannra, hogy általában mindenhol öltönyben jelent meg. Láttam régebben olyan képet, ahol lovas kiránduláson is öltönyben látható. Sajnos az interneten nem találtam meg. Feynmanra pedig Balról 5
pont az ellenkez je jellemz, lebilincsel el adásain általában nem szokott nyakkend t sem hordani. Kivétel talán a Nobel-díj átadásakor tartott el adása volt. Neumann János Tartalomjegyzék 2. Mechanikus számológépek, adatfeldolgozó berendezések XVII.- XIX. század 2.1. Korai gépek Korai gépek Schickard 1623, els mechanikus számológép, Keplernek, t zvész Pascal, a mechanika tökéletesítése, +, Leibniz, Pascalét tökéletesíti, négy alapm velet; kettes számrendszer ötlete, csak túl sok számjegy b vebben comparch oldalon: www.intermedia.c3.hu/ szmz/comparch/ A csillagászatban egy égitest (pl. üstökös) pályájának, visszatérésének kiszámítása rengeteg matematikai számolást igényel, ezért vált volna nagy segítsgére Keplernek egy számoló gép. 6
A túl sok számjegy, és vele a túl sok fogaskerék m ködése rendkívül nom mechanikai megmunkálást igényel. Babbage gépeivel is az volt a gond, hogy kora nommechanikai megmunkálása nem volt elegend a gépeinek megvalósításához. 2.2. Babbage és gépei Charles Babbage (17911871) Charles Babbage, National Portrait Gallery, London Forrás: www.mek.iif.hu/kiallit/tudtor/tudos1/babbage/babbagee.ment Babbage matematikus, mechanikus és feltaláló. Arra a következtetésre jutott, hogy a függvénytáblák számítását automatizálni kell, a nyomtatással együtt. 1816-tól a Royal Society tagja, 1828 és 1839 között Cambridge-ben a matematika professzora (ugyanazt a professzori állást töltötte be, amit korábban Newton). Hat könyvet írt, és közel 90 cikket publikált. Babbage: Dierential Engine No. I., 18221834 7
A táblázatok kiszámítására tervezett Dierential Engine-t nem sikerült teljes egészében megépítenie. A londoni Science Museumban 1991-ben Babbage részletes rajzai alapján megépítették az eredeti dierenciagép egyszer sített változatát korszer anyagokból. A gép négyezer alkatrészb l áll, méretei is tekintélyesek: 3,4 m 0,5 m 2,1 m. A berendezés tökéletesen m ködött: hibátlanul kiszámította a 7. hatványok táblázatának els száz értékét. Egy általánosabb gépet is tervezett az Analitical Engine-t mellyel szemben a követelményei: Babbage követelményei egy számoló géppel (Analitical Engine) szemben 1. ne kelljen mindig beállítani a számokat, meg lehessen adni egyszerre az összes számot és m veletet (ez lyukkártya segítségével oldható meg). 2. legyen bemeneti egység (ez a lyukkártya) 3. legyen utasítás (a m velet a lyukkártyán) 4. legyen küls programvezérlés (a lyukkártyákon tárolt utasítássorozat, a program) 5. legyen olyan egység, amely a kiindulási és a keletkezett számokat tárolja (memória) 6. legyen aritmetikai egység, amely számológépen belül a m veleteket végzi el 7. legyen kimeneti egység (a gép nyomtassa ki az eredményt). 8
1847-ig ezen a gépen dolgozott, bár az építése már kezdetben megakadt: a kor nommechanikai lehet ségeivel ezt a gépet nem lehetett elkészíteni. Augusta Ada King sz. Byron, Lovelace grófn (1815. december 10. 1852. november 27.) f ként arról ismert, hogy leírást készített a Charles Babbage által tervezett Analitycal Engine-hez. Ada volt Lord Byron költ és felesége, Annabella Milbanke egyetlen gyermeke, és egyben a költ egyetlen törvényes gyermeke. Egy Babbage-nél tett látogatás alkalmával Ada megtekintette az analitikus gépet, melyr l Babbage a következ képpen emlékszik meg: Míg az estély többi résztvev je ugyanazzal az arckifejezéssel és érzéssel tekintett erre a szép készülékre, mint amit állítólag egyes vademberek tanúsítottak, amikor el ször láttak távcsövet vagy hallottak puskalövést, Miss Byron akármilyen atal is volt megértette m ködését, és átlátta a találmány szépségét. Babbage kés bb Giovanni Plana olasz csillagász barátja meghívására Torinóba látogatott, ahol egy válogatott társaság el tt e tagja volt Luigi F. Menabrea tábornok is könnyed stílusú el adássorozatot tartott. Menabrea-t megragadta a Babbage munkássága, és az el adásokról rövid beszámolókat írt, amelyet 1842-ben ki is adatott. Menabrea egyébként kés bb Olaszország miniszterelnöke is lett. 1842-1843-ban Ada kilenc hónap alatt lefordította Luigi Menabrea írását Babbage Analytical Engine-jér l. Babbage e hír hallatán arra buzdította az ekkor már 27 éves asszonyt, hogy lássa el jegyzetekkel a Menabrea dolgozatot. Az eredmény nem maradt el: a fordításban jegyzetek kétszer olyan hosszúak lettek, mint a m maga. Az írás kiváló lett, és arról tanúskodik, hogy Ada az anyjától örökölt matematikai tehetségen túl apjától irodalmi vénát is örökölt. A fordítás külön érdekessége, hogy tartalmaz magyarázatként számos programot is, amelyeket kés bb átvizsgálva tökéletesen m köd nek találtak a rekonstruált analítikus gépen. Charles Babbage logaritmustáblái magyarul, 1834 9
Charles Babbage ismer se volt Nagy Károly magyar tudós. Nagy Károly hagyatékában talált vázlatrajzok mutatják, hogy t is foglalkoztatta a számológépek építésének gondolata. Emellett Babbage kész logaritmustáblázatai magyar el szóval is megjelentek Nagy Károlynak köszönhet en. Tudnivaló, hogy a m veletek könnyebben számolhatóak, ha a számok logaritmusaival számolunk, mert ilyenkor a bonyolultabb m veletek egyszer bbé alakulnak: a szorzás összeadássá, a hatványozás szorzássá, a gyökvonás osztássá alakul. A logarléc és az elektronikus számológépek el tt nagyon hasznos segédeszköz volt a logaritmustáblázat. 3. XX. század: az elektromechanikus berendezésekt l a személyi számítógépig 3.1. Colossus Colossus (uk), Tommy Flower, 1943, decrypter 10
1943. decemberében Tommy Flower a Bletchley Parkban (Cambridge közelében) elkészítette a Colossus els verzióját. A gép a világ els elektroncsöves számítógépe volt, az els programozható digitális elektronikus számítógép. Kódvisszafejt gép volt. 2400 elektroncs vel. Sebessége, 5000 karakter per másodperc volt. 3.2. Zuse és gépei Konrad Zuse (de), 1935-t l 11
A Z3-as, ami 1941-ben készült el, volt a világon az els programvezérelt számítógép, mely lyukszalagon rögzített adatokkal és programmal, kettes számrendszerben, lebeg pontos számábrázolással dolgozott. Bevitelre klaviatúra szolgált, megjelenít eszköze egy lámpákból álló kijelz volt. Az ezzel kapcsolatos jegyzeteiben Konrad Zuse már leírja a tárolt program elvét, amit a világ Neumann-elvként ismer. Haláláig hasztalanul próbálkozott Zuse bizonyítani, hogy a tárolt program elvét évekkel korábban leírta, mint Neumann János, már kitalálta és alkalmazta is. 3.3. USA, jól dokumentált sikertörténet USA, jól dokumentált sikertörténet Mark-I, Mark-II relés ENIAC (Electronic Numerical Integrator and Computer: elektronikus numerikus integrátor és számítógép); Goldstine, Mauchly; ballisztikus táblák; huzalozással programozták Neumann János: First Draft of a Report on the EDVAC 101 oldalas, 1945. június 30. A First Draft közzétélelével közkincs a tárolt program elve EDVAC (Eckert, Mauchly) és IAS (Neumann) szétvált szabadalmi viták miatt UNIVAC: az els kereskedelmi forgalomban is kapható, sorozatban gyártott univerzális számítógép (UNIVersal Automatic Calculator) (Eckert, Mauchly) 12
ENIAC IAS Az ENIAC programozása Az IAS, az Institute for Advanced Study Electronic Computer Project által elkészített számítógép, több gép se. IAS és utódai IAS (Institute for Advanced Study, Princeton, ahol építették) 13
leszármazottai AVIDAC, Argonne National Laboratory, 1949-1951 MANIAC, Los Alamos Scientic Laboratory, 1948-1952 IBM 701, IBM Corporation JOHNNIAC és még sok Goldstine: A számítógép Pascaltól Neumannig, M szaki Kiadó, 2003 Aspray: Neumann János és a modern számítástechnika kezdetei, Vincze Kiadó, 2004 Az IAS és készít i Bigelow, Goldstine, Oppenheimer és Neumann az IAS el tt Herman Goldstine, a projektvezet Neumann János (John von Neumann), logikai tervez, az alapelvek és numerikus módszerek kidolgozója Julian Bigelow, a f mérnök 3.4. Neumann-elvek Neumann-elvek A számítógép legyen univerzális: programtól függ en különböz feladatokat képes megoldani. A gép m ködésének alapja a bináris (kettes) számrendszer legyen. Két állapot (0, 1), egyszer bb áramköri megvalósítás. (11010110 egy nyolc bites bináris szám) 14
A tárolt program elve: A programot az adatokhoz hasonlóan a bels tárolón helyezzük el (szintén bitsorozatként). Soros m ködés: az utasításokat egymás után hajtja végre, egyszerre egyet. (Ma pl. a többmagos processzoroknál a két magban két utasítás párhuzamosan is végrehajtódhat.) Az utasításokat emberi beavatkozás nélkül értelmezze és hajtsa végre. Az IAS felépítése Harvard- vs. Neumann-architektúra 15
4. Számítógépgenerációk Számítógépgenerációk Az elektronikus számítógépeket szoktuk generációkba sorolni az elektronikus aktív alkatrészük szerint (ami a m veleteket végzi). Els generáció elektroncsöves gépek 19461954 (felt. 1904) Második generáció tranzisztoros gépek 19541965 (felt. 1947) Harmadik generáció IC-s gépek 19651971 (felt. 1958), Negyedik generáció nagy integráltságú (LSI, Large Scale Integration) áramkörökb l (70-es évek közepét l máig) Ötödik generáció a jöv, nem aktív alkatrész alapján Számítógépgenerációk megkülönböztet jellemz i Elektronikus aktív elemek Felépítés: az egyes egységek kapcsolódási módja M veleti sebesség: szorzás, összeadás sebessége Alkalmazási kör Programozás módja Méret Teljesítményfelvétel Megbízhatóság Tároló zikai megvalósítása (operatív tárolóé, azaz memóriáé) Egyebek 16
1. generáció Elektronikus aktív elem: elektroncs Felépítés: processzorcentrikus M veleti sebesség: 10 3 10 4 m velet/s Alkalmazási kör: tudományos számítások Programozás módja: gépi kódban Méret: teremnyi Teljesítményfelvétel: nagy a elektroncsövek katódjának f tése Megbízhatóság: gyakran kellett elektroncsövet cserélni Tároló: az operatív tár késleltet m vonal vagy tárolócs Magas ár, kis példányszám miatt A processzorcentrikus felépítés Processzor Központi vezérl egység Beviteli egység Aritmetikai logikai egység Kiviteli egység Operatív tároló A folytonos vonalak az adatmozgás lehetséges irányait mutatják, a szaggatott vonalasak a vezérl jelekét. 2. generáció Elektronikus aktív elem: tranzisztor Felépítés: tárolócentrikus, csatorna rendszer perifériaszervezés M veleti sebesség: 10 4 10 5 m velet/s Alkalmazási kör: tudományos számítások és üzleti alkalmazások Programozás módja: magas szint nyelvek megjelenése (pl. FORTRAN) Méret és teljesítményfelvétel jelent sen csökken 17
Megbízhatóság: jelent sen n, a tranzisztorok élettartama jelent sen nagyobb az elektroncsövekénél Tároló: ferritgy r s operatív tár Operációs rendszerek alkalmazása (másik el adásban b vebben) Ferrittár (1947 kb. 1980) A ferrittár olyan mágneses anyagokon, az úgynevezett ferriteken alapul, amelyek mágnesessége kétféle irányú lehet, ami megfelel a 0-ás és 1-es biteknek. A mágnesesség iránya kiolvasható. A mágnesesség irányának megváltoztatásához adott nagyságú áramer sség szükséges. A mátrixsszer en (vízszintes és függ leges vezetékekre felf zött) elrendezett ferritgy r k esetén úgy tudunk csak egy ferritgy r mágnesezettségi irányán változtatni, ha mindkét irányú vezetéken a szükséges áram felét küldjük át. Ekkor a két vezetéken lev többi ferritgy r mágneses iránya megmarad. A tárolócentrikus felépítés 18
Processzor Központi vezérl egység Aritmetikai logikai egység Beviteli egység Operatív tároló Kiviteli egység 3. generáció Elektronikus aktív elem: integrált áramkör (IC) Felépítés: moduláris M veleti sebesség: 106 107 m velet/s Alkalmazási kör: tovább b vül Programozás módja: magas szint nyelveken írják az operációs rendszereket is (pl. C) Méret és teljesítmény-felvétel tovább csökken Megbízhatóság: jó Tároló: félvezet s operatív tár Multiprogramozott, id osztásos m ködés (másik el adásban b vebben) A moduláris felépítés esetén a számítógép egyes moduljai közös vezetékkel, az átviteli sínnel (angolul bus) vannak összekötve. Ami lehet vé teszi például, hogy ha kevés a gép memóriája (azaz az operatív tár tárolóképessége), akkor újabb memóriamodult építsünk be, növelve a memóriát. 19
3. generáció Számítógép-család Tudományos gépek mellett üzletiek is megjelentek IBM egy kompatibilis sorozata mindkett re (360-as) 4. generáció felépítés és utasításkészlet azonos (számítógép-család) memória, processzor sebesség valamint a be- és kiviteli eszközök száma különböz Elektronikus aktív elem: nagy és igen nagy integráltságú (LSI, VLSI, (Very) Large Scale Integration) áramkör Felépítés: mikroprocesszoros szervezés személyi számítógépek Alkalmazási kör: szövegszerkesztésre, táblázatkezelésre, grakára, adatbáziskezelésre is (számítástechnika informatika) Programozás módja: szinte kizárólag magas szint nyelveken történik Tároló: félvezet s, integrált áramkörökb l készült memória Szoftver szerepének növekedése Számítógéphálózatok kialakulása, általánossá válása Korábban a számítógépeket kimondottan rengeteg számítás elvégzésére hozták létre. A számítógépek fejl dése során egyre több olyan területeken használjuk, amelyek lényege nem konkrét számítások elvégzése, hanem valamilyen információk tárolása, feldolgozása, nyomtatható formára hozása. Emiatt a számítástechnika név helyett sokszor az informatika nevet használják. Moore-törvény 20
Moore-törvény: a központi vezérl egységben (CPU) található tranzisztorok száma nagyjából két évenként megduplázódik. Az állandó id nkénti megduplázódást az exponenciális függvény írja le, amely egyenest ad, ha a függ leges tengelyen a számérték (itt tranzisztor-darabszám) logaritmusát ábrázoljuk, azaz a 10000, 100000, 1000000 stb, egyenl távolságonként követik egymást. Miért van ez így? Minden f(t) = a x (a > 0) exponenciális függvényt felírhatunk 10 hatványaként y = f(t) = 10 kt ahol k a növekedés mértékét jellemz állandó, minél nagyobb, annál kisebb id közönként duplázódik a függvény értéke. Vegyük az egyenlet mindkét oldalának logaritmusát: log 10 y = kt Ha a függ leges tengelyen az y helyett annak Y = log y logaritmusát ábrázolom, akkor az Y = kx lineáris függvényt kapom. Az ábrán látható, hogy 1990-ben kicsit több mint 1 millió tranzisztor volt egy 486-os CPU-ban, addig 2000-ben egy Pentium 4-es processzorban több tízmillió. Nagyjából húszszorosára n tt a tranzisztorok darabszáma egy CPU-ban. Mivel a függ leges skála logaritmikus, a vízszintes id skála lineáris, ezért a szaggatottal húzott egyenes egy exponenciális függvénynek felel meg. Egy f(x) exponenciális függvény jellemezhet például a duplázódás T 2 idejével: exponenciális függvény esetén bármelyik t id pillanatban vizsgálom a függvényt, ha T 2 id elmúlik, akkor mindig duplájára fog változni a függvényérték: f(t + T 2 ) = 2f(t) Az, hogy 10 évente nagyjából 20-szorosára változik a tranzisztorok száma, azt jelenti, hogy kicsit több mint két év kell a duplázódáshoz, T 2 2 év, ami a Moore-törvény. Érdekességképpen két másik jelenség, ahol az exponenciális id függés van jelen, csak csökken el jellel: a kondenzátoron es feszültség, amikor kisül egy ellenálláson keresztül, illetve a radioaktiv elemek bomlásakor a radioaktiv elemek száma. Az utóbbinál ismer s fogalom lehet a felezési id, ami nagyon hasonló az el bb említett T 2 duplázódási id vel. 21