در قسمت قبلی این مقاله، در مورد معماری Zen 2 و ساختار پردازندههای جدید AMD، سطوح عملکرد این پردازندهها در آزمونهای داخلی AMD، شیوههای بهینهسازی معماری برای کار با ویندوز مایکروسافت، IPC پردازندههای Zen - تعمیرات مایکروویو ناسیونال شهرک آزادی - 2، نمای کلی معماری جدید AMD، مرحلهی واکشی دستورالعمل و تأثیر واحد پیشبینیگر انشعاب جدید بر تسریع و بهبود اجرای دستورالعملها در پایپ لاین توضیحاتی دادیم. گفته شد - تعمیرات مایکروویو ناسیونال شهرک آزادی - که کاهش کش دستورالعمل از ۶۴ کیلوبایت به ۳۲ کیلوبایت و در عین حال افزایش مسیرهای شرکت پذیری از ۴ به ۸ مسیر، تأثیر مطلوبی بر جریان پردازش دادههای مختلف دارد. از سوی دیگر به این موضوع اشاره شد که مهندسان AMD در یک دادوستد مهندسی، با کوچکتر شدن فضای کش دستورالعمل، فضای کش Micro-Op را به دو برابر افزایش دادهاند و نتایج - تعمیرات مایکروویو ناسیونال شهرک آزادی - آن را در عمل آزمودهاند. در ادامه این مقاله در مورد Micro-Op یا میکروعملیاتها و روند دیکود (Decode) دستورالعمل بیشتر صحبت خواهیم کرد.
میکروعملیات یا Micro-Op (در این مقاله هر دو واژه به یک معنی -Micro Operation- به کار رفته است) در پردازندههای کامپیوتری، بهمعنی دستورالعملهای سطح پایینی است که در ترکیب با یکدیگر دستورالعملهای پیچیدهی - تعمیرات مایکروویو ناسیونال شهرک آزادی - ماشین را تولید و پیادهسازی - تعمیرات مایکروویو ناسیونال شهرک آزادی - میکنند. - تعمیرات مایکروویو ناسیونال شهرک آزادی - از این رو، گاه به آنها میکرودستورالعمل نیز اطلاق میشود. میکروعملیات عموماً شامل عملیاتهای مبنایی نظیر انتقال داده - تعمیرات مایکروویو ناسیونال شهرک آزادی - بین رجیسترها یا بین - تعمیرات مایکروویو ناسیونال شهرک آزادی - رجیسترها و باسهای CPU و اعمال محاسباتی و منطقی ساده روی رجیسترها است. در یک پردازنده، سیکل واکشی، دیکود و اجرای دستورالعملها بهطور مرتب پیادهسازی میشود و طی آن دستورالعملهای پیچیده یا ماکرو، در خلال اجرا به بخشهای کوچکتری دیکود یا تجزیه میشود و سپس پردازنده کار پردازش را از طریق رشتههایی از این میکروعملیاتها به پیش میبرد.
اجرای میکروعملیاتها تحت نظارت واحد کنترل CPU انجام میپذیرد. پردازنده با اعمال برخی بهینهسازیها نظیر بازآرایی (Reorder)، ترکیب (Fusion) و کش کردن میکروعملیاتها، در مورد روند اجرای آنها تصمیمگیری میکند. در مرحلهی دیکود، مهمترین عامل کش Micro-Op است. AMD با دوبرابر کردن اندازهی این کش از 2K به 4K ورودی (Entry) دستورالعملهای دیکودشدهی بیشتری را نسبت به گذشته در آن نگهداری میکند. در این حالت میزان بهکارگیری مجدد ورودیها افزایش مییابد. AMD برای تسهیل این بهکارگیری، نرخ گسیل (Dispatch) از کش Micro-Op به بافرها را به ۸ دستورالعمل ترکیبشده (Fused) افزایش داده است. با فرض اینکه AMD بتواند در اغلب موارد دیکودرها را دور بزند و نیازی به تجزیه دستورالعمل نباشد، کش Micro-Op تبدیل به - تعمیرات مایکروویو ناسیونال شهرک آزادی - بلوک موثری از تراشهی سیلیکون میشود.
در مقایسه پردازندههای Zen 2 با پردازندههای رقیب، افزایش اندازهی کش میکروعملیات به 4K جذابتر نیز میشود. اینتل در خانوادهی Skylake از کش Micro-Op با ظرفیت 1.5K ورودی استفاده میکند. این شرکت - تعمیرات مایکروویو ناسیونال شهرک آزادی - در پردازندههای ۱۰ نانومتری Ice Lake میزان کش میکروعملیات را به 2.25K ورودی ارتقا داده است؛ اما این تراشه در ادامهی سال - تعمیرات مایکروویو ناسیونال شهرک آزادی - جاری به کامپیوترهای قابل حمل راه یافته و پس از آن ممکن است به بازار سرور نیز راه پیدا کند. AMD با معماری هستهی Zen 2 از هماکنون شکاف وسیع میان بازار پردازندههای مصارف عام و سازمانی را پر کرده است. در حال حاضر ظرفیت کش Micro-Op پردازندهی ARM A77 معادل 1.5K ورودی است و این اولین باری است که ARM در طراحی پردازندههای موبایل خود از این نوع کش استفاده میکند.
دیکودرها در معماری Zen 2 تغییری نکرده و همچنان ۴ دیکودر کامپلکس در دسترس است که در مقایسه با ۱ دیکودر کامپلکس و ۴ دیکودر سادهی اینتل، منابع درخور توجهی را تشکیل میدهد. دستورالعملهای دیکود شده در کش Micro-Op ذخیره شده و بهدنبال آن توسط Dispatch به صف Micro-Op گسیل میشوند.
AMD تصریح کرده است که الگوریتم ترکیب میکروعملیاتهای خود را در معماری جدید بهبود بخشیده؛ هرچند جزئیاتی در مورد میزان تأثیر آن بر سطح عملکرد بیان کرده است. معماری Zen 2 برخلاف Zen و Zen+ با پشتیبانی از AVX2 نیاز به شکستن یک دستورالعمل AVX2 به دو - تعمیرات مایکروویو ناسیونال شهرک آزادی - Micro-Op ندارد. به عبارت دیگر دستورالعملهای AVX2 در سراسر پایپلاین به فرم Micro-Op واحد - تعمیرات مایکروویو ناسیونال شهرک آزادی - شناسایی میشود.
با عبور از دیکودرها، صفهای Micro-Op و Dispatch در معماری جدید قادر است در هر سیکل کلاک زمانبندهای (Schedulers) صحیح و - تعمیرات مایکروویو ناسیونال شهرک آزادی - اعشاری را با شش Micro-Op تغذیه کند. البته با توجه به اینکه AMD در معماری Zen از زمانبندهای عدد صحیح (Integer) و اعشاری (Floating Point) مستقلی استفاده میکند، توازن کمی به هم میخورد؛ چرا که زمانبند عدد صحیح میتواند ۶ میکروعملیات را در هر - تعمیرات مایکروویو ناسیونال شهرک آزادی - سیکل کلاک بپذیرد، در حالیکه زمانبند عدد اعشاری تنها میتواند ۴ میکروعملیات را بپذیرد. واحد Dispatch قادر است بهطور همزمان میکروعملیاتها را به هر دو بخش گسیل کند.
پیشرفت کلیدی معماری Zen 2 در بخش محاسبات اعشاری پشتیبانی کامل از دستورالعملهای AVX2 است. AMD پهنای باند واحدهای اجرایی این بخش را از ۱۲۸ به ۲۵۶ بیت افزایش داده و امکان اجرای محاسبات AVX2 را در یک سیکل کلاک فراهم کرده - تعمیرات مایکروویو ناسیونال شهرک آزادی - است. تا پیش از این چنین محاسباتی به دو دستورالعمل مجزا تجزیه میشد و هر دستورالعمل در یک سیکل کلاک اجرا میشد. بهرهمندی از واحدهای ذخیره و بارگذاری - تعمیرات مایکروویو ناسیونال شهرک آزادی - ۲۵۶ بیتی این روند را بهبود بخشیده است؛ بهطوریکه واحدهای FMA بهطور پیوسته در معماری جدید تغذیه میشود.
AMD میگوید با توجه به زمانبندی توأم با پایش انرژی در معماری جدید، افت فرکانس از پیش تعریفشدهای هنگام - تعمیرات مایکروویو ناسیونال شهرک آزادی - استفاده از دستورالعملهای AVX2 در پردازندههای جدید وجود ندارد. البته امکان کاهش فرکانس بسته به دما و الزامات ولتاژ وجود دارد؛ اما ایجاد این شرایط بهصورت خودکار و مستقل از دستورالعملهای در حال اجرا است.
در واحد محاسبات اعشاری، صفها تا ۴ میکروعملیات را در هر سیکل کلاک از واحد Dispatch میپذیرند. این میکروعملیاتها واحد رجیستر - تعمیرات مایکروویو ناسیونال شهرک آزادی - فیزیکی - تعمیرات مایکروویو ناسیونال شهرک آزادی - را با ظرفیت ۱۶۰ ورودی تغذیه میکنند. پس از آن دستورالعملهای میکرو به سوی ۴ واحد اجرایی روانه میشوند که میتوان آنها را طی فرایند ذخیره و بارگذاری با ۲۵۶ بیت داده تغذیه کرد.
بهبودهای دیگری در واحدهای FMA گذشته - تعمیرات مایکروویو ناسیونال شهرک آزادی - از دو - تعمیرات مایکروویو ناسیونال شهرک آزادی - برابر شدن ظرفیت آنها لحاظ شده است. AMD میگوید این واحدها با تخصیص حافظهی - تعمیرات مایکروویو ناسیونال شهرک آزادی - بهتر، - تعمیرات مایکروویو ناسیونال شهرک آزادی - سطح عملکرد خالص را در محاسبات فیزیکی تکرارشونده و برخی تکنیکهای پردازش صوتی بهبود بخشیدهاند. بهبود - تعمیرات مایکروویو ناسیونال شهرک آزادی - دیگر صورتگرفته در این بخش، کاهش تأخیر ضرب اعشاری از ۴ به - تعمیرات مایکروویو ناسیونال شهرک آزادی - ۳ سیکل کلاک است که پیشرفتی در خور توجه به شمار میرود.
زمانبندهای واحد عدد صحیح میتواند تا شش Micro-Op را در هر سیکل کلاک قبول کند. این دستورالعملها ۲۲۴ ورودی بافر بازآرایی (Reorder Buffer) را تغذیه میکنند. واحد عدد صحیح از نظر فنی ۷ واحد اجرایی دارد که شامل ۴ محاسبه گر منطقی (ALU) و ۳ واحد تولید آدرس (AGU) است. زمانبندها متشکل از ۴ صف ALU با ۱۶ ورودی و - تعمیرات مایکروویو ناسیونال شهرک آزادی - یک صف AGU با ۲۸ ورودی است. با وجود این، واحد AGU قادر به تغذیهی - تعمیرات مایکروویو ناسیونال شهرک آزادی - فایل رجیستر با سه Micro-Op در هر سیکل کلاک است. AMD براساس شبیهسازی توزیع دستورالعمل در یک نرمافزار عادی، ظرفیت صف AGU را در معماری - تعمیرات مایکروویو ناسیونال شهرک آزادی - جدید افزایش داده است. این صفها فایل رجیستر چند منظوره با ظرفیت ۱۸۰ - تعمیرات مایکروویو ناسیونال شهرک آزادی - ورودی را تغذیه میکنند؛ اما عملیاتهای خاص ALU را نیز تعقیب میکنند تا از اجرای عملیاتهایی با ظرفیت ایجاد وقفه ممانعت کنند.
سه AGU واحد ذخیره و بارگذاری را تغذیه میکنند. این واحد میتواند در هر سیکل از ۲ بار خواندن ۲۵۶ بیتی و ۱ بار نوشتن ۲۵۶ بیتی پشتیبانی کند. ۳ واحد AGU براساس دیاگرام - تعمیرات مایکروویو ناسیونال شهرک آزادی - ارائهشده توسط AMD معادل یکدیگر نیستند. AGU2 - تعمیرات مایکروویو ناسیونال شهرک آزادی - تنها - تعمیرات مایکروویو ناسیونال شهرک آزادی - میتواند واحد ذخیره را تغذیه کند؛ - تعمیرات مایکروویو ناسیونال شهرک آزادی - درحالیکه AGU0 و AGU1 قادر به تغذیهی هر دو واحد ذخیره و بارگذاری هستند. ظرفیت صف واحد ذخیره از ۴۴ ورودی به ۴۸ ورودی ارتقا یافته و TLBها برای کش کردن داده نیز افزایش - تعمیرات مایکروویو ناسیونال شهرک آزادی - یافته است. پهنای باند واحد ذخیره و بارگذاری جنبهی بارز معماری Zen 2 است که اکنون از ۱۶ به ۳۲ بایت ارتقا یافته است.
همانطور که پیش از این گفته شد، تغییر بزرگ در بخش کش معماری Zen 2 کاهش اندازهی کش دستورالعمل از ۶۴ به ۳۲ کیلوبایت و افزایش مسیرهای شرکت پذیری از ۴ به ۸ مسیر است. چنین تغییری AMD را قادر به حفظ فضا و افزایش ظرفیت کش Micro-Op از 2K ورودی به 4K ورودی کرده است. AMD بر این باور است که چنین تغییری باعث توازن عملکرد بهتر در کار - تعمیرات مایکروویو ناسیونال شهرک آزادی - با بارهای کاری امروزی میشود.
در معماری Zen 2 کش L1-D همچنان ۳۲ کیلوبایت و ۸ مسیره است و L2 نیز کشی با ۵۱۲ کیلو بایت ظرفیت و ۸ مسیر است. - تعمیرات مایکروویو ناسیونال شهرک آزادی - اندازهی کش L3 که یک کش غیرفراگیر (Non-Inclusive) است، دو برابر شده و برای هر کامپلکس هسته (CCX) از ۸ به ۱۶ مگابایت افزایش یافته است. AMD کش L3 - تعمیرات مایکروویو ناسیونال شهرک آزادی - را با بهاشتراکگذاری یک بلوک ۱۶ مگابایتی میان هستههای هر CCX، بهجای ایجاد دسترسی به L3 از هر یک از هستهها مدیریت میکند. به دلیل افزایش ظرفیت کش - تعمیرات مایکروویو ناسیونال شهرک آزادی - L3 تأخیر اندکی افزایش یافته است. تأخیر حافظهی کش L1 همچنان ۴ کلاک، تأخیر L2 معادل ۱۲ کلاک و تأخیر L3 اکنون بالغ بر ۳۵ تا ۴۰ سیکل کلاک است. گفتنی است که افزایش تأخیر یک خصوصیت ذاتی حجم کشهای بزرگتر بوده و این برای AMD به منزلهی یک دادوستد مهندسی است. - تعمیرات مایکروویو ناسیونال شهرک آزادی -
AMD تصریح کرده که در معماری جدید خود اندازهی صفها را برای مدیریت خطاهای L1 و L2 افزایش داده؛ هر چند این شرکت توضیحی در مورد اندازهی دقیق این صفها نداده است.
با حرکت به سوی نسل دوم معماری Zen، با نسخهی جدیدی از Infinity Fabric که در واقع نسل دوم آن به شمار میرود، روبهرو میشویم. یکی از مهمترین پیشرفتهای IF2 پشتیبانی از نسل چهارم پروتکل ارتباطی PCIe است و بدینترتیب پهنای باس IF جدید از ۲۵۶ به ۵۱۲ بیت افزایش مییابد.
بنا بر گفتههای AMD، بهرهوری توانی کلی IF2 به میزان ۲۷ درصد بهبود یافته و در مجموع باعث کاهش توان مصرفی به ازای هر بیت نقل و انتقال داده شده است. با افزایش لینکهای IF در پردازندههای EPYC با معماری Zen 2 و حرکت داده از چیپلتهای متعدد به Die ورودی/خروجی این مسئله اهمیت بیشتری نیز مییابد.
یکی از ویژگیهای IF2 این است که کلاک آن از کلاک DRAM مجزا شده است. در معماریهای نسل قبل Zen فرکانس IF - تعمیرات مایکروویو ناسیونال شهرک آزادی - همبسته با فرکانس DRAM بود که البته مزایایی دربرداشت و امکان کار حافظه با فرکانسهای بسیار بالاتر وجود داشت؛ اما هرگونه محدودیت در IF بهمعنی آن بود که هر دو المان با ماهیت Lock-Step کلاک، دچار محدودیتهایی میشد.
AMD در نسل جدید معماری پردازندههای خود، نسبتهایی را - تعمیرات مایکروویو ناسیونال شهرک آزادی - برای IF2 تعریف کرده است. چنانچه نسبت ۱:۱ اعمال شود، کلاک IF2 نرمال بوده و تا سقف کلاک DRAM افزایش مییابد و چنانچه نسبت ۱:۲ اعمال شود، کلاک IF2 به نصف DRAM تقلیل مییابد. نسبت نرمال - تعمیرات مایکروویو ناسیونال شهرک آزادی - بایستی بهطور خودکار در فرکانسهای حول DDR4-3600 تا DDR4-3800 (فرکانس پیشنهادی AMD) فعال شود و در این حالت کلاک IF2 منطبق بر کلاک DRAM میشود. در غیر اینصورت با کاهش کلاک IF2 به نصف، تأثیر - تعمیرات مایکروویو ناسیونال شهرک آزادی - مستقیم آن بر پهنای باند Infinity Fabric درخورتوجه خواهد بود. بایستی توجه داشت که در - تعمیرات مایکروویو ناسیونال شهرک آزادی - حالت دوم، حتی اگر فرکانس DRAM بالا باشد، با کاهش فرکانس IF بهرهی عملکرد خام ناشی از وجود حافظههای سریعتر محدود میشود. AMD توضیح میدهد چنانچه با نصب حافظههای DDR4-3600 نسبت ۱:۱ تحصیل شود، روش بهتری در مقایسه با بهینهسازی تایمینگها در یک - تعمیرات مایکروویو ناسیونال شهرک آزادی - فرکانس مشخص است.
ساختن هستهای با معماری Zen 2 چیزی بیشتر از طراحی - تعمیرات مایکروویو ناسیونال شهرک آزادی - و ساختن هستهی پردازنده بهتنهایی - تعمیرات مایکروویو ناسیونال شهرک آزادی - است. فعل و انفعالات میان هستهها و چیپلتها، طراحی و هماهنگی SoC و پلتفرم نیاز به کار اجزای متعدد داخلی در کنار یکدیگر دارد تا سطحی از تشریک مساعی و همافزایی خلق شود که بهطور جداگانه امکان دستیابی - تعمیرات مایکروویو ناسیونال شهرک آزادی - هر یک از اجزا به آن نخواهد بود. آنچه AMD با طراحی چیپلتی و معماری Zen 2 انجام داده، نهتنها در بهرهگیری از مزایای نود سیلیکون فشردهتر نویدبخش ظاهر میشود، بلکه راهی به سوی دگرگونی آیندهی محاسبات میگشاید. با کاهش ابعاد تراشه و فشرده شدن فرایند ساخت، مهمترین خروجی کار کاهش توان مصرفی است. این مهم به دو طریق قابل انجام است: ۱. سطح عملکرد متعارف با توان کمتری حفظ شود ۲. با افزایش سطوح توان، سطوح عملکرد بالاتری به بار آید. در طول زمان نیز شاهد چنین رویهای در - تعمیرات مایکروویو ناسیونال شهرک آزادی - طراحی هستههای جدیدتر بودهایم. مهندسان طراح یا راههای افزایش توان تراشههای خود را هموار میکنند تا به - تعمیرات مایکروویو ناسیونال شهرک آزادی - سطوح عملکرد بالاتری دست یابند یا با افزودن قسمتهای جدیدی به هسته در تلاش برای افزایش نرخ اجرای دستورالعملها هستند. پیادهسازی رویهی اخیر ساده نیست و نیازمند دادوستدهای فراوان مهندسی است. مثالی - تعمیرات مایکروویو ناسیونال شهرک آزادی - از این قاعده در طراحی و معماری هستههای Zen 2 دیده میشود. آن هم دادوستدی است که AMD در بخش کش پردازنده به اجرا درآورده است. AMD کش دستورالعمل L1 را کاهش داده و با - تعمیرات مایکروویو ناسیونال شهرک آزادی - این کار امکان افزایش دو برابری کش Micro-Op را یافته است. بدین ترتیب تراشهساز آمریکایی انتظار افزایش سطح عملکرد و بهبود توان مصرفی را بهصورت توامان دارد.
از مجموع آنچه در این - تعمیرات مایکروویو ناسیونال شهرک آزادی - مقاله گفته شد، برمیآید که Zen 2 بهعنوان عضوی از خانوادهی معماری Zen، شباهت زیادی با نسلهای قبلی خود دارد. با این حال AMD گفته است Zen 2 در مقایسه با Zen+ به میزان ۱۵ درصد سطح عملکرد بهتری دارد. با تغییرات اعمالشده در هستههای Zen 2 چنین کاری قطعاً شدنی است. کاربرانی که بر سطح عملکرد پردازنده تمرکز زیادی دارند، قطعاً مجذوب عملکرد پردازندههای Zen - تعمیرات مایکروویو ناسیونال شهرک آزادی - 2، بهویژه پرچمدار این سری پردازندهی - تعمیرات مایکروویو ناسیونال شهرک آزادی - ۱۶ - تعمیرات مایکروویو ناسیونال شهرک آزادی - هستهای Ryzen 9 3950X خواهند شد؛ پردازندهای که با توان مصرفی ۱۰۵ وات، سطوح عملکرد را در حوزهی پردازندههای مصارف عام بهخوبی - تعمیرات مایکروویو ناسیونال شهرک آزادی - جابهجا میکند. پیشبینی میشود که AMD با قدرت عرضهی پردازندههای EPYC Rome را با معماری Zen 2 و ساختار چندچیپلتی در ماههای آینده آغاز کند. این پردازندههای سرور با ویژگیهایی نظیر سطح عملکرد دو برابری FP و QoS و سطح عملکرد مالتی تردینگ بینظیر ۶۴ هسته بهطور همزمان، عرضه خواهند شد تا معادلات بازار پردازندههای سرور را به نفع خود برهم زنند؛ بهویژه اگر AMD روش قیمتگذاری جذاب و رقابتی خود - تعمیرات مایکروویو ناسیونال شهرک آزادی - را در سبد محصولات سازمانی نیز رعایت کند.