Tämä tarkoittaa 8 ytimen prosessoria. Mitä hyötyä on kaksiytimisistä prosessoreista? Kaksiytimiset Intel-prosessorit

Kotiin / Tietojen palautus

Moniytiminen prosessori - keskusprosessori, joka sisältää kaksi tai useampia laskentaytimiä yhdellä prosessorisirulla tai yhdessä paketissa.

Joukossa moniytimiset prosessorit tässä vaiheessa voimme korostaa

*prosessorit, jotka on suunniteltu ensisijaisesti sulautetuille ja mobiilisovelluksia, jossa kehittäjät kiinnittivät paljon huomiota keinoihin ja menetelmiin energiankulutuksen vähentämiseksi (SEAforth (SEAforth24, seaforth40), Tile (Tile36, Tile64, Tile64pro), AsAP-II, CSX700);

*prosessorit laskenta- tai grafiikkaasemille, joissa energiankulutusongelmat eivät ole niin kriittisiä (grafiikkaprosessorit esim. g80-sarjan prosessorit NVIDIAlta, Larrabee-projekti Inteliltä, ​​tähän sisältyy myös IBM:n Cell-prosessori, vaikka prosessoriytimien määrä on suhteellisen alhainen);

* niin sanotut prosessorit valtavirta - tarkoitettu palvelimille, työasemille ja henkilökohtaisille tietokoneille (AMD, Intel, Sun);

  • Ydinmäärä (Ydinmäärä. Ydin) - piikide, jonka pinta-ala on noin neliösenttimetri ja jonka toteuttamiseen käytetään mikroskooppisia logiikkaelementtejä piirikaavio prosessori, niin kutsuttu arkkitehtuuri. Järjestelmä pitää jokaisen ytimen erillisenä, itsenäisenä prosessorina, jolla on kaikki tarvittavat toiminnot.)

Kellotaajuus (kello on perustoiminto sekunnissa, jonka prosessori voi suorittaa. Siksi kellojaksojen määrä on osoitus siitä, kuinka monta operaatiota sekunnissa prosessori pystyy käsittelemään. Tämän parametrin mittayksikkö on gigahertsi GHz.)

Välimuisti (suoraan prosessoriin sisäänrakennettua muistia, jota käytetään usein käytetyn tiedon tallentamiseen ja käyttämiseen, kutsutaan välimuistiksi. Se on jaettu useisiin tasoihin - L1, L2 ja L3. Korkeamman tason välimuistin tilavuus on suurempi, mutta vähemmän korkea - tiedonsiirtonopeus.)

Bittikapasiteetti (määrittää tiedon määrän, joka voidaan vaihtaa prosessorin ja RAM-muistin välillä yhdessä kellojaksossa. Tämä parametri mitataan bitteinä. Kapasiteettiparametri vaikuttaa mahdollisen määrän RAM- 32-bittinen prosessori voi toimia vain 4 Gt RAM-muistilla.)

Suorituskyky

Virrankulutus

Mitat

Hinta

Tehtäväluokat, joita varten ne on suunniteltu

Prosessorin suorituskyvyn, virrankulutuksen ja tiedonvaihtonopeuksien vertailuominaisuudet on esitetty taulukoissa

(Mflops - miljoonaa liukulukuoperaatiota sekunnissa)

Prosessorin kokonaissuorituskykyyn ja sen toiminnan tehokkuuteen vaikuttavat merkittävästi ydinten välisten yhteyksien rakenne ja muistialijärjestelmän, erityisesti välimuistin, organisaatio.


Prosessori CSX700

CSX700-prosessoriarkkitehtuuri on suunniteltu ratkaisemaan niin sanottu koko, paino ja teho (SWAP) -ongelma, joka tyypillisesti vaivaa sulautettuja korkean suorituskyvyn sovelluksia. Integroimalla prosessorit, järjestelmäliitännät ja sirussa olevan virheenkorjausmuistin CSX700 tarjoaa kustannustehokkaan, luotettavan ja tehokkaan ratkaisun, joka vastaa nykypäivän sovellusten vaatimuksiin.

Prosessorin arkkitehtuuri on optimoitu massiiviseen rinnakkaiskäsittelyyn, ja se on suunniteltu korkeaan tehokkuuteen ja luotettavuuteen. Arkkitehtuuri tähtää älykkääseen signaalinkäsittelyyn ja kuvankäsittelyyn aika- ja taajuusalueilla.

CSX700-siru sisältää 192 korkean suorituskyvyn prosessoriydintä, sisäänrakennetun 256 kt:n puskurimuistin (kaksi 128 kt:n pankkia kumpikin), tietovälimuistin ja käskyvälimuistin, ECC-suojauksen sisäisille ja ulkoinen muisti, sisäänrakennettu suora muistin käyttöohjain. Chip- ja sirujen välisten verkkojen tarjoamiseen käytetään ClearConnect NoC -tekniikkaa (kuva 11).

Prosessori koostuu kahdesta suhteellisen itsenäisestä MTAP (MultiThreaded Array Processor) -moduulista, jotka sisältävät käsky- ja datavälimuistit, prosessorielementtien ohjausyksiköt ja 96 laskentaytimen sarjan (kuva 12).

Riisi. 12. MTAP-lohkorakenne

Jokaisessa ytimessä on kaksoisliukulukuyksikkö (tuki yhteen-, kerto-, jakolasku-, neliöjuuri-, yksi- ja kaksinkertaisia ​​tarkkuuslukuja), 6 kilotavua tehokasta RAM-muistia ja 128-tavuinen rekisteritiedosto. 64-bittistä virtuaalista osoiteavaruutta ja 48-bittistä todellista osoiteavaruutta tuetaan.

Tekniset tiedot prosessori:

ytimen kellotaajuus 250 MHz;

96 GFlops kaksois- tai yksittäistä tarkkuutta varten;

tukee 75 GFlopsia kaksinkertaisen tarkkuuden matriisikertolaskua (DGEMM) varten;

kokonaislukuoperaatioiden suoritus 48 ШАОs;

tehohäviö 9 W;

sisäisen muistiväylän kaistanleveys 192 GB/s;

kaksi ulkoista muistiväylää 4 Gt/s;

tiedonsiirtonopeus yksittäisten prosessorien välillä 4 GB/s;

liitännät PCIe, 2 DDR2 DRAM (64 bittiä).

Vähätehoisille järjestelmille suunniteltu prosessori toimii suhteellisen alhaisilla kellotaajuuksilla ja siinä on taajuudensäätömekanismi, jonka avulla sovelluksen suorituskykyä voidaan säätää tiettyihin teho- ja lämpöympäristöihin.

CSX700:a tukee Eclipse-tekniikkaan perustuva ammatillinen kehitysympäristö (SDK) visuaalisten sovellusten virheenkorjaustyökaluilla, jotka perustuvat optimoituun ANSI C -kääntäjään, jossa on laajennuksia rinnakkaisohjelmointia varten. Normaalin C-kirjaston lisäksi on joukko optimoituja kirjastoja, joissa on toimintoja, kuten FFT, BLAS, LAPACK jne.

Nykyaikaiset Intel- ja AMD-prosessorit

Nykyaikaiset prosessorimarkkinat jakautuvat kahteen pääkilpailijaan – Inteliin ja AMD:hen.

Prosessorit alkaen Intel, joita pidetään nykyään tuottavimpina Core i7 Extreme Edition -perheen ansiosta. Mallista riippuen niissä voi olla jopa 6 ydintä samanaikaisesti, kellotaajuus jopa 3300 MHz ja jopa 15 Mt L3-välimuistia. Pöytäkoneiden prosessorisegmentin suosituimmat ytimet perustuvat Inteliin - Ivy Bridge ja Sandy Bridge.

