PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کاوشی در آینده ریزمعماری‌ پردازنده‌ها



th e nd
2015/02/22, 18:44
فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

CPUها ، GPUها و یا هر قطعه ای که پردازش را در کیس خانه و محل کار شما بر عهده دارند از فناوری های خاص خودشان بهره می برند. فناوری هایی که گاه پیچیده و گاه ساده به نظر می رسند. در این بین اینکه چگونه دستورالعمل ها توسط واحدهای پردازنده پردازش می شوند نکته ای است که بسیاری از مهندسان را به خود مشغول کرده است تا ساده ترین و کارآمدترین روش ها را به کار بگیرند. مهندسانی که در پی آن هستند تا روز به روز سرعت و حجم پردازش ها را بالاتر ببرند تا نیازهای فزاینده انسان را برطرف سازند.

در این بین فناوری ها یکی پس از دیگری می آیند، مطرح می شوند، به کار گرفته می شوند و یا نیامده به صورت کاغذی مچاله شده در سطل زباله ای 3 امتیاز برای مهندسش به ارمغان می آورند! اما در این بین آن دسته از فناوری هایی که به آنها جامه عمل پوشانده می شود می تواند دگرگونی های بزرگی را در تمام سطوح صنعت فناوری اطلاعات ایجاد نمایند. HSA می تواند یکی از آن دست باشد. ما را در مقاله پیش رو همراهی کنید تا با شما کمی در این خصوص به بحث بنشینیم.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.


برخی تصمیمات آینده را می سازد!

بگذارید کمی سال ها را به پیش از این ورق بزنیم. سال 2006؛ سالی که شرکت AMD شرکت ATI را خریداری و به مجموعه خود اضافه کرد، آن هم تنها با یک هدف! هدف AMD از خرید ATI تنها ساخت کارت های گرافیکی پرقدرت جهت مقابله با اردوگاه سبز نبود بلکه AMD قصد داشت تا به ذهنیت خود یعنی Fusion جامه عمل بپوشاند. در واقع AMD اولین شرکتی بود که بحث یکی شدن CPUها را با پردازنده های گرافیکی یعنی GPU آن هم بر روی یک Die مطرح نمود. از آن پس ما نام Accelerated Processing Unit یا به اختصار APU را بیش از پیش می شنویم. APUها یا واحد پردازش شتاب دهی شده، پردازنده های مقرون به صرفه ای هستند که امروزه AMD برای ما به ارمغان آورده است.

اما این تنها شرکت AMD نبود که اقدام به یکپارچه سازی پردازنده های مرکزی و گرافیکی در سطح یک Die نمود بلکه شرکت Intel نیز به عنوان بزرگترین تولید کننده نیمه هادی جهان در سال 2010 اولین نسل پردازنده های خود موسوم به Clarkdale را به همراهی پردازنده های گرافیکی مجتمع راهی بازار کرد. اما از آنجا که این نسل، اولین نسل از پردازنده های اینتل به شمار می رفتند که از چیپ های گرافیکی در Die خود بهره می بردند تنها از دو تا نهایتاً چهار هسته پردازشی استفاده می کردند. در این نسل پردازنده گرافیکی بخشی از سطح Die پردازنده مرکزی را برای خود اختصاص داده بود.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

اما این تازه شروعی برای اینتل بود چراکه نسل Clarkdale عملکرد مطلوب را ارائه نمی داد اما با گذشت یک سال و در ماه ژانویه سال 2011 اینتل اقدام به معرفی نسل Sandy Bridge کرد. نسلی که به معنای واقعی توانست به ذهنیت Intel جامه عمل بپوشاند. نکته جالب توجه این است که AMD نیز در همان سال و در همان ماه اولین نسل خود با نام Brazos را که از پردازنده مجتمع گرافیکی بهره می برد معرفی کرد. اما برخلاف اینتل، Brazos پردازنده مرکزی و گرافیکی را تلفیق و در یک Die ارائه داد.در این هنگام بود که آینده فناوری ها و معماری های پردازنده ها دست خوش تغییر شد و Fusion پا به عرصه وجود نهاد که تا کنون هم این فناوری و معماری نوین مورد استفاده قرار می گیرد.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

