Získavanie vedomostí
/ Knowledge Discovery >> Získavanie vedomostí >> technológie >> počítač >> počítačový hardvér >>

Ako Caching Works

šetky pamäte behu počítača pri rovnakej rýchlosti ako cache L1, takže by byť požadované žiadne caching " ?; To by fungovať, ale to by bolo nesmierne drahé. Myšlienka caching je použiť malé množstvo drahého pamäti urýchliť veľké množstvo pomalší, menej drahé pamäte.

Pri navrhovaní počítač, cieľom je umožniť mikroprocesor bežať na jeho plné rýchlosť ako lacno ako je to možné. A 500-MHz chip prechádza 500 miliónov cyklov za jednu sekundu (jeden cyklus za dva nanosekúnd). Bez L1 a L2 cache, prístup do hlavnej pamäte trvá 60 nanosekúnd, alebo asi 30 plytvanie cyklov pri prístupe na pamäťovú.

Keď sa nad tým zamyslíte, je to tak trochu neuveriteľné, že tieto relatívne malé množstvo pamäti môžu maximalizovať použitie oveľa väčšie množstvo pamäti. Premýšľajte o 256-kilobyte L2 cache, že do vyrovnávacej pamäte 64 megabajtov pamäte RAM. V tomto prípade, 256.000 bytov efektívne ukladá 64,000,000 bajtov. Prečo to funguje?

Vo vede o počítačoch, máme teoretický koncept nazvaný lokalita referencie. To znamená, že v pomerne veľkej programe, len malé časti sa niekedy používajú v ktoromkoľvek jednom okamihu. Je zvláštne, ako sa môže zdať, lokalita odkazu pracuje pre obrovskú väčšinu programov. Aj keď je spustiteľný súbor je 10 megabajtov vo veľkosti, len hŕstka bajtov z tohto programu sú používané v každom okamihu, a ich frekvencia opakovania je veľmi vysoká. Na ďalšej stránke sa dozviete viac o lokality odkaz.
Lokality odkaz

Poďme sa pozrieť na nasledujúce pseudo-kódu, pochopiť, prečo lokalita referenčných prác (pozri Ako Works C programovací naozaj sa do nej):

 Výstup na obrazovke «zadajte číslo medzi 1 a 100» Prečítať si vstup z userPut hodnoty od užívateľa z hodnoty premennej XPUT 100 na hodnotu premennej YPut 1 vo variabilnom počtom ZLoop Y času Divide Z X Ak je zvyšok delenia = 0, potom výstup «Z je násobkom X» Pridať 1 až ZReturn na loopEnd 

Tento malý program požiada užívateľa na zadanie čísla medzi 1 a 100. Je to prečíta hodnotu zadanú užívateľom. Potom program rozdelí každé číslo medzi 1 a 100, ktoré číslo zadané užívateľom. Skontroluje, či zvyšok je 0 (modulo delenie). Ak áno, program sa výstupy " Z je násobkom X " (napríklad 12 je násobkom 6), pre každé číslo medzi 1 a 100. Potom program skončí.

Aj keď neviete nič o programovaní počítača, je ľahké pochopiť, že v sa 11 riadky tohto programu, slučka časť (riadky 7 až 9), sú vykonávané 100 krát. Všetky ostatné riadky sa vykonávajú iba ra

Page [1] [2] [3] [4] [5] [6]