Kaj je predpomnilniško vodilo?

Predpomnilniško vodilo je namensko vodilo za visoke hitrosti, ki ga računalniški procesor uporablja za komunikacijo s svojim predpomnilnikom. Znano tudi kot zadnje vodilo, deluje z veliko večjo hitrostjo kot sistemsko vodilo. Predpomnilniško vodilo neposredno povezuje jedro procesorja z njegovim predpomnilnikom; deluje neodvisno od procesorskega vodila in prenaša podatke po širši, manj omejeni poti. Predpomnilniško vodilo se uporablja v večini sodobnih procesorjev za skrajšanje časa, potrebnega za branje ali spreminjanje pogosto dostopnih podatkov.

V osemdesetih letih prejšnjega stoletja je bil predpomnilnik običajno nameščen na matični plošči, ne na samem čipu procesorja. Do predpomnilnika se je dostopalo prek procesorskega vodila, tako kot do običajnega sistemskega pomnilnika. Količina predpomnilnika je bila pogosto precej majhna in je bila na voljo le kot izbirna izboljšava sistemske zmogljivosti.

Ker sta se hitrost in učinkovitost procesorja v zgodnjih devetdesetih letih povečevali, je procesorsko vodilo postalo ozko grlo; hitri predpomnilnik je potreboval način za interakcijo s procesorjem, ne da bi čakali, da se končajo veliko počasnejši sistemski pomnilnik in vhodno/izhodne operacije. Sredi devetdesetih let prejšnjega stoletja je večina novih procesorjev sprejela arhitekturo z dvojnim vodilom za rešitev tega problema. Za neposreden dostop do predpomnilnika je bilo ustvarjeno hitro predpomnilniško vodilo. To vodilo se ne uporablja za nič drugega – vsi drugi prenosi podatkov uporabljajo počasnejše procesorsko vodilo, znano tudi kot sprednje vodilo. Procesor lahko uporablja obe vodili hkrati, kar ima za posledico bistveno boljšo zmogljivost.

Zgodnje zasnove z dvojnim vodilom so pogosto uporabljale predpomnilnik na matični plošči; velike količine predpomnilnika na čipu še niso bile stroškovno učinkovite zaradi težav s proizvodnim izkoristkom. Kasnejše zasnove so pogosto vključevale mešanico notranjega in zunanjega predpomnilnika, saj se je izkoristek izboljšal. Sodobni procesorji običajno uporabljajo veliko količino notranjega predpomnilnika; mnogi vključujejo 8 megabajtov (MB) ali več, v primerjavi s starejšimi modeli, ki so pogosto imeli le 8 kilobajtov (KB). V sodobnih zasnovah, kjer je celoten predpomnilnik na čipu, je lahko predpomnilniško vodilo precej kratko z zelo široko potjo podatkov, 512 bitov v nekaterih procesorjih. Vodilo običajno teče z enako hitrostjo kot sam procesor. Končni rezultat je, da lahko vsebino predpomnilnika zelo hitro preberete ali spremenite.

Vsako jedro večjedrnega procesorja ima lahko svoj predpomnilnik ali si deli en velik skupni predpomnilnik. V obeh primerih predpomnilniško vodilo poveže vsako jedro z ustreznim predpomnilnikom. Ko ima vsako procesorsko jedro svoj ločen predpomnilnik, se lahko pojavijo težave s skladnostjo. Na primer, ko eno jedro posodobi podatke v svojem predpomnilniku, druge kopije teh podatkov v drugih predpomnilnikih postanejo zastarele ali »zastarele«. Eden od načinov za rešitev te vrste težave je uporaba posebne vrste vodila predpomnilnika, ki se včasih imenuje medjedrno vodilo. To vodilo povezuje vse predpomnilnike skupaj, tako da lahko vsak spremlja, kaj počnejo drugi – če eden posodobi del skupnih podatkov, lahko drugi takoj odražajo novo vsebino.