خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

AVX-512 چیست و چرا اینتل آن را خاموش می کند؟

CPU ها را سریعتر می کند، پس چرا اینتل آن را حذف می کند؟

CPU دستگاه شما در هر ثانیه میلیون ها محاسبات را انجام می دهد و مسئول نحوه عملکرد رایانه شما است. کار با CPU واحد پردازش محاسباتی (ALU) است که وظایف ریاضی را بر عهده دارد و توسط میکروکد CPU هدایت می شود.

اکنون، آن میکروکد CPU ثابت نیست و می توان آن را بهبود بخشید، و یکی از این پیشرفت ها مجموعه دستورالعمل AVX-512 اینتل بود. با این حال، اینتل قصد دارد AVX-512 را از بین ببرد و عملکرد آن را برای همیشه از پردازنده های خود حذف کند. اما چرا؟ چرا اینتل AVX-512 را نابود می کند؟

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

قبل از آشنایی با مجموعه دستورات AVX-512، درک نحوه عملکرد یک ALU ضروری است.

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

بنابراین، سرعت کلاک یک CPU، نرخ پردازش دستورالعمل ها در ALU را مشخص می کند. بنابراین، اگر CPU شما با فرکانس ساعت 5 گیگاهرتز کار کند، ALU می تواند 5 میلیارد دستورالعمل را در یک ثانیه پردازش کند. به همین دلیل، عملکرد CPU با افزایش سرعت کلاک بهبود می یابد.

چیپست ها روی مادربرد

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

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

مطلب مرتبط:   پیش ایمن توسط مرسدس بنز: پیش از بازی ایمنی

راه دیگر برای بهبود عملکرد استفاده از یک مجموعه دستورالعمل SIMD است. به زبان ساده، یک دستورالعمل Single Instruction Multiple Data ALU را قادر می‌سازد تا دستورالعمل مشابهی را در نقاط داده مختلف اجرا کند. این نوع موازی سازی عملکرد یک CPU را بهبود می بخشد و AVX-512 یک دستورالعمل SIMD است که برای افزایش عملکرد CPU هنگام انجام وظایف خاص استفاده می شود.

چگونه داده ها به ALU می رسند؟

اکنون که درک اولیه ای از نحوه عملکرد یک ALU داریم، باید بدانیم چگونه داده ها به ALU می رسند.

هارد دیسک با پس زمینه خالی

برای رسیدن به ALU، داده ها باید از طریق سیستم های ذخیره سازی مختلف حرکت کنند. این سفر داده بر اساس سلسله مراتب حافظه یک سیستم محاسباتی است. مروری کوتاه بر این سلسله مراتب در زیر آورده شده است:

  • حافظه ثانویه: حافظه ثانویه در یک دستگاه محاسباتی از یک دستگاه ذخیره سازی دائمی تشکیل شده است. این دستگاه می تواند داده ها را به طور دائم ذخیره کند اما به سرعت CPU نیست. به همین دلیل، CPU نمی تواند مستقیماً از سیستم ذخیره سازی ثانویه به داده ها دسترسی داشته باشد.
  • حافظه اولیه: سیستم ذخیره سازی اولیه از حافظه دسترسی تصادفی (RAM) تشکیل شده است. این سیستم ذخیره سازی سریعتر از سیستم ذخیره سازی ثانویه است اما نمی تواند داده ها را به طور دائم ذخیره کند. بنابراین، زمانی که فایلی را روی سیستم خود باز می کنید، از هارد دیسک به رم منتقل می شود. با این حال، حتی RAM به اندازه کافی برای CPU سریع نیست.
  • حافظه نهان: حافظه نهان در CPU تعبیه شده است و سریعترین سیستم حافظه در رایانه است. این سیستم حافظه به سه قسمت کش L1، L2 و L3 تقسیم می شود. هر داده ای که باید توسط ALU پردازش شود از هارد دیسک به RAM و سپس به حافظه کش منتقل می شود. گفته می شود، ALU نمی تواند مستقیماً از کش به داده ها دسترسی داشته باشد.
  • ثبات های CPU: رجیستر CPU در یک دستگاه محاسباتی از نظر اندازه بسیار کوچک است و بر اساس معماری کامپیوتر، این ثبات ها می توانند 32 یا 64 بیت داده را در خود نگه دارند. هنگامی که داده ها به این رجیسترها منتقل می شوند، ALU می تواند به آن دسترسی داشته باشد و کار را انجام دهد.
مطلب مرتبط:   بهترین شتاب دهنده های بیت کوین برای سرعت بخشیدن به تراکنش های شما

AVX-512 چیست و چگونه کار می کند؟

مجموعه دستورالعمل AVX 512 دومین نسخه از AVX است و در سال 2013 به پردازنده های اینتل راه یافت. مجموعه دستورالعمل های AVX که مخفف Advanced Vector Extensions است، ابتدا در معماری Xeon Phi (فرود شوالیه) اینتل معرفی شد و بعداً به سرور اینتل راه یافت. پردازنده های موجود در پردازنده های Skylake-X.

