Mikä on Cache Bus?

Välimuistiväylä on erityinen nopea väylä, jota tietokoneen prosessori käyttää tiedonsiirtoon välimuistinsa kanssa. Se tunnetaan myös takapuolen väylänä, ja se toimii paljon suuremmalla nopeudella kuin järjestelmäväylä. Välimuistiväylä yhdistää suorittimen ytimen suoraan välimuistiinsa; se toimii prosessoriväylästä riippumatta siirtäen tietoja laajempaa, vähemmän rajoitettua polkua pitkin. Useimmissa nykyaikaisissa prosessoreissa käytetään välimuistiväylää lyhentämään usein käytettyjen tietojen lukemiseen tai muokkaamiseen kuluvaa aikaa.

1980-luvulla välimuisti sijaitsi yleensä emolevyllä, ei itse suorittimen sirulla. Välimuistiin käytiin prosessoriväylän kautta, aivan kuten tavallisessa järjestelmämuistissa. Välimuistin määrä oli usein melko pieni ja tarjottiin vain valinnaisena järjestelmän suorituskyvyn lisäyksenä.

Prosessorin nopeuden ja tehokkuuden kasvaessa 1990-luvun alussa prosessoriväylästä tuli pullonkaula; nopea välimuisti tarvitsi tavan olla vuorovaikutuksessa prosessorin kanssa odottamatta paljon hitaamman järjestelmän muistin ja syöttö-/tulostustoimintojen päättymistä. 1990-luvun puolivälissä useimmat uudet prosessorit omaksuivat kaksiväyläarkkitehtuurin tämän ongelman ratkaisemiseksi. Nopea välimuistiväylä luotiin, jotta välimuistiin pääsee suoraan. Tätä väylää ei käytetä mihinkään muuhun – kaikki muut tiedonsiirrot käyttävät hitaampaa prosessoriväylää, joka tunnetaan myös etupuolen väylänä. Prosessori voi käyttää molempia väyliä samanaikaisesti, mikä parantaa huomattavasti suorituskykyä.

Varhaiset kaksiväylämallit käyttivät usein emolevyn välimuistia; suuret määrät sirulla olevaa välimuistia eivät olleet vielä kustannustehokkaita tuotannon tuottoongelmien vuoksi. Myöhemmät mallit sisälsivät usein yhdistelmän sisäistä ja ulkoista välimuistia tuoton parantuessa. Nykyaikaiset prosessorit käyttävät yleensä paljon sisäistä välimuistia; monet sisältävät 8 megatavua (MB) tai enemmän verrattuna vanhoihin malleihin, joissa oli usein vain 8 kilotavua (KB). Nykyaikaisissa malleissa, joissa koko välimuisti on sirulla, välimuistiväylä voi olla melko lyhyt erittäin laajalla datapolulla, joissakin prosessoreissa 512 bittiä. Väylä toimii yleensä samalla nopeudella kuin prosessori itse. Lopputuloksena on, että välimuistin sisältö voidaan lukea tai muokata erittäin nopeasti.

Jokaisella moniytimisen prosessorin ytimellä voi olla oma välimuisti tai yksi suuri yhteinen välimuisti. Molemmissa tapauksissa välimuistiväylä yhdistää jokaisen ytimen sopivaan välimuistiin. Kun jokaisella prosessorin ytimellä on oma erillinen välimuisti, voi ilmetä johdonmukaisuusongelmia. Esimerkiksi kun yksi ydin päivittää välimuistissaan olevia tietoja, muiden välimuistien tietojen kopiot vanhentuvat tai “vanhentuvat”. Yksi tapa tämäntyyppisen ongelman ratkaisemiseksi on käyttää erityistä välimuistiväylää, jota joskus kutsutaan ytimien väliseksi väyläksi. Tämä väylä linkittää kaikki välimuistit yhteen, jotta jokainen voi seurata muiden tekemistä – jos joku päivittää jaetun tiedon, muut voivat heti heijastaa uutta sisältöä.