پردازنده‌های موبایل، لپ‌تاپ، دسکتاپ و سرور چه تفاوتی با یکدیگر دارند؟

جمعه ۸ آذر ۱۳۹۸ - ۲۲:۰۰
مطالعه 16 دقیقه
در این مقاله سعی شده تا با تکیه بر فاکتورهای مؤثر بر قدرت پردازشی، معماری پردازنده‌های به‌کار رفته در کامپیوترهای دسکتاپ، گوشی‌های هوشمند، لپ‌تاپ‌ها و سرورها بررسی شود.
تبلیغات

در بحث مربوط به پردازنده‌ها، بسیاری عقیده دارند که تراشه‌های به‌کار رفته در گوشی‌های جدید هوشمند توانسته‌اند تا حدودی فاصله‌ی بین قدرت پردازشی دستگاه‌های یادشده و کامپیوترهای خانگی و لپ‌تاپ‌ها را کم کنند. با اینکه مقایسه‌ی پردازنده‌های مورد استفاده در دستگاه‌های مختلف، اساسا مقایسه‌ی صحیحی نیست. اما در این مطلب سعی شده با تمرکز بر معماری به‌کار رفته در پردازنده‌های مختلف، درک درستی از ساز‌وکار این تراشه‌ها در تمامی زمینه‌ها فراهم شود. البته باتوجه به گستردگی وسعت موارد مؤثر، تنها بخشی از اِلمان‌های یادشده بررسی خواهد شد. وقتی صحبت از موارد کاربریِ پردازنده به میان می‌آید، آن‌چه که بیشتر جلب توجه می‌کند مواردی چون سرورها، دستگاه‌های موبایل و کامپیوترهای خانگی است. گستره‌ی کاربرد عبارت «موبایل» در حوزه‌ی فناوری نه‌تنها گوشی‌های هوشمند را شامل می‌شود، بلکه لپ‌تاپ‌ها و نوت‌بوک‌ها را نیر در بر می‌گیرد. از این‌رو در این مقاله موارد مذکور به‌طور کامل مورد ارزیابی قرار خواهند گرفت. البته در ابتدا لازم است تا برای درک تفاوت موجود در پردازنده‌های مختلف، ماهیت پردازنده به‌صورت مختصر مورد واکاوی قرار گیرد.

پردازنده چیست و نحوه‌ی عملکرد آن چگونه است؟

پردازنده، ریزپردازنده یا واحد پردازش مرکزیِ (CPU) مداری الکتریکی در بیشتر محصولات الکترونیکیِ هوشمند از قبیل کامپیوتر، گوشی‌های هوشمند، لپ‌تاپ‌ها و سرورها است. این تراشه به واسطه‌ی انجام الگوریتم‌های پایه‌ای، کنترل و انجام عملیات ورودی/خروجیِ (I/O) مشخص‌شده، دستورالعمل‌های موجود در برنامه‌ها را انجام می‌دهد. به بیان ساده عملکرد اساسی همه‌ی پردازنده‌ها، صرف‌نظر از ساختار فیزیکی‌شان،  اجرای یک رشته از دستورالعمل‌های ذخیره شده است که به آن برنامه گفته می‌شود. تقریبا تمامی پردازنده‌ها هنگام اجرای عملیات روی دستورالعمل‌ها از مراحل واکشی (fetch)، رمزگشایی (decode) و اجرا (execute) پیروی می‌کنند که در مجموع به‌عنوان سیکل کلاک شناخته می‌شود.

پس از اتمام مرحله‌ی اجرا برای یک دستورالعمل، کل فرایند‌ مذکور تکرار می‌شود. در پردازنده‌ها حافظه‌هایی با نام ثبات (register) وجود دارد که سریع‌ترین تجهیزات ذخیره‌سازی در یک سیستم کامپیوتری محسوب می‌شوند. ثباتی با نام شمارنده‌ی برنامه (program counter) در پردازنده‌ها، آدرس دستورالعمل بعدی در رشته‌ی دستورالعمل‌ها را به‌جهت استفاده‌ی پردازنده در خود ذخیره می‌کند. درواقع شمارنده‌ی پردازنده دستورالعمل‌ها را از حافظه‌ی اصلی واکشی می‌کند. در برنامه‌های کامپیوتری یا موبایلی، دستورالعملهایی از نوع انشعاب وجود دارد. دستورالعمل‌های انشعاب شبیه به گزاره‌ی «اگر» برای یک پردازنده است. اگر شرایطی برقرار باشد (If True)، یک مجموعه از دستورالعمل‌ها اجرا می‌شود و اگر آن شرایط برقرار نباشد (If False)، مجموعه دستورالعمل دیگری به اجرا گذارده می‌شود. اگر دستورالعمل‌های یادشده اجرا شوند، شمارنده‌ی برنامه به‌گونه‌ای اصلاح می‌شود که دستورالعمل‌های صحیح را واکشی کند. 