علاوه بر این، مجموعه دستورالعمل AVX-512 به سیستم‌های مبتنی بر مصرف‌کننده با معماری Cannon Lake راه یافت و بعداً توسط معماری‌های Ice Lake و Tiger Lake پشتیبانی شد.

هدف اصلی این مجموعه دستورالعمل، سرعت بخشیدن به وظایف مربوط به فشرده سازی داده ها، پردازش تصویر و محاسبات رمزنگاری بود. مجموعه دستورالعمل AVX-512 با ارائه دو برابر قدرت محاسباتی در مقایسه با تکرارهای قدیمی تر، عملکرد قابل توجهی را ارائه می دهد.

بنابراین، چگونه اینتل با استفاده از معماری AVX-512 عملکرد CPU های خود را دو برابر کرد؟

خوب، همانطور که قبلا توضیح داده شد، ALU فقط می تواند به داده های موجود در ثبات CPU دسترسی داشته باشد. مجموعه دستورالعمل Advanced Vector Extensions اندازه این ثبات ها را افزایش می دهد.

با توجه به این افزایش اندازه، ALU می تواند چندین نقطه داده را در یک دستورالعمل واحد پردازش کند و عملکرد سیستم را افزایش دهد.

از نظر اندازه رجیستر، مجموعه دستورالعمل AVX-512 سی و دو رجیستر 512 بیتی را ارائه می دهد که در مقایسه با مجموعه دستورالعمل های قدیمی AVX دو برابر است.

چرا اینتل AVX-512 را پایان می دهد؟

همانطور که قبلا توضیح داده شد، مجموعه دستورالعمل AVX-512 چندین مزیت محاسباتی را ارائه می دهد. در واقع، کتابخانه‌های محبوبی مانند TensorFlow از مجموعه دستورالعمل‌ها برای ارائه محاسبات سریع‌تر بر روی CPUهایی که مجموعه دستورالعمل‌ها را پشتیبانی می‌کنند، استفاده می‌کنند.

مطلب مرتبط:   موتورهای جستجو چگونه کار می کنند و راه هایی برای بهبود نتایج جستجوی شما

بنابراین، چرا اینتل AVX-512 را روی پردازنده های اخیر Alder Lake خود غیرفعال می کند؟

خب، پردازنده‌های Alder Lake بر خلاف پردازنده‌های قدیمی‌تر تولید شده توسط اینتل هستند. در حالی که سیستم‌های قدیمی‌تر از هسته‌هایی استفاده می‌کردند که بر روی یک معماری کار می‌کردند، پردازنده‌های Alder Lake از دو هسته متفاوت استفاده می‌کردند. این هسته‌ها در CPUهای Alder lake با نام‌های P و E-core شناخته می‌شوند و از معماری‌های مختلفی تغذیه می‌شوند.

در حالی که هسته های P از ریزمعماری Golden Cove استفاده می کنند، هسته های E از ریزمعماری Gracemont استفاده می کنند. این تفاوت در معماری باعث می‌شود که زمان‌بندی‌کننده به درستی کار نکند، زمانی که دستورالعمل‌های خاصی می‌توانند روی یک معماری اجرا شوند اما روی معماری دیگر اجرا نمی‌شوند.

در مورد پردازنده‌های Alder Lake، مجموعه دستورالعمل AVX-512 یکی از این نمونه‌ها است، زیرا هسته‌های P سخت‌افزاری برای پردازش دستورالعمل‌ها دارند، اما هسته‌های E اینگونه نیستند.

به همین دلیل، CPU های Alder Lake از مجموعه دستورالعمل AVX-512 پشتیبانی نمی کنند.

همانطور که گفته شد، دستورالعمل AVX-512 می تواند بر روی برخی از CPU های Alder Lake اجرا شود که اینتل به طور فیزیکی آنها را با هم ترکیب نکرده است. برای انجام همین کار، کاربران باید E-core ها را در طول بایوس غیرفعال کنند.

آیا AVX-512 در چیپست های مصرفی مورد نیاز است؟

مجموعه دستورالعمل AVX-512 اندازه رجیستر CPU را افزایش می دهد تا عملکرد آن را افزایش دهد. این افزایش کارایی به CPU ها امکان می دهد اعداد را سریعتر بشکنند و به کاربران امکان می دهد الگوریتم های فشرده سازی ویدیو/صوت را با سرعت های بالاتر اجرا کنند.

گفتنی است، این افزایش عملکرد تنها زمانی قابل مشاهده است که دستورالعمل تعریف شده در یک برنامه برای اجرا در مجموعه دستورالعمل AVX-512 بهینه شده باشد.

به همین دلیل، معماری‌های مجموعه دستورالعمل‌هایی مانند AVX-512 برای بارهای کاری سرور مناسب‌تر هستند و چیپ‌ست‌های درجه مصرف‌کننده می‌توانند بدون مجموعه‌های دستورالعمل پیچیده مانند AVX-512 کار کنند.