حافظه نهان Cache
حافظه نهان یا Cache چیست؟
حافظه نهان یا کش (Cache) به حافظهای گفته میشود که دادههایی را برای سرویسدهی سریعتر به درخواستهای آینده در خود نگهداری میکند. این دادهها ممکن است نتیجهی یک عمل محاسباتی پیشین و یا حتی نسخهای تکراری از دادههایی باشد که در مکانی دیگر ذخیره شده است.
استفاده از Cache چه به صورت نرم افزاری و چه با کمک سخت افزار مهیا شده باشد میتواند منجر به افزایش سرعت پاسخگویی در سیستم شود. در صورتی که هنگام نیاز به یک داده، این داده بر روی حافظه نهان یافت شود اصطلاحا حالت Cache hit رخ داده است و در غیراینصورت Cache miss رخ میدهد. به این ترتیب در حالت Cache hit بدون نیاز به انجام محاسبات مجدد یا خواندن دادهها از روی یک حافظه کندتر، دادهها مستقیما از روی کش خوانده میشوند.
نمونههایی از کاربرد حافظه نهان
یکی از کاربردهای رایج Cache در دنیای وب مشاهده میشود. این نوع کش که به حافظه نهان وب (Web Cache) معروف است به صورت نرمافزاری پیادهسازی میشود. اکثر مرورگرهای مدرن امروزی به یک Web Cache داخلی مجهز هستند، هنگامی که یک وبسایت را در مرورگر خود باز میکنید، بخشی از اطلاعات مورد نیاز نظیر فایلهای استایل آن در وب کش (بخشی از حافظهی محلی رایانه) ذخیره میشود و به این ترتیب حین گردش در صفحات دیگر سایت نیازی به بارگیری مجدد این اطلاعات نخواهد بود.
یکی دیگر از کاربردهای کش در پردازنده رایانه شماست. این نوع کش که به حافظه نهان پردازنده (CPU Cache) مشهور میباشد یک حافظهی کوچک است که در داخل پردازنده یا نزدیکی آن قرار دارد و سرعتی به مراتب بیشتر از حافظهی اصلی (RAM) دارد، در عین حال ظرفیتی به مراتب کمتر و قیمتی به مراتب بیشتر از آن دارد. زمانی که پردازنده میخواهد دادهای را از یک محل در رم بخواند یا در آن بنویسد ابتدا حافظه نهان را مورد جستجو قرار میدهد اگر داده در گذشته روی این حافظه قرار گرفته باشد از همان نسخه استفاده میکند چرا که سرعت نوشتن یا خواندن از Cache به مراتب بالاتر است. اکثر پردازندههای قدرتمند امروزی مجهز به چندین سطح مختلف کش میباشند.