Movatterモバイル変換


[0]ホーム

URL:


Siirry sisältöön
Wikipedia
Haku

Suoritin

Wikipediasta
Hakusana ”prosessori” ohjaa tänne.Prosessori oli myös elektroniikkaan ja tietokonetekniikkaan erikoistunut aikakauslehti.
Alkukantaisentietokoneen suorittimeen kuuluvia kymmeniäelektroniputkia.

Suoritin taiprosessori (engl.Central Processing Unit eliCPU) on tietokoneen osa, joka suorittaatietokoneohjelman sisältämiäkonekielisiä käskyjä. Se ontietokoneen keskeisimpiä osia. Nykyisissä suorittimissa kaikki osat on pakattu yhdellemikropiirille, joten ne ovatmikroprosessoreita (MPU).

Yksittäinen yksinkertainen suoritin voi suorittaa kerrallaan vain yhtä ohjelmaa, mutta sen tehtäviä voidaan vaihdella erittäin nopeasti, jolloin suoritus näyttää käyttäjästä rinnakkaiselta (ks.Moniajo). Monisäikeistetyssä suorittimessa voidaan suorittaa aidosti yhtä aikaa useampaa kuin yhtä tehtävää, samoinmoniydinsuorittimessa on samaan mikropiiriin rakennettu kaksi tai useampia suorittimia.

Suorittimia suunnitellaan useisiin erilaisiin käyttötarkoituksiin. Suorittimia valmistetaan erilaisiinsupertietokoneisiin,sulautettuihin järjestelmiin jahenkilökohtaisiin tietokoneisiin. Erikoistuneitaapusuorittimia ovatdigitaalinen signaaliprosessori (DSP),grafiikkaprosessori (GPU) jamatematiikkasuoritin (FPU), joka nykyään usein integroidaan yleiskäyttöiseen suorittimiin. Osa optimoidaan erittäin pieneen tehonkulutukseen, osa suureen laskentatehoon tietynlaiselle datalle, osa taas mahdollisimman laajaan yleiskäyttöisyyteen, jolloin sama mikropiiri saattaa sisältää useita eri oheislaitteita ja kymmeniä liityntäväyliä.Mikrokontrollerit (MCU) sisältävät samoja peruselementtejä kuin mikroprosessorit (MPU) vähemmän vaativiin tarkoituksiin: mikrokontrollerit voivat olla karsittuja jotta ne mahtuvat yhdelle mikropiirille. Näytöllistenälylaitteiden myötä tärkeäksi ryhmäksi ovat nousseet pitkälle integroidut ns.järjestelmäpiirit (SoC), joissa voi olla samassa piirissä mukana mm. muisteja, signaaliprosessori ja monipuolinen näytönohjain.

Historia

[muokkaa |muokkaa wikitekstiä]
Suoritinteknologian neljä sukupolvea: elektroniputket, diskreetit transistorit, mikropiirit ja mikroprosessorit.

Ensimmäinen yleiskäyttöinen tietokone, jossaohjelma voitiin tallettaa tietokoneenmuistiin ja vaihtaa ilman fyysisiä muutoksia (tallennetun ohjelman tietokone), oliManchesterin yliopistonSmall-Scale Experimental Machine.[1] Koska suoritettava ohjelma voitiin vaihtaa lataamalla toinen ohjelma eikä käyttötarkoitusta siten rajattu tätä voitaneen pitää tietokonesuorittimien alkuna vastakohtana laskukoneelle. Aikaisemmissa laitteissa ohjelman muuttaminen saattoi tarkoittaa laitteen kytkentöjen muuttamista ohjelman lataamisen sijaan (ks.ENIAC).

Kuten tietokonetekniikka yleisesti voidaan suorittimet jakaa neljään sukupolveen teknologian mukaan:[2]

  1. sukupolvi:elektroniputket
  2. sukupolvi: diskreetittransistorit: aluksigermanium-transistoreja ja myöhemminpiihin perustuvat
  3. sukupolvi:mikropiirit
  4. sukupolvi:mikroprosessorit

Kvanttitietokoneen toteutus voi olla merkittävä seuraava kehitysaskel teknologiassa. Myösoptinen siru voi olla tuleva kehitysaskel.

