Mikä on prosessorin välimuisti? Uusi lähestymistapa suorittimen välimuistiin



prosessori- (englanniksi: “central processing unit”, CPU - keskusyksikkö) - mikropiiri, joka on suunniteltu käsittelemään ohjelmakoodia ja määrittämään tietokoneen tietojenkäsittelyyn liittyvät päätoiminnot. Prosessori suorittaa loogisia ja aritmeettisia operaatioita, ohjaa laskennallisia prosesseja ja koordinoi järjestelmälaitteiden toimintaa.

Keskusyksikkö on siru, joka sijaitsee tai asennetaan emolevyyn.

Katsotaanpa mikroprosessorin pääominaisuuksia.

Ydin- Tämä on keskusprosessorin pääkomponentti, joka määrittää useimmat prosessorin parametrit, kuten pistorasian, toimintataajuusalueen ja sisäisen tiedonsiirtoväylän (FSB) taajuuden.

Prosessorin ytimellä on seuraavat ominaisuudet, joista keskustellaan jäljempänä: ensimmäisen ja toisen tason sisäisen välimuistin tilavuus, jännite, lämmönpoisto jne.

Ydinmäärä - CPU:n ytimien lukumäärä. Prosessoriytimien määrän lisääminen parantaa sen suorituskykyä.

Välimuistin määrä - ensimmäisen tason muisti (L1-välimuisti)

L1-välimuisti on nopea muisti, jonka kapasiteetti on 8–128 KB ja johon tiedot kopioidaan RAM-muistista. Välimuistilohko sijaitsee prosessorin ytimessä. Koska välimuisti käsittelee dataa nopeammin kuin RAM-tiedot, ydinkäskyjen tallentaminen välimuistiin voi lisätä suorittimen suorituskykyä. Moniytimisissä prosessoreissa L1-välimuistin määrä on määritetty yhdelle ytimelle.

Tason 2 välimuistin koko (L2-välimuisti)

L2-välimuisti on nopea muisti, joka on suunniteltu samoihin tarkoituksiin kuin L1-välimuisti, mutta sillä on suurempi kapasiteetti - 128 - 12288 kt. Resurssiintensiivisten tehtävien ratkaisemiseksi suunnitellaan prosessoreita, joissa on suuri määrä toisen tason välimuistia. Moniytimisille suorittimille on tunnusomaista L2-välimuistin kokonaiskoko.

Tason 3 välimuistin koko (L3-välimuisti) on välillä 0 - 16384 kt.

Integroitu L3-välimuisti ja järjestelmäväylä muodostavat yhdessä nopean kanavan tietojen vaihtamiseksi järjestelmämuistin kanssa. L3-välimuisti on pääasiassa varustettu vain prosessoreilla, jotka on tarkoitettu täydentämään palvelintietokonetta. Prosessorilinjat, kuten Itanium 2, Intel Pentium 4 Extreme Edition, Xeon DP jne., on varustettu L3-välimuistilla.

Pistorasia- liitin mikroprosessorin asentamiseen emolevylle. Kantatyypin määrää prosessorin valmistaja ja jalkojen lukumäärä. Eri prosessoreissa on erityyppiset pistokkeet.

Kellotaajuus prosessori (MHz) - toimintojen (jaksojen) määrä, jonka prosessori suorittaa sekunnissa. Mitä korkeampi tämä indikaattori, sitä tuottavampi prosessori. Mutta on syytä muistaa, että tämä koskee vain yhden valmistajan suorittimia, koska kellotaajuuden lisäksi mikroprosessorin suorituskykyyn vaikuttavat seuraavat parametrit: L2-välimuistin koko, L3-välimuistin taajuus jne. Prosessorin taajuus on verrannollinen FSB:hen (väylätaajuus).

Bussitaajuus(Front Side Bus - FSB) on kellotaajuus, jolla tietoja vaihdetaan järjestelmäväylän ja prosessorin välillä.

Dataväylä- tämä on joukko signaalilinjoja, jotka on tarkoitettu tietojen vaihtamiseen prosessorista tietokoneen sisäisten laitteiden kanssa.

Lämmön hajoaminen(englanniksi TDP - thermo design power) - parametri, joka määrittää, kuinka paljon tehoa on varattava jäähdytysjärjestelmään prosessorin normaalin toiminnan varmistamiseksi. Tämän parametrin arvot ovat 10 - 165 W. Lämmönhäviön määrää on oikein verrata vain saman valmistajan prosessoreille, koska jokainen valmistaja määrittelee lämmönpoiston eri tavalla.

Virtualisointiteknologian tuki
Virtualization Technology -toiminnon avulla on tullut mahdolliseksi ladata useita käyttöjärjestelmiä samanaikaisesti yhdelle tietokoneelle.

AMD64/EM64T-teknologian tuki
Tämän tekniikan ansiosta 64-bittisellä arkkitehtuurilla varustetut mikroprosessorit pystyvät ajamaan 32-bittisiä ja 64-bittisiä sovelluksia yhtä tehokkaasti. Prosessorilinjat 64-bittisellä arkkitehtuurilla: AMD Athlon 64, AMD Opteron, Core 2 Duo, Intel Xeon 64 ja muut. 64-bittistä osoitusta tukevat suorittimet pystyvät toimimaan yli 4 Gt:n RAM-muistin kanssa, mikä ei ole saatavilla 32-bittisille prosessoreille. 64-bittisten laajennusten toteutusta AMD-suorittimien sarjassa kutsutaan nimellä AMD64 ja Intelille - EM64T.

Korkein käyttölämpötila (54,8 - 105 C) on suurin sallittu prosessorin lämpötila, jossa normaali toiminta on mahdollista. CPU:n käyttölämpötila riippuu sen työmäärästä ja jäähdytyksen laadusta. Pienellä kuormituksella ja normaalilla lämmönpoistolla prosessorin lämpötila on 25-40 °C ja suurella kuormituksella jopa 60-70 °C. Prosessorit, joiden käyttölämpötila on korkea, vaativat jäähdytysjärjestelmiä, jotka tarjoavat tehokkaan lämmönpoiston.

Ydinjännite on ilmaisin, joka määrittää prosessorin ytimen jännitteen, jonka prosessori tarvitsee toimiakseen. Sydänjännite vaihtelee välillä 0,65 - 165 W.

