حتماً در گوشی یا لپ تاپ، اصطلاحی به نام کش (Cache) را شنیدهاید. Cache Memory با اسامی حافظه پنهان یا نهان، حافظه موقت و حافظه کش هم شناخته میشود و بهعنوان یک جزء سختافزاری یا نرمافزاری تعبیه شده در یک برنامه یا حافظه دستگاه تعریف میشود که بهطور خودکار و موقت، دادههای مصرف شده توسط کاربر را ذخیره میکند تا دفعه بعد که کاربر به برنامه یا دستگاه دسترسی پیدا کرد، زمان بازیابی دادههای آنها کاهش یابد. برای مشاهده قیمت گوشی کلیک کنید.
در این مقاله از مجله فناوری لیپک میخواهیم به بیانی بسیار ساده، به این سوالات پاسخ دهیم:
حافظه کش (Cache Memory) سختافزار یا نرمافزار جمعآوری و ذخیرهسازی موقت اما خودکار انواع داده است تا به وبسایتها، مرورگرها و برنامهها کمک کند که در مراجعه بعدی، در دستگاه کاربر سریعتر بارگذاری شوند.
دادههای حافظه پنهان بهطور موقت در فضای ذخیرهسازی دستگاه (حافظه گوشی یا کامپیوتر) جدا از حافظه اصلی ذخیره میشود. کش معمولاً توسط واحد پردازش مرکزی (CPU)، برنامهها، مرورگرهای وب و سیستمعاملها استفاده میشود؛ حتی CPU که دادهها را از نرمافزارهای لپ تاپ و برنامههای گوشی پردازش میکند، کش مخصوص به خود را دارد.
حافظه cache در واقع واسطه بین RAM و CPU است که باعث افزایش سرعت CPU میشود. از جنبه دیگر حافظه کش حافظهای کوچک، سریع و گرانتر از حافظه RAM است و همیشه مقداری از اطلاعات موجود در رم را در خود نگهداری میکند تا پردازنده بتواند زودتر به آن اطلاعات دسترسی پیدا کند. پس مثل یه بانک حافظه عمل میکند و دسترسی به دادهها را آسان میکند تا بهجای آنکه در هر بازدید از وبسایت یا برنامه کل محتوا و دادهها را بارگیری کنید، فقط یکبار این کار در سیستم انجام شود.
بسیاری از مهندسان نرمافزار بر این باورند که حافظه پنهان، تنها راه برای سریعتر کردن کارها است. به زبان ساده، زمانی که میخواهید دادههای مهم و پرکاربرد را بازیابی کنید، فقط آنها را در حافظه پنهان ذخیره کنید تا دفعه بعد، راحتتر و سریعتر به آن دسترسی پیدا کنید. در ادامه، مزایا و ضرورت حافظه پنهان را با هم مرور میکنیم.
حافظه موقت در سطح شبکههای اینترنت و کامپیوتر هم استفاده میشوند که برای صرفهجویی مصرف داده و هزینههای آن بسیار مفید هستند.
با وجود مزایای بالا، مشکلاتی هم در مورد حافظه پنهان وجود دارد که در زیر به آنها اشاره کردهایم.
دستورالعملهای نگهداری کش توسط الگوریتمهای آن ارائه میشود. نمونههایی از رایجترین الگوریتمهای ذخیرهسازی حافظه موقت عبارتند از:
انواع اصلی حافظه موقت را میتوان به چندین دسته کلی تقسیم کرد اما در اینجا، فقط به ارائه توضیح برای موارد عمومیتر آنها در گوشی و لپ تاپ میپردازیم.
کش L1 یا کش سطح اول، سریعترین حافظه در سیستم است که در CPU و انواع رایج حافظه نهان گنجانده شده است. اندازه حافظه نهان L1 بسته به پردازنده کامپیوتر بین 2 تا 64 کیلوبایت متغیر است که در مقایسه با سایر کشها بسیار ناچیز است. دستورالعملهای لازم و ضروری CPU ابتدا در حافظه پنهان L1 ذخیره و فراخوانی میشود.
کش سطح 2 که کش ثانویه نیز نامیده میشود، اغلب بزرگتر از کش L1 است. حافظه نهان L2 ممکن است در CPU گنجانده شود یا در یک تراشه یا پردازنده کمکی مستقل، حافظه پنهان و CPU را به هم متصل کند. بنابراین، با ترافیک داده در ترمینال اصلی سیستم، سرعت آن کاهش نخواهد یافت.
کش سطح سوم خارج از CPU قرار دارد و همه هستههای پردازنده آن را به اشتراک میگذارند. کش L3 نقش مهمی در به اشتراکگذاری دادهها و ارتباطات بین هستهای ایفا میکند و اندازه آن معمولاً از 1 مگابایت تا 8 مگابایت متغیر است. حافظه نهان L3 بزرگترین سطح کش (نسبت به L1 و L2) اما در عین حال کندترین آنها نیز است؛ با اینحال، حتی حافظه نهان L3 سریعتر از RAM عمل میکند.
هر مرورگر (مثل گوگل کروم) حافظه پنهان خود را استفاده میکند. کش مرورگر فایلهای لازم برای نمایش صفحات وب را که مرورگر به آنها دسترسی دارد ذخیره میکند. این دادهها شامل اطلاعات حساب کاربری، کدهای HTML، فایلهای CSS ظاهر سایت، کدهای جاوا اسکریپت، کوکیها و … میباشد.
برنامهها به حافظه پنهان نیاز دارند. برنامهها (اپلیکیشنها) مانند مرورگرها، دادهها و اطلاعاتی را که ضروری میدانند ذخیره میکنند و تا در صورت لزوم، آنها را به سرعت بارگیری کنند. سابقه فعالیتهای کاربر در برنامه، پیشنمایشهای رسانه و همچنین سایر تنظیمات انتخابی کاربر ممکن است جز دادههایی باشند که در حافظه موقت برنامهها ذخیره میشوند.
این شکل از کش یک کپی از هر داده ساکن RAM را که شما تغییر میدهید تولید میکند. بهطور معمول، کل پوشه در حافظه پنهان ذخیره میشود زیرا کامپیوتر پیشبینی میکند که ممکن است به بخشی از آن اطلاعات نیاز داشته باشید. بنابراین، دسترسی به یک فایل برای اولین بار ممکن است بسیار بیشتر از دسترسی به یک فایل موجود در آن طول بکشد.
این کش به فضای ذخیرهسازی (هارد) مربوط میشود که در آن دادهها در هنگام راهاندازی مجدد یا خرابی سیستم ذخیره میشوند. در این نوع کش، پشتیبانگیری از نیروی باتری برای ایمن کردن حفظ دادهها انجام میشود؛ یا آنکه دادهها به یک حافظه رم داینامیک با پشتیبانگیری از باتری به عنوان محافظی اضافی در برابر از دست دادن دادهها منتقل میشوند.
CPU cache مقداری از حافظه است که روی CPU قرار میگیرد. این حافظه به جای سرعت گذرگاه سیستم با سرعت CPU کار میکند و بسیار سریعتر از RAM است (برای اطلاعات بیشتر، مقاله CPU یا پردازنده چیست را بخوانید).
حافظه نهان رم معمولاً شامل حافظه دائمی تعبیه شده روی مادربورد و ماژولهای حافظه است که میتواند در اسلاتهای اختصاصی هم نصب شوند. حافظه کش CPU بین 10 تا 100 برابر سریعتر از RAM است و برای پاسخ به درخواست CPU تنها به چند نانوثانیه نیاز دارد. حافظه نهان رم نسبت به رسانههای مغناطیسی زمان پاسخگویی سریعتری دارد که ورودی/خروجی را با نرخهای میلیثانیهای ارائه میکند (برای اطلاعات بیشتر، مقاله حافظه رم چیست را بخوانید).
سایر انواع حافظه پنهان به شرح زیر میباشد:
حافظه کش بهطور خودکار دادههای قدیمی و غیر ضروری را حذف میکند اما میتوان برای افزایش سرعت و بهینگی گوشی و کامپیوتر، بهطور دستی حافظه کش را پاک کرد.
می توانید از نرمافزار داخلی Disk Cleanup ویندوز برای پاکسازی کش استفاده کنید. نام این نرمافزار را منوی استارت جستجو کنید.
در پنجره باز شده، درایو C را برای پاکسازی انتخاب کنید تا به صفحه زیر برسید:
از بخش Files to delete، گزینههای مورد نظرتان را انتخاب کرده و سپس Clean up my system files را کلیک کنید تا عملیات پاکسازی کش و دادههای موقت ویندوز انجام شود.
روش کلی پاک کردن حافظه پنهان مرورگرها برحسب نوع مرورگر یا مرورگر داخل ویندوز و گوشی تقریباً یکسان و مشابه است. در اینجا روش پاک کردن کش مرورگر گوگل کروم در کامپیوتر را آموزش میدهیم. برای این کار، مرورگر را باز کنید و مشابه تصویر زیر، مراحل را اجرا نمایید.
در بخش باز شده میتوانید بازه زمانی فایلهای ذخیره شده را برای پاکسازی انتخاب کنید.
سپس گزینههای مد نظر در مرورگر را انتخاب و Clear data را کلیک کنید.
سادهترین روش برای پاک کردن دادههای کش و موقت در حافظه گوشی، استفاده از سیستم داخلی و پیشفرض Cleaner در هر گوشی میباشد. همچنین میتوانید با نصب برنامههای تخصصی پاکسازی و بهینهسازی گوشی، کش گوشی و اپلیکیشنها را بهطور دورهای و مستمر پاک کنید.
در آخر و بهعنوان جمعبندی، خلاصهای از مهمترین اطلاعات و آموزشهای مرتبط با حافظه نهان را با هم مشاهده میکنیم.
حافظه کش یک نوع کوچک از حافظه کامپیوتری است که دسترسی سریع به دادهها را برای پردازنده فراهم میکند و برنامهها، نرمافزارها و دادههای کامپیوتری را که اغلب استفاده میشود در خود ذخیره میکند. ذخیره موقت دادهها، بازیابی آنها را آسانتر و سریعتر میکند.
هدف اصلی کش افزایش عملکرد بازیابی داده با کاهش نیاز به دسترسی به لایه ذخیرهسازی کندتر زیرین است. با کاهش ظرفیت حافظه موقت برای افزایش سرعت آن، یک کش معمولاً زیرمجموعهای از دادهها را بهطور موقت ذخیره میکند.
کش کردن (Caching) به فرآیند ذخیرهسازی موقت یک نسخه کپی از دادهها یا فایلها در حافظه محلی (حافظه دستگاه) گفته میشود تا برنامهها بتوانند سریعتر به آنها دسترسی پیدا کنند. کش کردن به کاربران این امکان را میدهد که دادهها را برای اپلیکیشنها، سرورها و مرورگرهای وب ذخیره کنند تا دیگر نیازی به دانلود دوباره آنها نباشد.
کش فایلهای موقت سیستم را ذخیره میکند؛ همچون عکس پروفایل در برنامههای شبکههای اجتماعی یا آخرین پیامها در تلگرام. همچنین دادههایی که برای اجرای برنامه، نرمافزار و وبسایت ضروری هستند نیز در کش ذخیره میشوند.
هنگامی که حافظه نهان پر است، ممکن است برای دستگاه مشکل ایجاد شود، سرعت دستگاه کاهش پیدا کند، برنامهها اجرا نشوند و عملکرد کلی دستگاه مختلف شود.
RAM حافظه پردازشی اصلی دستگاه است که سیستمعامل، برنامهها و دادهها را ذخیره میکند، در حالیکه کش مقدار کمی از حافظه است که برای ذخیره دادهها و دستورالعملهایی که اغلب به آنها نیاز خواهد بود استفاده میشود تا زمان پردازش کاهش پیدا کند. حافظه کش سریعتر است اما ظرفیت بسیار کمتری نسبت به رم دارد و البته گرانتر است.
یک واحد پردازش مرکزی (CPU) میتواند دارای چندین سطح حافظه پنهان برای ذخیره دادهها و دستورالعملهای قابل دسترسی باشد. حافظه کش به سه سطح تقسیم میشود:
-حافظه پنهان L1: سریعترین اما کوچکترین سطح برای دادهها و دستورالعملها
-حافظه پنهان L2: کندتر اما بزرگتر، فقط برای داده
-حافظه پنهان L3: کندترین، اما بزرگترین، فقط برای داده
پاک کردن حافظه موقت حافظه پنهان و کوکیهای مرورگر به این معنی است که تنظیمات وبسایت (مانند نامهای کاربری و رمز عبور) حذف میشوند و ممکن است برخی از سایتها و برنامهها کمی کندتر اجرا شوند زیرا همه تصاویر باید دوباره بارگیری شوند اما عملکرد کلی سیستم بهبود پیدا میکند.
پاک کردن حافظه پنهان در گوشی میتواند فضای ارزشمندی را در دستگاه آزاد کند و مشکلات باتری، سرعت و امنیت گوشی شما را حل کند. دادههای کش قدیمی میتوانند خراب شوند و باعث مشکلات عملکردی بزرگتر شوند.
خیر. پاک کردن کش فقط آنچه را در حافظه موقت برنامه وجود دارد پاک میکند و به برنامهها، تصاویر و … کاری ندارد.
منابع: spiceworks.com | techtarget.com