آموزشسخت افزار

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

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

آشنایی با حافظه های سیستم در رایانه

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

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

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

در مقابل، سیستم های حافظه اصلی، مانند حافظه با دسترسی تصادفی، می توانند هر 17 نانوثانیه داده ها را به پردازنده ارائه دهند. بنابراین، سیستم‌های حافظه اصلی تقریباً 3000 برابر سریع‌تر از سیستم‌های ذخیره‌سازی ثانویه هستند. با توجه به این تفاوت در سرعت، سیستم‌های کامپیوتری دارای سلسله مراتب حافظه هستند که این امکان را فراهم می‌سازد که داده‌ها با سرعت شگفت‌آوری سریع به پردازنده تحویل داده شوند. در ادامه نحوه حرکت داده ها از طریق سیستم های حافظه در یک کامپیوتر مدرن به شرح زیر است:

  • درایوهای ذخیره سازی (حافظه ثانویه): این دستگاه می تواند داده ها را به طور دائم ذخیره کند اما به سرعت پردازنده نیست. به همین دلیل، پردازنده نمی تواند مستقیماً از سیستم ذخیره سازی ثانویه به داده ها دسترسی داشته باشد.
  • رم (حافظه اصلی): این سیستم ذخیره سازی سریعتر از سیستم ذخیره سازی ثانویه است اما نمی تواند داده ها را به طور دائم ذخیره کند. بنابراین، زمانی که فایلی را روی سیستم خود باز می کنید، از هارد دیسک به رم منتقل می شود. با این حال، حتی رم به اندازه کافی برای پردازنده سریع نیست.
  • کش (حافظه اصلی): برای حل این مشکل، نوع خاصی از حافظه اصلی که به حافظه کش معروف بوده در پردازنده تعبیه شده و سریعترین سیستم حافظه روی یک کامپیوتر است. این سیستم حافظه به سه قسمت کش L1، L2 و L3 تقسیم می شود. بنابراین، هر داده ای که باید توسط CPU پردازش شود، از هارد دیسک به رم و سپس به حافظه کش منتقل می شود. گفته می شود، پردازنده نمی تواند مستقیماً از حافظه کش به داده ها دسترسی داشته باشد.
  • رجیسترهای پردازنده (حافظه اصلی ): رجیستر CPU در یک دستگاه محاسباتی کوچک بوده و بر اساس معماری پردازنده است. این ریجسترها می توانند 32 یا 64 بیت داده را در خود نگه دارند. هنگامی که داده ها به این رجیسترها منتقل می شوند، CPU می تواند به آن دسترسی داشته باشد و کار را انجام دهد.

آشنایی با رم و نحوه عملکرد آن

همانطور که قبلا توضیح داده شد، حافظه دسترسی تصادفی در یک دستگاه مسئول ذخیره و تامین داده ها به CPU برای برنامه های روی کامپیوتر است. برای ذخیره این داده ها، حافظه با دسترسی تصادفی از یک سلول حافظه دینامیک (DRAM) استفاده می کند. این سلول با استفاده از خازن و ترانزیستور ایجاد می شود. خازن در این آرایش برای ذخیره شارژ و بر اساس وضعیت شارژ خازن استفاده می شود. سلول حافظه می تواند 1 یا 0 را نگه دارد.

اگر خازن به طور کامل شارژ شود، گفته می شود که 1 را ذخیره می کند. از طرف دیگر، زمانی که تخلیه می شود، می گویند 0 را ذخیره می کند. اگرچه سلول DRAM قادر به ذخیره بارها است، اما این طراحی حافظه با اشکالاتی همراه است. ببینید، همانطور که رم از خازن برای ذخیره شارژ استفاده می کند، تمایل دارد شارژی را که در خود ذخیره کرده است از دست بدهد.

به همین دلیل، داده های ذخیره شده در رم ممکن است از بین بروند. برای حل این مشکل، شارژ ذخیره شده در خازن ها با استفاده از تقویت کننده های حسی که مانع از دست دادن اطلاعات ذخیره شده توسط رم شده، تجدید می شود. اگرچه این به روز رسانی شارژ، رم را قادر می سازد تا داده ها را در هنگام روشن بودن رایانه ذخیره کند، اما تأخیر را در سیستم ایجاد می کند زیرا رم نمی تواند داده ها را هنگام به روز رسانی به CPU منتقل کند و سرعت سیستم را کاهش می دهد.

علاوه بر این، رم به مادربرد متصل می شود که به نوبه خود با استفاده از سوکت به CPU متصل می شود. از این رو، فاصله قابل توجهی بین رم و پردازنده وجود دارد که زمان تحویل داده ها به CPU را افزایش می دهد. با توجه به دلایل ذکر شده در بالا، رم فقط هر 17 نانوثانیه داده را به CPU می دهد. با این سرعت، CPU نمی تواند به اوج عملکرد خود برسد. این به این دلیل است که CPU باید هر ربع نانوثانیه با داده‌هایی عرضه شود تا بهترین عملکرد را هنگام کار بر روی فرکانس بوست توربو 4 گیگاهرتز ارائه دهد. برای حل این مشکل، ما حافظه کش داریم، سیستم ذخیره سازی موقت دیگری که بسیار سریعتر از رم است.

آشنایی با حافظه کش و نحوه عملکرد آن

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

علاوه بر این، حافظه کش اطلاعات همه نرم افزارهای در حال اجرا بر روی سیستم شما را ذخیره نمی کند. در عوض، فقط داده هایی را که اغلب توسط پردازنده درخواست می شود، نگه می دارد. با توجه به این تفاوت ها، حافظه کش می تواند داده ها را با سرعت شگفت انگیزی به CPU ارسال کند. علاوه بر این، در مقایسه با رم، حافظه کش از سلول های استاتیک (SRAM) برای ذخیره داده ها استفاده می کند. در مقایسه با سلول‌های دینامیک، حافظه استاتیک نیازی به تجدید ندارد زیرا از خازن برای ذخیره شارژ استفاده نمی‌کند.

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

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

حافظه رم در مقابل حافظه کش

اکنون که درک اولیه ای از رم و کش داریم، می توانیم به نحوه مقایسه آنها با یکدیگر نگاه کنیم.

متریک حافظه رم حافظه کش
تابع داده های برنامه را برای همه برنامه های در حال اجرا در سیستم ذخیره می کند. داده ها و دستورالعمل های مورد نیاز CPU را که اغلب استفاده می شود ذخیره می کند.
سایز با توجه به تراکم حافظه بالا، رم می‌تواند در بسته‌هایی عرضه شود که می‌تواند از 2 گیگابایت تا 64 گیگابایت داده ذخیره کند. به دلیل تراکم حافظه کم، حافظه های کش داده ها را در محدوده کیلوبایت یا مگابایت ذخیره می کنند.
هزینه ساخت رم به دلیل طراحی تک ترانزیستور/خازن آن ارزان تر است. ساخت کش به دلیل طراحی 6 ترانزیستوری آن هزینه بر است.
موقعیت رم به مادربرد متصل است و از CPU فاصله زیادی دارد. کش یا در داخل هسته پردازنده وجود دارد یا بین هسته ها مشترک است.
سرعت رم کندتر است کش سریع تر است

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

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

منبع
makeuseof
نمایش بیشتر

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

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

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

دکمه بازگشت به بالا