Intel-prosessorit käyttävät patentoituja teknologioita parantaakseen järjestelmän tehokkuutta.

1. Hyper Threading- Tämän tekniikan ansiosta prosessorin jokainen fyysinen ydin pystyy käsittelemään kahta laskentasäiettä samanaikaisesti, käy ilmi, että loogisten ytimien määrä itse asiassa kaksinkertaistuu.

2. Turbo Boost- Mahdollistaa prosessorin automaattisen ylikellotuksen ylittämättä maksimiarvoa sallittu raja ytimen käyttölämpötila.

3. Intel QuickPath Interconnect (QPI) - QPI-rengasväylä yhdistää kaikki prosessorikomponentit, mikä minimoi kaikki mahdolliset tiedonvaihdon viiveet.

4. Visualisointitekniikka - Laitteistotuki virtualisointiratkaisuille.

5. Intel Execute Disable Bit - käytännössä virustorjuntaohjelma, se tarjoaa laitteistosuojauksen mahdollisia virushyökkäyksiä vastaan ​​puskurin ylivuototeknologian perusteella.

6. Intel SpeedStep - työkalu, jonka avulla voit muuttaa jännite- ja taajuustasoja prosessorin kuormituksen mukaan.

Core i7 - päällä tällä hetkellä yrityksen huippulinja

Core i5 - korkea suorituskyky

Core i3 – alhainen hinta, korkea/keskikokoinen suorituskyky

Nopeimmat AMD-prosessorit ovat edelleen hitaampia kuin nopeimmat Intel-prosessorit (tiedot marraskuusta 2010). Mutta hyvän hinta-laatusuhteen ansiosta AMD prosessorit, lähinnä pöytätietokoneille, ovat erinomainen vaihtoehto Intel-prosessoreille.

Athlon II- ja Phenom II -prosessoreille ei vain kellotaajuus ole tärkeä, vaan myös prosessoriytimien määrä. Athlon II:ssa ja Phenom II:ssa voi mallista riippuen olla kaksi kolme tai neljä ydintä. Kuusiytiminen malli – vain Highend Phenom II -sarja.

Useimmat nykyaikaiset AMD:n luomat prosessorit tukevat oletusarvoisesti seuraavia tekniikoita:

1. AMD Turbo CORE - Tämä tekniikka on suunniteltu automaattisesti säätelemään kaikkien prosessoriytimien suorituskykyä ohjatun ylikellotuksen avulla (Intelin samanlainen tekniikka on nimeltään TurboBoost).

2. AVX (Advanced Vector Extensions), XOP ja FMA4 - Työkalu, jossa on laajennettu joukko komentoja, jotka on suunniteltu erityisesti liukulukujen kanssa työskentelemiseen. Varmasti hyödyllinen työkalupakki.

3. AES (Advanced Encryption Standard) - B ohjelmistosovelluksia tietojen salauksen käyttö parantaa suorituskykyä.

4. AMD-visualisointi (AMD-V) - Tämä virtualisointitekniikka auttaa varmistamaan yhden tietokoneen resurssien jakamisen useiden virtuaalikoneiden välillä.

5. AMD PowcrNow! - Virranhallintatekniikka. Ne auttavat käyttäjää parantamaan suorituskykyä aktivoimalla ja deaktivoimalla prosessorin osia dynaamisesti.

6. NX Bit - Ainutlaatuinen virustorjuntatekniikka, joka auttaa estämään infektioita henkilökohtainen tietokone tietyntyyppisiä haittaohjelmia.

Käytä GIS:ssä

Paikkatietojärjestelmät ovat monikäyttöisiä työkaluja yhdistetyn taulukko-, teksti- ja kartografisen tiedon, väestö-, tilasto-, maa-, kunta-, osoite- ja muiden tietojen analysointiin. Moniytimisprosessorit ovat välttämättömiä erilaisten tietojen nopeaan käsittelyyn, koska ne nopeuttavat ja jakavat ohjelmien työtä merkittävästi.

PÄÄTELMÄ

Siirtyminen moniytimisprosessoreihin on tulossa keskeiseksi suorituskyvyn parantamiseksi. Tällä hetkellä 4- ja 6-ydinprosessoreja pidetään yleisimpinä. Järjestelmä pitää jokaisen ytimen erillisenä, itsenäisenä prosessorina, jolla on kaikki tarvittavat toiminnot. Moniytimisprosessorien teknologia on mahdollistanut laskentatoimintojen rinnakkaistamisen, minkä seurauksena PC:n suorituskyky on parantunut.

http://www.intuit.ru/department/hardware/mcoreproc/15/

http://kit-e.ru/articles/build_in_systems/2010_2_92.php

http://softrew.ru/instructions/266-sovremennye-processory.html

http://it-notes.info/centralnyj-processor/

http://www.mediamarkt.ru/mp/article/AMD,847020.html

Moniytimisprosessorien edut

Kyky jakaa ohjelmien työtä, esimerkiksi pääsovellustehtävät ja taustakäyttöjärjestelmän tehtävät, useiden ytimien kesken;

Ohjelmien nopeuden lisääminen;

Laskentaintensiiviset prosessit toimivat paljon nopeammin;

Laskennallisesti vaativien multimediasovellusten (esim. videoeditorien) tehokkaampi käyttö;

Vähentynyt energiankulutus;

PC-käyttäjän työstä tulee mukavampaa;

...kehitysprosessissa ytimien määrä tulee lisääntymään.

(Intelin kehittäjät)

Lisää ydin, ja myös ydin, ja monia, monia muita ydin!..

... Viime aikoihin asti emme olleet kuulleet tai tienneet siitä moniytiminen prosessorit, ja nykyään ne korvaavat aggressiivisesti yhden ytimen prosessoreja. Moniytimisprosessorien puomi on alkanut, mikä on edelleen vain vähän! – niiden suhteellisen korkeat hinnat hidastavat. Mutta kukaan ei epäile, että tulevaisuus on moniytimisissä prosessoreissa!

Mikä on prosessorin ydin

Modernin keskusmikroprosessorin keskellä ( CPU– lyhenne englannista keskusyksikkö– keskustietokone) on ydin ( ydin) on pinta-alaltaan noin neliösenttiläinen piikide, jossa prosessorin piirikaavio, ns. arkkitehtuuri (siruarkkitehtuuri).

Ydin on yhdistetty muuhun siruun (kutsutaan "paketiksi" CPU-paketti) flip-chip-tekniikalla ( flip-siru, flip-chip liimaus– käänteinen ydin, kiinnitys käänteiskidemenetelmällä). Tämä tekniikka saa nimensä, koska ulospäin osoittava - näkyvä - ytimen osa on itse asiassa sen "pohja" - tarjotakseen suoran kosketuksen jäähdyttimen jäähdytyselementin kanssa lämmönsiirron parantamiseksi. Kääntöpuolella (näkymättömällä) on itse "käyttöliittymä" - kristallin ja pakkauksen välinen yhteys. Yhteys prosessorin ytimen ja pakkauksen välillä tehdään nastanastoilla ( Juotoskuormat).

Ydin sijaitsee tekstioliittipohjalla, jota pitkin kosketuspolut kulkevat "jalkoihin" (kosketustyynyihin), jotka on täytetty lämpörajapinnalla ja peitetty suojaavalla metallikuorella.

Ensimmäinen (luonnollisesti yksiytiminen!) mikroprosessori Intel 4004 Intel Corporation esitteli sen 15. marraskuuta 1971. Se sisälsi 2 300 transistoria, kellotaajuus 108 kHz ja maksoi 300 dollaria.

Vaatimukset keskusmikroprosessorin laskentateholle ovat jatkuvasti kasvaneet ja kasvavat edelleen. Mutta jos aikaisemmat prosessorivalmistajat joutuivat jatkuvasti mukautumaan tämänhetkisiin kiireisiin (aina kasvaviin!) käyttäjien pyyntöihin, nyt sirujen valmistajat ovat paljon edellä!

Perinteisten yhden ytimen prosessorien suorituskyvyn parannukset johtuivat pitkään pääasiassa kellotaajuuden jatkuvasta noususta (noin 80 % prosessorin suorituskyvystä määräytyi kellotaajuuden mukaan) samalla kun transistorien lukumäärä kasvoi yhdellä sirulla. . Kellotaajuuden lisääminen edelleen (yli 3,8 GHz:n kellotaajuudella sirut yksinkertaisesti ylikuumenevat!) kohtaa useita perustavanlaatuisia fyysisiä esteitä (koska teknologinen prosessi on lähes lähellä atomin kokoa: Nykyään prosessorit valmistetaan 45 nm:n teknologialla, ja piiatomin koko on noin 0,543 nm):

Ensinnäkin, kun kiteen koko pienenee ja kellotaajuus kasvaa, transistorien vuotovirta kasvaa. Tämä johtaa lisääntyneeseen virrankulutukseen ja lämmöntuottoon;

Toiseksi suurempien kellonopeuksien edut kumoavat osittain muistin käyttöviiveen, koska muistin käyttöajat eivät pysy kasvavien kellonopeuksien mukana;

Kolmanneksi joissakin sovelluksissa perinteiset sarjaarkkitehtuurit tulevat tehottomiksi, kun kellotaajuudet kasvavat niin sanotun "von Neumannin pullonkaulan" vuoksi, joka on peräkkäisestä laskentavirrasta johtuva suorituskyvyn rajoitus. Samalla RC-signaalin lähetysviiveet kasvavat, mikä on ylimääräinen pullonkaula, joka liittyy kellotaajuuden kasvuun.

Moniprosessorijärjestelmien käyttö ei myöskään ole yleistä, sillä se vaatii monimutkaisia ​​ja kalliita moniprosessoriemolevyjä. Siksi päätettiin parantaa mikroprosessorien suorituskykyä edelleen muilla keinoin. Konsepti tunnustettiin tehokkaimmaksi suunnaksi monisäikeinen, joka sai alkunsa supertietokoneiden maailmasta, on useiden komentovirtojen samanaikainen rinnakkaiskäsittely.

Siis yrityksen syvyyksissä Intel syntyi Hyper-Threading-tekniikka (HTT) on ultrasäikeinen tietojenkäsittelytekniikka, jonka avulla prosessori voi suorittaa jopa neljää ohjelmasäiettä rinnakkain yksiytimisessä prosessorissa samanaikaisesti. Hyper-ketjutus parantaa merkittävästi resurssivaltaisten sovellusten tehokkuutta (esim. ääni- ja videoeditointiin liittyvät, 3D-simulaatio), samoin kuin käyttöjärjestelmän toiminta moniajotilassa.

CPU Pentium 4 mukana Hyper-ketjutus on yksi fyysistä ydin, joka on jaettu kahteen osaan looginen, joten käyttöjärjestelmä tunnistaa sen kahdeksi eri prosessoriksi (yhden sijaan).

Hyper-ketjutus Itse asiassa siitä tuli ponnahduslauta sellaisten prosessorien luomiseen, joissa on kaksi fyysistä ydintä yhdellä sirulla. 2-ytimisessä sirussa kaksi ydintä (kaksi prosessoria!) toimii rinnakkain, jotka pienemmällä kellotaajuudella tarjoavat O parempi suorituskyky, koska kaksi itsenäistä käskyvirtaa suoritetaan rinnakkain (samanaikaisesti!).

Prosessorin kykyä suorittaa useita ohjelmasäikeitä samanaikaisesti kutsutaan lankatason rinnakkaisuus (TLPlankatason rinnakkaisuus). Tarvitaan TLP riippuu tilanteesta (joissakin tapauksissa se on yksinkertaisesti hyödytöntä!).

Prosessorien luomisen pääongelmat

Jokaisen prosessorin ytimen on oltava itsenäinen, riippumaton virrankulutus ja säädettävä teho;

Markkinoida ohjelmisto on varustettava ohjelmilla, jotka voivat tehokkaasti jakaa käskyjen haaroitusalgoritmin parilliseksi (prosessoreille, joissa on parillinen määrä ytimiä) tai parittomaan (prosessoreille, joissa on pariton määrä ytimiä) säikeiden määrään;

Lehdistöpalvelun mukaan AMD, 4-ytimisen prosessorien markkinat muodostavat nykyään enintään 2 % kokonaisvolyymista. On selvää, että nykyaikaiselle ostajalle 4-ytimisen prosessorin ostaminen kotitarpeisiin ei ole vieläkään järkevää monista syistä. Ensinnäkin nykyään ei käytännössä ole ohjelmia, jotka voisivat tehokkaasti hyödyntää neljää samanaikaisesti toimivaa säiettä; toiseksi valmistajat sijalla 4-ytimiset prosessorit Hi-End-ratkaisuja lisäämällä varusteisiin nykyaikaisimmat näytönohjaimet ja suuret kiintolevyt - ja tämä viime kädessä lisää jo ennestään kalliiden kustannuksia

Kehittäjät Intel he sanovat: "...kehitysprosessissa ytimien määrä tulee yhä enemmän...".

Mikä meitä odottaa tulevaisuudessa

Yrityksessä Intel he eivät enää puhu "Moniytimistä" ( Moniytiminen) prosessorit, kuten tehdään 2-, 4-, 8-, 16- tai jopa 32-ytimisissä ratkaisuissa, mutta "Moniydin" ( Moniytiminen), mikä tarkoittaa täysin uutta siruarkkitehtuurista makrorakennetta, joka on verrattavissa (mutta ei samanlainen) prosessorin arkkitehtuuriin Cell.

Sellaisen rakenne Moniytiminen-siru sisältää työskentelyn samoilla ohjeilla, mutta käyttämällä tehokasta keskusydintä tai useita tehokkaita CPU, jota "ympäröivät" monet apuytimet, jotka auttavat tehokkaammin käsittelemään monimutkaisia ​​multimediasovelluksia monisäikeisessä tilassa. Lisäksi "yleiskäyttöiset" ytimet, prosessorit Intel on myös erikoistuneet ytimet erilaisten tehtävien suorittamiseen - kuten grafiikka, puheentunnistusalgoritmit, prosessointiviestintäprotokollat.

Tämä on juuri Justin Rattnerin esittämä arkkitehtuuri ( Justin R. Rattner), alan johtaja Corporate Technology Group Intel, tiedotustilaisuudessa Tokiossa. Hänen mukaansa tällaisia ​​apuytimiä voi olla useita kymmeniä uudessa moniytimisprosessorissa. Toisin kuin keskitytään suuriin, energiaintensiivisiin laskentaytimiin, joissa on korkea lämpöhäviö, moniytiminen kiteet Intel aktivoi vain ne ytimet, joita tarvitaan nykyisen tehtävän suorittamiseen, kun taas loput ytimet poistetaan käytöstä. Näin kristalli kuluttaa täsmälleen niin paljon sähköä kuin se tarvitsee tiettynä aikana.

