حافظه نهان یا کش چیست؟

مهندس اربابیان مهندس اربابیان
175 بازدید
حافظه نهان چیست؟ - اهمیت حافظه نهان در سیستم

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

در واقع ریزپردازنده ها سرعت می گرفتند و حافظه همچنان کند باقی می ماند و به همین دلیل برای بهبود عملکرد ، حافظه پنهان و یا Cache ایجاد شد که در واقع بدون حافظه پنهان یا نهان، سیستم شما کند عمل خواهد کرد.در ادامه با لپ استوک همراه باشید.

حافظه نهان و CPU

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

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

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

 انواع مختلفی از حافظه Cache در اختیار داریم که باعث می شود از اتلاف وقت جلوگیری شود.

محل مرجع

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

حافظه Cache

حافظه Cache

دو راه انتقال داده ها از حافظه اصلی به Cache در سیستم وجود دارد. با وجود موقعیت مکانی، کامپیوتر می داند که به زودی از اطلاعات استفاده می شود و از این جهت از حافظه نهان یا Cache استفاده می کند تا سرعت کار بالا برود و روش دیگر استفاده از spatial locality است که ممکن است بعدا به فایل ها احتیاج داشته باشیم.

سطوح مختلف حافظه نهان یا Cache

همانطور که ذکر شد، در گذشته حضور حافظه نهان بسیار کمرنگ بود و امروز در تمامی رایانه ها و دستگاه های مختلف Cache یا کش وجود دارد و شما باید تفاوت بین حافظه نهان L1، L2 و L3 را بدانید که در این بخش به شما به صورت کامل توضیح خواهیم داد. پردازنده ها در ابتدا از یک سطح Cache استفاده می کردند و به مرور زمان نیاز شد تا از تمامی سطوح در موقعیت های مختلف استفاده شود.

حافظه نهان سطح L1

این Cache اولیه است که بسیار سریع عمل می کند، اما با محدودیت های مختلفی مواجه است.

حافظه نهان سطح L2

 کش L2 می تواند بر روی تراشه پردازنده یا در یک تراشه جداگانه با یک مسیر مستقیم پرسرعت (bus) به سی پی یو وصل شود و همچنین به این سطح از حافظه نهان، Cache ثانوی نیز گفته می شود.

حافظه نهان سطح L3

 حافظه تخصصی در سطح سوم قرار گرفته است که می تواند به عنوان پشتیبان Cache L1 و L2 شما باشد. در واقع با استفاده از این حافظه نهان، سرعت عملکرد L1, L2 افزایش پیدا می کند.

تعیین عملکرد حافظه نهان

ضریب کش به خوبی می تواند به شما درباره عملکرد پردازنده بگوید. با نظارت بر حافظه نهان در ریزپردازنده، می توانید به hit ratio یا ضریب کش نگاه کنید تا ببینید عملکرد سیستم به چه صورت است. فرمول عملکرد Cache به صورت زیر خواهد بود:

hit ratio = hit / (hit + miss) = number of hits/total accesses

اگر hit ratio خاموش است، شما می توانید با استفاده از راهکارهای مختلفی، عملکرد حافظه نهان خود را بهبود بخشید. شما می توانید برای بهبود عملکرد حافظه نهان از اندازه بلوک Cache بالاتر استفاده کنید، از یک لایه اشتراکی بالاتر استفاده کنید، میزان miss rate یا میزان درصد خطا رایانه را کاهش دهید.

عملکرد حافظه نهان

عملکرد حافظه نهان

افزایش حافظه نهان روش های افزایش Cache Memory

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

معمولا اکثر مادربردها از بروزرسانی سی پی یو پشتیبانی نمی کنند و تنها روشی که می توانید در پیش بگیرید، خرید سیستم جدید است. بد نیست به مادربرد خود نگاهی بیندازید، شاید بتوانید آن را به سطوح مختلفی نظیر L2 و L3 ارتقا دهید.

کش های دیگر در سیستم

در سال های اخیر، معماری ساختار حافظه نهان در ریزپردازنده ها پیشرفت بسیار زیادی داشته است. در ابتدا، رایانه ها از معماری write-through استفاده می کردند، به این معنی که وقتی داده های کاربر به Cache می رود، در رم کامپیوتر نیز به صورت خودکار عملیات بروزرسانی می شود. این روش به کندی صورت می گیرد ولی در عوض باعث می شود که خطر از دست رفتن فایل ها بسیار کاهش پیدا کند.

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

نگاشت حافظه نهان

نگاشت داده ها در حافظه نهان در سه نوع مختلف صورت می گیرد و علاوه بر سلسله مراتب L1, L2 و L3 دارای تنظیمات خاصی است که در ادامه به آن ها اشاره می کنیم.

حافظه نهان نگاشت مستقیم : با این پیکربندی، هر بلوک در یک مکان Cache که از قبل مشخص شده است، نگاش می شود.

