Mis on vahemälubuss?

Vahemälu siin on spetsiaalne kiire siini, mida arvutiprotsessor kasutab oma vahemäluga suhtlemiseks. Tuntud ka kui tagumine siin, töötab see palju suurema kiirusega kui süsteemisiin. Vahemälu siin ühendab protsessori tuuma otse selle vahemäluga; see töötab protsessori siinist sõltumatult, edastades andmeid laiemat ja vähem piiratud teed pidi. Vahemälu siini kasutatakse enamikes kaasaegsetes protsessorites, et lühendada sageli kasutatavate andmete lugemiseks või muutmiseks kuluvat aega.

1980. aastatel asus vahemälu tavaliselt emaplaadil, mitte protsessorikiibil endal. Vahemällu pääses ligi protsessori siini kaudu, nagu tavalisele süsteemimälule. Vahemälu maht oli sageli üsna väike ja seda pakuti ainult valikulise süsteemi jõudluse parendusena.

Protsessori kiiruse ja efektiivsuse kasvades 1990. aastate alguses muutus protsessorisiin kitsaskohaks; kiire vahemälu vajas viisi protsessoriga suhtlemiseks, ootamata palju aeglasema süsteemimälu ja sisend-/väljundtoimingute lõppu. 1990. aastate keskel võttis enamik uusi protsessoreid selle probleemi lahendamiseks kasutusele kahe siini arhitektuuri. Vahemällu otse juurdepääsuks loodi kiire vahemälu siin. Seda siini ei kasutata millekski muuks – kõik muud andmeedastused kasutavad aeglasemat protsessori siini, mida tuntakse ka esikülje siinina. Protsessor saab kasutada mõlemat siini samaaegselt, mille tulemuseks on oluliselt parem jõudlus.

Varased kahe siini konstruktsioonid kasutasid sageli emaplaadil asuvat vahemälu; suured kogused kiibil olevaid vahemälu ei olnud tootmise tootlikkuse probleemide tõttu veel kulutõhusad. Hilisemates kujundustes kasutati tootluse paranedes sageli sisemise ja välise vahemälu segu. Kaasaegsed protsessorid kasutavad tavaliselt suurt hulka sisemist vahemälu; paljud sisaldavad 8 megabaiti (MB) või rohkem, võrreldes vanemate kujundustega, millel oli sageli vaid 8 kilobaiti (KB). Kaasaegsetes konstruktsioonides, kus kogu vahemälu on kiibil, võib vahemälu siin olla üsna lühike ja andmetee on väga lai, mõnel protsessoril 512 bitti. Siin töötab tavaliselt sama kiirusega kui protsessor ise. Lõpptulemus on see, et vahemälu sisu saab lugeda või muuta väga kiiresti.

Mitmetuumalise protsessori igal tuumal võib olla oma vahemälu või see võib jagada ühte suurt ühist vahemälu. Mõlemal juhul ühendab vahemälu siin iga tuuma vastava vahemäluga. Kui igal protsessori tuumal on eraldi vahemälu, võivad tekkida sidususprobleemid. Näiteks kui üks tuum värskendab oma vahemälus olevaid andmeid, muutuvad nende andmete muud koopiad teistes vahemäludes aegunuks või aeguvad. Üks viis seda tüüpi probleemi lahendamiseks on kasutada spetsiaalset tüüpi vahemälu siini, mida mõnikord nimetatakse tuumadevaheliseks siiniks. See siin ühendab kõik vahemälud kokku, nii et igaüks saab jälgida, mida teised teevad – kui üks värskendab jagatud andmeid, saavad teised uut sisu kohe kajastada.