Heinäkuussa 2008 yhtiö Intel raportoi, että se harkitsee mahdollisuutta integroida useita kymmeniä ja jopa tuhansia laskentaytimiä yhdeksi prosessoriksi. Yrityksen johtava insinööri Envar Galum ( Anwar Ghuloum) kirjoitti blogissaan: "Suosittelen viime kädessä ottamaan minulta seuraavat neuvot... kehittäjien pitäisi alkaa ajatella kymmeniä, satoja ja tuhansia ytimiä nyt." Hänen mukaansa tällä hetkellä Intel tutkii teknologioita, jotka voisivat skaalata tietojenkäsittelyä "sen ytimien määrän mukaan, joita emme vielä myy".

Viime kädessä moniytimien järjestelmien menestys riippuu kehittäjistä, joiden on todennäköisesti vaihdettava ohjelmointikieliä ja kirjoitettava uudelleen olemassa olevia kirjastoja, Galum sanoi.

Prosessori sisään matkapuhelin. Ominaisuudet ja niiden merkitys

Älypuhelinteollisuus kehittyy joka päivä, ja sen seurauksena käyttäjät saavat uusia, nykyaikaisempia ja tehokkaampia vempaimia. Kaikki älypuhelinvalmistajat pyrkivät tekemään luomuksistaan ​​erityisen ja korvaamattoman. Siksi nykyään paljon huomiota kiinnitetään älypuhelimien prosessorien kehittämiseen ja tuotantoon.

Varmasti monet "älypuhelinten" fanit ovat useammin kuin kerran kysyneet, mikä on prosessori ja mitkä ovat sen päätoiminnot? Ja myös epäilemättä ostajat ovat kiinnostuneita siitä, mitä kaikki nämä numerot ja kirjaimet sirun nimessä tarkoittavat.
Suosittelemme, että tutustut hieman konseptiin "älypuhelimen prosessori".

Prosessori älypuhelimessa- tämä on monimutkaisin osa ja vastaa kaikista laitteen suorittamista laskelmista. Itse asiassa on väärin sanoa, että älypuhelin käyttää prosessoria, koska prosessorit sinänsä ovat mobiililaitteet ah ei käytetty. Prosessori yhdessä muiden komponenttien kanssa muodostaa SoC:n (System on a chip - system on a chip), mikä tarkoittaa, että yhdellä sirulla on täysikokoinen tietokone prosessorin, näytönohjaimen ja muiden komponenttien kanssa.

Jos puhumme prosessorista, meidän on ensin ymmärrettävä sellainen käsite kuin "prosessoriarkkitehtuuri". Nykyaikaisissa älypuhelimissa käytetään prosessoreita, jotka perustuvat ARM-arkkitehtuuriin, jonka on kehittänyt samanniminen yritys ARM Limited. Voidaan sanoa, että arkkitehtuuri on tietty joukko ominaisuuksia ja ominaisuuksia, jotka ovat luontaisia ​​koko prosessoriperheelle. Qualcomm, Nvidia, Samsung, MediaTek, Apple ja muut prosessoriyritykset lisensoivat ARM:n teknologiaa ja myyvät sitten valmiit sirut älypuhelinvalmistajille tai käyttävät niitä omissa laitteissaan. Sirujen valmistajat lisensoivat yksittäisiä ytimiä, ohjesarjoja ja niihin liittyviä teknologioita ARM:lta. ARM Limited ei valmista prosessoreita, vaan myy vain teknologioidensa lisenssejä muille valmistajille.

Katsotaanpa nyt käsitteitä, kuten ydin ja kellonopeus, jotka löytyvät aina älypuhelimia ja puhelimia koskevista arvosteluista ja artikkeleista, kun puhutaan prosessorista.

Ydin

Aloitetaan kysymyksellä, mikä on ydin? Ydin on osa sirua, joka määrittää prosessorin suorituskyvyn, virrankulutuksen ja kellonopeuden. Hyvin usein törmäämme käsitteeseen dual-core tai quad ydinprosessori. Selvitetään, mitä tämä tarkoittaa.

Kaksiytiminen tai neliytiminen prosessori – mitä eroa niillä on?

Hyvin usein ostajat ajattelevat, että kaksiytiminen prosessori on kaksi kertaa tehokkaampi kuin yhden ytimen prosessori, ja neliytiminen prosessori on vastaavasti neljä kertaa tehokkaampi. Nyt kerromme sinulle totuuden. Vaikuttaa melko loogiselta, että siirtyminen yhdestä ytimestä kahteen tai kahdesta neljään lisää suorituskykyä, mutta itse asiassa on harvinaista, että tämä teho kasvaa kertoimella kaksi tai neljä. Ytimen määrän lisääminen mahdollistaa laitteen toiminnan nopeuttamisen käynnissä olevien prosessien uudelleenjakamisen vuoksi. Mutta useimmat nykyaikaiset sovellukset ovat yksisäikeisiä ja voivat siksi käyttää vain yhtä tai kahta ydintä kerrallaan. Herää luonnollisesti kysymys, mitä varten neliytiminen prosessori sitten on? Moniytimistä käyttävät pääasiassa edistyneet pelit ja muokkaussovellukset multimediatiedostoja. Tämä tarkoittaa, että jos tarvitset älypuhelimen pelaamiseen (3D-pelit) tai Full HD -videon kuvaamiseen, sinun on ostettava laite, jossa on neliytiminen prosessori. Jos ohjelma itsessään ei tue moniytimiä eikä vaadi suuria resursseja, käyttämättömät ytimet poistetaan automaattisesti käytöstä akun säästämiseksi. Usein viidettä kumppaniydintä käytetään vaativimpiin tehtäviin, esimerkiksi laitteen käyttämiseen lepotilassa tai sähköpostin tarkistamiseen.

Jos tarvitset tavallisen älypuhelimen viestintään, Internetissä surffaamiseen, sähköpostin tarkistamiseen tai uusimpien uutisten seuraamiseen, kaksiytiminen prosessori on sinulle sopiva. Ja miksi maksaa enemmän? Loppujen lopuksi ytimien määrä vaikuttaa suoraan laitteen hintaan.

Kellotaajuus

Seuraava käsite, johon meidän on tutustuttava, on kellotaajuus. Kellotaajuus on prosessorin ominaisuus, joka osoittaa kuinka monta kellojaksoa prosessori pystyy työskentelemään aikayksikköä (yksi sekuntia) kohden. Esimerkiksi jos laitteen ominaisuudet osoittavat taajuus 1,7 GHz - tämä tarkoittaa, että sen prosessori suorittaa 1 700 000 000 (1 miljardi 700 miljoonaa) sykliä sekunnissa.

Toiminnosta ja sirun tyypistä riippuen sirun yhden tehtävän suorittamiseen tarvittavien kellojaksojen määrä voi vaihdella. Mitä korkeampi kellotaajuus, sitä nopeampi toimintanopeus. Tämä ero on erityisen havaittavissa, kun verrataan identtisiä eri taajuuksilla toimivia ytimiä.

Joskus valmistaja rajoittaa kellotaajuutta vähentääkseen virrankulutusta, koska mitä suurempi prosessorin nopeus, sitä enemmän se kuluttaa virtaa.

Ja taas palaamme moniytimiseen. Kellotaajuuden (MHz, GHz) lisääminen voi lisätä lämmöntuotantoa, mikä on erittäin ei-toivottua ja jopa haitallista älypuhelinten käyttäjille. Siksi moniydintekniikkaa käytetään myös yhtenä keinona lisätä älypuhelimen suorituskykyä ilman, että se kuumenee liikaa taskussa.

Suorituskyky paranee, kun sovellukset voivat toimia samanaikaisesti useissa ytimissä, mutta siinä on yksi ehto: sovellusten on oltava uusimman sukupolven. Tämä ominaisuus säästää myös akkuvirtaa.

CPU-välimuisti

Toinen tärkeä prosessorin ominaisuus, josta älypuhelimien myyjät usein vaikenevat, on CPU-välimuisti.