اما امروزه ما همچنان شاهد حضور Fusion هستیم. اینتل در تمامی نسل های پردازنده های خود از پردازنده های گرافیکی مجتمع (به جز سوکت LGA 2011) بهره می برد و همچنین AMD که تمامی پردازنده های خود را (به جز پردازنده های سروری) به پردازنده گرافیکی مجتمع مجهز نموده است. به همین دلیل است که امروزه تمامی نوت بوک ها و ابزارهای دیجیتال همراه نیز از Fusion بهره می برند. این موضوع نشان دهنده آن است که فناوری مذکور، قصد ماندن در دل ابزارهای پردازشگر ما را دارد.

برآیند یک تصمیم!

امروزه بخش زیادی از سطح Die یک پردازنده به بخش گرافیکی اختصاص داده می شود که این خود نشان از اهمیت این واحد و به خصوص هدف های سرمایه گذاری شده توسط دو شرکت Intel و AMD دارد. چیزی حدود 47 درصد از سطح Die پردازنده از نسل Kaveri که از سری APUهای شرکت AMD می باشد به بخش گرافیکی اختصاص داده شده که تقریباً نیمی از Die را شامل می شود. از زمان عرضه APUهای Liano که اولین نسل به شمار می رود، رفته رفته شاهد بوده ایم که بخشی که GPU مرکزی به خود اختصاص داده است بیش از نسل های قبل از خود بوده و ما این موضوع را در Kaveri به خوبی مشاهده می کنیم. این موضوع را نه تنها AMD بلکه Intel نیز در دستور کار خود قرار داده چرا که نسل های کنونی پردازنده های این شرکت، شاهدی است بر تصدیق این موضوع.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

همچنین با گذشت از نسل Sandy Bridge، واحد پردازشگر گرافیکی در معماری پس از آن یعنی Haswell که با نام GT2 شناخته می شود فضای تقریباً دو برابری را نسبت به Sandy Bridge به خود می دید و این در شرایطی است که در پردازنده هایی که از پردازنده گرافیکی مجتمع (iGPU) GT3 (Iris) بهره می برند، این فضا به چیزی حدود چهار برابر به نسبت معماری Sandy Bridge افزایش یافته است.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

البته باید به این نکته هم اشاره کرد که کارکرد iGPUها تنها به اجرای گرافیک های معمول کامپیوترهای شخصی و یا اجرای بازی ها محدود نمی شود و شما می توانید از آنها در ویرایش تصاویر و ویدیوهای خود استفاده کنید و همچنین با بهره از فناوری هایی مانند QuickSync اقدام به رندر تصاویر نمایید.این نکات همگی گویای آن هستند که هر دو شرکت Intel و AMD پیشرفت iGPUها را در هر نسل سرلوحه خود قرار داده اند چراکه تا کنون سودآوری مناسبی را برای آنها به ارمغان آورده است.اما چرا این دو شرکت تا این حد به این موضوع اهمیت می دهند؟همانطور که می دانید قانون مور در زمینه ترانزیستورها می گوید که هر دو سال یکبار تعداد ترانزیستورها دو برابر نسبت به گذشته افزایش خواهد داشت.

قانون مور که تا چندی پیش به خوبی پیش می رفت امروزه به شدت روند کندی را در پیش گرفته است چرا که در گذشته مهندسین با افزایش تعداد ترانزیستورها می توانستند عملکرد و همچنین کلاک هسته را افزایش دهند اما امروزه با مشاهده این نکته که نمی توان تنها با افزایش تعداد ترانزیستورها عملکرد نهایی را افزایش داد، به خصوص به آن دلیل که با افزایش تعداد ترانزیستورها مصرف نیز به نسبت آن افزایش می یابد، پس باید راه حل دیگری اندیشیده شود که یکی از آنها بهره گیری از معماری های نوین در پردازش است که نه تنها عملکرد نهایی را افزایش می دهد بلکه مصرف را نیز بالا نمی برد، این موضوع در واقع همان بهره گیری از تعداد هسته های بیشتر در ساختار یک پردازنده مرکزی است.