cpus

دستورالعمل واکشی‌شده از حافظه، مشخص می‌کند که پردازنده چه کاری را باید انجام دهد. در مرحله‌ی رمزگشایی که به وسیله‌ی مدار معروف به رمزگشای دستورالعمل (instruction decoder) انجام می‌شود، دستورالعمل‌ها به سیگنال‌هایی تبدیل می‌شوند که سایر قسمت‌های پردازنده را کنترل می‌کننند. نحوه‌ی تفسیر دستورالعمل‌ها توسط معماری مجموعه دستورالعمل‌های پردازنده یا به‌اختصار ISA صورت می‌پذیرد. پس از مراحل واکشی و رمزگشایی، مرحله‌ی اجرا انجام می‌گیرد. بسته به معماری پردازنده، این روند ممکن است یک  یا چندین سیکل طول بکشد.

بیشتر پردازنده‌های مدرن مراحل معدود یادشده را برای افزایش بازدهی به دست‌کم ۲۰ مرحله‌ی خردتر تقسیم می‌کنند. به عبارت دیگر، هر چند یک پردازنده در هر چرخه‌ی کاری یا سیکل کلاک اجرای چندین دستورالعمل را شروع می‌کند، ادامه می‌دهد و به سرانجام می‌رساند؛ اما برای اجرای هر دستورالعمل از آغاز تا اتمام، ممکن است ۲۰ سیکل کلاک یا حتی بیشتر لازم باشد. به چنین مدلی در اصطلاح یک پایپ‌لاین اطلاق می‌شود. پر شدن یک خط لوله با سیال در جریان مدتی به طول می انجامد، اما پس از آن یک خروجی پایدار و ثابت از آن سیال به دست می‌آید. در پایپ‌لاین پردازنده، به‌جای سیال دستورالعمل‌ها به جریان می‌افتند.

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

توان طراحی حرارتی و لیتوگرافی ساخت

آن‌چه که در حال حاضر به‌‌عنوان معیاری صحیح برای مقایسه‌ی پردازنده‌ها محسوب می‌شود، ترکیبی از توان طراحی حرارتی (TDP)، لیتوگرافی ساخت پردازنده، معماری به‌کار رفته در آن و مواردی از این دست است. توان طراحی حرارتی در پردازنده، میزان گرمای تولیدشده توسط پردازنده، کارت گرافیک و SoC (سیستم روی تراشه یا SoC، مداری یکپارچه از اجزای مختلف کامپیوتر از جمله پردازنده، کارت گرافیک و رم است) و مقدار توان لازم در سیستم خنک‌کننده جهت دفعِ آن است. در نگاه اول شاید این سؤال پیش آید که چرا لزوم استفاده از خنک‌کننده‌ای قدرت‌مندتر که در ظاهر نکته‌ای منفی در عملکرد پردازنده است، عاملی مهم در میزان کارایی پردازنده محسوب می‌شود؟ درواقع بالا رفتن TDP نشان‌دهنده‌ی افزایش ابعاد پردازنده در تمامی فاکتورها است.

از سال ۲۰۰۹ لیتوگرافی به نامی تجاری برای اهداف بازاریابی تبدیل شده و نشان‌دهنده‌ی فناوری‌های به‌کار رفته در فرایند تولید تراشه است و درواقع ارتباطی با طول گیت در ترانزیستورهای پردازنده ندارد.

