حافظهی کش پردازنده چیست و چگونه کار میکند؟
پیشرفتهای اخیر در پردازندههای کامپیوتری چشمگیر بوده است. ترانزیستورها هر سال کوچکتر میشوند و این پیشرفتها به نقطهای رسیدهاند که قانون مور در حال بیاهمیت شدن است.
وقتی صحبت از پردازندهها میشود، تنها ترانزیستورها و فرکانسها مطرح نیستند، بلکه حافظه کش نیز اهمیت دارد.
شاید درباره حافظه کش پردازنده (CPU) شنیده باشید، اما اغلب به این اعداد حافظه کش پردازنده توجه نمیکنیم و آنها نیز در تبلیغات پردازندهها برجسته نمیشوند.
حافظهی کش پردازنده چیست؟
به طور ساده، حافظه کش پردازنده نوعی حافظه بسیار سریع است. در اوایل روزهای کامپیوتر، سرعت پردازنده و حافظه پایین بود. اما در دهه ۱۹۸۰، سرعت پردازندهها به سرعت افزایش یافت. حافظه سیستم در آن زمان (RAM) نمیتوانست با سرعت بالای پردازندهها هماهنگ شود، بنابراین نوع جدیدی از حافظه فوقسریع به وجود آمد: حافظه کش پردازنده.

اکنون کامپیوتر شما چندین نوع حافظه دارد.
حافظه اصلی، مانند دیسک سخت یا SSD، بخش عمدهای از دادهها را ذخیره میکند – سیستمعامل و برنامهها.
سپس، “حافظه دسترسی تصادفی” یا همان RAM داریم. این حافظه بسیار سریعتر از حافظه اصلی است اما فقط یک واسطه ذخیرهسازی کوتاهمدت است. کامپیوتر شما و برنامههای آن از RAM برای ذخیره دادههای پر استفاده بهره میبرند و به این ترتیب عملکرد کامپیوتر را سریع و روان نگه میدارند.
در نهایت، پردازنده (CPU) دارای واحدهای حافظهای بسیار سریعتر درون خود است که به عنوان حافظه کش پردازنده شناخته میشوند.
حافظه کامپیوتر بر اساس سرعت عملیاتی آن در یک سلسله مراتب قرار میگیرد. حافظه کش پردازنده در بالای این سلسله مراتب قرار دارد و سریعترین حافظه است. همچنین نزدیکترین حافظه به محل پردازش مرکزی است، زیرا بخشی از خود پردازنده است. طبق گفته Tech Target، “حافظه کش با سرعتی 10 تا 100 برابر سریعتر از RAM عمل میکند و تنها چند نانوثانیه برای پاسخ به درخواست پردازنده نیاز دارد.”
حافظه کامپیوتر نیز انواع مختلفی دارد.
حافظه کش نوعی حافظه استاتیک (SRAM) است، در حالی که RAM سیستم شما به عنوان حافظه دینامیک (DRAM) شناخته میشود. حافظه استاتیک میتواند دادهها را بدون نیاز به تازهسازی مداوم نگه دارد، برخلاف DRAM که نیاز به تازهسازی مداوم دارد، که این امر SRAM را برای حافظه کش ایدهآل میکند. حافظه کش پردازنده چگونه کار میکند؟
حافظهی کش پردازنده چگونه کار میکند؟
برنامهها و نرمافزارهای کامپیوتر شما به عنوان مجموعهای از دستورالعملها طراحی شدهاند که پردازنده آنها را تفسیر و اجرا میکند. وقتی یک برنامه را اجرا میکنید، دستورالعملها از حافظه اصلی (هارد دیسک شما) به پردازنده میروند. اینجا جایی است که سلسله مراتب حافظه وارد عمل میشود.

دادهها ابتدا در رم بارگذاری میشوند و سپس به پردازنده راه پیدا میکنند. پردازندههای مدرن در هر ثانیه چندین میلیون دستورالعمل را اجرا میکنند. پردازندهها برای استفاده از تمام توان خود، به حافظهی بسیار سریعی نیاز دارند و در این شرایط حافظهی کش استفاده میشود.
کنترلر حافظه، دادهها را از رم میگیرد و در اختیار حافظهی کش پردازنده قرار میدهد. برخی پردازندهها حاوی این کنترلر هستند و اگر فاقد این مشخصه باشند، چیپست موسوم به پل شمالی که در مادربرد قرار دارد، این وظیفه را بر عهده میگیرد. باید خاطرنشان کنیم درون کش پردازنده هم سلسلهمراتب حافظه وجود دارد.
کنترلر حافظه دادهها را از RAM میگیرد و به حافظه کش پردازنده ارسال میکند. بسته به پردازنده شما، کنترلر ممکن است روی خود پردازنده یا چیپست Northbridge روی مادربورد شما قرار داشته باشد.
حافظه کش سپس دادهها را در داخل پردازنده جابهجا میکند. سلسله مراتب حافظه در داخل حافظه کش پردازنده نیز وجود دارد. سطوح حافظه کش پردازنده: L1، L2 و L3
حافظه کش پردازنده به سه سطح “L1″، “L2” و “L3” تقسیم میشود. سلسله مراتب حافظه باز هم بر اساس سرعت و در نتیجه اندازه کش است.
بررسی و خرید انواع پردازنده سرور
سطوح حافظهی کش پردازنده؛ L1، L2 و L3

