دسته بندی: 

AMD با یک ساختار کاملا جدید پردازنده برگشته تا امپراطوری اینتل را به دست بگیرد. برای Zen آماده باشید.

این آخرین شانس AMD است

ما درباره‌ی بخشی از یک سه‌گانه فیلم که می‌دانید قهرمان‌ها و شخصیت‌های مثبت آن به این زودی‌ها از بین نمی‌روند صحبت نمی‌کنیم. ما قصد داریم درباره‌ی تهدید واقعی AMD حرف بزنیم. منظور ما از این تهدید Zen ، ساختار کاملا نوین پردازنده از AMD است. پس از گذشت یک دهه از عدم توانایی AMD در رقابت با کارآیی پردازنده‌های اینتل، همه‌ی نشانه‌ها حاکی از این است که AMD بالاخره اینتل را با Zen میخکوب کرده است. Zen که قرار است در اوایل سال 2017 عرضه شود جایگزین خانواده‌ی Bulldozer از AMD در پردازنده‌های دسک‌تاپ، لپ‌تاپ و سرورها خواهد شد. این پردازنده‌ای با کارآیی کافی است. به عبارت دیگر، این چیپی است که آدم‌های حرفه‌ای PC می‌توانند از آن شگفت‌زده شوند. مشکل فعلی، پردازنده‌های فعلی Bulldozer از AMD هستند. آن‌ها خیلی دیر وارد بازار شدند و هرگز نتوانستند در کورس رقابت، گوی سبقت را از اینتل بربایند. تبعات این موضوع برای کسانی که به اینتل علاقه‌ای نداشتند بسیار بد بود. خود AMD به انتهای بازار پردازنده حرکت کرده است. حتی طرف‌داران پردازنده‌های اینتل هم مجبور شدند اعتراف کنند فقدان رقابت شدید از سوی AMD باعث شد تا افزایش کارآیی پردازنده‌ها تا حدودی با رکود مواجه شود. نتیجه‌ی این عدم رقابت برروی دامنه‌ی پردازنده‌های فعلی اینتل نیز تاثیر دارد. در حال حاضر قیمت Core i7-6950X به مبلغ دیوانه‌کننده‌ی 1700 دلار رسیده است. گران‌ترین پردازنده‌ی AMD فقط 250 دلار قیمت دارد. پردازنده‌های جریان اصلی اینتل، آن‌هایی که اکثر ما استفاده می‌کنیم فقط چهار هسته دارند که به نظر می‌رسد برای ابد به همین شکل باقی می‌مانند. به عبارت دیگر، چیزی که PC به آن نیاز دارد یک تکان شدید است و فقط AMD می‌تواند چنین تکانی ایجاد کند. نکته در این‌جا است که AMD نمی‌تواند شکست دیگری را متحمل شود، یک دوران بیش از حد طولانی دیگر برای فروش پردازنده‌هایی با قیمت مناسب. AMD نیازی به نابود کردن اینتل ندارد اما مسلما نیاز دارد پردازنده‌هایی تولید کند که حداقل با پردازنده‌های سطح بالای اینتل در بازار جریان اصلی رقابت نماید. AMD در ماه‌های اخیر چیزهای زیادی درباره‌ی Zen منتشر کرده است و بنابراین حالا می‌توانیم تصویری پُرجزئیات از چیزهایی که برروی کاغذ دیده‌ایم داشته باشیم. و البته این‌ها بسیار امیدوارکننده هستند.

AMD برگشته است

