بررسی کش CPU و انواع آن:

کش CPU

ممکن است هنگامی که در مورد پردازنده صحبت می شود در رابطه با کش CPU نیز شنیده باشید. اما شاید اطلاعات کافی در رابطه با آن و همچنین اعدادی که به همراه دارد نداشته باشید. بنابراین ما در این مقاله می خواهیم در رابطه با اهمیت کش CPU و عملکرد آن صحبت کنیم پس ادامه این مقاله رو از دست ندهید.

 

به زبان ساده، حافظه کش پردازنده یک نوع حافظه بسیار سریع است.

 

حافظه کش چیست:

در گذشته پردازش اطلاعات و حافظه دارای سرعت کمی بود، اما در دهه 1980 سرعت پردازش اطلاعات سریعاً شروع به افزایش کرد. با این حال حافظه سیستم در آن زمان (RAM) نتوانست با افزایش سرعت پردازنده مطابقت داشته باشد. بنابراین نوع جدیدی از حافظه فوق العاده سریع یا همان حافظه کش پردازنده (CPU Cashe Memory) متولد شد.

امروزه کامپیوترها دارای انواع مختلفی از حافظه هستند. حافظه اصلی، همان هارد و یا SSD بوده که قسمت عمده ای از داده ها را مانند سیستم عامل و برنامه ها در خود ذخیره می کند.

در مرحله بعدی، حافظه دسترسی تصادفی (Random Access Memory) را داریم که معمولاً با نام RAM شناخته می شود این حافظه بسیار سریعتر از ذخیره سازی اولیه توسط هارد می باشد، اما فقط یک ذخیره سازی کوتاه مدت است.

در واقع رم ها جهت دسترسی به اطلاعاتی که نیاز است مدام در دسترس باشد مورد استفاده قرار می گیرند زیرا سرعت دستیبانی به آن را به شدت افزایش می دهند. در آخر، پردازنده و یا CPU دارای واحد حافظه سریع تری در درون خود است که به عنوان حافظه کش پردازنده و یا CPU Cashe Memory نیز شناخته می شود.

حافظه کامپیوتر از اجرای مختلفی تشکیل شده است که دارای سلسله مراتب خاصی است. در بالاترین سطح، کش پردازنده قرار گرفته که در نزدیکترین حالت ممکن به CPU قرار دارد، زیرا خود بخشی از خود آن می باشد.

برخلاف DRAM، رم استاتیک یا SRAM می تواند داده ها را بدون نیاز به رفرش کردن مداوم نگهدارد.

 

ویدئو آموزشی بررسی کش CPU و انواع آن:

 

نحوه عملکرد حافظه کش CPU:

برنامه ها و APP های موجود در کامپیوتر به نحوی طراحی شده اند که پردازنده ی مرکزی بتواند به راحتی آنها را تفسیر و اجرا نماید. هنگام اجرای یک برنامه، دستورالعمل ها از حافظه اصلی (Hard Drive) به CPU راه می یابند.

داده ها ابتدا در RAM بارگزاری شده و سپس به CPU ارسال می شوند. امروزه پردازنده ها قادر به انجام تعداد زیادی دستورالعمل در ثانیه هستند. برای استفاده کامل از توان خود، CPU نیاز به دسترسی حافظه فوق العاده سریع دارد، جایی که حافظه کش پردازنده وارد می شوند.

کنترلرحافظه داده ها را از RAM گرفته و به کش پردازنده ارسال می کند. بسته به اینکه چه پردازنده ‌ای روی سیستم شماست، این کنترلر، می‌تواند روی چیپست North Bridge روی مادربورد و هم داخل خود CPU باشد.

تصویر زیر کاملا نشان دهنده نحوه عملکرد کش CPU می باشد:

کش CPU

 

انواع حافظه کش پردازنده یا CPU Cache Memory:

سطوح مختلف کش CPU شامل : L1، L2 و L3

حافظه کش پردازنده به سه سطح L1، L2 و L3 تقسیم می شود. این سطوح حافظه بر اساس سرعت و اندازه حافظه کش تقسیم بندی می شوند. حال این سوال پیش می آید که آیا اندازه حافظه کش پردازنده تفاوتی در عملکرد دارد؟

 

ـ حافظه کش L1:

حافظه کش (سطح 1) سریعترین حافظه ای است که در سیستم های کامپیوتری وجود دارد. از نظر اولویت دسترسی، حافظه کش L1 دارای داده هایی است که پردازنده به احتمال زیاد هنگام انجام یک کار خاص به آن نیاز دارد.

کش سطح یک یا L1 بالاترین سطح در طبقه‌بندی کش های سی پی یو، بالاترین سرعت و کمترین ظرفیت را داراست اما دارای کم‌ترین زمان تاخیر و یا Delay که تقریبا صفر است، می باشد که به دلیل نزدیکی زیاد به پردازنده و یا قرارگیری در خود تراشه CPU است.

 

هیچ اندازه ی استانداری برای حافظه کش سطح 1 وجود ندارد به همین دلیل حتما باید قبل از خرید، مشخصات پردازنده را بررسی کنید تا دقیقا حافظه کش آن مشخص شود.

 

 L1 Cache به دو بخش تقسیم می‌شود:

ـ Instruction Cach حاوی اطلاعاتی درباره عملیاتی است که پردازنده باید انجام دهد.

