تفاوت بین گوشی های ۲ هسته ای و ۸ هسته ای
جمعه 9 مهر 1395 7:07 AM
گوشی هایی با پردازشگر ۸ هسته ای انتخاب کنیم یا چهارهسته ای؟ کدامیک بهترند؟ مزایا و معایب هرکدام از آنها چیست؟
کلیک- در سال های اخیر برندهای مختلف گوشی با رونمایی از گوشی هایی با پردازنده های ۸ هسته ای موجب به وجودآمدن بحثی شده اند که این پرسش را مطرح می سازد که مزایا و معایب گوشی هایی با پردازنده ۸ هسته ای در مقایسه با گوشی های ۴ هسته ای چیست؟
رفته رفته برندهای مختلف یکی بعد از دیگری پرده از روی پرچمداران جدید کمپانی خویش با ۸پردازنده برمی دارند و این سوالات برای مردم پیش آمده است که اساس افزایش تعداد هسته ها برروی چه هدفی صورت می گیرد؟ آیا می توان از مشکل داغی و مصرف زیاد انرژی پردازشگرها گذشت؟ آیا پردازنده های بیشتر نقشی در افزایش بهره وری اپلیکیشن ها دارند؟
پردازنده های چند هسته ای از کجا آمدند؟
اساسا پردازنده ها در اجرای یک وظیفه مشخص با مشکل رو به رو نخواهند گشت ولی اگر پای پردازش بیش از یک وظیفه در میان باشد، اوضاع دیگر به سادگی گذشته نخواهد بود. در این حالت باید به کمک نرم افزارهای مخصوص توالی وظایف مشخص شده و زمان های خاصی به آنها اختصاص داده شود. در این حالت پردازشگر مطابق برنامه دریافتی پیش رفته و به ترتیب وظایف را یکی پس از دیگری پردازش می کند.
هنگامی که بیش از یک هسته در دسترس باشد می توان وظایف را بین هسته ها تقسیم کرد به طوری که چند پروسه همزمان در آن واحد اجرا شود. اینجاست که تعداد هسته ها در اجرای همزمان پروسه ها و یا همان چندوظیفه گی نقش مهمی ایفا خواهند کرد، مثلا اجرای برنامه های پس زمینه و استفاده از مرورگر به طور همزمان به بیش از یک هسته نیاز دارد.
اما از طرف دیگر تعداد هسته های بیشتر به معنای صرف انرژی بیشتر و بروز مشکل همیشگی خواهد بود. فشار بر باتری و داغ شدن گوشی که از تبعات به کارگیری پردازنده های قوی است، در حالی که در استفاده معمولی از گوشی های هوشمند مانند جا به جایی بین منوها، خواندن پیام ها و حتی گشت و گذار در اینترنت، پردازشگرهای معمولی به خوبی از عهده کار، بر می آیند. اما تماشای ویدیوهای اچ دی، بازیهای سنگین و کارهای گرافیکی عرصه را برای ظهور هسته های بیشتر در پردازشگرها هموار می کند.
به جز افزایش دما و کاهش طول عمر باتری، مشکل دیگری در افزایش هسته ها خود را نشان می دهد و آن ایجاد ارتباط بین آنها و برقراری تعامل مناسب برای پردازش واقعی اطلاعات است. برای بدست آوردن بالاترین کارآیی هسته ها در چنین پردازنده هایی، نیاز به طراحی و مهندسی بسیار پیچیده تر وجود دارد در غیر این صورت بالا رفتن تعداد هسته ها نه تنها نتیجه مثبتی به همراه ندارد بلکه باعث ایجاد اختلال و تحمیل فشار بیشتر بر عملکرد گوشی می شود. با دانستن این موضوع این سوال پیش می آید که افزایش تعداد هسته ها مفید است یا مضر؟ در جواب باید گفت که ، تعداد هسته ها زمانی باعث ایجاد عملکرد مناسب از سوی پردازشگر می شود که سرعت کلاک گوشی تغییر نکند. دما و بار پردازشی دو متغیری هستند که بر سرعت کلاک تاثیر می گذارند. در سرعت کلاک ثابت، هسته ها وضعیت پایدارتری دارند. به طور مثال اپل در آیفون ۶ از چیپ دوهسته ای استفاده کرده است. این شرکت به کارگیری پردازنده های چند هسته ای را در پردازش برنامه های معمولی بی فایده می داند و وجود آنها را عاملی برای افزایش دما و در نتیجه تاثیر نامطلوب بر عملکرد باتری قلمداد می کند. این در حالی است که هدف از به کارگیری هسته های بیشتر در پردازنده ها افزایش بازدهی انرژی است.
کمپانی اپل به استفاده از هسته های بزرگ تر با قدرت کنترل بالا بر بخش های اجرایی تاکید دارد. همانطور که می دانید هسته های پردازشگر A8 قدرتمند بوده و در عین حال توان مصرفی کمتری نیز دارند. اما گروه دیگر از پردازنده های ۸ هسته ای نیز وجود دارند که استفاده از آنها رواج زیادی دارد. این پردازشگرها بر پایه ARM طراحی شده و به این معماری بزرگ- کوچکbig-little گفته می شود. در این معماری قرارگرفتن هسته هایی با کارایی بالا در کنار هسته هایی با مصرف بهینه در کنار یکدیگر از مشخصه های این نوع طراحی است. هسته های با مصرف بهینه وظیفه انجام پردازش های سبک و هسته های با کارایی بیشتر نیز مسوولیت اجرای پروسه های سنگین را بر عهده دارند.
در مورد این معماری باید گفت که معرفی این معماری در سال ۲۰۱۱ انجام شد و در آن چهار هسته Cortex A7 با قدرت پایین و چهار هسته Cortex A15 در کنار یکدیگر قرار گرفتند. پس از آن بسیاری از کمپانی های فعال در زمینه تولید پردازشگر به این نوع طراحی علاقه نشان دادند و به توسعه آن پرداختند.
کمپانی های سامسونگ یکی از اولین و مطرح ترین شرکت هایی بود که در چیپ Exynos خود از فناوری بیگ- لیتل استفاده کرد و اخیرا کوالکوم در اسنپ دراگون ۸۱۰ از این معماری بهره برد Nvidia نیز Tegra X1 از هشت هسته پردازنده مرکزی که شامل ۲ گروه پردازنده ۴ هسته ای از نوع Cortex A53 و Cortex A57 است با فناوری بسیار مشابه بهره برده است.
Media Tek نیز در چیپ MT6595 این نوع معماری را مدنظر خود قرار داده است و آن را به کار گرفته است. اما این کمپانی در تراشه Heilo X20، ۳ گروه هسته برای سه حالت متفاوت توان مصرفی به کار برده است.
همه ی این ها در حالی اتفاق می افتد که اپل هرگز وارد جنگ هسته ها نشد شرکت کوالکوم هم در این بین در سال ۲۰۱۳ میلادی اعلام کرد که رقابت بر سر تعداد هسته های کار بیهوده ای است و قصد تولید پردازشگر هشت هسته ای را ندارد. معاون ارشد این شرکت اعلام کرد که با به هم چسباندن هسته ها نمی توان به افزایش کارایی پردازنده ها کمک کرد، این کار مانند این است که با به هم چسباندن موتورهای هشت ماشین چمن زنی، به موتور هشت سیلندر فراری دست یافت؛ این کار عملا غیرممکن است.
در ادامه این مقام اجرایی کوالکوم اعلام کرد که هدف این شرکت تنها ایجاد یک تجربه خوب برای کاربران است و تمامی تلاش این شرکت درجهت رفع نیاز کاربران و ارتقای کارایی محصولات تمرکز دارد و این کار فقط با افزایش تعداد هسته های پردازشگر صورت نمی پذیرد.اما این ادعا دیری نپایید و چندی بعد کوالکوم هم به جرگه ی تولیدکنندگان این پردازنده پیوست و اقدام به تولید پردازنده های ۸ هسته ای کرد. این شرکت درخبرها اذعان کرد که این کار را در واکنش به بازار چین انجام داده، به نظر می رسد که تعداد هسته ها برای چینی ها مهم تر از هرچیزی دیگری است حتی اگر این کار تاثیر چندانی در بهبود کارایی نداشته باشد. با این تفاسیر به نظر می رسد تولید پردازشگرهای هشت هسته ای بیشتر با انگیزه های تجاری صورت گرفته است.
بالاخره اولین پردازشگرهای ۸ هسته ای کوالکوم در مقیاس انبوه در سال ۲۰۱۴ تولید شد. اسنپ دراگون ۸۱۰ اولین بار در LG G Flex 2 گوشی قابل انعطاف ال جی به کار رفت که نتیجه خوبی به همراه نداشت. از عمده مشکلات آن می توان به داغی بیش از حد و پایین آمدن کارایی به تبع آن از مشکلات G Flex 2 نام برد، وجود تاخیر در اجرای برنامه های روزمره مثل استفاده از کیبورد، بازکردن پنجره جدید در کروم، باز کردن اپ های دوربین و حتی بازگشت به منوی اصلی به کندی صورت می گرفت؛ حرکت بین منوها نیز با تاخیر قابل توجهی صورت می گرفت که سبب نارضایتی کاربران شد. و شکست قابل توجهی را رقم زد.
بعد از چندی ال جی اعلام کرد که این مشکل در نسخه های اولیه وجود داشته و به زودی در نسخه های بعدی برطرف خواهدشد. در بررسی هایی که انجام گرفت مشخص شد که سرعت کلاک S810 پس از چند دقیقه از ۲ به زیر ۱ گیگاهرتز افت می کند. در پی این مشکلات، سامسونگ که قصد استفاده از همین پردازشگر را در پرچمدار جدید خودداشت بنا به دلایلی از این اقدام صرفنظر کرد تا گرفتار مشکلات مشابه آنچه ال جی با آن دست و پنجه نرم می کرد، نشود.
کدام اپلیکیشن ها بیشتر از یک هسته نیاز دارند؟
به طور کلی برای صحبت در این موضوع که یک برنامه قابلیت تقسیم بین چندین هسته را داشته باشد یا نه در درجه اول به ساختار آن بستگی دارد. یعنی درحقیقت این نویسنده برنامه است که در این باره تصمیم می گیرد. در پردازشگرهای چندهسته ای به نام Schedular عهده دار تقسیم وظایف بین هسته های پردازشگر است اما گاهی ماهیت وظایف به گونه ای است که امکان تقسیم آنها وجود ندارد.
برای اینکه متوجه این موضوع شوید این مثال را در نظر بگیرید که زمانی را در نظر بگیرید که باید خود را به سرعت به محل آتش سوزی برسانید، در این حالت استفاده از دو ماشین هیچ تاثیری در سرعت شما نخواهد داشت. شما برای جا به جایی از نقطه A به نقطه B هرگز به دو وسیله نقلیه نیاز پیدا نخواهید کرد. در این حالت وسایل نقلیه مشابه وضعیت مدنظر قرار دارند.
در همین مثال، فرض کنید که اگر قرار باشد هشت نفر به طور همزمان خود را به محل حادثه برسانند با فرض این که هر ماشین امکان جا به جایی فقط چهار نفر را دارد، وجود دو خودرو در بالا بردن سرعت تاثیر بسزایی دارد. دو خودرو امکان جا به جایی هر هشت نفر را به طور همزمان فراهم می کند. اما صرف موجود بودن دو خودرو (وجود دو هسته) به تنهایی مشکل را حل نخواهد کرد.بلکه باید افراد توانایی استفاده از آنها را داشته باشند.
در صورت عدم توانایی این هشت نفر باید در دو گروه چهار نفره و در دو مرحله به محل مورد نظر انتقال یابند و این یعنی صرف زمان بیشتر، بنابراین باید در برنامه ها قابلیت استفاده از چند هسته گنجانده شده باشد. پس در برنامه هایی که قابلیت تقسیم وظایف به چند بخش مستقل در آن وجود نداشته باشد و یا در پروسه هایی که ترتیب در آنها اهمیت دارد، استفاده از پردازنده های چندهسته ای بی فایده است.
البته روش های برنامه نویسی متفاوتی برای تعیین نحوه استفاده از هسته ها وجود دارد. . به طور مثال Single-Threaded مبتنی بر یک اجراکننده و Multi-threaded مبتنی بر چند اجراکننده مستقل است ، برنامه های اندروید توانایی استفاده از چندین هسته پردازشی و البته ترکیب های بیگ- لیتل را دارا بوده و با کمک Scheduler امکان ترکیب هسته ها و استفاده بهینه از آنها را دارد. بنابراین برنامه های اندروید ماهیتا قابلیت استفاده از بیش از یک هسته را دارند.
در هنگام اجرای یک برنامه میزان استفاده از قدرت هسته ها چقدر است؟
این سوال در اینجا مطرح می شود که آیا در اجرای برنامه های مختلف تمامی هسته ها با حداکثر قدرت درگیر می شوند؟ مثلا در یک پردازشگر ۸ هسته ای، اپلیکیشن ها برای اجرا نیاز به هر ۸ هسته دارند؟
در پاسخ باید گفت که برخی اپلیکیشن ها توانایی به کارگیری تمامی هسته های به کار گرفته در پردازشگر را دارند، اما این به معنای استفاده از حداکثر قدرت آنها نیست. آنچه رخ می دهد واگذاری وظایف از گروه های هسته های لیتل به گروه هسته های بیگ یا برعکس بسته بر میزان بار است. به طور کلی اپلیکیشن ها از تمامی هسته ها به یک میزان استفاده نمی کنند. در برخی از اپلیکیشن ها بخشی از توان هسته ها به کار گرفته می شود که در پردازنده های چهار و هشت هسته ای این میزان معمولا به صددرصد نیم رسد.
و در ادامه مواقعی هست که فقط دو یا سه هسته در عملیات درگیر شده و بقیه به حال خود رها می شوند. میزان فعال بودن هسته های یک پردازشگر به عوامل زیادی از جمله معماری که از آنها بهره می گیرد بستگی دارد. ممکن است در یک پردازنده چهار هسته ای کمپانی دیگر فقط ۶۰درصد دو هسته به کار گرفته شود و دو هسته دیگر بدون استفاده باقی بمانند. نمی توان این موضوع را نادیده گرفت که پردازشگر ۸ هسته ای از پردازشگر ۴ هسته ای قوی تر است.
در پایان این بحث باید گفت این جدالی است که کمپانی ها از مدت ها پیش شروع کرده اند و تمام تلاششان را می کنند تا با افزایش ارقامی که تاثیر چندانی بر کیفیت گوشی ندارند، ذهن کاربر را منحرف کرده و او را به خرید محصولاتشان تشویق کنند، در حالی که آنها به خوبی می دانند که این اعداد و ارقام برای خریداران مهم بوده و حتی می تواند مبنای تصمیم گیری آنها قرار گیرند.
توصیه ی ما به خریدارانی که می خواهند گوشی مناسبی برای خود انتخاب کنند این است که تعداد هسته های بیشتر ذهن شما را به خود مشغول نکند، بلکه با تحقیق از افراد متخصص، جست وجو در سایت ها و مطالعه نظرات دیگران و شناخت نوع نیازی که از یک گوشی دارید، آگاهانه قدم در عرصه انتخاب بگذارید. و گوشی خود را بدون در نظرگرفتن تعداد هسته هایش انتخاب کنند.