Arvutikäsitusõpetus 2. loeng
description
Transcript of 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
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 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
“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. Lamparvutid2. Pooljuhtarvutid (= transistorarvutid)3. Integraalarvutid4. Lausintegraalarvutid5. 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õ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
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 avatud3. transistor juhib – transistor suletud4. 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) e.
ja e. 0(väär)
1(tõene)
0(väär)
0 0
1(tõene)
0 1
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
Loogikatehted = kahendarvude aritmeetika - 3
Eitus = NOT (inversioon)Eitus =
NOT e.
0 (väär)
1
1 (tõene)
0
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ä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.
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
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.
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.
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.