به "وبلاگ فالنیک ( ایران اچ پی)" خوش آمدید    |   وبسایت فالنیک (ایران اچ پی)
امروز یکشنبه ۱۷ آذر ۱۳۹۸ - تماس با فالنیک : 8363-021

بررسی حافظه CPU Cache و انواع آن؛ پادکست

بررسی حافظه CPU Cache

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

 

پادکست با موضوع بررسی CPU Cache و انواع آن 

کارت های گرافیک Quadro و Geforc

در این پادکست، به تعریف و کاربرد Cache می‌پردازیم و انواع کش و تفاوت بین آنها را بررسی می‌کنیم. در نهایت هم به تاثیر آنها روی Latency اشاره می‌کنیم.

در این پادکست به موارد زیر پرداخته می‌شود:

  • حافظه CPU Cache چیست؟
  • انواع CPU Cache
  • Latency در CPU Cach

 

این پادکست 15 مگابایت حجم و 13 دقیقه زمان دارد.

 

دانلود

 

در این پادکست به همراه بخش تخصصی، اخبار تکنولوژی و مناسبت‌های ماه را هم می‌توانید پیگیری کنید؛ این نسخه پادکست 37 مگابایت حجم و  32 دقیقه زمان دارد. زمان‌بندی این پادکست در جدول زیر آمده است:

 

دانلود

 

حافظه Cache چیست؟

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

به طور ساده، حافظه Cache یا حافظه پنهان، نوع سریعی از حافظه‌ها است.

در سیستم‌های کامپیوتری و پردازشی، انواع مختلفی از حافظه وجود دارد:

  1. استوریج اصلی مانند هارد دیسک و SSD که سیستم عامل و برنامه‌ها را ذخیره می‌کند.
  2. حافظه RAM یا Random Access Memory که بسیار سریع‌تر از استوریج اصلی است.
  3. حافظه CPU که بسیار سریع‌تر از رم است و با عنوان Cache می‌شناسیم.

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

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

بررسی حافظه CPU Cache

مقایسه RAM و Cache

حافظه کش از نوع Static RAM یا SRAM است ولی رم از نوع Dynamic RAM یا DRAM.

Static RAM برخلاف DRAM، می‌تواند داده را بدون این که نیاز باشد مرتبا رفرش انجام شود، نگه دارد بنابراین برای استفاده در Cache ایده‌آل است.

حافظه نهان (Cache) چه کاربردی دارد؟

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

Cache چگونه کار می‌کند؟

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

داده ابتدا روی رم لود شده و سپس به سی پی یو ارسال می‌شود. پردازنده های امروزی، این قابلیت را دارند که حجم زیادی دیتا را در ثانیه پردازش کنند. برای اینکه کاملا از قدرت CPU استفاده شود، CPU باید بسیار سریع به حافظه، دسترسی داشته باشد. اینجاست که Cache وارد صحنه می‌شود! حافظه کش است که با پردازنده به تبادل دیتا می‌پردازد.

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

بررسی حافظه CPU Cache

عملکرد حافظه Cache

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

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

حافظه Cache در واقع نوعی رم بسیار پرسرعت است و سی پی یو با سرعت بالایی می‌تواند به آن دسترسی داشته باشد.

دسته‌بندی حافظه Cache

حافظه نهان یا کش می‌تواند به دو صورت سخت افزاری و مجازی باشد:

1- حافظه نهان یا کش سخت افزاری

در نوع سخت افزاری، حافظه نهان قسمتی از واحد سخت افزاری مورد نظر (مثلاً CPU های دارای این نوع حافظه یا هارد دیسک های دارای این نوع حافظه) است که عمل Caching را برعهده دارد. مکانیزم،ساختار، سرعت و کارایی حافظه نهان سخت افزاری با حافظه اصلی (RAM) تفاوت زیادی دارد. از این رو با افزایش حجم حافظه نهان سخت افزاری در واحدهایی مانند CPU، قسمت تمام شده آن بیشتر می‌شود. دلیل این که در همه جا از حافظه نهان استفاده نمی‌کنند، قیمت و هزینه تهیه بسیار زیاد آن نسبت به سایر حافظه‌ها است.

2- حافظه نهان یا کش مجازی 

نحوه عملکرد حافظه نهان مجازی با سخت افزاری متفاوت است. این نوع حافظه نهان در واقع قسمتی از حافظه جانبی است که توسط برنامه‌ها مشخص می‌شود و برای دسترسی سریع‌تر، از این قسمت استفاده می‌کنند. این نوع حافظه نهان به صورت محلی (Local) کارایی ندارد. برای مثال، برنامه‌هایی مانند مرورگرهای وب، قسمتی از حافظه جانبی را تحت عنوان حافظه نهان وب (Web Cache) برای ذخیره سازی موقت داده‌های وب مانند صفحات وب، تصاویر، استایل‌ها و … استفاده می‌کنند و زمانی که کاربر قصد مشاهده صفحه یا تصویر درخواست شده را داشته باشد که در حافظه نهان وب مرورگر موجود باشد، مرورگر همان داده‌های کَش شده را به کاربر نشان می‌دهد. دراین فرایند دیگر داده‌های کش شده از طریق اینترنت یا شبکه بارگیری نمی‌شوند و باعث کاهش ترافیک شبکه، پنهای باند مصرفی، بار روی سرور شده و باعث بهبود فرایند می‌شوند. این قسمت از حافظه جانبی، تفاوتی با سایر قسمت‌های عادی حافظه ندارد و تنها توسط برنامه‌ها به عنوان حافظه نهان مجازی استفاده می‌شوند.

Caching بعد از سرعت کلاک، مهم‌ترین تاثیر را روی افزایش سرعت CPU و کارایی برنامه دارد.

