همهی ما در این سالها حتماً حداقل یک بار با کلمه "حافظه نهان" در ارتباط با تلفن همراه یا کامپیوتر شخصی خود آشنا شدهایم.با ما همراه باشید تا در ادامه به این موضوع جذاب بپردازیم.حافظه نهان (Cache Memory) یک بخش از واحد پردازشگر مرکزی (CPU) است که به سرعت قادر به ذخیره دادهها و دسترسی سریع به آنها میباشد.
واحد پردازنده مرکزی (CPU) مانند مغز کامپیوتر و حافظه نهان، حافظه کوتاه مدت آن است. دسترسی به حافظه پنهان سریعتر از دسترسی به هارد دیسک بوده، بنابراین دادهها در حافظه پنهان کپی میشوند و پس از قرار گرفتن در آن، می توان بدون بازگشت به جایی که دادهها از آن آمدهاند، از آنها استفاده کرد.
در واقع شما میتوانید حافظه نهان را معادل حافظه کوتاه مدت انسان باسرعت بالاتر در نظر بگیرید. هنگامی که واحد پردازش مرکزی (CPU) یک کامپیوتر نیاز به انجام عملیات مشابه بر روی یک داده را بیش از یک بار داشته باشد، این داده را در حافظه نهان ذخیره میکند. این عملیات به CPU این اجازه را میدهد تا به جای اینکه هر بار داده را بازیابی کند، از نمونه آن درحافظه پنهان به صورت بهينه استفادهای داشته باشد.
از آنجایی که حافظه نهان به CPU متصل است، باعثِ بهبودِ سرعت کلی رایانه شده، به ویژه در شرایطی که یک عملیات باید چندین بار تکرار شود. گذرگاه پرسرعت سیستم، حافظه نهان را به ریزپردازنده اتصال می دهد. حافظه نهان به سطوح مختلفی تقسیم می شود که عبارتند از :
حافظه نهان به سطوح مختلفی تقسیم می شود که عبارتند از :
در ادامه به بررسی این سطوح می پردازیم.
حافظه نهان در سطوح مختلف
حافظه نهان سطح 1 (L1) یا حافظه پنهان اولیه:
اندازه حافظه نهان سطح اول در مقایسه با سایرین بسیار کوچک، به طوری که بین 2KB تا 64KB است و به پردازنده کامپیوتر بستگی دارد. این حافظه در واقع رجیسترهای تعبیه شده در ریزپردازنده کامپیوتر (CPU) هستند که دستورالعمل های مورد نیاز CPU را ابتدا در حافظه پنهان سطح اول جستجو میکنند. نمونهای از این رجیسترها عبارتند از: انباره(accumulator)،ثبات آدرس (Address Register)،شمارنده برنامه(Program Counter)و غیره.
حافظه نهان سطح 2 (L2) یا ثانویه:
اندازه حافظه نهان سطح دوم بین 256 کیلوبایت تا 512 کیلوبایت است، در نتیجه از حافظه نهان اولیه بزرگتر می باشد. در صورتی که دستورالعمل های مورد نظر در حافظه پنهان L1، یافت نشود، ریزپردازنده کامپیوتر دستور العمل مورد نظر خود را در حافظه پنهان سطح دوم جستجو میکند.
حافظه نهان سطح 3 (L3) یا حافظه اصلی:
حافظه نهان سطح سوم از نظر اندازه، از سایر سطوح بزرگتر، اما سرعت آن از سطوح اول و دوم کمتر است. اندازه این حافظه ها بین 1 مگابایت تا 8 مگابایت است. در پردازنده های چند هستهای، هر هسته امکان دارد حافظه های نهان سطح یک و دو جداگانهای داشته باشد، اما همه هسته ها تنها یک کش سطح سوم مشترک دارند. کش L3 دو برابر سرعت رم است. در اینجا به مزایای حافظه نهان اشاره میکنیم: حافظه کش در مقایسه با حافظه اصلی و ثانویه سریعتر عمل می کند. برنامههای ذخیره شده توسط حافظه کش را میتوان در زمان کمتری اجرا کرد. زمان دسترسی به اطلاعات حافظه کش کمتر از حافظه اصلی است. حافظه کش، دادهها و دستورالعمل هایی را ذخیره میکند که به طور منظم توسط CPU استفاده میشود، بنابراین باعث افزایش عملکرد CPU میشود. حافظه کش گرانتر از حافظه اولیه و حافظه ثانویه است. دادهها به صورت موقت در حافظه کش ذخیره می شوند. هر زمان که سیستم خاموش شود، دادهها و دستورالعملهای ذخیره شده در حافظه نهان از بین میروند. هزینه بالای حافظه کش قیمت سیستم کامپیوتری را افزایش میدهد.
مزایای حافظه نهان:
معایب حافظه کش:
حالا تفاوت اصلی میان رم و حافظه نهان را بررسی می کنیم:
حافظه نهان و رم هر دو اجزای ضروری یک سیستم کامپیوتری هستند که ویژگیها، اهداف و قابلیتهای عملکردی متفاوت دارند. رم، حافظه اصلی رایانه است که سیستم عامل، برنامهها و دادهها را ذخیره میکند، در حالی که کش مقدار کمی از حافظه است که برای ذخیره دادهها و دستورالعملهایی که اغلب به آنها دسترسی پیدا میکنید استفاده میشود. علی رغم اینکه حافظه نهان سریعتر از رم است (دو برابر) اما گرانتر و ظرفیت کمتری نسبت به رم دارد. از طرف دیگر، رم ارزان تر و با ظرفیت بیشتری است.
در نتیجه، حافظه نهان یکی از اجزای مهم سیستم های کامپیوتری است که سریعتر از حافظه اصلی، و به بهبود عملکرد سیستم با ذخیره دادهها و دستورالعمل های پرکاربرد کمک میکند. حافظه کش به دلیل توانایی در دسترسی سریع به دادهها و دستورالعملهایی که اغلب مورد نیاز هستند، بخشی ضروری از سیستمهای محاسباتی مدرن به حساب میآید.
گردآورنده:هلیا شهبازی
پست الکترونیکی : shahbazi.helia82@gmail.com
منابع:
https://ecomputernotes.com/fundamental/disk-operating-system/what-is-cache-memory
https://www.geeksforgeeks.org/difference-between-ram-and-cache/
https://www.geeksforgeeks.org/cache-memory-in-computer-organization/
https://programmathically.com/what-is-the-purpose-of-cache-memory-and-how-does-it-work/