حتماً در گوشی یا لپ تاپ، اصطلاحی به نام کش (Cache) را شنیدهاید. Cache Memory با اسامی حافظه پنهان یا نهان، حافظه موقت و حافظه کش هم شناخته میشود و بهعنوان یک جزء سختافزاری یا نرمافزاری تعبیه شده در یک برنامه یا حافظه دستگاه تعریف میشود که بهطور خودکار و موقت، دادههای مصرف شده توسط کاربر را ذخیره میکند تا دفعه بعد که کاربر به برنامه یا دستگاه دسترسی پیدا کرد، زمان بازیابی دادههای آنها کاهش یابد. برای مشاهده قیمت گوشی کلیک کنید.
در این مقاله از مجله فناوری لیپک میخواهیم به بیانی بسیار ساده، به این سوالات پاسخ دهیم:
- حافظه کش چیست؟
- کاربرد و اهمیت حافظه cache چیست؟
- حافظه موقت چند نوع است؟
- حافظه پنهان برنامهها در گوشی چیست؟
- تفاوت بین حافظه پنهان گوشی و حافظه پنهان لپ تاپ چیست؟
- کش کردن به چه معنی است؟
- دادههای موجود در حافظه پنهان چیست؟
- پاک کردن حافظه کش چطور انجام میشود؟
آنچه در این مقاله میخوانید:
Toggleحافظه پنهان چیست؟
حافظه کش (Cache Memory) سختافزار یا نرمافزار جمعآوری و ذخیرهسازی موقت اما خودکار انواع داده است تا به وبسایتها، مرورگرها و برنامهها کمک کند که در مراجعه بعدی، در دستگاه کاربر سریعتر بارگذاری شوند.
دادههای حافظه پنهان بهطور موقت در فضای ذخیرهسازی دستگاه (حافظه گوشی یا کامپیوتر) جدا از حافظه اصلی ذخیره میشود. کش معمولاً توسط واحد پردازش مرکزی (CPU)، برنامهها، مرورگرهای وب و سیستمعاملها استفاده میشود؛ حتی CPU که دادهها را از نرمافزارهای لپ تاپ و برنامههای گوشی پردازش میکند، کش مخصوص به خود را دارد.
حافظه cache در واقع واسطه بین RAM و CPU است که باعث افزایش سرعت CPU میشود. از جنبه دیگر حافظه کش حافظهای کوچک، سریع و گرانتر از حافظه RAM است و همیشه مقداری از اطلاعات موجود در رم را در خود نگهداری میکند تا پردازنده بتواند زودتر به آن اطلاعات دسترسی پیدا کند. پس مثل یه بانک حافظه عمل میکند و دسترسی به دادهها را آسان میکند تا بهجای آنکه در هر بازدید از وبسایت یا برنامه کل محتوا و دادهها را بارگیری کنید، فقط یکبار این کار در سیستم انجام شود.
مزایا و اهمیت حافظه موقت
بسیاری از مهندسان نرمافزار بر این باورند که حافظه پنهان، تنها راه برای سریعتر کردن کارها است. به زبان ساده، زمانی که میخواهید دادههای مهم و پرکاربرد را بازیابی کنید، فقط آنها را در حافظه پنهان ذخیره کنید تا دفعه بعد، راحتتر و سریعتر به آن دسترسی پیدا کنید. در ادامه، مزایا و ضرورت حافظه پنهان را با هم مرور میکنیم.
- عملکرد بهتر: مزیت اصلی کش این است که عملکرد سیستم را افزایش میدهد. با ذخیره نسخههای کش دادههای فایل وبسایتها، برنامهها و …، سیستم شما فقط باید یکبار محتوا را دانلود کند و در اجراهای بعدی میتواند فایلها را دوباره بارگیری و استفاده نماید.
- دسترسی آفلاین: برای افزایش سرعت اجرای مجدد، برنامهها دادههای قبلاً استفاده شده را در حافظه پنهان ذخیره میکنند. این کار به جز افزایش سرعت، در شرایط خاص برنامهها را قادر میسازد تا «آفلاین» کار کنند. بهعنوان مثال، اگر گوشی شما به اینترنت وصل نباشد، با باز کردن اینستاگرام یا تلگرام میتوانید آخرین نسخه از محتوا را به صورت آفلاین مشاهده کنید؛ چرا که این محتوا قبلاً در حافظه موقت کش ذخیره شده است.
- افزایش بهرهوری منابع: با یکبار دانلود و دسترسی همیشگی به آن، مصرف باتری، هزینه اینترنت و حتی مصرف منابع نرمافزاری سیستم کاهش پیدا میکند؛ این یعنی بهرهوری بیشتر در منابع که در کنار سرعت و انعطافپذیری سیستم، کاربرد Cache Memory را بیشتر نشان میدهد.
حافظه موقت در سطح شبکههای اینترنت و کامپیوتر هم استفاده میشوند که برای صرفهجویی مصرف داده و هزینههای آن بسیار مفید هستند.
مشکلات و معایب حافظه Cache
با وجود مزایای بالا، مشکلاتی هم در مورد حافظه پنهان وجود دارد که در زیر به آنها اشاره کردهایم.
- خرابی دادهها: حافظه پنهان ممکن است دچار آسیب شود که سبب خواهد شد دادههای ذخیره شده دیگر مفید نباشند. خرابی دادهها میتواند باعث از کار افتادن برنامههایی مانند مرورگرها یا نمایش نادرست دادههای برنامهها شود.
- کاهش کارایی سیستم: کش هر برنامه معمولاً ذخیرههای کوچکی از حافظه موقت هستند. اگر میزان کش بیش از حد بزرگ شود (حجم حافظه کش پر شود)، به کاهش عملکرد کلی سیستم منجر خواهد شد. حافظه پنهان پر شده همچنین میتواند حافظهای را که سایر برنامهها ممکن است به آن نیاز داشته باشند، مصرف کند که این امر، بر عملکرد برنامه تأثیر منفی میگذارد.
- بهروز نبودن: گاهی حافظه کش، به جای اطلاعات جدید و بهروز، اطلاعات قدیمی را به کاربر نمایش میدهد.
روش عملکرد حافظه کش
دستورالعملهای نگهداری کش توسط الگوریتمهای آن ارائه میشود. نمونههایی از رایجترین الگوریتمهای ذخیرهسازی حافظه موقت عبارتند از:
- Least Frequently Used: حافظه کش فایلهای با کمترین دفعات استفاده شده را ردیابی میکند و موردی که کمترین تعداد استفاده را دارد ابتدا حذف میشود.
- Least Recently Used: در این الگوریتم، مواردی را که اخیراً به آنها دسترسی پیدا کردهاید، نزدیک بالای حافظه پنهان قرار میدهد. هنگامیکه حافظه پنهان به حد مجاز خود میرسد، مواردی که اخیراً کمترین دسترسی را داشتهاند حذف میشوند.
- Most Recently Used: در این رویش ذخیرهسازی حافظه موقت، ابتدا مواردی را که اخیراً به آنها دسترسی داشتهاید حذف میکند. این روش زمانی بهترین است که اقلام قدیمیتر مورد استفاده قرار گیرند.
انواع حافظه پنهان کش
انواع اصلی حافظه موقت را میتوان به چندین دسته کلی تقسیم کرد اما در اینجا، فقط به ارائه توضیح برای موارد عمومیتر آنها در گوشی و لپ تاپ میپردازیم.
حافظه کش L1
کش L1 یا کش سطح اول، سریعترین حافظه در سیستم است که در CPU و انواع رایج حافظه نهان گنجانده شده است. اندازه حافظه نهان L1 بسته به پردازنده کامپیوتر بین 2 تا 64 کیلوبایت متغیر است که در مقایسه با سایر کشها بسیار ناچیز است. دستورالعملهای لازم و ضروری CPU ابتدا در حافظه پنهان L1 ذخیره و فراخوانی میشود.
حافظه کش L2
کش سطح 2 که کش ثانویه نیز نامیده میشود، اغلب بزرگتر از کش L1 است. حافظه نهان L2 ممکن است در CPU گنجانده شود یا در یک تراشه یا پردازنده کمکی مستقل، حافظه پنهان و CPU را به هم متصل کند. بنابراین، با ترافیک داده در ترمینال اصلی سیستم، سرعت آن کاهش نخواهد یافت.
حافظه کش L3
کش سطح سوم خارج از CPU قرار دارد و همه هستههای پردازنده آن را به اشتراک میگذارند. کش L3 نقش مهمی در به اشتراکگذاری دادهها و ارتباطات بین هستهای ایفا میکند و اندازه آن معمولاً از 1 مگابایت تا 8 مگابایت متغیر است. حافظه نهان L3 بزرگترین سطح کش (نسبت به L1 و L2) اما در عین حال کندترین آنها نیز است؛ با اینحال، حتی حافظه نهان L3 سریعتر از RAM عمل میکند.
کش مرورگر
هر مرورگر (مثل گوگل کروم) حافظه پنهان خود را استفاده میکند. کش مرورگر فایلهای لازم برای نمایش صفحات وب را که مرورگر به آنها دسترسی دارد ذخیره میکند. این دادهها شامل اطلاعات حساب کاربری، کدهای HTML، فایلهای CSS ظاهر سایت، کدهای جاوا اسکریپت، کوکیها و … میباشد.
کش برنامههای گوشی
برنامهها به حافظه پنهان نیاز دارند. برنامهها (اپلیکیشنها) مانند مرورگرها، دادهها و اطلاعاتی را که ضروری میدانند ذخیره میکنند و تا در صورت لزوم، آنها را به سرعت بارگیری کنند. سابقه فعالیتهای کاربر در برنامه، پیشنمایشهای رسانه و همچنین سایر تنظیمات انتخابی کاربر ممکن است جز دادههایی باشند که در حافظه موقت برنامهها ذخیره میشوند.
کش دیسک (Disk cache)
این شکل از کش یک کپی از هر داده ساکن RAM را که شما تغییر میدهید تولید میکند. بهطور معمول، کل پوشه در حافظه پنهان ذخیره میشود زیرا کامپیوتر پیشبینی میکند که ممکن است به بخشی از آن اطلاعات نیاز داشته باشید. بنابراین، دسترسی به یک فایل برای اولین بار ممکن است بسیار بیشتر از دسترسی به یک فایل موجود در آن طول بکشد.
حافظه پنهان دائمی (Persistent cache)
این کش به فضای ذخیرهسازی (هارد) مربوط میشود که در آن دادهها در هنگام راهاندازی مجدد یا خرابی سیستم ذخیره میشوند. در این نوع کش، پشتیبانگیری از نیروی باتری برای ایمن کردن حفظ دادهها انجام میشود؛ یا آنکه دادهها به یک حافظه رم داینامیک با پشتیبانگیری از باتری به عنوان محافظی اضافی در برابر از دست دادن دادهها منتقل میشوند.
حافظه پنهان CPU
CPU cache مقداری از حافظه است که روی CPU قرار میگیرد. این حافظه به جای سرعت گذرگاه سیستم با سرعت CPU کار میکند و بسیار سریعتر از RAM است (برای اطلاعات بیشتر، مقاله CPU یا پردازنده چیست را بخوانید).
حافظه موقت RAM cache
حافظه نهان رم معمولاً شامل حافظه دائمی تعبیه شده روی مادربورد و ماژولهای حافظه است که میتواند در اسلاتهای اختصاصی هم نصب شوند. حافظه کش CPU بین 10 تا 100 برابر سریعتر از RAM است و برای پاسخ به درخواست CPU تنها به چند نانوثانیه نیاز دارد. حافظه نهان رم نسبت به رسانههای مغناطیسی زمان پاسخگویی سریعتری دارد که ورودی/خروجی را با نرخهای میلیثانیهای ارائه میکند (برای اطلاعات بیشتر، مقاله حافظه رم چیست را بخوانید).
سایر انواع حافظه پنهان به شرح زیر میباشد:
- Direct-mapped cache using MCDRAM (مرتبط با پهنای باند شبکه)
- Fully associative cache (نوع پیچیده کش برای بهینهسازی آن)
- Flash cache (نوع پیشرفتهتر کش با تراشههای حافظه NAND)
- Server Cache (یا کش پروکسی برای کش صفحات و محتوای آنلاین در سطح سرور)
- Translation lookaside buffer (یا TLB؛ موثر در افزایش سرعت عملیات حافظه مجازی)
پاکسازی حافظه کش
حافظه کش بهطور خودکار دادههای قدیمی و غیر ضروری را حذف میکند اما میتوان برای افزایش سرعت و بهینگی گوشی و کامپیوتر، بهطور دستی حافظه کش را پاک کرد.
پاک کردن کش ویندوز لپ تاپ
می توانید از نرمافزار داخلی Disk Cleanup ویندوز برای پاکسازی کش استفاده کنید. نام این نرمافزار را منوی استارت جستجو کنید.
در پنجره باز شده، درایو C را برای پاکسازی انتخاب کنید تا به صفحه زیر برسید:
از بخش Files to delete، گزینههای مورد نظرتان را انتخاب کرده و سپس Clean up my system files را کلیک کنید تا عملیات پاکسازی کش و دادههای موقت ویندوز انجام شود.
پاک کردن کش مرورگر
روش کلی پاک کردن حافظه پنهان مرورگرها برحسب نوع مرورگر یا مرورگر داخل ویندوز و گوشی تقریباً یکسان و مشابه است. در اینجا روش پاک کردن کش مرورگر گوگل کروم در کامپیوتر را آموزش میدهیم. برای این کار، مرورگر را باز کنید و مشابه تصویر زیر، مراحل را اجرا نمایید.
در بخش باز شده میتوانید بازه زمانی فایلهای ذخیره شده را برای پاکسازی انتخاب کنید.
سپس گزینههای مد نظر در مرورگر را انتخاب و Clear data را کلیک کنید.
پاک کردن کش گوشی
سادهترین روش برای پاک کردن دادههای کش و موقت در حافظه گوشی، استفاده از سیستم داخلی و پیشفرض Cleaner در هر گوشی میباشد. همچنین میتوانید با نصب برنامههای تخصصی پاکسازی و بهینهسازی گوشی، کش گوشی و اپلیکیشنها را بهطور دورهای و مستمر پاک کنید.
پاک کردن کش برنامه
- به برنامه Setting در گوشی خود بروید.
- به پایین بروید و «برنامهها» یا را انتخاب کنید.
- کش برنامهای را که میخواهید پاک کنید پیدا کرده و روی آن ضربه بزنید.
- “Storage” را انتخاب کنید و سپس روی “Clear Cache” ضربه بزنید.
سوالات متداول حافظه پنهان
در آخر و بهعنوان جمعبندی، خلاصهای از مهمترین اطلاعات و آموزشهای مرتبط با حافظه نهان را با هم مشاهده میکنیم.
حافظه کش چیست؟
حافظه کش یک نوع کوچک از حافظه کامپیوتری است که دسترسی سریع به دادهها را برای پردازنده فراهم میکند و برنامهها، نرمافزارها و دادههای کامپیوتری را که اغلب استفاده میشود در خود ذخیره میکند. ذخیره موقت دادهها، بازیابی آنها را آسانتر و سریعتر میکند.
حافظه کش چه کاری انجام میدهد؟
هدف اصلی کش افزایش عملکرد بازیابی داده با کاهش نیاز به دسترسی به لایه ذخیرهسازی کندتر زیرین است. با کاهش ظرفیت حافظه موقت برای افزایش سرعت آن، یک کش معمولاً زیرمجموعهای از دادهها را بهطور موقت ذخیره میکند.
کش کردن به چه معناست؟
کش کردن (Caching) به فرآیند ذخیرهسازی موقت یک نسخه کپی از دادهها یا فایلها در حافظه محلی (حافظه دستگاه) گفته میشود تا برنامهها بتوانند سریعتر به آنها دسترسی پیدا کنند. کش کردن به کاربران این امکان را میدهد که دادهها را برای اپلیکیشنها، سرورها و مرورگرهای وب ذخیره کنند تا دیگر نیازی به دانلود دوباره آنها نباشد.
چه دادههایی در کش ذخیره میشود؟
کش فایلهای موقت سیستم را ذخیره میکند؛ همچون عکس پروفایل در برنامههای شبکههای اجتماعی یا آخرین پیامها در تلگرام. همچنین دادههایی که برای اجرای برنامه، نرمافزار و وبسایت ضروری هستند نیز در کش ذخیره میشوند.
وقتی حافظه کش پر شود چه اتفاقی میافتد؟
هنگامی که حافظه نهان پر است، ممکن است برای دستگاه مشکل ایجاد شود، سرعت دستگاه کاهش پیدا کند، برنامهها اجرا نشوند و عملکرد کلی دستگاه مختلف شود.
تفاوت رم و کش چیست؟
RAM حافظه پردازشی اصلی دستگاه است که سیستمعامل، برنامهها و دادهها را ذخیره میکند، در حالیکه کش مقدار کمی از حافظه است که برای ذخیره دادهها و دستورالعملهایی که اغلب به آنها نیاز خواهد بود استفاده میشود تا زمان پردازش کاهش پیدا کند. حافظه کش سریعتر است اما ظرفیت بسیار کمتری نسبت به رم دارد و البته گرانتر است.
کش L1 L2 L3 چیست؟
یک واحد پردازش مرکزی (CPU) میتواند دارای چندین سطح حافظه پنهان برای ذخیره دادهها و دستورالعملهای قابل دسترسی باشد. حافظه کش به سه سطح تقسیم میشود:
-حافظه پنهان L1: سریعترین اما کوچکترین سطح برای دادهها و دستورالعملها
-حافظه پنهان L2: کندتر اما بزرگتر، فقط برای داده
-حافظه پنهان L3: کندترین، اما بزرگترین، فقط برای داده
منظور از پاک کردن حافظه پنهان چیست؟
پاک کردن حافظه موقت حافظه پنهان و کوکیهای مرورگر به این معنی است که تنظیمات وبسایت (مانند نامهای کاربری و رمز عبور) حذف میشوند و ممکن است برخی از سایتها و برنامهها کمی کندتر اجرا شوند زیرا همه تصاویر باید دوباره بارگیری شوند اما عملکرد کلی سیستم بهبود پیدا میکند.
آیا پاک کردن کش مشکلی ندارد؟
پاک کردن حافظه پنهان در گوشی میتواند فضای ارزشمندی را در دستگاه آزاد کند و مشکلات باتری، سرعت و امنیت گوشی شما را حل کند. دادههای کش قدیمی میتوانند خراب شوند و باعث مشکلات عملکردی بزرگتر شوند.
آیا با پاک کردن کش، فایلهای گوشی هم پاک میشود؟
خیر. پاک کردن کش فقط آنچه را در حافظه موقت برنامه وجود دارد پاک میکند و به برنامهها، تصاویر و … کاری ندارد.
منابع: spiceworks.com | techtarget.com