Anonim

Kun henkilökohtaisia ​​tietokoneita keksittiin ensimmäisen kerran, niiden keskusyksikkö (CPU) seisoi yksinään ja siinä oli vain yksi suorittimen ydin. Itse prosessori oli ydin; ajatus moniytimisestä prosessorista oli vielä ennenkuulumaton. Nykyään ei ole lainkaan harvinaista nähdä tietokoneita, puhelimia ja muita laitteita, joissa on useita ytimiä - tosiaankin melkein jokaisessa kaupallisesti saatavissa olevassa tietokoneessa on useita ytimiä. Nämä ytimet sijaitsevat samassa yksittäisessä, keskusyksikössä tai keskusyksikössä.

Useiden ytimien ottaminen on iso etu. Vain yhdellä ytimellä tietokone pystyy toimimaan vain yhdessä tehtävässä kerrallaan, joudutaan suorittamaan tehtävä ennen kuin se siirtyy toiseen. Useampien ytimien kanssa tietokone pystyy kuitenkin työskentelemään useissa tehtävissä kerralla, mikä on erityisen hyödyllistä niille, jotka tekevät paljon monitehtäviä.

Ennen sukellusta tarkalleen, kuinka moniytiminen prosessori toimii, on tärkeää puhua vähän prosessointitekniikan taustasta, jonka jälkeen keskustellaan siitä, mitä moniytimiset prosessorit tekevät.

Jotain historiaa

Ennen kuin usean ytimen prosessoreita rakennettiin, ihmiset ja yritykset, kuten Intel ja AMD, yrittivät rakentaa tietokoneita, joissa oli useita suorittimia. Tämä tarkoitti sitä, että tarvittiin emolevy, jossa oli enemmän kuin yksi CPU-liitäntä. Tämä ei vain ollut kalliimpaa, koska fyysistä laitteistoa vaadittiin toiseen CPU-liitäntään, vaan se myös lisäsi latenssia, koska viestinnän lisääntyminen, jota tarvittiin kahden prosessorin välillä. Emolevyn piti jakaa tiedot kahden täysin erillisen sijainnin välillä tietokoneessa sen sijaan, että kaikki tiedot lähetettäisiin prosessorille. Fyysinen etäisyys tarkoittaa itse asiassa sitä, että prosessi on hitaampi. Näiden prosessien asettaminen yhdelle sirulle, jossa on useita ytimiä, ei tarkoita vain sitä, että matka on vähemmän etäisyyttä, vaan se tarkoittaa myös sitä, että eri ytimet voivat jakaa resursseja erityisen raskaiden tehtävien suorittamiseen. Esimerkiksi Intelin Pentium II- ja Pentium III -piirit toteutettiin molemmissa versioissa, joissa oli kaksi prosessoria yhdellä emolevyllä.

Jonkin ajan kuluttua prosessorien piti olla tehokkaampia, joten tietokonevalmistajat keksivät hyper-ketjuttamisen käsitteen. Itse konsepti tuli Inteliltä, ​​ja se suunniteltiin ensin vuonna 2002 yrityksen Xeon-palvelinprosessoreihin ja myöhemmin Pentium 4 -pöytätietokoneiden prosessoreihin. Hyper-ketjuttamista käytetään edelleen prosessoreissa, ja se on jopa suurin ero Intelin i5-sirujen ja i7-sirujen välillä. Periaatteessa siinä hyödynnetään sitä tosiasiaa, että prosessorissa on usein käyttämättömiä resursseja, erityisesti kun tehtävät eivät vaadi paljon käsittelytehoa, joka voitaisiin käyttää muihin ohjelmiin. Hyper-ketjuttamista käyttävä suoritin esittelee itsensä käytännössä käyttöjärjestelmälle ikään kuin sillä olisi kaksi ydintä. Tietysti siinä ei ole oikeastaan ​​kahta ydintä, mutta kahdella ohjelmalla, jotka käyttävät puolta käytettävissä olevasta prosessointitehosta tai vähemmän, siellä voi olla myös kaksi ydintä, koska ne voivat yhdessä hyödyntää kaikkia voimia, joita prosessorin on tarjottava. Hyper-ketjuttaminen on kuitenkin hiukan hitaampaa kuin kahden ytimen prosessorilla, kun prosessoritehoa ei ole tarpeeksi jaettavaksi kahden ytimen käyttävän ohjelman välillä.

Täältä löydät oivaltavan videon, joka antaa lyhyen ja tarkemman selityksen hyper-ketjuttamisesta.