Tekoälyyn jakoneoppimiseen suunnattujen suorittimien kehitys on synnyttänyt useita uusia yrityksiä lyhyessä ajassa sekä useat olemassa olevat yritykset ovat aloittaneet omien ratkaisujensa kehittämisen.[3] Syynä uudelle kehitykselle mainitaan olemassa olevien vakiintuneiden yleiskäyttöisien arkkitehtuurien tarpeeton monimutkaisuus erikoistuneeseen tehtävään.[3]

Mikrokontrollereita kutenMCS-48, jotka integroivatmuistin suorittimeen on myös kutsuttu viidenneksi sukupolveksi johtuen integraatiokehityksestä.[4]

Arkkitehtuurit

[muokkaa |muokkaa wikitekstiä]

Suoritinarkkitehtuurit voidaan jakaa ryhmiin esimerkiksi konekäskyjen perusrakenteen mukaan seuraavasti:

  • CISC (Complex Instruction Set Computer)
  • RISC (Reduced Instruction Set Computer)
  • VLIW (Very Long Instruction Word)
  • TTA (Transport Triggered Architecture)

RISC-arkkitehtuuria esiteltiin vastauksena monimutkaistuville suorittimille (eronaCISC-arkkitehtuurille), jonka sanottiin olevan entistä tärkeämpää VLSI-tekniikan myötä.[5] Sekä CISC- että RISC-arkkitehtuureilla on etunsa että haittansa.[6]

Suorittimienkäskykantarakenteet voidaan ryhmitellä kolmeen seuraavasti:[7]

  1. L/Sload-store arkkitehtuuri
  2. R/Mregister-memory arkkitehtuuri
  3. R+Mregister-plus-memory arkkitehtuuri

Load-store käskykanta (kutenARM jaMIPS) käyttää erillisiä käskyjä muistin käsittelyyn kun taasregister-memory -arkkitehtuurissa se voi olla osana muuta käskyä.[8]

Arkkitehtuuri kuvailee suorittimen ohjelmoinnin näkökulmasta kun taas mikroarkkitehtuuri liittää arkkitehtuurin ja logiikkatason.[9] Tietty arkkitehtuuri voidaan toteuttaa eri tavoin mikroarkkitehtuurin tasolla.[9]

Ominaisuudet

[muokkaa |muokkaa wikitekstiä]

Tietokoneen yleisnopeus riippuu paljon juuri suorittimen nopeudesta.[10] Suorittimen nopeus riippuu sekä sen käyttämästä arkkitehtuurista ettäkellotaajuudesta. Kellotaajuus ilmoitetaan yleensäHertsin monikertoina kuten megahertseinä (MHz) tai gigahertseinä (GHz), ja suoritin toimii sen tahdissa. Pelkän kellotaajuuden lisäksi suorittimen nopeuteen vaikuttavat monet tekniset ratkaisut, kuten:

  • kuinka leveitä prosessorin lukuja käsittelevät yksiköt ja liityntäväylät ovat (yleensä 4, 8, 16, 32 tai 64bittiä),
  • kuinka monta ja minkä tyyppisiä käskyjä suoritin kykenee suorittamaan samanaikaisesti (käskykannan liukuhihna),
  • kuinka suuriavälimuisteja suorittimessa on,
  • miten tehokkaasti edelliset on toteutettu ja niihin liittyvät ongelmatilanteet on arkkitehtuurissa ratkaistu.

Eräitä 2-bittisiäbit-slice -suorittimia (BSP) on myös valmistettu.[11] BSP-suorittimia pystyi kytkemään rinnakkain muodostamaan ”suuremman” suorittimen.[11]

Perustoiminnot

[muokkaa |muokkaa wikitekstiä]

Suorittimen keskeiset osat ovataritmeettis-looginen yksikkö (engl.Arithmetic Logical Unit,ALU)[10], valvontayksikkö (engl.Control Unit,CU)[10] ja yleensä useitarekistereiksi kutsuttuja käsiteltävän tiedon tallentavia muistipaikkoja.[10] Prosessorin toimintaa on noutaa muistista käsky ja siihen liittyvä luku tai luvut, suorittaa kyseinen käsky ALU-yksikössään ja palauttaa tulos muistiin. Yksittäinen käsky voi olla esim. ”laske yhteen rekisterin A ja muistipaikan XX sisältö ja siirrä tulos rekisteriin B”.

