حافظه کش یا Cache Memory چیست؟
Cache Memory چیست؟ Cache Memory یا حافظه نهان یک حافظه با دسترسی تصادفی و بسیار سریع از نوع SRAM می باشد که در سال ۱۹۸۰ به منظور جلوگیری از تاخیر زمانی بین پردازنده و حافظه رم ارائه شده است.
کش(Cache) یک حافظه سریع و کوچک می باشد که مقداری از اطلاعات موجود در رم را در درون خود نگه می دارد تا پردازنده با سرعت بیشتری به اطلاعات دسترسی پیدا کند. به عبارت دیگر حافظه پنهان حافظه کش داده هایی که بصورت مکرر مورد نیاز می باشد را ذخیره می کند.
برای درک بیشتر به مثال زیر توجه کنید:
یک قنادی را در نظر بگیرید که یک فروشنده دارد. اگر پر فروش ترین شیرینی قنادی در دور ترین نقطه به صندوق فروشگاه قرار داده شود، با هر بار ورود مشتری و در خواست شیرینی مذکور، فروشنده ناچار است از محل صندوق به مکان شیرینی پرفروش برود و بازگردد تا شیرینی را تحویل مشتری دهد. در این شرایط هم مشتری که خواهان شیرینی محبوب و پرفروش است معطل می شود و هم ممکن است مشتری های دیگری در مغازه وارد شوند و در صف انتظار بمانند. راه حل این است که شیرینی محبوب مشتریان، نزدیک به صندوق و کنار فروشنده قرار بگیرد تا فروشنده مسافتی را طی نکند و کار مشتری زودتر انجام شود.
در مثال گفته شده فروشنده همان پردازنده ماست که اگر اطلاعات پر استفاده و پر تکرار را بخواهد هر بار از رم بردارد، زمان زیادی تلف می شود. پس اطلاعات پر استفاده و مهم در حافظه کش که نزدیک پردازنده است، قرار می گیرد. به این ترتیب سرعت دسترسی به اطلاعات بالا می رود.
محل قرار گیری حافظه کش
حافظه کش (Cache) یا به شکل مستقیم درون پردازنده قرار می گیرد یا به صورت یک تراشه خارجی کنار آن نصب و به وسیله یک گذرگاه به پردازنده وصل می شود.
هنگام پردازش داده، ابتدا پردازنده سراغ حافظه کش می رود اگر اطلاعات و داده های مورد نیاز در حافظه کش یافت شود، آن ها را می خواند. در غیر این صورت مجبور است زمان بیشتری صرف کند و به سراغ حافظه رم برود.
تاریخچه حافظه Cache
اولین رایانه هایی که از حافظه کش استفاده می کردند، Main Frame ها بودند. SRAM ها از دهه ۱۹۸۰ ارائه شدند. اولین حافظه های کش، فضایی برابر با ۱۶ تا ۱۲۸ کیلوبایت داشتند. با گذشت زمان پردازنده های ۴۸۶ و پردازنده های ۵۱۲ کیلوبایتی نیز معرفی شدند.
بررسی کاربرد حافظه کش
حال که فهمیدیم Cache Memory چیست؟ کاربرد کش مموری در سخت افزار و نرم افزارهای مختلف را بررسی می کنیم.
حافظه کش در دستگاهها
CPU جزء اصلی پردازش اطلاعات در کامپیوترها، موبایل یا تبلت می باشد. کش پردازنده یک قطعه حافظه کوچک است که به پردازنده کمک میکند تا به آسانی به اطلاعات پرتکرار، دست یابد.
مرورگرهای وب
مرورگرهای اینترنتی، حافظه کش مخصوص به خود را دارند. حافظه کش یک مرورگر، فایلهای مورد نیاز برای نمایش وبسایتهای (تصاویر، فایل های HTML و CSS، کوئری دیتابیس و غیره) را ذخیره میکند. به این ترتیب آن وبسایت در سرچ های بعدی سریعتر بارگذاری می شود. برای درک بیشتر به مثال زیر توجه کنید.
وقتی کاربر از سایتی بازدید میکند، مرورگر تمام تصاویر موجود در صفحاتی که باز کرده است، فایلهای HTML، اطلاعات شخصی مثل اطلاعات ورود به حساب کاربری و محتویات سبد خرید را در حافظه کش ذخیره می کند. در نتیجه در صورتی که کاربری کش مرورگر خود را حذف کند، باید مجددا وارد حساب خود شود.
Cache شدن وبسایت توسط موتورهای جستجو در سئو موثر است زیرا موجب افزایش سرعت سایت می شود که این افزایش سرعت و سریع لود شدن از جمله فاکتورهای مهم برای بهبود رتبه سایت است.
اپلیکیشنها
مانند دستگاه ها و مرورگرها، اپلیکیشنها نیز حافظه کش دارند تا فایلها و دادههای مهم و پر تکرار را ذخیره کنند. به این ترتیب می توانند در موقع نیاز، آن داده ها را به سرعت بارگذاری کنند. با توجه به اینکه هر اپلیکیشن، کاربرد متفاوتی دارد، نوع دادههایی که کش میکند نیز متفاوت است. معمولا تاریخچه جستجو، تصاویر و غیره در حافظه کش اپلیکیشن ها ذخیره می شود.
سرورها
شرکت های ISP از کش سرور به منظور صرفه جویی در پهنای باند استفاده می کنند. به این ترتیب زمانی که کاربر عبارتی را جست جو می کند. صفحه مربوطه پس از نمایش در حافظه کش سرور شرکت ISP ذخیره می شود. به این ترتیب در دفعات بعد که همان سایت توسط کاربر جستجو شود، وب سایت اصلی از حافظه کش لود میشود نه از وب سرور اصلی.
پس پهنای باند شرکت مصرف نمی شود و سرعت لود سایت نیز افزایش می یابد. حافظه کش سرور بین بازه زمانی ۳ الی ۴۸ ساعت توسط شرکت ISP بروز می شود.
کش در سیستمهای ذخیرهسازی
در ذخیره ساز ها حافظه کش توسط RAID کنترلرها مدیریت می شوند و از تراشه های سیلیکونی و DRAM تشکیل شده است. استفاده از کش در رید کنترلر، سرعت عملیات نوشتن را افزایش داده و کارایی کلی سیستم را بالا میبرد.
اگر می خواهید بیشتر با حافظه کش در سیستم های ذخیره سازی آشنا شوید؛ کلیک کنید.
[…] پیشنهاد نیک اندیشان: Cache Memory چیست؟ […]