ازاین‌رو مهندسین اقدام به افزایش تعداد هسته ها در یک Die پردازنده نمودند تا دستورالعمل ها سریعتر انجام گیرند. اما نکته ای که بسیار جلب توجه می کند این است که هرچه تعداد هسته های پردازنده افزایش یابد از آن سمت برنامه نویسی برای اجرای دستورالعمل ها مشکل تر خواهد شد و توازنی که باید بین هسته ها ایجاد شود با مشکل مواجه می شود. این موضوع باعث می شود که وقتی شما از یک پردازنده چند هسته ای بهره می برید مشاهده نمایید که در هنگام اجرای یک برنامه شاید تنها یک هسته فعال باشد. در واقع شما پول اضافه ای را بابت ترانزیستورهای اضافه ای پرداخت کرده اید که بهره ای هم از آنها نمی برید! این امر می‌تواند بسیار مأیوس کننده باشد.

پاسخ یک مشکل

همانطور که خواندید مشکلاتی بر سر راه افزایش کارایی پردازنده های مرکزی که به صورت سریال فعالیت می کنند، وجود دارد، مشکلاتی اعم از افزایش دما و مصرف توان و همچنین کد نویسی های دشوار برای بهره گیری از تمامی هسته های فعال یک پردازنده‌ی چند هسته ای. اما جواب همچنان پیش روی شماست. درست حدس زده اید! پاسخ iGPU است!با بهره گیری از GPUها که توان موازی کاری را به صورت ذاتی در خود می بینند ما شاهد حرکت دوباره قانون مور در مسیر خود خواهیم بود و بدون اینکه بخواهیم افزایش بی رویه ای در تعداد ترانزیستورها داشته باشیم و پیچیدگی های زیادی را در معماری های خود وارد نماییم، کارایی را افزایش دهیم.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

پردازش های موازی سال هاست که نقل محافل دنیای فناوری اطلاعات هستند و متأسفانه تنها چند نرم افزار معدود توانایی بهره مندی از آن را دارند. این نرم افزارها نیز معمولاً در پردازش های سطح بالا مورد استفاده قرار می گیرند. GPUها به دلیل بهره مندی از تعداد زیادی از پردازشگرهایی که به صورت موازی با یکدیگر در ارتباط هستند توانایی این را دارند تا میلیون ها پیکسل از یک تصویر را برای ما رندر نمایند اما یک پردازنده مرکزی با اینکه از توانایی پردازش خطی بسیار بالایی برخوردار می باشد اما ده ها بار کندتر از یک GPU برای پردازش چنین مواردی زمان نیاز دارد.در این هنگام است که می توان AMD را سردم دار این قافله قلمداد کرد چراکه با به وجود آوردن فناوری HSA (Heterogeneous System Architecture) توانسته است گامی فراتر از زمان خود بردارد. معماری سیستم های ناهمگون می تواند باس موجود در Die و همچنین وظایف را بین GPU و CPU به اشتراک بگذارد.اما HSA تنها یک سرآغاز است!

برای اینکه AMD بتواند فرزند تازه متولد شده خود را در عرصه نیمه هادی ها بزرگ و بالغ کند نیازمند آن است تا این فناوری توسط دیگر تولید کنندگان نیز مورد قبول قرار گیرد. از اینرو شرکت هایی که دستی در بازار نیمه هادی دارند و جزو موفق ترین ها و بزرگ ترین ها در این عرصه هستند مانند سامسونگ، ARM ، Imagination Technologies ، Mediatek ، Qualcomm و Texas Instruments دست به دست AMD دادند تا بنگاه HSA بنا نهاده شود. و اینگونه شد که فرزند AMD تنها نماند!

HSA چیست و چگونه کار می کند؟