کش پردازنده از سه سطح موسوم به L1، L2 و L3 تشکیل شده است. در این بخش، سلسلهمراتب مبتنی بر سرعت این سطوح و ظرفیت آنها است. اما هر کدام از این سطحها چه تفاوتی با یکدیگر دارند و چه کارهایی را انجام میدهند؟
کش سطح اول (L1)
کش L1 (سطح 1) سریعترین حافظه موجود در یک سیستم کامپیوتری است. از نظر اولویت دسترسی، کش L1 دادههایی را دارد که پردازنده به احتمال زیاد برای انجام یک وظیفه خاص به آنها نیاز دارد.
اندازه کش L1 بستگی به پردازنده دارد. برخی از پردازندههای سطح بالای مصرفکننده اکنون دارای کش L1 با اندازه 1MB هستند، مانند Intel i9-9980XE، اما اینها هزینه زیادی دارند و هنوز نادر هستند. برخی از چیپستهای سرور، مانند سری Xeon اینتل، نیز دارای حافظه کش L1 با اندازه 1-2MB هستند.
هیچ “اندازه استاندارد” برای کش L1 وجود ندارد، بنابراین باید مشخصات پردازنده را بررسی کنید تا اندازه دقیق حافظه کش L1 را قبل از خرید تعیین کنید.

هیچ “اندازه استاندارد” برای کش L1 وجود ندارد، بنابراین باید مشخصات پردازنده را بررسی کنید تا اندازه دقیق حافظه کش L1 را قبل از خرید تعیین کنید.
کش سطح دوم (L2)
کش L2 (سطح 2) کندتر از کش L1 است اما از نظر اندازه بزرگتر است. در حالی که کش L1 ممکن است به کیلوبایت اندازهگیری شود، کش L2 مدرن در محدوده مگابایت قرار دارد. برای مثال، پردازنده Ryzen 5 5600X از AMD دارای 384KB کش L1 و 3MB کش L2 (به علاوه 32MB کش L3) است.
اندازه کش L2 بسته به پردازنده متفاوت است، اما معمولاً بین 256KB تا 32MB است. اکثر پردازندههای مدرن دارای کش L2 بیش از 256KB هستند و این اندازه اکنون کوچک محسوب میشود. علاوه بر این، برخی از قدرتمندترین پردازندههای مدرن دارای کش L2 بزرگتری هستند که به طور قابل توجهی بیش از 8MB است. برای مثال،

از نظر سرعت، کش L2 از کش L1 کندتر است اما هنوز هم بسیار سریعتر از RAM سیستم شما است. کش L1 معمولاً 100 برابر سریعتر از RAM است، در حالی که کش L2 حدود 25 برابر سریعتر است
کش سطح سوم (L3)
حالا به کش L3 (سطح 3) میرسیم. در روزهای اولیه، کش L3 در واقع روی مادربرد قرار داشت. این مربوط به زمانی بسیار قدیمی است که اکثر پردازندهها تنها تکهستهای بودند. اکنون، کش L3 در پردازندههای شما میتواند بسیار بزرگ باشد، با پردازندههای مصرفی پیشرفته که دارای کش L3 تا 32MB هستند، در حالی که پردازندههای Ryzen 7 5800X3D انقلابی AMD دارای 96MB کش L3 هستند. برخی از پردازندههای سرور میتوانند بیش از این مقدار را داشته باشند و تا 128MB کش L3 را ارائه دهند.

کش L3 بزرگترین اما کندترین واحد حافظه کش است. پردازندههای مدرن شامل کش L3 در خود پردازنده هستند. اما در حالی که کش L1 و L2 برای هر هسته روی خود تراشه وجود دارد، کش L3 بیشتر شبیه به یک حافظه عمومی است که کل تراشه میتواند از آن استفاده کند.
بهعنوان مثال، در تصویر زیر میتوانید ظرفیت سطوح کش پردازندهی Core i5-3570K اینتل را مشاهده کنید.

