Arvutikäsitusõpetus 2. loeng

52
Arvutikäsitusõpetus 2. loeng 1. Programmjuhtimisega arvutite ajaloost 2. Digitaalarvuti töö põhimõtted 3. Positsioonilised arvusüsteemid. Kahendsüsteem. Arvude teisendamine

description

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. - PowerPoint PPT Presentation

Transcript of Arvutikäsitusõpetus 2. loeng

Page 1: Arvutikäsitusõpetus  2. loeng

Arvutikäsitusõpetus 2. loeng

1. Programmjuhtimisega arvutite ajaloost2. Digitaalarvuti töö põhimõtted3. Positsioonilised arvusüsteemid. Kahendsüsteem. Arvude teisendamine

Page 2: Arvutikäsitusõpetus  2. loeng

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)

Page 3: Arvutikäsitusõpetus  2. loeng

Huvitavaid linkewww.cs.virginia.edu/brochure/museum.html

– virtuaalne arvutimuuseumwww.hot.ee/zolki/Arvuti/Arvuti.html -

– Indrek Zolk’i referaat arvutite ajaloostwww.crews.org/curriculum/ex/compsci/articles/generations.htm

– arvutite põlvkonnadwww.math.ut.ee/ktv/1995/arvutite_arhitektuur –

digitaalarvuti töö põhimõtetest

Page 4: Arvutikäsitusõpetus  2. loeng

“Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, 1949

Page 5: Arvutikäsitusõpetus  2. loeng

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

Page 6: Arvutikäsitusõpetus  2. loeng

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

Page 7: Arvutikäsitusõpetus  2. loeng

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.

Page 8: Arvutikäsitusõpetus  2. loeng

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.

Page 9: Arvutikäsitusõpetus  2. loeng

Järgnevalt: elektronarvutite põlvkonnad

1. Lamparvutid2. Pooljuhtarvutid (= transistorarvutid)3. Integraalarvutid4. Lausintegraalarvutid5. Tehisintellektiga arvuti?6. Paralleelprotsessid, interneti levik

Page 10: Arvutikäsitusõpetus  2. loeng

1. põlvkond - lamparvutid

ENIAC – 1945 (Pennsylvania ülikool), loetakse kõige esimeseks universaalseks elektronarvutiks

• 18 000 elektronlampi • 30 m pikk• programm pistikutega

Page 11: Arvutikäsitusõpetus  2. loeng

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.

Page 12: Arvutikäsitusõpetus  2. loeng

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)

Page 13: Arvutikäsitusõpetus  2. loeng

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

Page 14: Arvutikäsitusõpetus  2. loeng

Esimesed seeriaarvutid

• 1951 Univac – 1 (USA) • 1953 – IBM 701• 1955 – NORC (60 000 op/s – maailma-

rekord kiiruses)• 1953 – Strela (NSVL)• 1954 - Ural

Page 15: Arvutikäsitusõpetus  2. loeng

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

Page 16: Arvutikäsitusõpetus  2. loeng

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)

Page 17: Arvutikäsitusõpetus  2. loeng

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.

Page 18: Arvutikäsitusõpetus  2. loeng

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)

Page 19: Arvutikäsitusõpetus  2. loeng

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.

Page 20: Arvutikäsitusõpetus  2. loeng

Intel-protsessorite võrdlusMikro- 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-166Pentium Pro 1995 64 5 500 000 150-200Pentium II 1997 64 7 500 000 233-300 MMXPentium III 1999 64 9 500 000 350-1000Pentium IV 2000 64 >42 000 000 1300-3800

Page 21: Arvutikäsitusõpetus  2. loeng

Veel 4. põlvkonnast

• 1980ndad - superarvutite võidukäik USA-s ja Jaapanis, kiirus 1-3 miljardit op/sek

• 1981 personaalarvuti IBM PC

Page 22: Arvutikäsitusõpetus  2. loeng

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 ...

Page 23: Arvutikäsitusõpetus  2. loeng

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

Page 24: Arvutikäsitusõpetus  2. loeng

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

Page 25: Arvutikäsitusõpetus  2. loeng

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

Page 26: Arvutikäsitusõpetus  2. loeng

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)

Page 27: Arvutikäsitusõpetus  2. loeng

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 avatud3. transistor juhib – transistor suletud4. magneetimine ühes suunas – magneetimine vastassuunas

Page 28: Arvutikäsitusõpetus  2. loeng

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.

Page 29: Arvutikäsitusõpetus  2. loeng

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

Page 30: Arvutikäsitusõpetus  2. loeng

Loogikatehted = kahendarvude aritmeetika - 1

Korrutamine = AND (konjunktsioon) e.

ja e. 0(väär)

1(tõene)

0(väär)

0 0

1(tõene)

0 1

Page 31: Arvutikäsitusõpetus  2. loeng

Loogikatehted = kahendarvude aritmeetika - 2

Liitmine = OR (disjunktsioon)Liitmine =

+ e. OR e.

0 (väär)

1 (tõene)

0 (väär)

0 1

1 (tõene)

1 1

Page 32: Arvutikäsitusõpetus  2. loeng

Loogikatehted = kahendarvude aritmeetika - 3

Eitus = NOT (inversioon)Eitus =

NOT e.

0 (väär)

1

1 (tõene)

0

Page 33: Arvutikäsitusõpetus  2. loeng

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

Page 34: Arvutikäsitusõpetus  2. loeng

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.

Page 35: Arvutikäsitusõpetus  2. loeng

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:

Page 36: Arvutikäsitusõpetus  2. loeng

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.

Page 37: Arvutikäsitusõpetus  2. loeng

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.

Page 38: Arvutikäsitusõpetus  2. loeng

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.

Page 39: Arvutikäsitusõpetus  2. loeng

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.

Page 40: Arvutikäsitusõpetus  2. loeng

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-

Page 41: Arvutikäsitusõpetus  2. loeng

Arvude kujutamine - järg1. PüsikomarežiimKoma 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.

Page 42: Arvutikäsitusõpetus  2. loeng

Arvude kujutamine - järg

• 2. UjukomarežiimA = (m ·10)j - arvu A poollogaritmiline kuju |m| < 1; m - arvu mantiss j (täisarv) - arvu järk

Page 43: Arvutikäsitusõpetus  2. loeng

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.

Page 44: Arvutikäsitusõpetus  2. loeng

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).

Page 45: Arvutikäsitusõpetus  2. loeng

Teksti kujutamine arvutis - järg

• Näiteks (plain ASCII-s) a kood on 1100001 b 1100010 A 1000001 B 1000010 + 0101011 ! 0100001

Page 46: Arvutikäsitusõpetus  2. loeng

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).

Page 47: Arvutikäsitusõpetus  2. loeng

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

Page 48: Arvutikäsitusõpetus  2. loeng

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.

Page 49: Arvutikäsitusõpetus  2. loeng

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.

Page 50: Arvutikäsitusõpetus  2. loeng

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.

Page 51: Arvutikäsitusõpetus  2. loeng

Käsu samm-sammuline täitmine

Käsu täitmine täitmine toimub etappide kaupa järgmiselt:

1.Käsu lugemine. 2.Operandide lugemine. 3.Tehte sooritamine. 4.Tulemi salvestamine. 5.Järgmise käsu ettevalmistamine.

Page 52: Arvutikäsitusõpetus  2. loeng

Käsu samm-sammuline täitmine - järg

Siirdekäskude puhul on käsu täitmise etapid teistsugused, näiteks järgmised:

1.Käsu lugemine. 2.Tingimuste analüüs 3.Järgmise käsu ettevalmistamine.