Välimuisti- joukko erittäin nopeaa RAM-muistia, joka on puskuri järjestelmän muistiohjaimen ja . Tämä puskuri tallentaa datalohkot, joiden kanssa se tällä hetkellä työskentelee, mikä vähentää merkittävästi prosessorikutsujen määrää järjestelmän muistin hidastamiseksi. Tämä lisää merkittävästi prosessorin yleistä suorituskykyä.

Välimuistitasot 1, 2 ja 3 (merkitty L1, L2 Ja L3).

Tason 1 välimuisti (L1)- nopein, mutta volyymiltaan pienempi kuin muut. Prosessorin ydin toimii suoraan sen kanssa. Tason 1 välimuistilla on alhaisin viive (käyttöaika).
Tason 2 välimuisti (L2)– Tämän muistin tilavuus on paljon suurempi kuin ensimmäisen tason välimuisti.
Tason 3 välimuisti (L3)– välimuisti, jolla on suuri kapasiteetti ja hitaampi kuin L2.

Klassisessa versiossa välimuistissa oli 2 tasoa - 1. ja toinen taso. 3. taso eroaa organisaatioltaan 2. tason välimuistista. Jos tietoja ei ole käsitelty tai prosessorin on käsiteltävä kiireellisiä tietoja, 2. tason välimuistin vapauttamiseksi tiedot siirretään 3. tason välimuistiin. L3-välimuisti on kuitenkin suurempi ja hitaampi kuin L2 (väylä L2:n ja L3:n välillä on kapeampi kuin L1:n ja L2:n välinen väylä), mutta se on silti paljon nopeampi kuin järjestelmämuisti.

Kaikki tiedot siirretään aluksi 2. tason välimuistiin keskusprosessorin käsittelyä varten tiedot osittain dekoodataan ja välitetään ytimeen.

2. tason välimuistissa tiedoista rakennetaan käskyketju ja 1. tason välimuistissa sisäiset prosessorin käskyt rakennetaan "peiliksi", jotka huomioivat prosessorin ominaisuudet, rekisterit jne. Keskusprosessorin sisäisten käskyjen määrä ei ole liian suuri, joten 1. tason välimuistin koolla ei ole suurta merkitystä (nykyaikaisissa prosessoreissa 1. tason L1 välimuisti voi olla 64 KB, 128 KB jokaista ydintä kohti). Toisin kuin tason 1 välimuisti, tason 2 välimuisti on erittäin tärkeä prosessorille, minkä vuoksi prosessorit, joilla on suurin tason 2 välimuisti, osoittavat korkeaa suorituskykyä.

Prosessorien välimuistin rakenteessa on eroja. Esimerkiksi AMD-prosessorit on jaettu selkeästi välimuistin ytimiin, ja ne on merkitty vastaavasti - 512x2 ( Athlon 5200 ja alle) tai 1024x2 (at Athlon 5200 ja korkeampi). Ja prosessoreille Intel Core2Duo Välimuisti ei ole tiukasti jaettu, mikä tarkoittaa, että jokainen ydin voi käyttää tarvittavan määrän jaettua välimuistia. Tämä sopii hyvin järjestelmiin, jotka eivät tue moniytimiä. Jos kaikki ytimet ovat käytössä, välimuisti jaetaan kuhunkin ytimeen dynaamisesti kunkin ytimen kuormituksen mukaan.

Mikä on prosessorin välimuisti

Suorittaa suunnilleen saman toiminnon kuin RAM. Vain välimuisti on prosessorin sisäänrakennettu muisti. Prosessori käyttää välimuistia tietojen tallentamiseen. Se puskuroi useimmin käytetyt tiedot, minkä ansiosta seuraavan käytön aika lyhenee merkittävästi. Jos uusien tietokoneiden RAM-muistin kapasiteetti on 1 Gt, niin niiden välimuisti on noin 2-8 Mt. Kuten näet, ero muistikapasiteetissa on huomattava. Mutta jopa tämä tilavuus riittää varmistamaan koko järjestelmän normaalin toiminnan. Nykyään prosessorit, joissa on kaksi välimuistitasoa, ovat yleisiä: L1 (ensimmäinen taso) ja L2 (toinen). L1-välimuisti on paljon pienempi kuin L2-välimuisti, tyypillisesti noin 128 kt. Sitä käytetään ohjeiden tallentamiseen. Mutta toista tasoa käytetään tietojen tallentamiseen, joten se on suurempi. Useimmilla prosessoreilla on nyt jaettu toisen tason välimuisti. Mutta kaikilla ei ole sitä, esimerkiksi AMD Athlon 64 X 2:ssa on oma L2-välimuisti jokaiselle ytimelle. AMD-kampanja lupaa pian tarjota AMD Phenom -prosessorin, jossa on neljä ydintä ja kolme välimuistitasoa.

Ohjelmiston välimuisti

