چگونه یک مقایسه خوب بین دو پردازنده داشته باشید
|
Click this bar to view the full image. |
پردازنده ها امروزه یکی از مهم ترین قطعات در گجت هایمان هستند. افرادی که مرتبا اخبار سخت افزاری را دنبال می کنند و با اصطلاحات این عرصه آشنایی دارند، می دانند که فاکتور های بسیار زیادی در یک مقایسه خوب بین دو قطعه سخت افزاری دخیل هستند. اما اگر شما از افرادی هستید که دقیقا این فاکتور ها را نمی شناسید و نمی دانید که شامل چه چیز هایی هستند، این مقاله برای شماست. چرا که آشنا شدن با این فاکتور ها، شما را در یک قضاوت مناسب بین دو پردازنده یاری داده و در نهایت منجر می شوند که به یک خرید مناسب دست بزنید. البته توضیحات را دستکم نگیرید، چرا که با فرا گرفتن آن ها و کمی پی گیری، می توانید به یک کارشناس در زمینه پردازنده ها تبدیل شوید!
اگر به دانش بیشتر در زمینه پردازنده ها علاقه مندید، در ادامه مطلب همراه ما باشید.
- سرعت کلاک:
|
Click this bar to view the full image. |
این چیزی است که بدون شک هر کسی با آن آشنایی دارد. از هر کسی درباره پردازنده کامپیوتر یا موبایل یا تبلت اش بپرسید، بلافاصله به شما سرعت کلاک را تحویل می دهد. اما مشکل این جاست که خیلی از افراد فکر می کنند سرعت کلاک همه چیز است. یعنی فاکتور های دیگر را در نظر نمی گیرند. این در حالی است که همین سرعت کلاک ساده هم بازیگران مهمی دارد.
مهمترینِ این بازیگران، خانواده و معماری پردازنده است. واقعیت این است که وقتی سرعت کلاک را در دو پردازنده با معماری یکسان مقایسه می کنید، به رقمی واقعی و دقیق می رسید. اما اگر سرعت کلاک را بین دو خانواده متفاوت مقایسه کنید، دیگر نمی توانید به همان شفافی قضاوت کنید. در اینجاست که فاکتوری به نام Instruction Per Second به میدان می آید. این مقدار برای هر خانواده متفاوت است و از تعداد دستور العمل هایی که پردازنده در هر سیکل کلاک می تواند انجام دهد منشاء میگیرد. پردازنده های خانواده A8، از پردازنده های پر کاربرد در موبایل ها هستند. البته اکنون بهتر است بگوییم : بودند! این پردازنده ها ۲۰۰۰ MIPS را به ازای یک گیگاهرتز ارائه می دادند. یعنی در هر سیکل کلاک می توانستند ۲ دستور العمل را پردازش کنند. اما پردازنده های A9 که امروزه در چیپ تگرا 2 به کار می روند، می توانند در هر سیکل کلاک ۲.۵ دستورالعمل را پردازش کنند. پس IPS آن ها برابر ۲۵۰۰ میلیون به ازای یک گیگاهرتز است.
حالا اگر در دو پردازنده A8 و A9 با فرکانس یک گيگاهرتز، فقط سرعت کلاک ها را با هم مقایسه کنید، احتمالا می گویید: خب هر دو که یک گیگاهرتزی هستند! در حالی که تفاوت بین آن ها ۵۰۰ میلیون دستور العمل در ثانیه است!
- تعداد هسته ها و ترید ها:
|
Click this bar to view the full image. |
این یک امر واضح و بدیهی است که پردازنده ۱ گیگاهرتزی ۴ هسته ای، بهتر از مدل ۲ هسته ای است. گرچه به نظر ساده می آید اما این همه چیز نیست. اگر یک پردازنده ۴ هسته ای با کلاک ۲.۵ گیگاهرتز داشته باشیم، با جمع زدن کلاک هسته ها به عدد ۱۰ گیگاهرتز دست پیدا می کنیم. حال اگر این پردازنده، بازدهی معادل خانواده A9 داشته باشد (فرضا)، یعنی می تواند در هر ثانیه ۲۵ میلیارد دستور العمل را پردازش نماید. اما می بینیم که همیشه این گونه نیست! چرا؟ زیرا به نرم افزار بستگی دارد.
مبحث دیگر هم تعداد ترید هاست. ترید ها را به نوعی می توان هسته های مجازی یک پردازنده نام گذاری کرد. پردازنده ای که یک هسته و دو ترید داشته باشد، می تواند تا حدی شبیه به یک پردازنده دو هسته و دو ترید (هر هسته یک ترید) عمل کند! البته باید توجه داشت که بازدهی دو هسته و دو ترید غالب است. به چند دلیل فنی که فعلا وارد آن ها نمی شویم.
در سیستم عامل ها و برنامه ها نیز فاکتوری به نام Thread یا رشته پردازشی مطرح است. هر عملیات به یک رشته پردازشی مشخص سپرده می شود و برنامه ای می تواند از تمام توان یک پردازنده ۴ تریدی استفاده کند، که خود را بر ۴ ترید منطبق ساخته باشد. بنابر این اگر حتی یک پردازنده یک میلیون هسته ای با فرکانس ۲.۵ گیگاهرتز را به یک برنامه تک تریدی اختصاص دهید، خواهید دید که مثل یک پردازنده تک هسته ای با همین فرکانس عمل خواهد کرد. (با فرض این که IPS ها برابر باشند) ضمنا بدانید که بحث ترید خیلی پیچیده تر از این هاست. این یک مثال ساده بود و در سیستم عامل هایی مثل: ویندوز، مک و ... مدیریت ترید ها کاری بسیار پیچیده تر از این هاست و علاوه بر ترید های سخت افزاری، ترید های نرم افزاری هم با آرایشی خاص به میدان می آیند تا عملکرد را بهبود ببخشند. مثلا ممکن است روی یک ترید سخت افزاری (در پردازشگر)، ۱۰ ترید نرم افزاری کوچک اجرا شود!
حالا شاید این سوال به ذهنتان بیاید که چرا به جای پخش ۱۰ گیگاهرتز روی ۴ هسته، آن را به یک هسته نمی سپارند؟ می توان دو دلیل مهم به عنوان پاسخ عنوان کرد. اول این که ساخت هسته ای با کلاک ۱۰ گیگاهرتز، عملا کاری وحشتناک سخت و گران قیمت و پر مصرف است! چون بافر بسیار زیادی را طلب می کند. افزون بر این باید سایر قطعات مثل کش هم بتوانند با این کلاک بالا منطبق شوند که این خود پیچیدگی قضیه را دو چندان می کند.
دلیل دوم عملیات موازی است. واقعیت این است که یک الگوریتم به ندرت تمام توان پردازنده را طلب می کند. اگر هم طلب کند، پردازش موازی خللی در فرایند ایجاد نخواهد کرد. اما در نظر بگیرید که 4 برنامه می خواهند کار های ((نسبتا سنگینی)) را انجام دهند. در حالت تک هسته ای باید ۳ برنامه در صف بمانند تا کار یک برنامه تمام شود. و به این ترتیب زمان زیادی طول خواهد کشید تا کار همه برنامه ها تمام شود. اما در حالت چند هسته ای (یا چند تریدی) برنامه ها می توانند به طور موازی و همزمان پردازش گردند.
جالب است بدانید که نوشتن و توسعه برنامه های مولتی ترید، در ویندوز سخت تر از مک است و با مشکلات بیشتری نیز رو به روست. وارد بحث های فنی نخواهیم شد اما در ویندوز مولتی ترید کردن برنامه ها افزون بر دشواری، در صورت کم توجه می تواند خلل های امنیتی ایجاد کند. در مک، به واسطه تکنولوژی Grand Central Dispatch علاوه بر قابلیت توسعه آسان این گونه برنامه ها، سیستم عامل هم عملکرد بهتری در مواجه شدن با مولتی تریدینگ دارد. به هر حال توسعه دهنده ها همواره می توانند با مولتی ترید کردن برنامه هایشان، عملکرد آن ها را بهبود بخشیده و چند تسک را به طور همزمان انجام دهند.
- میزان Cache:
|
Click this bar to view the full image. |
کش یا حافظه نهان، فاکتور بسیار مهمی در پردازنده ها به شمار می رود. نحوه کار به این صورت است که اطلاعات نخست از هارد شما به رم منتقل شده و سپس از رم به کش پردازنده منتقل می شوند. ظرفیت بالاتر کش، یعنی کش به دفعات کمتری پر می شود و همین هم یعنی تاخیرات پردازنده کمتر خواهد شد. علاوه بر این، کش های با گنجایش بالاتر، در صف بندی داده ها برای پردازش بهتر عمل می کنند.
- 64bit یا 32bit، مساله این است:
شاید به گوشتان خورده باشد که فلان سیستم عامل ۶۴ یا ۳۲ بیتی است. باید بدانید که این در پردازنده ها هم نقش مهمی بازی می کند. پردازنده ها در دو نوع x64 (شصت و چهار بیتی) و x86 ( سی و دو بیتی) ارائه می شوند. البته سری جدید پردازنده ها اکثرا ۶۴ بیت هستند. اما اپلیکیشن ها هم باید ۶۴ بیتی باشند تا بتوانند از تمام مزیت این گونه پردازنده ها استفاده کنند. اما مزیت اپلیکیشن های ۶۴ بیت چیست؟
هر برنامه ای می تواند مقدار مشخصی از حافظه رم را آدرس دهی کند و به آن دسترسی داشته باشد. برنامه های ۳۲ بیتی فقط قادر به آدرس دهی ۴ گیگابایت رم به طور همزمان هستند. اما پردازش ۶۴ بیتی این محدودیت را می شکند. از نظر تئوری، برنامه های ۶۴ بیتی می توانند ۱۶ میلیارد گیگابایت یا به عبارتی، ۱۶ اگزابایت را آدرس دهی کنند. پس این تکنولوژی حالا حالا ها از میان نخواهد رفت.
- معماری:
فرق بین پردازنده ای با معماری ۴۵ نانومتری با نسخه ۳۲ نانومتری آن چیست؟ مسلما گرمای کمتر و ترانزیستورهای کوچکتر و مصرف انرژی کمتر از فرق های عمده هستند. گرمای کمتر یعنی پایداری بیشتر و عملکرد بهتر. ترانزیستور های کوچکتر، یعنی ترانزیستور های بیشتر! چون در صورت کوچک تر بودن معماری می توان ترانزیستور های بیشتری را روی یک چیپ جاداد و همین هم یعنی IPS بالاتر. زیرا ترانزیستور ها نقش مهمی در پردازش اطلاعات دارند. مصرف انرژی کمتر نیز که در نوع خود، عالی و قابل ستایش است. البته بیشتر شدن تعداد ترانزیستور ها به میزان زیاد، ممکن است موجب شود که مصرف انرژی کاهش قابل توجهی نداشته باشد.
- سخن آخر:
این ها مهم ترین تکنولوژی هایی بود که در همه پردازنده ها مشاهده می شوند و نقش بسزایی در عملکرد نهایی آن ها دارند. موارد دیگری هم هستند که در مقایسه بین دو پردازنده نقش بازی می کنند. اما اشاره به آن ها باعث فنی و پیچیده شدن مطلب می شد.
مثلا FSB که به تازگی با QPI جایگزین شده است و این در حالی است که شرکت AMD از سال ها قبل آن را با Hyper Transport تعویض کرده بود. حال اگر بخواهیم آن را توضیح دهیم باید هم به QPI و هم به HT بپردازیم، هم به معماری این دو رجوع کنیم و تفاوت ها و عیب و نقص هر یک را بگوییم. که این ها در این مطلب نمی گنجد. ولی بدیهی است که ورژن بالاتر HT و میزان بالاتر QPI، بهتر خواهد بود!
حال شما می توانید به راحتی بین هر چند پردازنده ای که دوست داشتید مقایسه کنید و بتوانید بهترین آن ها را برای خودتان برگزینید.