Mike Clark، یکی از بزرگ‌ترین مغزهای متفکر AMD و آرشیتکت ارشد در طراحی پردازنده‌ی Zen به این مسئله اشاره می‌کند. اما برگشت از کجا؟ داستان پردازنده‌های جدید Zen از AMD درباره‌ی چیزهایی که باید بدانید، چرا Zen تا این حد مهم است، و چرا ما هنوز باید مراقب انتظارات‌مان باشیم صحبت می‌کند. اما بیایید پیش‌‌داوری نکنیم. درواقع، این داستان با موفقیت شروع می‌شود. بدون این که قصد داشته باشیم مستقیما به تاریخچه‌ی AMD به عنوان یکی از سازنده‌های پردازنده‌ی x86 که اینتل ابداع کرده بود و همچنین موفقیت‌های اولیه‌اش اشاره‌ای بکنیم، نقطه‌ی مهم در چیپ‌های مدرن AMD، عرضه‌ی ساختار K8 CPU در سال 2003 بود که با عنوان Hammer شناخته می‌شد. برای اولین بار AMD پردازنده‌ای داشت که بدون هیچ ابهامی بهتر از اینتل بود. این پردازنده در بسیاری از وظائف بهتر عمل می‌کرد. پیشرفته‌تر بود. آینده‌نگرتر بود. حتی از نظر مفهومی برازنده‌تر بود، یک کار بی‌نظیر و درخشان محسوب می‌شد. درواقع به واسطه‌ی اکستنش‌های خلاقانه‌ی 64 بیتی‌اش. Hammer رابطه‌ی بین‌مجوزدهی با اینتل را برای آینده‌ای قابل پیش‌بینی مستحکم کرد. اینتل با اکستنش‌های 64 بیتی AMD، به اسم AMD64 در Hammer منطبق شد و در این فرآیند رابطه‌ی خود را با AMD به شدت تحکیم کرد. اگر بخواهیم آن را به شکل دیگری بیان کنیم باید بگوئیم جایگاه AMD در x86 توسط Hammer تثبیت شد. درواقع می‌توانید بگوئید که AMD می‌توانست با ادامه‌ی استفاده از Hammer جایگاه خود را حفظ کند؛ حتی تا به امروز. اما این موفقیت فقط تا زمان شکست کابوس‌وار چیپ بعدی AMD با عنوان Bulldozer دوام آورد. به نظر می‌رسد این موضوع به سال‌های دراز و طولانی برمی‌گردد اما Bulldozer برای اولین بار در اواخر سال 2011 منتشر شد. AMD ساختار Bulldozer را با گذشت زمان و با, Steamroller Piledriver و Excavator دستکاری کرده اما مفهوم اصلی و اولیه‌ی آن تا به امروز ثابت مانده است.

قدرت هسته؟

آن مفهوم به شکل یک ساختار مدولار مدرن براساس ایده‌ی دقیق چیزی که هسته‌ی یک پردازنده را تشکیل می‌دهد متحول شد. AMD نظریه‌ی هسته‌های مونولیتیک را کنار گذاشت و آن را با ماژول‌هایی که هر کدام یک جفت منبع پردازشی integer و یک یونیت ممیز شناور مشترک داشتند جایگزین نمود. ایده‌ی این کار، براساس تکنولوژی Hyper-Threading اینتل بود که به یک هسته‌ی واحد اجازه می‌داد دو thread نرم‌افزاری را به شکل موازی پردازش نموده و آن را  turbo-charge کند. مشکل این بود که این کار جواب نمی‌داد. کارآیی multithreading ساختار Bulldozer منطقی بود اما توان خروجی single-threaded آن بی‌معنی بود و فرسنگ‌ها با گام‌های بسیار تاثیرگذار اینتل که از زمان انتشار چیپ Core 2 Duo در سال 2006 در زمینه‌ی کارآیی single-threaded طی کرده بود فاصله داشت. تاثیر درازمدت آن ساختار شکست خورده را هنوز می‌توان مشاهده کرد. در زمان نگارش این مطلب، کارآمدترین پردازنده‌ی دسک‌تاپ AMD یعنی FX-9370 Black Edition یک چیپ 250 دلاری است. به عبارت دیگر، AMD قادر نیست قیمت 9370 را حتی با سمت پائین پردازنده‌های چهار هسته‌ای Core i7 اینتل برابر نماید، و این در حالی است که چیزهایی مثل Core i7-6950X 1700 دلاری را در نظر نگیریم. به طور خلاصه، AMD به سختی در میانه‌ی این بازی قرار گرفته است. بنابراین، مفهوم بسیار مهم برای Zen این واقعیت است که AMD از سال 2003 به این طرف نتوانسته یک ساختار موفق جدید برای پردازنده ارائه کند. اما یک چرخش نهایی برای این داستان تاریخی وجود دارد. آرشیتکت ارشد در بخش ساختار AMD Hammer، Jim Keller بود، یک مهندس ریزپردازنده که در عین حال پردازنده‌ی Athlon کمپانی AMD را در کنار چیپ‌های Apple A4 و A5 در کارنامه‌ی تاثیرگذار خود دارد و حالا به عنوان معاون مدیرعامل Autopilot Hardware Engineering برای Tesla Motors کار می‌کند. Keller در سال 2012 به عنوان آرشیتکت ارشد به AMD برگشت. Zen فرزند Keller است.