انواع حافظه Cache

CPU Cache به سه سطح اصلی تقسیم می‌شود: L1، L2 و L3 که L مربوط به Level و لایه است و عدد جلوی L، بیانگر نوع کش. این طبقه‌بندی بر اساس سرعت و ظرفیت کش است. در ادامه با این سه سطح آشنا می‌شویم.

کش لایه اول CPU یا L1 Cache

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

L1 Cache حاوی داده‌هایی است که CPU به احتمال زیاد برای تکمیل کار خاصی به آن‌ها نیاز دارد.

L1 Cache معمولا تا 256 کیلوبایت ظرفیت دارد اما در CPU هایی که واقعا قدرتمند هستند به یک مگابایت هم می‌رسد. در برخی چیپست‌های سروری مثل پردازنده های اینتل زئون، ظرفیت L1 Cache بین یک تا دو مگابایت است.

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

  1. Instruction Cache: حاوی اطلاعاتی درباره عملیاتی که پردازنده باید انجام دهد.
  2. Data Cache: حاوی اطلاعاتی که برای اجرای عملیات لازم است.

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

کش لایه دوم CPU یا L2 Cache

کش لایه دو، کش ثانویه و کش سطح دو عناوینی است که برای L2 Cache استفاده می‌شود و حافظه میانی بین لایه اول و لایه سوم کش های CPU است. سرعت L2 Cache از L1 Cache کم‌تر است اما ظرفیت بیشتری دارد. این ظرفیت بین 256 کیلوبایت تا 8 مگابایت است. هر چند که CPU های قدرتمند جدیدتر، ظرفیت بیشتری دارند.

L2 Cache داده‌هایی را نگه می‌دارد که سی پی یو در مرحله بعد احتمالا به آن‌ها احتیاج دارد. در اغلب پردازنده های جدید، L1 Cache و L2 Cache در داخل Core های پردازنده قرار دارند و هر هسته هم، کش خودش را دارد.

در لایه‌بندی Cache ها اگر داده‌های مورد نظر در L1 Cache نباشد، لایه‌های بعدی بررسی می‌شود یعنی لایه دوم و سپس سوم.

کش لایه سوم CPU یا L3 Cache

بیشترین ظرفیت و کم‌ترین سرعت را در بین حافظه های کش را دارد. ظرفیت L3 Cache بین 4 تا 50 مگابایت است.

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

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

آنچه در Cache رایج است این است که کش های با ظرفیت بالاتر، سرعت کم‌تری دارند.

در اغلب پردازنده های امروزی، L1 Cache و L2 Cache در خود پردازنده و برای هر هسته تعبیه می‌شود و L3 Cache هم برای همه Core ها قرار می‌دهند.

بررسی حافظه CPU Cache

روند جریان داده بین انواع حافظه

داده‌ها از RAM به L3 Cache سپس به L2 Cache و در نهایت به L1 Cache می‌رود.

Cache Hit چیست؟

وقتی پردازنده به دنبال دیتایی برای انجام عملیات است ابتدا سعی می‌کند آن را در L1 بیاید اگر پیدا کرد، در واقع Cache Hit اتفاق افتاده است. اگر در L1 نبود، در L2 و سپس در L3 می‌گردد.

Cache Miss چیست؟

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

اگر بین انتخاب دو CPU مردد هستید، CPU ای که L3 Cache بیشتری دارد انتخاب کنید.

Latency در CPU Cache

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

وقتی Cache Miss اتفاق بیفتد، زمان تاخیر افزایش می‌یابد زیرا پردازنده مجبور است داده را از حافظه اصلی بخواند نه کش.
هر چه کامپیوتر سریع‌تر و بهتر باشد، زمان تاخیر کاهش می‌یابد. هم اکنون رم های DDR4 با زمان تاخیر کم و SSD های بسیار سریع با زمان دسترسی کم به عنوان استوریج اصلی، موجود است که هر دو باعث کاهش زمان تاخیر می‌شوند.

سابقا کش طوری طراحی شده بود که کش های L2 و L3 در خارج از CPU قرار داشت که باعث تاثیر منفی روی Latency می‌شود.

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

در کنار کاهش Latency، برای کاهش گلوگاه‌ها هم کارهایی انجام می‌شود.

اگر درباره Intel Optane شنیده باشید می‌دانید که می‌تواند به عنوان Hybrid External Cache استفاده شود.

کلام آخر: بازارِ پردازنده ها به سرعت در حال پیشرفت است و اینتل بر روی L4 Cache هم کار می‌کند.

 

برای مشاوره و خرید انواع قطعات جانبی و تجهیزات شبکه، می‌توانید با کارشناسان فالنیک در ارتباط باشید:

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

 

درباره L4 Cache CPU چه می‌دانید؟

منبع: Makeuseof


نویسنده :

بررسی حافظه CPU Cache و انواع آن؛ پادکست
3 رای، میانگین 4.3 از 5

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی
گارانتی آرامش سرور و استوریج
انتخاب سی پی یوهای سروری
ایبوک فالنیک
تک تاک
پادکست
نویسنده مهمان فالنیک
پربازدید ترین مطالب
  • ماه
  • فصل
  • کل
استفاده از مطالب سایت فالنیک (ایران اچ پی) فقط برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. کلیه حقوق سایت متعلق به فالنیک (ایران اچ پی) است.
عضویت در خبرنامه سرور فالنیک (ایران اچ پی)

عضویت در خبرنامه سرور فالنیک (ایران اچ پی)

با عضویت در خبرنامه سرور فالنیک (ایران اچ پی) اولین نفری باشید که مقالات و محتواهای ناب و تخصصی را دریافت می کنید.

تبریک، شما با موفقیت در خبرنامه عضو شدید.