HSA یک ایده به نسبت قدیمی است! این ایده بیان می دارد که برای اجرا کردن یک کد بهترین حالت آن است که پردازنده به طور مستقیم برای اجرای آن درگیر شود. کدهایی که به صورت سریال نوشته شده اند و دارای شاخه ها و همچنین شروطی نیز می باشند بهترین عملکرد را بر روی CPUها از خود به نمایش می گذارند چرا که پردازنده های مرکزی توانایی آنرا دارند تا این چنین کدها را در کوتاه ترین زمان ممکن پردازش نمایند. اما از سویی دیگر کدهایی که از نظر ساختار دارای کمترین شروط و همچنین کمترین تعداد کد نوشته شده را دارند اما کاملاً موازی سازی شده اند مانند پردازش های مربوط به گرافیک که هر یک پیکسل باید چه رنگی را به خود ببیند، می توانند بالاترین بازدهی را بر روی GPUها داشته باشند چراکه این GPUها هستند که برخلاف CPU به صورت موازی عمل می کنند.بگذارید کمی این فناوری ناشناخته را برایتان باز کنیم.گفتیم که کدهای سریال توسط CPU و کدهای موازی توسط GPU پردازش می شوند. حال در نظر بگیرید که می خواهیم یک بازی را اجرا کنیم، تفاوتی هم در نوع بازی وجود ندارد. در این هنگام GPU پردازش گرافیکی برنامه را که نیاز به پردازش موازی دارد بر عهده می گیرد و از آن سو CPU پردازش هایی از قبیل صدا، هوش مصنوعی، حرکت یک گلوله و یا ضربه وارد شده به یک جعبه را برعهده دارد.

اما عملکرد HSA در این بین بسیار زیرکانه به شمار می رود. به جای اینکه CPU و GPU به صورت مجزا بر روی دو نوع پردازش متفاوت تمرکز کنند (مانند گرافیک و هوش مصنوعی)، همان وظیفه ای را که در حال پردازش هستند، به اشتراک می گذارند (مانند فیزیک). هرچند هر یک از پردازنده ها بخشی از یک وظیفه (Task) را انجام می دهند اما بخشی از دستورالعمل ها و یا کدهای پردازشی که توسط CPU سریعتر انجام می گیرد توسط CPU و بخش های دیگری که توسط GPU سریعتر پردازش می شوند توسط GPU انجام می شوند.این عملکرد به طور فوق العاده ای خوب عمل می کند چراکه نرم افزارهایی که ما از آنها بهره می بریم هم از کدهای سریال و هم از کدهای موازی سازی استفاده می کنند.در این خصوص می توان Suffix Array و یا آرایه های پسوندی را نام برد که در برخی محاسبات نظیر فشرده سازی داده ها مورد استفاده قرار می گیرد.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

البته HSA تا زمانیکه نرم افزارها بتوانند از آن پشتیبانی کنند نمی تواند مزیت های خود را به رخ بکشاند. در این بین زبان برنامه نویسی اختصاصی HSA نیز که توسط بنیاد آن معرفی شده است با نام HSAIL موجود است. زبان برنامه نویسی که میتواند به مراتب عملکرد بالاتری را نسبت به هر زبان دیگری برای بهره گیری از HSA به نمایش بگذارد اما از آنجایی که اعضای بنیاد HSA می دانند که نمی توانند از برنامه نویسان انتظار داشته باشند تا از زبان برنامه نویسی آنها بهره ببرند از این‌رو بر زبان هایی مانند OpenCL 2.0 ، Java و Microsoft C++ AMP تکیه کرده اند.OpenCL 2.0 توانایی بهره وری از مزیت های HSA را داراست و با بهره گیری از فناوری HUMA توانایی یکپارچه سازی استفاده از حافظه را هم برای CPU و هم برای GPU فراهم می کند. از طرف دیگر Java از طریق APARAPI توانایی پشتیبانی از HSA را داراست که کدهای Java را به OpenCL کامپایل می نماید. البته Java 9 توانایی این را دارد تا به صورت مستقیم HSA را آدرس دهی نماید و کدهای HSAIL را تولید کند. در این بین C++ AMP است که نمی تواند به صورت مستقیم HSA را آدرسدهی نماید.

اما بهتر است Kaveri را فراموش نکنیم! سری پردازنده هایی که موفق شدند تا نام خود را به عنوان اولین سخت افزار پشتیبانی کننده از فناوری HSA به ثبت برسانند. Kaveri شروعی ایست بر راهی طولانی و پرمخاطره، راهی که می تواند انتهای روشنی برای کاربران کامپیوترهای شخصی باشد. از سویی دیگر Carrizo که نسل بعدی پردازنده های شتاب دهی شده AMD به شمار می رود، با عرضه شدن آنها متعاقباً ما شاهد پیشرفت های فراتر نسبت به گذشته خواهیم بود و در سال جاری میلادی ما می توانیم نرم افزارها و سخت افزارهای پشتیبانی کننده از HSA را شاهد باشیم.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

