520 likes | 831 Views
Arvutikäsitusõpetus 2. loeng. 1. Programmjuhtimisega arvutite ajaloost 2. Digitaalarvuti töö põhimõtted 3. Positsioonilised arvusüsteemid. Kahendsüsteem. Arvude teisendamine. Kirjandus. Huvitav informaatika II. Arvutimaailm eile, täna, homme. Autor-koostaja U. Agur. 1989.
E N D
Arvutikäsitusõpetus 2. loeng 1. Programmjuhtimisega arvutite ajaloost 2. Digitaalarvuti töö põhimõtted 3. Positsioonilised arvusüsteemid. Kahendsüsteem. Arvude teisendamine
Kirjandus • Huvitav informaatika II. Arvutimaailm eile, täna, homme. Autor-koostaja U. Agur. 1989. • R. Guter, J. Polunov. Abakusest raalini. 1980 • T. Tamme “Viienda põlvkonna müüt” “Arvutimaailm” 5/2000 (Varia)
Huvitavaid linke www.cs.virginia.edu/brochure/museum.html –virtuaalne arvutimuuseum www.hot.ee/zolki/Arvuti/Arvuti.html - – Indrek Zolk’i referaat arvutite ajaloost www.crews.org/curriculum/ex/compsci/articles/generations.htm– arvutite põlvkonnad www.math.ut.ee/ktv/1995/arvutite_arhitektuur– digitaalarvuti töö põhimõtetest
“Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, 1949
Arvutis toimuva infotöötlusprotsessi aluseks on kolm põhimõtet: 1. Info esitatakse digitaalkujul: kvantitatiivsed suurused arvudena, muu info — tekst, pildid jne. aga numbriliselt kodeerituna (kahendkoodis); 2. Digitaalteabe töötlemiseks rakendatakse elektroonikat; 3. Infotöötlusprotsessi juhitakse automaatselt, varem koostatud programmi järgi. 1 & 3 programmjuhtimisega arvuti
Programmjuhtimisega arvutil peab olema ... • Protsessor, mis oskab täita elementaarkäske • Mälu, kuhu salvestada programm ja andmed • Sisendseade programmi ja andmete sisestamiseks • Väljundseade programmi töö tulemuste esitamiseks
Esimese programmjuhtimisega arvuti projekt • 1834 - inglise matemaatik Charles Babbage • seadmed: aritmeetikaseade (“vabrik”), mälu (“arvuladu”), sisend- ja väljundseade, juhtseade • mehaaniline • programm perfokaartidel • Ei ehitatud valmis. Sellele arvutile koostas esimese programmi – Bernoulli arvude leidmiseks – G. Byroni tütar leedi Augusta Ada Lovelace. Tema järgi on nime saanud programmeerimiskeel Ada.
Programmjuhtimisega arvuteid hakati päriselt ehitama 1930ndate aastate lõpus: • 1941 Konrad Zuse (Saksamaa) – maailma esimene programmjuhtimisega universaal-arvuti Z3 • töötas telefonireleedel • sõltumatult A. Turingi ja G. Boole’i töödest Turingi masin – idealiseeritud arvuti, mida reaalsest arvutist eristab lõpmatu sisemälu ja eksimatus. See koosneb lõpmatust lindist, lugevast ja kirjutavast peast, sisemälust ja käskude tabelist.
Järgnevalt: elektronarvutite põlvkonnad 1. Lamparvutid 2. Pooljuhtarvutid (= transistorarvutid) 3. Integraalarvutid 4. Lausintegraalarvutid 5. Tehisintellektiga arvuti? 6. Paralleelprotsessid, interneti levik
1. põlvkond - lamparvutid ENIAC – 1945 (Pennsylvania ülikool), loetakse kõige esimeseks universaalseks elektronarvutiks • 18 000 elektronlampi • 30 m pikk • programm pistikutega
1. põlvkond jätkub... SSEM ehk "Baby" (The Small-Scale Experimental Machine) – Manchesteri ülikool, Inglismaa • 21. juunil 1948 töötas esimest korda edukalt. • Esimene masin, mis suutis elektroonilisse mällu salvestada mitte ainult andmeid, vaid ka lühikest programmi.
1. põlvkond jätkub... EDSAC – 1949, Cambridge’i ülikool • 3000 lampi 12 riiulil • mälu – elavhõbedatorud • 650 op/sek • sisendseade – perfolint • esimene töötav programm leidis arvude 0-99 ruudud 2 minuti ja 35 sekundiga • “valmis” masin – juhtmeid ega lüliteid polnud vaja uute arvutuste jaoks ümber ühendada/lülitada • esimene arvuti, mida kasutati teaduspublikatsiooni aluseks olevateks arvutusteks (geneetik R. Fisher)
1. põlvkond jätkub... ACE (Pilot Model Automatic Computing Engine) – 1949, London • idee autor Alan Turing • 1945 kavand ja mõned masinkoodis programmid • 10. mail 1950 esimene töötav programm • taktsagedus 1 MHz, oli mõnda aega maailma kiireim arvuti
Esimesed seeriaarvutid • 1951 Univac – 1 (USA) • 1953 – IBM 701 • 1955 – NORC (60 000 op/s – maailma-rekord kiiruses) • 1953 – Strela (NSVL) • 1954 - Ural
2. põlvkond - transistorarvutid • 1947 leiutati transistor e. pooljuht (Belli laborid, USA) • 1950ndate keskel algas transistoride kasutamine arvutites • Esimesed transistorarvutid: • 1958 Philco 2000 • 1959 IBM 7090 • 1959 Sirius (Inglismaa firma Ferranti) + väikesed mõõtmed, väike energiatarve, suurenenud töökindlus
2. põlvkond jätkub... • 1961 Stretch (IBM), kiirus 700 000 op/s • 1962 Atlas (Ferranti) • Hakkas arenema arvutitööstus Prantsusmaal, Saksamaal, Jaapanis • 1961 Razdan-2 (NSVL) • Ural-11,14,16 • 1967 Robotron 300 (Saksa DV)
3. põlvkond - integraalarvutid • Elektroonikalülituste põhikomponendiks on ühe pooljuhtkristallplaadikese pinnale elementidest ja ühendustest monoliitsena moodustatud elektroonikalülitus. • 1958 - J. S. Kilby ja R. Noyce valmistasid (teineteisest sõltumatult) esimese integraallülituse • 1960. aastate lõpul suudeti ühele kristallile moodustada mitu tuhat transistori.
3. põlvkond jätkub... • Uued lahendused arvuti struktuuris ja tööviisis (multiprogrammeerimine, ajajaotus, virtuaalmälu). • Esindajad: • 1965- ühilduvad arvutid (pere IBM/360) • IBM/360 eeskujul on tehtud vene EC-tüüpi arvutid. • superarvutid (põhiline on kiirus) vs. miniarvutid (esikohal töökindlus ja vastupidavus)
4. põlvkond - suurel arvul (100 000) integraallülitustel põhinevad arvutid • Pooljuhid ka arvutite põhimälus • Mikroprotsessor – arvuti keskseadme (CPU) kõik elektronlülitused mahutatud ühele kristallile. • 1971 IBM 370 • kiip (chip) – väike pooljuhtmaterjali (enamasti räni) kristall, millele on tekitatud integraalskeem. • väiksem kui 0,5 cm2 • sisaldab miljoneid transistore. • Kiibid monteeritakse jalgadega varustatud plastmassist korpustesse. • Tavaliselt mõeldaksegi kiibi all mitte kristalli ennast, vaid juba korpusesse monteeritud valmistoodet. • Arvutid sisaldavad tervet hulka trükkplaatidele monteeritud kiipe.
Intel-protsessorite võrdlus Mikro- Valmi- Sõna- Transis- Kiirus Märkus protsessor nud pikkus(bitti) tore (MHz) 8080 1974 8 5 000 2 8086 1978 16 29 000 5-10 8088 1979 16 29 000 4.77 matem. 80286 1983 16 175 000 8-12 80386 1987 32 275 000 16-33 80486 1989 32 1 200 000 25-50 Pentium 1993 64 3 100 000 60-166 Pentium Pro 1995 64 5 500 000 150-200 Pentium II 1997 64 7 500 000 233-300 MMX Pentium III 1999 64 9 500 000 350-1000 Pentium IV 2000 64 >42 000 000 1300-3800
Veel 4. põlvkonnast • 1980ndad - superarvutite võidukäik USA-s ja Jaapanis, kiirus 1-3 miljardit op/sek • 1981 personaalarvuti IBM PC
5. põlvkond • 1981 Jaapani valitsuse projekt 5. põlv-konna arvuti loomiseks. 1991. aastaks pidi valmima arvuti, mis... • Asendab keskmise intellektiga inimest. • Täidab suulisi juhiseid ja jäljendab võimalikult täpselt inimmõtlemist. tehisintellekt, loogiline programmeerimine, keeletehnoloogia ...
5. põlvkond - järg • 1985 loobus Jaapani valitsus sellest projektist. • Teistsuguse arhitektuuriga, loogilist programmeerimist toetav arvuti ei õigustanud ennast. • Aga… Teadvustati inimese-arvuti suhtluse hõlbustamise vajadust intellektitehnika ja keeletehnoloogia kiire areng
5. põlvkond - järg • Fifth Generation Computer Corporation (FGC) kavandab ja ehitab mitmeprotsessorilisi serverarvuteid (MP Servers) ja kõnetuvastusarvuteid, kasutades eesrindlikke mitmeprotsessori- ja kõnetuvastustehnoloogiaid. Kasut. näiteks telekommunikatsioonifirmade poolt. • pideva kõne tuvastus reaalajas • FGC asutati 1980ndate alguses New Yorkis
6. põlvkond (1990-...) • Paralleelarvutused - nii riistvaraline kui tarkvaraline tugi • Interneti plahvatuslik levik • rakendatakse sadu ja tuhandeid protsessoreid paralleelselt • arvutivõrgus jagatakse ülesanne tööjaamade vahel
Digitaalarvuti töö üldpõhimõtted • Digitaalarvuti nimetus osutab sellele, et tema töö aluseks on informatsiooni digitaalne e. numbriline esitus. • Info salvestamiseks ja töötlemiseks võib kasutada analoog- või digitaaltehnoloogiat. • Analoogne (pidev) vs. digitaalne (diskreetne)
Digitaalarvuti töö põhimõtted - järg • Digitaaltehnikas kasutatakse kahendsüsteemi nii iseseisva süsteemina kui ka teiste arvusüsteemide realiseerimise vahendina. Miks? • füüsikalise realiseerimise lihtsus: kahe olekuga elemente võib luua mitmel viisil: 1. voolu olemasolu (impulss) – voolu puudumine (impulssi pole) 2. lüliti suletud – lüliti avatud 3. transistor juhib – transistor suletud 4. magneetimine ühes suunas – magneetimine vastassuunas
Digitaalarvuti töö põhimõtted - järg • tehete sooritamise põhimõtteline lihtsus (kõikide arvutuste teostamine taandatakse kahendarvude liitmisele); • funktsionaalne ühtsus Boole'i algebraga, mis on loogikalülituste peamine mate-maatiline alus.
Kahendsüsteem • Boole'i algebral põhineb kogu tänapäeva arvutite töö. G. Boole näitas (1847-54), et • Loogika on matemaatika, milles on kaks arvväärtust — 1 (kõigi asjade klass e. universum) ja 0 (tühi klass); • Ka loogikas kehtivad liitmise ja korrutamise tehted, kuigi neil on teine sisu. • Boole jättis defineerimata, millega võrdub 1+1 • Seda tegid 1860ndatel Peirce ja Jevons, tõlgendades + kui tehet (või). Boole’I algebras 1 + 1 = 1
Loogikatehted = kahendarvude aritmeetika - 1 Korrutamine = AND (konjunktsioon)
Loogikatehted = kahendarvude aritmeetika - 2 Liitmine = OR (disjunktsioon) Liitmine =
Loogikatehted = kahendarvude aritmeetika - 3 Eitus = NOT (inversioon) Eitus=
Kahendsüsteem - järg • Kahendsüsteem kuulub positsiooniliste arvusüsteemide hulka. • Kahendsüsteemi aluseks on 2, seega arvu kohtade kaaludeks on kahe astmed ning igal kohal võib olla vaid kaks väärtust, 0 või 1. • Näide: kahendarv 1011,01 on kümnendsüsteemis väärtusega: 123+022+121+120+02-1+12-2 = = 23+21+20+2-2 = 8+2+1+0,25 = 11,25
Kahendsüsteem - järg Aga... • Kahendarvu kood on sama kümnendarvu koodist keskmiselt log210=3,3 korda pikem - inimese jaoks üsna kohmakas ja raskestiloetav. • Kahendsüsteemi võimaldavad kompaktse-malt kujutada kaheksandsüsteem ja kuueteistkümnendsüsteem.
Arvude teisendamine • Kuidas teisendada 2ndarvu 8nd- ja 16ndarvuks ja vastupidi? Reeglid. 1. Selleks, et teisendada arvu 8-ndsüsteemist 2-ndsüsteemi, tuleb tema iga number asendada vastava 3-kohalise 2-ndarvuga. Näide:
Arvude teisendamine - järg 2. Selleks, et teisendada arvu 2-ndsüsteemist 8-ndsüsteemi, tuleb tema numbrid, alustades komast, grupeerida kolmikuteks ja iga kolmik asendada vastava 8-ndnumbriga.
Arvude teisendamine - järg 3. Selleks, et teisendada arvu 16-ndsüsteemist 2-ndsüsteemi, tuleb tema iga number asendada vastava 4-kohalise 2-ndarvuga.
Arvude teisendamine - järg 4. Selleks, et teisendada arvu 2-ndsüsteemist 16-ndsüsteemi, tuleb tema numbrid, alustades komast grupeerida nelikuteks ja iga nelik asendada vastava 16-ndnumbriga. Seega, üleminek 2-nd-, 8-nd- ja 16-ndsüsteemi vahel on automaatne.
Informatsiooni esitamine arvutis 1. Arvude kujutamine 2-ndsüsteemis • MÄLU baidid • Ühe arvu kujutamiseks kasutatakse kas 1, 2, 4, ... baiti (sõltuvalt arvutist). Seda mäluosa nimetame tinglikult "pesaks". • Arv säilib pesas, kuni sinna pole kirjutatud uut arvu või arvutit välja lülitatud.
Arvude kujutamine - järg • bitt = binary digit - arvuti mälu vähim osa, millel eristatakse vaid kahte seisundit ning mida kasutatakse ühe kahendnumbri salvestamiseks. • 1 bait = 8 bitti 2 režiimi: 1.püsikoma- 2.ujukoma-
Arvude kujutamine - järg 1. Püsikomarežiim Koma fikseeritud mingi kindla biti järel (sõltub arvuti ehitusest) Diapasoon? Suurim arv 11...1 Ületäitumine! • Kui koma pärast märgibitti, siis arvud 0, ... Suurim arv: 0,11...1 Vähim positiivne arv: 0,00...01 • Arvutinull - nullist erinev arv, mis arvuti piiratud täpsuse tõttu kujutub arvutis nullina.
Arvude kujutamine - järg • 2. Ujukomarežiim A = (m ·10)j - arvu A poollogaritmiline kuju |m| < 1; m - arvu mantiss j (täisarv) - arvu järk
Püsikoma- vs. ujukomarežiim • Kui pesa pikkus on 4 baiti, siis püsikomaarvude diapasoon (eeldusel, et koma arvu lõpus) on -2 ·109 ... + 2 ·109 • Ujukomaarvude diapasoon (eeldusel, et järgu jaoks 8 bitti) on -1019 ... + 1019. • Diapasoon on ujukomaarvude korral suurem, püsikomaarvude korral väiksem. • Tehted püsikomaarvudega on lihtsamad, ujukomaarvudega keerulisemad.
Teksti kujutamine arvutis • Igale sümbolile seatakse vastavusse tema kahendkood kindlas koodisüsteemis. Teksti koodiks on siis tema sümbolite koodide jada. • Levinud standardiks on ASCII (American Standard Code for Information Interchange), kus koodi pikkus on 7 bitti (s.o. nn. Plain ASCII) • Laiendatud ASCII-s (Extended ASCII) on koodi pikkus 8 bitti e. 1 bait).
Teksti kujutamine arvutis - järg • Näiteks (plain ASCII-s) a kood on 1100001 b 1100010 A 1000001 B 1000010 + 0101011 ! 0100001
Teksti kujutamine arvutis - järg • 1 masinakirjalehekülg teksti võtab kodeerimisel umbes 2 kilobaiti (lk-l 30-40 rida, reas 60 sümbolit). • Seega, 1,44-megabaidisele pehmekettale mahub umbes 700 lk. (lihtsat) teksti. • 1 masinakirjalehekülg tekstitoimetiga Word vormistatud teksti võtab umbes 12 kilobaiti (lisanduvad nn. juhtsümbolid).
Digitaalarvuti programmjuhtimine • Digitaalarvuti töö toimub programmjuhtimise põhimõttel, mis formuleeriti J. von Neumanni poolt 1947.a. http://math.ut.ee/ktv/1995/arvutite_arhitektuur/arh7.html
Käsk ja andmed • Digitaalarvutit juhitakse teatud juhtsõnadega (infoüksustega), mida nimetatakse käskudeks ning mis on salvestatud digitaalarvuti mäluseadmesse. • Käsk sisaldab informatsiooni selle kohta, missugust tehet e. operatsiooni tuleb täita. • Informatsiooni, mida töödeldakse digitaalarvutis, nimetatakse tavaliselt andmeteks. Andmed salvestatakse samuti mäluseadmesse.
Algoritm ja programm • Andmete töötluseeskirjad e. algoritmid on esitatud käskude jadana, mida nimetatakse programmiks. • Programm salvestatakse digitaalseadme mällu ja tema automaatne täitmine ongi digitaalarvuti töö aluseks.
Käsuvorming • See, mida käsk peab sisaldama, on määratud arvuti käsuvorminguga. Käsuvormingu peamised osad on tehtekood (operatsioonikood) ja aadressid. • Tehtekood näitab (kodeeritult), missugust tehet on vaja sooritada. Tehtekoodiks võib olla näiteks mikrokäsu aadressi kõrgem osa. • Aadressid näitavad tehete operandide asukohta mälus, s.o. mälupesa numbrit või registrit, tehte tulemi asukohta, järgmisena täitmisele tuleva käsu asukohta mälus jm.