Prosessorin välimuisti sekoitetaan usein ohjelmiston välimuistiin. Nämä ovat täysin erilaisia ​​asioita, vaikka niillä on samanlainen tehtävä. Prosessorin välimuisti on prosessoriin sisäänrakennettu siru, joka auttaa prosessoimaan tietoja nopeasti. Ohjelmistovälimuisti on kiintolevyllä oleva kansio tai tiedosto, johon jokin ohjelma tallentaa tarvitsemansa tiedot. Katsotaanpa esimerkkiä: Latasit sivustoni, sivuston otsikko (kuva aivan ylhäällä) ja loput kuvat tallentuivat selaimesi välimuistiin. Jos palaat tänne vaikkapa huomenna, kuvat eivät enää lataudu Internetistä, vaan tietokoneesi välimuistista, mikä säästää rahaa. Jos sinulla on Opera-selain, lataamiesi kuvien kansio sijaitsee osoitteessa.

  • populaaritiede,
  • Prosessorit
  • Useimpien nykyaikaisten pöytätietokoneiden siruissa on neljä ydintä, mutta sirujen valmistajat ovat jo ilmoittaneet suunnitelmistaan ​​siirtyä kuuteen ytimiseen, ja 16-ytimiset prosessorit eivät ole vieläkään harvinaisia ​​huippuluokan palvelimissa.

    Mitä enemmän ytimiä on, sitä suurempi ongelma on jakaa muistia kaikkien ytimien välillä samalla kun ne toimivat yhdessä. Ydinmäärän kasvaessa on entistä hyödyllisempää minimoida ytimien hallintaan menetetty aika datan käsittelyssä - koska tiedonvaihdon nopeus on jäljessä prosessorin ja muistin tietojenkäsittelyn nopeudesta. Voit käyttää fyysisesti jonkun muun nopeaa välimuistia tai omaa hidasta välimuistia, mutta säästää tiedonsiirtoaikaa. Tehtävää vaikeuttaa se, että ohjelmien pyytämä muistimäärä ei selvästi vastaa kunkin tyypin välimuistin määrää.

    Fyysisesti vain hyvin rajallinen määrä muistia voidaan sijoittaa mahdollisimman lähelle prosessoria - prosessorin L1-välimuistia, jonka määrä on erittäin vähäinen. Daniel Sanchez, Po-An Tsai ja Nathan Beckmann, Massachusetts Institute of Technologyn tietojenkäsittelytieteen ja tekoälylaboratorion tutkijat, opettivat tietokoneen konfiguroimaan erilaisia ​​muistityyppejä joustavaa ohjelmahierarkiaa varten reaaliajassa. Uusi järjestelmä, nimeltään Jenga, analysoi volyymitarpeita ja ohjelmien muistiin pääsyn tiheyttä ja jakaa uudelleen kunkin kolmen tyyppisen prosessorin välimuistin tehon yhdistelminä, jotka lisäävät tehokkuutta ja säästävät energiaa.


    Aluksi tutkijat testasivat suorituskyvyn kasvua yhdistettäessä staattista ja dynaamista muistia työskennellessään yhden ytimen prosessorin ohjelmien parissa ja saivat ensisijaisen hierarkian - milloin on parempi käyttää kumpaa yhdistelmää. 2 muistityypistä tai yhdestä. Arvioitiin kaksi parametria: signaalin viive (latenssi) ja energiankulutus kunkin ohjelman toiminnan aikana. Noin 40 % ohjelmista alkoi toimia huonommin yhdistelmällä muistityyppejä, loput - paremmin. Kun tutkijat rakensivat Jenga-järjestelmänsä, mitkä ohjelmat "tykkäävät" sekavasta suorituskyvystä ja mitkä muistin koosta.

    He testasivat virtuaalisesti 4 tyyppistä ohjelmaa virtuaalisessa tietokoneessa, jossa oli 36 ydintä. Testatut ohjelmat:

    • omnet - Objective Modular Network Testbed, C-simulaatiokirjasto ja verkon simulointityökalujen alusta (sininen kuvassa)
    • mcf - Meta Content Framework (punainen väri)
    • astar - virtuaalitodellisuuden näyttöohjelmisto (vihreä)
    • bzip2 - arkistointi (violetti väri)


    Kuvassa näkyy missä ja miten kunkin ohjelman tiedot on käsitelty. Kirjaimet osoittavat, missä kukin sovellus toimii (yksi per kvadrantti), värit osoittavat, missä sen tiedot sijaitsevat, ja varjostus ilmaisee virtuaalisen hierarkian toisen tason, kun se on olemassa.

    Välimuistin tasot

    CPU-välimuisti on jaettu useisiin tasoihin. Yleisprosessoreille - jopa 3. Nopein muisti on ensimmäisen tason välimuisti - L1-välimuisti, koska se sijaitsee samassa sirussa kuin prosessori. Koostuu käskyvälimuistista ja datavälimuistista. Jotkut prosessorit ilman L1-välimuistia eivät voi toimia. L1-välimuisti toimii prosessorin taajuudella ja sitä voidaan käyttää joka kellojakso. Usein on mahdollista suorittaa useita luku-/kirjoitustoimintoja samanaikaisesti. Äänenvoimakkuus on yleensä pieni - enintään 128 kt.

    Toisen tason välimuisti, L2, on vuorovaikutuksessa L1-välimuistin kanssa. Se on toiseksi nopein. Se sijaitsee yleensä joko sirulla, kuten L1, tai ytimen välittömässä läheisyydessä, kuten prosessorin kasetissa. Vanhemmissa prosessoreissa joukko siruja emolevyllä. L2-välimuistin määrä 128 kt - 12 megatavua. Nykyaikaisissa moniytimisissä prosessoreissa samassa sirussa sijaitseva toisen tason välimuisti on erillinen muisti - välimuistin kokonaiskoko on 8 Mt, jokainen ydin vastaa 2 Mt. Tyypillisesti ydinsirun L2-välimuistin latenssi on 8-20 ydinkellojaksoa. Tehtävissä, joihin liittyy lukuisia pääsyä rajoitetulle muistialueelle, esimerkiksi DBMS, sen täysi käyttö lisää tuottavuutta kymmenkertaiseksi.

    L3-välimuisti on yleensä vielä suurempi, vaikkakin hieman hitaampi kuin L2-välimuisti (johtuen siitä, että L2-L3-väylä on kapeampi kuin L1-L2-väylä). L3 sijaitsee yleensä erillään CPU-ytimestä, mutta voi olla suuri - yli 32 MB. L3-välimuisti on hitaampi kuin aiemmat välimuistit, mutta silti nopeampi kuin RAM. Moniprosessorijärjestelmissä se on yleisessä käytössä. Kolmannen tason välimuistin käyttö on perusteltua hyvin kapealla alueella, ja se ei välttämättä lisää suorituskykyä, vaan päinvastoin johtaa järjestelmän suorituskyvyn yleiseen heikkenemiseen.

    Toisen ja kolmannen tason välimuistin poistaminen käytöstä on hyödyllisintä matemaattisissa ongelmissa, kun tiedon määrä on pienempi kuin välimuistin koko. Tässä tapauksessa voit ladata kaikki tiedot L1-välimuistiin kerralla ja käsitellä ne.


    Jenga määrittää ajoittain uudelleen virtuaalisia hierarkiat käyttöjärjestelmätasolla minimoidakseen tiedonvaihdon ottaen huomioon resurssirajoitukset ja sovellusten käyttäytymisen. Jokainen uudelleenkonfigurointi koostuu neljästä vaiheesta.

    Jenga ei jaa tietoja vain sen mukaan, mitä ohjelmia lähetetään - niille, jotka rakastavat suurta yksinopeuksista muistia tai niitä, jotka rakastavat sekavälimuistin nopeutta, vaan myös riippuen muistisolujen fyysisestä läheisyydestä käsiteltävään dataan. Riippumatta siitä, minkä tyyppistä välimuistia ohjelma vaatii oletuksena tai hierarkian mukaan. Tärkeintä on minimoida signaalin viive ja energiankulutus. Riippuen kuinka monesta muistityypistä ohjelma "tykkää", Jenga mallintaa kunkin virtuaalihierarkian latenssia yhdellä tai kahdella tasolla. Kaksitasoiset hierarkiat muodostavat pinnan, yksitasoiset hierarkiat muodostavat käyrän. Jenga heijastaa sitten minimiviiveen VL1:n mittoihin, jolloin tuloksena on kaksi käyrää. Lopuksi Jenga käyttää näitä käyriä parhaan hierarkian (eli VL1-koon) valitsemiseen.

    Jengan käytöllä on ollut huomattava vaikutus. Virtuaalinen 36-ytiminen siru alkoi toimia 30 prosenttia nopeammin ja käytti 85 prosenttia vähemmän energiaa. Tietenkin toistaiseksi Jenga on vain simulaatio toimivasta tietokoneesta ja kestää jonkin aikaa ennen kuin näet todellisia esimerkkejä tästä välimuistista ja jopa ennen kuin siruvalmistajat ottavat sen käyttöön, jos he pitävät tekniikasta.

    Perinteisen 36 ydinkoneen kokoonpano

    • Prosessorit. 36 ydintä, x86-64 ISA, 2,4 GHz, Silvermontin kaltainen OOO: 8B-leveä
      ifetch; 2-tasoinen bpred 512 × 10-bittisellä BHSR:llä + 1024 × 2-bittisellä PHT:lla, 2-suuntainen dekoodaus/annos/uudelleennimeä/toteutus, 32-merkinnän IQ ja ROB, 10-merkinnän LQ, 16-merkinnän SQ; 371 pJ/ohje, 163 mW/ydin staattinen teho
    • L1-välimuistit. 32 KB, 8-suuntainen joukkoliittyvä, jaettu data- ja käskyvälimuisti,
      3-jakson latenssi; 15/33 pJ per osuma/virhe
    • Prefetchers-palvelu. 16 merkinnän streamin esihakijat mallinnettu ja validoitu vastaan
      Nehalem
    • L2-välimuistit. 128 kilotavua yksityinen ydintä kohti, 8-suuntainen joukkoliittyvä, mukaan lukien, 6-jakson latenssi; 46/93 pJ per osuma/virhe
    • Koherenssitila. 16-suuntaiset, 6-jaksoiset latenssihakemistopankit Jengalle; välimuistissa olevat L3-hakemistot muille
    • Globaali NoC. 6 × 6 meshiä, 128-bittiset flitit ja linkit, X-Y-reititys, 2-vaiheiset liukuhihnareitittimet, 1-jaksoiset linkit; 63/71 pJ per reititin/linkki flit traversal, 12/4mW reititin/linkki staattinen teho
    • Staattinen muisti estää SRAM-muistin. 18 Mt, yksi 512 kt:n pankki ruutua kohden, 4-suuntainen 52-ehdokas zcache, 9-jaksoinen pankkiviive, Vantage-osiointi; 240/500 pJ per osuma/virhe, 28 mW/pankki staattinen teho
    • Monikerroksinen pinottu DRAM. 1152 Mt, yksi 128 Mt:n varasto 4 ruutua kohti, seos MAP-I DDR3-3200:lla (1600 MHz), 128-bittinen väylä, 16 riviä, 8 pankkia/sijoitus, 2 kt rivipuskuri; 4,4/6,2 nJ osumaa/virhettä kohden, 88 mW/holvin staattinen teho
    • Päämuisti. 4 DDR3-1600 kanavaa, 64-bittinen väylä, 2 riviä/kanava, 8 pankkia/sijoitus, 8 kt rivipuskuri; 20 nJ/käyttö, 4W staattinen teho
    • DRAM-ajoitukset. tCAS=8, tRCD=8, tRTP=4, tRAS=24, tRP=8, tRRD=4, tWTR=4, tWR=8, tFAW=18 (kaikki ajoitukset tCK:ssa; pinotulla DRAM:lla on puolet tCK:sta päämuistina )

    Yksi tärkeimmistä prosessorin suorituskykyä lisäävistä tekijöistä on välimuistin läsnäolo, tai pikemminkin sen määrä, pääsynopeus ja jakautuminen tasojen välillä.

    Melkein kaikki prosessorit on jo jonkin aikaa varustettu tämän tyyppisellä muistilla, mikä jälleen kerran todistaa sen olemassaolon hyödyllisyyden. Tässä artikkelissa puhumme välimuistin rakenteesta, tasoista ja käytännön tarkoituksesta prosessorin erittäin tärkeänä ominaisuutena.

    Mikä on välimuisti ja sen rakenne

    Välimuisti on erittäin nopea muisti, jota prosessori käyttää tilapäisesti useimmin käytettyjen tietojen tallentamiseen. Näin voimme kuvata lyhyesti tämän tyyppistä muistia.

    Välimuisti on rakennettu flip-flopseihin, jotka puolestaan ​​koostuvat transistoreista. Ryhmä transistoreja vie paljon enemmän tilaa kuin samat kondensaattorit, jotka muodostavat RAM-muistin. Tämä aiheuttaa monia tuotantoongelmia sekä volyymirajoituksia. Tästä syystä välimuisti on erittäin kallis muisti, vaikka sen volyymit ovat mitättömät. Mutta tästä rakenteesta tulee tällaisen muistin tärkein etu - nopeus. Koska flip-flopit eivät tarvitse regenerointia ja sen portin viiveaika, johon ne on asennettu, on pieni, aika kiikun vaihtamiseen tilasta toiseen tapahtuu hyvin nopeasti. Tämä mahdollistaa välimuistin toiminnan samoilla taajuuksilla kuin nykyaikaiset prosessorit.

    Tärkeä tekijä on myös välimuistin sijainti. Se sijaitsee itse prosessorisirussa, mikä vähentää merkittävästi käyttöaikaa. Aiemmin joidenkin tasojen välimuisti sijaitsi prosessorisirun ulkopuolella, erityisellä SRAM-sirulla jossain emolevyn päällä. Nyt lähes kaikissa prosessoreissa on välimuisti, joka sijaitsee prosessorin sirulla.

    Mihin prosessorin välimuistia käytetään?

    Kuten edellä mainittiin, välimuistin päätarkoitus on tallentaa prosessorin usein käyttämiä tietoja. Välimuisti on puskuri, johon data ladataan, ja pienestä koostaan ​​(noin 4-16 Mt) huolimatta nykyaikaisissa prosessoreissa se tarjoaa merkittävän suorituskyvyn lisäyksen kaikissa sovelluksissa.

    Ymmärtääksesi paremmin välimuistin tarpeen, kuvitellaan, että tietokoneen muisti järjestetään toimiston tapaan. RAM on kaappi, jossa on kansioita, joita kirjanpitäjä ajoittain käyttää hakeakseen suuria tietolohkoja (eli kansioita). Ja taulukosta tulee välimuisti.

    Kirjanpitäjän pöydälle sijoitetaan elementtejä, joihin hän viittaa useita kertoja tunnin sisällä. Nämä voivat olla esimerkiksi puhelinnumeroita, joitain esimerkkejä asiakirjoista. Tämän tyyppiset tiedot sijaitsevat suoraan taulukossa, mikä puolestaan ​​​​nopeuttaa pääsyä niihin.

    Samalla tavalla näistä suurista tietolohkoista (kansioista) voidaan lisätä tietoja taulukkoon nopeaa käyttöä varten, esimerkiksi dokumentti. Kun tätä asiakirjaa ei enää tarvita, se asetetaan takaisin kaappiin (RAM-muistiin), jolloin taulukko tyhjennetään (välimuisti) ja tämä taulukko vapautuu uusille asiakirjoille, joita käytetään seuraavan ajanjakson aikana.

    Myös välimuistin kanssa, jos on tietoja, joita todennäköisimmin käytetään uudelleen, nämä tiedot RAM-muistista ladataan välimuistiin. Hyvin usein tämä tapahtuu lataamalla yhdessä tiedot, joita todennäköisimmin käytetään nykyisten tietojen jälkeen. Eli on oletuksia siitä, mitä käytetään "jälkeen". Nämä ovat monimutkaisia ​​toimintaperiaatteita.

    Prosessorin välimuistin tasot

    Nykyaikaiset prosessorit on varustettu välimuistilla, joka koostuu usein 2 tai 3 tasosta. Toki poikkeuksiakin löytyy, mutta usein näin on.

    Yleensä voi olla seuraavat tasot: L1 (ensimmäinen taso), L2 (toinen taso), L3 (kolmas taso). Nyt hieman tarkemmin jokaisesta niistä:

    Ensimmäisen tason välimuisti (L1) on nopein välimuistitaso, joka toimii suoraan prosessorin ytimen kanssa. Se on puskuri prosessorin ja toisen tason välimuistin välillä.

    Harkitsemme volyymeja korkean suorituskyvyn Intel Core i7-3770K -prosessorilla. Tämä prosessori on varustettu 4 x 32 kt L1-välimuistilla 4 x 32 kt = 128 kt. (32 kt per ydin)

    Toisen tason välimuisti (L2) – toinen taso on suurempi kuin ensimmäinen, mutta sen seurauksena sen "nopeusominaisuudet" ovat alhaisemmat. Näin ollen se toimii puskurina L1- ja L3-tasojen välillä. Jos katsomme uudelleen esimerkkiämme Core i7-3770 K, niin L2-välimuistin koko on 4x256 KB = 1 MB.

    Kolmannen tason välimuisti (L3) – kolmas taso on jälleen hitaampi kuin kaksi edellistä. Mutta se on silti paljon nopeampi kuin RAM. L3-välimuistin koko i7-3770K:ssa on 8 Mt. Jos jokainen ydin jakaa edelliset kaksi tasoa, tämä taso on yhteinen koko prosessorille. Luku on melko vankka, mutta ei kohtuuton. Koska esimerkiksi Extreme-sarjan prosessoreissa, kuten i7-3960X, se on 15 Mt ja joissakin uusissa Xeon-prosessoreissa yli 20.

    we-it.net

    Mihin välimuistia käytetään ja kuinka paljon sitä tarvitaan?

    Emme puhu rahasta, vaan prosessorin välimuistista ja muusta. Kauppiaat ovat tehneet välimuistikapasiteetista toisen kaupallisen fetissin varsinkin keskusprosessorien ja kiintolevyjen välimuistilla (näyttökorteissa sekin on, mutta siihen ei ole vielä päästy). On siis olemassa XXX-prosessori 1 Mt:n L2-välimuistilla ja täsmälleen sama XYZ-prosessori 2 Mt:n välimuistilla. Arvaa kumpi on parempi? Ah - älä tee sitä heti!

    Välimuisti on puskuri, joka tallentaa mitä voidaan ja/tai pitää siirtää myöhempään. Prosessori tekee työtä ja syntyy tilanteita, kun välidataa täytyy tallentaa jonnekin. No, tietysti kätkössä! - loppujen lopuksi se on suuruusluokkaa nopeampi kuin RAM, koska... se on itse prosessorissa ja toimii yleensä samalla taajuudella. Ja sitten jonkin ajan kuluttua hän kalastaa nämä tiedot takaisin ja käsittelee ne uudelleen. Karkeasti sanottuna se on kuin perunalajittelija liukuhihnalla, joka joka kerta kun törmää johonkin muuhun kuin perunaan (porkkanaan), heittää sen laatikkoon. Ja kun se on täynnä, hän nousee ylös ja vie sen viereiseen huoneeseen. Tällä hetkellä kuljetin seisoo paikallaan ja seisokkeja havaitaan. Laatikon tilavuus on välimuisti tässä analogiassa. Ja kuinka paljon tarvitaan - 1 Mt vai 12? On selvää, että jos sen tilavuus on pieni, joudut viettämään liian paljon aikaa poistamiseen ja se on yksinkertaista, mutta tietyn tilavuuden jälkeen sen lisääminen ei tuota mitään. No, lajittelijalla on laatikko 1000 kilolle porkkanoita - mutta hänellä ei ole niin paljon koko työvuoronsa aikana, eikä se tee hänestä KAKSIN KERTAA NOPEAMPI! On vielä yksi hienovaraisuus - suuri välimuisti voi ensinnäkin lisätä viiveitä siihen pääsyssä, ja samalla virheiden todennäköisyys siinä kasvaa esimerkiksi ylikellotuksen aikana - toiseksi. (Voit lukea MITEN määrittää prosessorin vakaus/epävakaus tässä tapauksessa ja selvittää, että virhe tapahtuu sen välimuistissa ja testata L1 ja L2 täältä.) Kolmanneksi, välimuisti kuluttaa kohtuullisen määrän sirualuetta ja prosessoripiirin transistoribudjetti. Sama koskee kiintolevyjen välimuistia. Ja jos prosessorin arkkitehtuuri on vahva, sillä on 1024 kt:n tai enemmän välimuistia monissa sovelluksissa. Jos sinulla on nopea kiintolevy, 16 Mt tai jopa 32 Mt on sopiva. Mutta mikään 64 Mt:n välimuisti ei tee siitä nopeampaa, jos kyseessä on vihreäksi versioksi kutsuttu trimmi (Green WD), jonka nopeus on 5900 vaaditun 7200:n sijaan, vaikka jälkimmäisessä olisi 8 Mt. Sitten Intel- ja AMD-prosessorit käyttävät tätä välimuistia eri tavalla (yleensä AMD on tehokkaampi ja niiden prosessorit ovat usein mukavia pienempiin arvoihin). Lisäksi Intelillä on jaettu välimuisti, mutta AMD:llä on se erikseen jokaiselle ytimelle. AMD-suorittimien nopein L1-välimuisti on 64 kt dataa ja ohjeita varten, mikä on kaksi kertaa enemmän kuin Intelin. Kolmannen tason L3-välimuisti löytyy yleensä huippuprosessoreista, kuten AMD Phenom II 1055T X6 Socket AM3 2,8GHz tai kilpailija Intel Core i7-980X. Ensinnäkin pelit rakastavat suuria välimuistimääriä. Ja monet ammattisovellukset EIVÄT pidä välimuistista (katso. Tietokone renderöintiin, videoeditointiin ja ammattikäyttöön). Tarkemmin sanottuna vaativimmat ovat yleensä välinpitämättömiä hänelle. Mutta mitä sinun ei ehdottomasti pitäisi tehdä, on valita prosessori välimuistin koon perusteella. Vanhassa Pentium 4:ssä uusimmissa ilmentymismuodoissaan oli 2 Mt välimuistia reilusti yli 3 GHz:n toimintataajuuksilla - vertaa sen suorituskykyä halvalla kaksiytimisellä Celeron E1:llä***, joka toimii noin 2 GHz:n taajuuksilla. Hän ei jätä kiveä kääntämättä vanhasta miehestä. Asiallisempi esimerkki on korkeataajuinen kaksiytiminen E8600, joka maksaa lähes 200 dollaria (ilmeisesti johtuen 6 Mt:n välimuistista) ja Athlon II X4-620 2,6 GHz, jossa on vain 2 Mt. Tämä ei estä Athlonea leikkaamasta kilpailijaansa palasiksi.

    Kuten kaavioista näkyy, mikään välimuisti ei voi korvata lisäytimiä monimutkaisissa ohjelmissa tai prosessoria vaativissa peleissä. Athlon 2 Mt:n välimuistilla (punainen) päihittää helposti Cor2Duon 6 Mt:n välimuistilla jopa pienemmällä taajuudella ja lähes puolet halvemmalla. Lisäksi monet ihmiset unohtavat, että välimuisti on läsnä näytönohjaimissa, koska yleisesti ottaen heillä on myös prosessoreita. Tuore esimerkki on GTX460-näytönohjain, jossa he onnistuvat leikkaamaan paitsi väylän ja muistikapasiteetin (mitä ostaja arvaa) - myös Shader-välimuistin vastaavasti 512kb:sta 384Kb:iin (mitä ostaja EI arvaa ). Ja tämä lisää myös sen negatiivista vaikutusta tuottavuuteen. On myös mielenkiintoista selvittää suorituskyvyn riippuvuus välimuistin koosta. Tarkastellaan, kuinka nopeasti se kasvaa välimuistin koon kasvaessa saman prosessorin esimerkillä. Kuten tiedät, E6***-, E4***- ja E2***-sarjojen prosessorit eroavat toisistaan ​​vain välimuistin koon osalta (kukin vastaavasti 4, 2 ja 1 Mt). Samalla 2400 MHz:n taajuudella ne näyttävät seuraavat tulokset.

    Kuten näette, tulokset eivät ole kovin erilaisia. Sanon lisää - jos prosessori, jonka kapasiteetti on 6 Mt, olisi ollut mukana, tulos olisi kasvanut hieman enemmän, koska prosessorit saavuttavat kyllästymisen. Mutta 512 kt:n malleissa pudotus olisi huomattava. Toisin sanoen 2MB riittää jopa peleihin. Yhteenvetona voimme tehdä seuraavan johtopäätöksen - välimuisti on hyvä, kun kaikkea muuta on JO paljon. On naiivia ja tyhmää muuttaa kiintolevyn nopeutta tai prosessoriytimien määrää välimuistin koon mukaan samalla hinnalla, sillä tilavin lajittelulaatikko ei korvaa toista lajittelijaa. Mutta hyviäkin esimerkkejä löytyy Esimerkiksi Pentium Dual-Coressa 65 nm:n prosessin varhaisessa versiossa oli 1 Mt välimuistia kahdelle ytimelle (E2160-sarja ja vastaavat), ja myöhemmässä 45 nm:n versiossa E5200-sarjasta on edelleen 2 Mt, kaikkien muiden asioiden ollessa sama ( ja mikä tärkeintä - HINTA). Tietysti sinun tulee valita jälkimmäinen.

    compua.com.ua

    Mikä on välimuisti, miksi sitä tarvitaan ja miten se toimii?

    Mikä on likaisin paikka tietokoneessa? Onko se mielestäsi kori? Käyttäjäkansiot? Jäähdytysjärjestelmä? Arvasit väärin! Likaisin paikka on kätkö! Loppujen lopuksi sinun on puhdistettava se jatkuvasti!

    Itse asiassa tietokoneessa on paljon välimuistia, eivätkä ne toimi kaatopaikoina, vaan laitteiden ja sovellusten kiihdyttiminä. Mistä he saivat "järjestelmän roskakorin" maineen? Selvitetään, mikä välimuisti on, mikä se on, miten se toimii ja miksi se on puhdistettava aika ajoin.

    Välimuisti tai välimuisti on usein käytetyn tiedon erityinen tallennustila, jota käytetään kymmeniä, satoja ja tuhansia kertoja nopeammin kuin RAM-muistia tai muita tallennusvälineitä.

    Sovelluksilla (verkkoselaimet, ääni- ja videosoittimet, tietokantaeditorit jne.), käyttöjärjestelmän komponenteilla (pikkukuvavälimuisti, DNS-välimuisti) ja laitteistoilla (CPU-välimuisti L1-L3, grafiikkakehyspuskuri) on oma välimuisti, tallennuspuskurit. . Se toteutetaan eri tavoin - ohjelmistossa ja laitteistossa.

    • Ohjelmavälimuisti on yksinkertaisesti erillinen kansio tai tiedosto, johon ladataan esimerkiksi kuvat, valikot, skriptit, multimediasisältö ja muu vierailtujen sivustojen sisältö. Juuri tähän kansioon selain sukeltaa ensimmäisenä, kun avaat verkkosivun uudelleen. Tietyn sisällön haku paikallisesta tallennustilasta nopeuttaa sen lataamista ja vähentää verkkoliikennettä.

    • Tallennuslaitteissa (erityisesti kiintolevyissä) välimuisti on erillinen RAM-siru, jonka kapasiteetti on 1-256 Mt ja joka sijaitsee elektroniikkakortilla. Se vastaanottaa magneettikerrokselta luettua tietoa, jota ei ole vielä ladattu RAM-muistiin, sekä tietoja, joita käyttöjärjestelmä useimmiten pyytää.

    • Nykyaikainen keskusprosessori sisältää 2-3 päätasoa välimuistia (kutsutaan myös ultra-random access -muistiksi), jotka sijaitsevat laitteistomoduulien muodossa samalla sirulla. Nopein ja kooltaan pienin (32-64 Kb) on välimuistitaso 1 (L1) - se toimii samalla taajuudella kuin prosessori. L2 sijaitsee keskimääräisellä nopeudella ja kapasiteetilla (128 Kb - 12 Mb). Ja L3 on hitain ja tilavin (jopa 40 Mb), ja sitä ei ole joissain malleissa. L3:n nopeus on alhainen vain nopeampiin veljiinsä verrattuna, mutta se on myös satoja kertoja nopeampi kuin tuottavin RAM.

    Prosessorin flash-muistiin tallennetaan jatkuvasti käytettyä RAM-muistista pumpattua dataa ja konekoodikäskyjä. Mitä enemmän sitä on, sitä nopeampi prosessori.

    Nykyään kolme välimuistitasoa ei ole enää rajana. Sandy Bridge -arkkitehtuurin tultua käyttöön Intel otti tuotteisiinsa ylimääräisen välimuistin L0:n (joka on tarkoitettu salattujen mikrokäskyjen tallentamiseen). Ja tehokkaimmissa suorittimissa on myös neljännen tason välimuisti, joka on tehty erillisen sirun muodossa.

    Kaavamaisesti välimuistitasojen L0-L3 vuorovaikutus näyttää tältä (käyttämällä Intel Xeonin esimerkkiä):

    Ihmiskielellä siitä, miten se kaikki toimii

    Ymmärtääksesi kuinka välimuisti toimii, kuvitellaan pöydän ääressä työskentelevää henkilöä. Kansiot ja asiakirjat, joita hän käyttää jatkuvasti, ovat pöydällä (välimuistissa). Päästäksesi niihin käsiksi, ojenna vain kätesi.

    Paperit, joita hän tarvitsee harvemmin, säilytetään lähellä hyllyillä (RAM-muistissa). Saadaksesi ne, sinun täytyy nousta seisomaan ja kävellä muutaman metrin. Ja se, minkä kanssa henkilö ei tällä hetkellä työskentele, arkistoidaan (tallennettu kiintolevylle).

    Mitä leveämpi taulukko, sitä enemmän asiakirjoja siihen mahtuu, mikä tarkoittaa, että työntekijä pääsee nopeasti käsiksi suurempaan tietomäärään (mitä suurempi välimuistikapasiteetti, sitä nopeammin ohjelma tai laite toimii teoriassa).

    Joskus hän tekee virheitä - hän pitää pöydällään papereita, jotka sisältävät virheellistä tietoa ja käyttää niitä työssään. Tämän seurauksena hänen työnsä laatu heikkenee (välimuistivirheet johtavat ohjelmien ja laitteiston toimintahäiriöihin). Tilanteen korjaamiseksi työntekijän tulee heittää pois virheelliset asiakirjat ja laittaa oikeat paikoilleen (tyhjentää välimuisti).

    Taulukon alue on rajoitettu (välimuistin kapasiteetti on rajoitettu). Joskus sitä voidaan laajentaa esimerkiksi siirtämällä toista taulukkoa, joskus ei (välimuistin kokoa voidaan kasvattaa, jos ohjelma tarjoaa tällaisen mahdollisuuden; laitteistovälimuistia ei voi muuttaa, koska se on toteutettu laitteistossa) .

    Toinen tapa nopeuttaa pääsyä useampaan asiakirjoihin kuin pöytään mahtuu on pyytää avustajaa palvelemaan työntekijän paperit hyllystä (käyttöjärjestelmä voi varata osan käyttämättömästä RAM-muistista laitteen tietojen välimuistiin). Mutta se on silti hitaampaa kuin niiden ottaminen pöydästä.

    Käsillä olevien asiakirjojen tulee olla relevantteja nykyisiin tehtäviin. Työntekijän on itse valvottava tätä. Asiat on laitettava järjestykseen säännöllisesti (epäolennaisten tietojen poistaminen välimuistista jää sitä käyttävien sovellusten harteille; joissakin ohjelmissa on automaattinen välimuistin tyhjennystoiminto).

    Jos työntekijä unohtaa ylläpitää järjestystä työpaikalla ja pitää asiakirjat ajan tasalla, hän voi tehdä itselleen työpöydän siivousaikataulun ja käyttää sitä muistutuksena. Viimeisenä keinona uskoa tämä avustajalle (jos välimuistista riippuvainen sovellus on hidastunut tai lataa usein epäolennaisia ​​tietoja, käytä välimuistin puhdistustyökaluja aikataulussa tai suorita tämä käsittely manuaalisesti muutaman päivän välein).

    Käytämme itse asiassa "välimuistitoimintoja" kaikkialla. Tämä sisältää päivittäistavaroiden ostamisen tulevaa käyttöä varten ja erilaisia ​​toimintoja, joita teemme ohimennen, samaan aikaan jne. Pohjimmiltaan tämä säästää meidät tarpeettomilta touhuilta ja turhilta liikkeiltä, ​​virtaviivaistaa elämäämme ja helpottaa työtämme. Tietokone tekee samoin. Lyhyesti sanottuna, jos välimuistia ei olisi, se toimisi satoja ja tuhansia kertoja hitaammin. Ja luultavasti emme tykkäisi siitä.

    f1comp.ru

    Välimuisti, välimuisti, käteinen - muisti. Mihin välimuistia käytetään? Välimuistin koon ja nopeuden vaikutus suorituskykyyn.

    Välimuisti - muisti (välimuisti, käteinen, puskuri - eng.) - käytetään digitaalisissa laitteissa nopeana leikepöydänä. Välimuisti löytyy tietokonelaitteista, kuten kiintolevyistä, prosessoreista, näytönohjaimista, verkkokorteista, CD-asemista ja monista muista.

    Välimuistin toimintaperiaate ja arkkitehtuuri voivat vaihdella suuresti.

    Välimuisti voi toimia esimerkiksi tavallisena leikepöydänä. Laite käsittelee tiedot ja siirtää ne nopeaan puskuriin, jossa ohjain välittää tiedot rajapintaan. Tällainen välimuisti on suunniteltu estämään virheet, tarkistamaan laitteiston eheystiedot tai koodaamaan laitteesta tuleva signaali ymmärrettäväksi signaaliksi rajapinnalle ilman viiveitä. Tätä järjestelmää käytetään esimerkiksi CD/DVD-asemissa.

    Toisessa tapauksessa välimuistia voidaan käyttää usein käytetyn koodin tallentamiseen ja siten tiedonkäsittelyn nopeuttamiseen. Eli laitteen ei tarvitse laskea tai etsiä tietoja uudelleen, mikä kestäisi paljon kauemmin kuin sen lukeminen välimuistista. Tässä tapauksessa välimuistin koolla ja nopeudella on erittäin tärkeä rooli.


    Tämä arkkitehtuuri löytyy useimmiten kiintolevyistä, SSD-asemista ja keskusyksiköistä (CPU).

    Kun laitteet ovat toiminnassa, välimuistiin voidaan ladata erityisiä laiteohjelmistoja tai välitysohjelmia, jotka toimisivat hitaammin ROM-muistin (vain lukumuisti) kanssa.

    Useimmat nykyaikaiset laitteet käyttävät sekatyyppistä välimuistia, joka voi toimia sekä leikepöydänä että tallentaa usein käytettyä koodia.

    Prosessorien ja videosirujen välimuistiin on toteutettu useita erittäin tärkeitä toimintoja.

    Toteutusyksiköiden yhdistäminen. Keskusyksiköt ja videoprosessorit käyttävät usein nopeaa jaettua välimuistia ytimien välillä. Vastaavasti, jos yksi ydin on käsitellyt tietoja ja se on välimuistissa ja samalle toiminnolle tai näiden tietojen kanssa työskentelyyn vastaanotetaan komento, prosessori ei käsittele tietoja uudelleen, vaan ne otetaan välimuisti jatkokäsittelyä varten. Ydin puretaan muiden tietojen käsittelemiseksi. Tämä parantaa merkittävästi suorituskykyä vastaavissa mutta monimutkaisissa laskelmissa, varsinkin jos välimuisti on suuri ja nopea.

    Jaettu välimuisti antaa myös ytimille mahdollisuuden toimia suoraan sen kanssa ohittaen hitaan RAM-muistin.

    Välimuisti ohjeita varten. Ohjeita ja muita toimintoja varten on joko jaettu, erittäin nopea L1-välimuisti tai niille oma välimuisti. Mitä enemmän käskyjä prosessoriin on tallennettu, sitä suuremman käskyvälimuistin se vaatii. Tämä vähentää muistin latenssia ja antaa käskylohkon toimia lähes itsenäisesti Kun se on täynnä, käskylohko alkaa ajoittain jäädä tyhjäksi, mikä hidastaa laskentanopeutta.

    Muut toiminnot ja ominaisuudet.

    On huomionarvoista, että CPU:issa (keskusyksiköissä) käytetään laitteistovirheen korjausta (ECC), koska pieni virhe välimuistissa voi johtaa yhteen jatkuvaan virheeseen näiden tietojen jatkokäsittelyn aikana.

    CPU:ssa ja GPU:ssa on välimuistihierarkia, jonka avulla voit erottaa tiedot yksittäisille ytimille ja yleisille ytimille. Vaikka lähes kaikki tiedot toisen tason välimuistista kopioidaan edelleen kolmannelle, yleiselle tasolle, mutta ei aina. Ensimmäinen välimuistitaso on nopein, ja jokainen seuraava on hitaampi, mutta kooltaan suurempi.

    Prosessoreille kolme tai vähemmän välimuistitasoa pidetään normaalina. Tämä mahdollistaa tasapainon nopeuden, välimuistin koon ja lämmön haihtumisen välillä. Videoprosessoreista on vaikea löytää enemmän kuin kaksi välimuistitasoa.

    Välimuistin koko, vaikutus suorituskykyyn ja muihin ominaisuuksiin.

    Luonnollisesti mitä suurempi välimuisti, sitä enemmän tietoja se voi tallentaa ja käsitellä, mutta tässä on vakava ongelma.

    Suuri välimuisti tarkoittaa suurta transistorin budjettia. Palvelimen prosessoriyksiköissä (CPU:t) välimuisti voi käyttää jopa 80 % transistorin budjetista. Ensinnäkin tämä vaikuttaa loppukustannuksiin ja toiseksi energiankulutuksen ja lämmön haihtumisen kasvuun, mikä ei ole verrattavissa useilla prosenteilla kasvaneeseen tuottavuuteen.