ثبت نام

امکان عضویت غیر فعال است


کش پردازنده یا CPU Cache چیست و چگونه کار می کند؟ L1 ، L2 و L3 چیست؟

What-Is-CPU-Cache

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

 

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

 

کش پردازنده یا CPU Cache چیست؟

 

برای اینکه بطور ساده توضیح دهیم ، حافظه پنهان یا کش یک نوع از حافظه های بسیار سریع می باشد. همانطور که ممکن است بدانید ، کامپیوتر داخل خود چند نوع حافظه دارد. یک حافظه ی اصلی همیشه وجود دارد ، برای مثال هارد HDD یا SSD ، محلی که داده های بسیار زیادی مانند برنامه ها و حتی خود سیستم عامل هم نیز در آن ذخیره می شوند.

 

بعد از این ، حافظه ی Random Access Memory یا رم را داریم. این حافظه بسیار سریع تر نسبت به به حافظه ی هایی که برای نگهداری اطلاعات و داده استفاده می شود است.

 

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

 


حتما بخوانید : آیا سرعت وای فای تان کاهش پیدا کرده است؟ 7 روش جهت حل مشکل افت سرعت اینترنت


 

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

 

کش یک حافظه ی استاتیک RAM می باشد که بصورت SRAM شناخته می شود اما RAM یک حافظه ی پویا یا داینامیک است که در بالا توضیح کوتاهی داده شد. حافظه ی استاتیک نوعی از حافظه ها هستند که می توانند داده ها را بدون نیاز به رفرش شدن نگهداری کنند. برخلاف DRAM حافظه ی SRAM برای استفاده از کش ایده آل تر به نظر می رسد.

 

کش پردازنده چگونه عمل می کند؟

 

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

 

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

 

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

 

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

 

سطح های مختلف سی پی یو : L1 ، L2 و L3

 

کش پردانزده در 3 بخش تقسیم بندی شده است که به ترتیب بصورت L1 ، L2 و L3 می باشد. ما در این قسمت هم نیز دوباره مراحل ترتیبی برای انجام عملیات داریم که با توجه به سرعت و اندازه کش در نظر گرفته می شود.

 


پیشنهادی : تم مشکی (Dark Mode) چطور باعث افزایش عمر باتری در گوشی های OLED می شود؟


 

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

 

با توجه به مقدار حافظه ، کش L1 معمولا تا 256KB می رود. همچنین برخی از سی پی یو های قدرتمند نزدیک به 1MB می رسند. برخی از چیپست های سرور ها ( مانند سی پی یو های Intel’s top-end Xeon ) کش L1 آن ها تا 1-2MB می رسد. البته این موضوع کاملا طبیعی است چرا که سرور ها نیازمند پردازش های سنگینی هستند و باید بدون سختی انجام شوند.

 

حافظه کش L1 معمولا به 2 راه تقسیم می شود که یکی برای کش دستورالعمل (instruction cache) و دیگری کش اطلاعات (data cache) می باشد. کش دستورالعمل اطلاعاتی همراه خود دارد که CPU باید آن ها را بصورت دستورالعمل انجام دهد ، درحالیکه کش اطلاعات ، داده و اطلاعات را نگهداری می کند و عملیاتی که باید انجام شود را نگه می دارد.

 

کش پردازنده و سطح های آن

 

L2 یا (Level 2) سرعت آن نسبت به L1 کمتر است اما از لحاظ اندازه بزرگتر است ، بطوری که می توان از 256KB تا 8MB را در نظر گرفت با اینکه جدید تر هستند! حافظه L2 دارای اطلاعاتی است که احتمالا بعدا توسط CPU قابل دسترسی خواهد بود. در بیشتر سی پی یو های جدید کش های L1 و L2 مخازنی هستند که در داخل خود سی پی یو جای داده می شوند که با هر هسته کش خود را در خود جای می دهد.

 

L3 یا (Level 3) بزرگترین واحد حافظه کش است و همچنین آهسته ترین حافظه! بازه ی این حافظه از 4MB تا 50MB می باشد. سی پی یو های جدید دارای فضای اختصاصی ای هستند که مختص حافظه ی کش L3 ایجاد شده اند و تقریبا می توان گفت فضای بزرگی را اشغال می کنند.

 

کش Hit یا Miss و Latency

 

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

 

اگر سی پی یو نتواند داده را پیدا کند ، تلاش بعدی این است که داده را توسط حافظه ی اصلی (هارد) پیدا کند که به چنین وضعیتی Cache Miss می گویند.

 


بخوانید : آموزش ساخت شماره مجازی با TextNow


 

حالا با توجه به توضیحاتی که در بالا بصورت کامل داده شد متوجه شدیم که کار کش پردازنده برای افزایش سرعت اطلاعاتی است که بین حافظه و سی پی یو رد و بدل می شود. زمانی که برای دسترسی به داده ها از حافظه ی اصلی سپری می شود را Latency یا تاخیر می گویند. حافظه ی L1 دارای کمترین latency است که سریع ترین نوع و نزدیک ترین به هسته اصلی (CPU) است. حافظه ی L3 نیز بیشترین تاخیر را دارد. latency زمانی بوجود می آید که Cache Miss بیشتر شود به همین دلیل است که CPU باید داده ها را از حافظه ی اصلی دریافت کند.

 

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

 

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

 

آینده ای روشن برای کش پردازنده

 

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

 

 

به این پست امتیاز دهید!

منبع :
MAKEUSEOF

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *