<Ли> твърди дискове - Механичен, бавен (около 12 милисекунди, 1 гигабайт до 10 гигабайта в размера)
<Ли> Internet - Невероятно бавен (между 1 секунда и 3 дни, неограничен размер)
<р> Както можете да видите, кеш кешовете на L1 L2 кеш паметта, която кешира основната памет, която може да се използва за кеширане подсистеми диск, и така нататък
Cache Technology
<р> Един общ въпрос, зададен в този момент е, ". Защо не направите всички на компютъра памет тече със същата скорост като кеш паметта L1, така че няма да се изисква кеширане " Това ще работи, но това ще бъде невероятно скъпо. Идеята зад кеширане е да се използва малко количество скъп спомен за ускоряване на голямо количество по-бавно, по-скъп спомен.
<Р> При проектирането на компютър, като целта е да се даде възможност на микропроцесора да се движи с неговата пълна ускори като евтино, колкото е възможно. A 500-MHz чип минава през 500 милиона цикъла за една секунда (един цикъл на всеки две наносекунди). Без L1 и L2 кеш, достъп до основната памет отнема 60 наносекунди, или около 30 пропилени цикли достъп до паметта.
Когато се замислите за това, че е вид невероятно, че тези сравнително малки количества от паметта могат да увеличат максимално използването на много по-големи количества от паметта. Помислете за 256-килобайт L2 кеш, който кешира 64 мегабайта RAM. В този случай, 256,000 байта ефективно кешира 64,000,000 байта. Защо тази работа?
В компютърните науки, имаме теоретична концепция, наречена местността справка. Това означава, че в доста голяма програма, само малки порции се някога използва във всеки един момент. Колкото и странно да звучи, местност референтна работи за огромното мнозинство от програми. Дори ако изпълнимия е 10 мегабайта, само една шепа от байтове, считано от тази програма са в употреба във всеки един момент, и степента на тяхното повторение е много висока. На следващата страница, вие ще научите повече за местността справка.
Находище на Референтен
<р> Нека да разгледаме следния псевдо-код, за да се види защо местност на справочни материали (Вижте как С Програмиране Works наистина да влязат в него):
<предварително> Output за скрининг «Въведете число между 1 и 100» Прочетете вход от userPut стойност от употреба в променлива XPut стойност 100 в променлива YPut стойнос