رفتن به مطلب

پاسخ به اصول کار تکنولوژی Hyper-Threading


Recommended Posts

کی از تکنولوژی های نسبتا قدیمی ولی کارآمد پردازنده های اینتل تکنولوژی Hyper-Threading است که در این مقاله قصد بررسی آن به صورت پایه و اصول آن را داریم.

02-12-07-hyperthreading1.jpg

اصول کار تکنولوژی Hyper-Threading

سوالی که اول از همه در ذهن ما پیش می آید این است که HT یا همان Hyper-Threading دقیقا چه تاثیری در پردازش دارد ؟ آیا تاثیر آن به این اندازه هست که ما یک مقاله را به آن اختصاص بدیم ؟‌ قبل از پاسخ به این مسائل باید به نحوه کارکرد برنامه ها و پردازشگرهای معمولی پرداخت تا کامل متوجه موضوع شوید ...

پردازنده های جدید تنها توانایی سروکارداشتن با یک دستورالعمل از یک برنامه در نقطه خاصی از زمان دارند. این اطلاعات که به پردازنده فرستاده می شوند Thread یا همان رشته نام دارند. چیزی که در اینجا من قصد گفتنش را دارم این است که چیزی که شما به عنوان Multi-Tasking می شناسید یا به عبارت دیگر اجرا بیشتر از یک برنامه در یک زمان واقعا درست نیست و این عمل رخ نمی دهد.

در واقع پردازشگر با تقسیم زمان و پاور میان برنامه ها و تعویض آن میان برنامه ها من و شما را فریب داده و شما فقط احساس Multi-Tasking را دارید .

اما قضیه در پردازنده (‌CPU)‌ های دو هسته ای متفاوت است و توانایی کار بر روی 2 رشته از نرم افزار را دارند ولی باز هم این مشکل وجود دارد که هر پردازشگر در آخر محدود به کار بر روی یک رشته در یک زمان است ! و این مشکل زمانی حل می شود که نرم افزار توانایی جداسازی آن را به دو قسمت داشته باشد که بتواند آن را در یک واحد زمانی در دو پردازنده پردازش کند که هر روز بر تعداد این برنامه ها زیاد می شود.

اصول کار Hyper-Threading

پردازنده اینتل Pentium 4 3.06 Ghz اولین پردازنده ای بود که توانایی پردازش دو رشته مستقل را در یک زمان داشت. این کار با (SMT (Multi-Thread Simultaneous یا کار بر روی چندین رشته در یک زمان قابل انجام است و در صورتی که سیستم عامل این امکان را داشته باشد پردازنده در واقع به دو پردازنده منطقی تقسیم می شود که هر دو از یک منبع که آن پردازنده فیزیکی است بهره می برند. یا به زبان دقیق تر با تکنولوژی Hyper-Threading شما می توانید با داشتن یک پردازنده فیزیکی یا برای مثال همان Intel P4 3.06 Ghz پردازنده خود را به دو قسمت منطقی تقسیم کنید و از آن ها بهره ببرید که در این حالت شما توانایی پردازش دو یا چندین رشته را در یک زمان خواهید داشت.

02-12-07-hyperthreading2.gif

با استفاده از این تکنولوژی هیچ گاه لود پردازنده شما به 100 % نمی رسد چراکه با HT شما همیشه توانایی رفتن به پردازش محاسبات دیگری در آن واحد را دارید.

02-12-07-hyperthreading3.gif

همان گونه که در بالا مشاهده می کنید در یک پردازنده معمولی ( Super Scalar ) زمانی که پردازنده به صورت کامل مشغول پردازش اطلاعات می باشد چیزی حدود 50 درصد آن استفاده نشده و به کار گرفته نمی شود! در قسمت Multi-Processing نیز با وجود اینکه دو پردازنده در حال پردازش دو رشته مستقل هستند باز هم چیزی حدود 50 درصد از آن استفاده نمی شود.

ولی در قسمت Hyper-Threading به این گونه است که یک پردازنده در حال کار بر روی دو رشته در یک زمان می باشد و کارایی CPU چیزی حدود 50 الی 90 درصد افزایش می یابد و واحدهای اجرایی تقریبا همگی در حال کار هستند.

و در آخرین قسمت که در عکس مشاهده می شود استفاده از یک پردازنده دو هسته ای با تکنولوژی Hyper-Threading است که در این حالت توانایی استفاده از چهار رشته مستقل را در آن واحد دارید و به بیان دیگر شما دارای 4 پردازشگر منطقی و دو پردازشگر فیزیکی هستید.

البته در پردازش بعضی از واحدها، واحدهای اجرایی تداخل پیدا کرده و این کار باعث افزایش سرعت پردازنده نمی شود چرا که پردازنده باید برای جداسازی آن ها باید هر کدام یک بار پردازش کند. با این وجود در صورتی که سیستم عامل ها پشتیبانی بیشتری از این تکنولوژی کنند و کمپانی های نرم افزاری نیز نرم افزارهای خود را بر پایه و اساس این تکنولوژی بنویسند شما خواهید دید که با Hyper-Threading توانایی مشاهده سرعت و قدرت پردازش بسیار بالاتری هستید. به خصوص زمانی که شما در حال اجرا دو برنامه کاملا متفاوت هستید که هیچ گونه تداخلی با هم ندارند. همان گونه که در بالا ذکر شد در صورتی که برنامه ها و سیستم عامل ها توانایی پشتیبانی کامل از HT را نداشته باشند در برنامه هایی که SMT در آن ها کار نمی کند کارایی سیستم از یک پردازنده معمولی نیز پایین تر است ! اما خبر خوشحال کننده اینکه سیستم عامل لینوکس، XP و ویستا هر سه به صورت کامل از این تکنولوژی پشتیبانی می کنند.

نویسنده : شهریار بارانی

منبع: شهر سخت افزار

http://www.shahrsakhtafzar.com/forum/showthread.php?t=7449

لینک به دیدگاه
Share on other sites

بطور خلاصه میشه گفت یک CPU تک هسته ای رو بصورت مجازی 2 هسته ای در نظر میگیره تا کارآیی بهتری رو بتونه ازش بگیره

ممنون از YeMojuD جان بابت مطلب کاملشون در باره این تکنولوژی

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...