شرکت اینتل پتنتی برای فناوری «سوپرهسته نرمافزاری» ثبت کرده است که امکان ترکیب توان چند هسته فیزیکی را برای تشکیل یک «سوپرهسته» مجازی فوقعریض فراهم میکند.
به گزارش تکناک، این ساختار در صورت وجود میزان کافی از کار موازی، میتواند کارایی پردازش تکرشتهای و تعداد دستورالعملهای اجراشده در هر سیکل (IPC) را افزایش دهد. هرچند، این فناوری فعلاً در حد یک پتنت است و مشخص نیست که در آینده به مرحله اجرا برسد یا خیر.
بر اساس توضیحات این پتنت، فناوری SDC دو یا چند هسته پردازنده را بهگونهای ترکیب میکند که مانند یک هسته قدرتمند واحد عمل کنند. این فرایند با تقسیم دستورالعملهای یک رشته به بلوکهای جداگانه و اجرای موازی آنها انجام میشود. هر هسته بخشی از برنامه را اجرا میکند و دستورالعملهای ویژهای برای همگامسازی و انتقال داده میان هستهها، ترتیب اجرای اصلی برنامه را حفظ میکنند. این رویکرد باعث افزایش IPC با حداقل سربار پردازشی میشود و نیازی به افزایش فرکانس یا ساخت هستههای عریض و پرمصرف ندارد.
در حال حاضر هستههای مدرن x86 قادر هستند در هر سیکل ۴ تا ۶ دستورالعمل را دیکد و ۸ تا ۹ میکروعملیات را اجرا کنند. در مقابل، هستههای سفارشی اپل با معماری Arm مانند Firestorm و Avalanche میتوانند تا ۸ دستورالعمل را در هر سیکل دیکد کنند و بیش از ۱۰ دستورالعمل را اجرا نمایند؛ موضوعی که یکی از دلایل برتری کارایی تکرشتهای و بهرهوری انرژی در پردازندههای اپل است.
شرکت اینتل در توضیحات پتنت فناوری سوپرهسته نرمافزاری خود تأکید کرده است که طراحی یک هسته x86 با توانایی دیکد و اجرای همزمان ۸ دستورالعمل ممکن است، اما به دلیل محدودیتهای بخش پیشپردازش (Front-End)، هزینه بالا و بازدهی محدود، در عمل چنین کاری صورت نگرفته است. به همین دلیل، SDC پیشنهاد میکند که بهجای ساخت هستههای بسیار عریض، دو یا چند هسته با عرض کمتر با همکاری یکدیگر به عنوان یک هسته واحد عمل کنند.

از نظر سختافزاری، هر هسته در سیستم مجهز به SDC دارای یک ماژول کوچک اختصاصی برای مدیریت همگامسازی، انتقال ثباتها و ترتیب دسترسی به حافظه است. این ماژولها از فضای حافظه رزرو شدهای با نام “Wormhole Address Space” برای هماهنگی دادههای ورودی و خروجی و عملیات همگامسازی استفاده میکنند تا دستورالعملها به ترتیب صحیح اجرا شوند. این طراحی برای هستههای in-order و out-of-order قابل استفاده است و به تغییرات حداقلی در موتور اجرا نیاز دارد که باعث صرفهجویی در فضای تراشه میشود.
این فناوری در بخش نرمافزاری با استفاده از کامپایلرهای JIT، کامپایلر ایستا یا ابزارهای اصلاح باینری، برنامههای تکرشتهای را به بخشهای مختلف تقسیم میکند و هر بخش را به یک هسته اختصاص میدهد. دستورالعملهای خاص برای کنترل جریان، تبادل ثباتها و رفتار همگامسازی به کد تزریق میشود تا سختافزار بتواند اجرای صحیح را تضمین کند. همچنین سیستمعامل نقش کلیدی در تصمیمگیری برای ورود یا خروج رشته به حالت سوپرهسته دارد تا تعادل بین کارایی و استفاده از منابع حفظ شود.
شرکت اینتل در پتنت خود برای فناوری سوپرهسته نرمافزاری، عدد دقیقی برای میزان بهبود عملکرد ذکر نکرده، اما بر اساس توضیحات، در برخی شرایط ممکن است عملکرد دو هسته «باریک» به سطح یک هسته «عریض» نزدیک شود.