مطالعه عميق معماري Zen 2؛ پيشرفتها و ويژگيها (قسمت اول)
AMD بهدنبال رونمايي پردازندههاي سري ۳۰۰۰ رايزن در رويداد كامپيوتكس ۲۰۱۹، جزئيات بيشتري از معماري استفادهشده در اين تراشهها با نام Zen 2 و بهبودهاي اعمالشده در آن ارائه داد. اين معماري باعث توانمندي بيشتر پردازندههاي جديد AMD در دو بخش پردازندههاي خانگي و سازماني ميشود. Zen 2 شگفتيآفريني ۲۰۱۹ تراشهساز آمريكايي معمارياي نيست كه بهيكباره و از صفر AMD صحنهگرداني كرده باشد. معماري جديد در واقع بلوغ اولين نسل از معماري Zen به شمار ميرود. معماريهاي تكامل يافته مهندسان را قادر به كنارگذاردن قسمتهاي كمثمر معماري پايه و بازكردن گرههايي با ظرفيت ايجاد گلوگاه و تمركز بر ترانزيستورهاي باقيمانده براي افزايش هرچهبيشتر از سطح عملكرد ميكند.
AMD در ساخت تراشههاي Zen 2 از ساختار چندچيپلتي استفاده ميكند. در شرايطي كه ساخت تراشههاي بزرگ با فركانسهاي بالا روي نودهاي سيليكون توليدشده با فرايندهاي ساخت فشردهتر با دشواري فزايندهاي روبهرو است، سري جديد پردازندههاي رايزن با بهكارگيري چيپلتهاي مجزا، سطح عملكرد و مقياسپذيري تراشههاي رايزن را بهطور اساسي دگرگون كرده است. AMD قصد دارد الگوي بكارگيري چيپلتها را در تمام سبد محصولاتش از پردازندههاي دسكتاپ سري ۳۰۰۰ تا پردازندههاي سرور EPYC Rome گسترش دهد. هر يك از چيپلتهايي كه AMD در اين پردازندهها استفاده ميكند، شامل ۸ هسته با معماري Zen 2 است.
براي آشنايي بهتر خوانندگان اخبار تخصصي، علمي، تكنولوژيكي، فناوري مرجع متخصصين ايران با آخرين پردازندههاي AMD، گفتني است سبد جديد محصولات AMD كه در ساخت آنها از هستههايي با معماري Zen 2 استفاده ميشود، شامل دو بخش مجزا است:
- پردازندههاي مصارف عام (دسكتاپ) نسل سوم رايزن كه با نام سري ۳۰۰۰ نيز شناسايي ميشوند؛
- پردازندههاي سرور نسل جديد EPYC كه با نام Rome شناخته ميشوند.
AMD جزئيات كاملي دربارهي ۶ پردازندهي سري ۳۰۰۰ شامل تعداد هستهها، سرعت كلاك، حجم حافظهي قابل همراهي و توان مصرفي آنها ارائه كرده است. با وجود اين، ويژگيهاي پردازندههاي سرور EPYC Rome بهجز برخي مقادير حداكثري ارائه نشده و انتظار ميرود در ماههاي آينده جزئيات بيشتري از اين تراشههاي سازماني منتشر شود. پردازندههاي EPYC Rome با حداكثر ۶۴ هسته نسل دوم پردازندههاي EPYC در نقشهي راه محصولات AMD است كه اينبار با معماري Zen 2 تقويت شده است. نسل قبلي اين محصولات با معماري Zen كه از سال ۲۰۱۷ در بازارهاي اينترپرايز حضور دارد، با عنوان EPYC Naples شناخته ميشود و حداكثر ۳۲ هستهي پردازشي دارد. در جدول زير، اطلاعات پردازندههاي سري ۳۰۰۰ رايزن (مدلهاي دسكتاپ) درج شده كه بهطور رسمي AMD اعلام كرده است. پردازندههاي معرفيشده ۶ تا ۱۶ هسته دارند و توان طراحي حرارتي آنها حداكثر ۱۰۵ وات است. ارزشها نيز از ۱۹۹ دلار براي پردازندهي ۶ هستهاي Ryzen 5 3600 شروع ميشود و تا ۷۴۹ دلار براي پردازندهي ۱۶ هستهاي ادامه مي يابد. تمامي پردازندههاي زير از چيدمان PCIe نسل چهارم ۴+۴+۱۶ و حافظههاي DDR4 با فركانس ۳۲۰۰ مگاهرتز همراهي ميكنند.
نام پردازنده | تعداد هسته/ ترد | فركانس پايه (GHz) | فركانس بوست (GHz) | كش L2-L3 (مگابايت) | توان طراحي حرارتي (وات) | ارزش (دلار) |
---|---|---|---|---|---|---|
Ryzen 9 3950X | 16/32 | 3.5 | 4.7 | 8-64 | 105 | 749 |
Ryzen 9 3900X | 12/24 | 3.8 | 4.6 | 6-64 | 105 | 499 |
Ryzen 7 3800X | 8/16 | 3.9 | 4.5 | 4-32 | 105 | 399 |
Ryzen 7 3700X | 8/16 | 3.6 | 4.4 | 4-32 | 65 | 329 |
Ryzen 5 3600X | 6/12 | 3.8 | 4.4 | 3-32 | 95 | 249 |
Ryzen 5 3600 | 6/12 | 3.6 | 4.2 | 3-32 | 65 | 199 |
شيوهي طراحي Zen 2 در مقايسه با نسل اول Zen تغيير اساسي يافته است. در معماري جديد روش پيادهسازي هستهها در تراشه دگرگون شده و اين بار هر ۸ هسته در يك چيپلت كه با فناوري ساخت ۷ نانومتري TSMC توليد ميشود، گنجانده شده است. براي مثال، پردازندهاي با ۱۶ هسته دربرگيرندهي دو چيپلت محاسباتي است كه هر يك ۸ هسته دارد. پردازندههاي ۶ تا ۸ هستهاي رايزن ۳۰۰۰، تنها يك چيپلت داشته و ساير مدلها دربردارندهي دو چيپلت است. سطح مقطع هر چيپلت ۷۴ تا ۸۰ ميليمتر مربع است. در هر چيپلت، هستهها بهصورت دو گروه ۴ تايي بازآرايي ميشود كه به هر يك از اين گروهها يك كامپلكس هسته يا CCX اطلاق ميشود. هر CCX علاوه بر داشتن ۴ هسته، دربرگيرنده حافظهي كش L3 نيز است. گفتني است ميزان كش L3 در معماري Zen 2 در مقايسه با Zen دوبرابر شده است. هر پردازنده علاوه بر چيپلتهاي محاسباتي، دربرگيرندهي يك Die ورودي/خروجي (I/O) واحد بوده، ارتباط ميان چيپلتها و اين Die از طريق لينكهاي Infinity Fabric (يا IF) برقرار ميشود. Die ورودي خروجي بهعنوان گذرگاهي مركزي براي برقراري تمامي ارتباطات ميان تراشهي پردازنده و منابع سيستم عمل ميكند. اين Die ميزبان تمامي مسيرهاي ارتباطي PCIe و همچنين كانالهاي حافظه و لينكهاي Infinity Fabric براي ارتباط ميان چيپلتها يا بين پردازندههاي مجزا است. Die ورودي/خروجي در پردازندههاي سرور EPYC Rome بر پايهي فناوري ساخت ۱۴ نانومتري Global Foundries توليد شده؛ اما در پردازندههاي سري ۳۰۰۰ رايزن براي ساخت اين Die از فناوري ساخت ۱۲ نانومتري اين شركت استفاده ميشود. با وجود يك Die ورودي/خروجي، هر پردازندهي رايزن مبتني بر Zen 2 به ۲۴ مسير ارتباطي PCIe 4.0 (با چيدمان ۴+۴+۱۶) دو كانال حافظه دسترسي دارد.
در مقابل، پردازندههاي EPYC Rome نيز با طراحي مشابه و چيپلتهاي Zen 2 ساخته شده، حداكثر از ۸ چيپلت در ساختار خود برخوردار هستند كه تعداد هستههاي پردازنده را به ۶۴ هسته ميرساند. در اينجا نيز، چيپلتهاي محاسباتي امكان برقراري بيواسطهي ارتباط با يكديگر را نداشته و هر چيپلت بهطور مستقيم تنها با Die ورودي/خروجي مركزي در ارتباط است. Die ورودي/خروجي اين بار به ۸ كانال حافظه دسترسي داشته و از ۱۲۸ مسير ارتباطي PCIe 4 همراهي ميكند.
سطح عملكرد پردازندههاي Zen 2
سطح عملكرد خام پردازندههاي Zen 2 در مقايسه با Zen+ به ميزان ۱۵ درصد بهبود يافته است
AMD در رويداد كامپيوتكس اعلام كرد تراشههاي Zen 2 را طوري طراحي كرده است كه در مقايسه با پلتفرم Zen + سطح عملكرد خام آن ۱۵ درصد بهبود يافته است. همزمان اين شركت مدعي است كه در توان مصرفي يكسان، Zen 2 بهبود عملكردي بالاتر از ۲۵ درصد داشته و در بهترين شرايط با نيمي از توان مصرفي به سطح عملكرد يكساني با Zen + دست مييابد. با تركيب اين موارد در بنچماركهاي گزينشي، AMD مدعي است سطح عملكرد پردازندههاي مبتني بر Zen 2 برحسب هر وات توان مصرفي، در مقايسه با نسل قبل ۷۵ درصد بهبود يافته و ميزان اين بهبود در مقايسه با پردازندههاي رقيب ۴۵ درصد است.
اين اعدادي است كه شركت سازنده ارائه كرده و هنوز نميتوان بدون دسترسي به پردازندههاي Zen 2 آنها را تأييد يا رد كرد. AMD زمان نسبتا زيادي را براي تقويت معماري Zen 2 و ايجاد تغييرات در آن صرف كرده تا نشان دهد كه هر نسل از محصولات اين شركت روندي رو به رشد را در مقايسه با نسلهاي قبلي محصولات ميپيمايد. AMD بنا بهگفتهي دست اندركاراناش قصد دارد صرفانديشه متخصصين از رقابت خود با اينتل، در هر نسل پردازندههاي رايزن تا جايي كه ميتواند، مرزهاي فناوري را به پيش راند. AMD تصريح كرده است كه آنها علاقهمند به ارائهي بهروزرسانيهاي گسسته و پارهاي و پيش افتادن و بازماندنهاي مداوم از رقيب در جريان رقابت نيستند؛ چراكه اين رويه ممكن است باعث كندشدن سرعت سير فناوري شود. مديران AMD گفتهاند كه آنها زمان عرضهي محصولات Zen 2 او را طوري انتخاب كردهاند كه با عرضهي محصولات رقابتي ۱۰ نانومتري Ice Lake اينتل تقارن زماني داشته باشد. آنها ميگويند كه همچنان از نقشهي راه برنامهريزيشدهي خود جلوتر هستند.
AMD پردازندههاي سري ۳۰۰۰ رايزن را در آزمايشگاههاي خود با نرمافزار Cinebench آزموده است. Cinebench نرمافزار بنچمارك پردازنده برحسب محاسبات مميز شناور است كه AMD از گذشته تا به حال پردازندههاي خود را براي كاوش ميزان عملكرد FP (شامل FP32 و…) و سطح عملكرد حافظهي كش با آن آزمايش كرده است. با وجود اين، Cinebench غالبا در جريان بنچمارك، درصد بالايي از زيرسيستم حافظه را دخالت نميدهد.
در جريان رويداد CES 2019 در ژانويه، AMD بهطور زنده پردازندهي بينام ۸ هستهاي Zen 2 را با نرمافزار Cinebench R15 آزمود و نتايج آن را با بنچمارك يك پردازندهي ۸ هستهاي حرفهاي Core i9-9900K اينتل مقايسه كرد. در حالي كه نمرات بهدستآمدهي دو سيستم تقريبا مشابه يكديگر بود، پردازندهي نسل سوم رايزن توانسته بود فقط با حدود يكسوم توان مصرفي پردازندهي اينتل در آن بنچمارك، موفق به كسب چنين نتيجهاي شود. AMD در جريان كامپيوتكس ۲۰۱۹ در ماه مه، جزئيات زيادي از پردازندههاي ۸ و ۱۲ هستهاي نسل سومي خود و اطلاعاتي از نحوهي عملكرد آنها در بنچمارك Cinebench R20 را در دو بخش سينگل ترد (Single-Threading) و مالتي ترد (Multi-Thread) با مخاطبان خود در ميان گذارد.
AMD با نشاندادن تصويري از نتايج اين بنچمارك تصريح كرد كه پردازندههاي سري ۳۰۰۰ رايزن اين شركت با توان مصرفي كمتر و ارزش بسيار كمتر در مقايسه با پردازندههاي اينتل، در هر دو بخش بنچمارك عملكرد بهتري داشتند. براساس نتايج اين بنچمارك، پردازندهي ۴۹۹ دلاري Ryzen 9 3900X در بخش سينگل ترد در مقايسه با پردازندهي ۱۲۰۰ دلاري Core i9 9920X اينتل بسيار بهتر عمل كرده است. در اين بخش، پردازنده ۳۹۹ دلاري Ryzen 9 3800X در مقايسه با Core i9-9900K با برچسب ارزش ۴۹۰ دلاري امتياز بهتري كسب كرده است.
براساس نتايج آزمايشهاي داخلي AMD، در بخش مالتي ترد Ryzen 9 3900X در مقايسه با مدل پردازندهي گرانارزش Core i9 9920X حدود ۱۰ درصد سريعتر بوده و پردازندهي Ryzen 9 3800X باز هم در مقايسه با Core i9-9900K نتايج بهتري كسب كرده است.
AMD عملكرد پردازندههاي خود را در بخش گيمينگ نيز آزموده و سطح عملكرد تراشههاي Zen 2 را با نسل دوم پردازندههاي رايزن مقايسه كرده است. براساس نتايج ارائهشدهي اين تراشه ساز، پردازندهي Ryzen 7 3800X در مقايسه با پردازندهي نسل قبل Ryzen 7 2700X در عناوين مختلف گيم توانسته باعث بهبود ۱۱ تا ۳۴ درصدي نرخ فريم خروجي شود. اين آزمايشها در رزولوشن 1080p انجام شده و از انديشه متخصصين شركت سازنده آنچه باعث اين پيشرفت شده، شامل افزايش IPC و افزايش فركانس مؤثر پردازنده و افزايش دو برابري ميزان حافظهي كش L3 است.
پردازندههاي نسل سوم رايزن در مقايسه با نسل دوم، باعث بهبود خروجي ۱۱ تا ۳۴ درصدي در گيمينگ ميشود
AMD عملكرد پردازندههاي نسل سوم رايزن را در گيمينگ با پردازندههاي اينتل نيز مقايسه كرده و اين بار هم براي مقايسه از پردازندهي مشابه رقيب از انديشه متخصصين تعداد هستهها و ردهي ارزشي استفاده كرده است. در تصوير ارائهشدهي AMD دو پردازندهي Ryzen 5 3600X و Core i5-9600K در بازهي ارزشي ۲۵۰ دلاري با تعداد هستههاي يكسان، در عناوين مختلف گيم به مصاف يكديگر رفتهاند. پردازندهي نسل سوم رايزن در برخي عناوين بهتر از تراشهي رقيب عمل كرده و در تعدادي از عناوين مغلوب آن شده است.
يكي از نكات مهمي كه در ساخت پردازندههاي سري ۳۰۰۰ رايزن با معماري Zen 2 به چشم ميخورد، افزايش سقف فركانس در اين پردازندهها در مقايسه با نسلهاي پيشين است. مايكل كلارك طراح ارشد معماري رايزن در خلال ارائهي جزئيات معماري جديد شركت AMD، تصريح كرد مهاجرت به فناوري ساخت ۷ نانومتري موفقيتآميزتر از چيزي بود كه در ابتدا پيشبيني ميشد. AMD در تراشههاي Zen 2 از يك سو حداكثر ولتاژ را در مقايسه با گذشته كاهش داده و از سوي ديگر امكان افزايش سرعت كلاك را فراهم كرده است. سقف فركانس قابلدستيابي كه در تراشههاي ۱۲ نانومتري نسل دوم رايزن ۴۳۵۰ مگاهرتز بود، اكنون در نسل سوم اين تراشهها به ۴۶۰۰ مگاهرتز رسيده است.
نكتهي مهم در اينجا اين است كه مهندسان AMD در گامهاي اول توسعه انتظار افزايش سرعت كلاك پردازندههاي ۷ نانومتري Zen 2 را در مقايسه با گذشته نداشتند. محدوديت در افزايش سرعت كلاك اشكالي ذاتي در فرايند فشردهسازي تراشههاي مدرن است. با كوچكترشدن فناوري ساخت، سطوح ولتاژ موردنياز كاهش يافته و كاهش ولتاژ ميتواند تأثير منفي بر فركانس كاري مطلق پردازندهها بگذارد. با وجود اين، در پردازندههاي Zen 2 فناوري ساخت ۷ نانومتري TSMC در كنار مهندسي تحسينبرانگيز AMD باعث شده كه تراشههاي جديد امكان كار در فركانس هاي بالاتري را در مقايسه با تراشه هاي رايزن ۱۲ و ۱۴ نانومتري داشته باشند. اين يكي از قوتهاي معماري Zen 2 است.
يكي از نكات مثبت ديگر در ساخت تراشههاي Zen 2 دوبرابرشدن آخرين سطح حافظهي كش (كش L3) است. ميزان اين حافظه از ۲ مگابايت به ازاي هر هسته اكنون به ۴ مگابايت به ازاي هر هستهي پردازنده رسيده است. به گفتهي AMD، دوبرابرشدن ميزان كش L3 باعث بهبود ۱۱ تا ۲۱ درصدي سطح عملكرد در گيمينگ 1080p با اتكا بر يك پردازندهي گرافيكي مجزا شده است. بهبود ساختار دستورالعملها در معماري Zen 2 نيز به بهبود اين ارقام كمك شاياني كرده است.
بهينهسازيهاي Zen 2 براي كار با ويندوز
يكي از نكات مهمي كه باعث ايجاد اشكالاتي در پردازندههايي غير از اينتل براي كار با ويندوز مايكروسافت ميشود، چيدمان بهينهسازيها و زمانبند سيستمعامل است. در گذشته ديديم كه چگونه ويندوز مايكروسافت با جانمايي معماري پردازندههاي غير اينتل مانند معماري بولدوزر AMD، معماري هستههاي هيبريدي كوالكام روي پردازندههاي اسنپدراگون و اخيرا پردازندههاي تردريپر AMD با چينش Multi-Die تطبيق نمييافت. در آخرين مورد، شاهد دامنههاي تأخير حافظهي مختلفي در روند اجراي محاسبات عادي بوديم.
AMD در روند توسعهي آخرين پردازندههاي خود و با هدف شناسايي توپولوژي غيرعادي هستههاي Zen 2 بهوسيلهي ويندوز، ارتباط نزديكي با مايكروسافت برقرار كرد. اين دو شركت در كنار هم كار كردند تا مطمئن شوند فرايند تخصيص حافظه و ترد در نبود روش هدايت مناسب از طريق برنامهي در حال اجرا، به بالاترين بهرهوري در روند پردازش در ويندوز منجر شود. در نسخهي دهم مه ويندوز ۱۰، مايكروسافت برخي ويژگيهاي اضافي را به ساختار سيستمعامل خود اضافه كرده تا معماري Zen 2 و جانمايي جديد تراشههاي سيليكون سري ۳۰۰۰ رايزن در اين محيط به بهترين نحو عمل كند. بهينهسازيهاي جديد در دو جبهه انجام پذيرفته است.
۱. گروهبندي ترد
اولين تغيير در روند تخصيص تردها اعمال شده است. وقتي پردازنده گروه هستههاي مختلفي دارد، تردهاي پردازشي را به روشهاي گوناگوني ميتوان به اين هستهها تخصيص داد كه هر كدام از اين روشها معايب و مزاياي خود را دارد. فرايند تخصيص ترد بستگي زيادي به گروهبندي ترد و پخش ترد دارد.
گروهبندي ترد حالتي است كه در آن تردهاي جديد تكثير و از آنجا مستقيما به هستههايي تخصيص داده ميشود كه در مجاورت هستههاي پرشده با تردهاي در حال پردازش قرار دارد. با اين شيوه، تردهاي در حال پردازش در مجاورت يكديگر قرار ميگيرند و امكان ارتباط ترد به ترد بهخوبي ايجاد ميشود. اين شيوه باعث ايجاد محلهايي با تجمع توان بالا ميشود؛ بهويژه اگر در پردازندهاي با تعداد هستههاي زياد، تنها تعداد اندكي از هستهها در حال كار باشد.
پخش ترد حالت ديگري است كه در آن هستههاي در حال فعاليت تا هر اندازهي ممكن از يكديگر دور باشند. در پردازندههاي نسل سوم AMD پخش ترد بهمعني تكثير ترد اضافي در يك چيپلت جداگانه يا در يك CCX مجزا و تا حد امكان دور از تردهاي مرتبط است. در چنين حالتي، امكان حفظ سطح عملكرد بالاي پردازنده بدون ايجاد مناطق تجمع توان وجود دارد و معمولا بهترين حالت عملكرد توربو در پردازش تردهاي چندگانه در اين شرايط ايجاد ميشود.
ريسك حالت پخش ترد اين است كه ممكن است برنامهاي دو ترد را تكثير كند و اين تردها در دو سوي مختلف تراشه پردازش شود. در پردازندهي تردريپر، در چنين حالتي ممكن است ترد دوم در بخشي از CPU پردازش شود كه در آن قسمت ميزان تأخير حافظه بالا است. اين وضعيت باعث پيدايش نايكنواختي در سطح عملكرد بالقوه در اجراي دو ترد ميشود، حتي اگر هستههايي كه اين تردها بدان تخصص يافته فركانس بالاتري داشته باشند.
AMD براي بهبود عملكرد مالتيتردينگ، از روش پخش ترد صرفانديشه متخصصين كرده و به روش گروهبندي ترد روي آورده است
به دليل آنكه نرمافزارها و بهويژه بازيهاي ويدئويي مدرن بهجاي تكيه بر فرايند پردازش سينگل تردينگ، به روش تكثير و پردازش مالتيتردينگ روي آوردهاند و ايجاد ارتباط ميان اين رشتهها امري ضروري است، AMD در پردازندههاي جديد خود از تكنيك پخش رشتهي هيبريدي صرفانديشه متخصصين كرده و به تكنيك گروهبندي رشته روي آورده است. اين بدان معنا است كه در روش همكاري جديد سيستمعامل و پردازندهي Zen 2، تا زماني كه يك CCX بهطور كامل از رشتههاي پردازشي مرتبط با يكديگر پر نشده، امكان دستيابي CCXهاي ديگر به ساير رشتهها وجود ندارد. AMD بر اين باور است كه با وجود ظرفيت ايجاد تجمع تواني در يك چيپلت، در اين حالت در حالي كه چيپلتهاي ديگر غيرفعال مانده، بدين روش سطح عملكرد كلي را ميتوان بهبود بخشيد. در پردازندههاي Matisse در حالتي كه تعداد رشتهها محدود بوده، بهويژه در حوزهي درخشان فناوري يعني گيمينگ، با اين روش ميتوان به سطح عملكرد بهينهاي دست يافت. ديدن ميزان تأثير اين شگرد AMD بر سطح عملكرد پردازندههاي پيش روي EPYC Rome يا پردازندههاي آينده تردريپر خالي از لطف نخواهد بود. AMD براي تبيين ميزان تأثير روش گروهبندي رشتههاي پردازشي، پردازندهي Zen 2 خود را در بازي rocket League در رزولوشن 1080p و با حداقل تنظيمات گرافيكي آزموده و ۱۵ درصد بهبود در نرخ فريم را گزارش كرده است.
۲. جهش كلاك (Clock Ramping)
AMD با بهبودهايي كه در ساختار معماري Zen 2 ايجاد كرده، زمان موردنياز براي جهش سرعت كلاك پردازندههاي نوين خود را از حالت ايدهآل به حالت بارگذاري كامل بهشدت كاهش داده است. AMD در طراحي پردازندههاي نسل سوم رايزن از گامهاي افزايش فركانس ظريفي به كوچكي ۲۵ مگاهرتز استفاده ميكند كه در مقايسه با گامهاي ۱۰۰ مگاهرتزي اينتل، دقت و انعطاف بيشتري دارد. ارتقاي فركانس از كف به سقف آن در كوتاهترين زمان ممكن به پردازندههاي AMD در روند پردازش بارهاي كاري با تكثير انفجاري (Burst Workloads) مانند WebXPRT كمك خواهد كرد. به گفتهي AMD، زمان ارتقاي فركانس پردازندههاي اين شركت از ۳۰ ميلي ثانيه در تراشههاي Zen به ۱ تا ۲ ميلي ثانيه در تراشههاي Zen 2 رسيده است؛ اما براي پيادهسازي اين ويژگي در نسل جديد پردازندههاي اين شركت، بهروزرساني بايوس مادربرد و ارتقاي ويندوز ۱۰ به نسخه دهم مه ضروري است. بنابر آنچه گفته شد، زمان ارتقاي فركانس پردازندههاي نسل سوم رايزن ۲۰ برابر كاهش يافته است. اين رقم بسيار سريعتر از ارقامي است كه اينتل در تلاش براي دسترسي به آن در پردازندههاي خود است.
ابزار پيادهسازي اين قابليت در تراشههاي جديد AMD CPPC2 يا Collaborative Power Performance Control 2 است. سنجشهاي AMD حاكي از آن است كه اين ويژگي ميتواند زمان بارگذاري بارهاي كاري انفجاري و ديگر اپليكيشنها را بهبود بخشد. AMD براساس آزمايشهايي كه خود انجام داده تصريح كرده است كه با اين روش زمان بارگذاري و اجراي برنامهها ۶ درصد بهبود مييابد.
ساختار امنيتي پردازندههاي Zen 2
جنبهي ديگر پيشرفتهاي معماري ۲۰۱۹ تراشه ساز آمريكايي، افزايش سطح الزامات امنيتي پردازندههاي مدرن اين شركت است. آن طور كه گزارش شده است، تعداد درخورتوجهي از كدهاي مخرب Side Channel بر آخرين پردازندههاي AMD تأثيري نخواهند داشت. دليل اصلي اين مسئله نحوهي مديريت بافرهاي TLB است كه همواره و پيش از آنكه برهمنهي اين كدها مسئلهساز شود، نيازمند مطالعههاي امنيتي اضافي است. گذشته از اين، AMD پلتفرم امنيتي مبتني بر سختافزاري را تدارك ديده كه از پردازندههاي Zen 2 در مقابل نقاط آسيبپذيري بالقوهي آنها محافظت ميكند.
AMD با تكيه بر واحد سختافزاري اضافي با همكاري سيستمعامل يا منيجرهاي حافظهي مجازي نظير Hypervisorها سعي در غلبه و كنترل بدافزار Speculative Store Bypass معروف به Spectre v4 دارد. AMD انتظار هيچگونه تغييري در سطح عملكرد پردازندههاي جديد خود را با اين بهروزرسانيها ندارد. مسائل امنيتي جديدي نظير Foreshadow و Zombieload آخرين پردازندههاي AMD را تحتتأثير قرار نميدهد.
پيشرفت Zen 2 از انديشه متخصصين IPC
آنچه AMD در معماري Zen 2 بر آن تأكيد زيادي ميكند، افزايش تعداد دستورالعملهاي اجراپذير در هر سيكل كلاك در مقايسه با نسلهاي گذشته اين معماري است. AMD ميگويد رقم IPC در معماري جديد Zen 2 در مقايسه با نسل قبل Zen + حدود ۱۵ درصد افزايش يافته است. IPC كه مخفف عبارت Instruction per Clock است، بهمعني ميانگين تعداد دستورالعملهاي اجراپذير در هستههاي پردازنده در هر سيكل كلاك است. محاسبهي IPC در يك ماشين كار نسبتا پيچيدهاي است. براي انجام اين كار مجموعهاي بخصوص از كدها براي اجرا به ماشين داده ميشود و تعداد دستورالعملهاي سطح ماشين براي تكميل اجراي آن كدها محاسبه ميشود. در گام بعد، با استفاده از زمانسنجهاي سطح بالا تعداد سيكلهاي كلاك موردنياز براي كاملكردن آن تعداد دستورالعمل روي سختافزار واقعي اندازهگيري ميشود. با تقسيم تعداد دستورالعملها بر تعداد سيكلهاي كلاك اندازهگيريشده، رقم IPC ماشين مورد انديشه متخصصين محاسبه ميشود. با ضرب IPC اندازهگيريشده در سرعت كلاك (بر حسب هرتز) و تعداد هستههاي پردازنده، تعداد دستورالعمل اجراشدني در هر ثانيه يا تعداد عملياتهاي مميز شناوري محاسبه ميشود كه در هر ثانيه بهوسيلهي پردازندهي مدانديشه متخصصين اجراشدني است. در نهايت، تعداد دستورالعملهاي اجراشدني بهوسيلهي پردازنده در هر ثانيه كه با واحد گيگافلاپس يا ميليارد عمل اعشاري در ثانيه بيان ميشود، معياري از سطح عملكرد پردازندهي مدانديشه متخصصين است.
IPC در معماري Zen 2 در مقايسه با Zen + به ميزان ۱۵ درصد افزايش يافته است
تعداد دستورالعملهاي اجراپذير در هر سيكل كلاك براي پردازنده عدد ثابتي نيست و بستگي به نحوهي تعامل و برهمكنش نرمافزار و برنامهي در حال اجرا با بخش سختافزاري سيستم دارد. با وجود اين، طراحان تراشه سعي ميكنند با تكيه بر روشهايي مانند استفاده از چندين واحد محاسبهگر منطقي (ALU) در هر هسته و پايپلاينهاي دستورالعمل كوتاهتر، عدد IPC را در مقايسه با مقدار متوسط آن افزايش دهند.
مجموعه دستورالعملها (Instruction Set) نيز بر عدد IPC پردازنده تأثيرگذار است. هرچه مجموعه دستورالعملها سادهتر باشد، IPC پردازنده افزايش مييابد و هرچه با دستورالعملهاي پيچيدهتري روبهرو باشيم، بالتبع IPC كاهش پيدا ميكند. بنابراين، IPC پردازنده براي اجراي محاسبات مميز شناور با دقت واحد (FP32) در مقايسه با اجراي محاسبات با دقت مضاعف (FP64) عدد بزرگتري است. آنچه ميزان كارايي پردازنده را مشخص ميكند، تركيبي از IPC و سرعت كلاك و تعداد هستهها است. سازندگان پردازنده عموما عدد IPC را در مشخصات رسمي آن ذكر نميكنند. AMD نيز دربارهي پردازندههاي Zen 2 به ذكر افزايش ۱۵ درصدي IPC در مقايسه با معماري Zen بسنده كرده است.
نگاهي دقيقتر به معماري Zen 2
با نگاهي كلي به ساختار و تغييرات اعمالشده در ريزمعماري Zen 2، طرح و نقشهاي ديده ميشود كه مشابهتهاي زيادي با ساختار معماري بنيادين Zen دارد. Zen 2 عضوي از خانوادهي معماري Zen است و همان طور كه گفته شد، معمارياي نيست كه از نو پيريزي شده باشد يا الگوي متفاوتي در پردازش x86 ارائه دهد. Zen 2 هستههايي پربازدهتر و گستردهتر دارد و توان عملياتي را در اجراي دستورالعملها بهبود ميبخشد. نماي كلي معماري هستههاي Zen 2 در شكل زير ديده ميشود.
در اولين نگاه، هر هستهي Zen 2 بسيار شبيه به نسلهاي قبلي به انديشه متخصصين ميرسد. مهمترين تغييرات معماري Zen 2 و البته تأثيرگذارترين آنها عبارت است از:
- پيشبينيگر انشعاب جديد (Branch Predictor) با عنوان TAGE
- افزايش كش ميكروعملياتها (Micro-Ops) به دوبرابر
- دوبرابرشدن ميزان كش L3
- افزايش منابع عدد صحيح (Integer) در هسته
- افزايش منابع ذخيره و بارگذاري (Load/Store)
- همراهي از دستورالعملهاي AVX-256 يا AVX2 بدون افت فركانس
AMD براي بهبود IPC در معماري Zen 2 تأكيد زيادي بر واحد جديد پيشبينيگر انشعاب هستهها ميكند. پيشبينيگر مداري ديجيتالي است كه ميكوشد مسير و مقصد پيشروي از طريق انشعاب خاص (مثل پذيرش ساختار شرطي در ميان كدهاي در حال اجرا) را پيش از آن حدس بزند كه نتايج آن بهطور قطعي معلوم شود. هر انشعاب با ساختار شرطي (مثل If-then-else) پيادهسازي ميشود. اگر ساختار شرطي اختيار نشود (Not Taken)، اجراي رشته عمليات فعلي ادامه خواهد يافت و اگر اختيار (Taken) شود، رشته دستورالعمل جديدي متناسب با آن واكشي (Fetch) شده و به معرض اجرا گذارده ميشود. با وجود اين، پيشبينيگرها پردازنده امكان پيشبيني نتايج انشعاب، واكشي دستورالعمل بعدي زودتر از موعد از حافظه و اجراي آن را بي آنكه منتظر بازگشت نتايج انشعاب شود، خواهد داشت. چنانچه نتايج پيشبيني انشعاب درست باشد، جريان اجراي دستورالعملها در پايپلاين بهبود مييابد. در صورت پيشبيني نادرست بين ۱۰ تا ۲۰ سيكل كلاك براي واكشي، ديكود و اجراي دستورالعمل جديد تلف ميشود. واحد پيشبيني انشعاب بايد قادر به حدسزدن آدرس دستورالعمل بعدي در حافظه براي فراخواني آن پيش از تكميل اجراي دستورالعمل جاري باشد. پيشبينيگرها نقش اساسي در پردازندههاي امروزي براي دستيابي به سطح عملكردي قابل قبول و افزايش IPC در در معماريهاي پايپلايني ايفا ميكنند.
پيشبينيگر TAGE در هستهي Zen 2 حامل تاريخچهي انشعاب طولانيتري در مقايسه با نسخهي قبلي خود است كه باعث پيشبيني دقيقتر و آمادهسازي دستورالعملها با بازدهي بيشتر و امكان خطاي كمتر ميشود. AMD در معماري جديد از بافرهاي مقصد انشعاب (BTB) بزرگتري استفاده ميكند. مقصد انشعاب عبارت است از نتيجهي نهايي اجراي دستورالعمل در صورت پذيرش يا عدم پذيرش ساختار شرطي. با افزايش بافرهاي مقصد انشعاب امكان تعقيب رشتههاي دستورالعمل و درخواستهاي كش تسهيل ميشود. اندازهي كش L1 BTB با ۵۱۲ ورودي (در مقايسه با ۲۵۶ ورودي سابق) دوبرابر ميشود و كش L2 BTB نيز با 7K ورودي در مقايسه با گذشته ظرفيتي در حدود دو برابر دارد. كش L0 BTB همچنان ۱۶ ورودي را به خود اختصاص ميدهد. هدف نهايي كاهش ۳۰ درصدي نرخ پيشبينيهاي اشتباه در اين چرخه و صرفهجويي در توان مصرفي پردازنده است.
تغيير مهم ديگر در معماري كاهش كش دستورالعمل L1 به ۳۲KB و در عين حال دوبرابركردن شركتپذيري از ۴ مسير (4Way) به ۸ مسير (8Way) است. اين تغيير مهم بهدنبال تحليل اپليكيشنهاي متعدد و با مطالعه حجم مجموعه دادههاي (Dataset) متناظر اعمال شده است. بهگفتهي مايك كلارك، كاهش كش دستورالعمل تأثير چنداني بر سطح عملكرد نميگذارد و بيشتر مجموعهي دادهها بهجاي يك كش دستورالعمل بزرگتر، به مسيرهاي شركتپذيري بيشتري نياز دارند. كش جديد با شيوهي واكشي (Fetch) بهبود يافته و ميزان بهكارگيري (Utilisation) بهتري ارائه شده است و البته روش جديد بازدهي تواني بهتري نيز دارد. يكي از مزاياي كاهش كش دستورالعمل، امكان دوبرابركردن كش Micro-Op است. اين دو ساختار نزديك به يكديگر درون هسته قرار دارند و با توجه به محدوديتهاي فضا در معماري ۷ نانومتري، دادوستدهاي مهندسي در بزرگي و كوچكي اين ساختارها مستدل است. AMD ميگويد كش L1 كوچكتر با وجود كش Micro-Op بزرگتر باعث بهبود كارايي پردازنده در بيشتر سناريوهاي آزمايشي شده است. دوبرابرشدن كش Micro-Op و تركيب آن با افزايش منابع ذخيرهسازي و بارگذاري، باعث افزايش ظرفيت فراخواني و اجراي دستورالعملها شده است. موارد ذكرشده همراه با دوبرابرشدن كش L3، همراهي از ميكروعملياتهاي AVX2 و واحد پيشبينيگر انشعاب بهبوديافته، در مجموع باعث بهبود ۱۵ درصدي IPC در معماري Zen 2 شده است.
هم انديشي ها