تبليغاتX
مقالات فناوری اطلاعات

اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط ميباشد

آرم وبلاگ
سلام دوست عزيز . من مرضيه دانشجوي مقطع كارشناسي فناوري اطلاعات هستم . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست .
به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد .
متشكرم

پیوندها
جستجوگر

طراح قالب

Powered By
BLOGFA.COM
لینک RSS
فركانس بالاتر يا هسته‌ي بيشتر ؟ مسأله اين است !

مقدمه

 

آيا يك پردازنده دو هسته‌اي با فركانس كاري 1.8 گيگاهرتز برابر با يك پردازنده‌ي تك هسته‌اي با فركانس كاري 3.6 گيگاهرتزي است ؟ آيا پردازنده‌ي دو هسته‌اي با فركانس كمتر ، قوي‌تر از پردازنده‌ي با فركانس بالاتر است ؟ اساس كار پردازنده‌ي دو هسته‌اي چيست ؟ سئوالاتي از اين قبيل هنوز هم در ذهن كاربران در هنگام خريد پردازنده مطرح مي‌شود . در اين مطلب سعي مي‌كنيم با توضيحاتي كوتاه ديد شما را نسبت به پردازنده‌هاي چند هسته‌اي بازتر كنيم .

 

پردازنده‌هاي چند هسته‌اي

 

در دنياي امروز و در صنعت ساخت پردازنده‌ها ، رقابت بر سر افزايش فركانس كاري متوقف شده و جنگ بر سر تعداد هسته‌هاي پردازشگر و ميزان كارايي آنها شكل گرفته است . در اين حالت تنها سازنده‌اي موفق است كه بتواند تعادلي مناسب بين سرعت كلاك و تعداد واحدهاي پردازشگر برقرار كند . به لطف تكنولوژي ساخت 90 نانو و يا 65 نانو پردازنده‌هايي با بيش از يك واحد پردازشگر ممكن شدند . پروسه‌هاي ساخت مذكور با كاهش اندازه‌ي سطح Die و نيز قابليت مديريت بهتر توان مصرفي و در نتيجه كاهش حرارت ايجاد شده ، تعداد بيشتري از واحد‌هاي پردازشگر را در پردازنده ممكن ساخته‌اند . هم اكنون نيز 4 واحد پردازشگر را در يك پردازنده ديده‌ايم و در آينده نيز قطعاٌ اين مقدار افزايش خواهد يافت . اما آنچه كه مهم جلوه مي‌كند اين است كه نرم‌افزارها چگونه مي‌توانند گذر از تك هسته‌اي به دو هسته و يا چهار هسته‌اي را پذيرفته و خود را با آن هماهنگ سازند .

در اين مطلب به بررسي اين موضوع پرداخته و گوشه‌اي از جريان پردازش موازي را مورد بررسي قرار مي‌دهيم .

در حالت ايده‌آل نرم‌افزاري را در نظر مي‌گيريم كه مي‌تواند از قابليت Multi-Threading به درستي استفاده كند . البته علت اينكه عبارت " به درستي " را بكار برديم در ادامه ارائه خواهد شد . بدين ترتيب اين نرم‌افزار مي‌تواند بار كاري خود را به چندين رشته‌ي قابل پردازش (Thread) بصورت كاملاٌ يكسان از لحاظ حجم كاري تقسيم كرده و آنها را براي پردازش به سمت هسته‌هاي پردازشگر ارسال كند . حال اين هسته‌هاي پردازشگر مي‌تواند در يك پردازنده بوده و يا تركيبي از چندين پردازنده باشد . بدين ترتيب هر رشته‌ي قابل پردازش را يك هسته‌ي پردازشگر مورد پردازش قرار داده و سرعت انجام كار افزايش مي‌يابد . بهتر است اين پروسه را با ذكر مثالي بيان كنيم .

بعنوان مثال عبارت محاسباتي زير را در نظر بگيريد :

(4+3)x(2+1)