انویدیا در چه مرحله ایست؟

nVIDIA فناوری خود را که بر پایه به اشتراک گذاری حافظه مجازی بین CPU و GPU است را با CUDA 6 و معماری Maxwell معرفی کرد. این فناوری برخلاف فناوری AMD که با نام HUMA شناخته می شود امکان دسترسی مستقیم به حافظه سطح سخت افزاری را ندارد. این ویژگی همانی است که AMD در پردازنده های Kaveri با معماری گرافیکی GCN از آن برخوردار است.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

چیزی که در خصوص فناوری انویدیا واضح است بهره گیری از اشاره گرها (Pointers) جهت به اشتراک گذاشتن داده ها می باشد که باعث می شود بهره وری و عملکرد نهایی سیستم نسبت به گذشته بالاتر برود. در برنامه سازی و پردازش اطلاعات اشاره گر به متغیری گفته می شود که حاوی نشانی و آدرس داده ها باشد و نه خود داده.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

نکته دیگر در خصوص فناوری nVIDIA آن است که این شرکت هم اکنون در هیچ یک از محصولاتش این فناوری را مورد استفاده قرار نمی دهد و این از آن جهت است که بهره گیری از Unified Memory یا همان حافظه یکپارچه نیازمند یک SOC می باشد. محصولی که هم دارای CPU و هم دارای یک GPU باشد تا بتواند به صورت کامل و اینترنال مورد بهره وری قرار گیرد. از این‌رو به نظر نمی رسد تا بعد از سال 2016 میلادی و عرضه چیپ Erista و یا نسل بعدی GPUهای شرکت با نام Pascal ما شاهد حضور Unified Memory در محصولات انویدیا باشیم.

Intel چه چیزی را تدارک می بیند؟

اینتل در حال کار بر روی ایده ای مشابه با انویدیا می باشد. فناوری اینتل به مانند HSA از Open CL بهره می برد اما اینتل برای اینکه بتواند از این فناوری بهره ببرد و پا به عرصه پردازش ناهمگون بگذارد باید ابتدا سخت افزاری را ارائه دهد که توانایی پشتیبانی از این فناوری را دارا باشد.


فقط کاربران عضو قادر به مشاهده لینک‌ها هستند.

اولین سخت افزار و به تعبیری اولین پردازنده ای که اینتل برای این منظور تدارک دیده است سری پردازنده های Skylake می باشد. پردازنده های که از قرار معلوم از دستورالعمل های AVX 3.2 به صورت 512 بیتی بهره مند خواهند بود و از Unified Memory که در واقع کارایی مشابه با HSA را دارد، بهره خواهد برد. البته دراین خصوص نمی توان با قطعیت اظهار نظر کرد اما هرچه که باشد اینتل به این سو قدم خواهد گذاشت.

و در آخر...؟!

اما تمام این فناوری های بیان شده چه چیزی را در انتها برای کاربر خود به ارمغان می آورند؟ بگذارید این پاسخ را از شرکت AMD نقل قول کنیم! به گفته AMD تا 5 الی 6 سال آینده ما شاهد 2500 درصد افزایش عملکرد نسبت به مصرف توان در پردازنده های این شرکت خواهیم بود به طوریکه در سال 2020 می توانیم شاهد حضور پردازنده هایی باشیم که با مصرف توانی برابر با تنها 4W عملکردی برابر با یک پردازنده 100W امروزی را خواهد داشت. پس باید اذعان کرد که این اعداد و ارقام نشان دهنده آینده روشن فناوری ها و به خصوص HSA خواهد بود.در آخر باید اذعان کرد که این فناوری یعنی HSA و فناوری های مشابه که توسط Intel و nVIDIA ارائه شده است، کارایی بالایی را از خود نشان می دهند. در شرایط کنونی که ما شاهد حضور تازه این گونه فناوری ها هستیم، تنها باید منتظر ماند و دید که شرکت های صاحب فناوری می توانند به مانند سال هایی نه چندان دور به ازای هر نسل، عملکرد را به شکل قابل ملاحظه ای افزایش دهند یا خیر؟



نویسنده: احسان علیزاده