Yksinkertaistetusti suorittimen toiminta on hakea muistista käskyjä, tehdä niillä jokin operaatio ja kirjoittaa tulos muistiin (myös muut laitteet ja väylät voivat näkyä muistipaikkoina suorittimelle).[10][12] Toiminta voidaan jakaa neljään vaiheeseen seuraavasti:[12]

  1. muistihaku (fetch)
  2. käskynpurku (decode)
  3. suoritus (execute)
  4. tallennus (store)

Ohjelmalaskuri (engl.program counter,engl.instruction pointer) pitää suorituksen sijaintitietoa.[10] Eräissä suoritinarkkitehtuureissa kutenMIPS käskyt ovat kiinteämittaisia 32-bittisiä arvoja. Toisissa arkkitehtuureissa kutenx86 käskyn pituus vaihtelee.[13]

Muita keskeisiä toimintoja ovat muun muassapino-osoitin (engl.stack pointer): eräissä suorittimissa on omat käskyt pinon käsittelyyn kun taas eräissä se on ohjelman vastuulla.[14]

Suorittimet voivat vaatia tietotyyppien olevan tasattuja tyypin koon mukaan muistiosoitteisiin (engl.data alignment): mikäli näin ei ole suoritin voi toimia hitaammin, tuottaa vääriä tuloksia tai jumiuttaa tai kaataa järjestelmän.[15][16]Prosessori voi vaatia, että 32-bittisen luvun hakeminen alkaa osoitteesta, joka on jaollinen neljällä tai se antaa virheen.[17]

Erikoiskäskyt

[muokkaa |muokkaa wikitekstiä]

Prosessorin erikoiskäskyistä voi olla suurta hyötyä etenkin matemaattisissa sovelluksissa. Yksi erikoiskäsky voi korvata kymmeniä peruskäskyjä, vaikka sen suoritukseen aikaa kuluu vain saman verran kuin yhden tai muutaman peruskäskyn suoritukseen.

Välimuistin hyöty on, että muistista haettava ja sinne kirjoitettava tieto saadaan nopeasta välimuistista huomattavasti nopeammin kuin hitaammasta keskusmuistista. Merkittäviä nopeusetuja saadaan myös kirjoittamalla tehokasta ohjelmakoodia.

Valmistustekniikka

[muokkaa |muokkaa wikitekstiä]

Valmistustekniikan kehittyessä mikropiirien sisältämien transistorien määrä on kaksinkertaistunut säännöllisin väliajoin kuten ns.Mooren laki on ennustanut. Suorittimien kohdalla tämä on pitänyt paikkansa usean vuosikymmenen ajan, mutta kehitys on hidastunut.[18][19] Valmistusprosessin kehityksen lisäksi paremman suorituskyvyn mahdollistavia arkkitehtuureita on kehitetty.

Suorittimet tuottavat toimiessaan hukkalämpöä, joka saattaa vaikuttaa suorittimen toiminnan luotettavuuteen tai liiallisena jopa tuhota suorittimen. Hukkalämmön johtamiseksi pois suorittimesta voidaan käyttää esimerkiksi jäähdytysripaa, jota muotonsa vuoksi monesti kutsutaanjäähdytyssiiliksi, ja siihen usein liitettyä ilman virtausta tehostavaa tuuletinta, tainestejäähdytystä. Myös muita jäähdytysratkaisuja voidaan käyttää, kuten esimerkiksi nämäsupertietokoneet :

  • Cray-1 käytti freonipohjaista jäähdytystä (lämpöpumppu)
  • Cray-2 upotti piirit Fluorinert-nimiseen sähköä johtamattomaan nesteeseen (konvektio)

Käyttämällä kehittyneempää valmistustekniikkaa voidaan suorittimen virrankäyttöä vähentää ja tämän vaikutuksesta myös tuotettua hukkalämpöä voidaan vähentää. Vastaavasti transistorien määrän lisääminen nostaa tarvittavan virran määrää. Eräspuolijohteiden valmistusmenetelmä onCMOS.

