1 / 43

History of Computer Technology

Explore the development of computer technology from mechanical calculators to electronic devices. Learn about key inventions, such as Babbage's Analytical Engine and the first electronic digital computer (ENIAC).

guthrie
Download Presentation

History of Computer Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.2. Tietotekniikan historiaa 1/3 Tietokoneet mekaanisia  sähkömekaanisia  elektronisia • roomalaisilla ja kreikkalaisilla abakus • helmitaulun alkeismuoto, keksittiin satoja vuosia eKr • 1600-luku: • logaritminen asteikko (1. analoginen manuaalinen laskukone) • 1642 Blaise Pascalin mekaanisen laskukoneen piirustukset (vasta 1790 1. toteutus) • 1700-luku: • Teollisuusvallankumous: laskulaitteitta tarvittiin yhä enemmän • Laivojen ja siltojen rakentamisessa, topografiassa, • talouselämän laskennassa • rei’itetty metallirumpu kudonnan ohjaamiseen • 1800-luku: aritmometri (Thomas) – alkeislaskin • (sähkö)mekainen: koostui hammaspyöristä, akseleista ja vivuista • lukujen asettaminen ja siirtäminen laskuriin • kierrosten laskuri • tuloksen laskuri • tuloksen nollaus • toimi pyörittämällä kahvaa käsin tai sähkön voimalla

  2. Tietotekniikan historiaa 2/3 • Charles Babbage 1830-luvulla: • Difference Engine No 1:n mallikappale (ei ikinä valmistunut) • Analyyttinen kone • ohjelmoitava mekaaninen laskin, jopa muistilla! • antoi palautteen, jonka avulla laskennan aikana syntyneitä välituloksia voitaisiin käyttää hyväksi koneen ohjaamisessa. • toimintaohjeiden ja alkutietojen syöttö reikäkorteilla • Babbage oli aikaansa edellä: tuohon aikaan analyyttisen koneen rakentaminen ei ollut vielä teknisesti mahdollista. • 1800-loppu/1900-alku: • analogiset sähkömekaaniset laskukoneet • Krylovin differenssiyhtälöiden laskukone 1904

  3. Tietotekniikan historiaa 3/3 • 1940-luku – ensimmäinen electroninen digitaalinen kone ENIAC • engl. Electronic Numerical Integrator And Computer • ensimmäinen täysin elektroninen yleiskäyttöinen tietokone • Yhdysvaltain armeijan rakentama, käytettiin ballistiikan laskutoimituksiin • pystyi suorittamaan sekunnissa 100 000 yhteenlaskua, mutta vain 357 kertolaskua, tai 38 jakolaskua. • painoi yli 30 tonnia ja täytti suuren huoneen • koneessa oli lähes 18000 elektroniputkea, satoja tuhansia muita komponentteja ja yli viisi miljoonaa käsintehtyä juotosta. • ENIACin tehontarve oli 160 kilowattia, mutta silti sen muistiin mahtui vain noin 80 merkin verran informaatiota!!! • kuitenkin pystyi tekemään sellaisia laskuja, joiden käsin laskemiseksi ihmisikää ei olisi riittänyt • puolijohteiden käyttöönotto • Ensimmäinen transistori v. 1947 ja integroitu piiri v. 1958

  4. Puolijohde on aine, joka johtaa hyvin huonosti tai ei lainkaan sähköä • tärkeimpiä puolijohteita pii (Si) ja germanium (Ge) • etenkin matalissa lämpötiloissa toimii eristeensä • elektroneja on juuri tarvittu määrä, kaikki ovat kovalenttisessa sidoksessa (ks kuva s. 110) • sähköjohtavuus paranee lämpötilan kasvaessa • energian kasvaessa elektronit purkautuvat sidoksesta ja lähtevät pois omalta paikaltaan • syntyy vaeltava elektroni, joka kuljettaa -varausta ja sen jättämä vaeltava aukko, joka kuljettaa  -varausta 4.2.1 Puolijohteet

  5. 4.2.1 Puolijohteet • Johtavuutta voidaan parantaa myös huumaamalla puolijohde vierailla kiderakenteeseen sopivilla atomeilla (epäpuhtauksilla) • jos puolijohteeseen lisää donoriainetta (antimoni, arseeni, fosfori), jolla on 5 valenssielektronia, tulee 1 elektroni liikaa – syntyy n-aine • jos lisää akseptoriainetta (indium, boori, gallium), jolla on 3 valenssielektronia, tulee 1 elektronin vaje – syntyy p-aine

  6. 4.2.1 Puolijohteet Rakennetaan n- ja p-aineista ’komponentti’, ns. np-liitos (sivu 110):

  7. 4.2.2 Puolijohdekomponentit • Jos np-liitokseen kytketään sähkövirta myötäsuuntaan, liitos johtaa sähköä. • Jos sähkövirta kytketään vastasuuntaiseksi, liitos eristää sähköä. Tämä tarkoittaa: np-liitos johtaa sähköä toiseen suuntaan, mutta eristää toiseen suuntaan kyseessä on diodi. (DI(kaksi)-elektrODI) Nuoli osoittaa sähkövirran suunnan, joka on p-aukkojen liikkumisen suunta

  8. 4.2.2 Puolijohdekomponentit… • Kahdesta np-liitoksesta puolestaan saadaan ns. bipolaarinentransistori (TRANsfer=siirtää + reSISTOR=vastus) • elektroninen kytkin, joka: • joko päästää signaalin itsensä läpi (ja välittää 1) • tai ei pästä (ja välittää 0:n) • sen keksivät v. 1947 Bell-laboratorion tutkijat Bardeen, Brattain ja Shockley. • saivat Nobel-palkinnon v. 1956.

  9. Transistori • kolme kytkentäkohtaa: kollektori (C), emitteri E ja kanta (B) • C:n ja E:n välinen virta säädetään B:n ja E:n välisellä virralla • jos virtaa kulkee välillä B-E, niin virtaa kulkee myös välillä C-E • kantakytkentä siis ohjaa sähkövirran pääsyä transistorin läpi

  10. 4.2.3 Loogiset piirit • Loogiset piirit (logical circuits) rakennetaan transistorien ja diodien avulla boolen algebran toteuttamiseksi • Perusperiaate: transistori on sähköisesti ohjattavissa oleva kytkin. • 0 V = virta ei kulje = False • 5 V = virta kulkee = True • reaalimaailman abstraktio! • Loogiset piirit siis jäljittelevät loogisia totuusarvoja TruejaFalse, mistä syystä niitä kutsutaan tällä nimellä.

  11. 4.2.3 Loogiset piirit • Portti (gate): looginen piiri, joka toteuttaa jotain logiikan perusfunktiota: portti antaa määrätyillä syöttötiedoilla eli true/false –arvoilla määrätyn tuloksen (true tai false) • Niinpä mm. seuraavia portteja on olemassa: AND, OR ja NOT.

  12. OR (+ -laskutoimitus) Esimerkiksi OR-portti toteuttaa loogisen OR- operaation, se saadaan kahdella diodilla: • merkitään syötteet: x ja y ja tulos: z. • totuusarvotaulukko OR-operaatiossa, T=True, F=False: x y z ELI x y z F F F 0 0 0 F T T 0 1 1 T F T 1 0 1 T T T 1 1 1

  13. NOT (! -laskutoimitus) Vastaavasti NOT-operaation toteuttaa yksi transistori (ks. monisteen kuva): x z ELI x z F T 0 1 T F 1 0

  14. AND (* -laskutoimitus) AND-operaatioon tarvitaan kaksi transistoria (ks. monisteen kuva): x y z ELI x Y z F F F 0 0 0 F T F 0 1 0 T F F 1 0 0 T T T 1 1 1

  15. Yleisimpien porttien totuusfunktiot, totuustaulu

  16. Boolen algebran toteutusta • Loogiset piirit ovat aidosti modulaarisia, ja käytännössä niitä voi yhdistellä vapaasti kuten lego-palikoita. • tietokoneen laskenta on 0:ien ja 1:sten käsittelyä, ja niinpä kaikki sen toiminnot (laskutoimitukset, muisti, ohjaus jne) pitäisi pystyä toteuttamaan loogisilla piireillä (jotka käsittelevät 0:ia ja 1:siä kukin omalla tavallaan) • tietokone onkin yksi valtava looginen piiri • transistorit ja diodit jäävät tässä alemmalle abstraktiotasolle (loogisten porttien sisään) • tällä korkeammalla loogisella tasolla ainoastaan yhdistellään loogisia portteja

  17. Loogisten piirien käyttö • Rakennussääntöjä: • signaalin haaroitus on sallittua • signaali kopioituu identtisenä jokaiseen haaraan • kahta signaalia ei saa yhdistää muuten kuin portin avulla • signaalien yhdisteleminen on siis aina looginen operaatio • haaroituskohdat vahvennetaan umpinaisilla ympyröillä • jos kaksi signaalilinjaa risteävät yhtymättä, jätetään risteyskohta vahventamatta

  18. xor • vähemmälläkin perusporttimäärällä tullaan toimeen, esimerkkinä XOR, joka toteutettavissa AND-, NOT-, ja OR-porteilla:

  19. xor piirin toiminta selviää syöttämällä bitit syöttölinjoille kaikissa mahdollisissa yhdistelmissäja kuljettamalla bitit piirin läpi jos syöttöbittejä on n, yhdistelmiä tunnetusti 2n XOR x Y z 0 0 0 0 1 1 1 0 1 1 1 0

  20. Esimerkki piirisuunnittelusta Boolen algebraa hyödyntäen Muodosta looginen piiri, joka toteuttaa funktion f(x,y,z): • 3 syötebittiä • 1 tulostebitti Funktio on tosi(1), kun: x=0 JA y=1 JA z=1 TAI x=1 JA y=0 JA z=1 TAI x=1 JA y=1 JA z=0

  21. Esimerkki piirisuunnittelusta Boolen algebraa hyödyntäen Tarkastellaan siis totuustaulun rivejä, joissa f=TOSI (1): (NOT x AND y AND z) OR (x AND NOT y AND z) OR (x AND y AND NOT z), ts. f(x,y,z)=!xyz + x!yz+ xy!z Tästä saadaan s. 115 piiri.

  22. Piiri on aika monimutkainen. Voitaisiinko se sieventää?

  23. !xyz+x!yz+xy!z = (osittelu1) • = !xyz+x(!yz+y!z) = (XOR-piiri) • = !xyz+x(yz) 0+0=0, 0+1=1, 1+0=1, 1+1=1; 0*0=0, 0*1=0, 1*0=0, 1*1=1; !0=1, !1=0.

  24. Piirien sieventämistä.. !xyz+x!yz+xy!z: 6 AND-, 3 NOT-, ja 2 OR-porttia 11 yhteensä-> !xyz+x(yz): 3 AND-, 1 NOT-, 1 OR-portti ja 1 XOR-portti 6 yhteensä: -> - sama toiminnallisuus!

  25. Nyt huomataan, että g=1, kun x=1 (riippumatta y:stä ja z:sta) ja toisaalta g=1, kun y=z=1 (riippumatta x:stä). Eli g=1, kun x=1 TAI y=1 JA z=1 g(x,y,z)=x OR (y AND z) = x + yz. Sama tulos saadaan soveltamalla Boolen lakeja (ks sivu 116)

  26. 4.3. Tietokoneen komponentteja • Tietokone on periaatteessa hyvin suuren määrän portteja sisältävä looginen piiri. • Rakenne on modulaarinen ja hierarkinen • Abstraktiotasoja • Puolijohteet->np-liitos • np-liitos->diodi, transistori • elektroniset komponentit>loogiset portit • AND, OR, NOT.. • loogiset portit->loogiset piirit • puolisummain, kiikku • loogiset piirit->tietokonekomponentit • kokosummain, rekisteri

  27. Välttämättömiä komponentteja ovat: • Aritmetiikkayksikkö: • huolehtii peruslaskutoimituksista (minimivaatimus) • + ja – toteutetaan komponenteissa suoraan • * ja / :ta varten kirjoitetaan matalan tason ohjelmia, joilla ohjataan komponentteja • muut operaatiot (esim. SQRT, potenssilasku) toteutetaan korkeamman tason kielillä (ja näin olleen ne eivät liity aritmetikkayksikköön suoraan) • Muisti: • ohjelmakoodi ja –tilat on tallettettava käskyinä ja muuttujina muistiin • Väylät - tiedonsiirtokanavia: • tieto-, ja osoiteväyliä – tiedon siirtoa rekisterien ja keskusmuistin välillä • ohjausväylä – tukee ohjelmoitavuutta: osa tiedosta on käsittelyä ohjaavaa tietoa • Loogisten vertailujen yksikkö: • mahdollistavat muiden ohjausrakenteiden käytön kun peräkk. • minimissään vastaa: A=0? tai A<0? • Kello: • tahdistaa koneen toiminnot • määrää koneen nopeuden • elektr.komp. aiheuttavaat viiveen elektronien siirrolle, siksi nopeutta ei voi nostaa äärettömiin • Syöttö ja tulostus: • esim. näppäimistö ja näyttö.

  28. 4.3.1 Yhteenlasku • Yhteenlasku toteutetaan samalla periaatteella kuin laskettaessa kynän ja paperin kanssa lukuja allekkain yhteen. • Yhdellä kertaa vain kaksi lukua: Esim. 10-järjestelmä: 1 1 3476 Yhdellä kerralla laskettavana 852 on siis 2 tai 3 numeroa (muistinro). 4328

  29. Merkitään kahden binäärinumeron x ja y yhteenlaskua seuraavasti x+y = ms, missä m on muistinumero ja s on summa. Totuustaulu on silloin: Sivun 114 taulukosta nähdään, että m= x AND y (x*y) ja s=x XOR y

  30. Piiri, jossa on AND-portti ja XOR-portti, on nimeltäänpuolisummain, ja toteuttaa em. toiminnot: • Piiri, jossa on AND-portti ja XOR-portti, on nimeltäänpuolisummain, ja toteuttaa em. toiminnot:

  31. Kokosummain • algoritmi toteutettu loogisessa piirissä! • esim. 0101 + 0111 • puolisummainten muistibiteistä vain toinen päällä, siksi OR riittää (tai XOR)

  32. Vähennyslasku • Koska a-b = a+ (-b), voidaan vähennyslasku toteuttaa kokosummaimen avulla, kunhan toinen yhteenlaskettava (b) muunnetaan vastaluvukseen. • Vastaluku: muutetaan bitit komplementeikseen ja lisätään tulokseen luku 1.

  33. Kahden komplementti

  34. Puolivähennin • Puolivähennin toteuttaa kahden bitin erotuksen e=x-y, l=lainaus. • kokelie rakentaakokovähennin kotona

  35. 4.3.3 Kiikku • Muisti = jokin tapahtuma riippuu paitsi syötteestä, myös aiemmin tapahtuneesta • muistia toteuttavalla piirillä on oltava historia (voimassaoleva tila, joka riippuu aiemmasta toiminnosta) • Pienin iformaation yksikkö on bitti • Niinpä yksinkertaisimman muistipiirin tehtävä on säilyttää siihen jollain ajanhetkellä tallennettu tieto: luku 0 tai 1. • Tällaista muistipiiriä kutsutaan nimellä kiikku (flip-flop).

  36. muistiosa • toteuttaa historian: tietyllä syötteellä (x,y) palauttaa aikaisemmin tallennetun arvon • ohjausosa (x,y) • ohjaa muistiosaa • syötteet • C (control) ja D (data) • tuloste M • totuustauluC D x y Mt Mt+1

  37. 4.3.4 Rekisteri • Rekisterillä tarkoitetaan muistilaitetta, johon voidaan tallentaa määrätyn mittainen bittijono, tyypillisesti 16 bittiä tai 32 bittiä. Rekisterin koko = ns. tietokoneen sanan pituus. • Seuraava kuva esittää 4-bittistä rekisteriä, joka on aika harvinainen • (käytössä esim. HP:n graafisissa laskimissa) • Neljän bitin tallentamiseen tarvitaan neljä kiikkua. • 32 bitin tallentamiseen – 32 kiikkua

  38. sama väylä tietojen lukemiseen ja kirjoittamiseen • R ja W ohjausbittejä • kun W=1 (R=0), C=1 ja x3x2x1x0 kirjoittuu kiikkuihin • kiikun tulos irrotetaan väylän linjasta (loogisesti *0) • kun R=1 (W=0), C=0, AND antaa 1 tai 0 riippuen kiikun arvosta, tulokset kirjiotetaan väylän linjoille

  39. 4.3.5 Väylät • Komponentit siirtävät dataa pitkin johtoja, jotka ovat loogisesti yhdistetty väyliksi • Tietoväylä: tiedon ja ohjelmien siirtoon • väylän leveys =johtojen lkm = tietokoneen sanakoko) • Ohjausväylä: laitteistoa ohjaavan tiedon siirtoon • esim. luku tai kirjoitus • Osoiteväylä: määrää minne tai mistä tieto siirretään. • esim. rekisteristä johonkin keskusmuistin muistipaikkaan • rekisteri on prosessorin suoraan käyttämää nopea muistipaikka

  40. 4.3.6 Kello • ohjaussignaaleilla määrätään aktiiviset komponentit ja tietyllä hetkellä sallitut toiminnot • esim. milloin rekisteri voi tallentaa luvun • mikä komponentti voi siirtää tietoaan väylään • Ohjausväylän tarvitsema ohjaussignaali saadaan (periaatteessa) yksinkertaisesta laitteesta, joka tuottaa ns. sakara-aaltoa, vuoron perään lukuja 0 ja 1. • Yhden kellosignaalin aikana tietokoneessa tapahtuu aina yksi alkeistapahtuma. Mitä suurempi kellon taajuus on, sen nopeammin tietokone toimii.

  41. 4.3.6 Kello… • Esim. jos kellotaajuus on 1 MHz (megahertsiä), on kellotaajuus 1000 000 sykäystä/sek. • Nykyisin tyypillinen mikrotietokoneen kellotaajuus on 1-2 GHz (gigahertsiä), 1GHz= 1000 MHz.

More Related