Cache

 

 

در دنیای کامپیوتر cache مکانی است که اطلاعات در آن به صورت مجزا از دیگر مراحل،  پردازش و ذخیره می شوند.

 

Web Browser Cache

 

cache در یک کاوشگر وب نظیر اینترنت اکسپلورر منبعی است برای ذخیره تصاویر صفحات وبی که مکررا بازدید می شوند. از این رو لازم نیست در هر بار مراجعه به آن صفحات دوباره این تصاویر دانلود شوند. پس با این کار سرعت رویت صفحات وب افزایش خواهد یافت. 


Disk Cache

 

ناحیه ای از هارد دیسک کامپیوتر است و جهت پردازش اطلاعات اختصاص داده شده  و اغلب زمانی که کامپیوتر در انجام کارهای خود در حافظه اصلی کمبود پیدا می کند و به اصطلاح RAM کم می آورد استفاده می شود.

Memory Cache

 

نوعی از حافظه است که از RAM استاتیک با سرعت بالا یا SRAM به جای نوع ارزانتر و با سرعت پایینتر داینامیک RAM یا به اصطلاح DRAM ساخته شده است.

memory cache از آن جهت استفاده می شود که بسیاری از برنامه ها مقداری از اطلاعات مشابه را مرتبا استفاده می کنند. Cacheبخشی از ساختاری است که اطلاعات دوباره استفاده شده توسط میکروپروسسور در آن نگهداری می شود. با ذخیره اطلاعاتی که اکثرا استفاده می شود در SRAM کامپیوتر از مراجعه به حافظه اصلی DRAM که سرعت پایین تری دارد ممانعت میشود.

هنگامی که مردم از cache کامپیوتر صحبت می کنند معمولا منظور cache L2 یا Level 2 است این یک Cache Memory در خارج از چیپست پردازنده است.

برخی از memory cache ها درون ساختار چیپست میکروپروسسور قرار می گیرند. به طور مثال چیپ 486 دارای 8 کیلو بایت memory cache است و پنتیوم دارای 16 کیلوبایت از این نوع حافظه است. این نوع کش های داخلی اغلب   Level 1  یا L1 cache نامیده می شوند.

چیپ Celeron یک چیپ ( تراشه ) ارزانتری است چون دارای 128 کیلوبایت حافظه L2 Cache درون خود است.  Pentium II  و  Pentium III دارای 512 کیلو بایت Cache است و در خارج تراشه آن قرار دارد.


کامپيوتر، ماشينی است که زمان انجام کارها توسط آن با واحدهای خيلی کوچک اندازه گيری می گردد. زمانيکه ریزپردازنده قصد دستيابی به  حافظه اصلی را داشته باشد، می بايست مدت زمانی معادل 60 نانوثانيه ( 00000006/0ثانیه ) را برای اين کار در نظر بگيرد. سرعت فوق بسيار بالا است ولی سرعت ريزپردازنده بمراتب بيشتر است .ريزپردازنده قادر به داشتن سيکل هائی به اندازه دو نانوثانيه است .تفاوت سرعت بين پردازنده و حافظه کاملا مشهود بوده و قطعا رضايت پردازنده در اين خصوص کسب نخواهد شد. پردازنده می بايست تاوان کند بودن حافظه را خود بپردازد . به منظور حل مشکل فوق ، فرض کنيد از  يک نوع خاص حافظه،  با ظرفيت کم ولی با سرعت بالا ( 30نانوثانيه ) ، استفاده گردد. سرعت دستيابی به حافظه فوق دو مرتبه سريعتر نسبت به حافظه اصلی است. اين نوع حافظه راL2 Cache  می نامند.  فرض کنيد ازيک حافظه بمراتب سريعتر ولی با حجم کمتر استفاده و آن را مستقيما" با پردازنده اصلی درگير نمود. سرعت دستيابی به حافظه فوق می بايست در حد واندازه سرعت پردازنده باشد .اين نوع حافظه ها را L1 Cache می گويند.

يکی از سوالاتی که ممکن است درذهن ایجاد شود اين است که " چرا تمام حافظه کامپيوترها از نوع L1 Cache نمی باشند تا ديگر ضرورتی به استفاده از Cache وجودنداشته باشد؟" در پاسخ می بايست گفت که اشکالی ندارد و همه چيز هم بخوبی کار خواهد کرد ولی قيمت کامپيوتر بطرز قابل ملاحظه ای افزايش خواهد يافت. ايده Cache ، استفاده از يک مقدار کم حافظه ولی با سرعت بالا( قيمت بالا) برای افزايش سرعت و کارآئی حافظه زیاد ولی با سرعت پايين( قيمت ارزان ) است .

زمانيکه از Cacheاستفاده می گردد ، در ابتدا می بايست محتويات آن بمنظور يافتن اطلاعات مورد نظر بررسی گردد. فرآيند فوق را Cache hit می گويند. در صورتيکه اطلاعات مورد نظر در Cache موجود نباشند(Cache miss)، کامپيوتر می بايست در انتظارتامين داده های خود از حافظه اصلیسيستم باشد، حافظه ای که کند ولی باحجم بالاست.

يکی از چالش های اصلی در رابطه با طراحی Cache به حداقل رساندن زمان جستجو در Cacheاست. سخت افزارهای جديد ، زمان فوق را به صفر نزديک کرده اند