Ominaisuuksien laajentaminen

[muokkaa |muokkaa wikitekstiä]

Suorittimelle on mahdollista integroida samalle piirille useita suoritinytimiä, suurempia ja monitasoisempia välimuisteja, sekä tukipiirejä kuten 2D- tai 3D-grafiikan käsittelyyn erikoistunutgrafiikkasuoritin. Nykyaikaisissa suorittimissa onmuistinhallintayksikkö (MMU) jamatematiikkasuoritin (FPU) integroituna samalle piirille.Mikrokontrollerit integroivat suorittimen lisäksi samalle piirille muistia.Järjestelmäpiirit integroivat suorittimen lisäksi samalle piirille IO-piirejä ja useita muita komponentteja.

Moniprosessointi

[muokkaa |muokkaa wikitekstiä]
Pääartikkeli:Moniprosessointi

Yksittäinen tietokone voi sisältää yhden tai useampia suorittimia, jolloin kyseessä onmoniprosessointi.

Moniytimellisyys

[muokkaa |muokkaa wikitekstiä]

Suorittimissa voi olla kaksi tai useampia ytimiä. Moniytimellisyys mahdollistaa sen, että monia raskaita laskutehtäviä vaativia ohjelmia voidaan ajaa tietokoneella samanaikaisesti ilman, että muiden prosessien suoritus häiriintyy, ja että monisäikeisien yksittäisien prosessien suoritus voidaan jakaa usean ytimen kesken nostaen sen suoritustehoa.

Ytimet voivat olla joko identtisiä, tai ne voivat olla erikoistuneita erilaisiin tehtäviin. Eräissä suorittimissa kutenjärjestelmäpiireissä on integroitunaapusuoritin kutenDigitaalinen signaaliprosessori (DSP) varsinaisen CPU-ytimen lisäksi.

Moniydinsuoritin voi useaan yksinkertaiseen suorittimeen verrattuna käyttää hieman vähemmän sähköä ja tuottaa vähemmän lämpöä.[20] Yleensä moniydinsuorittimen kaikki ytimet kuitenkin jakavat samat oheislaiteväylät ja käyttävät samaa keskusmuistia.

Monisäikeistys

[muokkaa |muokkaa wikitekstiä]

Monisäikeistysengl.multithreading on tekniikka, jolla sama ydin voi suorittaa kahta tai useampaa erillistä ohjelmasäiettä yhtäaikaisesti (rinnakkain). Tekniikka on yksi kehityssuunta suorituskyvyn lisäämiseen ja aiheesta on julkaistu useita tutkimuksia.[21]

Kaksi kehityssuuntausta ovat:

  • engl.Simultaneous multithreading (SMT), prosessorin on oltava superskalaarinen
  • engl.Temporal multithreading, taiengl.Interleaved multithreading, myös nimelläengl.super-threading

Eri valmistajilla on eri tuotenimiä tekniikan toteuttamisesta, näitä ovat mm.IntelinHyper-threading jaSPARCCoolThreads. IBMPOWER8 käyttää yleistä termiäengl.Simultaneous Multi-Threading (SMT).[22]

Symmetrinen monisäikeistys on jatkokehitystäsuperskalaari- jamoniprosessointi-tekniikkaan nähden ja hyödyntää ohjelmissa olevaa sekä käskytason rinnakkaisuutta (engl.Instruction Level Parallelism, ILP) että säietason rinnakkaisuutta (engl.Thread Level Parallelism, TLP).[23]

Muut ominaisuudet

[muokkaa |muokkaa wikitekstiä]

Muita tehokkuuden parantamiseen tähtääviä keinoja ovat muun muassa epäjärjestyksessä suorittaminen (engl.out-of-order execution) sakkaustilanteiden välttämiseksi jahaarautumisen ennakointi (engl.branch prediction).

Suoritinperheitä

[muokkaa |muokkaa wikitekstiä]

