سخت افزار

دربارۀ ریزمعماری AMD Zen 2 بیشتر بدانید

آگنر فاگ (Agner Fog) به تازگی نتایج بررسی دقیق خود از معماری Zen 2 شرکت AMD را منتشر کرده است

آگنر فاگ (Agner Fog)، پژوهشگر فعال در حوزۀ پردازنده‌ها، به تازگی نتایج بررسی دقیق خود از معماری Zen 2 شرکت AMD را منتشر کرده است. آگنر فاگ طی بررسی‌هایی دقیق خود موفق به کشف ویژگی جدیدی که شده که شرکت AMD از ان سخنی به میان نیاورده است و احتمالاً علت آن هم ناقص بودن این ویژگی است.

آگنر فاگ و کشف قابلیت‌های پنهان در پردازنده‌های AMD

آگنر فاگ در حوزۀ ویژگی‌های زیرساختی (Low Level) و معماری نرم‌افزاری پردازنده‌ها فعالیت می‌کند و همچنان در حال انتشار به روز رسانی‌های دوره‌ای دربارۀ دفترچۀ راهنمای پردازنده‌ها است که در آن معماری‌های مختلف شرکت‌هایی نظیر AMD و Intel را با هم مقایسه می‌کند. در جدیدترین تحقیقات آگنر فاگ یکی از قابلیت‌های پنهان تراشه‌های Zen 2 شرکت AMD کشف شده است که تاکنون از آن صحبتی نشده است. نمودارهای رسمی که از سوی شرکت‌های Intel و AMD منتشر می‌شوند دقت کافی را ندارند به همبن خاطر وی برای انجام آزمایشات خود لیست بسیار کاملی از بنچمارک‌های میکرو عملیاتی (Micro Targeted) را آماده کرده است تا تمام جزئیات عملکرد تراشه‌ها را مشخص کند.

آگنر فاگ در گذشته نیز موفق به کشف باگ‌های زیادی شده است

آگنر فاگ در گذشته طی بررسی‌هایی که بر روی پردازنده‌های X86 انجام داده بود، موفق شد تا باگ‌هایی که شامل مشکلاتی در انجام عملیات مربوط به کد AVX2 در معماری Piledriver و مشکلاتی در Pipeline اصلی هستۀ FPU می‌شوند را کشف کند. افرادی که چگونگی تکامل معماری Zen به Zen 2 را مطالعه کرده باشند با بیشتر جزئیات زیرساختی این معماری آشنا هستند. بیشینۀ میزان اندازه‌گیری شدۀ توان عملیاتی و گرفتن دستور از حافظۀ بر ترد (Fetch throughput per Thread )، همچنان برابر با 16 بایت است. البته از نظر تئوری یک پردازنده می‌تواند تا 32 بایت دستور هم راستا بر هر سیکل کلاک (Fetch per Clock Cycle) را دریافت کند.

جزئیات ریزمعماری AMD Zen 2

در معماری Zen 2 پردازنده بر روی نرخ دیکود با ثبات 4 دستورالعمل بر سیکل کلاک (IPC – Instructions per Clock Cycle) محدود شده اما اگر هر کدام از این دستورالعمل‌ها دو میکروعملیات تولید کنند این عدد می‌تواند تا 6 دستورالعمل در هر سیکل افزایش پیدا کند. بنابراین با دو دستورالعمل تک و دو دستورالعمل دوتایی مواجه خواهیم شد، همچنین این نکته را نیز در نظر داشته باشید که این اتفاق در اغلب اوقات رخ نمی‌دهد. از نظر تئوری، اندازۀ حافظۀ کش میکرو عملیات‌ها 4096uops است اما بر اساس محاسبات آگنر فاگ، میزان مؤثرمیکرو عملیات‌ها در یک ترد، 2500uops اندازه‌گیری شده است بنابراین میزان مؤثر در دو ترد، دو برابر این رقم خواهد بود. حلقه‌های دستوری داخل حافظۀ کش می‌توانند با 5 دستورالعمل در هر سیکل کلاک (IPC) اجرا شوند؛ البته گفته شده که در شرایط خاص ممکن است این میزان به 6 دستورالعمل در هر سیکل نیز افزایش پیدا کند.

