در این مقاله سعی شده تا با تکیه بر فاکتورهای مؤثر بر قدرت پردازشی، معماری پردازندههای بهکار رفته در کامپیوترهای دسکتاپ، گوشیهای هوشمند، لپتاپها و سرورها بررسی شود.
در بحث مربوط به پردازندهها، بسیاری عقیده دارند که تراشههای بهکار رفته در گوشیهای جدیدِ هوشمند توانستهاند تا حدودی فاصلهی بین قدرت پردازشی دستگاههای یادشده و کامپیوترهای خانگی و لپتاپها را کم کنند. با اینکه مقایسهی پردازندههای موردِ استفاده در دستگاههای مختلف، اساسا مقایسهی صحیحی نیست. اما در این مطلب سعی شده با تمرکز بر معماری بهکار رفته در پردازندههای مختلف، درک درستی از سازوکار این تراشهها در تمامی زمینهها فراهم شود. البته باتوجه به گستردگی وسعت موارد مؤثر، تنها بخشی از اِلمانهای یادشده بررسی خواهد شد. وقتی صحبت از موارد کاربریِ پردازنده به میان میآید، آنچه که بیشتر جلب توجه میکند مواردی چون سرورها، دستگاههای موبایل و کامپیوترهای خانگی است. گسترهی کاربرد عبارت «موبایل» در حوزهی فناوری نهتنها گوشیهای هوشمند را شامل میشود، بلکه لپتاپها و نوتبوکها را نیر در بر میگیرد. از اینرو در این مقاله موارد مذکور بهطور کامل مورد ارزیابی قرار خواهند گرفت. البته در ابتدا لازم است تا برای درک تفاوت موجود در پردازندههای مختلف، ماهیت پردازنده بهصورت مختصر مورد واکاوی قرار گیرد.
پردازنده، ریزپردازنده یا واحد پردازش مرکزیِ (CPU) مداری الکتریکی در بیشتر محصولات الکترونیکیِ هوشمند از قبیل کامپیوتر، گوشیهای هوشمند، لپتاپها و سرورها است. این تراشه به واسطهی انجام الگوریتمهای پایهای، کنترل و انجام عملیات ورودی/خروجیِ (I/O) مشخصشده، دستورالعملهای موجود در برنامهها را انجام میدهد. به بیان ساده عملکرد اساسی همهی پردازندهها، صرفنظر از ساختار فیزیکیشان، اجرای یک رشته از دستورالعملهای ذخیره شده است که به آن برنامه گفته میشود. تقریبا تمامی پردازندهها هنگام اجرای عملیات روی دستورالعملها از مراحل واکشی (fetch)، رمزگشایی (decode) و اجرا (execute) پیروی میکنند که در مجموع بهعنوان سیکل کلاک شناخته میشود.
پس از اتمام مرحلهی اجرا برای یک دستورالعمل، کل فرایند مذکور تکرار میشود. در پردازندهها حافظههایی با نام ثبات (register) وجود دارد که سریعترین تجهیزات ذخیرهسازی در یک سیستم کامپیوتری محسوب میشوند. ثباتی با نام شمارندهی برنامه (program counter) در پردازندهها، آدرس دستورالعمل بعدی در رشتهی دستورالعملها را بهجهت استفادهی پردازنده در خود ذخیره میکند. درواقع شمارندهی پردازنده دستورالعملها را از حافظهی اصلی واکشی میکند. در برنامههای کامپیوتری یا موبایلی، دستورالعملهایی از نوع انشعاب وجود دارد. دستورالعملهای انشعاب شبیه به گزارهی «اگر» برای یک پردازنده است. اگر شرایطی برقرار باشد (If True)، یک مجموعه از دستورالعملها اجرا میشود و اگر آن شرایط برقرار نباشد (If False)، مجموعه دستورالعمل دیگری به اجرا گذارده میشود. اگر دستورالعملهای یادشده اجرا شوند، شمارندهی برنامه بهگونهای اصلاح میشود که دستورالعملهای صحیح را واکشی کند.
دستورالعمل واکشیشده از حافظه، مشخص میکند که پردازنده چه کاری را باید انجام دهد. در مرحلهی رمزگشایی که به وسیلهی مدار معروف به رمزگشای دستورالعمل (instruction decoder) انجام میشود، دستورالعملها به سیگنالهایی تبدیل میشوند که سایر قسمتهای پردازنده را کنترل میکننند. نحوهی تفسیر دستورالعملها توسط معماری مجموعه دستورالعملهای پردازنده یا بهاختصار ISA صورت میپذیرد. پس از مراحل واکشی و رمزگشایی، مرحلهی اجرا انجام میگیرد. بسته به معماری پردازنده، این روند ممکن است یک یا چندین سیکل طول بکشد.
بیشتر پردازندههای مدرن مراحل معدود یادشده را برای افزایش بازدهی به دستکم ۲۰ مرحلهی خردتر تقسیم میکنند. به عبارت دیگر، هر چند یک پردازنده در هر چرخهی کاری یا سیکل کلاک اجرای چندین دستورالعمل را شروع میکند، ادامه میدهد و به سرانجام میرساند؛ اما برای اجرای هر دستورالعمل از آغاز تا اتمام، ممکن است ۲۰ سیکل کلاک یا حتی بیشتر لازم باشد. به چنین مدلی در اصطلاح یک پایپلاین اطلاق میشود. پر شدن یک خط لوله با سیال در جریان مدتی به طول می انجامد، اما پس از آن یک خروجی پایدار و ثابت از آن سیال به دست میآید. در پایپلاین پردازنده، بهجای سیال دستورالعملها به جریان میافتند.
حقیقت این است که فرکانس پردازشی و تعداد هستهها، دیگر معیاری مناسب و شاخصی قابلاعتماد جهت ارزیابی قدرت پردازندهها نیست. حتی اعداد و ارقام بهعمل آمده از شاخصهای یادشده در گذشته نیز درک درستی از کارایی پردازندهها ارائه نمیکردند. حال که پای این تراشهها در دنیای گوشیهای هوشمند بازشده، مقایسهی پردازندهها تنها با تکیه بر تعداد هستهها و فرکانس پردازشی اشتباهی محض است.
توان طراحی حرارتی و لیتوگرافی ساخت
آنچه که در حال حاضر بهعنوان معیاری صحیح برای مقایسهی پردازندهها محسوب میشود، ترکیبی از توان طراحی حرارتی (TDP)، لیتوگرافی ساخت پردازنده، معماری بهکار رفته در آن و مواردی از این دست است. توان طراحی حرارتی در پردازنده، میزان گرمای تولیدشده توسط پردازنده، کارت گرافیک و SoC (سیستم روی تراشه یا SoC، مداری یکپارچه از اجزای مختلف کامپیوتر از جمله پردازنده، کارت گرافیک و رم است) و مقدار توان لازم در سیستم خنککننده جهت دفعِ آن است. در نگاه اول شاید این سؤال پیش آید که چرا لزوم استفاده از خنککنندهای قدرتمندتر که در ظاهر نکتهای منفی در عملکرد پردازنده است، عاملی مهم در میزان کارایی پردازنده محسوب میشود؟ درواقع بالا رفتن TDP نشاندهندهی افزایش ابعاد پردازنده در تمامی فاکتورها است.
از سال ۲۰۰۹ لیتوگرافی به نامی تجاری برای اهداف بازاریابی تبدیل شده و نشاندهندهی فناوریهای بهکار رفته در فرایند تولید تراشه است و درواقع ارتباطی با طول گیت در ترانزیستورهای پردازنده ندارد.
برای درک موضوع کافی است ابعاد وسایل نقلیهای چون دوچرخه، قطار و هواپیما را در نظر بگیرید. هر کدام از دستگاههای یادشده، در نهایت مسافر را به مقصد خواهند رساند، اما حجم کاری و سرعت و کاربری هر کدام از آنها برای مصارف و اهداف خاصی مهم است و درواقع این مصرف سوختشان است که نشاندهندهی کثرت قطعات
بهکار رفته در وسیله و پیچیدگی آن است. فاکتورهایی که در پردازنده رابطهی مستقیمی با بزرگی TDP دارند شامل پیچیدگی ریزمعماری، تعداد هستهها، عملکرد
پیشبینیکنندهی پرش، میزان حافظهی کش، تعداد پایپلاینهای اجرایی و مواردی اینچنینی است. لزوما توان طراحی حرارتی بین محصولات تولیدیِ شرکتهای مختلف یکی نیست، اما محدودهای که این معیار در آن قرار میگیرد تقریبا در تمامی محصولات مشابه از یک کاربری، یکسان است.
در مورد لیتوگرافی ساخت پردازنده میتوان اینگونه گفت که در استاندارد تعریفشده توسط صنایع تولید تراشه، هر نسل از فرایند تولید تراشههای نیمههادی یا بهعبارتی لیتوگرافی ساخت پردازنده، با طول گیتِ ترانزیستورهای بهکار رفته در تراشه بر حسب نانومتر (سابقا میکرومتر) مشخص میشود. اگرچه از سال ۲۰۰۹ لیتوگرافی پردازنده به نامی تجاری برای اهداف بازاریابی تبدیل شده و نشاندهندهی نسل جدیدی از فناوریهای بهکار رفته در فرایند تولید تراشه است و درواقع هیچ ارتباطی با طول گیت در ترانزیستورهای بهکار رفته در پردازنده ندارد. برای مثال فرایند ۷ نانومتری شرکت تراشهسازی GlobalFoundries همانند لیتوگرافی ۱۰ نانومتری شرکت اینتل است. بنابراین مفهوم حقیقی لیتوگرافی ساخت دچار ابهام شده است. علاوه بر این تراشههای سامسونگ و شرکت صنایع نیمههادی تایوان (TSMC) با لیتوگرافی ۱۰ نانومتری تنها اندکی بیشتر از تراشههای ۱۴ نانومتری اینتل ترانزیستور دارند. حتی تراکم ترانزیستور در تراشههای ۱۰ نانومتری اینتل بیشتر از تراشههای ۷ نانومتری سامسونگ و برخی از انواع پردازندههای تولیدی TSMC است. شایان ذکر است تراکم ترانزیستورها در تراشههای ۱۰ نانومتری اینتل ۱۰۰٫۷۶ میلیون ترانزیستور در میلیمتر مربع است. تعداد ترانزیستورهای به کار رفته در تراشههای نوع N7P و N7FF صنایع نیمههادی تایوان و تمامی تراشههای سامسونگ کمتر از مقدار یادشده برای تراشهی ۱۰ نانومتری اینتل است. تعداد کل ترانزیستورها در پردازندهی A13 بایونیک اپل ۸٫۵ میلیارد عدد است که با تقسیم بر مساحت تراشه (۹۸٫۴۸ میلیمتر مربع) تراکمی تقریبا برابر با ۸۶ میلیون ترانزیستور در میلیمتر مربع را نشان میدهد.
با تمامی اینها، لیتوگرافی ساخت در معنای واقعی فاکتوری مهم در مقایسهی پردازندهها محسوب میشود. با کاهش لیتوگرافی، بازده پردازنده افزایش مییابد. بنابراین اگر دو پردازنده را با طراحی مشابه و لیتوگرافی متفاوت در نظر گرفت، پردازندهی با لیتوگرافی پایینتر خصوصیات زیر را دارا خواهد بود:
فرکانس پردازشی بیشتری نسبت به پردازندهی با لیتوگرافی بالاتر خواهد داشت
توان مصرفی پایینتری خواهد داشت.
گرمای کمتری تولید خواهد کرد.
به دلیل تراکم بیشتر در تعداد ترانزیستورها، مساحت کمتری خواهد داشت.
بهطور کلی هنگامی که اینتل، AMD و سازندههای تراشههای مبتنیبر معماری ARM مانند سامسونگ و کوالکام لیتوگرافی تراشههایشان را کاهش میدهند، بازدهی پردازنده نیز بهبود مییابد. باتوجه به اینکه در اکثر اوقات کاربران سرعت بالای پردازشی را به کاهش توان مصرفی ترجیح میدهند، شرکتها نیز در این راستا اقدام میکنند که خود مانعی در برابر افزایش بهرهوری در مصرف انرژی است. برخی نیز پردازندههای خود را بهگونهای طراحی میکنند که توازن میان افزایش کارایی و میزان کاهشِ مصرف انرژی را حفظ کنند. گروه سومی نیز هستند که افزایش بهرهوری در میزان مصرف انرژی نسبت به افزایش سرعت پردازشی را در ارجحیت قرار میدهند.
نکتهی اصلی که باید در نظر گرفته شود این است که توان طراحی حرارتی در گوشیهای هوشمند در بیشترین حالت تنها ۵ وات است. این در حالی است که پردازندههای پایینردهی دسکتاپ در حدود ۴۵ وات توان طراحی حرارتی دارند. توان طراحی حرارتی در پردازندههای سرور نیز اندکی بیشتر از پردازندههای دسکتاپ است. دلیل تفاوت موجود در TDP دستگاههای یادشده، پیشتر نیز گفته شد. برای درک بهتر موضوع ذکر این نکته لازم است که پردازندههای بهکار رفته در دستگاههای مختلف روی صفحاتی با نام دای ساخته میشوند. در مبحث مدارات مجتمع، هر دای (die) یک بلوک کوچک از مواد نیمهرسانا است که مداری با کارکرد خاص، طی فرآیندی مانند فوتولیتوگرافی روی آن ساخته شده است. پردازندهها در دستگاههای قابل حمل، SoC هستند. به این معنی که بخشهای مختلفی اعم از پردازنده، پردازندهی گرافیکی، حافظه، کنترلر USB، مدارهای مدیریت مصرف انرژی و مودمهای بیسیم وایفای و شبکههای تلفن همراه در SoC در کنار هم تجمیع شدهاند. با این حال اندازهی کل دای در SoCها کوچکتر از پردازندههای کامپیوتر و سرور است. با درنظر گرفتن این نکته، حتی اگر لیتوگرافی به کار رفته در پردازندهها برابر بوده و تراکم ترانزیستورها برابر باشد، در اکثر موارد پردازندههای کامپیوتر تعداد بیشتری ترانزیستور دارند. در صورت برابر بودن اندازهی دایها نیز، باتوجه به کثرت قطعات در SoCها، تعداد ترانزیستورهایی که تنها برای پردازنده استفاده شدهاند، بسیار کمتر از پردازندههای کامپیوتر و سرور است.
برای مطالعه ی ادامه ی این مطلب اینجا کلیک کنید.