407
Andrew S.Tanenbaum Számítógép architektúrák

Andrew S Tanenbaum - Számítógép architektúrák

Embed Size (px)

DESCRIPTION

Andrew S Tanenbaum - Számítógép architektúrák

Citation preview

  • Andrew S.Tanenbaum

    Szmtgparchitektrk

  • A m eredeti cme: S truc tu red C om puter O rganization. Fifth Edition. C opyright 2006, 1999,1990, 1984, 1976 Pcarson E ducation , Inc. Pearson Prentice H all, Pearson E ducation , Inc. U ppcr Saddie R iver, N J 07458.All rights reserved.

    H ungrin I .anguage E dition C opyright Paiicm K nyvkiad Kft. 2006

    A k iadsrt felel a Panem K nyvkiad Kft. gyvezetje, B udapest, 2006

    Ez a knyv az O ktatsi M inisztrium tm ogatsval, a Felsoktatsi Tanknyv- s Szakknyv-tm ogatsi Plyzat keretben je len t meg.

    ISB N -10: 9-635454-57-0 ISBN-13; 978-9-635454-57-0

    L ek to r lta s szerkesztette; D r. M t E rs

    F ordto tta; Bohus Mihly, A lexin Z o ltn , G om bs va, Nyl Lszl, H orvth Gyula, E rdhelyi Balzs, S chre ttner Lajos, Virgh Jnos B ortterv: T th A ttila T rdelte; P ipasz Bt.

    panem (a)panem .huhttp://w ww .panem .hu

    M m den jog fenntartva. Jelen knyvet, illetve annak rszeit tilos reprodukln i, adatrgzt rendszerben tro ln i, brm ilyen form ban vagy eszkzzel - e lektron ikus ton vagy ms m don - kzlni a kiadk engedlye nlkl.

    Tartalom

    Elsz 13

    1. Bevezets1.1. Strukturlt szmtgp-felpts1.1.1. Nyelvek, szintek s virtulis gpek1.1.2. K orszer tbbszin t szm tgpek1.1.3. A tbbszint szm tgpek fejldse1.2. Mrfldkvek a szm tgpek felptsben1.2.1. N ulladik generci: m echanikus szm olgpek (1642-1945)1.2.2. E ls generci: vkuum csvek (1945-1955)1.2.3. M sodik generci: tranzisztorok (1955-1965)1.2.4. H arm adik generci: in tegrlt ram krk (1965-1980)1.2.5. N egyedik generci: m agas integrJtsg ram krk (1980-?)1.2.6. td ik generci: l tha ta tlan szm tgpek1.3. Szmtgp-killts1.3.1. Technolgiai s gazdasgi m ozgatrugk1.3.2. A szm tgpek term ksklja1.3.3. E ldobhat szm tgpek1.3.4. M ikrovezrlk1.3.5. Jtkgpek1.3.6. Szemlyi szm tgpek1.3.7. Kiszolglk1.3.8. M unkallom sok gyjtem nye1.3.9. N agyszm tgpek1.4. Nhny szm tgpesald1.4.1. A Pentium 4 ttek in tse1.4.2. U ltraSPA R C III ttek in tse1.4.3. A 80511.5. Mrtkegysgek1.6. Knyvnk tartalmrl1.7. Feladatok

    1718182023283031 34 36 38 40 42 42 44 44 46484950505152 52 57 59 61 62 63

  • 62. Szmtgprendszerek felptse2.1. Processzorok2.1.1. A C P U felptse2.1.2. U tasts-vgrehajts2.1.3. R ISC s CISC2.1.4. K orszer szm tgepek tervezsi elvei2.1.5. U tastsszin t prhuzam ossg2.1.6. Processzorszint prhuzam ossg 2.2. Kzponti memria2.2.1. B itek2.2.2. M em riacm ek2.2.3. B jtsorrend2.2.4. H ibajavt kdok2.2.5. G yorst tr2.2.6. M em riatokozs s -tpusok 2.3. Httrmcmria2.3.1. M em riah ierarch ia2.3.2. M gneslem ezek2.3.3. H ajlkonylem ezek2.3.4. ID E -lem ezek2.3.5. SCSI-lem ezek2.3.6. R A ID2.3.7. C D -R O M2.3.8. rh a t C D -k2.3.9. jra rha t C D -k2.3.10. D V D2.3.11. Blu-Ray2.4. Bemenet/Kimenet2.4.1. Snek2.4.2. Term inlok2.4.3. E gr2.4.4. N yom tatk2.4.5. Telekom m unikcis berendezsek2.4.6. D igitlis kam erk2.4.7. K arak terkdok2.5. sszefoglals2.6. Feladatok

    3. A digitlis logika szintje3.1. K apuks Boole-algebra3.1.1. K apuk3.1.2. B oole-algebra3.1.3. A Boole-fggvnyek m egvalstsa3.1.4. ram kri ekvivalencia3.2. Alapvet digitlis loj^ikai ramkrk3.2.1. In teg r lt ram krk3.2.2. K om bincis ram krk

    TARTALOM TARTALOM 7

    66 3.2.3. A ritm etikai ram krk 17066 3.2.4. rk 17567 3.3. Memria 17668 3.3.1. T rolk 17772 3.3.2. F lip-flopok 17974 3.3.3. R egiszterek 18175 3.3.4. M em riaszervezs 18380 3.3.5. M em rialapkk 18683 3.3.6. R A M -ok s R O M -ok 18884 3.4. CPU lapkk s snek 19184 3.4.1. C PU lapkk 19286 3.4.2. Szm tgpes snek 19488 3.4.3. Snszlessg 19692 3.4.4. Snek idztse 19895 3.4,5. S ntem ezs 20296 3.4.6. S nm veletek 20596 3.5. Pldk CPU lapkkra 20897 3.5.1. Pentium 4 208

    100 3.5.2. U ltraSPA R C III 214101 3.5.3. 8051 219103 3.6. Pldk snekre 221104 3.6.1. ISA sn 222108 3.6.2. PC I sn 223112 3.6.3. PC I Express 232114 3.6.4. U niverzlis soros sn 236115 3.7. Kapcsolat a perifrikkal, interfszek 240117 3.7.1. A B /K lapkk 240117 3.7.2. C m dekdols 242117 3.8. sszefoglals 245121 3.9. Feladatok 246126127 4. A mikroarchitektra szintje 251133 4.1. Mikroarchitektra-plda 251141 4.1.1. A dat t 252143 4.1.2. M ikroutastsok 258147 4.1.3. M ikroulasts-vezrls: M ic-1 261148 4.2. ISA-plda: az IJVM 266

    4.2.1. Verm ek 266152 4.2.2. Az IJV M m em riam odellje 268152 4.2.3. Az IJV M utastskszlete 270153 4.2.4. Java ford tsa IJV M -re 273155 4.3. Plda a megvalstsra 275157 4.3.1. M ikroutastsok s jel lsrendszer 275159 4.3.2. IJV M m egvalstsa M ic-1 felhasznlsval 280163 4.4. A mikroarchitektra szintjnek tervezse 291163 4.4.1. Sebessg vagy r 291165 4.4.2. A vgrehajtsi t hossznak cskkentse 294

  • TARTALOM TARTALOM 9

    4.4.3. Terv elre betltssel: a M ic-24.4.4. C svonalas terv; a M ic-34.4.5. H tszakasz csvezetk; a M ic-44.5. A teljestmny nvelse4.5.1. G yorst tr4.5.2. E lgazsjvendls4.5.3. Sorrendtl e lt r vgrehajts s regisztertnevezs4.5.4. F elt te lezett vgrehajts4.6. Pldk a mikroarchitektra-szintre4.6.1. A Pentium 4 C PU m ikroarch itek trja4.6.2. Az U ltraSPA R C III Cu C PU -jnak m ikroarch itek trja4.6.3. A 8051 C PU m ikroarch itek trja4.7. A Pentium, az UltraSPARC s a 8051 sszehasonltsa4.8. sszefoglals4.9. Feladatok

    5. Az utastsrendszer-architektra szintje5.1. Az ISA-szint ttekintse5.1.1. Az ISA-szint tulajdonsgai5.1.2. M em riam odellek5.1.3. R egiszterek5.1.4. U tastsok5.1.5. A Pentium 4 ISA -szintjnek ttek in tse5.1.6. A z U ltraSPA R C III ISA -szintjnek ttek in tse5.1.7. A 8051 ISA -szintjnek ttek in tse5.2. Adattpusok5.2.1. N um erikus adattpusok5.2.2. N em num erikus adattpusok5.2.3. A Pentium 4 adattpusai5.2.4. A z U ltraSPARC III adattpusai5.2.5. A 8051 processzor adattpusai5.3. Utastsfornitumok5.3.1. U tastsform k tervezsnek kvetelm nyei5.3.2. A m veleti kd kiterjesztse5.3.3. A Pentium 4 u tastsform lum ai5.3.4. A z U ltraSPA RC III utastsform tum ai5.3.5. A 8051 u tastsform tum ai5.4. Cmzsi mdszerek5.4.1. Cm zsi m dok5.4.2. K zvetlen cmzs5.4.3. D irek t cmzs5.4.4. Regisztercm zs5.4.5. R egiszter-indirekt cmzs5.4.6. Indexelt cmzs5.4.7. Bzis-index cmzsi md5.4.8. Verem cm zs5.4.9. Cm zsi m dok elgaz utastsokban

    301303309312313 319 324 329 332 332 338 343346347348

    352354354356358359 359 362 365 368368369370370371371372 374 376378379380 380380381 381381382 384 384 388

    5.4.10. A m veleti kd s a cm zsi m d ortogonalitsa 3885.4.11. A Pentium 4 cmzsi m djai 3905.4.12. Az U ltraSPA RC III cmzsi m djai 3925.4.13. A 8051 cmzsi mdjai 3925.4.14. A cmzsi m dok sszefoglalsa 3935.5. Utaststpusok 3945.5.1. A datm ozgato u tastsok 3945.5.2. D iadikus m veletek 3955.5.3. M onadikus m veletek 3965.5.4. sszehasonlt s feltteles elgaz u tastsok 3985.5.5. E ljrshv u tastsok 4005.5.6. Ism tlses vezrls 4005.5.7. B em enet/k im enet 4025.5.8. A Pentium 4 utastsai 4055.5.9. Az U ltraSPA R C III u tastsai 4085.5 .l . A 8051 utastsai 411 5.5.11. A z u tastsrendszerek sszehasonltsa 4115.6. Vezrlsi folyamat 4145.6.1. Szekvencilis vezrls s elgazs 4145.6.2. E ljrsok 4155.6.3. K orutinok (trsru tinok) 4215.6.4. C sapdk 4225.6.5. M egszaktsok 4235.7. Rszletes plda: Hanoi tornyai 4275.7.1. A H ano i tornyai prob lm a m egoldsa Pentium 4 assembly nyelven 4275.7.2. A H anoi tornyai prob lm a m egoldsa U ltraSPA R C III assem blyben 4295.8. Az Intel IA -64 architektra s az Itanium 2 4315.8.1. A Pentium 4 problm i 4315.8.2. A z IA -64 m odell; explicit u tastsszint prhuzam ossg 4335.8.3. A m em riahivatkozsok cskkentse 4335.8.4. U tasts tem ezs 4345.8.5. Felt teles elgazsok cskkentse: p rdikci 4365.8.6. Spekulatv bet lts 4385.9. sszefoglals 4395.10. Feladatok 439

    6. Az opercis rendszer gp szintje 4446.1. Virtulis memria 4456.1.1. L apozs 4466.1.2. A lapozs m egvalstsa 4486.1.3. A krsre lapozs s a m unkahalm az m odell 4526.1.4. L apcsercl eljrsok 4536.1.5. L apm ret s elaprzds 4556.1.6. Szegm entls 4566.1.7. A szegm entls m egvalstsa 4596.1.8. A Pentium 4 virtulis m em rija 4626.1.9. A z U ltraSPA R C III virtulis m em rija 466

  • 10

    6.1.10. V irtulis m em ria s gyorsttr 6.2. Virtulis B/K utastsok6.2.1. Fjlok6.2.2. A virtulis B/K utastsok megvalstsa6.2.3. K nyvtrkezel utastsok6.3. A prhuzamos feldolgozs virtulis utastsai6.3.1. Processzusok ltrehozsa6.3.2. V ersenyhelyzetek6.3.3. Processzusok szinkronizcija szem aforokkal6.4. Pldk opercis rendszerekre6.4.1. Bevezets6.4.2. Pldk virtulis m em ria kezelsre6.4.3. Pldk virtulis B/K m veletekre6.4.4. Pldk processzusok kezelsre6.5. sszefoglals6.6. Feladatok

    7. Az assembly nyelv szintje7.1. Bevezets az assembly nyelvbe7.1.1. Mi az assem bly nyelv?7.1.2. M irt hasznlnak assembly nyelvet?7.1.3. Az assembly u tastsok alakja7.1.4. Pszeudoutastsok7.2. Makrk7.2.1. A m akrk defincija, hvsa, kifejtse7.2.2. Param teres m akrk7.2.3. Elnys tu lajdonsgok7.2.4. A m akrassem bler m kdse7.3. Az assem bler menetei7.3.1. K tm enetes assem blerek7.3.2. E ls m enet7.3.3. M sodik m enet7.3.4. Szim blum tbla7.4. Szerkeszts s betlts7.4.1. A szerkeszt feladatai7.4.2. A trgym odul szerkezete7.4.3. H ozzrendelsi id s d inam ikus thelyezs7.4.4. D inam ikus szerkeszts7.5. sszefoglals7.6. Feladatok

    8. Prhuzamos szmtgp-architektra8.1. Lapkaszint prhuzamossg8.1.1. U tastsszin t prhuzam ossg8.1.2. L apkaszin t tbbszlsg8.1.3. Egylapks m ultiprocesszorok

    469469470 472475476477478 482 4,S6 4S6 495 499 510516517

    524525525526 528 531 534 534536537538539539540544545547548551552 555559560

    563564565 572 578

    TARTALOMTARTALOM

    8.2. Trsprocesszorok8.2.1. H lzati processzorok8.2.2. M diaprocesszorok8.2.3. K riptoprocesszorok8.3. Kzs memris multiprocesszorok8.3.1. M ultiprocesszorok s m ultiszm tgpek8.3.2. M em riaszem antika8.3.3. U M A snrendszer SM P-architcktrk8.3.4. N U M A -m ultiprocesszorok8.3.5. C O M A -m ultiprocesszorok8.4. zenettadsos multiszmtgpek8 .4 .1. sszekt hlzatok8.4.2. M PP - ersen prhuzam os processzor8.4.3. K laszterszm tgpek8.4.4. A m ultiszm tgpek kom m unikcis szoftvere8.4.5. tem ezs8.4.6. A lkalm azsszint kzs m em ria8.4.7. Teljestmny8.5. Crid szm tsok8.6. sszefoglals8.7. Feladatok

    9. Ajnlott olvasmnyok s irodalomjegyzk9.1. Javasolt tovbbi olvasmnyok9.1.1. B evezet s lta lnos mvek9.1.2. Szm tgprendszerek felptse9.1.3. Digitlis logika szintje9.1.4. A m ikroarch itek tra szintje9.1.5 Az u tastsrendszer-arch itek tra szintje9.1.6. Az opercis rendszer gp szintje9.1.7. A ssem bly nyelv szintje9.1.8. Prhuzam os szm tgp-architektrk9.1.9. B inris s lebegpontos szm ok9.1.10. A ssem bly nyelv program ozs9.2. Bibliogrfia

    A) Binris szmokA .l. Vges pontossg szmokA.2. Szmrendszerek alapszm aiA.3. Konverzi egy ik alaprl a m sik alapraA.4. Negatv binris szmokA.5. Binris aritmetikaA.6. Feladatok

    11

    583584 592597598 598 606 610 619 628 629 631 635 644 650 652 654 661 667670671

    674674674676677678679679680 680 682683684

    696696698700702705706

  • 12

    B) Lebegpontos szmokB .l. A lebegpontos szmbrzols elveiB.2. Az IEEE 754-es lebegpontos szabvnyB.3. Feladatok

    C) Assembly nyelv programozsC .l. ttekintsC. 1.1. Az assembly nyelvC.1.2. Egy rvid assembly nyelv programC.2. A 8088-as processzorC.2.1. A processzorciklusC.2.2. A z ltalnos regiszterekC.2.3. M utatregiszterekC.3. Memria s cmzsC.3.1. M em riaszervezs s szegm ensekC.3.2. CmzsC.4. A 8088 utastsrendszereC.4.1. A datm ozgats, -m sols s aritm etikaC.4.2. Logikai, bit- s lp te t m veletekC.4.3. C iklusszervezs s ism tld string m veletekC.4.4. U gr s eljrshv utastsokC.4.5. Szubrutin hvsokC.4.6. R endszerhvsok s rendszerszubru tinokC.4.7. Z r m egjegyzsek az u tastsrendszerr lC.5. Az assem blerC.5.1. BevezetsC.5.2. A z A CK -alap assem bler, az as88C.5.3. E ltrsek m s 8088-as assem blerekt lC.6. A nyomkvetC.6.1. N yom kvet parancsokC.7. AlapismeretekC.8. PldkC.8.1. H ell Vilg plda C.8.2. Plda az lta lnos regiszterekre C.8.3. A call u tasts s a m u ta t regiszterek C.8.4. H ibakeress egy tm bkir program ban C.8.5. S tring-kezels s string-utastsok C.8.6. U gr tb lkC.8.7. Puffereit s vletlen fjlelrs C.9. Feladatok

    Angol-magyar trgymutat Magyar-angol trgymutat

    708708711715

    717718718719720 720722723 725725726 730 730733734735737738740741741742746747 749751752 752 756 758 760 763 766 768 771

    773795

    TARTALOM

    Elsz

    Knyvnk els ngy kiadsa azt az elvet kvette, hogy a szm tgp egym sra p l szintek h ierarch ijakn t foghat fel, am elyek m indegyiknek megvan a sajt, jl m eghatrozo tt feladata. Ez az alapelv m a is ugyangy rvnyben van, m int az els kiads m egjelensekor volt, ezrt az tdik k iads is ezen alapszik. R szletesen ism ertetjk a digitlis logika, a m ik roarch itek tra , az u tastsrendszer-arch itek tra , az opercis rendszer gp s az assem bly nyelv szintjt egyarnt, am int azt az els ngy kiadsban is tettk .

    J llehet az alapfelpts ugyanaz, az tdik kiads - kvetve a gyorsan vltoz szm tgp-ipargat - szm os vonatkozsban m egvltozott. N hol lnyegi, m shol csak kisebb a vltozs. Pldul aktualizltuk a szem lltetsre hasznlt gpeket, am elyek gy ebben a kiadsban az In tel Pentium 4, a Sun U ltraSPA RC III s az In tel 8051. A Pentium 4 a m ai asztali szm tgpek elterjed t m ikroprocesszora. Az U ltraSPA RC III ugyancsak elterjed t, am elyet szles krben hasznlnak a kzepes s nagy tbbprocesszoros rendszerekben.

    A 8051 vlasztsa azonban tbbeket m eglephet. Ez a tiszteletre m lt lapka m r vtizedek ta je len van. A begyazott rendszerek rendkvli fejldse azonban m egszerezte szm ra a m lt helyet. Mivel a rdis rkt l kezdve a m ikrohullm stkig szinte m inden t szm tgpek vezrelnek, a begyazott rendszerek irnti rdek lds egyre n, s a 8051-es lapkt szles krben hasznljk b en nk rendkvl alacsony (fillres) ra, a hozz m r ltez szoftverek s perifrik m ennyisge, valam int a p rogram ozshoz rt fejlesztk tm ege m iatt.

    A knyvet az ok tatsban jegyzetknt hasznl szm os egyetem i ok ta t ism te lten krte az vek sorn, hogy assembly nyelv program ozs is je len jk meg benne. A z tdik kiads ezrt kiegszlt ezzel az anyaggal, am ely a C fggelkben s a knyvhz tartoz C D -R O M -lem czen tallhat . A vlaszts az Intel 8088 nyelvre esett, mivel ez a ha trta lanu l npszer Pentium nak is az alapkszlete. V laszthattam volna az U ltraSPA RC vagy a M IPS nyelvt, esetleg egy olyan p ro cesszort, am elyrl szinte senki nem hallott, de m int sztnz eszkz, a 8088 a jobb vlaszts, hiszen a legtbb hallgatnak van o tthon Pentium os gpe, am ely kpes a 8088-as program ok fu tta tsra . Mivel az assem bly kdban rendkvl nehz a hibakeress, gy a C D -m ellk let a W indows-, Unix- s L inux-krnyezet m indegyikhez tarta lm az assembly fejlesztst segt eszkzket, pldul egy 8088 assemb-

  • 14 ELSZ

    lert, egy szim ultort s egy nym kvett. A C D m ellett ugyanezek az eszkzk m egtallhatk a knyv webhelyn is (lsd 15. o.).

    Az vek sorn a knyv egyre hosszabb lett. A terjedelem nvekedse e lker lhetetlen egy folyam atosan fejlds alall ll te r le t ism ertetse sorn, am elyben naponta j ism eretek bukkannak fel. E nnek eredm nyekppen , ha ezt a knyvet tanfolyam i segdletknt vagy flves jegyzetknt kvnjk hasznlni, valszn, hogy nem lehet vele egyetlen tanfolyam /flv a latt vgezni. Hgy lehetsges m egkzelts szerint legalbb az els hrom fejezet teljes egszben, a negyedik fejezel a 4.4. alfejezettel bezrlag s az tdik fejezet szintn teljes egszben kpezheti egy tanfolyam vagy flv anyagt. Az esetleges fennm arad idben, az ok tat vlasztstl fggen, a negyedik fejezet tovbbi rszvel, valam int a hatodik , h e te dik s nyolcadik fejezet egyes rszeivel foglalkozhatnak.

    A z albbiakban fejezetrl fejezetre felsoroljuk a negyedik kiadshoz kpest t rtn t vltozsokat. A z els fejezet tovbbra is a szm tgp-architektrk t rtnelm i ttek in ts t tartalm azza, bem utatva a jelenlegi helyzetet, valam int az ide vezet t je len ts m rfldkveit. E fejezet kiegszlt mg a je lenleg ltez szm tgptpusok spek trum nak ism ertetsvel s a hrom f pldaprocesszor (Pentium 4, U ltraSPARC III s 8051) vzlatos bem utatsval,

    A m sodik fejezetben a bem eneti/k im eneti (B/K) eszkzk tm akre kiegszlt, kiem elve a m odern eszkzkben hasznlt technolgikat, kztk a digitlis kam erkat, valam int a D SL s kbeles in te rne te t is,

    A harm adik fejezetet alaposan tdolgoztuk, s a szm tgpsnckkel. valam int a m odern B/K lapkkkal foglalkozik. Itt a hrom j pldaprocesszort lapkaszinten ism ertetjk. E fejezel kiegszli a PCI Express sn lersval, am ely vrhatan h a m arosan a PCI sn helybe fog lpni.

    A negyedik fejezet mindig is npszer volt. hiszen a szm tgp tnyleges m kdst m ulatja be, gy nagy rsze vltozatlan a negyedik kiads ta. B r kiegszlt j pontokkal is, am elyek a Pentium 4, az U ltraSPARC III s a 8051 m ikroar- chitek tra szintjt ism ertetik.

    Az tdik, hatodik s hetedik fejezetet - j p ldka t hasznlva - szintn frisste ttk , ettl eltekintve azonban viszonylag vltozatlan. A hatodik fejezet ugyan a W indows N T helyett a W indows X P rendszert hasznlja pldaknt, de a trgyalsnak ezen a szintjn ez alig je len t nm i vltozst.

    A nyolcadik fejezel ezzel szem ben je len ts m rtkben m egvltozott, hogy a prhuzam os feldolgozs m inden form jban fellelhet j tevkenysgeket kvesse. A prhuzam os rendszerek t klnbz osztlyt m utatja be, kezdve a lapkn belli prhuzam ossggal (u tastsszin t prhuzam ossg, lapkn belli tbbszlsg s egylapks m ultiprocesszorok), folytatva a trsprocesszorokkal, m egosztott m em rij rendszerekkel s a szm tgpklasztcrekkel (cluster), m ajd a hlzatrcs- (grid) technolgia rvid ism ertetsvel zrul. Szm os j plda is tallhat ebben a fejezetben, a TriM edia C PU -tl a lu eG en e /L , Red Storm - s G oogle- klaszterekig.

    A kilencedik fejezet hivatkozsai ugyancsak je len tsen frissltek. A szm tgp-arch itek tra d inam ikusan fejld ter let. A je len kiads hivatkozsainak tbb m int a fele a negyedik kiads ta m egjelent rsokra m utat.

    ELSZ 15

    Az A s B fggelk nem vltozott a legutbbi kiads ta, a gpi nyelv p rog ram ozst ism ertet C fggelk azonban teljesen j. Ez a C D -n s a w eboldalon ta l lhat eszkzk segtsgvel t rtn assem bly nyelv program ozs rszletes tm uta tsa , A fggelket az am szterdam i V rije E gyetem en dolgoz Dr. Evert W atti rta, aki tbbves tapasztalatta l rendelkezik a hallgatk ugyanezen eszkf)- zk segtsgvel zajl tantsban . Szeretnm ezton is kifejezni neki a ksznc- tem et,

    A gpi nyelv program ozst segt eszkzkn kvl a w eboldalon tal lhat egy - a negyedik fejezettel egytt hasznlhat - grafikus szim ultor is, am elyet az O berlin Fiskoln dolgoz R ichard Saller p rofesszor ksztett, s am ely a fe jezetben trgyalt alapelvek m egrtsben segti a hallgatkat. Nagyon ksztmm , hogy rendelkezsem re bocsto tta ezt a szoftvert,

    A kn j^ben ta l lhat brk cs az oktatk szm ra ksztett Pow erPoint bem uta tk is m egtallhatk a w eboldalon. Az U RL:

    liftp:ll\\\v\v.prcnhall.rom/taiunluutin

    E zen az oldalon kattin tson a knyv kpe alatti C om panion W ebsite hivatkozsra, m ajd a m egjelen m enbl vlassza ki a m egfelel oldalt.

    Sokan olvastk a kzirato t vagy annak egyes rszeit, s hasznos javaslatokkal vagy egyb m don segtettk m unkm at. K lnsen N ikitas A lexandridis, Shekar B orkar, H erb ert Bs, Seott C annon, D oug C arm ean , A ln C harlesw orth. Eri Cota-R obles, M ichael F etterm an, Q uinn Jacobson, T hilo K ielm ann. Iffat Kazi, Saul Levy, A hm ed Louri, A bhijit Pandya, K rist Petersen, M ark Russinovich. R onald Schroeder s Saim U ral segtsgt ksznm .

    K sznett m ondok Jim G oodm annek a kn^'v, klnsen a 4. s az 5. fejezet m egszletsben nyjtott segtsgrt. Az v volt az az tle t, hogy a Java virtulis gpet hasznljuk, s ezltal a knyv sokkal jobb lett.

    V gl jfent ksznm Suzanne soha el nem fogy szere te t t s trelm et, am ely m g 15 knyv m egrsa u tn is kitart. B arbara s M arvin m indig rm et szereznek, es m ost m r k is tudjk, mibl l egy ()rofesszor. A H olland Kirlyi M vszeti s Tudom nyos A kadm ia (Royal N etherlands A cadem y of rts and Sciences) 2004-ben nekem adom nyozta a m r rgta h to tt akadm iai profesz- szori kinevezst, ezzel m egszabadtott az akadm ia nhny kevsb vonz aspektust l (m int pldul az unalm as, vg nlkli bizottsgi lsek), am irt rkk hls leszek,

    Aiulrew S. Hmeiibaiiiit

  • 1. Bevezets

    A digitlis szm tgp olyan gp, amely a neki szl u tastsok alapjn az em berek szm ra p rob lm kat old meg. A zt az u tastssorozato t, amely lerja, hogyan o ldjunk m eg egy feladato t, p rogram nak nevezzk. M inden egyes szm tgp e lek tro nikus ram krei egyszer u tastsok korltozo tt halm azt kpesek felism erni s kzvetlenl vgrehajtani. V grehajtsuk el tt program jaikat ezen a halm azon kell lerni. L egtbb u tastsuk ritkn bonyolultabb az albbiaknl:

    Adj ssze kt szmot!E llenrizz egy szm ot, vajon nulla-e!Egy ada to t m solj a szm tgp m em rijban egyik helyrl a msikra!

    Egy szm tgp egyszer u tastsainak egyttese egy olyan nyelvet alkot, am elyen az em ber a szm tgppel kpes kom m uniklni. A z ilyen nyelvet gpi nyelvnek nevezzk. Egy j szm tgp tervezinek el kell dnten ik , hogy milyen egyszer u tastsokat vegyenek fel annak gpi nyelvbe. ltalban az egyszer u ta stsokat - a tervezett felhasznlst s teljestm nykvetelm nyeket figyelembe vve - a lehet legegyszerbbre vlasztjk, ezzel is cskkentve az elektron ika b o nyolultsgt s rt. ppen a gpi nyelvek ilyen egyszer volta m iatt az em berek szm ra hasznlatuk nehzkes s fraszt.

    A z idk folyam n ez a felism ers vezetett a szm tgpek absztrakcik sorozatakn t val struk turlsra . Egy absztrakcis szint az a la tta lev absztrakcis szintre pl. Ezzel a kom plexits kezelhetv vlik, s a szm tgpek tervezse szisztem atikus, szervezeti m don t rtnhet. Ezt a szem lletet nevezzk strukturlt szmtgp-felptsnek. A kvetkez rszben kifejtjk ennek a fogalom nak a je len ts t, ezt kveten pedig ttek in tjk t rtn e ti fejldst, a jelenlegi helyzetet, s bem utatunk nhny fontosabb pldt is.

  • 18 l.B EV EZ ET ES

    1.1. Strukturlt szmtgp-felptsM r em ltettk , hogy risi klnbsg van akztt, hogy mi az, ami az em bernek, s mi az, ami a szm tgpnek a legm egfelelbb. Az em ber az X dolgot akarja, de a szm tgp csak az Y dolgot tudja. Ez bizony problm a. Knyvnk clja, hogy elm agyarzza, hogyan o ldhat fel ez a problm a.

    1.1.1. Nyelvek, szintek s virtulis gpek

    A problm a kt oldalrl is m egkzelthet. M indkett az em ber szm ra a gpi nyelvnl knyelm esebben hasznlhat j u tastsrendszer tervezsre pl. Az j utastsok egyttese is egy nyelvet alkot - nevezzk ezt L l-n e k - , ugyangy, ahogy a b ep te tt u tastsok nyelvet alkotnak - legyen ez utbbi I.O. A ktfle m egkzelts abban klnbzik egymstl, hogy a szm tgp hogyan hajtja vgre az L1 nyelven ro tt p rogram okat, m ikzben csak a sajt, LO gpi nyelvn rt p rogram okat kpes vgrehajtani.

    Az L1 nyelv program vgrehajtsnak egyik m dja az, hogy elszr m inden u tastst helyettestjk az LO nyelv u tastsainak egy vele ekvivalens sorozatval. Az gy nyert program teljes egszben az LO utastsaibl ll. E kkor az eredeti L1 nyelv program helyett a szm tgp ezt az LO nyelv program ot hajtja vgre. Ezt a m dszert fo rd tsnak nevezzk.

    A msik m dszer szerint m egrunk egy LO nyelv program ot, am ely az LI nyelv p rogram okat bem en adatokkn t kezeli, s gy hajtja vgre azokat, hogy m inden utast.sukat elem zi, s a vele ekvivalens LO nyelv utastssorozato t azonnal vgrehajtja. Ez a m dszer nem ignyli, hogy elszr egy j, LO nyelv program ot lltsunk el. A m dszert rtelmezsnek, a vgrehajt program ot pedig rtelmeznek nevezzk.

    A ford ts s az rte lm ezs m dszere hasonl. Vgl is m indkett az LI utastsait az LO utastsaibl ll sorozatok vgrehajtsval teljesti. A klnbsg csak az, hogy a fo rdts esetben elszr az egsz L I nyelv program ot trjuk LO nyelvv, m ajd az I.l p rogram tl m egszabadulunk, s az LO program ot tltjk a szm tgp m em rijba, s azt hajtjuk vgre. A vgrehajts sorn az jonnan elllto tt LO program az, ami fut, s am i a szm tgpet vezrli.

    Az rtelm ezs esetben LI m inden utastsnak elem zst s dekdolst az u ta sts azonnali vgrehajtsa kveti. N em keletkezik lefordtott program . A szm tgpet az rtelm ez vezrli, szm ra az LI nyelv program csak adat. M indkt m dszert - s egyre gyakrabban a kett kom bincijt is - szles krben alkalmazzk.

    A helyett, hogy a fordts, illetve rte lm ezs fogalom krben m aradnnk , egyszerbb, ha egy hipotetikus, m sknt nevezve virtulis gpet kpzelnk m agunk el, am elynek gpi nyelve az L L N evezzk ezt a virtulis gpet M l-nek (az LO-nak m egfelel valdi gpet pedig MO-nak). I la az M l gpet elg olcsn m eg tudnnk pteni, nem lenne szksgnk sem m ifle LO nyelvre, sem LO program okat vgrehajt gpre. Program jaink;it egyszeren LI nyelven rnnk, am elyeket az M l szm tgp kzvetlenl vgrehajtana. M g ha annak a virtulis gpnek, am elynek

    1.1. STRUKTURLT SZMTGP-FELPTS 19

    gpi nyelve az L l, e lektronikus ram krkbl val m egptse tl drga, akkor is rhatunk r p rogram okat. Ezek a program ok feldolgozhatok LO nyelven rt r telm ezkkel vagy fordtkkal, am elyek kzvetlenl vgrehajta thatk valsgosan ltez szm tgpeken. M s szval gy rhatunk program okat virtulis gpekre, m intha azok valban lteznnek.

    A zrt, hogy a fordts vagy az rtelm ezs a gyakorlatban is alkalm azhat legyen, az LO s az L l nyelv nem k l n b z h e t,,nagyon. Lz a korlt tbbnyire azt jelenti, hogy br az L l jobb az LO-nl, a legtbb alkalm azshoz mg messze nem idelis. Ez taln riaszt annak fnyben, hogy az L l-n ck mi is volt az eredeti clja- m egszabadtani a program ozt att l a tehert l, hogy olyan nyelven fogalm azzon m eg algoritm usokat, amely inkbb gpre, m int em berre szabott. A helyzet azonban nem rem nytelen.

    A nyilvnval m egolds az, hogy kpezznk utastsokbl egy jabb halm azt, amely az 1,1-hez kpest m r inkbb em berre s kevsb gpre szabott. Ez a h a rm adik halm az is nyelvet alkot, nevezzk L2-nek (a hozz tartoz M2 virtulis gppel). L2-ben gy rhatunk program okat, m in tha valban ltezne ez az L2 gpi nyelv virtulis gp. Ezek a program ok L l nyelvre fo rd thatk vagy rtelm ezhetk egy L l nyelven rt fordtval, illetve rtelm ezvel.

    Nyelvek egy olyan sorozatt ltrehozva, am elyben mindegyik a m egelznl m r knyelm esebben hasznlhat, vgl e lju thatunk egy szm unkra m r m egfelelhz. M indegyik nyelv az t m egelzre pl, ezrt az ilyen m dszert alkalm az szm tgpre gy is tek in thetnk , m int egyms feletti rtegek vagy szin tek so ro zatra, ahogy az az 1.1. brn is lthat . A legals nyelv, illetve szint a legegyszerbb, mg a legfels a legkifinom ultabb.

    n. szint

    3. szint

    2. szint

    1. szint

    0. szint

    Az Ln nyelv programoiwt vagy egy alsbb szinten fut rtelnnez tiajtja vgre, vagy lefordtjul< vaiannely alsbb szint nyelvre.

    Az L2 nyelv programokat vagy az Ml (esetleg az MO) gpen fut rtelmez hajtja vgre, vagy lefordtjuk az Ll (esetleg az LO) nyelvre.

    Az Ll nyelv programokat vagy az MO gpen fut rtelmez hajtja vgre, vagy lefordtjuk az LO nyelvre.

    Az LO nyelv programokat kzvetlenl az elektronikus ramkrk hajtjk vgre.

    1.1. bra. Egy tbbszint gp

  • 20 1 .BEVEZETS

    A nyelvek s a virtulis gpek kztt szoros kapcsolat van. M inden gpnek van sajt gpi nyelve, amely a gp ltal vgrehajthat utastsok egyttesbl ll, azaz egy gp definil egy nyelvet. H asonlan egy nyelv is definil egy gpet, nevezetesen azt a gpet, amely kpes az ezen a nyelven rt brm ely program vgrehajtsra. Term szetesen egy nyelv ltal definilt gp elektronikus ram krkbl val kzvetlen m egptse e lkpeszten bonyolult s drga is lehet, de nem elkpzelhetetlen . Egy C, C-l- -I- vagy Java gpi nyelv gp valban bonyolult, de a m ai tech nolgik m ellett knnyen m egp thet lenne. A lapos oka van azonban annak, hogy ilyen gpek nem plnek: nem lenne kltsghatkony m s m dszerekkel sszehasonltva. nm agban az m g nem elg, hogy valam it m eg lehet csinlni: egy gyakorlatias elgondolsnak kltsghatkonynak is kell lennie.

    Egy n szint szm tgpet n klnbz virtulis gpnek is tek in thetnk , ahol m indegyikk rendelkezik a sajt gpi nyelvvel. A szint s a virtulis gp kifejezseket egymssal felcserlhet fogalm akknt fogjuk hasznlni. Csak az LO nyelven rt p rogram okat kpesek az elektronikus ram krk kzvetlenl vgrehajtan i anlkl, hogy ford tst vagy rtelm ezst kellene kzbeiktatnunk. A z L l, L2, nyelv p rogram okat vagy egy alsbb szinten fu t rtelm ezvel kell vgrehajta tnunk , vagy le kell fo rd tanunk az alsbb szint nyelvre.

    A m ikor valaki az n. szint virtulis gpre r p rogram okat, nem kell t rdnie a szksges rtelm ezkkel s fordtkkal. A gp felptse biztostja, hogy p rogram jai valahogyan vgrehajthatk. rdek te len , hogy a program ot egy rte lm ez lpsenknt fogja vgrehajtani, az rte lm ezt m agt m egint egy m sik rtelm ez, vagy esetleg m r az e lek tron ika teljesti a feladato t. Az eredm ny m indkt esetben ugyanaz: a p rogram ok vgrehajtsa m egtrtnik .

    Az n szint gpeket hasznl program ozk tbbsgnek esak a legfels szinte t kell ism ernie, am i a legals szint gpi nyelvhez a legkevsb hasonlt. A kik viszont kvncsiak, hogy hogyan is m kdik val jban egy szm tgp, azoknak m inden szintet tanulm nyozniuk kell. j szm tgpek vagy j szintek (azaz j virtulis gpek) tervezinek a legfels m ellett tbb m s szintet is ism ernik kell. A szintek sorozatbl felpl gpek tervezsnek elveirl s m dszereirl, tovbb a szintek rszleteir l szl knyvnk je len ts rsze.

    1.1.2. Korszer tbbszint szmtgpek

    A legtbb m ai szm tgp kt- vagy tbbszint. M g az 1.2. bra szerinti hatszint gpek is lteznek. A lul a 0. szint a gp valdi hardvere. E nnek az ram krei hajtjk vgre az 1. szint gpi nyelv program okat. A teljessg kedvrt m eg kell jegyeznnk, hogy a mi 0. szintnk alatt is van m g egy szint. Ez az n. eszkzszint az e lek tronikai tervezs vilghoz tartozik (s gy knyvnk trgykrn kvl esik), amelyet az bra nem tartalm az. Ezen a szinten tallja a tervez az egyes tranzisztorokat, m int a szm tgp-tervezs legals szint ptkveit. Azzal a krdssel, hogy hogyan m kdnek a tranzisztorok, m r a szilrdtestfizika ter le tre vetdnk.

    Az ltalunk vizsglt legals, digitlis logika szintjn a kapuk a lnyeges e le mek. B r a kapuk olyan analg alkatrszekbl plnek fel, m int pldul a tran-

    1.1. STRUKTURLT SZMTGP-FELPTS 21

    1.2. bra. Egy hatszint szmtgp. Az egyes szinteket megvalst mdszert a szint alatt jelltk (zrjelben a megvalst program nevvel)

    zisztorok, szerepk szerint digitlis eszkzknek tek in thetk . M inden kapunak egy vagy tbb digitlis bem enete van (a vagy az 1 rtke t rep rezen t l jelek), k im enetkn t pedig ezekbl egyszer fggvnyrtkeket szm olnak ki, m int am ilyen az A N D (logikai s) vagy az O R (logikai vagy). Egy kapu legfeljebb n hny tranzisztorbl ll. N hny kapubl sszellthat egy 1 b ites m em ria, amely a 0 vagy az 1 rtk e t kpes trolni. Az 1 b ites m em rikat 16-os, 32-es vagy 64-es csoportokba rendezve kszthetnk pldu l regisztereket. M inden regiszterben m eghatrozo tt rtkhatrig egy binris szm ot tro lhatunk . K apukbl pthetjk fel m agt az aritm etikai egysget is. A kapukat s a digitlis logika szintjt a 3. fejeze tben trgyaljuk rszletesen.

    A kvetkez felsbb szint a mikroarehitektra szintje. Ezen a szinten talljuk az (lta lban) 8-32 elem , loklis m em riakn t hasznlt regiszterkszletet s az n. aritmetikai-logikai egysget (Arithmetic Logic Unit, ALU), amely az egyszer a ritm etikai m veletek elvgzsre kpes. A regiszterek az A LU -hoz kapcsoldnak, az adatok ram lsnak tja az adatt. A z adat t a lapfeladata az, hogy kivlasszon egy vagy kt regisztert, az A LU -val m veletet vgeztessen el ra jtuk (pldul adja ssze a tarta lm ukat), az eredm nyt pedig valam elyik regiszterben trolja.

    Egyes gpeken az ad a t t m kdst az n. mikroprogram vezrli, mg m s gpeken a vezrls kzvetlenl a hardver feladata. Knyvnk els hrom k iadsban ezt a szintet m ikroprogram szintnek neveztk azrt, m ert ezen a szinten a m ltban szinte kivtel nlkl szoftverrtelm ezt hasznltak. A z ad a tu ta t m anap sg gyakran (legalbb is rszben) kzvetlenl a hardver vezrli, em iatt v ltoz ta ttunk az elnevezsen.

  • 22 1 .BEVEZETS

    A zokon a gpeken, am elyeken az ada l t szoftvervezrics, a m ikroprogram egy rtelm ez program , amely a 2. szint utabtsokat egyenknt betlti, elemzi s az ad a tu ta t hasznlva vgrehajtja. A z A D D utasts ese tben pldul betlti az utastst, m egkeresi s regiszterekbe helyezi az operandusait, az A L U kiszm olja az sszeget, vgl az eredm nyt a m egfelel helyre elkldi. H a a gpen az adat t hardvervezerls, akkor is hasonlk az egyes lpsek, csak akkor nem tro lt p rogram vezrli a 2, szint utastsok rtelm ezst.

    A 2. szintet utastsrendszer-architektra szintjnek (Instruction Set Arehi- tecture, ISA-szint) nevezzk. M inden szm tgpgyrt vllalat az ltala forgalm azott gpekhez ad egy kziknyvet A gpi nyelv referencia kziknyve, A W estern W om bat M odel lOX szm tgp m kdsnek elvei vagy valam i h a sonl cm mel. Ezek ltalban az ISA-szintrl szlnak, az alacsonyabb szinteket nem trgyaljk. A gpi u tastsrendszer lersa tu lajdonkppen nem ms, mint azoknak az u tastsoknak a lersa, am elyeket a m ikroprogram vagy a hardvervgrehajt ram kr rtelm ez. 1 la a gyrt ktfle ISA-szint rte lm ezt biztost ugyanahhoz a szm tgphez, kt gpi nyelv referencia kziknyvet kell adnia, egyet-egyet mindeg)'ik rtelm ezhz.

    A kvetkez szint ltalban egy kevert szint. A szint nyelvhez tartoz u tastsok tbbsge az ISA-szinten is megvan. (Sem m i akadlya annak, hogy valamely szint u tastsai ms szintek u tastsai kz tt is szerepeljenek.) E zen fell a szint j utastsokkal, e lt r m em riaszervezssel, tbb program egyidej fu tta tsnak kpessgvel s eg)b tu lajdonsgokkal rendelkezik. A 3. szinten sokkal vltozatosabbak a konstrukcik, m int az 1. vagy a 2. szinten.

    A 3. szint j szolgltatsait a 2. szinten fut rte lm ez biztostja, am elyet hagyom nyosan opercis rendszernek szoktunk nevezni. A 2. szintrl rklt 3. szint u tastsokat nem az opercis rendszer, hanem kzvetlenl a m ikroprogram (vagy a hardver) hajtja vgre. M sknt fogalmazva, a 3. szint u tastsok egy r szt az opercis rendszer, ms rszt kzvetlenl a m ikroprogram rtelm ezi. E zt rtjk a kevert szint elnevezs alatt. K nyvnkben ezt a szintet opercis rendszer gp szintjnek nevezzk.

    A 3. s a 4. szint kztt alapvet e ltrs van. Az als hrom szintet nem egyszer htkznapi p rogram ozknak talltk ki, azok elssorban a m agasabb szinteken szksges rte lm ezk s fordtk fu tta tsra szolglnak. E zeket az rtelm ezket s fo rd tkat rendszerprogramozk rjk, akik j virtulis gpek tervezsre s m egvalstsra szakosodtak. A 4. s az e fltti szin teket az alkalm azsi fe ladato kat m egold program ozknak szntk.

    A 4. szint s a m agasabb szintek m egvalstsnak m djban is vltozs van. A2. s a 3. szin tet mindig rtelm ezvel, mg a 4. szin tet s az e f l ttieket ltalban- de nem m indig - fordtval valstjk meg.

    Az 1., 2. s 3. szint, illetve a 4., 5. s m agasabb szintek nyelveinek term szetben tallhatjuk a tovbbi klnbsget. Az 1., 2. s 3. szint gpi nyelvei num erikusak, a rajtuk rt program ok hossz szm sorozatok, ami kedvez a gpek, de kedveztlen az em ber szm ra. A 4. szinttl kezdden a nyelvek szavakbl s az em ber szm ra is je lentssel br rvidtsekbl llnak.

    1,1. STRUKTURLT SZM TGP-FELPTS 23

    A 4., az assem bly nyelv szintje valjban az alsbb szintekhez tartoz nyelvek szim bolikus form ja. Ezen a szinten lehet az 1., 2. s 3. szintekre program ot rni azok virtulis gpeinek sajt nyelveinl knyelm esebb nyelven. A z assembly nyelv program okat elszr lefordtjuk az 1., 2. vagy 3. szint nyelvre, m ajd rtelm ez- te tjk a m egfelel virtulis vagy valdi gppel. A fo rd tst vgz p rogram ot assemblernek nevezzk.

    A 5. szint nyelveit az alkalm azsi fe ladatokat m egold program ozknak tervezik. A z ilyen nyelveket szoktk magas szint nyelveknek nevezni, s tbb szz van bellk. N hny az ism ertebbek kzl: C, C-l- -I-, Java, LISP, Prolog. Az ezeken rt p rogram okat lta lban a 3. vagy a 4. szint nyelvre fordtjk az n. f(rdtprog- ramok, de ese tenkn t tallkozunk rtelm ezkkel is. A Java-program okat pldul elszr egy ISA-szer nyelvre. Java bjtkdra szoktk fordtani, am elyet azutn egy rtelm ez hajt vgre.

    N ha az 5. szint egy specilis alkalm azsi te r le tre , pldul a szim bolikus m atem atikra kidolgozott rtelm ez. Ez a te r le ten felm erl problm k m egoldshoz az adatoka t s m veleteket olyan form ban biztostja, am elyet a te r leten j r ta s szakem berek knnyen m egrtenek.

    sszefoglalsknt em lkeztetnk arra , hogy a szm tgpeket egym sra pl szintek sorozatakn t tervezik. M inden szint egy nll absztrakcinak felel meg klnbz elem ekkel s m veletekkel. A szm tgpek ilyen tervezse s tanu lm nyozsa sorn idlegesen e ltek in thetnk a lnyegtelen rszletekt l, ezzel egy bonyolult trgyat knnyebben rth e t re szkthetnk.

    Egy-egy szint adattpusainak , m veleteinek s szolgltatsainak sszessgt a szint architektrjnak nevezzk. A z arch itek t ra a szint hasznlja ltal l th at tu lajdonsgokat foglalja egysgbe. A program oz ltal l tha t tulajdonsgok, m int pldul, hogy m ennyi a rendelkezsre ll m em ria, az arch itek trhoz ta rtoznak. A m egvalsts rszletei - pldul, hogy milyen ram kri e lem ek valstjk m eg a m em rit - nem rsze az arch itek trnak . A program oz ltal lthat szm tgpes rendszerelem ek tervezsvel a szmtgp-architektra foglalkozik. A htk()znapi gyakorlatban a szm tgp-arch itek tra s a szm tgpek felptse lnyegben ugyanazt jelentik .

    1.1.3. A tbbszint szmtgpek fejldse

    A hhoz, hogy a tbbszint gpekrl nm i ttek in tst nyjtsunk, rviden megvizsgljuk t rtneti fejldsket, m egm utatjuk, hogy az vek sorn hogyan n tt a szintek szm a, s hogyan b\ ltek a szintek szolgltatsai. A szm tgp valdi gpi nyelvn rt p rogram okat (1. szint) a szm tgp elektronikus ram krei (0. szint) kzvetlenl vgre tudjk hajtani, rtelm ez vagy ford t nem szksges. Ezek az e lek tronikus ram krk, valam int a m em ria s a bem eneti/k im eneti eszktizk alkotjk a szm tgp hardvert. A hardver kzzelfoghat dolgokbl ll - integrlt ram krk, nyom tatott ram kri krtyk, kbelek, ram forrsok, m em rik, nyom tatk

    nem pedig absztrakt fogalm akbl, algoritm usokbl vagy utastsokbl.

  • 24 1. BEVEZETS

    A szoftver viszont algoritmusokbl (rszletes elrs arra vonatkozan, hogy hogyan kell valam it vgrehajtani) s azok szm tgpes reprezentci ibl, azaz program okbl ll. P rogram okat t ro lhatunk m erev- vagy hajlkonylem ezeken, C D -R O M -on vagy m s adathordozn , de a szoftver lnyege a p rogram ot alkot u tastssorozat, nem pedig a fizikai adathordoz , am elyen troljuk.

    A legels szm tgpek esetben kristlytiszta volt a hardver s a szoftver k ztti hatr. Idkzben azonban ez egyre inkbb elhom lyosodott, nem k ism rtkben ppen azrt, m ert a szm tgpek fejldsvel a szintek szaporodtak, eltntek , sszefondtak. M a m r nehz is a m egklnbztets (Vahid, 2003). Knyvnk egy lnyeges nzpontja ppen az, hogy

    a hardver s a szoftver logikailag ekvivalens.

    Brm ely szoftverrel vgrehajthat m velet b ep th e t kzvetlenl a hardverbe is, de ez csak azu tn ajnlatos, ha m egfelelen m egism ertk. K arn P anetta L entz m ondta: A hardver m egkvesedett szoftver. Term szetesen fordtva is igaz: b rmely hardverrel vgrehajthat u tasts szoftverrel is szim ullhat. A nnak e ldntsben, hogy mely fggvnyeket valstsuk m eg hardverben s m elyeket szoftverben, az r, a sebessg, a m egbzhatsg s a vltoztats gyakorisgnak szem pontjai kapnak szerepet. Kevs szigor szablyt tal lunk a rra nzve, hogy X m irt hardverben s Y m irt szoftverben valstand meg. D n tse inket a technolgia s a szm tgpek felhasznlsnak fejldse befolysolja.

    A mikroprogramozs feltallsa

    A z 1940-es vekben az els digitlis szm tgpek m g csak ktszin tek voltak: az ISA-szint, am elyen a p rogram okat rtk, s a digitlis logika szintje, am ely e p rogram okat vgrehajto tta . A digitlis logika szintjnek ram krei bonyolultak, n eh e zen ttek in thetk s m egpthetk, valam int m egbzhatatlanok voltak.

    M aurice W ilkes, a U niversity o f C am bridge kutat ja, 1951-ben azt javasolta, hogy a hardver je len ts egyszerstsre hrom szint szm tgpet tervezzenek (W ilkes, 1951). A gpnek bep te tt, m egvltoztathatatlan rte lm ezje lenne (a m ikroprogram ), am elynek a fe ladata az ISA-szint program ok rtelm ezssel t rtn vgrehajtsa. Mivel gy a hardvernek csak az igen szk utastskszlet m ikroprogram ot kellene vgrehajtania a jval bvebb utastskszlet ISA-szint program ok helyett, sokkal kevesebb elektronikus ram krre lenne szksg. Ez az egyszersts a vkuum csves elek tron ikus ram krk korban a csvek szm nak cskkentst, ezzel a m egbzhatsg nvelst (azaz a napi sszeom lsok szm nak cskkenst) grte.

    N hny ilyen hrom szint gpet m eg is p te ttek az 1950-es, s m g tbbet az 1960-as vekben. 1970-re m r az volt az uralkod elv, hogy az ISA-szint rte lm ezse m ikroprogram m al t rtn jen , ne pedig kzvetlenl elek tron ikus m egvalstssal. M inden akkori kom olyabb szm tgp gy m kdtt.

    1.1. STRUKTURLT SZM TGP-FELPTS 25

    Az opercis rendszer feltallsa

    Ezekben a korai vekben a legtbb szm tgp aki kapja, m arja elven zem elt, am i azt je len te tte , hogy a gpet a p rogram oz szem lyesen kezelte. M inden gp m ellett elhelyeztek egy idbeoszt lapot, s a program oz, ha p rogram jt fu tta tn i akarta , lefoglalt egy intervallum ot, m ondjuk szerda reggel 3-tl 5-ig (szm os p rogram oz szere te tt a gp terem csendes idszakaiban dolgozni). A m ikor elj tt az id, a program oz - egyik kezben egy lda 80 oszlopos lyukkrtyval (az akkori bem eneti adathordozval), m sik kezben egy hegyes ceruzval - be lpe tt a gpterem be. rkezst kveten udvariasan az ajt fel tesskelte az e l tte o tt dolgoz program ozt, m ajd tvette a szm tgpet.

    H a FO R T R A N -program ot akart fu tta tn i, akkor a kvetkez lpsek m eg t te lre knyszerlt:

    1. tszaladt a p rogram knyvtrakat t ro l szekrnyhez, kivette a FO R T R A N -for- d t felira t nagy zld ldt, ta rta lm t a krtyaolvasba helyezte, s m egnyom ta az indtgom bot.

    2. FO R T R A N -program jt a krtyaolvasba helyezte, s m egnyom ta a folytats gom bot, m ire program jt a gp beolvasta.

    3. A m ikor a szm tgp m egllt, m g egyszer beo lvastatta a FO R T R A N -progra- m ot. Nm elyik ford tnak ugyan csak egyszer kelle tt vgigolvasnia a bem enetel, tbbsgknek azonban ktszer vagy tbbszr. M inden olvassi m enetben a vastag krtyakteget jra ke lle tt olvasni.

    4. V gl a fo rdts a vghez kzeledett. A vge fel a p rogram oz gyakran idegeskedett, hiszen ha a ford t p rogram hibt tallt, ki kelle tt javtania, s az egsz eljrst m eg kellett ism telnie. H a nem volt hiba, a fo rd t az elkszlt gpi nyelv program ot lyukkrtyra lyukasztotta.

    5. A program oz ezu tn a gpi nyelv program ot s az eljrsknyvtr ktegt a krtyaolvasba helyezte, s m indkett t beolvastatta .

    6. A program vgrehajtsa m egkezddtt. A legtbb esetben a program nem m kdtt, m enetkzben valahol vratlanul lellt. lta lban a program oz b ab r lt egy kicsit a vezrlpult kapcsolival s nzegette a jelzlm pkat. H a szerencsje volt, k ita l lta mi a baj, kijavtotta a hibt, visszaszaladt a nagy zld FO R T R A N -ford t t tarta lm az szekrnyhez, s kezdte az egszet ellrl. H a nem volt szerencsje, k inyom tatta a m em ria ta rta lm t, s ezt a tnemriatnso- la to t (core dutnp) hazavitte tanulm nyozni.

    Kis klnbsgekkel vekig ez volt az ltalnos eljrs sok szm tkzpontban. A program oznak m eg kelle tt tanulnia, hogyan m kdik a szm tgp, s mit kell tennie, ha lell, ami elg gyakran elfordult. A gp gyakran csak vrakozott, amg az em berek a krtykat a gp terem ben ide-oda hordozgattk , vagy azon t rtk a fejket, m irt is nem m kdik a p rogram juk rendesen.

    1960 krl a gpkezel fe ladatnak autom atizlsval m egksreltk az elvesztege te tt id cskkentst. Az opercis rendszernek nevezett p rogram ot llandan a szm tgpben troltk. A program oz vezrlkrtykat csatolt a program jhoz,

  • 26 1 .BEVEZETS

    ezt olvasta be s ha jto tta vgre az opercis rendszer. A z FM S-nek (FO R TR A N M onitor System, IBM 709), az egyik els, szles krben e lterjed t opercis rend szernek szl egyszer krtyacsom ag felptst m utatja be az 1.3. bra.

    *JOB, 5494, BARBARA *XEQ^FORTRAN

    FORTRAN-program

    *DATA

    Adatkrtyk

    *END

    1.3. bra. Egy egyszer feladat az FMS opercis rendszeren

    A z opercis rendszer beolvasta a *JOB krtyt, s a ra jta lv inform cit knyvelsi clokra hasznlta. (A csillagot a vezrlkrtyk m egklnbztetsre hasznltk, gy azok nem kevered tek ssze a program - s az adatkrtykkal.) K sbb beolvasta a ^FO R T R A N krtyi, am ely a FO R T R A N -fordtnak m gnesszalagrl val bet lts t eredm nyezte. A fordt ezu tn beolvasta s leford to tta a F O R I'R A N -program ot. A fordts befejeztvel a vezrls visszakerlt az o p e r cis rendszerhez, s m eg t rtn t a *D A IA krtya beolvassa. Ez a le ford to tt p rogram vgrehajtsra u tasto tt a *DATA krtyt kvet krtyk tarta lm nak ad a tknt val hasznlatval.

    B r az opercis rendszert e lssorban a gpkezel (o p er to r) m unkjnak au tom atizlsra terveztk (ebbl szrm azik a neve is), egyben egy j virtulis gp fejlesztsnek irnyba te tt els lps is volt. A *FO R TR A N krtyt egy virtulis fordtsd le a p rog ram o t u tastsnak, a *DATA krtyt pedig egy virtulis hajtsd vgre a p rog ram o t u tastsnak is tekin thetjk . Ez a csupn kt u tastst ta rta lm az szint nem tek in thet igazn nll szintnek, de nyits volt afel.

    A kvetkez vekben az opercis rendszerek egyre k ifinom ultabbakk vltak. j utastsok, szolgltatsok s tu lajdonsgok kerltek az ISA-szint fl, mg vgl egy valdi j szint kezdett ki-vonalazdni. Az j szint u tastsainak egy rsze m egegyezett az ISA-szint utastsokkal, m sok viszont - klnsen a bem eneti/ k im eneti utastsok - ezektl alapjaiban klnbztek. Az j u tastsokat gyakran

    1.1, STRUKTURLT SZM lTGP-FELPTS 27

    opercis rendszeri makroutastsoknak vagy felgyel (supervisor) hvsoknakneveztk. M a rendszerhvs az elfogadott nevk.

    A z opercis rendszerek ms tek in tetben is fejldtek. A korai vltozatok kr- tyaktegeket olvastak, s sornyom tatra nyom tattak. Ezek voltak a ktegelt rendszerek. ltalban tbb ra te lt el a program ok leadsa s az eredm nyek kzhezvtele kztt. Ilyen krlm nyek kztt a program fejleszts nehzkes volt.

    Az 1960-as vek elejn a D artm ou th College, az M. I. T s ms in tzetek ku tati olyan opercis rendszereket fe jles/te ttek ki, am elyek b iztosto ttk a p rogram oznak (akr tbbnek is egyidejleg) a szm tgppel val kzvetlen kom nnini- kcit. A kzponti szm tgpet ezeken a rendszereken telefonvonalak k t ttek ssze a tvoli term inlokkal. A szm tgpet a sok felhasznl m egosztva hasznlta. A hivatalokban, az o tthoni garzsokban s brhol, ahol term inlt helyeztek cl, a p rogram ozk begpelhettk program jaikat, s m ajdnem azonnal v isszakaphattk a fu tta tsuk eredm nyeit. E zeket a rendszereket nevezzk idosztsos rendszereknek.

    Az opercis rendszerekbl m inket inkbb a 3. .szinten m egvalstott, s az ISA- szintcn nem ltez utastsok s tulajdonsgok rdekelnek , m int az idoszts krdsei. Br kln nem hangslyozzuk, legynk tudatban annak, hogy az opercis rendszer jval tbb, m int az ISA-szinthez hozztett tulajdonsgok megvalstsa.

    A szolgltatsok tterelse a mikroprogram szintjre

    A m ikroprogram ozs szles kr e lterjedsnek idejre (1970-re) a tervezk szrevettk , hogy j u tastsokat a m ikroprogram bvtsvel is l tre tudnak hozni. M s szval a hardvert bvteni lehet (j gpi utastsokkal) program ozssal. Ez a felism ers a gpi u tastsrendszerek szinte robbansszer fejldshez vezetett. A tervezk versenyeztek az egyre bvebb s hasznlhatbb u tastsrendszerek ellltsban. Az utastsok j rsze nem volt nlklzhetetlen abban az r te lem ben, hogy a meglv utastsokkal is m egvalsthatk voltak, de sebessgben tbbnyire m eghaladtk a ltez utastsok sorozatval e l rhe t sebessget. Sok gpen pldul l tezett az INC (IN C rem en t) utasts, amely eggyel nvelt egy szm ot. Ezeken a gpeken m egvolt az ltalnos ADD utasts is, ezrt annak az 1 hozzadsra specializlt vltozata nem volt nlklzhetetlen (ahogy nyilvnvalan a 720 hozzadsra specializlt sem ). Az INC azonban m egm aradt, m ert ltalban kicsit gyorsabb volt, m int az ADD.

    U gyanebbl a m egfontolsbl nagyon sok m s u tastst is felvettek a mikro- program ba. Ezek kz tt gyakran a kvetkezk szerepeltek:

    1. egszek szorzsnak s osztsnak mveletei;2. lebegpontos aritm etika;3. eljrst hv s eljrsbl visszatr utastsok;4. ciklusokat gyorst utastsok;5. karak terso rozatokat kezel fggvnyek.

  • 28 1 .BEVEZETS

    A m int a tervezk szrevettk, hogy milyen egyszer az j u tastsok felvtele,kezdtek j tu lajdonsgokat is bep ten i m ikroprogram jaikba. N hny ezek kzl:

    1. Tm bkkel val szm tsokat felgyorst tu lajdonsgok (indexels, indirekt cmzs).

    2. A program ok m em riban val thelyezsnek lehetsge futs kzben (relo- kci).

    3. A m egszaktsok rendszere, am elyen keresztl a szm tgp jelzst kaphat a bem eneti s kim eneti m veletek befejezdsrl.

    4. K pessg arra, hogy nhny utastssal felfggesszk az egyik, s folytassuk a msik program ot (processzustkapcsols).

    5. Specilis utastsok hang-, vide- s m ultim dia-fjlok feldolgozsra.

    Szmos egyb tu lajdonsgot s szolgltatst p te ttek be az vek sorn, tbbnyirebizonyos specilis tevkenysgek felgyorstsra.

    A mikroprogramozs szmzetse

    A m ikroprogram ozs aranykorban (az 1960-as s 1970-es vekben) a m ikroprog- ram ok m eghzlak. Ahogy egyre tbbet s tbbet foglaltak m agukba, gy le ttek egyre lassabbak s lassabbak. V gl nhny ku ta t felism erte, hogy m ikroprogram ozs nlkl, csupn az utastskszlet radiklis cskkentsvel s a m egm arad utastsok kzvetlen vgrehajtsval (azaz az ada t thardver vezrlsvel) a gpek felgyorsthatk. Bizonyos rte lem ben a szm tgp-tervezs egy teljes krt fu to tt be, s visszatrt arra az llapotra , am elyen m g azel tt volt, hogy W ilkes felfedezte a m ikroprogram ozsl.

    A kerk azonban tovbb forog. A Java-program okat elszr ltalban egy kztes nyelvre (Java bjtkdra) fordtjk, majd a Java bjtkdot in terp re ter hajtja vgre.

    Az eddigiekbl k itnhet, hogy a hardver s a szoftver kztti h a t r nknyes s llandan vltoz. A m i m a m g szoftver, ho lnapra hardverr vlhat, s fordtva. K plkeny a h a t r a klnbz szintek kztt is. A program oz szem pontjbl kzm bs, hogy az u tastsokat (ta ln a sebessget kivve) hogyan valstjk meg. Az ISA-szinten program oz szem ly a szorz u tastst gy hasznlhatja, m intha hardveru tasts lenne, nem kell azzal foglalkoznia, st tudnia sem kell rla, hogy az tnyleg hardverutasts-e. Ami az egyiknek hardver, az a m siknak szoftver. K sbb mg visszatrnk ezekre a krdsekre.

    1.2. Mrfldkvek a szmtgpek felptsbenA m odern szm tgpek fejldse sorn tbb szz fajta szm tgpet terveztek s p te ttek meg. Tbbsgk m r rg feledsbe m erlt, nhnyuk azonban je len ts hatssal volt a mai elgondolsokra. E bben a fejezetben felvzolunk nhny je

    2. M RFLDK VEK A SZM T G PEK FELPTSBEN 29

    lents rgebbi fejlesztst, am ibl jobban m egism erhetjk, hogy hogyan ju to ttunk odig, ahol m ost ta rtunk . M ondanunk sem kell. hogy a fejezet csak a fontosabb dolgokat rinti, s sok m inden m arad em lts nlkl. Az 1.4. b ra a fejezetben trgyalt m rfldknek tek in thet gpeket sorolja fel. A szm tgpek korszakt m egalapoz szem lyekrl S later knyvben (S later, 1987) k itn kiegszt t rtneti anyagot tallunk. U gyanezekrl Louis Fbin B aehrach csodlatos sznes fnykpeivel illusztrlt rvid letrajzokat kzl M organ album a (M organ, 1997).

    v Szmtgp neve Megpt Megjegyzs1834 Analitil

  • 30 1. BEVEZETES

    1.2.1. N u lla d ik generci: mechanikus szmolgpek (1642-1945)

    Blaise Pascal (1623-1662) francia tuds volt az els, aki m kd szm olgpet p te tt, s akinek tiszteletre a Pascal program ozsi nyelv a nevt kapta. A z 1642- bcn p te tt gppel az akkor alig 19 ves Pascal apjnak, a francia korm ny ad szedjnek akart segteni. A teljesen m echanikus, fogaskerekes szerkezetet kzi forgatkarral kellett m kdtetni.

    Pascal gpe m g csak sszeadni s kivonni tudo tt, de alig harm inc vvel ksbb a nagy nm et m atem atikus, G o ttfricd W ilhelm von Leibniz b r (1646-1716) m egpte tte ugyancsak m echanikus, szorozni s osztani is kpes gpt. I.eibniz hrom vszzaddal ezel tt tu la jdonkppen a mai ngym veletes zsebkalkultoroknak m egfelel gpet szerkesztett meg.

    Semmi em ltsre m lt nem t rtn t 150 vig. E kkor a U niversity o f C am bridge m atem atikaprofesszora, a sebessgm r feltallja, C harles B abbage (1792- 1(S71) m egtervezte s m egpte tte diffcrenciagpt. B abbage ezt a szinten m echanikus eszkzt, mely Pascal gphez hasonlan csak sszeadni s kivonni tudott, hajzsi navigcihoz hasznlatos szm tblk sszelltsra szerkesztette. Az egsz szerkezetet egyetlen algoritm usra, a polinom okra alkalm azott vges differencik m dszernek vgrehajtsra tervezte. A differcnciagp legrdekesebb tu lajdonsga az volt, ahogyan az eredm nyeket kiadta: kim en ada ta it rzbevonat lem ezbe lyukasztotta acl form anyom val, elrevettve a ksbbi lyukkrtyhoz, C D -R O M -hoz hasonl, egyszer rha t adathordozk vilgt.

    B r a d ifferenciagp igen jl m kdtt, Babbage gyorsan run t a csak egyetlen algoritm ust fu tta tn i kpes gpre. Egyre tbb idejt t lt tte azzal - s csaldja vagyont (nem szlva a 17000 fontos korm nytm ogatsrl) klt tte arra hogy az jabb, n. ana litikus gpet m egtervezze s m egptse. A nalitikus gpnek ngy egysge volt: a tro l (m em ria), a m alom (szm olegysg), a bem eneti rsz (lyukkrtyaolvas) s a k im eneti rsz (lyukkrtya s nyom tato tt papr). A tro l 1000 darab, egyenknt 50 decim lis jegy szbl llt, m elyek vltozkat s e re d m nyeket ta rta lm azhattak . A m alom az sszeads, kivons, szorzs s oszts m veletre volt kpes, az operandusokat a tro lbl vette, az eredm nyt pedig a t rolba helyezte. A differenciagphcz hasonlan ez is teljesen m echanikus volt.

    Az analitikus gp nagy elnye az volt, hogy ltalnos cl volt. Lyukkrtyrl u tastsokat olvasott s ezeket h a jto tta vgre. Valamely utastsok hats ra a gp kiolvasott k t szm ot a tro lbl, hogy tovbbtsa ket a m alom ba, m ajd elvgzett ra jtuk egy m veletet (pldul az sszeadst), s az eredm nyt visszakldte a t rolba. M s u tastsok megvizsgltak egy szm ol, s felt te les elgazst hajto ttak vgre att l fggen, hogy a szm pozitv vagy negatv volt-e. A bem en krtykra m s-m s p rogram ot lyukasztva az analitikus gppel m s-m s szm tst lehete tt e lvgeztetni, am ire a d ifferenciagp m g nem volt kpes.

    Mivel az analitikus gp egy egyszer assembly nyelven volt program ozhat , szoftvert kelle tt r rni. A szoftver ellltsval B abbage A da A ugusta Lovelace-t, L ord Byron, a h res b rit klt lenyt bzta meg. gy le tt A da Lovelace a vilg els program ozja. A z A da program ozsi nyelvet az tiszteletre neveztk cl.

    Sok mai tervezhz hasonlan sajnos Babbage sem tud ta hardvernek tkletes m kdkpessgt ellenrizni. E zerszm ra kelle ttek a m egfelel pontossggal

    . M RFLDK VEK A SZM T GPEK FELPTSBEN 31

    elllto tt fogak, kerekek s tt tek , ezt pedig a X IX . szzad technolgija nem tu d ta nyjtani. Elveivel viszont jval m egelzte kort, hiszen a szm tgpek m eg napjainkban is az analitikus gphez hasonl felptsek. N yugodtan k ije len thetjk, hogy Babbage a m odern digitlis szm tgpek (nagy)apja.

    A kvetkez je len tsebb fejlesztsre az 1930-as vek vgn ker lt sor, am ikor K onrad Z use nm et m rnkhallgat elektrom gneses jelfogkbl p te tt egy sorozat au tom ata szm olgpet. llam i tm ogatst a hbor kezdett l nem kapott, m ert a korm nyzati hivatalnokok gy gondoltk , a hbor t olyan gyorsan m egnyerik, hogy addigra a gpek el sem kszlhetnek. Z use nem ism erte Babbage eredm nyeit, a szvetsgesek berlin i bom bzsai a la tt (1944-ben) gpei is elpusztu ltak , ezrt m unkja sem m ilyen befolyst nem gyakorolt a ksbbi fejldsre. E nnek ellenre a te r le t egyik tt r je volt.

    N em sokkal ksbb az Egyeslt llam okban John A tanasoff (low a State C ollege) s G eorge Stibbitz (Bell Labs) is szm olgpeket tervezett. A tanasoff gpe korhoz kpest m egdbbenten fejlett volt. B inris aritm etikt alkalm azott, m em riakn t kondenzto rokat hasznlt, a kisls m egakadlyozsra pedig ezeket periodikusan frisstette, ezt az eljrst m em riafrisstsnek nevezte. A mai dinam ikus m em ria- (DRAM, d inam ikus vletlen elrs m em ria) lapkk p o n tosan ugyanilyen elven m kdnek. Sajnos a gpe soha nem lett m kdkpes. A tanasoff B abbage-hez nm ileg hasonlan lngsz volt, aki vgl ldozatu l esett a kor nem kielgt hardvertechnolgijnak.

    Stibbitz szm olgpe egyszerbb volt A tanasoffnl, de m kdtt. 1940-ben nyilvnosan bem utatta a D artm outh College konferencijn. A hallgatsg soraiban lt John M auchley, a University of Pennsylvania ism eretlen fizikaprofesszora. Ksbb a szm tstechnika vilgban M auchley professzor nevt sokan m egtanultk.

    M ikzben Z use, Stibbitz s A tanasoff szm olgpeiket terveztk, egy fiatalem ber, H ow ard A iken re ttenetes mennyisg num erikus szm tst volt knytelen kzzel elvgezni a H arvard E gyetem en fo ly tato tt P hD -kutatsai kapcsn. A fokozat m egszerzst kveten A iken szm ra nem volt ktsges, hogy hasonl szm tsokat gppel kell vgeztetni. Tanulm nyozta az irodalm at, r ta l lt Babbage m unkira, s elhatrozta , hogy jelfogkbl felpti azt az ltalnos cl szm tgpet, am elyet fogaskerekekbl B abbage nem tudo tt m egpteni.

    1944-ben a H arvard Egyetem en elkszlt A iken els gpe, a M ark I 72, egyenknt 23 decim lis jegy szt tarta lm azo tt, s egy u tasts vgrehajtsi ideje 6 m sodperc volt. A bem eneti s k im eneti adathordoz lyukszalag volt. A m ikorra A iken elkszlt a kvetkez, a M ark II gppel, a jelfogs szm tgpek kora lej rt. B eksznttt az e lek tron ika korszaka.

    1.2.2. Els generci: vkuumcsvek (1945-1955)

    A II. vilghborban m er lt fel az igny elek tron ikus szm tgpekre. A hbor korai szakaszban a nm et tengera la ttj rk nagy puszttst vgeztek a brit ha j kon. A parancsokat a berlini nm et adm iralits rdin keresztl ad ta a tengeralattjrknak , am elyeket a britek le tud tak hallgatni s le is hallgattak. A baj az

  • 32 1 .BEVEZETS

    volt, hogy az zeneteket egy ENIGMA nev kszlkkel kdoltk , am elynek e l fu tr t ppen T hom as Jefferson, az am at r felfedez s az Egyeslt llam ok volt elnke tervezte.

    A brit titkosszolglatnak m g a hbor kezdeten sikerli szert tennie egy E N IG M A gpre, am elyet a lengyel titkosszolglat lopott el a nm etektl. Egy kdolt zenet m egfejtshez azonban rengeteg szm tst kellett elvgezni, radsul az zenet lehallgatsa utn rvid idn bell, klnben az eredm ny haszontalan volt. Az zenetek m egfejtsre a brit korm ny egy szupertitkos laboratrium ot lltott fel, ahol m egptettk a C O LO SSU S nev elektronikus szm tgpet. AJan Turing, a neves brit m atem atikus is a gp tervezi kztt volt. 1943-ban a CO LO SSU S m kdkpes lett, de mivel a brit korm ny a pro jek t m ajd m inden rszlett 30 vre katonai titoknak m instette, a C O LO SSU S irnya zskutcv vlt. M gis szltunk rla, hiszen ez volt a vilgon az els elektronikus, digitlis szm tgp.

    A hbor azonfell, h o ^ ' e lpusztto tta Z use gpeit s sztnzte a CO LO SSU S m egptst, az Egyeslt llam ok szm tstechnikjt is befolysolta. A nehzt zrsg szm ra a hadseregnek irnyzktblzatokra volt szksge. E zeknek a tb lzatoknak az ellltsra nk szzait alkalm aztk, akik kzi szm olgpeken do lgoztak (a frfiaknl m egbzhatbbnak ta rto ttk a nket). Az eljrs nagyon lass volt, s sok hibval j rt.

    John M auchlcy, aki ism erte A tanasoff s Stibbilz eredm nyeit, tisztban volt azzal, hogy a hadsereget rdeklik a m echanikus szm olgpek. M int megany- nyi szm tstuds azta is, sszelltott egy plyzatot, am elyben egy elek tron ikus szm tgp m egptsre k rt tm ogatst a hadseregtl. M iutn plyzatt 1943-ban elfogadtk, M auchley J. P resper E ckert nev doktoranduszval egytt belefogott az ENIAC (Electronic Numerical Integrtor And Computer) elnevezs elektronikus szm tgp m egptsbe. Az E N IA C 18 000 vkuum csbl s 1500 jelfogbl llt, slya 30 tonna, ram fogyasztsa pedig 140 kilow att volt. Felp tst tekintve 20, egyenknt 10 jegy decim lis szm tro ls ra alkalm as regisztere volt. (Egy decim lis regiszter, am ely m egadott szm szmjeggyel felrhat szm ok tro lsra kpes, valjban egy kis m em ria, akrcsak a gpkocsik kilom ter-szm llja a lefu to tt tvolsg kijelzsre.) A z E N IA C program ozsa 6000 tbblls kapcsol belltsval s dugaszolaljzatok tm egeinek - tk t kbelek valsgos erdejvel t rtn - sszektsvel tcirtnt.

    A gp p ts t 1946-ig nem sikerlt befejezni, s addigra az e rede ti clra val felhasznlsa m r rte lm t is vesztette. A hbor befejezdtt, gy M auchley s E ckert engedlyt kapott, hogy egy nyri egyetem kere tben ism ertessk m unkjuka t tuds kollgikkal. Ez a nyri iskola je len te tte a nagy digitlis szm tgpek m egptse irnti, robbansszer rdeklds kezdett.

    A trtnelm i nevezetessg nyri egyetem u tn szm os ku ta t kezdett e lek tron ikus szm tgp ptsbe. A z ED SA C (1949) volt az els m kd pldny, am elyet M aurice Wilkes p te tt a Cam bridge-i Egyetem en. Ezt kvette tbbek kzt a JO H N IA C (R and C orporation), az ILLIA C (U niversity of Illinois), a M A N IA C (Los A iam os Laboratory) s a W E IZ A C (W eizmann Institute, Izrael).

    E ckert s M auchley ham arosan egy jabb gp, az EDVAC (Electronic Discrete Variabie Automatic Computer) ptsbe kezdett bele. A pro jek t azonban elvr

    1.2, M RFLDK VEK A SZM T GPEK FELPTSBEN 33

    zett. am ikor elhagytk a Pennsylvaniai E gyetem et s m egalapto ttk az Eckert- M auchley C om puter C o rpo ra tion t Ph iladelphiban (a Szilikon-v'ilgyct m g nem talltk ki). Cgegyestsek sorozata u tn ebbl a vllalkozsbl alakult ki a je len legi Unisys C orporation .

    Egy kis jogi k itr . E ckert s M auchley szabadalm i krvnyt nyjto ttak be, m iszerint k a digitlis szm tgp feltalli. M ai szem m el nzve, nem volna m egvetend dolog egy ilyen szabadalom b irtokosnak lenni. vekig tarl() pereskeds u tn a brsg gy tlte, hogy az E ckert-M auch ley szabadalom rvnytelen, a d igitlis szm tgp felfedezje pedig John A tanasoff, b r tallm nyt soha nem szabadalm aztatta.

    M ikzben E ckert s M auchley az EDVAC-on dolgoztak, az E N IA C projekt egyik rsztvevje, a magyar szrm azs N eum ann Jnos a P rincetons Institu te of A dvanced Studies in tzethez csatlakozott, hogy m egptse sajt EDVAC-vltoza- tt, az lAS gpet. N eum ann Jnos ppolyan zseni volt, m int L eonardo da Vinci. Szmos nyelvet beszlt, o tthon volt a fizikai s a m atem atikai tudom nyokban, s brm ikor tkletesen fel tud ta eleventeni azt, am it eg\'szer hallott, l to tt vagy o lvasott. Fejbl idzett sz szerint szvegeket olyan knyvekbl, am elyeket vekkel korbban olvasott. A m ikor a szm tgpek rdekelni kezdtk, m r a vilg legkiem elkedbb m atem atikusa volt.

    E lszr is az t n t fel neki, hogy a szm tgpeknek a nagyszm kapcsolval s a kbelekkel t r tn program ozsa m ennyire lass, fradsgos s rugalm atlan. Felism erte, hogy a program digitlis fo rm ban ugyangy t ro lh a t a szm tgp m em rijban, m int az adatok. A zt is ltta, hogy az a szerencstlen soros decim lis aritm etika, am elyet az E N IA C is hasznlt - m inden egyes szmjegy repre- zen t lsra 10 vkuum csvet pazarolva (1 bekapcsolt, 9 kikapcsolt llapo tban) - , he lyettesthet prhuzam os binris aritm etikval, hasonlan A tanasoff vekkel korbbi felism ershez.

    Az a tervezet, am elyet elszr lert, m a N eum ann-gpknt ism ert. Ezt valsto tta meg az ED SA C , az els tro lt program szm tgp, s ez meg ma, tbb mint fl vszzaddal ksbb is m ajdnem m inden digitlis szm tgp alapelve. A terv s az lAS gp, am elyet H erm n G oldstine-nel egytt p te tt, olyan m rhetetlen hatst gyakorolt, hogy rdem es rviden ism ertetnnk. B r ezt a tervezetet mindig is

    Akkumultor

    1.5. bra. Az eredeti Neumann-gp

  • 34 1. BEVEZETS

    N eum ann Jnos nevvel fm jelzik, G oldstine s m sok is kzrem kdtek. Az a rch itek tra vzlatt az 1,5. brn lthatjuk.

    A N eum ann-gpnek t ptkve volt: a m em ria, az aritm etikai-logikai egysg, a vezrlegysg, valam int a bem eneti s k im eneti eszkzk. A m em ria 4096 szbl, szavanknt 40 0 vagy 1 rtk bitbl llt. M inden sz vagy kt 20 bites u ta stst. vagy egy 40 bites eljeles szm ot tro lt. Az utastsokban 8 bit az u tasts tpust kzlte, 12 bit pedig a 4096 m em riasz egyiket azonosto tta. Az aritm etikai-logikai egysg s a vezrlegysg egyttesen alko ttk a szm tgp agyt . A m odern szm tgpekben ezeket egyetlen lapkra integrljk, m elyet CPU-nak (Central Processing Unit, kzponti feldolgoz egjsg) nevezimk.

    Az aritm etikai-logikai egysgben volt egy specilis 40 b ites bels regiszter, az akkumultor. Egy tipikus utasts az akkum ultor tarta lm hoz hozzadta egy m em riasz tarta lm t, vagy az akkum ultor ta rta lm t a m em riba tro lta. L ebegpontos aritm etika nem volt a gpben, m ert N eum ann gy gondolta, hogy m inden valam ireval m atem atikusnak fejben tudnia kell kvetni a tizedesvessz (valjban a ke ttedes vessz) helyt.

    Nagyjbl ugyanakkor, am ikor N eum ann az lA S gpet p te tte , az M. I. T k u ta ti is p te ttk a m agukt. Mg az lA S, az E N IA C s a hasonl gpek szavai hosz- szak voltak, hiszen komoly num erikus szm olgatsokra szntk ket, addig az M. I. T gpe, a W hirlw ind 1 16 bites szavakbl plt, s folyam atirnytsra terveztk. Ez a p ro jek t vezetett Jay F orrester felfedezshez, a m gnesgyrs m em rihoz s tu la jdonkppen az els kereskedelm i m iniszm tgp m egszletshez.

    Ezen t rtnsek kzben az IBM egy kis eg volt, amely krtyalyukasztk s m echanikus krtyarendez gpek gyrtsra szakosodott. B r az IBM ado tt nm i pnzgyi tm ogatst A ikennek, nem nagyon t r d tt a szm tgpekkel egszen addig, amg 1953-ban el nem ksztette a sajt 701-est - jval azutn, hogy E ckert s M auchley cge piacvezetv vlt UNIV AC gpvel. A 701-esnek 2048 36 bites szava volt, szavanknt kt utastssal. Ez volt a tudom nyos szm tsokat vgz gpek so rozatnak els tagja, am ely egy vtizeden bell az ipar m eghatroz gpv vlt. H rom vvel ksbb j tt ki a 704-es, eredetileg 4096 szavas m gnesgyrs m em rival, 36 bites u tastsokkal s jtsknt lebegpontos aritm etikval. A z IBM utols vkuum esves gpt, a 709-est - mely alapveten egy megizmos- to tt 704-es - 1958-ban kezdte gyrtani.

    1.2.3. Msodik generci: tranzisztorok (1955-1965)

    A tranzisz torokat 1948-ban John B ardeen, W alter B rattain s W illiam Shockley, a Bell Labs m unkatrsa i ta l ltk fel, am irt 1956-ban elnyertk a fizikai N obel-djat. T z ven bell a tranzisztorok fo rradalm asto ttk a szm tgpeket, s az 195()-es vek vgre a vkuum csves szm tgpek elavultak. Az els tranzisztoros szm tgp az M. I. T. Lincoln L abora t rium ban p lt meg, mely a W hirlw ind I m in t j ra 16 b ites volt. A T X -0 (Transistored eX perim ental com puter 0) nvre hallgat gpet alapveten a T X -2 , egy sokkal klnlegesebb gp tesztelsre szntk.

    1.2. M RFLDK VEK A SZM T GPEK FELPTSBEN 35

    Br a T X -2 -t sose becsltk sokra, K enneth O lscn, a laboratrium egyik m rnke a T X -O 'hoz nagyon hasonl, kereskedelm i forgalm azsra sznt gp gyrtsra 1957-ben m egalap to tta a D igital E qu ipm ent C orpora tion (D E C ) cget, llz a P D P -1 nev gp azonban csak ngy v m lva je len t meg, a ksedelem legfbb oka pedig az volt, hogy a D E C -ct hivatalosan alapt befek tetk gy gondoltk, hogy a szm tgpekre nincs kereslet. V gl is T J. W atson, az IBM korbbi elnke egyszer azt m ond ta , hogy a szm tgpek p iaca a vilgon 4-5 darab ra tehet . E zrt a D E C fleg kis ram kri krtykat gyrtott.

    A vgl is 1961-ben elkszlt PD P-1 4096 18 bites szt tartalm azott, s m sodpercenknt 200000 utastst tudott vgrehajtani. Ez a teljestmny fele volt az IBM 7090- esnek, amely a 709-es tranzisztoros vltozata, s akkor a vilg leggyorsabb szm tgpnek szmtott. A PD P-1 120000 dollrba kerlt, mg a 7090-es tbb milliba. A D E C tbb tucat P D P -l-e t adt>tt el, s ezzel m egszletett a miniszmtgp-ipar.

    Az egyik els P D P - l-e t az M. I. T. kapta, ahol azonnal felkelte tte nhny bim bz fiatal tehetsg rdek ldst. A P D P -1 egyik jdonsga egy kpernys m egje len t volt, am elyen az 5 1 2 x 5 1 2 felbontsban brhov lehe te tt pon to t k irajzolni. H am arosan a hallgatk a P D P - l- re m r rhbors j tko t program oztak, m egajndkozva ezzel a vilgot az els videojtkkal.

    A D E C nhny vvel ksbb a P D P -l-n l sokkal olcsbb (16000 dollros) 12 bites P D P -8 -a t kezdte gyrtani. A P D P -8 nagy jdonsga az 1.6. bra szerinti egyetlen sn (om nibus"). A sn egy tbbszrs vezetk, amellyel a szm tgp klnbz egysgeit kapcsoljk ssze. Ez a m egolds je len tsen e lt r az lA S gp m em riacentrikus felptst l, s az ta m ajdnem m inden kisszm tgpben ezt alkalm azzk. A D E C m integy 50000 P D P -8 -a t ado tt el, s ezzel a m iniszm t- gp-kereskedelem ben vezet pozcit szerzett.

    1.6. bra. /A PDP-8 omnibus"

    M r em ltettk , hogy ekzben az IBM vlasza a tranzisztorok m egjelensre a 709-es tranzisztoros vltozatnak, a 7090-esnek (ksbb a 7094-esnek) a m egp tse volt. A 7094-es ciklusidcje 2 m ikroszekundum , 32 536 szavas, szavanknt 36 b ites m gnesgyrs m em rival. A 7090 s a 7094 zrtk az E N IA C tpus gpek sort, a tudom nyos szm tsokra val alkalm azsokat azonban m g vekig ezek ura ltk az 1960-as vekben.

    M ikzben az IBM a tudom nyos szm tsok ter le tn elspr er re te tt i / e r t a 7094-essel, risi sszegeket zsebelt be egy kis zleti alkalm azsokra val gp. az 1401-es eladsaibl. A gp a 7094-est kzelt sebessggel, de rnak t red krt volt kpes m gnesszalagokat olvasni, rni, lyukkrtyt olvasni, lyukasztani s nyom tatni. Tudom nyos szm tsokra teljesen alkalm atlan, de zleti adatok t ro lsra kivl volt.

  • 36 1. BEVEZETS

    Az 1401-cs szokatlan volt, m ert nem voltak sem regiszterei, sem rgztett szhossza. M em rija 4000 8 bites bjtbl llt, b r a ksbbi m odellek tm ogattk akr - az akkor m eghkkentnek szm t - 16000 bjto t is. M inden bjt egy 6 bites karak tert, egy segd- s egy szavak vgt jelz b ite t tro lt. A MOVE utastsnak pldu l volt egy forrs- s egy clcm operandusa, s a forrscm tl kezdden m indaddig, am g a szvget je lz biten l-et nem tallt, a bjtok tarta lm t a elcmtl kezdd helyre m solta.

    1964-ben egy apr j cg, a C ontro l D ata C orpora tion (C D C ) piacra dobta a hatalm as 7094-esnl s m inden egyb akkor ltez szm tgpnl m ajdnem egy nagysgrenddel gyorsabb gpt, a 6600-ast. A num erikus szm tsokat vgzk els l tsra beleszerettek , s a C D C elindult a siker fel. Sebessgnek titka s a 7094-essel szem beni flnye a C PU nagyfok prhuzam os felp tsben rejlett. Egymssal prhuzam os m kdsre kpes funkcionlis egysgei voltak kln-k- ln az sszeadsra, a szorzsra, az osztsra. Kis m unkval egyidejilleg akr 10 u ta sts is vgrehajthat volt, br ahhoz, hogy a legtbbet kihozzk belle, k r lte k in ten kellett program ozni.

    Ez meg nem m inden, m ert a H fehrke s a ht t rpe m in tjra a 6600-ba tbb kisebb segdszm tgpet is bep te ttek . E nnek ksznheten a C P U m inden idejt a szm tsok elvgzsre lehe te tt fordtani, a feladatszervezs, a bem enet/ k im enet kezelse a kisszm tgpek fe ladata lett. M ai szem m el nzve a 6600-as vtizedekkel m egelzte a kort. A m odern szm tgpek szm os lnyeges elem e kzvetlenl visszavezethet a 6600-asra.

    Seym our Cray, a 6600-as tei-vezje N eum annhoz hasonl, legends figura. Egsz lett az egyre gyorsabb s gyorsabb gpek p tsre fo rd to tta , olyanokra, am elyeket m a szuperszm tgpeknek neveznk, s amilyen a 6600-as, a 7600-as vagy a C ray-1. Az autvsrlsra is feltallt egy m a m r kzism ert algoritm ust; m enj be a legkzelebbi autszalonba, m utass r az ajthoz legkzelebbi kocsira, s m ondd azt, hogy ezt veszem m eg. Ez az algoritm us a lehet legkevesebb idt fordtja lnyegtelen dolgokra (m int pldu l az autvsrls) azrt, hogy a lehet legtbb id m arad jon a fontos dolgokra (m int pldul szuperszm tgpek tervezse).

    Sok m s gp is plt ebben az idben, egyikk azonban kitilnik egy egszen ms okbl, a B urroughs B5000. A FDP-1, a 7094, a 6600 s a hasonl gpek tervezit lek t tte a hardver, s annak olcsv (D E C ) vagy gyorss (IBM s C D C ) ttele. A szoftver egyltaln nem volt lnyeges. A B5000 tervezi m s tak tik t vlasztottak. K ifejezetten azzal a cllal p te ttk gpket, hogy azt Algol 60 (a C s Java e ld je ) nyelven lehessen program ozni, s szm os, a fo rd t fe ladat t segt tu la jdonsgot p te ttek a hardverbe. M egszletett az a felism ers, hogy a szoftver is szmt. Sajnos ezt nagyon rvid idn bell el is felejtettk .

    1.2.4. Harmadik generci: integrlt ramkrk (1965-1980)

    R bert Noyce felfedezse (1958), a szilikon in tegrlt ram kr lehetv te tte , hogy egyetlen lapkn tbb tucat tranzisz tort helyezznk el. E nnek a techniknak ksznheten a tranzisz toros eldknl kisebb, gyorsabb s olcsbb szm tg

    1.2. M RFLDK VEK A SZM T G PEK FELPTSBEN 37

    peket p the ttek . E nnek a genercinak a je les kpviselirl runk ebben a fejezetben.

    1964-re az IBM lett a vezet szm tgpgyrt, de a kt nagyon sikeres gpvel, a 7094-essel s az 1401-essel kapcsolatban volt egy kom oly problm a: azok a legkisebb m rtkben sem voltak kom patibilisek. A z egyik nagy sebessg num erikus szm olgp volt prhuzam os binris aritm etikval s 36 bites regiszterekkel, a m sik csodlatos bem enet/k im enet szerv'ez, de soros decim lis aritm etikval s vltoz hosszsg m em riaszavakkal. A vsrl vllalatok tbbsgnek m indkettbl volt, de egyltaln nem rltek , hogy kt teljesen klnll program ozsi rszleget kell fenntartan iuk .

    A kt sorozat lecserlsnek idejn az IBM m ersz lpst te tt. Egyetlen term ksort vezetett be, a System/360-at, melyet integrlt ram kri alapokon ten/eztek olyanra, hogy mind a tudom nyos szm tsok, m ind az zleti alkalm azsok cljainak megfeleljen. A sok egyb jdonsg m ellett a System/360 sorozat egy csaldot alkotott m integy fl tucat klnbz m ret s teljestm ny gppel, amelyek m indegyike ugyanazon az assembly nyelven volt program ozhat. Egy vllalat az 1401- est a 360 M odel 30, a 7094-est pedig a 360 M odel 75 tpusra cserlhette. A M odel 75 nagyobb s gyorsabb volt (s drgbb is), de a sorozat brm elyikre rt szoftver elvileg brm elyik m sikon is fu thato tt. Gyakorlatilag a kis gpre rt szoftver a na- gyobbakon gond nlkl futott, de egy kisebbre teleptve a program esetleg nem frt el a m em riban. E nnek ellenre risi elrelps volt a 7094-es s a 1401-es kztti llapotokhoz kpest. A gpcsaldok gondolata azonnal elterjedt, s nhny ven bell a legtbb szm tgpgyrt m r rban s teljestm nyben klnbz, egybknt azonos gpekbl ll sorozatokat knlt. A 360-as csald eredeti tagjainak nhny jellem zjt m utatja az 1.7. bra. K sbb jabb m odelleket is bevezettek.

    Tulajdonsg Model 30 Model 40 Model 50 Model 65Relatv teljestmny 1 3,5 10 21Ciklusid(ns, a msodperc millirdod rsze)

    1000 625 500 250

    Maximlis memria (bjt) 65 536 262144 262144 524288Ciklusonknt betlttt bjtok szma 1 2 4 16Adatcsatornk maximlis szma 3 3 4 6

    1.7. bra. Az IBM 360-as gyrtmnycsald bevezet modelljei

    A 360-as egy m sik je len ts fejlesztse volt a m ultip rogram ozs, am ikor egyidejleg tbb program van a szm tgp m em rijban , s m ikzben egyik a bem enet/k im enet befejezsre vr, addig a m sik szm olhat. gy a C PU kihasznltsga m egntt.

    U gyancsak a 360-as volt az els gp, amely m s gpeket tu d o tt em ullni (szim ullni). A kisebb m odellek az 1401-est, a nagyobbak a 7094-est tud tk em ullni, gy a 360-asokra tt r vsrlk rgi binris program jaikat m inden vltoztats nlkl fu tta thattk . Nm elyik m odell az 1401-esnl annyival gyorsabban fu tta tta az 1401- es p rogram jait, hogy sokan sohasem rtk t rgi program jaikat.

  • 38 1. BEVEZETS

    A 360-ason knny volt az em ulci, mivel a bevezet s sok ksbbi m odell is m ikroprogram ozott volt. A z IBM -nek m indssze hrom m ikroprogram ot kellett m egrnia, a 360-as sajt, az 1401-es s a 7094-es u tastsrendszereire. Ez a rugalm assg volt az egyik f oka a n iikroprogram ozs elterjedsnek.

    A 36-as kom prom isszum os m egoldst hozo tt a prhuzam os binris, illetve so ros decim lis aritm etika dilem m jra is: a binris aritm etikra 16, egyenknt 32 bites regisztere volt, de m em rija az 1401-eshez hasonlan bjtszervezs m aradt. Ezen fell, az 1401-eshez hasonlan, soros utastsokkal is rendelkezett vltoz hosszsg adatok m em riban val m ozgatsra.

    Az (akkori m rcvel) risi, 2- ^ (16777216) bjtos c m tartom ny volt a 360-as m sik figyelem re m lt tulajdonsga. A m em ria akkori bjtonknti nhny do llros ra m ellett ennyi m em ria vgtelenl soknak tn t. Sajnos a 360-as sorozatot kvet 37-es, 4300-as, 3080-as, m ajd 3090-es sorozatok m ind ugyanarra az arch itek t r ra pltek. A z 1980-as vek kzepre a m cm riakorlt kom oly prob lm t je len te tt. Az IBM knytelen volt a kom patib ilitst rszben feladni, am ikor tt rt a 2 - bjtos m em riam ret 32 bites cmzsi rendszerre .

    M ai sszel azt krdezhetnnk , hogy ha a szavak s a regiszterek egyarnt 32 b itesek voltak, akkor a cm ek m irt nem . A bban az idben azonban senki nem tu do tt elkpzelni egy gpet 16 milli bjtnyi m em rival. O lyan lenne az IB M -et h ibzta tn i ezen e l relts h inyrt, m int egy mai szemlyi szm tgpeket gyrt cget azrt okolni, hogy csak 32 bites cm eket hasznl. N hny ven bell a szemlyi szm tgpeknek 4 m illird bjtnl sokkal nagyobb m em rira lesz szksgk, s ekkor a 32 bites cm ek jra elg telennek fognak bizonyulni.

    A m iniszm tgpes vilg is nagyot lpett elre a harm adik generci idejben, am ikor a D E C a P D P -8 u td jakn t bevezette a 16 bites PD P-11 sorozatt. Sok te k in tetben a PD P-11 a 360-as kistestvre volt - am int azt a P D P -l- r l, m int a 7094- es kistestvrrl is elm ondhatjuk. A 360-as s a P D P -1 1 is szavas regiszterekkel, bjtos m em rival rendelkezett, tovbb sorozataik je len ts r/teljestm ny skln mozogtak. A P D P -1 1 - klnsen az egyetem eken - kim agaslan sikeres volt, s hozzsegtette a D E C -et ahhoz, hogy m egrizze vezet helyt a miniszm t- gp-gyrtsban.

    1.2.5. Negyedik generci: magas integrltsg ramkrk (1980-?)

    A z 1980-as vekre a VLSI (Very Large Scale Integration, nagjon magas fok integrltsg) technolgia elszr tbb tzezer, m ajd szzezer, vgl pedig tbb milli tranzisztor elhelyezst te tte lehetv egyetlen lapkn. A fejlds rvid idn bell kisebb s gyorsabb szm tgpek ellltshoz vezetett. A P D P -1 el tt a vllalatoknak s az egyetem eknek specilis rszlegekre, a szmtkzpontoki a volt szksgk ezeknek a nagy s drga gpeknek az zem eltetshez. A m iniszm tgpek m egjelensvel m r egy rszleg vagy tanszk is m egvsrolhatta a sajt szm tgpt. 1980-ra az rak gy leestek, hogy m r m agnszem lyek szm ra sem volt e l rhete tlen a sajt szm tgp. B eksznttt a szemlyi szm tgpek kora.

    1.2. M RFLDKVEK A SZM T G PEK FELPTSBEN 39

    A szemlyi szm tgpeket egszen m sknt hasznltk, m int a nagy szm tgpeket. Szvegszerkesztsre, tb lzatkezelsre s egyb, kifejezetten interaktv alkalm azsokra (m int pldul j tkok), am elyekkel a nagyszm tgpek nehezen boldogultak.

    Az els szemlyi szm tgpeket kszletknt rusto ttk . A kszlethez egy nyom tato tt ram kri krtya, egy zacsknyi lapka - kztk ltalban az Intel 8080 - , kbelek, tpegysg s esetleg egy 8 inches floppym eghajt tartozo tt. A vsrlnak kellett az alkatrszekbl a szm tgpet sszeszerelnie. Szoftver nem ta rtozo tt a kszlethez. A kinek szksge volt r, m eg kellett rn ia a sajtjt. Ksbb G ary Kildall m egrta a 8080-asokon npszerv vlt CP/M opercis rendszert. Valdi, (hajlkony)lem ezrl fu tta to tt opercis rendszer volt fjlrendszerrel, a fe lhasznli parancsokat pedig billentyzetrl lehe te tt bevinni a parancsrte lm eznek (shell, hj).

    A korai szemlyi szm tgpek m sika az A pple, ksbb az A pple II volt, m elyet Steve Jobs s Steve W ozniak abban a nevezetes garzsban tervezett. A gp rendkvl npszer volt az o tthoni felhasznlk s az iskolk krben egyarnt, s ezzel az A pple szinte egyik naprl a m sikra a piac kom oly rsztvevjv vlt.

    Hossz m egfontols u tn - s ltva, mit csinl a tbbi gyrt - vgl az IBM, a szm tgpipar akkori nagyhatalm a is gy dnt tt, hogy beszll a szemlyiszm- tgp-zletbe. Egy, csak IB M -alkatrszekbl sszelltott, sajt gp tervezse t lsgosan sokig ta rto tt volna, ezrt szokatlan dnts szletett. Philip Estridge, az IBM egyik vezetje kapott m egbzst s jelen ts pnzgyi tm ogatst arra, hogy a cg m indenbe beleavatkoz brokrcijtl s annak New York llam beli A rm onk szkhelytl tvol es helyre tvozzon, s vissza se jjjn egy m kd szemlyi szm tgp nlkl. Estridge a floridai Boca R atonban lltotta fel m helyt, C PU -nak az In tel 8088-ast vlasztotta, s az els IBM Personal C om putert kereskedelm i fo rgalom ban kaphat alkatrszekbl p te tte meg. 1981-ben kezdtk meg a gyrtst, s azonnal a trtnelem legnagyobb darabszm ban eladott szm tgpv vlt.

    A z IBM m g egy szokatlan lpst te tt. am it azonban ksbb m egbnt. A helyett, hogy a gp terveit - ahogy ltalban szokta - titokban ta r to tta (vagy legalbbis szabadalm akkal vdte) volna, egy mindssze 49 do llrrt kaphat knyvben kzz te tte a teljes tervet, belertve az ram kri d iagram okat is. A z volt a clja, hogy m s cgek szm ra is lehetv tegye kiegszt krtyk gyrtst az IBM PC-khez, ezzel is nvelve az IB M PC alkalm azhatsgt s npszersgt. Mivel azonban a tervek kzism ertek, az a lkatrszek pedig a kereskedelem ben knnyen beszerezhetk voltak, az IBM szerencstlensgre szm os gyrt n. IBM PC -klnokat kezdett ellltani, tbbnyire az IB M rainl lnyegesen olcsbban. Ezzel egy teljesen j iparg szletett.

    M s vllalatokat, m int pldul a C om m odore, A pple, A m iga s A tari, akik nem In tel C PU -val gyrto ttk szemlyi szm tgpeiket, sszeroppan to tta az IBM PC- ipar slya. C sak nhnyuk lte tl, egyes szk piaci szegm ensekben.

    A z A pple M acintosh is t llte, br csak ppen hogy. A M acintosh-t 1984-ben m u ta ttk be a balsors A pple Lisa u tdakn t, amely az els grafikus felhasznli fellettel (Graphical User Interface, GUI) rendelkez szm tgp volt. A C}U1 a m anapsg oly kzkedvelt W indow s-fellethez hasonlto tt. A Lisa e lbukott, m ert

  • 40 1. BEVEZETS

    tl sokba kerlt, az egy vvel ksbb bevezetett olcsbb M acintosh azonban h a ta lm as sikert a ra to tt, s sok csodljbl vlto tt ki t lrad rzelm eket.

    A szemlyi szm tgpek e korai piaca vezetett el a ho rdozhat szm tgpek addig e lkpzelhetetlen ignyhez is. A bban az idben a ho rdozhat szm tgpnek kb. annyi rte lm e volt, m int m anapsg egy hordozhat htszekrnynek. Az els valban hordozhat szemlyi szm tgp, az O sborne-1, a m aga 11 kilogram m jval inkbb volt vonszolhat, m int hordozhat . E nnek ellenre bebizonytotta, hogy lehetsges hordozhat szm tgpet kszteni. A z O sborne-1 csak m rskelt kereskedelm i sikert hozott, azonban egy vvel ksbb a C om paq kihozta az els ho rdozhat IBM PC -klnt, s ezzel gyorsan m egalapozta vezet helyt a hordozhat gpek piacn.

    Az els IBM PC az akkor m g igen kicsi M icrosoft C orpora tion ltal ksztett M S-DO S opercis rendszerrel m kdtt. Ahogy az In tel egyre nagyobb te ljestm ny C PU -kat gyrtott, az IBM s a M icrosoft kifejleszthette az M S-D O S u t d jt, az OS/2-t, am ely az A pple M acintosh grafikus fel lethez hasonl t nyjto tt a felhasznlnak. Ekzben a M icrosoft k ifejlesztette a sajt, M S-D O S fe lett fut W indows opercis rendszer t is, a rra az esetre , ha az OS/2 nem fu tna be. R vidre fogva a t r tn e te t, az O S/2-nek nem volt sikere, az IBM s a M icrosoft nyilvnosan jl sszevesztek, a M icrosoft pedig sikerre vitte a W indowst. Az, ahogy a kis In tel s a m g kisebb M icrosoft cgnek sikerlt az IB M -et, a v ilgtrtnelem egyik legnagyobb, leggazdagabb s legbefolysosabb vllalatt trn jt l m egfosztani, vita tha ta tlanu l p ldartk , s vilgszerte zleti fiskolk tananyaga.

    A 8088-as sikerre ptve az In tel egyre nagyobb s gyorsabb vltozatokat p te tt. K ln em ltsre m lt az 1985-ben forgalom ba ker lt 386-os, mely lnyegben az els Pentium nak tek in thet . Br napjaink Pentium jai sokkal gyorsabbak a 386-osnl, arch itek t r j t tekintve egy mai Pentium is lnyegben csak egy felpiszklt 386-os.

    Az 1980-as vek kzepre az j fejleszts, egyszerbb (s gyorsabb) n. RISC- arch itek t ra kezdte felvltani a bonyolultabb (C ISC -) arch itek trkat. A z 1990-es vekben m egjelentek a szuperskalris CPU-k. Ezek a gpek egy idben tbb u ta stst kpesek vgrehajtani, gyakran a program ban szerepltl e lt r sorrendben . A CISC, R ISC s szuperskalris fogalm akat a 2. fejezetben vezetjk be, s ksbb rszletesen is trgyaljuk knyvnkben.

    1992-ig a szemlyi szm tgpek 8, 16 vagy 32 bitesek voltak. A kkor je len t m eg a D E C a forradalm i 64 b ites A lphval, egy valdi 64 bites R IS C gppel, m elynek a teljestm nye m essze m eghalad ta az akkori szm tgpekt. M rskelt sikere volt, de csaknem egy vtized m ltn a 64 bites gpek igazn elterjed tek , tbbnyire nagy teljestm ny kiszolglkknt (szerverekknt).

    1.2.6. tdik generci: lthatatlan szmtgpek

    1981-ben a japn korm ny beje len te tte , hogy 500 milli do llrra l tervezi tm ogatni a jap n vllalatoknak az tdik genercis szm tgpekre irnyul fejlesztseit, melyek m estersges intelligencin a lapulnnak s a b u ta negyedik gener

    1.2 . M RFLDK VEK A SZM T G PEK FELPTSBEN 41

    cis gpekhez kpest hatalm as ugrst je len tennek . Ltva, hogy a japn vllalatok tveszik a piacot az ipar tbb ter le tn , a kam erk t l a hangfelvev s -lejtsz berendezseken t a televzikszlkekig, az am erikai s eurpai szm tgpgyrtk szinte azonnal ktsgbeestek , s kveteltk az llami tm ogatst. A nagy beharangozs ellenre a japn tdik genercis projekt lnyegben kudarco t vallott, s csendben elhalt. Bizonyos rte lem ben olyan volt, m int Babbage analitikus gpe: egy ltnoki tlet, mely messze m egelzte kort, am ikor is a m egptshez szksges technolgia mg nem llt rendelkezsre.

    M indenesetre valam i t rtn t, am it akr tdik genercinak is nevezhetnk, m ghozz vratlan m don; a szm tgpek sszem entek. Az 1993-ban m egjelent A pple N ew ton m egm utatta , hogy egy hordozhat kazettsm agnnl kisebb szm tgp is p thet . A N ewton kzrst hasznlt felhasznli bevitelre, ami akadlynak bizonyult, azonban a kategria ksbbi tagjai - m elyeket ma PDA-nak (Personal Digital A ssistant, digitlis szemlyi asszisztens) neveznk - javto tt felhasznli interfsszel rendelkeztek , s nagyon npszerv vltak. Sokuk m a m ajdnem olyan szm tsi kapacitssal rendelkezik, m int a nhny vvel korbbi szemlyi szm tgpek.

    A zonban m g a PD A-k sem szm tanak igazn forradalm inak. E nnl is fon to sabbak a l tha ta tlan szm tgpek, m elyeket klnfle kszlkekbe, rkba, bankkrtykba s szm os egyb eszkzbe ptenek be (Bechini s trsai, 2004). E zek a processzorok alkalm azsok szles vlasztkban teszik lehetv a funkcionalits nvelst s az rak cskkentst. V itathat , hogy ezek a lapkk igazi generci t alkotnak-e (hiszen az 1970-es vek ta je len vannak), viszont fo rradalm astjk a tbb ezer kszlk s eszkz m kdst. M r m ost is nagy hatssal vannak a vilgra, s befolysuk a kvetkez vekben gyorsan tovbb fog nvekedni. Ezek a begyazott szm tgpek abbl a szem pontbl klnsek, hogy a hardvert s a szoftvert gyakran egytt tervezik (codesign) (H enkel s trsai, 2003). Ezekre knyvnkben ksbb m g visszatrnk.

    H a az els genercinak az elektroncsves gpeket (pldul E N IA C ) tekintjk, a m sodik genercinak a tranzisztoros gpeket (pldul az IBM 7094), a harm adik genercinak a korai in tegrlt ram krs gpeket (pldul az IBM 360), a n e gyedik genercinak pedig a szemlyi szm tgpeket (pldul az In tel C PU -k), akkor az igazi td ik generci inkbb szem lletm dvlts, m intsem konkrt j arch itek tra . A jvben a szm tgpek m inden tt s m indenbe begyazva, valban l thata tlanok lesznek. N api le tnk rszeknt je len lesznek ajtnyitskor, lm pagyjtskor, kszpnzfelvtelnl s tbb ezer egyb dologban. Ezt a nhai M ark W eiser ltal kidolgozott m odellt hvjk m inden tt jelenlv szm tstech niknak (W eiser, 2002). Ez oly m rtkben fogja m egvltoztatni a vilgot, m int egykor az ipari forradalom . Knyvnkben nem trgyaljuk tovbb a tm t; tovbbi rszletekkel kapcsolatban lsd a szakirodalm at (Lyytinen s Yoo, 2002; Saha cs M ukherjee, 2003; Sakam ura, 2002).

  • 42 1. BEVEZETS

    1.3. Szm tgp-killtsA z elz rszben rviden ttek in te ttk a szm tgpes rendszerek t rtnet t. M tist lssuk a je len t, s tek in tsnk a jvbe. B r napjainkban a szemlyi szm tgpek a legism ertebbek, azrt m sfle gpek is lteznek, am elyekre szintn rd e mes egy p illan tst vetnnk.

    1.3.1. Technolgiai s gazdasgi mozgatrugk

    A szm tgpipar olyan iram ban fejldik, m int ahogy egyetlen m s iparg sem. F m ozgatrugja, hogy a gyrtk vrl vre tbb s tbb tranzisz tort kpesek egyetlen lapkra elhelyezni. A tbb tranzisz tor - am elyek tu lajdonkppen apr e lek tronikus kapcsolk - nagyobb m em rit s hatkonyabb processzort eredm nyez. G ordon M oore, az Intel egyik alap t ja s korbbi elnke egyszer azzal vicceldtt, hogy ha a replgp-technolgia olyan gyorsan fejldtt volna, m int a szm tgp-technolgia, egy replgp 500 dollrba kerlne, 20 perc a latt kerln m eg a Fldet 5 gallon (kb. 18,5 liter) zem anyagot fogyasztva, s akkora lenne, m int egy cipsdoboz.

    M oore egyik e ladsra kszlve vette szre, hogy a m em ria-ram krk esetben hrom vente je len tek meg j genercik. M inden generci m egngyszerezte az elz m em riakapacitst, teh t az egy lapkn elhelyezhet tranzisztorok szm a lland tem ben ntt. A zt jsolta, hogy ez a nvekeds m g vtizedekig folytatdni fog. Ezt a m egligyelst hvjuk M oore-szablynak. M a M oore szablyt inkbb gy fogalm azzk meg, hogy a tranzisztorok szm a 18 havonta m egktszerezdik, azaz a nvekeds m integy vi 60 szzalk. A m em ria-ram krk m reteit s bevezetsk idpontjait az 1.8. bra m utatja; lthatjuk, hogy M oore szablya tbb m int hrom vtizede teljesl.

    1 0 0 0 0 0 0 0 0 0

    100000000 10000000

    E 1000000" 100 000

    10000 KI ^ 1 000 100

    10

    512M