ـ Data Cache حاوی اطلاعاتی است که برای اجرای عملیات لازم می باشد.

پردازنده‌های چند هسته‌ای، برای هر هسته، کش جداگانه L1 دارند.

 

ـ حافظه کش L2:

حافظه کش L2 (سطح 2) دارای سرعت کمتری نسبت به حافظه کش L1 است اما ظرفیت آن بزرگتر است. در مواردی که حافظه کش L1 بر حسب کیلوبایت اندازه گیری می شود، حافظه کش L2 بر حسب مگابایت اندازه گیری می شود.

حافظه کش L2 بسته به نوع CPU متفاوت است، اما اندازه آن معمولاً بین 256 کیلوبایت تا 8 مگابایت است. اکثر پردازنده ها بیش از 256KB حافظه کش L2 را در خود جای داده اند و اکنون این اندازه کوچک در نظر گرفته شده است. بعلاوه، برخی از پردازنده های قدرتمند دارای حافظه کش L2 بزرگتر یعنی بیش از 8 مگابایت هستند.

وقتی نوبت به سرعت می رسد، حافظه کش L2 از حافظه کش L1 عقب می ماند اما هنوز هم بسیار سریعتر از RAM سیستم شما است. حافظه کش L1 معمولاً 100 برابر سریعتر از رم بوده این در حالی است که حافظه کش L2 حدود 25 برابر سریعتر است.

 

ـ حافظه کش L3:

حالا می رویم به سراغ حافظه کش L3 که در گذشته، در مادربرد یافت می شد، زمانی که بیشتر پردازنده های مرکزی فقط پردازنده های تک هسته ای بودند. اکنون این حافظه کش دارای بیشترین ظرفیت و کمترین سرعت می باشد.

همانطور که تا الان متوجه شدید براساس این تقسیم بندی هر چه به لایه های پایین تر می رسیم سرعت کمتر اما ظرفیت افزایش می باشد. پس با این توضیح می توانیم بگوییم حافظه کش L3 از حافظه کش L2 دارای ظرفیت بیشتر اما سرعت کمتری می باشد.

 

چگونه داده ها میان سطوح مختلف  کش CPU حرکت می کنند؟

برای آنکه این موضوع را کاملا درک کنید نیاز است با چند اصطلاح آشنا شوید:

 

ـ Cache Hit :

داده ها از RAM به حافظه کش L3 و سپس حافظه کش L2 و در نهایت به سمت L1 منتقل می شوند. وقتی پردازنده به دنبال داده ای است، ابتدا سعی می کند آن را در حافظه کش L3 پیدا کند. اگر CPU آن را پیدا کند، cache hit اتفاق افتاده است. اما اگر آن را پیدا نکرد در حافظه کش L2 سپس حافظه کش L1 به دنبال آن می گردد.

 

ـ Cache Miss:

اگر CPU داده ها را در حافظه کش پیدا نکند، آن را از حافظه اصلی به دست می‌آورد که به این اتفاق Cache Miss گفته می‌شود.

 

ـ latency یا تأخیر:

همانطور که می دانیم، حافظه کش برای سرعت بخشیدن به انتقال اطلاعات بین حافظه اصلی و پردازنده مرکزی طراحی شده است. به زمان مورد نیاز برای دسترسی به داده ها از حافظه ” latency یا تأخیر ” گفته می شود.

به طور کلی حافظه کش L1 دارای کمترین زمان تأخیر، بیشترین سرعت و نزدیکترین به هسته است و این در حالی است که حافظه کش L3 بالاترین زمان تأخیر را دارد. زمان تأخیر حافظه کش هنگامی که Cache Miss افزایش یابد، زیاد می شود.

امروزه کامپیوتر ها بسیار سریعتر و کارآمدتر شده اند. در حافظه رم DDR4 و حافظه های SSD سرعت افزایش یافته که این عامل سبب کاهش زمان تاخیر می شود و کل سیستم را سریعتر می کند. پس به این ترتیب علاوه بر مطالب گفته شده سرعت حافظه سیستم شما نیز مهم است.

 

حال چگونه متوجه شویم که به چه مقدار CPU Cache Memory نیازمندیم؟

سوال خوبی است اما همانطور که انتظار دارید هر چه حافظه کش شما بیشتر باشد بهتر است. جدیدترین پردازنده ها به طور طبیعی کش CPU بیشتری را نسبت به نسل های قدیمی تر دارند و البته لازم به ذکر است که سرعت آن ها نیز به مراتب بیشتر است.

اما برای آنگه دقیقا متوجه شوید که چه نوع پردازنده سروری برای کار شما مناسب است حتما مقاله زیر را مطالعه نمایید:

 

راهنمای انتخاب CPU مناسب برای سرور

 

آینده کش CPU:

طراحی CPU Cashe Memory در حال پیشرفت است، به خصوص که این حافظه ارزان تر، سریعتر و متراکم تر است. به عنوان مثال ، یکی از جدیدترین نوآوری های AMD حافظه دسترسی هوشمند و حافظه پنهان Infinity است که هر دو عملکرد کامپیوتر را افزایش می دهند.

 

منبع : makeuseof

دیدگاه شما

13 − دو =

برگشت به بالا
محصول با موفقیت به سبد خرید اضافه شد.