اما Zen دقیقا چیست و چرا تا این حد امیدبخش است؟ در بالاترین سطح خود، Zen بازگشتی به روش سنتی‌تر برای پردازش در PC به شمار می‌رود. حالا روش مدولار رادیکال معرفی شده در Bulldozer از بین رفته و با هسته‌های عادی طراحی شده برای دستورالعمل‌هایی برای هر ساعت تا حد ممکن جایگزین شده است. Zen در عین حال شامل پشتیبانی از multithreading همزمان است. هر هسته‌ی Zen می‌تواند دو thread را به شکل موازی پردازش نماید. بنابراین، مثل یک چیپ مدرن اینتل به نظر می‌رسد- هسته‌های بزرگ و قدرتمند با پشتیبانی از multithreading. اما جزئیات آن چه می‌شود؟ براساس اعلام Mike Clark از طراحان ارشد AMD و کسی که رهبری ساختارهای Zen را به عهده دارد این یک طراحی خالص و تر و تمیز و درباره‌ی تعال است. او می‌گوید:" Zen به معنای تعادل است. به عنوان طراح، ما مجموعه‌ای از ترانزسیستورها داریم که با آن‌ها کار می‌کنیم. بنابراین، فرآیند طراحی به تلاش برای ساخت بهترین هسته‌ای که از دست‌تان برمی‌آید مربوط می‌شود در حالی که اصولی نظیر فرکانس، کار در هر سیکل ساعت، مقدار توانی که ایجاد می‌کنید، تاثیر بر مجموعه‌ی جدیدی از دستورالعامل‌ها و غیره را نیز متعادل می‌کنید". هرچند Clark می‌گوید AMD هدف خاصی در ذهن داشته است. این هدف، افزایش تعداد دستورالعمل‌هایی که این ساختار می‌تواند در هر سیکل پردازش کند و IPC نام دارد، تا 40 درصد بیش‌تر از هسته‌های فعلی AMD و بدون افزایش مصرف پاور در هر سیکل است. Clark می‌گوید:" ما متوجه شدیم چیزی که از Bulldozer مشتق می‌شود قرار نیست AMD را به جایی که باید در آن قرار می‌گرفت برگرداند". بدین ترتیب این یک طراحی از ابتدا محسوب می‌شد، طراحی که براساس سه اصل بنا شده بود که امکان 40 درصد افزایش در IPC را بدون این که پاور را افزایش دهد فراهم می‌کرد: یک طراحی جدید و توسعه‌یافته برای هسته‌ی پردازنده، حافظه‌ی کَش پیشرفته و ویژگی‌های کم‌مصرفی که براساس اولین اصول طراحی شده‌اند.

ایده‌های شناور