Suorittimet voidaan jakaa perheisiin niiden yhteensopivuuden mukaan. Tyypillisesti saman perheen uudempi suoritin pystyy suorittamaan ohjelmia, jotka on tehty saman perheen aikaisimmille suorittimille. Toisinpäin tämä ei välttämättä ole mahdollista erilaistenkäskykantalaajennusten vuoksi.

Ensimmäisen sukupolven suorittimet

[muokkaa |muokkaa wikitekstiä]

Ensimmäisen sukupolven suorittimet olivat osa laajempaa kokonaisuutta ja osa itse tietokoneen rakennetta ja suunnittelua.[24]Ensimmäisen sukupolven suorittimet perustuivatelektroniputkien käyttöön.[2]

Toisen ja kolmannen sukupolven suorittimet

[muokkaa |muokkaa wikitekstiä]
IBM 7030:npiirilevy

Minitietokoneissa jasuurtietokoneissa käytetyissä tietokoneissa oli huomattavia mallikohtaisia eroja. Kaikki samaan mallisarjaan kuuluneet eivät välttämättä olleet yhteensopivia muiden saman sarjan mallien kanssa. Toisen sukupolven suorittimet perustuivat diskreettien (erillisten)transistorien käyttöön (TTL-logiikka, ECL-logiikka).[2] Kolmannen sukupolven suorittimet käyttivät useitamikropiirejä.[2]

  • IBM S/360 mahdollisti samojen ohjelmien ajamisen erilaisissa saman arkkitehtuurin mukaisissa tietokoneissamikrokoodin avulla, tekniikka perustui SLT-transistoreihin
  • IBM S/370 käytti SSI-mikropiirejä
  • DECPDP-11 suunniteltiin SSI-mikropiireillä, mutta käytti LSI-mikropiirejä kun ne tulivat käytännöllisiksi
  • DigitalinVAX arkkitehtuuri
  • Fairchild F8 julkaistiin aluksi kahden mikropiirin versiona, mutta myöhemmin julkaistiin yhdelle piirille integroitu versio[25]

Neljännen sukupolven suorittimet

[muokkaa |muokkaa wikitekstiä]
Intel Pentium 100 MHz -suorittimen liitinpuoli.

Neljännen sukupolven suorittimet ovatmikroprosessoreja, joissa kaikki suorittimen toiminnot ovat integroituna yhdelle mikropiirille.[2] MOS- jaCMOS-tekniikat mahdollistivat mikroprosessorit.[2]

Suoritinperheet voidaan edelleen jakaa arkkitehtuureihin niiden iän ja sukupolven mukaan. Esimerkiksi SPARC-perheen aikaisemmat arkkitehtuurit, HyperSPARC ja SuperSPARC, toteuttavat SPARC v7 -käskykannan ja uudemmat arkkitehtuurit64-bittisen SPARC v9 -käskykannan, jonka toteuttavia malleja ovatSun Microsystemsin valmistaman UltraSPARCin eri mallit jaFujitsun SPARC64.

x86-suorittimissa on ollut useita kilpailevia valmistajia, joiden suorittimet käyttävät yhteensopivaa käskykantaa (IA-32,AMD64 tai edeltävät). Suoritinvalmistajilla on useita arkkitehtuureita, jotka jakaantuvat useisiin malleihin, joita on saatavilla eri kellotaajuuksilla.ARM-suorittimista lisensoidaan käskykantaa ja arkkitehtuuria eri valmistajille eri tavoin.

Käskylaajennukset

[muokkaa |muokkaa wikitekstiä]

Useat valmistajat ja suoritinsukupolvet laajentavat suorittimenkäskykantaa uusilla käskyillä. Tällaisia laajennuksia ovat mm. MMX, VIS, 3DNow!,SSE ja AltiVec, joista on kaikista lisäksi useampia versioita uusien arkkitehtuurien mukana.

Toimintatilat

[muokkaa |muokkaa wikitekstiä]

Useat suorittimet toteuttavatsupervisor-tilan, jossakäyttöjärjestelmän ydin yleensä suoritetaan. Tässä tilassa suoritin asettaa vähemmän rajoituksia kuin käyttäjätilassa (engl.user mode).

Nykyiset suorittimet lisäävätvirtualisointitukeahypervisor-ominaisuuksilla.

Katso myös

