Êàê ðàáîòàåò êýø-ïàìÿòü ïåðâîãî óðîâíÿ
Äëÿ òîãî ÷òîáû ðàçîáðàòüñÿ ñ ïðèíöèïàìè ðàáîòû êýø-ïàìÿòè ïåðâîãî è âòîðîãî óðîâíåé, ðàññìîòðèì ñëåäóþùóþ àíàëîãèþ.
Ãåðîé íàøåé èñòîðèè (â äàííîì ñëó÷àå - âû), âêóøàþùèé ðàçëè÷íûå ÿñòâà, âûñòóïàåò â ðîëè ïðîöåññîðà, êîòîðûé èçâëåêàåò íåîáõîäèìûå äàííûå èç ïàìÿòè è ïðîâîäèò èõ îáðàáîòêó. Êóõíÿ, íà êîòîðîé ãîòîâÿòñÿ âàøè ëþáèìûå áëþäà, ïðåäñòàâëÿåò ñîáîé îñíîâíóþ îïåðàòèâíóþ ïàìÿòü (SIMM/DIMM). Îôèöèàíò ÿâëÿåòñÿ êýø-êîíòðîëëåðîì, à ñòîë, çà êîòîðûì âû ñèäèòå, âûñòóïàåò â êà÷åñòâå êýø-ïàìÿòè ïåðâîãî óðîâíÿ. Ðîëü êýø-ïàìÿòè âòîðîãî óðîâíÿ âûïîëíÿåò òåëåæêà ñ çàêàçàííûìè áëþäàìè, íåñïåøíî ïóòåøåñòâóþùàÿ ìåæäó êóõíåé è âàøèì ñòîëîì. Ðîëè ðàñïðåäåëåíû, ïîðà íà÷èíàòü íàøó èñòîðèþ. Åæåäíåâíî ïðèìåðíî â îäíî è òî æå âðåìÿ âû îáåäàåòå â îïðåäåëåííîì ðåñòîðàíå. Âõîäèòå â îáåäåííûé çàë, ñàäèòåñü çà ñòîëèê è çàêàçûâàåòå, íàïðèìåð, õîò-äîã. Äëÿ òîãî ÷òîáû ñîõðàíèòü ñîîòâåòñòâèå ñîáûòèé, ïðåäïîëîæèì, ÷òî ñðåäíÿÿ ñêîðîñòü ïîãëîùåíèÿ ïèùè ðàâíà îäíîìó áèòó â ÷åòûðå ñåêóíäû (öèêë ïðîöåññîðà 233 ÌÃö ñîñòàâëÿåò îêîëî 4 íñ). À òàêæå îïðåäåëèì, ÷òî ïîâàðó (ò.å. êóõíå) äëÿ ïðèãîòîâëåíèÿ êàæäîãî çàêàçàííîãî áëþäà ïîòðåáóåòñÿ 60 ñ (çíà÷èò, ñêîðîñòü îñíîâíîé ïàìÿòè 60 íñ).
Òàêèì îáðàçîì, ïðè ïåðâîì ïîñåùåíèè ðåñòîðàíà âû ñàäèòåñü çà ñòîëèê è çàêàçûâàåòå õîò-äîã, ïîñëå ÷åãî ïðèõîäèòñÿ æäàòü öåëûõ 60 ñåêóíä, ïîêà ïðèãîòîâÿò çàêàçàííîå áëþäî. Êîãäà îôèöèàíò íàêîíåö-òî ïðèíîñèò çàêàç, âû íå ñïåøà, ñî ñðåäíåé ñêîðîñòüþ, ïðèíèìàåòåñü çà åäó. Áûñòðåíüêî äîåâ õîò-äîã, ïîäçûâàåòå ê ñåáå îôèöèàíòà è çàêàçûâàåòå ãàìáóðãåð. Ïîêà åãî ãîòîâÿò, âû ñíîâà æäåòå òå æå 60 ñåêóíä. Ïðèíåñåííûé ãàìáóðãåð ñúåäàåòñÿ ñ òîé æå ñêîðîñòüþ. Ïîäîáðàâ ïîñëåäíèå êðîøêè, ñíîâà çîâåòå îôèöèàíòà è çàêàçûâàåòå óæå êîòëåòû "ïî-êèåâñêè". Ïîñëå 60-ñåêóíäíîãî îæèäàíèÿ ïðèíåñåííîå áëþäî ñúåäàåòñÿ ñ àíàëîãè÷íîé ñêîðîñòüþ. Ïîñëå ýòîãî âû ðåøàåòå çàêàçàòü íà äåñåðò, ñêàæåì, ÿáëî÷íûé ïèðîã. Çàêàçàííûé ïèðîã âû ïîëó÷àåòå ïîñëå ñòàâøåãî ïðèâû÷íûì 60-ñåêóíäíîãî îæèäàíèÿ. Îäíèì ñëîâîì, îáåä ñîñòîèò ãëàâíûì îáðàçîì èç äëèòåëüíûõ îæèäàíèé, êîòîðûå ïåðåìåæàþòñÿ ýíåðãè÷íûì ïîãëîùåíèåì çàêàçûâàåìûõ áëþä.
Ïîñëå òîãî êàê äâà äíÿ ïîäðÿä ðîâíî â 18.00 âû ïðèõîäèòå â ðåñòîðàí è çàêàçûâàåòå îäíè è òå æå áëþäà â îäíîé è òîé æå ïîñëåäîâàòåëüíîñòè, ó îôèöèàíòà ïîÿâëÿåòñÿ äåëüíàÿ ìûñëü: "Ñåãîäíÿ â 18.00 ñíîâà ïîÿâèòñÿ ýòîò ñòðàííûé ïîñåòèòåëü è ñäåëàåò ñâîé îáû÷íûé çàêàç: õîò-äîã, ãàìáóðãåð, êîòëåòû "ïî-êèåâñêè" è ÿáëî÷íûé ïèðîã íà äåñåðò. Ïî÷åìó áû íå ïðèãîòîâèòü ýòè áëþäà çàðàíåå? ß äóìàþ, îí äîëæíûì îáðàçîì îöåíèò ìîè ñòàðàíèÿ". Èòàê, âû ïðèõîäèòå â ðåñòîðàí, çàêàçûâàåòå õîò-äîã è îôèöèàíò ñðàçó æå, áåç ìàëåéøåé ïàóçû, ñòàâèò ïåðåä âàìè çàêàçàííîå áëþäî. Ïîñëå òîãî êàê âû ðàçäåëàëèñü ñ õîò-äîãîì è ñîáèðàåòåñü çàêàçàòü î÷åðåäíîå áëþäî, íà ñòîëå ïîÿâëÿåòñÿ òàðåëêà ñ ãàìáóðãåðîì. Îñòàâøàÿñÿ ÷àñòü îáåäà ïðîõîäèò ïðèìåðíî òàê æå. Âû ñòðåìèòåëüíî, ñî ñêîðîñòüþ îäèí áèò â ÷åòûðå ñåêóíäû, ïîãëîùàåòå ïèùó, íå îæèäàÿ, ïîêà çàêàçàííîå áëþäî áóäåò ïðèãîòîâëåíî íà êóõíå. Íà ñåé ðàç âðåìÿ îáåäà çàïîëíåíî èñêëþ÷èòåëüíî òùàòåëüíûì ïåðåæåâûâàíèåì ïèùè, è âñå áëàãîäàðÿ ñìåêàëêå è ïðàêòè÷íîìó ïîäõîäó îôèöèàíòà.
Ïðèâåäåííûé ïðèìåð äîñòàòî÷íî òî÷íî îïèñûâàåò ðàáîòó êýø-ïàìÿòè ïåðâîãî óðîâíÿ â ïðîöåññîðå. Ðîëü êýø-ïàìÿòè ïåðâîãî óðîâíÿ â äàííîì ñëó÷àå âûïîëíÿåò ïîäíîñ, íà êîòîðîì ìîæåò íàõîäèòüñÿ îäíî èëè íåñêîëüêî áëþä. Ïðè îòñóòñòâèè îôèöèàíòà ïðîñòðàíñòâî ïîäíîñà ïðåäñòàâëÿåò ñîáîé íåêèé ðåçåðâíûé çàïàñ (ò.å. áóôåð) ïðîäóêòîâ ïèòàíèÿ. Åñëè áóôåð çàïîëíåí, çíà÷èò, ìîæíî åñòü äî òåõ ïîð, ïîêà ïîäíîñ íå îïóñòååò. Îáäóìàííî ïîïîëíèòü åãî ñîäåðæèìîå, ê ñîæàëåíèþ, íåêîìó. Îôèöèàíò ïðåäñòàâëÿåò ñîáîé êýø-êîíòðîëëåð, ïðåäïðèíèìàþùèé îïðåäåëåííûå ìåðû è ïûòàþùèéñÿ ðåøèòü, êàêèå æå áëþäà ñëåäóåò çàðàíåå ïîñòàâèòü íà ñòîë â ñîîòâåòñòâèè ñ âàøèìè âîçìîæíûìè ïîæåëàíèÿìè. Ïîäîáíî íàñòîÿùåìó êýø-êîíòðîëëåðó, îôèöèàíò âîñïîëüçóåòñÿ ñâîèì îïûòîì äëÿ òîãî, ÷òîáû îïðåäåëèòü, êàêîå áëþäî áóäåò çàêàçàíî ñëåäóþùèì. Åñëè îí îïðåäåëèò ïðàâèëüíî, çíà÷èò, íå ïðèäåòñÿ äîëãî æäàòü.
Íàñòàë äåíü ÷åòâåðòûé. Âû ïîÿâëÿåòåñü â ðåñòîðàíå, êàê îáû÷íî, ðîâíî â 18.00 è íà÷èíàåòå ñ ïðèâû÷íîãî õîò-äîãà. Îôèöèàíò, èçó÷èâøèé ê òîìó âðåìåíè âàøè âêóñû, óæå ïðèãîòîâèë õîò-äîã, è âû ñðàçó æå, íå îæèäàÿ, ïðèñòóïàåòå ê òðàïåçå.
Ïîñëå õîò-äîãà îôèöèàíò ïðèíîñèò âàì ãàìáóðãåð è âìåñòî ñëîâ áëàãîäàðíîñòè ñëûøèò: "Âîîáùå-òî ÿ ãàìáóðãåð íå çàêàçûâàë. Ïðèíåñèòå ìíå, ïîæàëóéñòà, îòáèâíóþ". Îôèöèàíò îøèáñÿ â ñâîèõ ïðåäïîëîæåíèÿõ, è âàì ñíîâà ïðèäåòñÿ æäàòü öåëûõ 60 ñåêóíä, ïîêà íà êóõíå íå ïðèãîòîâÿò çàêàçàííîå áëþäî. Ïîäîáíîå ñîáûòèå, ò. å. ïîïûòêà äîñòóïà ê òîé ÷àñòè êýøèðîâàííîãî ôàéëà, êîòîðàÿ îòñóòñòâóåò â êýø-ïàìÿòè, íàçûâàåòñÿ ïðîìàõîì êýøà (cache miss). Êàê ñëåäñòâèå, âîçíèêàåò ïàóçà, èëè, åñëè ãîâîðèòü î ñèñòåìå Pentium 233 ÌÃö, ïðè êàæäîì ïðîìàõå êýøà áûñòðîäåéñòâèå ñèñòåìû ñíèæàåòñÿ äî 16 ÌÃö (ò.å. äî ñêîðîñòè îïåðàòèâíîé ïàìÿòè). Êýø-ïàìÿòü ïåðâîãî óðîâíÿ áîëüøåé ÷àñòè ïðîöåññîðîâ Intel èìååò êîýôôèöèåíò ñîâïàäåíèÿ, ðàâíûé ïðèìåðíî 90%.
Ýòî îçíà÷àåò, ÷òî êýø-ïàìÿòü ñîäåðæèò êîððåêòíûå äàííûå 90% âðåìåíè, à ñëåäîâàòåëüíî, ïðîöåññîð ðàáîòàåò íà ïîëíîé ñêîðîñòè (â äàííîì ñëó÷àå ñ ÷àñòîòîé 233 ÌÃö) ïðèìåðíî 90% âñåãî âðåìåíè. Îñòàâøèåñÿ 10% âðåìåíè êýø-êîíòðîëëåð îáðàùàåòñÿ ê áîëåå ìåäëåííîé îñíîâíîé ïàìÿòè, âî âðåìÿ ÷åãî ïðîöåññîð íàõîäèòñÿ â ñîñòîÿíèè îæèäàíèÿ. Ôàêòè÷åñêè ïðîèñõîäèò ñíèæåíèå áûñòðîäåéñòâèÿ ñèñòåìû äî óðîâíÿ îïåðàòèâíîé ïàìÿòè, ñêîðîñòü êîòîðîé ðàâíà 60 íñ, èëè 16 ÌÃö.