Multi-prosessorit

Paljon kokeilun jälkeen useiden ytimien prosessorit pystyivät lopulta rakentamaan. Tämä tarkoitti sitä, että yhdellä yksittäisellä prosessorilla oli periaatteessa useampi kuin yksi prosessoriyksikkö. Esimerkiksi dual-core-prosessorissa on kaksi prosessointiyksikköä, quad-coressa on neljä ja niin edelleen.

Joten miksi yritykset kehittivät prosessoreita, joissa on useita ytimiä? No, nopeampien prosessorien tarve tuli yhä ilmeisemmäksi, mutta yhden ytimen prosessorien kehitys hidastui. 1980-luvulta 2000-luvulle insinöörit pystyivät nostamaan prosessointinopeutta useasta megahertsistä useisiin gigahertseihin. Intelin ja AMD: n kaltaiset yritykset tekivät tämän pienentämällä transistorien kokoa, mikä sallii enemmän transistoreita samassa tilassa tilaa, mikä paransi suorituskykyä.

Koska prosessorin kellonopeus liittyy hyvin siihen, kuinka monta transistoria mahtuu sirulle, kun transistorin kutistustekniikka alkoi hidastua, myös prosessorin kasvaneiden nopeuksien kehitys alkoi hidastua. Vaikka tämä ei ole silloin, kun yritykset tutustuivat ensin moniytimisiin prosessoreihin, se on silloin, kun he aloittivat kokeilun monisydämeisillä prosessoreilla kaupallisiin tarkoituksiin. Vaikka moniytimisiä prosessoreita kehitettiin ensimmäisen kerran 1980-luvun puolivälissä, ne oli suunniteltu suurille yrityksille, eikä niitä oikein käynyt uudelleen, ennen kuin yhden ytimen tekniikka alkoi hidastua. Ensimmäisen moniytimisen prosessorin on kehittänyt Rockwell International, ja se oli versio 6501-sirusta, jossa oli kaksi 6502-prosessoria yhdellä sirulla (lisätietoja on tässä tässä Wikipedia-merkinnässä).

Mitä moniytiminen prosessori tekee?

No, se on todella kaikki melko suoraviivaista. Useiden ytimien avulla voidaan tehdä useita asioita kerralla. Esimerkiksi, jos työskentelet sähköpostien kanssa, sinulla on Internet-selain auki, työskentelet Excel-laskentataulukon kanssa ja kuuntelet musiikkia iTunesissa, nelikytkimet voivat suorittaa kaikki nämä asiat kerralla. Tai jos käyttäjällä on tehtävä tehtävä, joka on suoritettava heti, se voidaan jakaa pienempiin, helpommin käsiteltäviin tehtäviin.

Useiden ytimien käyttö ei myöskään rajoitu vain useisiin ohjelmiin. Esimerkiksi Google Chrome näyttää jokaisen uuden sivun eri prosessilla, mikä tarkoittaa, että se voi hyödyntää useita ytimiä kerralla. Jotkin ohjelmat ovat kuitenkin ns. Yksisäikeisiä, mikä tarkoittaa, että niitä ei kirjoitettu voidakseen käyttää useita ytimiä eivätkä sellaisenaan voi tehdä niin. Hyper-ketjuttaminen tulee jälleen tässä peliin, jolloin Chrome voi lähettää useita sivuja kahdelle “loogiselle ytimelle” yhdessä todellisessa ytimessä.

Moniytiminen käsite kulkee käsi kädessä moniytimisten prosessorien ja hyper-ketjuttamisen kanssa. Monisäikeinen on käytännössä käyttöjärjestelmän kyky hyödyntää useita ytimiä jakamalla koodi ylimmäiseen muotoonsa tai säikeisiin ja syöttämällä se samanaikaisesti erilaisiin ytimiin. Tämä on tietenkin tärkeää sekä moni- että moniydinprosessoreissa. Monisäiettäminen on hiukan monimutkaisempi kuin miltä se kuulostaa, koska se vaatii käyttöjärjestelmien tilaamaan koodin oikein tavalla, jotta ohjelma voi jatkaa tehokasta toimintaa.