Välimuisti- Tämä on muisti, joka on suunniteltu väliaikaiseen tietojen tallentamiseen ja joka toimii prosessorin taajuudella. Välimuistia käytetään vähentämään prosessorin käyttöaikaa RAM-muistin hidastamiseksi. Se tallentaa kopiot osasta RAM-tiedoista. Pääsyaika lyhenee, koska suurin osa prosessorin tarvitsemista tiedoista päätyy välimuistiin ja RAM-käyttöjen määrä vähenee. Mitä suurempi välimuistin koko, sitä suurempi osa ohjelmalle välttämätön se voi sisältää dataa, sitä harvemmin RAM-muistia käytetään ja sitä parempi on järjestelmän yleinen suorituskyky.

Välimuisti on erityisen tärkeä nykyaikaisissa järjestelmissä, joissa prosessorin nopeuden ja RAM-muistin nopeuden välinen ero on melko suuri. Tietenkin herää kysymys, miksi he eivät halua mainita tätä ominaisuutta? Se on hyvin yksinkertaista. Otetaan esimerkki. Oletetaan, että on olemassa kaksi tunnettua prosessoria (ehdollisesti A ja B), joissa on täysin sama määrä ytimiä ja kellotaajuus, mutta jostain syystä A toimii paljon nopeammin kuin B. Tämä on hyvin yksinkertainen selittää: prosessorilla A on suurempi välimuisti, joten prosessori toimii nopeammin.

Ero välimuistin määrässä on erityisen havaittavissa kiinalaisten ja merkkipuhelimien välillä. Vaikuttaa siltä, ​​​​että ominaisuusnumeroiden mukaan kaikki näyttää samalta, mutta laitteiden hinta vaihtelee. Ja täällä ostajat päättävät säästää rahaa ajatuksella "miksi maksaa enemmän, jos eroa ei ole?" Mutta kuten näemme, on ero ja erittäin merkittävä, mutta myyjät usein vaikenevat siitä ja myyvät kiinalaiset puhelimet paisuneilla hinnoilla.

Mitä eroa on neliytimisellä ja kahdeksanytimisellä älypuhelinprosessorilla? Selitys on melko yksinkertainen. Kahdeksan ytimen siruissa on kaksi kertaa enemmän prosessoriytimiä kuin neliytimisissä siruissa. Ensi silmäyksellä kahdeksanytiminen prosessori näyttää kaksi kertaa tehokkaammalta, eikö? Todellisuudessa mitään sellaista ei tapahdu. Jotta ymmärtäisimme, miksi kahdeksanytiminen prosessori ei kaksinkertaista älypuhelimen suorituskykyä, tarvitaan selitys. on jo saapunut. Kahdeksan ytimen prosessorit, joista vasta äskettäin voitiin vain haaveilla, ovat yleistymässä. Mutta käy ilmi, että heidän tehtävänsä ei ole lisätä laitteen suorituskykyä.

Neli- ja kahdeksanytiminen prosessori. Suorituskyky

Termit "kahdeksanytiminen" ja "neliytiminen" kuvastavat CPU-ytimien määrää.

Mutta tärkein ero näiden kahden prosessorin välillä – ainakin vuodesta 2015 lähtien – on tapa, jolla prosessoriytimet asennetaan.

Neliytimisessä prosessorissa kaikki ytimet voivat toimia samanaikaisesti, mikä mahdollistaa nopean ja joustavan moniajon, sujuvamman 3D-pelaamisen, nopeamman kameran suorituskyvyn ja paljon muuta.

Nykyaikaiset kahdeksanytimiset sirut puolestaan ​​koostuvat yksinkertaisesti kahdesta neliytimisestä prosessorista, jotka jakavat keskenään erilaisia ​​tehtäviä tyypistä riippuen. Useimmiten kahdeksanytiminen siru sisältää neljän ytimen joukon, joiden kellonopeus on pienempi kuin toisessa sarjassa. Kun monimutkainen tehtävä on suoritettava, nopeampi prosessori luonnollisesti hoitaa sen.


Tarkempi termi kuin "kahdeksanytiminen" olisi "kaksi neliytiminen". Mutta se ei kuulosta niin mukavalta eikä sovellu markkinointitarkoituksiin. Siksi näitä prosessoreita kutsutaan kahdeksanytimisiksi.

Miksi tarvitsemme kaksi sarjaa prosessoriytimiä?

Mikä on syy siihen, että kaksi prosessoriytimesarjaa yhdistetään ja siirretään tehtäviä toisilleen yhdessä laitteessa? Energiatehokkuuden varmistamiseksi.

Tehokkaampi prosessori kuluttaa enemmän virtaa ja akkua on ladattava useammin. A paristot Paljon heikompi lenkki älypuhelimessa kuin prosessorit. Seurauksena on, että mitä tehokkaampi älypuhelimen prosessori, sitä tilavamman akun se tarvitsee.

Useimpiin älypuhelintehtäviin et kuitenkaan tarvitse niin suurta laskentatehoa kuin nykyaikainen prosessori voi tarjota. Aloitusruutujen välillä liikkuminen, viestien tarkistaminen ja jopa web-navigointi ovat vähemmän prosessoria vaativia tehtäviä.

Mutta HD-video, pelit ja valokuvien kanssa työskentely ovat sellaisia ​​​​tehtäviä. Siksi kahdeksanytimiset prosessorit ovat varsin käytännöllisiä, vaikka tätä ratkaisua tuskin voi kutsua tyylikkääksi. Heikompi prosessori käsittelee vähemmän resursseja vaativia tehtäviä. Tehokkaampi - resurssiintensiivisempi. Tämän seurauksena kokonaisvirrankulutus pienenee verrattuna tilanteeseen, jossa vain korkealla kellotaajuudella varustettu prosessori hoitaisi kaikki tehtävät. Siten kaksoisprosessori ratkaisee ensisijaisesti energiatehokkuuden lisäämisen ongelman, ei suorituskyvyn.

Tekniset ominaisuudet

Kaikki nykyaikaiset kahdeksanytimiset prosessorit perustuvat ARM-arkkitehtuuriin, niin sanottuun big.LITTLE-arkkitehtuuriin.

Tämä kahdeksanytiminen big.LITTLE-arkkitehtuuri julkistettiin lokakuussa 2011, ja se mahdollisti neljän matalan suorituskyvyn Cortex-A7-ytimen toimimisen yhdessä neljän tehokkaan Cortex-A15-ytimen kanssa. ARM on toistanut tämän lähestymistavan joka vuosi siitä lähtien tarjoten tehokkaampia siruja molemmille prosessoriytimille kahdeksanytimisessä sirussa.

Jotkut suurimmista mobiililaitteiden sirujen valmistajista keskittyvät tähän big.LITTLE "kahdeksanytimiseen" esimerkkiin. Yksi ensimmäisistä ja merkittävimmistä oli oma siru Samsung, kuuluisa Exynos. Sen kahdeksanytiminen malli on ollut käytössä siitä lähtien Samsung Galaxy S4, ainakin joissakin yrityksen laitteiden versioissa.

Hiljattain Qualcomm aloitti myös big.LITTLE:n käytön kahdeksanytimisissä Snapdragon 810 -suorittimissa. Juuri tähän prosessoriin perustuvat älypuhelinmarkkinoiden tunnetut uudet tuotteet, kuten G Flex 2, josta tuli LG.

Vuoden 2015 alussa NVIDIA esitteli Tegra X1:n, uuden supertehokkaan mobiiliprosessorin, jonka yritys aikoo käyttää autotietokoneisiin. X1:n päätehtävä on, että sitä voidaan kutsua konsolista ("konsolihaastava") GPU, joka myös perustuu big.LITTLE-arkkitehtuuriin. Eli siitä tulee myös kahdeksanytiminen.

