تكنولوژی Hyper _ Threading

تكنولوژی Hyper _ Threading یك پردازنده فیزیكی را قادر می سازد كه دو كد مستقل را كه Thread نامیده می‌شوند ، به صورت همزمان اجرا كند (Thread بخشی از یك برنامه است كه مستقل عمل می‌نماید). یك پردازنده كه از …

تكنولوژی Hyper _ Threading یك پردازنده فیزیكی را قادر می سازد كه دو كد مستقل را كه Thread نامیده می‌شوند ، به صورت همزمان اجرا كند (Thread بخشی از یك برنامه است كه مستقل عمل می‌نماید).
یك پردازنده كه از تكنولوژی HT استفاده می‌كند، شامل دو پردازنده منطقی است كه هر كدام از این پردازنده‌های منطقی دارای حالت كاری Architectural State (AS) مخصوص به خود می‌باشند . این حالت كاری ASنامیده می‌شود. منظور از AS این است كه هر پردازنده منطقی ، شامل رجیسترهای همه منظوره مخصوص به خود است. ضمناً هر پردازنده منطقی در حالت AS دارای كنترل كننده پیشرفته قابل برنامه ریزی وقفه Advanced programmable interrupt Controller (APIC) مخصوص به خود است. همچنین هر دو پردازنده منطقی در اصل بر روی یك چیپ قرار گرفته و كامپیوتر یك پردازنده فیزیكی دارد . برخلاف پیكربندی Dual Processor (DP) كه مبتنی بر دو پردازنده مستقل فیزیكی است ، پردازنده منطقی در یك پردازنده فیزیكی مبتنی بر تكنولوژی HT ، منابع اجرایی هسته پردازنده را بصورت اشتراكی استفاده نمی‌كند. این منابع شامل موتور اجرایی، حافظه‌های نهانی ، واسط گذرگاه سیستم و نرم‌افزارهای قرار داده شده در حافظه Rom می‌باشند. سیستم‌های عاملی كه ماهیت Multi_Thread دارند، قابلیت بهره برداری از تكنولوژی HT را نیز دارا می‌باشند. در عین حال در طراحی پردازنده ، ویژگی‌های فركانس بالا ، تكنیك دستورات موازی هم سطح و حافظه نهان اهمیت بسیار زیادی دارند . در حقیقت فركانس بالا باعث افزایش كارآیی می‌شود. بدین صورت كه با فركانس بالا ، تعداد دستوراتی كه در یك ثانیه اجرا می‌شوند. افزایش می‌یابد. تكنیك ILP نیز جهت افزایش تعداد دستورات اجرا شده در یك سیكل ساعت به‌كار می‌رود . به عنوان مثال ، یك پردازنده سوپر اسكالر (یك نوع ویژگی كه سبب می‌شود كی پردازنده چند دستور را به طور همزمان در یك پالس زمانی اجرا كند) دارای چند واحد اجرایی موازی می‌باشد. با اجرای سوپر اسكالر ، چند دستور می توانند با یك سیكل ساعت اجرا شوند . هر چند در این حالت كارآیی بهتر شده است ، ولی برای واحدهای اجرایی چندگانه ، این افزایش كارآیی مناسب نیست . توجه داشته باشید در این حالت روش اجرایی بصورت in_order است. بنابراین مهمترین هدف ، رسیدن به اجرای دستورات كافی برای واحد های اجرایی چندگانه است . یك روش نیز به صورت out_of_order است كه پنجره بزرگی از دستورات بصورت همزمان ارزیابی شده و به واحد های اجرایی فرستاده می شوند . این روش بر پایه وابستگی دستورات در مقابل اولویت برنامه طراحی شده است. از سوی دیگر دسترسی به حافظه های DRAM به قدری كند است كه قابل مقایسه با سرعت اجرایی پردازنده نمی‌باشد. در اینجا یك تكنیك برای كاهش تاخیر زمانی حافظه ، اضافه نمودن حافظه نهان به پردازش است . حافظه های نهان قابلیت دسترسی سریع به داده یا دستور را دارند. البته حافظه‌های نهان هنگامی سریع هستند كه ظرفیت پائینی داشته باشند (در غیر این صورت ، با افزایش غیر منطقی حافظه نهان و میزان بالای مراجعات پردازنده به آن ، راندمان سیستم و كارایی پردازنده افول می‌كند). بنابراین پردازنده‌ها اغلب با ساختاری تهیه می شوند كه حافظه نهان در این ساختار ظرفیت كم دارد و باعث كاهش تاخیر زمانی حافظه و افزایش عملكرد هسته پردازنده می‌شود. همچنین بكارگیر تكنیك‌های فوق برای افزایش عملكرد پردازنده از یك نسل به نسل دیگر پیچیده بوده و اغلب باعث افزایش اندازه Die پردازنده و توان مصرفی می‌شود. ضمناً توجه داشته باشید كه دو برابر كردن واحدهای اجرای باعث دو برابر شدن كارآیی نمی شود و به همین صورت دو برابر كردن نرخ فركانس ساعت پردازنده نیز باعث دو برابر شدن كارآیی نمی شود. با توجه به توضیحات ارائه شده ، در صورت نصب یك پردازنده Pentium ۴ كه از تكنولوژی HT استفاده می نماید ، آن هم بر روی یك برد اصلی كه قابلیت پشتیبانی از HT را داشته باشد ، هنگام boot شدن كامپیوتر ، دو پردازنده تشخیص داده می‌شود. ضمن اینكه سیستم عامل های Windows XP یا RedHat نیز دو پردازنده تشخیص می‌دهند. همچنین شركت اینتل در طراحی پردازنده Pentium ۴ از دو تكنولوژی PAT و Extreme Graphic ۲ جهت افزایش كارآیی پردازنده استفاده نموده است.