معرفی حافظه های نهان و الگرویتم های آن ها
حافظه نهان به مکانی گفته می شود که در محیط های محاسباتی داده ها را به صورت موقت ذخیره می کند.
عموما حافظه نهان در دستگاه های کامپیوتری بسیار با ارزش است. امروز قصد داریم بهترین حافظه نهان و الگوریتم های آن را به طور دقیق تری بررسی کنیم.با گروه فنی مهندسی زرین هور همراه باشید
حافظه نهان چیست؟
حافظه نهان در کامپیوتر به سرعت بخشیدن در دسترسی داده ها و کم شدن میزان تاخیر و بهبود ورودی و خروجی کمک می کند.
شما زمانی که از صفحه وب بازدید میکنید یک سری فایلها که مرورگر درخواست میکند بر روی حافظه ذخیره میشود،
زمانیکه دکمه back کلیک شود مرورگر میتواند بیشتر فایلهایی که مورد نیاز است را از طریق حافظه پنهان بازیابی کند.
به این ترتیب نیازی به فراخوانی مجدد آن ندارید.
به این روش “خواندن از حافظه پنهان ” گفته می شود و مبرهن است که سرعت بیشتری پیش روی شماست.
الگوریتم های حافظه نهان
به طور کلی یک سری الگوریتمها وجود دارد که برای نحوه دسترسی به حافظه نهان ارائه شده اند.
یکی از الگوریتم های مهم در این لاین LFUنام دارد.
این الگوریتم معمولا بررسی می کند که یک ورودی چقدر در دسترس است.
در خصوص شمارنده های مختلف نیز از این الگوریتم استفاده می شود.
این الگوریتم سعی می کند ورودی که کمترین میزان شمارنده را دارد زودتر حذف کند.
LRU الگوریتمیست که به آیتمهایی که اخیرا استفاده شده، اشاره دارد و آنها را در بالای حافظه نهان نگاه میدارد.
در صورتی که حافظه پنهان پر شود آیتمهایی که کمتر مورد دسترسی قرار گرفته باشد به طور اتوماتیک زودتر حذف میشود.
MRU سعی به حذف آیتم هایی دارد که اخیرا بیش تر مورد استفاده قرار گرفته اند.
این الگوریتم در فضایی استفاده می شود که هدف دسترسی به آیتم های قدیمی است.
انواع حافظه نهان
حافظه نهان خود به چندین دسته تقسیم می شود که هر کدام وظایف مخصوص به خود را دارند.
حافظه نهان write-around در ابتدا دادهها را در حافظه ذخیره معمولی قرار میدهد و در صورت امکان به حافظه پنهان منتقل میشود.
این مورد سبب می شود تا حافظه نهان سرریز نشود.
این روش یک ایراد دارد،
در واقع داده ها تا زمانی که از حافظه ذخیره سازی خوانده نشوند در حافظه نهان ذخیره نخواهند شد.
به این ترتیب به سادگی متوجه می شویم که عملیات خواندن در این روش نسبتا کند پیش می رود.
مورد بعدی حافظه نهان write-through است،
در این روش داده ها روی حافظه پنهان و همینطور حافظه ذخیره سازی نوشته می شود،
مزیت این روش به این صورت است که داده هایی که جدید نوشته می شود همیشه در حافظه پنهان ذخیره می شوند و سرعت در خواندن بیشتر است.
ایراد این روش این است که تا زمانی که داده ها بر روی هر دو حافظه نوشته نشود عملیات نوشتن کامل اعلام نخواهد شد
به این ترتیب شاهد تاخیر هستیم.
حافظه نهان write-back در این روش ابتدا اطلاعات در حافظه پنهان نوشته می شود،
اطلاعات بر روی حافظه ذخیره سازی کپی می شود.
امکان از دست رفتن اطلاعات در این روش بسیار است.
نحوه افزایش حافظه پنهان
حافظه پنهان بخش مشخصی از پردازنده مجتمع است.
به طور کلی این حافظه یا بر روی CPU قرار دارد و یا در تراشه ای روی برد سیستم به طور خاصی تعبیه شده است.
اگر بخواهید حافظه پنهان را افزایش دهید تنها راهی که پیش روی شماست نصب یک برد نسل جدیدتر است و همینطور تعبیه پردازنده جدیدتری که سازگار با آن است.
در نظر داشته باشید که بردهای قدیمی تر سیستم ها دارای یک Slot خالی هستند.
چنین Slot هایی اغلب برای افزایش حافظه پنهان استفاده می شوند.
اما بر طبق بررسی های انجام شده متوجه شدیم که بیش تر بردهای سیستم های جدید از چنین آپشنی برخوردار نیستند و یا عملکرد بسیار ضعیفی ارائه می کنند.