Itse käyttöjärjestelmät tekevät samanlaisia ​​asioita omien prosessiensa kanssa - se ei rajoitu pelkästään sovelluksiin. Käyttöjärjestelmäprosessit ovat asioita, joita käyttöjärjestelmä tekee aina taustalla ilman, että käyttäjä välttämättä tietää sitä. Koska nämä prosessit jatkuvat jatkuvasti, hyper-ketjuttaminen ja / tai useita ytimiä voi olla erittäin hyödyllistä, koska se vapauttaa prosessorin mahdollisuudesta työskennellä muun muassa sovelluksissa tapahtuvan kanssa.

Kuinka moniydinprosessorit toimivat?

Ensinnäkin emolevyn ja käyttöjärjestelmän on tunnistettava suoritin ja että ytimiä on useita. Vanhemmilla tietokoneilla oli vain yksi ydin, joten vanhempi käyttöjärjestelmä ei ehkä toimi liian hyvin, jos käyttäjä yrittää asentaa sen uudempaan tietokoneeseen, jossa on useita ytimiä. Esimerkiksi Windows 95 ei tue hyper-ketjuttamista tai useita ytimiä. Kaikki viimeaikaiset käyttöjärjestelmät tukevat moniytimisiä prosessoreita, kuten Windows 7: n, 8: n, äskettäin julkaistun 10 ja Applen OS X 10.10: n kaltaiset.

Periaatteessa käyttöjärjestelmä ilmoittaa emolevylle, että prosessi on tehtävä. Emolevy kertoo sitten prosessorille. Moniytimisessä prosessorissa käyttöjärjestelmä voi käskeä suorittimen suorittamaan useita asioita kerralla. Pohjimmiltaan käyttöjärjestelmän suunnan kautta tiedot siirretään kiintolevyltä tai RAM-muistista emolevyn kautta prosessoriin.

Moniydinprosessori

Prosessorissa on useita välimuistitasoja, jotka pitävät tietoja prosessorin seuraavaa operaatiota tai operaatioita varten. Nämä välimuistitasot varmistavat, että suorittimen ei tarvitse etsiä seuraavaa prosessia kovin kauas, mikä säästää paljon aikaa. Välimuistin ensimmäinen taso on L1-välimuisti. Jos prosessori ei löydä seuraavaa prosessia varten tarvitsemiaan tietoja L1-välimuistista, se etsii L2-välimuistia. L2-välimuisti on muistissa suurempi, mutta hitaampi kuin L1-välimuisti.

Yks ytimen prosessori

Jos prosessori ei löydä etsimäänsä L2-välimuistista, se jatkaa linjaa L3, ja jos prosessorilla on, L4. Sen jälkeen se näyttää päämuistista tai tietokoneen RAM-muistista.

On myös erilaisia ​​tapoja, joilla eri prosessorit käsittelevät välimuistit. Esimerkiksi jotkut kopioivat L1-välimuistin tiedot L2-välimuistista, mikä on käytännössä tapa varmistaa, että prosessori voi löytää etsimänsä. Tämä vie tietysti enemmän muistia L2-välimuistissa.

Eri välimuistitasot tulevat myös peliin moniytimisissä prosessoreissa. Yleensä jokaisella ytimellä on oma L1-välimuisti, mutta he jakavat L2-välimuistin. Tämä eroaa siitä, jos prosessoreita olisi useita, koska jokaisella suorittimella on oma L1, L2 ja mikä tahansa muu tason välimuisti. Useiden yhden ytimen prosessorien kanssa välimuistin jakaminen ei yksinkertaisesti ole mahdollista. Yksi jaetun välimuistin tärkeimmistä eduista on kyky käyttää välimuistia täysimääräisesti, koska jos yksi ydin ei käytä välimuistia, toinen voi.

Moniytimisessä prosessorissa, kun tietoja etsitään, ydin voi etsiä oman ainutlaatuisen L1-välimuistinsa läpi ja haaroittaa sitten jaettuun L2-välimuistiin, RAM-muistiin ja lopulta kiintolevyyn.

On todennäköistä, että jatkamme edelleen ytimien kehittämistä. Suorittimen kellonopeudet paranevat varmasti edelleen, vaikkakin aiempaa hitaammin. Vaikka nyt ei ole harvinaista nähdä oktaytimisiä prosessoreita esimerkiksi älypuhelimissa, niin pian näimme prosessoreita, joissa on kymmeniä ytimiä.

Missä luulet seuraavan johtavan usean ytimen käsittelyteknologian? Kerro meille alla olevissa kommenteissa tai aloittamalla uusi säie yhteisöfoorumillemme.

Kaikki moniytimisestä prosessorista: mistä he ovat, miten ne toimivat ja mistä he ovat kotoisin