آیا با وظیفه حافظه کش پردازنده کامپیوتر و ساختار آن آشنا هستید؟ آیا میدانید حافظه کش با حافظههای متداول برای ذخیرهسازی اطلاعات چه تفاوتی دارد؟ آیا - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - میدانید چرا وجود حافظه کش در سیپییوی کامپیوتر ضروری است؟ در این مطلب قصد داریم با زبان ساده به این سوالات پاسخ - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دهیم و هرآنچه را که باید در رابطه با حافظه کش L2 ،L1 و L3 پردازنده بدانید، بیان کنیم.
پردازنده (CPU) تمام کامپیوترها دارای حافظهای تحت عنوان حافظه پنهان یا حافظه کش (Cache) است. قبل از اینکه با ساختار و نحوه کار این حافظه آشنا شویم، اجازه دهید ببینیم کش چیست.
برای تعریف حافظه کش در یک جمله میتوان گفت این - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - حافظه، حافظه بسیار سریعی است که در کنار واحدهای منطقی (Logic Units) پردازنده قرار دارد؛ اما این حافظه ساختار بسیار پیچیدهای دارد که در ادامه تا حدودی با آن آشنا میشویم.
برای درک بهتر ساختار حافظه کش اجازه دهید تصور کنیم حافظه جادویی بسیار سریع و شگفتانگیزی ایجاد شده است که میتواند تعداد نامحدودی از تراکنش دادهها (منظور عملیات مربوط به تبادل و انتقال دادههاست) را بهصورت همزمان انجام دهد و امنیت دادهها نیز در چنین حافظهای کاملاً حفظ میشود. متاسفانه چنین حافظه کارآمدی وجود خارجی ندارد؛ اما اگر وجود داشت طراحی پردازنده بسیار سادهتر میشد.
در ضمن در صورتی که این حافظه وجود خارجی داشت، تنها نیازمند واحدهای منطقی برای انجام عملیات ریاضی مثل جمع و تفریق و یک سیستم برای مدیریت تراکنش دادهها بود؛ زیرا این حافظه فرضی میتوانست تمام اعداد موردنیاز را سریعاً ارسال یا دریافت کنند و در چنین حالتی لازم نبود واحدهای منطقی برای تبادل و انتقال دادهها منتظر بمانند
همانطور که همه ما میدانیم در حال حاضر هیچگونه حافظه جادویی طراحی و ایجاد نشده است و حافظهها تنها به دو نوع حافظه HDD و SSD تقسیم میشوند. در ضمن در حال حاضر - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - حتی بهترین نوع از این حافظهها هم قادر به مدیریت تبادل تمام دادههای موردنیاز - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - پردازنده نیستند.
دلیل - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سرعت بسیار بالای پردازندههای مدرن، توانایی آنها برای جمع کردن دو مقدار صحیح ۶۴ بیتی تنها در یک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سیکل کلاک است. - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بهعنوان مثال پردازندهای ۴ گیگاهرتزی میتواند چنین عملیاتی را تنها ظرف مدت 0.00000000025 ثانیه یا یکچهارم یک نانوثانیه انجام دهد.
هاردهای HDD نیز اصلاً برای تبادل سریع دادهها مناسب نیستند و تنها یافتن دادهها در دیسک توسط آنها، هزاران نانوثانیه طول میکشد که برای پردازش اطلاعات اصلاً مدتزمان مناسبی نیست و باید مدتزمان موردنیاز برای انتقال اطلاعات را نیز درنظر بگیریم. حافظههای SSD هم با وجود اینکه سرعت بالاتری دارند و میتوانند دادهها را در صدها یا حتی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دهها نانوثانیه بیابند، اما باز هم نمیتوان از آنها بهعنوان حافظه کش استفاده کرد؛ بنابراین نه حافظه HDD و نه حافظه SSD نمیتوانند در پردازنده استفاده شوند.
از سوی دیگر چنین پردازندههایی نمیتوانند در پردازندهها جای داده شوند؛ بنابراین حتی در صورت استفاده از آنها بهعنوان حافظه پردازنده، فاصلهای فیزیکی بین آنها و پردازنده ایجاد میشود که افزایش مدتزمان موردنیاز برای انتقال دادهها را به دنبال دارد و درنتیجه وضعیت بدتر میشود و پردازش اطلاعات با مشکل بزرگی مواجه میشود.
بنابراین با این تفاسیر، حافظههای متداول گزینههای مناسبی برای حافظه کش نیستند و برای ذخیرهسازی اطلاعات - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - در چنین فضایی که بین پردازنده - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - و حافظه ذخیرهسازی اصلی سیستم یعنی همان هارد سیستم قرار میگیرد، باید از سیستم ذخیرهسازی دیگری استفاده کنیم. این سیستم باید بسیار سریعتر از حافظههای ذخیرهسازی متداول باشد و توانایی مدیریت میزان بسیار زیادی از دادهها هنگام انتقال آنها را نیز داشته باشد. در ضمن این سیستم باید در فاصله بسیار نزدیکی از پردازنده نیز قرار گیرد.
رم که در تمام کامپیوترها نیز دیده میشود، این ویژگیها را دارد و برای این منظور هم طراحی شدهاند. تقریباً تمام رم مورد استفاده در کامپیوترها از نوع حافظه DRAM یا Dynamic Random Access Memory (حافظه تصادفی پویا) هستند و میتوانند دادهها را از هر حافظه دیگری سریعتر - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - منتقل کنند؛ البته حتی این حافظهها هم نمیتوانند بهعنوان حافظه کش استفاده شوند؛ زیرا فضای کافی برای ذخیرهسازی حجم بالایی از دادهها را ندارند.
برخی از بزرگترین تراشههای حافظه DDR4 توسط شرکت میکرون (Micron) تهیه میشوند که یکی از معدود شرکتهای تولیدکننده این نوع حافظهها به شمار میرود. بزرگترین تراشههای حافظه DDR4 قادرند ۳۲ گیگابیت داده معادل 4 گیگابایت را در خود ذخیره کنند؛ درحالیکه ظرفیت ذخیرهسازی بزرگترین هارد درایوها چهار هزار برابر بیش از این میزان است.
با وجود اینکه با - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اضافه کردن حافظه میتوان ظرفیت شبکه دادهها در تبادل اطلاعات را افزایش داد؛ اما به سیستمهای نرمافزاری و سختافزاری دیگری نیز نیاز داریم تا سیستم بتواند با کمک آنها تصمیم بگیرد چه میزان از دادهها بهصورت آماده در میزان محدودی از حافظه DRAM ذخیره شود تا در اختیار پردازنده قرار بگیرد.
حافظههای DRAM میتوانند در قالب تراشه نیز تولید شوند که بهعنوان تراشههای embedded DRAM شناخته میشود. سیپییوی کامپیوترها قطعات بسیار کوچکی هستند و نمیتوان قطعات زیادی در داخل آن قرار داد. کوچک بودن قطعات مورد استفاده در آن اهمیت زیادی دارد.
اکثر حافظههای DRAM درست در کنار پردازنده قرار میگیرند و به مادربرد متصل میشوند و همیشه جزو نزدیکترین قطعات به CPU محسوب میشوند. پیدا کردن دادهها توسط حافظه DRAM هم 100 نانوثانیه طول میکشد که بهاندازه کافی سریع نیست؛ اما حداقل سریعتر از سایر انواع حافظههای متداول است و میتواند در هر ثانیه میلیاردها بیت را انتقال دهد؛ بنابراین به نظر میرسد باید از نوعی از حافظه استفاده شود که چیزی بین واحدهای پردازنده و حافظه DRAM باشد.
اجازه دهید قبل از آشنا - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - شدن با بهترین سیستم برای حافظه کش، حافظه ذخیرهسازی دیگری را نیز بررسی کنیم که حافظه SRAM یا Static Random Access Memory (حافظه دسترسی تصادفی ایستا) نام دارد. حافظه DRAM - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - از خازنهای بسیار ریز میکروسکوپی برای ذخیرهسازی دادهها به شکل جریان الکتریکی استفاده میکند. حافظه SRAM همین کار را با - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - استفاده از ترانزیستورها انجام میدهد و ذخیرهسازی دادهها در آن با همان سرعت ذخیرهسازی دادهها توسط واحدهای پردازشگر CPU انجام میشود که در حدود - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - ۱۰ برابر سریعتر از سرعت ذخیرهسازی دادهها در DRAM - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - است؛ اما متأسفانه استفاده از SRAM هم در CPU به فضای زیادی نیاز دارد.
استفاده از حافظههای ایجاد شده بر پایه ترانزیستور فضایی بسیار بیشتر از فضای موردنیاز توسط حافظه DRAM میطلبد و به همان - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - فضای موردنیاز برای استفاده از یک تراشه DDR4 با ظرفیت ۴ گیگابایت نیاز دارند (بنابراین - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - در صورت استفاده از SRAM در CPU، تنها ۱۰۰ مگابایت حافظه ایجاد میشود) اما به دلیل اینکه این نوع از حافظه با همان فرایند مورد استفاده برای ساخت CPU تولید میشود، میتواند در داخل CPU ادغام شود و تا جای ممکن نزدیک واحدهای پردازشگر منطقی قرار گیرد.
در آزمایشی مشخص شد که با افزایش سرعت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - انتقال دادهها، ظرفیت ذخیرهسازی کاهش پیدا میکند؛ بنابراین برای حفظ سرعت انتقال دادهها و افزایش فضای ذخیرهسازی، باید بخشهای بیشتری را به سیستم اضافه کنیم تا امکان ایجاد حافظههای کوچکتر با سرعت بیشتر فراهم شود.
با توجه مطلب ذکرشده در پاراگراف بالا میتوان تعریف جدیدی از حافظه کش ارائه داد و گفت که این حافظه سیستمی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - متشکل از چند بلوک SRAM است که تمام آنها در داخل CPU قرار دارند. این بلوکها برای کسب اطمینان - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - از درگیر شدن واحدهای پردازشگر منطقی تا حداکثر میزان ممکن مورد استفاده قرار میگیرند و برای رسیدن به این هدف دادهها را با سرعت بسیار - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بالایی ارسال و ذخیره میکنند.
همانطور که مشاهده کردید دلیل وجود حافظه کش، عدم وجود سیستم ذخیرهسازی شگفتانگیز برای پاسخ به تقاضای بالای واحدهای پردازشگر منطقی CPU است. امروزه سیپییوها و کارتهای - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - گرافیک مدرن دارای چند بلوک SRAM هستند که بهصورت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سلسله مراتبی در داخل پردازندهها قرار گرفتهاند. این - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بلوکها در واقع یک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - توالی از - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - حافظههای کش هستند که به شکل زیر مرتب شدهاند.
در تصویر بالا قسمتهای مختلف تشکیلدهنده CPU به نمایش گذاشته شدهاند که در داخل مستطیل - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - خطچین قرار دارند. ALU (واحدهای محاسبه و منطق) که در بخش انتهایی قسمت چپ مستطیل قرار گرفته، قدرت پردازشی CPU را تأمین میکنند و انجام فعالیتهای محاسباتی تراشه را نیز برعهده دارد.
البته این واحدهای منطقی محاسباتی نیز کش محسوب نمیشوند و همانطور که در تصویر بالا نمایش داده شده، بهعنوان واحدهای رجیستر (register) شناخته میشوند (آنها بهعنوان فایل رجیستر دستهبندی میشوند). هر یک از واحدهای ریجستر دارای اعداد تک هستند؛ مثلاً یک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - عدد صحیح ۶۴ بیتی. - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - مقادیر ثبت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - شده در هر بخش میتواند هر نوع دادهای باشد، بهعنوان مثال هر واحد رجیستر میتواند دربردارنده یک دستورالعمل یا آدرس حافظه یک داده خاص باشد.
فایل رجیستر در سیپییوی کامپیوتر کاملاً کوچک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - است؛ بهعنوانمثال در سیپییوی Core i9-9900K، تنها دو مجموعه فایل رجیستر وجود - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دارد. دسته مخصوص اعداد صحیح تنها ۱۸۰ ریجستر ۶۴ بیتی دارد. دسته دوم برای اعداد برداری استفاده میشود و دارای ۱۶۸ ورودی ۲۵۶ بیتی است؛ بنابراین کل حجم فایل برای هر هسته کمتر از ۷ کیلوبایت است. این عدد در مقایسه با اندازه فایل - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - رجیستر واحد پردازشی Streaming Multiprocessors (این - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - واحد پردازشی معادل هستههای CPU است) پردازندههای گرافیکی بسیار قدرتمند مثل کارت گرافیک Nvidia GeForce RTX 2080 Ti که ۲۵۶ کیلوبایت است، عدد - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بسیار کوچکی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - محسوب میشود.
رجیسترها از نوع حافظههای SRAM هستند؛ اما بهاندازه واحدهای محاسبه و منطق، سریع هستند. درنتیجه آنها درست مانند واحدهای محاسبه و منطق، دادهها را تنها در یک سیکل کلاک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - تبادل میکنند؛ اما برای نگهداری دادهها طراحی نشدند و تنها میتوانند حجم کمی از دادهها را ذخیره کنند؛ بنابراین همیشه یک واحد ذخیرهسازی بزرگتر در کنار آنها قرار دارد که همان کش است.
تصویر بالا تصویر زوم شده بخشی از هسته سیپییوی دسکتاپ اینتل اسکای لیک است. واحدهای پردازشگر محاسباتی و فایلهای رجیستری در انتهای قسمت چپ تصویر - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دیده میشوند و با کادر سبز مشخص شدهاند. بخشی از قسمت میانی تصویر که با کادر سفیدرنگ مشخص شده، نشاندهنده حافظه کش Level 1 یا L1 است. این حافظه کش ظرفیت زیادی ندارد و تنها میتواند ۳۲ کیلوبایت را ذخیره کند؛ - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اما مانند فایلهای رجیستر به واحدهای پردازشگر منطقی بسیار نزدیک است و سرعت یکسانی با آنها دارد.
کادر سفیدرنگ سمت راست تصویر هم نشاندهنده بخشی موسوم به کش دستورالعملی یا Level 1 Instruction است. این قسمت از حافظه کش نیز تنها میتواند ۳۲ کیلوبایت را ذخیره - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کند. این - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - قسمت همانطور که از نامش مشخص است، فرمانهایی را ذخیره میکند که میتواند به قسمتهای کوچکتری موسوم به ریز عملیات یا Micro Operations تقسیم شود (این قسمتها با نام μops نیز معرفی شدهاند) تا برای انجام عملیات توسط واحدهای محاسبه و منطق، - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - در اختیار این واحدها - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - قرار گیرند. برای این دستورها نیز حافظه کشی با نام L0 ایجاد شده است. - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - این حافظه کش در مقایسه با حافظه کش L1 - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کوچکتر است - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - و تنها میتواند ۱۵۰۰ عملیات را در خود ذخیره کند؛ البته این حافظه کش در کنار کش L1 قرار دارد.
ممکن است از خود بپرسید چرا بلوکهای - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - SRAM به این اندازه کوچک هستند و چرا در ظرفیتهای مگابایتی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - تولید نمیشوند. حافظههای کش ایجادشده برای نگهداری دادهها و دستورالعملها، همان - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - میزان فضایی را اشغال میکنند که توسط واحدهای پردازشگر منطقی اصلی تراشهها اشغال - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - میشود؛ بنابراین با افزایش ظرفیت آنها، اندازه کلی دای CPU افزایش پیدا میکند.
دلیل ساخت چنین حافظهای با ظرفیت کم و در حد کیلوبایت، افزایش - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سرعت یافتن و بازیابی اطلاعات است. حافظه L1 باید بسیار سریع باشد و برای افزایش سرعت آن بهناچار باید ظرفیت ذخیرهسازی آن را کاهش داد. استخراج دادهها از حافظه کش L1 و آماده کردن آنها برای استفاده شدن، حداقل ۵ سیکل طول میکشد (این مدتزمان برای انجام محاسبات ممیز شناور بیشتر است).
البته - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اگر حافظه - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کش L1 تنها حافظه کش سیپییو بود، عملکرد سیپییو کاملاً مختل میشد، به همین دلیل در هسته سیپییو، سطحی دیگر از حافظه کش به تحت عنوان حافظه - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کش L2 نیز ایجاد شده است. این حافظه یک بلوک کلی از حافظه محسوب - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - میشود که هم دادهها و هم دستورها در آن نگهداری میشوند.
این حافظه کمی بزرگتر از کش L1 است. اندازه این حافظه در پردازندههای AMD Zen 2 برابر با ۵۱۲ کیلوبایت است که دادههای ضروری برای کش L1 را همیشه در اختیار دارد؛ البته همانطور که قبلاً گفتیم، با افزایش ظرفیت حافظه کش، سرعت یافتن و انتقال اطلاعات کاهش مییابد و این موضوع در مورد کش L1 هم کاملاً صدق میکند و مدتزمان یافتن و انتقال اطلاعات توسط این حافظه کش تقریباً دو برابر مدتزمان موردنیاز برای کش L1 برای انتقال اطلاعات است.
در دوران طراحی و ایجاد نخستین سیپییوی پنتیموم - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اینتل، کش L2 در قالب یک تراشه مجزا طراحی شد که یا به شکل یک برد دارای پین در داخل سیستم قرار میگرفت (مثل ماژول رم خطی دوگانه) یا در داخل مادربرد تعبیه میشد و در طراحی نسلهای بعدی CPU به داخل پکیج سیستم CPU راه یافت و در نهایت سیپییوهایی مثل پنتیوم 3 یا AMD K6-III در دای آن ادغام شد. توسعه لایههای مختلف کش به همین جا ختم نشد و باز هم ادامه یافت. با پیدایش سیپییوهای چندهستهای ایجاد سطحی دیگری از کش ضروری شد.
در تصویر بالا که تصویری از یکی از تراشههای سیپییوی پردازنده کبی لیک (Kaby Lake) است، در قسمت میانی سمت چپ تصویر - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - چهار هسته را مشاهده میکنید (در قسمت راست تصویر مشاهده میکنید که پردازنده گرافیکی ادغام شده در CPU تقریباً نیمی از فضای دای را اشغال کرده است). در هر هسته مجموعهای اختصاصی از حافظه کش L1 و L2 وجود دارد (قسمتهای - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - مشخصشده با رنگ زرد و سفید) و علاوه - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بر این دو مجموعه، مجموعه سومی از بلوکهای SRAM نیز دیده میشود.
کش L3 یا Level 3 در اطراف یک هسته تکی ایجاد شده؛ اما با هستههای دیگر بهطور کامل به اشتراک گذاشته شده است. هر یک از هستهها میتوانند آزادانه و - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بدون هیچگونه محدودیتی به محتوای موجود در کش L3 سایر هستهها دست پیدا کند. ظرفیت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کش L3 بسیار بیشتر از ظرفیت L2 و L1 است (بین ۲ تا ۳۲ مگابایت) - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - است؛ اما به همان میزان سرعت بسیار کمتری - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دارد و یافتن و انتقال اطلاعات توسط آن بهطور متوسط 30 سیکل کلاک طول میکشد؛ مخصوصاً اگر هسته نیازمند دادههای موجود در - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - یکی از بلوکهای حافظه کش در فاصلهای دور از هسته باشد.
تصویر بالا مربوط به یکی از هستههای معماری AMD Zen 2 است. قسمت مشخصشده در کادر سفیدرنگ مربوط به کش Level 1 با ظرفیت ۳۲ کیلوبایت دربردارنده دادهها و دستورات است و بلوک بزرگ ۴ مگابایتی کش Level 3 با کادر قرمز رنگ مشخص شده است. اگر بهدقت به تصویر نگاه کنید، متوجه میشوید که کش 23 کیلوبایتی حافظه بیشتری را نسبت به ۵۱۲ کیلوبایتی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اشغال کرده است. چگونه چنین اتفاقی ممکن - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - است؟ چرا با وجود اینکه کش L1 نسبت به کش L2 و L3 ظرفیت بسیار کمتری دارد، به نسبت به آنها فضای زیادی را اشغال کرده است. آیا شما پاسخ این سؤال را میدانید؟
شاید حافظههایی با ظرفیت ۳۲ کیلوبایت یا ۵۱۲ کیلوبایت یا حتی تا ۴ مگابایت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - از نظر شما چندان تاثیرگذار نباشند؛ اما باید بدانید که این حافظهها با افزایش سرعت انتقال دادهها به واحدهای پردازشگر منطقی، عملکرد سیپییو را به میزان قابلتوجهی بهبود میدهند، دادهها و دستورات موردنیاز واحدهای پردازنده نزدیک به خود را در خود ذخیره میکنند. اطلاعات ذخیرهشده در حافظه کش به دو دسته تقسیم میشوند: خود دادهها و موقعیت مکانی حافظه در سیستم ذخیرهسازی. این آدرس با عنوان برچسب یا تگ کش (Cache Tag) شناخته میشود.
زمانی که سیپییو میخواهد اطلاعاتی را در حافظهاش بنویسید یا اطلاعاتی را از روی آن - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بخواند، برچسبهای کش L1 را بررسی میکند. چنانچه تگ موردنیاز CPU که با نام کش هیت (Cache Hit) نیز شناخته میشود در کش موجود باشد، CPU میتواند بهراحتی به دادهها دسترسی پیدا - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کند. درصورتیکه کش هیت در پایینترین سطح کش یافت نشود، اتفاقی تحت عنوان کش میس (Cache Miss) رخ میدهد.
در چنین وضعیتی - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - تگی در کش L1 ایجاد میشود و سایر بخشهای معماری - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - پردازنده - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دستبهکار میشوند تا دادههای دربردارنده آن تگ را در سایر سطوح کش بیابند. حتی ممکن است پردازنده مجبور شود به حافظه اصلی نیز رجوع کند؛ اما برای ایجاد فضا در کش L1 بخشی از محتویات کش L2 بهناچار باید از این کش خارج شوند.
فرآیند مذکور باعث میشود دادهها تقریباً پیوسته با ترتیب غیر مشخصی جابجا شوند. تمام این فرایند تنها در طول چند سیکل کلاک رخ میدهد؛ تنها روش دستیابی به این هدف ایجاد ساختاری پیچیده پیرامون حافظه SRAM است که بهمنظور مدیریت - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - درست دادهها است؛ بهعبارتدیگر درصورتیکه یک هسته پردازنده تنها دارای یک واحد محاسبه و منطق باشد، میتوان کش L1 را با ساختار سادهای طراحی کرد؛ اما به دلیل وجود تعداد زیادی از این واحدهای پردازشگر (بسیاری از آنها انجام دو زنجیره متوالی از دستورالعملها را برعهده دارند)، کش برای حفظ جریان دادهها به چندین اتصال نیاز دارد.
شما میتوانید با استفاده از نرمافزارهای رایگانی همچون CPU-Z تمام اطلاعات سطوح مختلف حافظه کش سیپییوی کامپیوتر خود را مشاهده کنید، - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - اما این اطلاعات به چه معنایی است؟ از میان - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - مهمترین اطلاعاتی که توسط این نرمافزار ارائه میشود، میتوان به اطلاعاتی که تحت عنوان Associative ارائه شده، اشاره کرد. این اطلاعات به قوانین مرتبط با چگونگی نحوه کپی شدن بلوکهای داده از حافظه سیستم به حافظه کش مربوط میشود.
اطلاعات کش سیپییوی نمایش داده شده در تصویر - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - بالا مربوط به سیپییوی اینتل Core i7-9700K است. هر یک از حافظههای کش L1 این سیپییو به 64 بلوکهای کوچک به نام Sets (مجموعهها) تقسیم میشوند - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - و هر یک از این بلوک - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - نیز به بخشهای کوچکتری تحت عنوان Cache Lines (خطوط کش) با اندازه ۶۴ بایت تقسیم میشوند. عبارت Set associative به این معنی است که بلوکی از دادهها که در حافظه - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سیستم ذخیره شده است، بهجای اینکه آزادانه در هر نقطهای از نقشه قرار گیرد به مجموعهای مشخص به خطوط کش مرتبط میشود.
در تصویر بالا عبارت way-8 را نیز مشاهده میکنید که به ما میگوید یک بلوک میتواند با 8 خط کش در یک مجموعه مرتبط شود. هرچقدر ارتباطها بیشتر باشد و بهعبارتدیگر بلوکها با راههای بیشتری به خطهای کش مرتبط شوند، شانس یافتن کش هیت توسط سیپییو - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - در هنگام جستجوی یک کش برای یافتن داده بیشتر میشود و خطاهای مربوط به کش میس کمتر میشود؛ اما ایجاد چنین ساختاری معایبی هم دارد - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - که از میان آنها میتوان به پیچیدهتر شدن ساختار سیپییو، افزایش مصرف آن و افت عملکرد سیپییو به دلیل لزوم پردازش خطوط کش بیشتر برای هر یک از بلوکهای داده اشاره کرد.
یکی دیگر از موارد مرتبط با پیچیدگی کش، به نحوه حفظ دادهها در سطوح مختلف کش مربوط میشود. قوانین مرتبط با این فرآیند در مجموعهای تحت عنوان Inclusion Policy (سیاست شمول) تنظیم شدهاند. سیپییوهای اینتل دارای کش Fully Inclusive L1+L3 هستند؛ یعنی در این پردازندهها درست همان دادهای که در کش L1 وجود دارد، در - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - کش L3 وجود دارد.
ممکن - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - است تصور کنید که ذخیرهسازی دادهها به این شکل تنها باعث از بین رفتن فضای ارزشمند ذخیرهسازی شود؛ اما از سوی دیگر باید این موضوع را هم در نظر بگیریم که اگر CPU در هنگام - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - جستجوی تگ در سطح پایین کش با مشکل میس کش مواجه شد، دیگر لازم نیست در - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - سطوح بالاتر به دنبال آن باشد.
در همان سیپییوها کش L2 مانند دو سطح دیگر از حافظه کش Inclusive نیست (بهاصطلاح Non-inclusive) هستند و هیچ یک از دادههای ذخیرهشده در آن، به دو سطح - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دیگر کش منتقل و در آنها کپی نمیشود. اگرچه با استفاده از چنین ساختاری میتوان فضای ذخیرهسازی را حفظ کرد؛ اما از سوی دیگر باعث میشود سیستم حافظه تراشه برای یافتن تگ همیشه مجبور باشد در کش L3 که به میزان قابلتوجهی بزرگتر از دو کش دیگر است، - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - نیز جستجو کند.
کشهای موسوم به Victim caches نیز شبیه به کشهای Non-inclusive L2 هستند، با این تفاوت که این کشها برای ذخیرهسازی دادههای خارجشده از سایر سطوح کش، استفاده میشود. بهعنوانمثال در سیپییوهای AMD ZEN 2 از ویکتیم کش L3 تنها برای ذخیرهسازی دادههای کش L2 - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - استفاده میشود.
سیاستهای دیگری نیز در رابطه با کش نیز وجود دارد؛ مثل زمانی که اطلاعات در - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - حافظه کش و حافظه اصلی سیستم نگهداری میشوند. سیاستهای مربوط به نوشتن اطلاعات، Write Policies نام دارند و امروزه بسیاری از سیپییوها دارای کشهایی تحت عنوان کشهای write-back هستند. زمانی که دادهها در این کشها نوشته میشوند، گرفتن کپی از آنها و بهروزرسانی سیستم با کمی تأخیر انجام میشود. در اکثر موارد این تأخیر تا زمانی که داده در کش باشد، طول میکشد و رم سیستم تنها زمانی دادههای کش را - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - دریافت میکند که دادهها از کش خارج شده باشند.
تمام طراحان سیپییو پردازنده در انتخاب میزان، نوع و سیاست کش بهگونهای عمل میکنند که توازن بین عملکرد مورد انتظار برای CPU و افزایش پیچیدگی و فضای موردنیاز برای دای آن، به بهترین شکل ممکن ایجاد شود. درصورتیکه طراحان میتوانستند تراشه کشی مثل کش L1 1000 way با ظرفیت 20 مگابایت را طوری طراحی کنند که اندازه آن بهاندازه منطقه بسیار بزرگی مانند منطقه منهتن نشود (و به اندازه چنین منطقه بزرگی انرژی مصرف نکند)، قطعاً از - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - چنین تراشهای در سیپییوها استفاده میکردند.
ظرفیت پایینترین سطح کش در سیپییوهای امروزی نسبت به ۱۰ سال گذشته تفاوت چندان زیادی نکرده است؛ اما شاهد رشد ظرفیت کش L3 هستیم. - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - 10 سال گذشته ظرفیت کش L3 در سیپییوی اینتل i7-980X با قیمت ۹۹۹ دلار 12 مگابایت بود که ظرفیت بسیار خوبی محسوب میشد و - تعمیرات یخچال کرال در شهر گلوگاه استان مازندران - هر کاربر حرفهای برای خریدن چنین پردازندهای بسیار مشتاق بود؛ اما امروزه میتوانید با نصف این پول پردازندهای با کش L3 با ظرفیت ۶۴ مگابایت بخرید.
بهطور خلاصه باید بگوییم وجود کش با ظرفیت بالا در سیپییوها و پردازندههای گرافیکی بسیار ضروری است و افزایش ظرفیت حافظه کش، پیشرفت شگفتانگیزی محسوب میشود.
لازم به توضیح است که انواع حافظههای کش دیگری مانند کش بافر (Buffer Cache) و کش Texture هم وجود دارد؛ اما به دلیل اینکه سطوح مختلف کش که در مورد آنها توضیح دادیم، در این کشها ساختار سادهای دارند و چندان پیچیده به نظر نمیرسند، از توضیح در مورد آنها صرفنظر کردهایم.
البته که میتوانید در این منطقه به دنبال مرکز خدمات تعمیراتی یا نمایندگی کرال بگردید. البته بهتر است ابتدا اطلاعات دستگاه خود را به دقت به دنباله بدهید تا بتوانید از تعمیرگاه نزدیک در شهرتان استفاده کنید. به عنوان یک نمونه قیمت قطعات ممکن است بین مرکز تعمیراتی های مختلف متفاوت باشد و ممکن است بعد از تعمیر، گارانتی مناسب را هم بتوانید به دست بیاورید