[muokkaa |muokkaa wikitekstiä]

Lähteet

[muokkaa |muokkaa wikitekstiä]
  1. The Manchester Small Scale Experimental Machine -- "The Baby" curation.cs.manchester.ac.uk. Viitattu 25.8.2017.
  2. abcdefGordon Bell: Bell’s Law For The Birth And Death Of Computer Classes (PDF) gordonbell.azurewebsites.net. Viitattu 14.8.2021. (englanniksi)
  3. abAndy Patrizio: The AI revolution has spawned a new chips arms race 9.7.2018. Ars Technica. Viitattu 10.2.2020. (englanniksi)
  4. Daniel P. Siewiorek & C. Gordon Bell & Allen Newell: Computer Structures: Principles and Examples, s. 6,64. McGraw-Hill, 1982. ISBN 0-07-057302-6 Teoksen verkkoversio. (englanniksi)
  5. David A. Patterson: The Case for the Reduced Instruction Set Computer (PDF) inst.eecs.berkeley.edu. Viitattu 13.10.2021. (englanniksi)
  6. Lecture 2 RISC Architecture (PDF) philadelphia.edu.jo. Viitattu 13.10.2021. (englanniksi)
  7. Flynn, Michael J.: ”1.3”, Computer Architecture: Pipelined and Parallel Processor Design. Jones and Bartlett Publishers, 1995.
  8. Hennessy, John L. & Patterson, David A.: Computer Architecture: A Quantitative Approach, s. 11. (Fifth Edition) Morgan Kaufmann, 2012. ISBN 978-0-12-383872-8
  9. abHarris, David Money & Harris, Sarah L.: Digital Design and Computer Architecture, s. 4. (Second Edition) Morgan Kaufmann, 2013. ISBN 978-0-12-394424-5
  10. abcdefhttp://appro.mit.jyu.fi/doc/tietokone/index1.html
  11. abCPU of the Day: A 2-bit slice of the past: 3002 The Cpushack Museum. Viitattu 3.10.2017.
  12. abChapter 3. Computer Architecture bottomupcs.com. Viitattu 29.9.2017.
  13. Encoding Real x86 Instructions c-jump.com. Viitattu 29.9.2017. (englanniksi)
  14. Understanding the Stack cs.umd.edu. Arkistoitu Viitattu 29.9.2017. (englanniksi)
  15. Memory access granularity developer.ibm.com. 8.2.2005. Viitattu 17.2.2021. (englanniksi)
  16. SPARC Processor Issues docs.oracle.com. Viitattu 17.2.2021. (englanniksi)
  17. CSE378 – Lecture 3 (PDF) courses.cs.washington.edu. Viitattu 17.2.2021. (englanniksi)
  18. Adam Dove: Moore’s Law is ending. What’s next? engineering.cmu.edu. Viitattu 24.9.2021. (englanniksi)
  19. Rupert Goodwins: Please, no Moore: 'Law' that defined how chips have been made for decades has run itself into a cul-de-sac theregister.com. 5.8.2021. Viitattu 24.9.2021.
  20. SearchDataCenter.com - Multi-Core Processor
  21. Simultaneous Multithreading Project dada.cs.washington.edu. Viitattu 9.1.2017.
  22. Simultaneous Multi-Threading (SMT) IBM. Viitattu 9.1.2017.
  23. Pratyusa Manadhata, Vyas Sekar: Simultaneous Multithreading cs.cmu.edu. Viitattu 9.1.2017.
  24. The First Generation Computer History Museum. Viitattu 19.9.2017.
  25. CPU of the Day: Fairchild F8 Microprocessor CPUShack. Viitattu 15.9.2017.
  26. Gordon Bell: Rise and Fall of Minicomputers ethw.org. Viitattu 22.1.2020. (englanniksi)

Aiheesta muualla

[muokkaa |muokkaa wikitekstiä]
Henkilökohtainen tietokone
Ohjelmisto
Laitteisto
Oheislaitteet
Noudettu kohteesta ”https://fi.wikipedia.org/w/index.php?title=Suoritin&oldid=22727059
Luokka:
Piilotettu luokka:

[8]ページ先頭

©2009-2025 Movatter.jp