Onko siinä suurta eroa tavallinen käyttäjä?

Onko neliytimisellä ja kahdeksanytimisellä älypuhelinprosessorilla suurta eroa keskivertokäyttäjälle? Ei, itse asiassa se on hyvin pieni, sanoo Jon Mandi.

Termi "kahdeksanytiminen" on hieman hämmentävä, mutta se tarkoittaa itse asiassa neliytimien prosessorien päällekkäisyyttä. Tuloksena on kaksi itsenäisesti toimivaa neliytimistä sarjaa, jotka on yhdistetty yhdeksi siruksi energiatehokkuuden parantamiseksi.

Tarvitaanko jokaisessa nykyaikaisessa älypuhelimessa kahdeksanytiminen prosessori? Tällaista tarvetta ei ole, uskoo Jon Mundy ja mainitsee esimerkin Applesta, joka varmistaa iPhonensa kunnollisen energiatehokkuuden pelkällä kaksiytimisellä prosessorilla.

Näin ollen kahdeksanytiminen ARM big.LITTLE -arkkitehtuuri on yksi mahdollisista ratkaisuista yhteen älypuhelimien tärkeimmistä ongelmista - akun kestoon. John Mundyn mukaan heti, kun tähän ongelmaan löydetään toinen ratkaisu, suuntaus asentaa kaksi neliytiminen sarjaa yhteen siruun ja vastaavat ratkaisut pysähtyvät.

Tiedätkö muita kahdeksanytimisen älypuhelinprosessorien etuja?

  • Opetusohjelma

Tässä artikkelissa yritän kuvata terminologiaa, jota käytetään kuvaamaan järjestelmiä, jotka pystyvät suorittamaan useita ohjelmia rinnakkain, eli moniytiminen, moniprosessori, monisäikeinen. IA-32 CPU:ssa esiintyi eri tyyppisiä rinnakkaisuuksia eri aikoina ja hieman epäjohdonmukaisessa järjestyksessä. Kaikessa tässä on melko helppoa hämmentyä, varsinkin kun otetaan huomioon, että käyttöjärjestelmät piilottavat yksityiskohdat huolellisesti vähemmän kehittyneiltä sovellusohjelmilta.

Artikkelin tarkoituksena on osoittaa, että moniprosessori-, moniytimis- ja monisäikeisten järjestelmien monilla mahdollisilla kokoonpanoilla luodaan mahdollisuuksia niillä toimiville ohjelmille sekä abstraktioon (erojen huomioimatta) että erityispiirteiden huomioon ottamiseen ( kyky ohjelmallisesti selvittää kokoonpano).

Varoitus artikkelissa olevista ®, ™ -merkeistä

Kommenttini selittää, miksi yritysten työntekijöiden tulisi käyttää tekijänoikeusilmoituksia julkisessa viestinnässä. Tässä artikkelissa minun piti käyttää niitä melko usein.

CPU

Tietenkin vanhin, useimmin käytetty ja kiistanalainen termi on "prosessori".

IN moderni maailma Prosessori on se, mitä ostamme kauniissa vähittäismyyntilaatikossa tai ei niin mukavassa OEM-paketissa. Jakamaton kokonaisuus, joka on asetettu pistorasiaan emolevy. Vaikka liitintä ei olisi eikä sitä voida poistaa, eli jos se on tiukasti juotettu, se on yksi siru.

Mobiilijärjestelmissä (puhelimet, tabletit, kannettavat tietokoneet) ja useimmissa pöytäkoneissa on yksi prosessori. Työasemissa ja palvelimissa on joskus kaksi tai useampi prosessori yhdellä emolevyllä.

Useiden suoritinten tukeminen yhdessä järjestelmässä vaatii useita suunnittelumuutoksia. Vähintään on tarpeen varmistaa niiden fyysinen yhteys (varustaa useita pistorasioita emolevyllä), ratkaista prosessorin tunnistamiseen liittyvät ongelmat (katso myöhemmin tässä artikkelissa sekä edellinen huomautukseni), muistin käyttöjen koordinointi ja toimitusten keskeyttäminen ( keskeytysohjaimen on kyettävä reitittämään keskeytykset useille prosessoreille) ja tietysti käyttöjärjestelmän tuki. Valitettavasti en löytänyt dokumentaarista mainintaa ensimmäisen moniprosessorijärjestelmän luomisesta Intel-prosessoreille, mutta Wikipedia väittää, että Sequent Computer Systems toimitti ne jo vuonna 1987 käyttämällä Intel 80386 -prosessoreita Tuki useille siruille yhdessä järjestelmässä. alkaen Intel® Pentiumista.

Jos prosessoreita on useita, jokaisella niistä on oma liitin levyllä. Jokaisella niistä on täydelliset itsenäiset kopiot kaikista resursseista, kuten rekistereistä, suorituslaitteista, välimuistista. Heillä on yhteinen muisti - RAM. Muisti voidaan yhdistää niihin monin eri tavoin ja melko ei-triviaaleilla tavoilla, mutta tämä on erillinen tarina, joka ei kuulu tämän artikkelin piiriin. Tärkeää on, että suoritettaville ohjelmille tulee joka tapauksessa luoda illuusio homogeenisesta jaetusta muistista, joka on käytettävissä kaikilta järjestelmän prosessoreilta.


Valmiina lentoon! Intel® Desktop Board D5400XS

Ydin

Historiallisesti Intel IA-32:n moniytiminen ilmestyi myöhemmin kuin Intel® HyperThreading, mutta loogisessa hierarkiassa se tulee seuraavaksi.

Vaikuttaa siltä, ​​​​että jos järjestelmässä on enemmän prosessoreita, sen suorituskyky on korkeampi (tehtävissä, jotka voivat käyttää kaikkia resursseja). Kuitenkin, jos niiden välisen viestinnän kustannukset ovat liian korkeat, kaikki rinnakkaisuudesta saatavat hyödyt kuolevat yhteisen tiedon siirron pitkillä viiveillä. Juuri tätä havaitaan moniprosessorijärjestelmissä - sekä fyysisesti että loogisesti ne ovat hyvin kaukana toisistaan. Tehokas viestintä tällaisissa olosuhteissa edellyttää erikoisväyliä, kuten Intel® QuickPath Interconnect. Energiankulutusta, loppuratkaisun kokoa ja hintaa tämä kaikki ei tietenkään vähennä. Komponenttien korkean integraation pitäisi tulla apuun - rinnakkaisen ohjelman osia suorittavat piirit on tuotava sisään läheisempi ystävä ystävälle mieluiten yhdelle kristallille. Toisin sanoen yhden prosessorin tulisi järjestää useita ytimet, identtisiä toistensa kanssa kaikessa, mutta toimivat itsenäisesti.

Ensimmäiset Intelin moniytimiset IA-32-prosessorit esiteltiin vuonna 2005. Siitä lähtien keskimääräinen ytimien lukumäärä palvelimessa, työpöydässä ja nyt mobiilialustoille kasvaa tasaisesti.

Toisin kuin kaksi yhden ytimen prosessoria samassa järjestelmässä jakaa vain muistia, kaksi ydintä voi myös jakaa välimuistit ja muut muistiin liittyvät resurssit. Useimmiten ensimmäisen tason välimuistit pysyvät yksityisinä (jokaisella ytimellä on omat), kun taas toinen ja kolmas taso voivat olla joko jaettuja tai erillisiä. Tämän järjestelmäorganisaation avulla voit vähentää tiedon toimitusviiveitä viereisten ytimien välillä, varsinkin jos ne työskentelevät yhteisen tehtävän parissa.


