در علوم رایانه، به هر وسیله که توانایی نگهداری اطلاعات را داشته باشد، حافظه میگویند. حافظه یکی از قسمتهای ضروری و اساسی یک رایانه بهشمار میرود. همانطور که انسان برای نگهداری اطلاعات مورد نیاز خود علاوه بر حافظه درونی خویش از ابزارهای گوناگون دیگری همانند کاغذ، تخته سیاه، نوار ضبط صوت، نوار ویدئو و ... استفاده میکند رایانه هم میتواند از انواع گوناگون حافظه استفاده کند. بهطور کلی دو نوع حافظه داریم:
کلیه دستورالعملها و دادهها، برای این که مورد اجرا و پردازش قرار گیرند، نخست باید به حافظه اصلی رایانه منتقل گردند و نتایج پردازش نیز به آنجا فرستاده شود. حافظه اصلی رایانه از جنس نیمه رسانا (الکترونیکی) است و در نتیجه، سرعت دسترسی به اطلاعات موجود در آنها در مقایسه با انواع حافظه جانبی که به صورت مکانیکی کار میکنند مانند دیسک سخت، دیسکگردان، و لوح فشرده بالا و قیمت آن نیز گرانتر است اما در مقابل حافظههایی، که به پردازنده نزدیکتر هستند و از ظرفیت کمتری برخوردارند مانند ثبات (به انگلیسی: Processor Registers) و حافظه نهان سیپییو (به انگلیسی:Cache) گرانتر و از سرعت دسترسی بالاتری بهره میبرند.
حافظههای اصلی نیز به دو دسته تبدیل میشوند:
فهرست مطالب:
سلسله مراتب حافظه
مشخصات برنامه ها و سازماندهی حافظه
حافظه با دستیابی تصادفی
کارایی حافظه
چگونه می توان کارایی سیستم حافظه را بهبود بخشید
حافظه نهان
قانون مور – یک فرصت از دست رفته
نهفتگی در یک سیستم واحد
همجواری مراجع
مکانهایی با احتمال دستیابی بالا (زمان کوتاه)
همجواری
همجواری موقتی
همجواری مکانی
مقدمه ای بر طراحی cache
فاکتورهای کلیدی در تصمیم طراحی برای Cache و VM
Cache در سلسله مراتب حافظه
چهار سوال برای دسته بندی سلسله مراتب حافظه
نسبت برخورد (یا موفقیت)
حساسیت کارایی
سازمان دهی cache
پیوستگی کامل
نگاشت مستقیم
قرار گیری پیوسته
جمع تمام بیت ها در cache
به روز کردن حافظه اصلی / خط و مشي واکشی
و...