Hyperthreading Technology အကြောင်းသိကောင်းစရာ
CPU ကို အလုပ်တစ်ခုထက်ပိုပြီး များစွာသော အလုပ်တွေကို တပြိုင်တည်းလုပ်ဆောင်နိုင်စေဖို့
ထုတ်လုပ်လိုက်တဲ့ နည်းပညာ ဖြစ်ပါတယ်။
Super-threading ကို အဆင့်မြင့်ပြီးထုတ်လုပ်လိုက်ခြင်း ဖြစ်ပါတယ်။ Hyperthreading နည်းပညာအရ
Physical တွင် processor တစ်ခုသာရှိသော်လည်း Operation System က processor နှစ်ခုရှိတယ်လို့
ထင်ယောင်ထင်မှားဖြစ်ပါတယ်။ အဲလို ထင်ယောင်ထင်မှားဖြစ်တဲ့ virtual processor ကို
အလုပ်လုပ်တဲ့အခါ မျှဝေသုံးစွဲနိုင်ပါတယ်။
Hyperthreading မတိုင်မီက Processor တွေမှာ Clock Speed ကိုသာ မြန်နိုင်သမျှမြန်အောင်
ထုတ်လုပ်ကြတာပါ။ ပြီးတော့ Instruction တွေကို တစ်ပြိုင်နက်ပေးနိုင်အောင် ပြီးတော့
တပြိုင်နက်တွက်ချက်ပေးနိုင်အောင် ပြုလုပ်လာကြတယ်။ Instructions တွေကို တစ်ပြိုင်နက်တည်း
တွက်ချက်နိုင်ဖို့အတွက် CPU ထဲမှာ တွက်ချက်တဲ့ Unit (Execution Unit) တွေ
အများကြီးထည့်ထားရတာပေါ့။ အဲဒီလို Instruction တွေ တစ်ပြိုင်နက် အလုပ်လုပ်လို့ရတဲ့ နည်းပညာကို
ILP(Instruction Level Parallism) လို့ ခေါ်ပါတယ်။ Clock Circle တစ်ခုစီတိုင်းမှာ ပုစ္ဆာအများကြီးကို
တပြိုင်နက်တည်းဖြေရှင်းပေးနိုင်ဖို့ ရည်ရွယ်တာပါ။
ဒီနေရာမှာ Clock Circle ဆိုတာကို နည်းနည်းဖြတ်ပြီး ရှင်းပြချင်ပါတယ်။ Clock Circle ဆိုတာ CPU
ရဲ့အမြန်နှုန်းကို တိုင်းတာတဲ့ Unit ဖြစ်ပါတယ်။ တစ်စက္ကန့်မှာ Circle ပေါင်း ဘယ်လောက်သွားနိုင်သလဲ
ဆိုတာကို တိုင်းတာတာပါ။ သူ့ရဲ့ Unit ကတော့ Hartz(Hz) ပါ။
Instruction တွေအများကြီးကို တစ်ပြိုင်နက် ဖြေရှင်းပေးနိုင်တဲ့ Execution Unit တွေ
အများကြီးထည့်ထားတာတော့ ဟုတ်ပါပြီ။ Instruction တစ်ခုတည်းပေးမယ်ဆိုရင်ရော။
ပြသနာတော့တက်ပြီ။ Execution Unit အများကြီးက Instruction အများကြီးကို အမြဲတမ်းလိုနေတော့မှာလေ။ ပြီးတော့ နောက်တစ်ခုရှိသေးတယ်။ Execution Unit တွေ အများကြီးနဲ့ Processor က
တစ်ပြိုင်နက်တည်းအလုပ်လုပ်လိုက်တာ RAM ကပေးသမျှ Instruction တွေ ကုန်ပါလေရော။ RAM သည်
CPU လောက်မမြန်တဲ့အတွက် နောက်ထပ် Instruction တွေထပ်ပေးဖို့ နောက်ကျနေတာပေါ့။ အဲဒီအတွက်
CPU နဲ့ RAM ကြားမှာ Cache Memory ဆိုတာ ထည့်ပြီးသုံးရ ပြန်ပါတယ်။ Cache ဆိုတာ အလွယ်နည်းနဲ့
မှတ်ရင်တော့ CPU ရဲ့ ဧည့်ခန်းလို့ မှတ်လို့ရပါတယ်။ သူက RAM ကလာတဲ့ Instructions တွေကို
ကြိုပြီးစီထားပေးတယ်။ CPU ကထွက်လာတဲ့ Result တွေကိုလည်း RAM ကလက်မခံနိုင်သေးတဲ့
အချိန်အတွင်းမှာ ခဏသိမ်းထားပေးမယ်။ RAM ကသူ့အလုပ်တွေ ပြီးလို့ Results တွေယူတော့မယ်ဆိုတဲ့
အချိန်မှာ Cache ကနေ လှမ်းယူလိုက်လို့ရပါတယ်။ CPU က လိုအပ်တဲ့ အချိန်မှာလည်း Instruction တွေကို
ထုတ်ပေးနိုင်ပြီပေါ့။ အဲ ပြောပြချင်တာတွေက များလွန်းလို့ ချော်ကုန်ပြီ။
အပေါ်မှာ ပြောထားတဲ့ ILP စနစ်ဆိုတာ CPU တစ်လုံးထဲမှာ မြန်အောင်လုပ်တဲ့ စနစ်ပါ။ Intel က
နောက်တစ်မျိုးစဉ်းစားလိုက်ပြန်တယ်။ အကယ်၍ CPU နှစ်လုံးထည့်မယ်ဆိုရင်ရော ပိုမမြန်နိုင်ဘူးလား။
အဲဒီအတွေးကနေ စပြီး TLP(Thread-Level-Parallism) နည်းပညာ ပေါ်ထွက်လာခဲ့ပါတယ်။ CPU
တစ်လုံးတည်းမှာ CPU တစ်လုံးထက်ပိုပြီး အသုံးပြုထားတဲ့ နည်းပညာပါ။ အရင်ကတော့ Multi-threading
တို့ Super-threading တို့လို့ အမည်တွင်ခဲ့ပါသေးတယ်။ Hyper Threading မတိုင်မီ TLP နည်းပညာကို
အခြေခံထားတဲ့ Processor နည်းပညာ အမျိုးမျိုး ပေါ်ခဲ့ပါသေးတယ်။
Hyperthreading သည်လည်း TLP နည်းပညာကနေ ဆင်းသက်လာတာမို့ Physical Processor
တစ်လုံးကနေ Logical Processor နှစ်လုံးစာ အလုပ်လုပ်ပါတယ်။ Logical Processor ကို တကယ့် CPU ရဲ့
Architecture State အတိုင်းတည်ဆောက်ထားတာပါ။ Logical Processor ဆိုတာကို
နည်းနည်းပြောချင်ပါတယ်။ Architecture State အတွင်းမှာ Register တွေ ပါဝင်ပါတယ်။ မူလ
Architecture State အတွင်းမှာရှိတဲ့ Registers တွေအတိုင်း နောက်တဆတိုးလိုက်မယ်ဆိုရင် နောက်ထပ်
Architecture State တစ်ခု ထပ်ရတာပေါ့။ Architecture State နှစ်ခုရှိတဲ့ CPU သည် ရိုးရိုး CPU နှစ်လုံးနဲ့
ညီမျှပါတယ်တဲ့။ ဒီလိုနဲ့ Logical Processor နှစ်လုံးဖြစ်ပေါ်လာပါတယ်။ ဒီ Logical Processor နှစ်လုံးကနေ
Physical အရတည်ရှိနေတဲ့ Execution Unit တွေ အပါအဝင် အခြား Resources တွေကို
ခွဲဝေသုံးစွဲပါတယ်။ Resourses တွေဆိုတာက Cache တွေ၊Execution Units တွေ Control Logic တွေ၊
Buses စတာတွေကို ပြောတာပါ။
ILP နည်းပညာမှာတုန်းကလို Instruction လိုနေတဲ့ ပြဿနာတွေ မရှိတော့ပါဘူး။ Software အမြင်နဲ့
ကြည့်မယ်ဆိုရင်တော့ OS ရဲ့ အလုပ်တွေ၊ User Program ရဲ့အလုပ်တွေကို Logical Processor
နှစ်လုံးကနေ ခွဲပြီးတော့ အလုပ်လုပ်တယ်လို့ မြင်ရပါမယ်။ CPU အမြင်နဲ့ ကြည့်မယ်ဆိုရင်တော့
Instructions တွေကို Logical Processor နှစ်လုံးကနေပြီးတော့ Execution Unit တွေ ခွဲဝေအသုံးပြုပြီး
အလုပ်လုပ်တယ်လို့ မြင်ရပါမယ်။ ဒီနည်းပညာကို နားလည်အောင် အောက်မှာ ပုံနှင့်တကွ
ရှင်းပြထားပါတယ်။
Hyperthreading Technology နဲ့ အလုပ်လုပ် နိုင်ဖို့အတွက် CPU ကလည်း Hyperthreading
ဖြစ်ရပါမယ်။ Operating System ကလည်း Hyperthreading နည်းပညာကို Support
လုပ်ပေးနိုင်ရပါမယ်။ ဥပမာ- Windows 2000 ဆိုရင် Hyperthreading Technology ကို Support
မလုပ်ပါဘူး။ Motherboard ကလည်း Hyperthreading Technology ကိုလက်ခံနိုင်ရပါမယ်။
Hyperthreading Technology ရဲ့ အားသာချက်တွေကတော့ -
၁။ Instruction တွေအများကြီးကို တစ်ပြိုင်နက်နီးပါးမှာ လက်ခံနိုင်ပါတယ်။
၂။ Instruction တွေက ပေးလာတဲ့ ခိုင်းစေမှု အများကြီးကို တစ်ပြိုင်နက်တည်းမှာ
တွက်ချက်အဖြေထုတ်ပေးနိုင်ပါတယ်။
၃။ Process လုပ်တဲ့အချိန် မြန်လာသလို အဖြေပြန်ထုတ်ပေးနိုင်တဲ့ အချိန်လည်း မြန်လာပါတယ်။
HT ကို အခြေခံပြီးတော့ ပိုပြီးမြန်ဆန်တဲ့ Processor နည်းပညာတွေ ပေါ်ထွက်လာပါတယ်။ ပိုပြီး
လည်းမြန်လာမယ်၊ ပိုပြီးလည်း စျေးသက်သာလာမယ်၊ ပိုပြီးလည်း Power အစားနည်းလာမယ်ဆိုတဲ့ CPU
ရဲ့ အနာဂတ်အတွက် HT သည် ကြီးမားသောပြောင်းလဲမှုကို ဖြစ်ပေါ်လာစေပါတယ်
Comments
Post a Comment