پیشرفت‌های انجام شده برروی هسته به اندازه‌ای جدی هستند که AMD می‌تواند کتابی درباره‌ی آن بنویسد. اما همه چیز از multithreading، branch prediction توسعه‌یافته، و micro-operation dispatch به instruction schedulers و اینتیگر کاملا resource شده و یونیت‌های ممیز شناور وسیع‌تر نشات می‌گیرد. اما اگر بخواهیم گسترده‌تر بیان کنیم، بیش‌تر پیشرفت‌های انجام گرفته در یکی از دو اردو جای می‌گیرند. اولی پرهیز از سیکل‌های به هدر رفته‌ی پردازنده است. پیش‌بینی بهتر، process code branch را بدون به هدر رفتن سیکل‌های پردازنده برای انجام کارهای مورد نیاز امکان‌پذیر می‌سازد. دومین تلاش عمده، در به حداکثر رساندن ظرفیت تئوریک موتور پردازشی متجلی می‌شود. این اَشکال زیادی به خود می‌گیرد. بدیهی‌ترین آن به قابلیت multithreading شبیه Hyper-Threading که پشتیبانی از پردازش دو thread به طور همزمان را به هر هسته می‌دهد مربوط می‌شود. Zen در عین حال چیزی است که از آن با عنوان ماشین گسترده یاد می‌شود. این بدان معنا است که از پردازش موازی دستورالعمل‌های داخلی به خوبی پشتیبانی می‌کند. ویژگی‌های اصلی که در این‌جا وجود دارند شامل چهار instruction issue و شش micro-operation dispatch در هر سیکل می‌شود. AMD در عین حال مقداری موازی‌سازی در اجرا به این طراحی داده است. هر یونیت اینتیگر چهار ALU و دو AGU دارد در حالی که یونیت ممیز شناور چهار execution pipe دارد که هر یک از مسیر دیتای 128 بیتی برخوردار هستند. تلاش‌های AMD برای به حداکثر رساندن ظرفیت موتور در سطح بالاتری هم قابل مشاهده است. به طور کلی، AMD ظرفیت این ساختار را با schedulerهای بزرگ‌تر و رجیسترهای بزرگ‌تر افزایش داده است. اما در مقابل چیپ‌های AMD Bulldozer، منابع دو مسیر اصلی به سمت هر هسته- integer و ممیز شناور- کاملا فراهم شده است. با این حرف، منظور ما روش اتخاذ شده توسط Bulldozer  که در آن یک جفت یونیت integer گستره‌ی وسیعی از منابع شامل schedulers و یک یونیت ممیز شناور را با هم به اشتراک می‌گذاشتند و دیگر وجود ندارند است. برای Zen، هر هسته از یونیت‌های ممیز شناور و integer مستقل خودش برخوردار است و هر یونیت schedulers, registers و execution pipes خود را دارد. اگر این همان چیزی است که شما "موتور" Zen می‌نامید مشکل بعدی به تامین مناسب و کافی داده‌ها برای آن موتور برمی‌گردد. این جایی است که ساختار حافظه‌ی کَش بهینه‌شده‌ی Zen وارد میدان می‌شود.

سریع‌تر، سریع‌تر

در این‌جا AMD دو هدف اصلی را دنبال می‌کند: سریع‌تر(faster) و سریع‌تر (quicker). اگر این مثل دو روش بیانی متفاوت برای یک مفهوم مشترک به نظر می‌آید این‌طور نیست. البته نه دقیقا. درواقع، این تفاوت بین تاخیر و پهنای باند است که با هم فرق دارند. تاخیر به پاسخ‌گویی مربوط می‌شود- به عبارت دیگر مدت زمانی که طول می‌کشد تا حافظه‌ی کَش به درخواست برای دیتا پاسخ دهد. این به چگونگی طراحی و جزئیات کَش مثل cache prefetchers مربوط می‌شود. داستان طولانی را خلاصه می‌کنیم: هر قدر زمانی که هسته‌ها صَرف پاسخ‌گویی کَش می‌کنند کوتاه‌تر باشد هسته‌ها سریع‌تر می‌توانند کار کنند. البته پاسخ‌های سریع خیلی خوب هستند اما اگر کارآیی نهایی ضعیف باشد چیز زیادی نصیب شما نمی‌کند و همین‌جا است که پهنای باند وارد میدان می‌شود. AMD پهنای باند سطح یک و دو کَش را در Zen در مقایسه با طراحی‌های قبلی‌اش دو برابر کرده است. کَش سطح 3 در Zen حتی سریع‌تر است. پهنای باند آن 5 برابر است. همه‌ی این‌ها را که کنار هم قرار دهیم موتور کاملا بازطراحی شده در شکل هسته، به علاوه‌ی حافظه‌ی کَشی که آن را تغذیه می‌کند منجر به 40 درصد افزایش در IPC می‌گردد. بخش دیگر بلندپروازی AMD در Zen که سومین و آخرین نکته‌ی طراحی در آن محسوب می‌شود کارآیی پاور است. به عبارت دیگر، دستیابی به 40 درصد بدون افزایش عمده در مصرف پاور. بخشی از این راه‌حل، پرش AMD به سمت فرآیند ساخت جدیدی است که مدت‌ها به تعویق افتاده بود و همه منتظرش بودند. آیا به این تاخیر طولانی اشاره‌ای کردیم؟ AMD برای مدت زیادی از تکنولوژی 32nm و 28nm استفاده کرده است. اما Zen براساس تکنولوژی جدید 14nm FinFET متعلق به شریک این کمپانی یعنی Global Foundries ساخته می‌شود و آن را قبلا در جدیدترین چیپ‌های گرافیکی Polaris شامل Radeon RX 480 مشاهده کرده بودیم. اما به غیر از فرآیند ساخت، چیزهای دیگری هم در کارآیی پاور Zen وجود دارد. Mike Clark می‌گوید Zen اولین پردازنده‌ی کارآیی بالا AMD است که از همان ابتدا بر مبنای کارآیی پاور ساخته شده است. این چیزی است که اینتل برای یک دهه انجام داده است. Clark می‌گوید AMD چنان این کار را خوب انجام داده که Zen قادر است به عنوان یک ساختار کارآمد با Bulldozer و ساختار Jaguar جایگزین شود. قرار است یک ساختار بر همه‌ی آن‌ها حکم‌روایی نماید.