Mikrovalokuva neliytimisestä Intel-prosessorista koodinimeltään Nehalem. Erilliset ytimet, yhteinen kolmannen tason välimuisti sekä QPI-linkit muihin prosessoreihin ja yhteinen muistiohjain on varattu.

Hyperketju

Noin 2002 asti ainoa tapa saada IA-32-järjestelmä, joka pystyy ajamaan kahta tai useampaa ohjelmaa rinnakkain, oli käyttää moniprosessorijärjestelmiä. Intel® Pentium® 4 sekä Xeon-linja koodinimeltään Foster (Netburst) esiteltiin uutta tekniikkaa- hypersäikeet tai hypersäikeet, - Intel® HyperThreading (jäljempänä HT).

Ei mitään uutta auringon alla. HT on erikoistapaus sille, mitä kirjallisuudessa kutsutaan samanaikaiseksi monisäikeistykseksi (SMT). Toisin kuin "oikeat" ytimet, jotka ovat täydellisiä ja itsenäisiä kopioita, HT:n tapauksessa vain osa sisäisistä solmuista, jotka ovat ensisijaisesti vastuussa arkkitehtonisen tilan - rekisterien - tallentamisesta, monistetaan yhdessä prosessorissa. Datan järjestämisestä ja käsittelystä vastaavat toimeenpanosolmut pysyvät yksittäisinä, ja niitä käyttää milloin tahansa enintään yksi säikeistä. Kuten ytimet, hypersäikeet jakavat välimuistit, mutta taso riippuu tietystä järjestelmästä.

En yritä selittää kaikkia SMT-mallien etuja ja haittoja yleensä ja HT-malleja erityisesti. Kiinnostunut lukija voi löytää varsin yksityiskohtaisen keskustelun tekniikasta monista lähteistä ja tietysti Wikipediasta. Huomautan kuitenkin seuraavan tärkeä kohta, joka selittää nykyiset hypersäikeiden lukumäärän rajoitukset todellisessa tuotannossa.

Ketjurajoitukset
Missä tapauksissa "epäreilujen" moniytimien esiintyminen HT:n muodossa on perusteltua? Jos yksi sovellussäie ei pysty lataamaan kaikkia ytimen sisällä olevia suoritussolmuja, ne voidaan "lainata" toiselle säikeelle. Tämä on tyypillistä sovelluksille, joissa pullonkaula ei ole laskennassa, vaan tiedonhaussa, eli usein syntyy välimuistin menetyksiä ja joutuu odottamaan tietojen toimittamista muistista. Tänä aikana ydin ilman HT:ta pakotetaan toimimaan tyhjäkäynnillä. HT:n läsnäolon avulla voit nopeasti vaihtaa vapaat suorittavat solmut toiseen arkkitehtoniseen tilaan (koska se on monistettu) ja suorittaa sen käskyt. Tämä on erikoistapaus latenssipiilotukseksi kutsutusta tekniikasta, kun yksi pitkä operaatio, jonka aikana hyödyllisiä resursseja tyhjäkäynnillä, peitettynä muiden tehtävien rinnakkaisella suorittamisella. Jos sovelluksella on jo korkea ytimen resurssien käyttöaste, hypersäikeiden läsnäolo ei salli kiihdytystä - tässä tarvitaan "rehellisiä" ytimiä.

Tyypillisiä skenaarioita konearkkitehtuureille suunnitelluille työpöytä- ja palvelinsovelluksille yleiseen tarkoitukseen, joilla on HT:n mahdollistama yhdensuuntaisuuspotentiaali. Tämä potentiaali on kuitenkin nopeasti käytetty. Ehkä tästä syystä lähes kaikissa IA-32-prosessoreissa laitteiston hypersäikeiden määrä ei ylitä kahta. Tyypillisissä skenaarioissa hyöty kolmen tai useamman hypersäikeen käytöstä olisi pieni, mutta meistin koon, sen virrankulutuksen ja kustannusten menetys on merkittävä.

Erilainen tilanne havaitaan tyypillisissä videokiihdyttimillä suoritettavissa tehtävissä. Siksi näille arkkitehtuureille on ominaista SMT-tekniikan käyttö suuremmalla määrällä säikeitä. Koska Intel® Xeon Phi -apuprosessorit (julkaistu vuonna 2010) ovat ideologisesti ja genealogisesti melko lähellä näytönohjainkortteja, niissä saattaa olla neljä hyperthreading jokaisessa ytimessä - IA-32:lle ainutlaatuinen konfiguraatio.

Looginen prosessori

Kolmesta kuvatusta rinnakkaisuuden "tasosta" (prosessorit, ytimet, hypersäikeet) jotkut tai jopa kaikki niistä saattavat puuttua tietystä järjestelmästä. Tähän vaikuttaa BIOS-asetukset(moniytiminen ja monisäikeisyys on poistettu käytöstä erikseen), mikroarkkitehtuuriominaisuudet (esimerkiksi HT puuttui Intel® Core™ Duosta, mutta se palautettiin Nehalemin julkaisun myötä) ja järjestelmätapahtumat (monin prosessorin palvelimet voivat sammua vialliset prosessorit, jos vikoja havaitaan, ja jatkavat "lentämistä" jäljellä oleville prosessoreille). Miten tämä monitasoinen samanaikaisuuden eläintarha näkyy käyttöjärjestelmälle ja viime kädessä sovellussovelluksille?

Lisäksi mukavuuden vuoksi merkitsemme prosessorien, ytimien ja säikeiden lukumäärää tietyssä järjestelmässä kolmella ( x, y, z), missä x on prosessorien lukumäärä, y- kunkin prosessorin ytimien lukumäärä ja z- hypersäikeiden lukumäärä kussakin ytimessä. Tästä eteenpäin kutsun tätä kolmeksi topologia- vakiintunut termi, jolla ei ole juurikaan tekemistä matematiikan alan kanssa. Työ s = xyz määrittää kutsuttujen entiteettien määrän loogiset prosessorit järjestelmät. Se määrittelee rinnakkain suoritettavien jaetun muistijärjestelmän sovellusprosessien riippumattomien kontekstien kokonaismäärän, jotka käyttöjärjestelmän on pakko ottaa huomioon. Sanon "pakotettu", koska se ei voi ohjata kahden prosessin suoritusjärjestystä eri loogisissa prosessoreissa. Tämä pätee myös hypersäikeisiin: vaikka ne toimivat "peräkkäin" samassa ytimessä, tietyn järjestyksen määrää laitteisto, eivätkä ohjelmat voi havaita tai ohjata sitä.

Useimmiten käyttöjärjestelmä piilottaa loppusovelluksilta sen järjestelmän fyysisen topologian ominaisuudet, jossa se toimii. Esimerkiksi seuraavat kolme topologiaa: (2, 1, 1), (1, 2, 1) ja (1, 1, 2) - käyttöjärjestelmä edustaa kahta loogista prosessoria, vaikka ensimmäisessä niistä on kaksi prosessoria, toinen - kaksi ydintä ja kolmas - vain kaksi lankaa.


Windows Task Manager näyttää 8 loogista prosessoria; mutta kuinka paljon se on prosessoreissa, ytimissä ja hypersäikeissä?


Linux-top näyttää 4 loogista prosessoria.

Tämä on varsin kätevää sovellusten luojille - heidän ei tarvitse käsitellä laitteiston ominaisuuksia, jotka ovat usein heille merkityksettömiä.

Topologian ohjelmistomäärittely

