پردازندهها چگونه طی ۴۰ سال گذشته تغییر کردهاند؟
وقتی از طرحهای پیشرفت تکنولوژی، بهویژه قانون مور، صحبت بهمیان میآید، طرح «۳۵ سال از دادههای ریزپردازندهها» که آن را ام. هورویتز، اف. لابونت، اُ. شچم، کی. الوکتن، ال. هموند و سی. بَتِن جمعآوری کردهاند، میتواند یکی از طرحهای مهم باشد. بعدها، سی. مور هم اطلاعاتی به این پروژه اضافه کرد. این طرح را چه با خطوط پیشرفت و چه بدون آنها میتوان در جاهای مختلفی از اینترنت پیدا کرد؛ هرچند این طرح فقط تا سال ۲۰۱۰ کامل شده و در چند سال اخیر، کامل نشده است.
طبق قانون مور، تعداد ترانزیستورها هر ۲ سال دوبرابر میشود
برای بهروزکردن دادههای این طرح که هرچند درستبودن آن تا سال ۲۰۱۰ مشخص نیست، دادههایی از g3data و دادههای دیگری هم از پردازندههای AMD Opteron، پردازندههای Intel Xeon، پردازندههای Power7+ و Power8 مانند Xeon Phi به این طرح اضافه شدند. جزئیات این دادههای جدید را بهصورت خام میتوانید درون این فایل زیپ ببینید. نتیجهی این طرح عکس زیر است:
درادامه، طرح بهروزشده را با طرح اصلی میتوانید مقایسه کنید.
نکتهای جالبی که وجود دارد، این است که باتوجهبه اینکه عملکرد پردازش تکهستهای ازنظر کمّیّت مهم است، این مقدار پیوسته درحالپیشرفت بوده است. این افزایش نتیجهی مدیریت انرژی هوشمندانه و تنظیم دینامیک فرکانس کلاک (توربو) بوده است.
در آینده، چه تغییراتی به وجود خواهد آمد؟ احتمالا فرکانس و انرژی مصرفی دستخوش تغییرات زیادی قرار نخواهند گرفت. بهبود بیشتر در ساختار کلاک ممکن است باعث افزایش تدریجی عملکرد تکهستهای پردازندهها شود که البته نمیتوان انتظار تغییر بزرگی داشت. دو نمونه از کمّیّتهای مهم، تعداد ترازیستورها و تعداد هستهها هستند.
تا چه زمانی قانون مور ادامه خواهد داشت؟ این احتمال وجود دارد که در آیندهای نزدیک، افزایشی در تعداد هستهها را شاهد خواهیم بود؛ اما شاید تعداد ترانزیستورها تغییری اساسی نکنند. درحالحاضر، Haswell Xeon در صدر فهرست پردازندهها هستند که ۱۸ هستهی پردازشی دارند. بههرحال با وجود این پردازندهها، قانون امدال ما را به دنبالکردن همین الگوریتم ملزم خواهد کرد.
پردازندهی Knight Landing Xeon Phis که بهزودی رونمایی خواهد شد، ۷۲ هسته دارد که بیش از ۶۱ هسته بیشتر از نسل کنونیاش خواهد داشت. از دیدگاه الگوریتمها، واقعا مهم نیست پردارنده با ۶۱ یا ۷۲ هسته کار میکند یا خیر؛ بلکه در هر دو مورد، الگوریتمهایی موازی موردنیاز هستند. در این مرحله، باید خوشحال باشیم که درحالحاضر، توانستهایم با یادگیری برنامهریزی GPUها این الگوریتمها را طراحی و اجرا کنیم.
بهروزرسانی ۲۰۱۸
دو سال دادهی بیشتر بهنظر مهم نیست، هرچند بهنظر میرسد قانون مور درحال کمرنگشدن است. یکی از موضوعاتی که باید به آن اشاره کرد، این است که اینتل دیگر تعداد ترانزیستورهای پردازندههای خود را اعلام نمیکند. همچنین، تعدادی از پردازندههای این شرکت زمان زیادی بعد از موعد مقرر معرفی شدند. مدل Tick-Tock هم اصلاح شده است. با دادههایی از تعداد ترانزیستورها که از AMD Epyc و IBM Power 9 بهدستآمده طرح را بهصورت زیر بهروزرسانی کردهاند:
واضح است تعداد ترانزیستورها بهصورت نموداری نمایی روبهپیشرفت بوده است. تابهامروز، پردازندهی AMD Epyc با ۱۹،۰۰۰،۰۰۰،۰۰۰ ترانزیستور که بهصورت عمومی اعلام شده، بیشترین تعداد ترانزیستور را در میان پردازندهها دارد. برای مقایسه باید گفت تراشهی پاسکال Nvidia GP100 درحدود ۱۵،۰۰۰،۰۰۰،۰۰۰ ترانزیستور دارد. با درنظرگرفتن این تعداد، این ارقام باهم سازگار هستند و جای شکی در تعداد ترانزیستورها وجود ندارد.
بهزودی، با معرفی نودهای پردازشی ۱۰ نانومتری منطقی است که احتمال دهیم تا چند سال آینده، منحنی نمایی و روبهرشد تعداد ترانزیستورها پیشرفت خود را حفظ کند. تعداد ترانزیستور بیشتر موجب افزایش تعداد هستهها میشود. این درحالی است که پیشرفتی که در SpecINT برای محاسبه عملکرد تکهستهای قابل مشاهدهاست، مستقیما نتیجهی استفاده از کامپایلرهای Auto-Vectorization و Auto-Parallelization است.