تفاوت ریزمعماری Zen با Zen 2

براساس آزمایشات انجام شده برخی برتری‌های معماری Zen 2 نسبت به Zen نسل اول تأیید شده اند، برتری‌هایی نظیر اینکه در نسل اول معماری Zen پردازنده می‌تواند هم زمان دو عمل خواندن (Read) را انجام دهد یا توان خود را بین یک عمل خواندن و نوشتن (Write) در همان سیکل کلاک تقسیم کند، اما در معماری Zen 2 پردازنده قادر است دو عمل خواندن و یک نوشتن را به صورت هم زمان اجرا کند. برای مثال در نمودار زیر می‌توانید مشاهده کنید که یک دستور ممیز شناور چگونه بر اساس Pipeهای اجرائی مختلف و بر اساس وظیفۀ مدنظر به کار گرفته می‌شود.

ویژگی‌های دیگری که شرکت AMD از Zen 2 معرفی کرده

توانایی‌های دیگر که شرکت AMD از معماری Zen 2 معرفی کرده است عبارت‌اند از توانایی میرور کردن (Mirror) حافظۀ عملوند‌ها (Operand). این ویژگی در برخی از عملیات‌ها می‌تواند تعداد سیکل کلاک‌‌ها را برای اجرای عملیات به طور محسوس کاهش دهد، مثلا از 15 سیکل به 2 کاهش دهد. برای اجرای عملیات میرور کردن به چند پیش شرط نیاز است که برای مثال می‌توان شماری از آن‌ها اشاره کرد. مورد اول اینکه دستورالعمل‌ها باید از رجیستری عمومی استفاده کنند، حافظۀ عملوندها باید آدرس یکسانی داشته باشند و اندازۀ آن‌ها باید 32 یا 64 بیت باشد.

این نکته را نیز در نظر داشته باشید که بعد از نوشتن یک بستۀ 64 بیتی می‌توان یک بستۀ 32 بیتی را با یک عملیات خواندن در همان آدرس قرار داد اما عملیات خواندن و نوشتن به صورت عکس چیزی که گفته شد امکان پذیر نیست و با توجه به اینکه این ویژگی در جایی به ثبت نرسیده است نمی‌دانیم که آیا شخصی تاکنون موفق شده آن‌را به صورت عملی در ارسال کد به کار بگیرد یا خیر.

نظر نهایی آگنر فاگ دربارۀ این ریزمعماری

آگنر فاگ ادعا کرده است که این قابلیت در حالت 32 بیتی بهره‌وری کافی را خواهد داشت و اگر پردازنده با استنباط‌های نادرست خاصی روبه‌رو شود دچار افت عملکرد خواهد شد. علت به ثبت نرسیدن این ویژگی و عدم معرفی آن‌ را می‌توان همین مسئله دانست و شرکت AMD احتمالاً تصمیم داشته که از تشویق توسعه دهندگان برای استفاده ازاین قابلیت جلوگیری کند. آگنر فاک در ادامه نظر نهایی خود را چنین بیان می‌کند:

« در آخر می‌توان نتیجه گرفت که ریزمعماری Zen دارای طراحی کارآمدی است و حافظۀ کش و حافظۀ میکرو عملیات زیادی را فراهم می‌کند که واحدهای اجرائی بزرگی را با توان عملیاتی بسیار بالا و تأخیر پایین دربر می‌گیرد.»

منبع
سایت اکستریم تک
نمایش بیشتر

ایمان ایمانی

یک مهندس نرم افزار گیمر 25 ساله، که خیلی به صنعت بازی سازی و IT علاقه داره 🙂 منو در شبکه‌های اجتماعی با اسم whoismriman می‌تونید پیدا کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مشابه

دکمه بازگشت به بالا