Tietenkin topologian abstraktio yhdeksi määräksi loogisia prosessoreita joissakin tapauksissa luo tarpeeksi aihetta hämmennykseen ja väärinkäsityksiin (kiihkeissä Internet-kiistoissa). Tietokonesovellukset, jotka haluavat puristaa maksimaalisen suorituskyvyn laitteistosta, vaativat yksityiskohtaista hallintaa sen suhteen, missä niiden säikeet sijoitetaan: lähemmäksi toisiaan vierekkäisissä hypersäikeissä tai päinvastoin kauempana eri prosessoreissa. Viestinnän nopeus loogisten prosessorien välillä samassa ytimessä tai prosessorissa on paljon suurempi kuin prosessorien välisen tiedonsiirron nopeus. Myös työmuistin organisoinnin heterogeenisyyden mahdollisuus mutkistaa kuvaa.

Tietoa koko järjestelmän topologiasta sekä kunkin loogisen prosessorin sijainnista IA-32:ssa on saatavilla CPUID-käskyn avulla. Ensimmäisten moniprosessorijärjestelmien syntymisen jälkeen loogisen prosessorin tunnistusjärjestelmää on laajennettu useita kertoja. Tähän mennessä sen osat ovat CPUID:n arkkeissa 1, 4 ja 11. Mitä arkkia kannattaa tarkastella, voit määrittää seuraavasta artikkelista otetusta vuokaaviosta:

En kyllästy teitä tässä tämän algoritmin yksittäisten osien kaikilla yksityiskohdilla. Jos kiinnostusta löytyy, tämän artikkelin seuraava osa voidaan omisttaa tälle. Viittaan kiinnostuneen lukijan puoleen, joka tutkii tätä asiaa mahdollisimman yksityiskohtaisesti. Tässä kuvailen ensin lyhyesti mitä APIC on ja miten se liittyy topologiaan. Seuraavaksi tarkastellaan työskentelyä 0xB-arkin kanssa (yksitoista desimaalilukuna), joka on tällä hetkellä viimeinen sana "apico-rakennuksessa".

APIC-tunnus
Paikallinen APIC (Advanced Programmable Interrupt Controller) on laite (nyt osa prosessoria), joka vastaa tiettyyn loogiseen prosessoriin tulevien keskeytysten käsittelystä. Jokaisella loogisella prosessorilla on oma APIC. Ja jokaisella niistä järjestelmässä on oltava yksilöllinen APIC ID -arvo. Tätä numeroa käyttävät keskeytysohjaimet osoitteisiin lähettäessään viestejä ja kaikki muut (esimerkiksi käyttöjärjestelmä) loogisten prosessorien tunnistamiseen. Tämän keskeytysohjaimen erittely on kehittynyt Intelin sirut 8259 PIC Dual PIC:n, APIC:n ja xAPIC:n kautta x2APIC:iin.

Tällä hetkellä APIC ID:hen tallennetun numeron leveys on saavuttanut täydet 32 ​​bittiä, vaikka aiemmin se oli rajoitettu 16:een ja vielä aikaisemmin - vain 8 bittiin. Nykyään vanhojen aikojen jäänteet ovat hajallaan CPUID:ssä, mutta CPUID.0xB.EDX palauttaa kaikki 32 bittiä APIC ID:stä. Jokaisella loogisella prosessorilla, joka suorittaa itsenäisesti CPUID-käskyn, palautetaan eri arvo.

Perhesuhteiden selvittäminen
APIC ID -arvo itsessään ei kerro mitään topologiasta. Jotta voit selvittää, mitkä kaksi loogista prosessoria sijaitsevat fyysisen prosessorin sisällä (eli ne ovat "veli"hypersäikeitä), mitkä kaksi ovat saman prosessorin sisällä ja mitkä ovat täysin erilaisia ​​​​prosessoreita, sinun on verrattava niiden APIC ID -arvoja. Suhteen asteesta riippuen jotkut heidän osistaan ​​osuvat yhteen. Nämä tiedot sisältyvät CPUID.0xB-alilistoihin, jotka on operandikoodattu ECX:ssä. Jokainen niistä kuvaa yhden EAX:n topologiatason bittikentän sijainnin (tarkemmin sanoen, kuinka monta bittiä on siirrettävä oikealle APIC ID:ssä alempien topologiatasojen poistamiseksi), sekä tämän tason tyyppi - hyperthread, ydin tai prosessori - ECX:ssä.

Saman ytimen sisällä sijaitsevissa loogisissa prosessoreissa kaikki APIC ID -bitit täsmäävät, paitsi ne, jotka kuuluvat SMT-kenttään. Samassa prosessorissa sijaitseville loogisille prosessoreille kaikki bitit paitsi Core- ja SMT-kentät. Koska CPUID.0xB:n aliarkkien määrä voi kasvaa, tämä kaava mahdollistaa topologioiden kuvauksen tukemisen suuremmalla määrällä tasoja, jos tarvetta tulevaisuudessa ilmenee. Lisäksi on mahdollista ottaa käyttöön välitasoja olemassa olevien tasojen välille.

Tärkeä seuraus tämän järjestelmän organisoinnista on, että järjestelmän kaikkien loogisten prosessorien kaikkien APIC-tunnusten joukossa voi olla "reikiä", ts. ne eivät mene peräkkäin. Esimerkiksi moniytimisessä prosessorissa, jossa HT on pois päältä, kaikki APIC ID:t voivat osoittautua parillisiksi, koska vähiten merkitsevä bitti, joka vastaa hypersäikeen numeron koodaamisesta, on aina nolla.

Huomaan, että CPUID.0xB ei ole yksi lähde tietoja käyttöjärjestelmän käytettävissä olevista loogisista prosessoreista. Luettelo kaikista sen käytettävissä olevista prosessoreista sekä niiden APIC ID -arvot on koodattu MADT ACPI -taulukkoon.

Käyttöjärjestelmät ja topologia

Käyttöjärjestelmät antaa tietoa loogisten prosessorien topologiasta sovelluksille, jotka käyttävät omia rajapintojaan.

Linuxissa topologiatiedot sisältyvät /proc/cpuinfo-pseudotiedostoon sekä dmidecode-komennon ulostuloon. Alla olevassa esimerkissä suodatan cpuinfon sisällön jossain neliydinjärjestelmässä ilman HT:tä, jättäen vain topologiaan liittyvät merkinnät:

Piilotettu teksti

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "prosessori\|fyysinen\ tunnus\|sisarukset\|ydin\|ytimet\|apicid" prosessori: 0 fyysistä tunnusta: 0 sisarusta: 4 ydintä: 0 prosessorin ydintä: 2 apicid: 0 alkuperäinen apicid: 0 prosessori: 1 fyysinen tunnus: 0 sisaruksia: 4 ydintunnus: 0 prosessoriytimiä: 2 apicid: 1 alkuperäinen apicid: 1 prosessori: 2 fyysinen tunnus: 0 sisaruksia: 4 ydintunnus: 1 prosessoriytimiä: 2 apicid: 2 alkuperäinen apicid: 2 prosessori: 3 fyysinen tunnus: 0 sisaruksia: 4 ydintunnus: 1 prosessoriytimiä: 2 apicid: 3 alkuapitsid: 3

FreeBSD:ssä topologia raportoidaan sysctl-mekanismin kautta muuttujassa kern.sched.topology_spec XML-muodossa:

Piilotettu teksti

user@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 THREAD ryhmäSMT ryhmä 2, 3 THREAD ryhmäSMT ryhmä 4, 5 THREAD ryhmäSMT ryhmä 6, 7 THREAD ryhmäSMT ryhmä

MS Windows 8:ssa topologiatiedot näkyvät Task Managerissa.

© 2024 ermake.ru - Tietoja PC-korjauksesta - Tietoportaali