اگر فرض كنيم هر عمليات رياضي در يك سيكل به انجام برسد آنگاه براي انجام اين عبارت به 3 سيكل كاري احتياج خواهيم داشت (با فرض پردازنده‌اي تك هسته‌اي ، اين عمليات در 3 سيكل كاري انجام مي‌گيرد) . اما اگر پردازنده دو هسته‌اي در اختيار داشته باشيم در يك سيكل بطور موازي محاسبه‌ي مقادير داخل پرانتز صورت گرفته و در يك سيكل ديگر نتايج داخلي دو پرانتز در هم ضرب مي‌گردند .

به عبارتي ديگر مي‌توان گفت پردازش نتيجه‌ي داخلي دو پرانتز در يك سيكل و بطور همزمان و موازي توسط دو هسته صورت مي‌گيرد و سپس عمل ضرب انجام مي‌پذيرد . ملاحظه مي‌كنيد كه در اين حالت فركانس كاري در جريان كلي كار در نظر گرفته نشده است . اين بدين معني است كه با افزايش تعداد هسته‌هاي پردازشگر به سبب خاصيت "پردازش موازي" كارايي و سرعت انجام كار افزايش مي‌يابد . كاملاٌ واضح است كه تعداد كارگرهاي بيشتر همواره از تعداد كارگرهاي سريع ولي كمتر ، پرسرعت‌تر است . به همين دليل در هنگام ورود پردازنده‌هاي دو هسته‌اي شاهد بوديم كه فركانس كاري آنها در مقايسه با پردازنده‌هاي تك هسته‌اي بطور قابل توجهي كاهش يافته بود .

يكي از مسائلي كه اكثر كاربران را دچار مشكل كرده بود كاهش فركانس كاري در پردازنده‌هاي دو هسته‌اي است . در واقع سؤال خيلي‌ها اين بود كه براي مثال ، پردازنده‌ي 3.6 گيگاهرتزي پنتيوم 4 قويتر است يا پردازنده‌ي 1.8 گيگاهرتزي Core 2 ؟

شايد با مثال بالا كمي شبهات برطرف شده باشد . البته تمام برتري پردازنده‌هاي دو هسته‌اي جديد به پردازش موازي آنها نيست اما مي‌توان گفت بارزترين علت اين برتري همين توانايي و قابليت پردازش موازي است .

اما اين قضيه تمام جريان نيست . با ورود پردازنده‌هاي چند هسته‌اي مشكلات و نقاط ضعف جديد مطرح شدند . در واقع هميشه ميزان بار كاري لازم براي استفاده از دو يا چهار هسته پردازنده وجود ندارد . همچنين در تقسيم و انتشار بار كاري بين هسته‌هاي پردازشگر نيز هنوز مكانيزم صحيحي ديده نمي‌شود . بعبارت بهتر واسط‌هاي فيزيكي (Hyper Transport در AMD و Front Side Bus در Intel) ممكن است سبب ايجاد گلوگاه در اين امر شوند . اگر به لايه‌هاي بالاتر نيز دقت كنيم سيستم عامل هم بعنوان فرستنده و توزيع كننده ، خود مي‌تواند سبب ايجاد گلوگاه گردد .

 

جدال نرم‌افزارها با پردازنده‌هاي چند هسته‌اي

 