بازی‌های پلتفرمی

آخرین بخش پازل سخت‌افزاری Zen پلتفرم است. چیپ‌ست‌های دسک‌تاپ AMD این روزها بسیار قدیمی به نظر می‌رسند. در حالی که اینتل بر پشتیبانی محلی از ویژگی‌هایی مثل حافظه‌ی DDR4، PCI Express storage با قابلیت NVMe و چیزهایی مثل این‌ها کار می‌کند و آن را به پیش می‌بَرَد، AMD چیپ‌ست‌های جاری خود را تغییر می‌دهد و چیپ‌های افزودنی را اضافه می‌نماید. روشن است که AMD کارهای زیادی در این‌جا باید انجام دهد اما تاکنون، دقیقا نمی‌داند باید با این مشکل چگونه طرف شود. شایعات اینترنتی می‌گویند AMD اگرنه همه چیز، بلکه بسیاری از چیزهایی که به شکل سنتی در چیپ south bridge پیدا می‌کنیم، شامل ویژگی‌هایی نظیر کنترولرهای USB را در Zen CPU die یکپارچه‌سازی کرده است. هرچند، برخی از این شایعات ادعا می‌کنند این حوزه از چیپ با توجه به این که سازنده‌های مادربُرد به شکلی واضح به دنبال استفاده از چیپ‌های افزودنی هستند منجر به بروز مشکلاتی شده است. درواقع، امکان دارد که این، نگرانی بزرگ و باقی‌مانده درباره‌ی Zen را تشریح نماید: چه زمانی وارد می‌شود؟ مثل بسیاری از پروژه‌های دیگر AMD، Zen کمی از برنامه‌ی زمان‌بندی عقب است و با توجه به این که قرار بود در سال 2016 عرضه شود حالا عرضه‌ی آن به اوایل سال 2017 موکول شده است. مشکلاتی که باعث این تاخیر می‌شوند شامل مسائل مربوط به یکپارچگی چیپ و روی آوردن به فرآیند فانتزی 14 نانومتری است. مشکل اول یکی از مسائلی است که مسلما حل خواهد شد اما دومی اندکی نگران‌کننده‌تر است، خصوصا اگر بر سرعت‌های ساعت تاثیر داشته باشد. علاوه بر این‌ها، معتدل‌ترین سرعت‌های ساعت GPU جدید 14 نانومتری AMD، در مقابل تکنولوژی 16 نانومتری Nvidia دقیقا اطمینان‌بخش نیست. اما این یک نقطه ضعف به کنار، تصویر کلی آن امیدوارکننده است، خصوصا اگر نیم نگاه‌های اولیه به کارآیی AMD را در نظر بگیرید. اگر Bulldozer یک قمار محسوب می‌شد، یک گام متهورانه که بعدا معلوم شد در مسیر نادرستی برداشته شده، به نظر می‌رسد Zen به شکلی کاملا هدف‌مند به هر چیزی که باعث برتری اینتل در سال‌های اخیر شده است حمله می‌کند. اگر Zen موفق شود، چشم‌انداز پردازنده‌ی PC را برای سال‌های پیشِ‌رو عوض خواهد کرد، قیمت‌ها را کاهش می‌دهد و هیچ گزینه‌ای به جز ورود به بازی‌ که راه انداخته برای اینتل باقی نمی‌گذارد.

ما این مقاله را با حرف‌های Mike Clark به پایان می‌رسانیم:" Zen یک مقصد نیست بلکه‌ی نقطه‌ی شروع است. AMD برگشته و کاملا متعهد به سیستم‌های کامپیوتری سطح بالا عمل می‌کند".

افزودن دیدگاه جدید