برای درک موضوع کافی است ابعاد وسایل نقلیه‌ای چون دوچرخه، قطار و هواپیما را در نظر بگیرید. هر کدام از دستگاه‌های یادشده، در نهایت مسافر را به مقصد خواهند رساند، اما حجم کاری و سرعت و کاربری هر کدام از آن‌ها برای مصارف و اهداف خاصی مهم است و درواقع این مصرف سوختشان است که نشان‌دهنده‌ی کثرت قطعات به‌کار رفته در وسیله و پیچیدگی آن است. فاکتورهایی که در پردازنده رابطه‌ی مستقیمی با بزرگی TDP دارند شامل پیچیدگی ریزمعماری، تعداد هسته‌ها، عملکرد پیش‌بینی‌کننده‌ی پرش، میزان حافظه‌ی کش، تعداد پایپ‌لاین‌های اجرایی و مواردی این‌چنینی است. لزوما توان طراحی حرارتی بین محصولات تولیدیِ شرکت‌های مختلف یکی نیست، اما محدوده‌ای که این معیار در آن قرار می‌گیرد تقریبا در تمامی محصولات مشابه از یک کاربری، یکسان است.

cpus

در مورد لیتوگرافی ساخت پردازنده می‌توان این‌گونه گفت که در استاندارد تعریف‌شده توسط صنایع تولید تراشه، هر نسل از فرایند تولید تراشه‌های نیمه‌هادی یا به‌عبارتی لیتوگرافی ساخت پردازنده، با طول گیتِ ترانزیستورهای به‌کار رفته در تراشه بر حسب نانومتر (سابقا میکرومتر) مشخص می‌شود. اگرچه از سال ۲۰۰۹ لیتوگرافی پردازنده به نامی تجاری برای اهداف بازاریابی تبدیل شده و نشان‌دهنده‌ی نسل جدیدی از فناوری‌های به‌کار رفته در فرایند تولید تراشه است و درواقع هیچ ارتباطی با طول گیت در ترانزیستورهای به‌کار رفته در پردازنده ندارد. برای مثال فرایند ۷ نانومتری شرکت تراشه‌سازی GlobalFoundries همانند لیتوگرافی ۱۰ نانومتری شرکت اینتل است. بنابراین مفهوم حقیقی لیتوگرافی ساخت دچار ابهام شده است. علاوه بر این تراشه‌های سامسونگ و شرکت صنایع نیمه‌هادی تایوان (TSMC) با لیتوگرافی ۱۰ نانومتری تنها اندکی بیشتر از تراشه‌های ۱۴ نانومتری اینتل ترانزیستور دارند. حتی تراکم ترانزیستور در تراشه‌های ۱۰ نانومتری اینتل بیشتر از تراشه‌های ۷ نانومتری سامسونگ و برخی از انواع پردازنده‌های تولیدی TSMC است. شایان ذکر است تراکم ترانزیستورها در تراشه‌های ۱۰ نانومتری اینتل ۱۰۰٫۷۶ میلیون ترانزیستور در میلی‌متر مربع است. تعداد ترانزیستورهای به کار رفته در تراشه‌های نوع N7P و N7FF صنایع نیمه‌هادی تایوان و تمامی تراشه‌های سامسونگ کمتر از مقدار یادشده برای تراشه‌ی ۱۰ نانومتری اینتل است. تعداد کل ترانزیستورها در پردازنده‌ی A13 بایونیک اپل ۸٫۵ میلیارد عدد است که با تقسیم بر مساحت تراشه (۹۸٫۴۸ میلی‌متر مربع) تراکمی تقریبا برابر با ۸۶ میلیون ترانزیستور در میلی‌متر مربع را نشان می‌دهد.

لیتوگرافی