در بخش قبلي اشاره كرديم كه يك نرم‌افزار در حالت ايده‌آل مي‌تواند به درستي از قابليت Multi-Threading بهره گرفته و توانايي پردازنده‌ي چند هسته‌اي را به طرز درستي مورد استفاده قرار دهد . بحث بر سر اين است كه اين استفاده‌ي درست از قابليت Multi-Threading چگونه است . به خاطر بياوريد زماني را كه پردازنده‌هاي دو هسته‌اي تازه به بازار عرضه شده بودند . در آن زمان بازي‌هاي وقت به خوبي بر روي پردازنده‌هاي تك هسته‌اي اجرا مي‌شدند اما بر روي پردازنده‌هاي دو هسته‌اي كمي با مشكل مواجه شده بودند . آنچه در زمان ورود پردازنده‌هاي دو هسته‌اي مطرح مي‌شد عدم توانايي نرم افزارها در استفاده از تمام قابليت‌هاي يك پردازنده دو هسته‌اي بود . چراكه نرم‌افزارها نمي‌توانستند باركاري خود را به رشته‌هاي قابل پردازش يكسان از لحاظ حجم كاري تقسيم كرده و بدين ترتيب سرعت انجام پردازش را افزايش دهند . در مقابل عبارت Multi-Threading مي‌توان مفهوم Multi-Tasking را مطرح كرد . بعنوان مثال استفاده از يك مرورگر براي ديدن صفحات اينترنتي و همزمان با آن گوش دادن به موسيقي ، مفهوم چند وظيفه‌اي را توجيه مي‌كند . جرياني كه پردازنده‌هاي دو هسته‌اي و يا چند هسته‌اي بخوبي از عهده‌ي آن برمي‌آيند . چراكه ديگر بحث بار كاري يك نرم‌افزار مستقل مطرح نيست . اما همانطور كه قبلاٌ اشاره كرديم Multi-Threading‌ بصورت ايده‌آل (حداقل در بين خيل زيادي از نرم‌افزارهاي فعلي) وجود ندارد . اما به نوعي هم گوشه‌اي از عمليات Multi-Threading ديده مي‌شود . براي مثال آنتي ويروسي را در نظر بگيريد . واسط گرافيكي اين آنتي ويروس را مي‌توان يك رشته‌ي قابل پردازش و دستور اسكن سيستم را رشته‌اي ديگر فرض كرد . اما آنچه مسلم است اين است كه حجم كاري اين دو رشته يكسان نيست و لذا Multi-Threading به معنا و مفهوم ايده‌آل خود اجرا نخواهد شد .

با توضيحات فوق مي‌توان به اين نتيجه رسيد كه يكي ديگر از عواملي كه قابليت‌هاي يك پردازنده‌ي چند هسته‌اي را محدود مي‌كند وجود نرم‌افزارهاي اين چنيني است . در واقع در هنگام اجراي يك نرم‌افزار آنتي ويروس و در كنار آن تماشاي يك DVD مي‌توانيد به افزايش كارايي سيستم خود پي ببريد (Multi Tasking) اما در هنگام اجراي يك نرم‌افزار بر روي پردازنده‌ي چند هسته‌اي خود شايد اين تفاوت را اصلاٌ احساس نكنيد .

توسعه‌ي نرم‌افزارها در حالت Multi-Threading ايده‌آل ، كار سختي است . در كنار كار سخت ، هزينه‌ي بالا نيز ناگذير خواهد بود . به همين دليل است كه هنوز اكثر نرم‌افزارها به اين سمت كشيده نشده‌اند . هرچند در بين بازي‌هاي جديد و به روز مواردي ديده مي‌شود كه سازندگان آنها توانايي پشتيباني از پردازنده‌هاي چند هسته‌اي را در ساختار اجرايي بازي لحاظ كرده‌اند .

 

سخن پاياني

 

همانطور كه ملاحظه كرديد پردازنده‌هاي دو هسته‌اي و نيز چند هسته‌اي از لحاظ سرعت انجام كار (بدون توجه به فركانس كاري) برتري خود خود را ثابت كرده‌اند . تنها عاملي كه مي‌توان در سطح كاربري آن را مهم دانست وجود نرم‌افزارهاي سازگار با پردازنده‌هاي چند هسته‌اي است . مشكلي كه در ابتداي ورود آنها ديده مي‌شد و به تدريج در حال رفع شدن است . در واقع سازندگان نرم‌افزار ناچار به پذيرش اين ساختار جديد هستند . تمام حالات فوق سبب نمي‌شود كه در خريد پردازنده‌هاي چند هسته‌اي شك كنيد ، چراكه در آينده‌اي نه چندان دور "پردازش موازي" و "پردازش چند وظيفه‌اي" مهمترين عوامل در پروسه‌ي پردازش خواهند بود. بنابراين اگر قصد خريد پردازنده‌اي چند هسته‌اي را داريد در مورد آن ترديد نكنيد . آينده از آن پردازنده‌هاي چند هسته‌اي است !

 

منبع : رايانه خبر

نوشته شده توسط: مرضيه در جمعه هجدهم مرداد 1387|+|
منوي اصلی
آرشیو
آمار وبلاگ
» تعداد بازدیدها:
» مرورگر:
امکانات اضافي

© All Rights Reserved by mrz-it2.Blogfa.com ©