اینتل پتنت ‘ابر هسته تعریف شده نرمافزاری’ را ثبت کرد
اینتل فناوریای را به نام ‘ابر هسته تعریف شده نرمافزاری’ (SDC) ثبت اختراع کرده است که نرمافزار را قادر میسازد تا قابلیتهای چندین هسته را با هم ترکیب کرده و یک ‘ابر هسته’ مجازی فوقعریض ایجاد کند که میتواند عملکرد تکرشتهای را بهبود بخشد، مشروط بر اینکه کار موازی کافی داشته باشد. اگر این فناوری طبق طراحی عمل کند، پردازندههای مرکزی آینده اینتل میتوانند عملکرد تکرشتهای بالایی را در برنامههای منتخب که میتوانند از SDC استفاده کنند، ارائه دهند. در حال حاضر این فقط یک پتنت است که ممکن است به واقعیت تبدیل شود یا نشود.
فناوریهای ابر هسته تعریف شده نرمافزاری (SDC) اینتل دو یا چند هسته فیزیکی CPU را ترکیب میکنند تا به عنوان یک هسته مجازی با عملکرد بالا همکاری کنند. این کار با تقسیم دستورالعملهای یک رشته واحد به بلوکهای جداگانه و اجرای موازی آنها انجام میشود. هر هسته بخش متمایزی از برنامه را اجرا میکند، در حالی که دستورالعملهای تخصصی همگامسازی و انتقال داده تضمین میکنند که ترتیب اصلی برنامه حفظ شود تا حداکثر دستورالعمل در هر کلاک (IPC) با حداقل سربار به دست آید. این رویکرد برای بهبود عملکرد تکرشتهای بدون افزایش سرعت کلاک یا ساخت هستههای یکپارچه عریض طراحی شده است که مصرف برق و/یا بودجه ترانزیستور را افزایش میدهد.
هستههای مدرن CPU x86 میتوانند 4 تا 6 دستورالعمل را رمزگشایی کرده و سپس 8 تا 9 میکرو-عملیات را در هر چرخه پس از رمزگشایی دستورالعملها به میکرو-عملیات اجرا کنند که این اوج عملکرد IPC برای چنین پردازندههایی است. در مقابل، هستههای سفارشی با عملکرد بالای مبتنی بر Arm اپل (مانند Firestorm، Avalanche، Everest) میتوانند تا 8 دستورالعمل را در هر چرخه رمزگشایی کرده و سپس بیش از 10 دستورالعمل را در هر چرخه در شرایط ایدهآل اجرا کنند، به همین دلیل پردازندههای اپل معمولاً عملکرد تکرشتهای به طور قابل توجهی بالاتر و با مصرف انرژی کمتر در مقایسه با همتایان Arm ارائه میدهند.
در حالی که از نظر فنی امکان ساخت یک هسته CPU x86 هشتطرفه (یعنی یک پردازنده x86 فوقمقیاس که میتواند تا 8 دستورالعمل را در هر کلاک رمزگشایی، صادر و بازنشسته کند) وجود دارد، اما در عمل به دلیل گلوگاههای فرانتاند و همچنین بازده کاهشی در افزایش عملکرد در میان هزینههای قابل توجه برق و مساحت، این کار انجام نشده است. در واقع، حتی CPUهای مدرن x86 معمولاً میتوانند در بارهای کاری عمومی، بسته به نرمافزار، به IPC پایدار 2-3-4 دست یابند. بنابراین، به جای ساخت یک هسته CPU x86 هشتطرفه، SDC اینتل پیشنهاد میکند دو یا چند واحد 4-عریض را با هم جفت کند تا در مواردی که منطقی است، به عنوان یک هسته بزرگ همکاری کنند.
در بخش سختافزاری، هر هسته در یک سیستم فعالشده با SDC شامل یک ماژول سختافزاری کوچک و اختصاصی است که همگامسازی، انتقال رجیسترها و ترتیب حافظه بین هستههای جفتشده را مدیریت میکند. این ماژولها از یک منطقه حافظه رزرو شده — به نام فضای آدرس کرمچاله — برای هماهنگسازی دادههای ورودی/خروجی و عملیات همگامسازی استفاده میکنند تا اطمینان حاصل شود که دستورالعملها از هستههای جداگانه به ترتیب صحیح برنامه بازنشسته میشوند. این طراحی از هستههای ترتیبی و غیرترتیبی پشتیبانی میکند و به حداقل تغییرات در موتور اجرایی موجود نیاز دارد، به این معنی که از نظر فضای دای بسیار کوچک است.
در بخش نرمافزاری، سیستم از یک کامپایلر JIT، کامپایلر استاتیک یا ابزار دقیق باینری برای تقسیم یک برنامه تکرشتهای به بخشهای کد استفاده میکند تا بلوکهای مختلف را به هستههای مختلف اختصاص دهد. این سیستم دستورالعملهای ویژهای را برای کنترل جریان، انتقال رجیستر و رفتار همگامسازی تزریق میکند که سختافزار را قادر میسازد تا یکپارچگی اجرا را حفظ کند. پشتیبانی توسط سیستم عامل بسیار مهم است زیرا سیستم عامل به صورت پویا تصمیم میگیرد که چه زمانی یک رشته را بر اساس شرایط زمان اجرا به حالت ابر هسته منتقل کند یا از آن خارج کند تا تعادل بین عملکرد و در دسترس بودن هسته را حفظ کند.
پتنت اینتل تخمینهای دقیق عددی از افزایش عملکرد ارائه نمیدهد، اما نشان میدهد که در سناریوهای منتخب، واقعبینانه است که انتظار داشته باشیم عملکرد دو هسته ‘باریک’ به عملکرد یک هسته ‘عریض’ نزدیک شود.
برای دریافت اخبار، تحلیلها و بررسیهای بهروز ما در فیدهای خود، در Google News دنبال کنید یا ما را به عنوان منبع ترجیحی خود اضافه کنید. حتماً دکمه دنبال کردن را کلیک کنید!
- کولبات
- شهریور 10, 1404
- 42 بازدید






