حافظه پنهان، نهانگاه یا کش (Cache) بخشی از حافظه سریع که چند دستور بعدی را که باید توسط پردازنده پردازش شوند را مشخص میکند (برای افزایش سرعت) و دادههایی را ذخیره میکند که کامپیوتر بتواند به سرعت به آنها دسترسی داشته باشد. فایل کردن یا قرار دادن در حافظه پنهان. حافظه پنهان حافظهای سریع درون پردازنده مرکزی است که جهت صرفه جویی در زمان مراجعه به حافظه اصلی بکار میرود.
زمانی که پردازنده مرکزی به مکانی در حافظه اصلی نیاز داشته باشد احتمالاً در آینده نزدیک مجدداً به آن محل دسترسی خواهد داشت که به این اصل همجواری زمانی میگویند. همچنین اگر پردازنده مرکزی به مکانی در حافظه اصلی نیاز داشته باشد احتمالاً در آینده نزدیک به مکانهای مجاور آن نیز نیاز خواهد داشت که به این اصل همجواری مکانی میگویند. بر این اساس حافظه نهانگاهی در زمان دسترسی به یک مکان حافظه مکانهای مجاور آن را نیز به درون پردازنده مرکزی میآورد تا در صورت نیاز سریعتر قابل دسترسی باشند و این اطلاعات را تا زمانی که مورد نیاز باشند در پردازنده مرکزی حفظ میکند. چون با افزایش سرعت پردازنده مرکزی، پردازنده مرکزی زمان بیشتری را در حال انتظار پاسخ حافظه اصلی میگذراند، حجم حافظه پنهان تأثیر زیادی در بهبود کارایی پردازنده مرکزی دارد. برای آن که حافظه پنهان تأثیر مثبتی در کارایی سیستم داشته باشد میبایست جستجو درون آن در زمان بسیار کوتاهی انجام شود. تشخیص این که آیا داده مورد نیاز پردازنده مرکزی درون حافظه پنهان هست یا نبایست بسیار بسرعت انجام شود. به همین دلیل ساختار حافظه پنهان کاملاً با ساختار حافظه اصلی متفاوت است و بسیار پیچیدهتر است و هرچه حجم حافظه پنهان افزایش یابد این پیچیدگی نیز بیشتر میشود. به همین دلیل حافظه پنهان بسیار گرانتر است و افزایش قیمت پردازنده با افزایش حجم حافظه پنهان بسیار زیاد است.