در سالهای اخیر پردازندههای رایانهای بسیار پیشرفت کردهاند. ترانزیستورها هر ساله کوچکتر میشوند و پیشرفتها به نقطهای میرسند که قانون مور در حال ازبین رفتن است. وقتی صحبت از پردازنده میشود، فقط ترانزیستورها و فرکانسها نیستند بلکه حافظه پنهان نیز باید در نظر گرفته شوند.
هنگام بحث در مورد CPU ها (واحد پردازش مرکزی) ممکن است در مورد حافظه نهان (کش) چیزی شنیده باشید. با این حال، ما این اعداد مربوط به حافظه نهان پردازنده توجه کافی نشان نمیدهیم، و آنها برجستهترین موارد تبلیغات پردازنده نیستند.
بنابراین، حافظه پنهان پردازنده دقیقاً چقدر مهم است و چگونه کار میکند؟
به زبان ساده، حافظه پنهان پردازنده فقط یک نوع حافظه بسیار سریع است. در روزهای اولیه محاسبات، سرعت پردازنده و سرعت حافظه کم بود. با این حال، در طول دهه ۱۹۸۰، سرعت پردازش به سرعت شروع به افزایش کرد. حافظه سیستم در آن زمان (RAM) نمیتوانست با افزایش سرعت پردازنده کنار بیاید یا مطابقت داشته باشد، بنابراین نوع جدیدی از حافظه فوق العاده سریع متولد شد: حافظه پنهان پردازنده.
اکنون، رایانه شما دارای چندین نوع حافظه میباشد.
حافظه اصلی مانند یک دیسک سخت یا SSD وجود دارد که قسمت عمدهای از دادهها در آن ذخیره میشود- سیستم عامل و برنامهها.
در مرحله بعدی، حافظه دسترسی تصادفی داریم که معمولاً با نام RAM شناخته میشود. این حافظه بسیار سریعتر از ذخیرهسازی اولیه است اما فقط یک ذخیرهسازی کوتاه مدت است. رایانه و برنامههای موجود در آن از حافظه RAM برای ذخیره دادههایی که به طور مکرر قابل دسترسی هستند، استفاده میکنند و به شما کمک میکنند توابع در رایانه سریع و خوب انجام شوند.
سرانجام، پردازنده حتی دارای واحدهای حافظه سریعتری در درون خود است که به عنوان حافظه نهان پردازنده شناخته میشود.
حافظه رایانه براساس سرعت عملیاتی خود دارای یک سلسله مراتب است. حافظه نهان پردازنده در راس این سلسله مراتب قرار دارد و سریعترین میباشد. همچنین نزدیکترین مکانی است که پردازش مرکزی اتفاق میافتد، زیرا بخشی از پردازنده مرکزی است.
حافظه رایانه نیز در انواع مختلف وجود دارد.
حافظه پنهان نوعی RAM استاتیک (SRAM) است، در حالی که RAM سیستم عادی شما با نام RAM پویا (DRAM) شناخته میشود. برخلاف DRAM، که SRAM را برای حافظه پنهان ایده آل میکند، RAM استاتیک میتواند دادهها را بدون نیاز به تازهسازی مداوم نگه دارد.
برنامههای موجود در رایانه شما به عنوان مجموعه دستورالعملهایی طراحی شدهاند که پردازنده مرکزی آنها را تفسیر و اجرا میکند. هنگام اجرای یک برنامه، دستورالعملها از حافظه اصلی (هارد دیسک شما) به CPU راه مییابند. اینجاست که سلسله مراتب حافظه وارد عمل میشود.
دادهها ابتدا در RAM بارگیری میشوند و سپس به CPU ارسال میشوند. این روزها پردازندهها قادر به انجام تعداد زیادی دستورالعمل در ثانیه هستند. برای استفاده کامل از توان خود، CPU نیاز به دسترسی به حافظه فوقالعاده سریع دارد، جایی که حافظه نهان پردازنده وارد میشود.
کنترل کننده حافظه، دادهها را از RAM گرفته و به حافظه نهان پردازنده میفرستد. بسته به CPU شما، کنترلر در CPU یا چیپست Northbridge موجود در مادربرد یافت میشود.
سپس حافظه نهان دادهها را به پردازنده منتقل میکند. سلسله مراتب حافظه نیز در حافظه نهان پردازنده وجود دارد.
بیشتر بخوانید: راه کارهایی برای حل کند شدن کامپیوتر
حافظه پنهان پردازنده به سه سطح L1 و L2 و L3 تقسیم میشود. سلسله مراتب حافظه دوباره با توجه به سرعت و بنابراین اندازه حافظه پنهان است.
بنابراین، آیا اندازه حافظه نهان پردازنده تفاوتی در عملکرد دارد؟
حافظه پنهان L1 (سطح ۱) سریعترین حافظهای است که در سیستم رایانه وجود دارد. از نظر اولویت دسترسی، حافظه پنهان L1 دارای دادههایی است که پردازنده به احتمال زیاد هنگام انجام یک کار خاص به آن نیاز دارد.
اندازه حافظه پنهان L1 به پردازنده مرکزی بستگی دارد. برخی از پردازندههای سطح بالای مصرف کننده هم اکنون از حافظه پنهان ۱ مگابایتی L1 مانند Intel i9-9980XE بهره میبرند، اما این کار هزینههای زیادی را در بردارد و هنوز هم بسیار کم است. برخی از چیپستهای سرور، مانند محدوده Xeon اینتل، از حافظه پنهان ۱,2MB برای L1 نیز برخوردار هستند.
اندازه کش L1 “استاندارد” وجود ندارد، بنابراین قبل از خرید باید مشخصات پردازنده را بررسی کنید تا اندازه حافظه نهان حافظه L1 دقیق مشخص شود.
حافظه پنهان L1 معمولاً به دو بخش حافظه پنهان دستورالعمل و حافظه پنهان داده تقسیم میشود. حافظه پنهان دستورالعمل با اطلاعات مربوط به عملیاتی که پردازنده باید انجام دهد سروکار دارد، در حالی که حافظه پنهان دادهای، دادههایی را که قرار است عملیات بر روی آنها انجام شود در خود نگه میدارد.
حافظه پنهان L2 (سطح ۲) کندتر از حافظه نهان L1 است اما اندازه آن بزرگتر است. در مواردی که حافظه پنهان L1 بر حسب کیلوبایت اندازهگیری میشود، حافظه پنهان L2 مدرن در مگابایت اندازهگیری میشود. به عنوان مثال، AMD سری Ryzen 5 5600X دارای یک حافظه پنهان 384KB برای L1 و یک حافظه پنهان 3MB برای L2 (به علاوه یک حافظه نهان ۳۲ مگابایتی برای L3) است.
اندازه حافظه پنهان L2 بسته به پردازنده متفاوت است، اما اندازه آن معمولاً بین ۲۵۶ کیلوبایت تا ۸ مگابایت است. اکثر پردازندههای مدرن بیش از 256KB حافظه نهان L2 را در خود جای دادهاند و اکنون این اندازه کوچک در نظر گرفته شده است. بعلاوه، برخی از پردازندههای قدرتمند مدرن دارای حافظه پنهان L2 بزرگتر، بیش از ۸ مگابایت هستند.
وقتی نوبت به سرعت میرسد، حافظه پنهان L2 از حافظه نهان L1 عقب میماند اما هنوز بسیار سریعتر از RAM سیستم شما است. حافظه پنهان L1 معمولاً ۱۰۰ برابر سریعتر از RAM شما است، در حالی که حافظه پنهان L2 حدود ۲۵ برابر سریعتر است.
وارد حافظه پنهان L3 (سطح ۳) شوید. در روزهای اولیه، حافظه پنهان L3 در واقع در مادربرد یافت میشد. این مدتها پیش بود، زمانی که بیشتر پردازندههای مرکزی فقط پردازندههای تک هستهای بودند. اکنون حافظه پنهان L3 در پردازنده شما میتواند بزرگ باشد، با پردازندههای سطح بالا مصرف کننده دارای حافظه پنهان L3 تا ۳۲ مگابایت هستند. در برخی از پردازندههای سرور، حافظه پنهان L3 میتوانند بیش از این حافظه پنهان باشند، حداکثر ۶۴ مگابایت.
حافظه پنهان L3 بزرگترین اما کم سرعتترین حافظه حافظه پنهان است. پردازندههای مدرن حافظه پنهان L3 را روی خود پردازنده قرار میدهند. اما در حالی که حافظه نهان L1 و L2 برای هر هسته روی خود تراشه وجود دارد، حافظه نهان L3 بیشتر شبیه یک حافظه عمومی است که کل تراشه میتواند از آن استفاده کند.
تصویر زیر سطح حافظه پردازنده را برای پردازنده مرکزی Core i5-3570K Intel نشان میدهد:
توجه داشته باشید که حافظه نهان L1 به دو قسمت تقسیم شده است، در حالی که L2 و L3 به ترتیب بزرگتر هستند.
سوال خوبی است همانطور که انتظار دارید هرچه بیشتر بهتر است. جدیدترین پردازندهها به طور طبیعی حافظه پنهان بیشتری را نسبت به نسلهای قدیمیتر شامل میشوند. یک کاری که میتوانید انجام دهید این است که یاد بگیرید چگونه CPU ها را به طور موثر مقایسه کنید. اطلاعات زیادی در این زمینه وجود دارد و یادگیری نحوه مقایسه و تقابل پردازندههای مختلف میتواند به شما در تصمیمگیری صحیح در خرید کمک کند.
بیشتر بخوانید: ۵ نشانه و علامت که نشان میدهد RAM شما در شرف خراب شدن است
سوال مهم: حافظه نهان پردازنده چگونه کار میکند؟
دادهها از RAM به حافظه نهان L3، سپس L2 و در نهایت L1 جریان مییابند. وقتی پردازنده به دنبال داده برای انجام عملیاتی است، ابتدا سعی میکند آن را در حافظه پنهان L1 پیدا کند. اگر CPU آن را پیدا کند، به این حالت cache hit گفته میشود. سپس پیدا کردن آن در L2 و سپس L3 ادامه مییابد.
اگر CPU دادهها را در حافظه پنهان را پیدا نکند، سعی میکند آنها را از حافظه سیستم (RAM) پیدا کند.
اکنون، همانطور که میدانیم، حافظه پنهان برای سرعت بخشیدن تبادل اطلاعات بین حافظه اصلی و پردازنده مرکزی طراحی شده است. به زمان مورد نیاز برای دسترسی به دادهها از حافظه “latency (تاخیر)” گفته میشود.
حافظه پنهان L1 کمترین تأخیر را دارد، سریعترین و نزدیکترین به هسته میباشد و L3 بالاترین تاخیر را دارد. تأخیر حافظه نهان در صورت عدم وجود کَش افزایش مییابد زیرا پردازنده مجبور است دادهها را از حافظه سیستم بازیابی کند.
با سرعت بیشتر و کارآیی رایانهها، تأخیر همچنان کاهش مییابد. حافظه رم DDR4 و حافظههای SSD بسیار سریع باعث کاهش زمان تاخیر میشود و کل سیستم شما را سریعتر از همیشه میکند. به این ترتیب، سرعت حافظه سیستم شما نیز مهم است.
طراحی حافظه پنهان همیشه در حال پیشرفت است، به خصوص که حافظه کمتر، سریعتر و متراکم میشود. به عنوان مثال، یکی از جدیدترین نوآوریهای AMD حافظه دسترسی هوشمند و حافظه پنهان Infinity است که هر دو عملکرد کامپیوتر را افزایش میدهند.
منبع: MUO