نگاشت ارتباطی : این پیکربندی مانند نگاشت مستقیم در ساختار کش است و یک بلوک را در یک محل خاص در حافظه نهان ترسیم می کند.

تنظیم نگاشت حافظه نهان : این نوع پیکربندی میان دو نگاشت کش مستقیم و ارتباطی قرار می گیرد . اگر نگاشت از پیش تعیین شده است، هر بلوک به جای اینکه فقط یک محل تعیین شده داشته باشد، به زیر مجموعه ای از مکان های حافظه پنهان مختلف نگاشت خواهد شد.

رم نوعی حافظه کش با سرعت کمتر

رم نوعی حافظه کش با سرعت کمتر

خاموش شدن و حافظه

همانطور که میدانید، در RAM اطلاعات به صورت موقت ذخیره می شود و هرچه رم کامپیوتر شما بیشتر باشد، پردازنده کمتر درگیر انتقال اطلاعات از هارد دیسک های کند میشود. در کامپیوتر دو نوع رم وجود دارد که شامل DRAM یا رم پویا و SRAM یا رم استاتیک است.

رایج ترین رم ها، رم پویا یا DRAM است که در اکثر کامپیوترهای خانگی مشاهده می شود. هر سلول حافظه در DRAM دارای یک مدار با یک ترانزیستور و یک خازن است که خازن هر بیت داده را ذخیره می کند (خازن شارژ شده 1 و خازن دشارژ شده 0 است). برای نگه داشتن داده ها، DRAM باید هر چند میلی ثانیه بروزرسانی(Refresh) شود.

حافظه نهان در مقابل حافظه اصلی

مانند DRAM، حافظه نهان CPU هنگام خاموش کردن رایانه، حافظه خود را از دست می دهد و پس از روشن شدن مجددا شما دوباره از آن نسخه پشتیبان تهیه می کنید و حافظه پنهان جمع آوری اطلاعات را از ابتدا شروع می کند.

تفاوت هایی بین حافظه نهان و DRAM وجود دارد که در زیر برای شما ذکر شده است.

  • DRAM بر روی مادربرد نصب شده است اما کش از طریق اتصال BUS ایجاد شده است.
  • حافظه کش دو برابر سرعت بیشتری از DRAM دارد.
  • حافظه کش برخلاف DRAM نیازی به Refresh شدن ندارد.

حافظه نهان در مقابل حافظه مجازی

حافظه مجازی توسط سیستم عامل ایجاد می شود که باعث جلوگیری از دست رفتن اطلاعات به دلیل کمبود حافظه فیزیکی می شود. باید بدانید که Cache با حافظه مجازی متفاوت است و این باعث می شود تا داده های بی مصرف از RAM به دیسک منتقل شود.

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

حافظه نهان چیست؟

حافظه نهان چیست؟

بهبود سرعت کامپیوتر

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

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

شما می توانید به راحتی میزان استفاده از حافظه خود را در Windows Task Manager یا اگر از سیستم عامل مکینتاش استفاده می کنید، با استفاده از Mac Activity Monitor بررسی کنید. اینکه بدانید در پشت پرده کامپیوتر چه اتفاقاتی رخ می افتد و چه عملیاتی صورت می گیرد، باعث می شود تا بتوانید عملکرد کامپیوتر خود را افزایش دهید. برخی اوقات برای بهبود وضعیت حافظه نهان و RAM می توانید کامپیوتر خود را Restart کنید.

خرید یک کامپیوتر جدید

اگر در حال خرید یک کامپیوتر جدید هستید، بهتر است بدانید که کامپیوتر شما به چه میزان رم مجهز است و اگر فکر می کنید که برای شما کم است، می توانید آن را افزایش دهید و با استفاده از افزایش رم، در واقع Cache شما نیز بهبود پیدا می کند و در نتیجه برنامه های بیشتری می توانید به طور همزمان اجرا کنید بدون اینکه روی عملکرد سیستم تاثیر بگذارد.

علاوه بر رم و حافظه نهان، پردازنده کامپیوتر نیز تاثیر بسیار زیادی دارد . از بهترین سی پی یوهای کامپیوتر، پردازنده های Intel یا AMD می باشد.

اگر قصد دارید تا بازی های کامپیوتری را انجام دهید، به شما پیشنهاد می شود تا نسل نهم پردازنده اینتل را تهیه کنید و اگر قصد دارید تا ویرایش های ویدیویی با استفاده از سیستم خود انجام دهید، سی پی یو AMD Ryzen 2000 برای شما مناسب خواهد بود. اگر شما فقط کارهای معمولی را انجام می دهید، می توانید هر نوع سی پی یو را بر روی کامپیوتر خود نصب کنید.

پردازنده های AMD

پردازنده های AMD

1+
دسته بندی سخت افزار مقالات
اشتراک گذاری

نوشته های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  • آبان 24, 1399

نشان ملی ثبت

logo-samandehi

نماد اعتماد

درگاه پرداخت اینترنتی

سبد خرید

هیچ محصولی در سبد خرید نیست.

ورود به سایت