در همین تصویر میتوانید ببینید که کش L1 به دو بخش تقسیم شده و L2 و L3 به ترتیب از ظرفیت بیشتری بهره میبرند.
به چه میزان حافظهی کش پردازنده نیاز داریم؟
روی هم رفته ظرفیت این نوع حافظهها هر چقدر بیشتر باشند، بهتر است. پردازندههای جدید معمولا برای سطوح مختلف حافظهی کش خود از ظرفیت بیشتری نسبت به نسلهای قدیمیتر بهره میبرند و در عین حال سرعت بالاتری هم به ارمغان میآورند. هنگام خرید پردازنده یا لپتاپ، بهتر است به غیر از این موضوع به مقایسهی دیگر بخشهای پردازنده هم توجه نشان بدهید تا بتوانید بهترین انتخاب را داشته باشید.
سوال بزرگ: حافظه کش پردازنده چگونه کار میکند؟

به طور ساده، دادهها از RAM به کش L3، سپس L2 و در نهایت به L1 جریان مییابند. وقتی پردازنده به دنبال داده برای انجام یک عملیات است، ابتدا سعی میکند آن را در کش L1 پیدا کند. اگر پردازنده آن را پیدا کند، به این وضعیت “برخورد کش” میگویند. سپس به جستجوی آن در L2 و بعد در L3 میپردازد.
اگر پردازنده نتواند دادهها را در هیچیک از حافظههای کش پیدا کند، سعی میکند آنها را از حافظه سیستم (RAM) شما بازیابی کند. وقتی این اتفاق میافتد، به آن “از دست رفتن کش” میگویند.
حالا، همانطور که میدانیم، کش طراحی شده است تا جابجایی اطلاعات بین حافظه اصلی و پردازنده را سریعتر کند. زمان مورد نیاز برای دسترسی به دادهها از حافظه “تأخیر” نامیده میشود.
حافظه کش L1 کمترین تأخیر را دارد، زیرا سریعترین و نزدیکترین به هسته است، و L3 بیشترین تأخیر را دارد. تأخیر حافظه کش زمانی افزایش مییابد که برخورد کش وجود نداشته باشد، زیرا پردازنده باید دادهها را از حافظه سیستم بازیابی کند.

تأخیر با سریعتر و کارآمدتر شدن کامپیوترها کاهش مییابد. RAMهای DDR4 و DDR5 با تأخیر کم و SSDهای فوقسریع تأخیر را کاهش میدهند و سیستم شما را سریعتر از همیشه میکنند. در این بین، سرعت حافظه سیستم شما نیز مهم است. سرعت حافظه کش پردازنده توضیح داده شده است
اندازه و سرعت حافظه کش پردازنده برای عملکرد کلی کامپیوتر شما اهمیت دارد. همانطور که با بیشتر مسائل مربوط به سختافزار کامپیوتر، بیشتر بهتر است و سریعتر همیشه انتخاب هوشمندانهتری است.
با این حال، نباید اجازه دهید که حافظه کش پردازنده تنها عامل تصمیمگیری نهایی شما هنگام خرید یک پردازنده جدید باشد. مطمئناً، بیشتر و سریعتر بهتر است، اما شما باید عوامل مهم دیگر عملکرد پردازنده مانند تعداد هستهها، سرعت کلاک پردازنده و غیره را نیز در نظر بگیرید.
منبع: Makeuseof

This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!
I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.
very informative articles or reviews at this time.
I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.
I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.
Good post! We will be linking to this particularly great post on our site. Keep up the great writing
I just like the helpful information you provide in your articles
Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!
This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!
antalya ikinci el eşya
Nice post. I learn something totally new and challenging on websites
For the reason that the admin of this site is working, no uncertainty very quickly it will be renowned, due to its quality contents.
I do not even understand how I ended up here, but I assumed this publish used to be great
You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
Free Tools Download: Make Your Life Easier https://itch.pythonanywhere.com
I very delighted to find this internet site on bing, just what I was searching for as well saved to fav
I just like the helpful information you provide in your articles
Awesome awesome amazing nice fantastic crazy bad strange helpful amazing bad interesting fantastic.
Nice post. I learn something totally new and challenging on websites
A concise guide with practical steps — very helpful indeed.
Nice post. I learn something totally new and challenging on websites
I appreciate the step-by-step instructions. They made implementation easy.
Concise, practical, and to the point. Thanks for sharing.
I do not even understand how I ended up here, but I assumed this publish used to be great
Nice balance of theory and practical advice. Well done!
Thank you for the clear roadmap — it makes the process less intimidating.
I like the efforts you have put in this, regards for all the great content.
naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.
I tried your suggestion and it worked perfectly for me. Cheers!
This was beautiful Admin. Thank you for your reflections.