با تمامی این‌ها، لیتوگرافی ساخت در معنای واقعی فاکتوری مهم در مقایسه‌ی پردازنده‌ها محسوب می‌شود. با کاهش لیتوگرافی، بازده پردازنده افزایش می‌یابد. بنابراین اگر دو پردازنده را با طراحی مشابه و لیتوگرافی متفاوت در نظر گرفت، پردازنده‌ی با لیتوگرافی پایین‌تر خصوصیات زیر را دارا خواهد بود:

  • فرکانس پردازشی بیشتری نسبت به پردازنده‌ی با لیتوگرافی بالاتر خواهد داشت
  • توان مصرفی پایین‌تری خواهد داشت.
  • گرمای کمتری تولید خواهد کرد.
  • به دلیل تراکم بیشتر در تعداد ترانزیستورها، مساحت کمتری خواهد داشت.
  • به‌طور کلی هنگامی که اینتل، AMD و سازنده‌های تراشه‌های مبتنی‌بر معماری ARM مانند سامسونگ و کوالکام لیتوگرافی تراشه‌هایشان را کاهش می‌دهند، بازدهی پردازنده نیز بهبود می‌یابد. باتوجه به اینکه در اکثر اوقات کاربران سرعت بالای پردازشی را به کاهش توان مصرفی ترجیح می‌دهند، شرکت‌ها نیز در این راستا اقدام می‌کنند که خود مانعی در برابر افزایش بهره‌وری در مصرف انرژی است. برخی نیز پردازنده‌های خود را به‌‌گونه‌ای طراحی می‌کنند که توازن میان افزایش کارایی و میزان کاهش مصرف انرژی را حفظ کنند. گروه سومی نیز هستند که افزایش بهره‌وری در میزان مصرف انرژی نسبت به افزایش سرعت پردازشی را در ارجحیت قرار می‌دهند.

    نکته‌ی اصلی که باید در نظر گرفته شود این است که توان طراحی حرارتی در گوشی‌های هوشمند در بیشترین حالت تنها ۵ وات است. این در حالی است که پردازنده‌های پایین‌رده‌ی دسکتاپ در حدود ۴۵ وات توان طراحی حرارتی دارند. توان طراحی حرارتی در پردازنده‌های سرور نیز اندکی بیشتر از پردازنده‌های دسکتاپ است. دلیل تفاوت موجود در TDP دستگاه‌های یادشده، پیش‌تر نیز گفته شد. برای درک بهتر موضوع ذکر این نکته لازم است که پردازنده‌های به‌کار رفته در دستگاه‌های مختلف روی صفحاتی با نام دای ساخته می‌شوند. در مبحث مدارات مجتمع، هر دای (die) یک بلوک کوچک از مواد نیمه‌رسانا است که مداری با کارکرد خاص، طی فرآیندی مانند فوتولیتوگرافی روی آن ساخته شده‌ است. پردازنده‌ها در دستگاه‌های قابل حمل، SoC هستند. به این معنی که بخش‌های مختلفی اعم از پردازنده، پردازنده‌ی گرافیکی، حافظه، کنترلر USB، مدارهای مدیریت مصرف انرژی و مودم‌های بی‌سیم وای‌فای و شبکه‌های تلفن همراه در SoC در کنار هم تجمیع شده‌اند. با این حال اندازه‌ی کل دای در SoCها کوچکتر از پردازنده‌های کامپیوتر و سرور است. با درنظر گرفتن این نکته، حتی اگر لیتوگرافی به کار رفته در پردازنده‌ها برابر بوده و تراکم ترانزیستورها برابر باشد، در اکثر موارد پردازنده‌های کامپیوتر تعداد بیشتری ترانزیستور دارند. در صورت برابر بودن اندازه‌ی دای‌ها نیز، باتوجه به کثرت قطعات در SoCها، تعداد ترانزیستورهایی که تنها برای پردازنده استفاده شده‌اند، بسیار کمتر از پردازنده‌های کامپیوتر و سرور است.

    mobile soc

    از دیدگاه توان مصرفی نیز در طراحی پردازنده‌های دسکتاپ، محافظه‌کاری کمتری صورت می‌پذیرد. این در حالی است که در دستگاه‌های موبایل، عملکرد ترکیبی سخت‌افزار، نرم‌افزار و فریم‌ور به‌گونه‌ای است که با ایجاد محدودیت‌هایی در سرعت پردازشی، عمر باتری را طولانی‌تر کنند. در پردازنده‌های دسکتاپ تنها زمانی توان مصرفی کنترل می‌شود که تأثیری منفی در ایجاد بهترین عملکرد داشته باشد. علاوه بر این در دستگاه‌های قابل حمل، ترفندهایی نرم‌افزاری اعم از کاهش نرخ فریم در قسمت‌هایی از بازی‌ها صورت می‌پذیرد که با پایین‌آوردن سطح عملکرد پردازنده توان مصرفی را نیز کاهش می‌دهند. فرکانس پردازشی نیز در SoCهای دنیای موبایل برای مصرف بهینه‌ی انرژی محدود شده است. در پردازنده‌ی بالارده‌ای چون A13 بایونیک اپل میزان فرکانس پردازشی ۲٫۶۵ گیگاهرتز بوده و حتی کمتر از پردازنده‌های میان‌رده‌ی نسل ششم اینتل است. این نکته نیز باید در نظر گرفته شود که میزان فرکانس پردازشی تبلیغ شده برای پردازنده‌های موبایل نشان‌دهنده‌ی کارایی پردازنده در بالاترین سطوح عملکردی است. اما فرکانس پردازنده‌های کامپیوتری در حالت بوست و اورکلاک پردازنده به‌میزان چشم‌گیری افزایش پیدا می‌کند.

    معماری 

    در بحث مربوط به معماری، تمامی پردازنده‌های دسکتاپ، لپ‌تاپ و سرور با بهره‌گیری از معماری X86 در مقابل پردازنده‌های موبایل با معماری ARM قرار گرفته‌اند. هر کدام کارکرد و وظیفه‌ی خاصی داشته و کاربری متناسبی را عهده‌دار هستند. در مورد معماری و طراحی پردازنده‌های ARM، این عبارت مخفف Acorn RICS Machines است، حال آنکه اگر منظور کمپانی توسعه‌دهنده‌ی این معماری باشد، اختصار ARM کوتاه شده‌ی عبارت Advances RISC Machines است. سالیان مدیدی است که معماری ARM در مرکز ریزپردازنده‌های مدرن و طراحی‌های فشرده قرار دارد.

    ARM خانواده‌ای از معماری RISC یا reduced instruction set computing به مفهوم محاسبات بر پایه‌ی مجموعه‌ دستورالعمل‌های ساده‌شده برای پردازنده‌های مختلف است. در پردازنده‌های مبتنی‌بر معماری RISC تمرکز اصلی این است که تعداد دستورالعمل‌ها تا جای ممکن کم بوده و دستورالعمل‌های مذکور تا جای ممکن ساده باشند. دستورالعمل‌های ساده مزیت‌هایی را هم برای مهندسین سخت‌افزار و هم نرم‌افزار ایجاد می‌کند. از آن‌جایی که دستورالعمل‌ها ساده هستند، مدار به تعداد کمتری ترانزیستور احتیاج دارد. درنتیجه تراشه کوچک‌تر بوده و فضای بیشتری برا جاسازی قطعات دیگر در داخل دستگاه وجود دارد. به همین دلیل نیز پردازنده‌های مبتنی بر معماری ARM بیشتر SoC بوده و بسیاری از قطعات را به‌صورت مجتمع در خود جای داده‌اند.

    cpus

    اما دستورالعمل‌های ساده نیز با هزینه‌ای همراه هستند. انجام وظایف سنگین در این نوع معماری، نیازمند تعداد بیشتری از دستورالعمل‌ها است. همین نیز منجر به افزایش مصرف حافظه و زمان اجرای طولانی‌ترِ دستورالعمل‌ها می‌شود. با این حال معماری ARM با پایپ‌لاین‌های سریع‌تر و افزایش فرکانس پردازشی، تأخیر یادشده در اجرای دستورالعمل‌ها را تا حدودی جبران می‌کند. در سمت دیگر، پردازنده‌های اینتل و AMD تحت معماری x86 در خانواده‌ای با نام CISC قرار دارند که مخففی از عبارت Complex Instruction Set Computing و به‌معنی محاسبات براساس مجموعه دستورالعمل‌های پیچیده است.

    فقدان قابلیت SMT در معماری ARM دلیل موجهی برای افزایش روز‌افزون تعداد هسته‌ها در این معماری است. 

    برخلاف پردازنده‌های RISC، تمرکز دستورالعمل‌ها در معماری CISC، بر انجام وظایف سنگین‌تر با میزان بیشتری از انعلاف‌پذیری است. برای درک بهتر موضوع لازم است تا چند نکته را یادآور شویم. در تمامی پردازنده‌های حال حاضر، بخشی به‌نام ALU قرار دارد که مختصر شده‌ی عبارت arithmetic logic unit به مفهوم واحد منطق و حساب است. داده‌هایی که کاربر یا نرم‌افزارها وارد سیستم می‌کنند عملوند نام دارد. کدهایی که تایین می‌کنند چه نوع عملیاتی باید صورت گیرد و نیز عملوندها، ورودی‌های ALU هستند. خروجی ALU نتیجه‌ی عملیات انجام‌شده است. درواقع کاری که ALU انجام می‌دهد انجام عملیات حسابی و بیتی روی اعداد باینری است.

    در پردازنده‌های RISC، معماری به‌کار رفته از نوع load-store به مفهوم بارگذاری و ذخیره‌سازی است. در مهندسی کامپیوتر load-store، معماری از مجموعه دستورالعمل‌ها است که دستورالعمل‌ها را به دو بخش تقسیم می‌کند: دسترسی به حافظه و عملیات ALU. در بخش دسترسی به حافظه عملوندها از حافظه به ثبات‌ها بارگذاری می‌شوند. سپس عملیات روی‌شان صورت می‌پذیرد. در بخش عملیات ALU نیز عملوندها از قبل روی ثبات‌ها هستند. در کل روند کار در معماری load-store به این صورت است که داده‌ها در ابتدا روی ثبات‌ها کپی می‌شوند. هنگام بارگذاری یا load، فرایند کپی از حافظه‌ی اصلی در ثبات انجام می‌شود. سپس داده‌هایی که عملیات روی‌شان صورت گرفته در حافظه‌ی اصلی ذخیره یا store می‌شوند. در نهایت می‌توان این‌گونه گفته پردازنده‌های نوع RISC عملیات را تنها بین ثبات‌ها انجام می‌دهند. در معماری نوع load-store دستورها به شکل زیر است:

    LOAD r1, Y

    LOAD r2, Z

    PROD r1, r2, r3

    STORE r3, X

    دستور اول و دوم متغیرهای r1 و r2 را از آدرس y و z واقع در حافظه‌ی اصلی به ثبات درون پردازنده بارگذاری یا load می‌کند. دستور سوم این دو عدد را با هم ضرب کرده و مقدار r3 را تولید می‌کند و دستور چهارم مقدار r3 را در آدرس x از حافظه‌ی اصلی ذخیره می‌کند. ساده بودن دستورهای load-store در معماری RISC سبب شده تا معماری یادشده و به تبع آن پردازنده‌های ARM که در دستگاه‌های قابل حمل مورد استفاده هستند، تنها در یک سیکل کلاک هر دستورالعملی را اجرا کنند. اما به دلیل تعدّد دستورالعمل‌ها در این معماری، ثبات‌های بیشتری نیز مورد استفاده قرار می‌گیرد. 

    اما در پردازنده‌های CISC، معماری به‌کار رفته از نوع register–memory به مفهوم ثبات-حافظه است. در مهندسی کامپیوتر معماری یادشده مجموعه دستورالعمل‌هایی است که اجازه می‌دهد عملیات نه‌تنها بین ثبات‌ها، بلکه بین بخشی از ثبات و بخشی از حافظه یا فقط در حافظه صورت گیرد. در رویکرد register–memory ممکن است یکی از عملوندها در ثبات و دیگری در حافظه باشد.در معماری نوع register–memory دستورهای ضرب برای دو عدد به شکل زیر است:

    mul r1,r1

    چنین دستوالعملی با اینکه عملیات پیچیده‌ای را انجام میدهد و به هیچ وجه ساده‌سازی نشده، اما در عوض حافظه‌ی کمتری را اشغال می‌کند. شاید به همین دلیل است که پردازنده‌های مبتنی بر معماری ARM برخلاف نوع x86 روز به‌روز حافظه‌ی رم بیشتری را می‌طلبند.

    پردازنده‌های پیچیده می‌توانند چندین دستورالعمل را به‌صورت هم‌زمان واکشی، رمزگشایی و اجرا کنند. چنین قابلیتی پردازش چندرشته‌ای هم‌زمان (Simultaneous Multithreading ) یا SMT نامیده می‌شوند. پردازنده‌هایی که قابلیت SMT دارند، دستورالعمل‌ها را در هر هسته با دو یا چند رشته‌ی مجزا اجرا می‌کنند. در پردازنده‌های دنیای موبایلی، یعنی ARM، ایجاد چنین قابلیتی باعث پیچیدگی ریزمعماری شده و میزان توان مصرفی را بسیار بالا می‌برد. از این رو SMT تنها در پردازنده‌های مبتنی بر معماری X86 مورد  استفاده قرار می‌گیرد. فقدان قابلیت SMT در معماری ARM دلیل موجهی برای افزایش روز‌افزون تعداد هسته‌ها در این معماری است. 

    multi-threading

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

    پردازنده

    AMD EPYC 7552

    اینتل Core i9-9900K

    اینتل Core i9-8950HK

    اپل A12 بایونیک

    کوالکام اسنپ‌دراگون 855 

    لیتوگرافی

    ۷ نانومتری

    ۱۴ نانومتری

    ۱۴ نانومتری

    ۷ نانومتری

    ۷ نانومتری

    معماری

    x86

    x86

    x86

    ARMv8.3

    ARMv8

    تعداد هسته‌ها

    ۴۸

    ۸

    ۶

    ۶

    ۸

    تعداد رشته‌ها

    ۹۶

    ۱۶

    ۱۲

    ۶

    ۸

    ریزمعماری

    Zen 2

    Coffee Lake

    Coffee Lake

    Vortex, Tempest

    Cortex-A76 Cortex-A55

    فرکانس پردازشی

    ۲٫۲ گیگاهرتز

    ۳٫۶ گیگاهرتز

    ۲٫۹ گیگاهرتز

    ۲٫۴۹ گیگاهرتز

    ۲.۸۴ گیگاهرتز

    ۲.۴۲ گیگاهرتز

    ۱.۸ گیگاهرتز

    فرکانس بوست

    ۳٫۳۵ گیگاهرتز

    ۵ گیگاهرتز

    ۴٫۶ گیگاهرتز

    ندارد

    ندارد

    اندازه‌ی دای

    ۱۹۲ میلی‌متر مربع

    ۳۵۵٫۵۲ میلی‌متر مربع

    ۱۴۹ میلی‌متر مربع

    ۸۳٫۲۳ میلی‌متر مربع

    ۷۳٫۲۷ میلی‌متر مربع

    تعداد ترانزیستورها

    ۱۹٫۲ میلیارد

    نامشخص

    ۷٫۲ میلیارد

    ۶٫۹ میلیارد

    نامشخص

    حافظه‌ی کش L1

    ۳ مگابایت

    ۶۴ کیلوبایت در هر هسته

    ۶۴ کیلوبایت در هر هسته

    ۱۲۸ کیلوبایت داده

    ۱۲۸ کیلوبایت دستورالعمل‌ها

    نامشخص

    حافظه‌ی کش L2

    ۲۴ مگابایت

    ۲۵۶ کیلوبایت در هر هسته

    ۲۵۶ کیلوبایت در هر هسته

    ۸ مگابایت

    هسته‌ی Gold Prime کش ۵۱۲ کیلوبایتی

    هسته‌های Gold هرکدام ۲۵۶ کیلوبایت

    هسته‌های Silver هرکدام ۱۲۸ کیلوبایت

    حافظه‌ی کش L3

    ۱۹۲ مگابایت

    ۱۶ مگابایت اشتراکی

    ۱۲ مگابایت اشتراکی

    ندارد

    ۲ مگابایت L3 مشترک در قالب DSU

    ۳ مگابایت کش سطح سیستم 

    توان طراحی حرارتی

    ۲۰۰ وات

    ۹۵ وات

    ۴۵ وات

    زیر ۵ وات

    زیر ۵ وات

    حافظه‌ی رم

    ۸ کانال ۶۴ بیتی DDR4 با فرکانس ۳۲۰۰ مگاهرتز

    پهنای باند ۱۹۰٫۷ گیگابایت‌برثانیه

    ۲ کانال ۶۴ بیتی DDR4 با فرکانس ۲۶۶۶ مگاهرتز

    پهنای باند ۳۹٫۷۴ گیگابایت‌برثانیه

    ۲ کانال ۶۴ بیتی DDR4 و LPDDR3 با فرکانس ۲۶۶۶ و ۲۱۳۳ مگاهرتز

    پهنای باند ۳۹٫۷۴ گیگابایت‌برثانیه

    مشخص نیست

    ۴ کانال ۱۶ بیتی LPDDR4X با فرکانس ۲۱۳۳ مگاهرتز

    پهنای باند ۳۴٫۱ گیگابایت‌برثانیه

    در ابتدا ذکر این نکته لازم است که هسته‌های پردازنده‌ی کوالکام اسنپ‌دراگون 855 به تعداد ۸ هسته از نوع Cortex-A76 و Cortex-A55 معماری ARM است. کوالکام با شخصی‌سازی هسته‌های مذکور نام‌های Kryo 485 Gold و Kryo 485 Silver و Kryo 485 Gold را برایشان درنظر گرفته است.

    از نظر لیتوگرافی ساخت، پرواضح است که پردازنده‌های جدید موبایل تراکم ترانزیستوری بیشتری دارند، اما کوچک بودن اندازه‌ی دای و SoC بودنشان باعث شده تا تعداد کمتری از ترانزیستورها تنها در هسته‌های پردازشی به‌کار برده شوند. برای مثال در پردازنده‌ی A12 بایونیک اپل با سطح مقطعی برابر با ۸۳٫۲۳ میلی‌متر مربع، تنها ۱۱٫۹ میلی‌متر معادل با ۱۴٫۲۹ درصد از سطح دای به هسته‌های پردازشی و قطعات مرکب در آن اختصاص داده شده‌ است. با یک حساب سرانگشتی تعداد ترانزیستورها برای بخش مذکور برابر خواهد بود با اندکی کمتر از یک میلیارد ترانزیستور. با اینکه آمار و ارقام دقیقی از تعداد ترانزیستورها در پردازنده‌های جدید اینتل منتشر نمی‌شود و ساختار دای در پردازنده‌های مذکور مبهم است، اما سطحی از تراشه که تنها برای پردازنده وقف شده به‌مراتب بیشتر است.

    a12

     قطعات مجتمع در پردازنده‌ی A12 بایونیک اپل

    ایجاد قدرت پردازش کامپیوتری در دنیای موبایل شاید سخت باشد، اما دست نیافتنی نیست.

    همان‌گونه که در جدول مشاهده می‌شود پردازنده‌های مبتنی‌بر معماری X86 با دارا بودن پردازش چندرشته‌ای هم‌زمان، تعداد بیشتری از رشته دستورالعمل‌ها را به‌صورت هم‌زمان اجرا می‌کنند. اما بنا بر معماری به‌کار رفته، سیکل کلاک بیشتری صرف پردازش دستورالعمل‌ها می‌شود. نوع پایپ‌لاین عموما در هسته‌های ARM در نسل‌های مختلف دچار تغییر می‌شود، اما باتوجه به ماهیت این‌پردازنده‌ها مراحل خردترِ اجرای دستورالعمل‌ها کمتر از پردازنده‌های x86 است. برای مثال تعداد مراحل پایپ‌لاین‌ها در هسته‌ی Cortex-A55 معماری مذکور ۸ مرحله بوده و برای Cortex-A76 سیزده مرحله است. مراحل پایپ‌لاین برای پردازنده‌ی 9900k بین ۱۴ و ۱۹ مرحله  است. پایپ‌لاین بیشتر به‌معنی انجام دستورهای پیچیده‌تر، اما با تعداد سیکل کلاک بیشتر است. فرکانس پردازشی نیز در پردازنده‌های موبایل در جدول فوق، عموما کمتر از تراشه‌های کامپیوتری است. دلیل فرکانس پایین‌تر همان‌گونه که در ابتدا گفته شد، پایین‌آوردن توان مصرفی است.

    نتیجه‌گیری

    همان‌گونه که در ابتدا گفته شد، به دلیل کاربری‌های متفاوت در پردازنده‌های به‌کار رفته در دستگاه‌های مختلف، مقایسه‌ی انواع مختلف از پردازنده‌ها غیرممکن است. اما آیا اینکه هر پردازنده‌ای در طیف عملکردی خود، وظیفه‌اش را به خوبی انجام دهد بحث دیگری است. بزرگ‌ترین نقطه‌ی منفی در پردازنده‌های مبتنی‌بر معماری ARM محدود‌سازی فرکانس پردازشی و عدم استفاده از پردازش چندرشته‌ای در ساختار پردازنده‌ است. با گذر زمان و نیاز به اجرای دستورهای پیچیده‌تر در دستگاه‌های تلفن همراه، تعداد پایپ‌لاین‌ها افزایش پیدا کرده و فرکانس پردازشی اندکی افزایش پیدا کرده است. اما توان مصرفی نیز به تبعِ آن بالا رفته است. چالش پیش‌رو برای ARM، تغییر ساختار به‌نحوی است که با ثابت نگه‌داشتن مصرف انرژی، پردازش چندرشته‌ای به ساختار این پردازنده‌ها اضافه شود.

    در مورد پردازنده‌های x86 نیز پایین آوردن تعداد سیکل کلاک باعث تقویت قدرت پردازشی خواهد شد. واقعیت این است که به مرور زمان این دو معماری به هم نزدیک شده و سختار مشابه‌تری را نسبت به آن‌چه که در گذشته شاهد بودیم، پیدا می‌کنند. ایجاد قدرت پردازش کامپیوتری در دنیای موبایل شاید سخت باشد، اما دست نیافتنی نیست.

    تبلیغات
    داغ‌ترین مطالب روز

    نظرات

    تبلیغات