အခမဲ့ သင္တန္းမ်ား
A+(Hardware) Chapter 10.3(အပတ္စဥ္ ၁)
South-Bridge chipset
“Core i” series
processor ေတြအတြက္ အသံုးျပဳရတဲ့ chipset ေတြအေၾကာင္း မသြားခင္ ဒီေနရာကေန
တစ္ျဖတ္ျဖတ္ၿပီး ေဖာ္ျပခဲ့ၿပီးတဲ့ north-bridge ေတြနဲ႔တြဲဖက္ရမယ့္
south-bridge ေတြကိုစုစည္း ေဖာ္ျပလိုပါတယ္။ ေရွ႕မွာေျပာခဲ့ သလိုပါပဲ။
south-bridge ေတြဟာ north-bridge ေတြေလာက္ေတာ့ အမ်ိဳးအစား မမ်ားပါဘူး။ 810၊
815 စသျဖင့္ north-bridge အမ်ိဳးအစားေတြ ကြဲသြားေပမယ့္ south-bridge
တစ္မ်ိဳးတည္းကေန north-bridge အေတာ္မ်ားမ်ားကို support လုပ္ၿပီး
တြဲဖက္သံုးႏိုင္တယ္ဆိုတဲ့ အခ်က္ေၾကာင့္ ျဖစ္ပါတယ္။
Core i processor တို႔အတြက္ အသံုးျပဳေသာ chipset မ်ား
5x series chipset ေတြဟာ Core i processor (ဥပမာ-Core i7, Core i3, Core
i5) ေတြအတြက္ ျဖစ္ပါတယ္။ 5x series ထဲမွာမွ socket-1366 ကို support
လုပ္တဲ့ chipset ေတြနဲ႔ socket-1155 ကို support လုပ္တဲ့ chipset ဆိုၿပီး
ႏွစ္မ်ိဳးကြဲ ေနပါေသးတယ္။ ဒီ processor နဲ႔ chipset
ေတြဟာေရွးကထြက္ရွိခဲ့တဲ့ processor ေတြ၊ chipset ေတြနဲ႔ မတူပဲ
ကြဲျပားပါတယ္။
ေျပာရရင္ Core i ေတြဟာေရွ႕ကနဲ႔ မတူေတာ့ပဲ CPU ထဲမွာ
Core ေတြ အမ်ားႀကီးပါသလို L3-cache ဆိုတာလည္း ထပ္ၿပီးထည့္သြင္းထားပါေသးတယ္။
အဓိကထူးျခားခ်က္က memory controller ကို CPU ထဲထည့္သြင္းလာတာရွိသလို
memory နဲ႔ graphic controller ႏွစ္ခုစလံုးကို CPU ထဲထည့္သြင္းတည္ေဆာက္
လာတာမ်ိဳးလည္း ရွိပါေသးတယ္။ အဲဒီလို processor နည္းပညာ ေျပာင္းသြားတဲ့
အတြက္ သူတို႔နဲ႔ တြဲဖက္အသံုးျပဳရမယ့္ chipset ေတြရဲ႕တည္ေဆာက္ပံုနဲ႔
အလုပ္လုပ္ပံု ေတြလည္း ေျပာင္းလဲလာသလို ခ်ိတ္ဆက္ထားတဲ့ Bus ေတြလည္း
လိုက္ပါေျပာင္းလဲ သြားပါတယ္။
အထူးသျဖင့္ Core i processor ေတြမွာတစ္သက္လံုး သံုးလာခဲ့တဲ့ FSB ဆိုတဲ့
အသံုးအႏွဳန္း မရွိေတာ့ဘူး။ သူ႔ေနရာမွာ QPU, DMI ဆိုၿပီး bus
အသစ္ေတြအစားထိုး လာပါတယ္။ ဥပမာအေနနဲ႔ 5x series ႏွစ္ခုျဖစ္တဲ့ 2008
ခုႏွစ္ႏိုဝင္ဘာလကထုတ္တဲ့ X58chipset နဲ႔ 2009 ခုႏွစ္ စက္တင္ဘာလကထုတ္တဲ့ p55
chipset ေတြကို ေျပာျပသြားပါမယ္။
Intel 5X series chipset
X58 series chipset ေတြရဲ႕ ပထမထူးျခားခ်က္က memory controller ဟာ chipset
ထဲမွာပါမလာေတာ့တာ ျဖစ္ပါတယ္။ ေျပာရရင္ ပံုမွန္ north bridge (MCH)
ထဲမွာထည့္သြင္းတည္ေဆာင္ ေနက် memory controller ကို Core i processor ေတြထဲ
ေျပာင္းေရြ႕ထည့္သြင္း တည္ေဆာက္တာျဖစ္ပါတယ္။ အဲဒီလို memory controller ကို
processor ထဲထည့္သြင္းတာနဲ႔ ဟိုးအရင္ကလို north-bridge ကို
ၾကားခံစရာမလိုပဲ processor နဲ႔ memory ေတြၾကားမွာ သီးသန္႔ ဆက္ေၾကာင္း
ျဖစ္လာၿပီး data ေတြကိုတိုက္ရိုက္ ေပးပို႔ဖလွယ္ႏိုင္ၾကပါတယ္။
Memory
controller ကို processor ထဲထည့္သြင္းတာနဲ႔ north-bridge ေတြက CPU နဲ႔
PCIE Video slot ေတြအလယ္မွာ ၾကားခံအေနနဲ႔ ေဆာင္ရြက္ေပးရတဲ့ လုပ္ငန္းတစ္ခုပဲ
က်န္ရွိပါေတာ့တယ္။ အဲဒီလို north-bridge က memory ကိုဆက္ၿပီး control
လုပ္ဖို႔မလိုေတာ့တဲ့ အတြက္ သူ႔ရဲ႕နဂိုမူလ နာမည္ျဖစ္တဲ့ MCH (Memory
Controller Hub) ကေန IOH (I/O Hub) ကိုေျပာင္းလဲလိုက္ပါတယ္။ ဒါ့အျပင္ CPU
နဲ႔ north-bridge (MCH) ၾကားက FSB (Front Side Bus) ဟာ QPI bus (Quick Path
Interconnected) ဆိုၿပီးျဖစ္လာပါတယ္။ အဲဒီလုိ memory controller ပါတဲ့
core i အမ်ိိဳးအစား processor ေတြဟာ pin အေရအတြက္ 1366 ပါတဲ့ LGA socket
1366 အသံုးျပဳ processor ေတြပဲျဖစ္ပါတယ္။ ေအာက္မွာျပထားတဲ့ပံုဟာ LGA-1366
core i series processor နဲ႔ X58 chipset ကိုတပ္ဆင္ထားတဲ့ motherboard
တစ္ခုရဲ႕ block diagram ျဖစ္ပါတယ္။
Intel P55 series chipset
ေနာက္ထပ္ 5x series chipset အမ်ိဳးအစားျဖစ္တဲ့ p55 မွာဆိုရင္ ပိုၿပီးေတာင္
ေျပာင္းသြားပါေသးတယ္။ chipset ထဲမွာ memory နဲ႔ video controller
ႏွစ္ခုစလံုး မရွိေတာ့ပါဘူး။ အဲဒီ ႏွစ္ခုစလံုးကို Core i processor ထဲမွာ
ေပါင္းစပ္ထည့္သြင္း တည္ေဆာက္ထားပါတယ္။ ဒီအတြက္ memory နဲ႔ processor, PCIE
video နဲ႔ processor ေတြအလယ္မွာ ၾကားခံမရွိေတာ့ပဲ တိုက္ရိုက္ဆက္သြယ္
ေဆာင္ရြက္လာ ၾကတယ္။ သေဘာက North bridge တစ္ခုလံုးကို processor
ထဲထည့္သြင္းလိုက္တာ ျဖစ္တဲ့အတြက္ နဂိုအရင္က motherboard ေပၚမွာ chip
ႏွစ္ခုေပါင္းၿပီး chipset ဆိုၿပီး ရွိေနရာကေန chip တစ္ခုတည္းပဲ ရွိေနေအာင္
ေလ်ာ့ခ်လုပ္ေဆာင္လိုက္တဲ့ သေဘာ ျဖစ္ပါတယ္။
အဲဒီ memory controller
နဲ႔ PCIE Video ႏွစ္မ်ိဳးစလံုးပါတဲ့ Core i processor ေတြဟာ pin အေရအတြက္
1155 ပါတဲ့ LGA socket 1155 အသံုးျပဳ processor ေတြ ျဖစ္ပါတယ္။ ေအာက္မွာ
LGA-1155 core i processor နဲ႔ P55 chipset ေတြတပ္ဆင္ ထားတဲ့ motherboard
တစ္ခုရဲ႕ block diagram ကိုေဖာ္ျပထားပါတယ္။
အဲဒီ diagram မွာ north-bridge ဟာ CPU အထဲေရာက္သြားတာေၾကာင့္ South bridge
တစ္ခုတည္း ရွိေနတာကို ေတြ႕ရပါမယ္။ အဲဒီ South-bridge ကို PCH (Platform
Controller Hub) လို႔ Intel ကေျပာင္းလဲေခၚခဲ့ပါတယ္။ ဒါ့အျပင္ CPU နဲ႔
တစ္ခုတည္းေသာ chipset ျဖစ္တဲ့ PCH ေတြၾကားက Bus ဟာ DMI (Direct Media
Interface) ဆိုၿပီးျဖစ္လာပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Tuesday, March 17, 2015
A+(Hardware) Chapter 10.2 (အပတ္စဥ္ ၁)
Intel Chipset (Intel မွထုတ္လုပ္ခဲ့ေသာ Chipset မ်ား)
Processor အေၾကာင္းေျပာတဲ့ေနရာမွာ Intel မပါရင္မၿပီးသလိုပဲ ဒီကေန႔ chipset ေတြအေၾကာင္းေျပာတဲ့ ေနရာမွာလည္း Intel မပါပဲနဲ႔ မျပည့္စံုႏိုင္ပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ Chipset ေစ်းကြက္ကို လႊမ္းမိုးထားတာလဲ Intel ပဲ ျဖစ္ေနတာေၾကာင့္ ျဖစ္ပါတယ္။ Chipset ေစ်းကြက္ထဲကို Intel ေရာက္ရွိလာပံုက အနည္းငယ္ထူးပါတယ္။ အရင္ Intel ဟာ Processor တစ္မ်ိဳးတည္းကိုပဲ ထုတ္ပါတယ္။ အဲဒီ Processor နဲ႔တြဲသံုးရမယ့္ chipset ေတြ၊ motherboard ေတြကို တျခားအဖြဲ႔အစည္း (manufactures) ေတြကထုတ္လုပ္ၾကပါတယ္။
အဲဒီမွာျပႆနာက Processor သစ္တစ္ခုထြက္လာရင္ တန္းသံုးလို႔မရေသးဘူး။ အဲဒီ processor အတြက္ chipset အဆင္သင့္မရွိေသးတဲ့ အတြက္ chipset အသစ္ထြက္လာၿပီးတဲ့အထိ ေစာင့္ဆိုင္းအသံုးျပဳၾကရပါတယ္။ chipset ထုတ္လုပ္သူ ေတြအေနနဲ႔ကလည္း ထြက္လာတဲ့ CPU အသစ္ကိုၾကည့္ၿပီး ဒီဇိုင္းထုတ္ကာ ျပဳလုပ္ၾက ရတဲ့အတြက္ အခ်ိန္ယူၾကရပါတယ္။ ဘယ္ေလာက္ေတာင္ ၾကာသလဲဆိုရင္ 286 processor ထြက္လာၿပီး ၂ႏွစ္ေက်ာ္ၾကာမွ 286 motherboard ေတြထြက္ႏိုင္ပါတယ္။ အဲဒီလိုပဲ 386 processor ထြက္ၿပီး ၁ႏွစ္ေက်ာ္ၾကာမွ 386 motherboard ေတြ ထြက္လာႏိုင္ပါတယ္။ သေဘာက processor အသစ္တစ္ခုထြက္လာၿပီးရင္ ၁ႏွစ္ေက်ာ္ ၂ႏွစ္ေက်ာ္ၾကာမွ အသံုးျပဳလို႔ ရႏိုင္သလို ျဖစ္ေနပါတယ္။
အဲဒီျပႆနာကို 1989ခုႏွစ္မွာ Intel က 486 Processor ေတြထုတ္ခ်ိန္မွာ သူနဲ႔အတူ တြဲသံုးရမယ့္ chipset (420 series) ေတြကိုပါ ႏွစ္မ်ိဳးတၿပိဳင္နက္ တြဲထုတ္ၿပီး ေျဖရွင္းလိုက္ပါတယ္။ အဲဒီေတာ့ chipset အဆင္သင့္ရွိေနတဲ့ အတြက္ 486 processor ေတြထြက္ၿပီး လပိုင္းမွာပဲ 486 motherboard ေတြထြက္ရွိလာႏိုင္ပါတယ္။ အၾကာႀကီး ေစာင့္စရာမလိုေတာ့ဘူးေပါ့။
Chipset နဲ႔ Processor ရွိၿပီဆိုကတည္းက ၿပီးျပည့္စံုတဲ့ motherboard တစ္ခုျဖစ္ဖို႔ 90%ေက်ာ္ ခရီးေရာက္ၿပီလို႔ဆိုႏိုင္ပါတယ္။ ဒါကိုသိတဲ့ Intel ဟာ 1993 ခုႏွစ္ Pentium processor ထုတ္တဲ့အခ်ိန္မွာ motherboard ကိုပါတစ္ခါတည္း တြဲထုတ္တာေၾကာင့္ motherboard ေစ်းကြက္အတြင္းပါ ဝင္ေရာက္ခဲ့ပါတယ္။ ဘာပဲျဖစ္ျဖစ္ အသံုးျပဳသူေတြအတြက္ကေတာ့ Processor သစ္ထြက္တဲ့ အဲဒီေန႔မွာပဲ processor တပ္ဆင္ထားတဲ့ကြန္ပ်ဴတာကို အဆင္သင့္ဝယ္ယူ အသံုးျပဳႏိုင္ၿပီ ျဖစ္ပါတယ္။ ဒီနည္းနဲ႔ Intel ဟာ chipset ေစ်းကြက္ထဲဝင္ေရာက္လာၿပီး ဒီကေန႔ အခါမွာေတာ့ chipset ကိုလႊမ္းမိုးထားတဲ့ အေနအထားကို ေရာက္ရွိေနၿပီျဖစ္ပါတယ္။
ေအာက္မွာျပထားတဲ့ဇယားကေတာ့ 1989ခုႏွစ္ထုတ္ 486 processor ကေနစၿပီး ဒီေန႔ထိ ေခတ္အဆက္ဆက္ အသံုးျပဳခဲ့တဲ့ chipset series ေတြပဲ ျဖစ္ပါတယ္။ အခုျပထားတာကေတာ့ chipset number ေတြအားလံုးကို ၿခံဳငံုမိေအာင္ အတိုခ်ဳပ္ၿပီးေဖာ္ျပထားတာ ျဖစ္ပါတယ္။ တကယ့္ chipset number အျပည့္အစံု ကိုေတာ့ motherboard ေပၚက chip တစ္ခုခ်င္းစီေပၚမွာ ရိုက္ႏွိပ္ေဖာ္ျပ ထားပါလိမ့္မယ္။
ဥပမာ PIII ေတြနဲ႔အတူ နာမည္ေက်ာ္ၾကား လူသံုးမ်ားခဲ့တဲ့ 440BX chipset ဆိုပါေတာ့။ သူ႔ရဲ႕ North bridge ရဲ႕ chipset ဟာ 82443BX ျဖစ္ၿပီး southbridge ဟာ 82371EB ျဖစ္ပါတယ္။ ဒါ့အျပင္ PIV ေတြအတြက္သံုးတဲ့ 865Gchipset ေတြမွာလည္း ႏွစ္ပိုင္းပါပါတယ္။ 82865G လို႔ေခၚတဲ့ north bridge (Intel က GMCH လို႔ေခၚပါတယ္) နဲ႔ 82801EB လို႔ေခၚတဲ့ southbridge (Intel က ICH5 လို႔ေခၚပါတယ္) ေတြပဲျဖစ္ပါတယ္။ ေျပာခ်င္တာက motherboard ေပၚက chip ေပၚမွာ ႏွိပ္ထားတဲ့ စာလံုးတြဲေတြကို ဖတ္ၿပီး ကိုယ့္ရဲ႕ motherboard ဟာဘယ္ chipset သံုးထားလဲဆိုတာကို ခြဲျခားႏိုင္မွာပဲ ျဖစ္ပါတယ္။
Pentium III အတြက္အသံုးျပဳခဲ့ေသာ chipset မ်ား
Intel ဟာ1989ခုႏွစ္ထုတ္ 486 processor ေတြအတြက္ကေနစၿပီး Chipset အမ်ိဳးမ်ိဳးကို ထုတ္လုပ္လာခဲ့ပါတယ္။ ဒီေနရာမွာေတာ့ ေရွ႕ပိုင္းကထြက္ရွိခဲ့တဲ့ processor ေတြနဲ႔ဆိုင္တဲ့ Chipset (ဥပမာ-440BX, 440GX i 450) ေတြကို မေဖာ္ျပေတာ့ပဲ Pentium III ကေနစၿပီး အသံုးမ်ားတြင္က်ယ္တဲ့ chipset ေတြရဲ႕ technical info ေတြကိုေရြးခ်ယ္ေဖာ္ျပ သြားမွာျဖစ္ပါတယ္။
ေရွ႕မွာေဖာ္ျပခဲ့သလိုပဲ Intel ဟာ chipset ေတြကိုထုတ္လုပ္တဲ့ ေနရာမွာ 430xx, 440xx, 450xx, 8xx စသျဖင့္ series အလိုက္အမည္ေပး ထုတ္လုပ္ပါတယ္။ ဘယ္ series ကေတာ့ ဘယ္ processor generation အတြက္ပါဆိုၿပီး အေသခြဲျခား သတ္မွတ္ထားတာေတာ့ မရွိပါဘူး။ ေျပာရရင္ အေစာပိုင္း 8xx chipset ေတြဟာ Pentium 3 processor ေတြအတြက္ျဖစ္ၿပီး ၊ ေနာက္ပိုင္းထုတ္ 8xx chipset ေတြဟာ pentium 4 ေတြအတြက္ျဖစ္ပါတယ္။
အေပၚက Table မွာေဖာ္ျပထားတဲ့ 8xx series chipset ေတြဟာ Pentium 3 (socket 370) အတြက္အသံုးျပဳခဲ့တဲ့ north-bridge chipset ေတြပဲျဖစ္ပါတယ္။ ဒီေနရာမွာ part number ကြာတာနဲ႔ chipset ေတြရဲ႕ လုပ္ေဆာင္ႏိုင္မႈ ကြာျခားခ်က္ေလးေတြကို သတိထားေလ့လာၾကည့္ပါ။ ဥပမာအေနနဲ႔ 810 နဲ႔ 815 ေတြကိုႏွိဳင္းယွဥ္ၾကည့္မယ္ဆိုရင္ ပထမဆံုး ေတြ႔ရွိရမယ့္ ကြာျခားခ်က္က တပ္ဆင္ အသံုးျပဳႏိုင္မယ့္ memory အမ်ိဳးအစားနဲ႔ speed မတူပါဘူး။
ေနာက္တစ္ခ်က္က video ပိုင္းျဖစ္ပါတယ္။ 810 မွာ Integrated video ပတယ္။ သေဘာက 810 chipset အသံုးျပဳတဲ့ motherboard မွာ VGA port တစ္ခုအဆင္သင့္ built-in ပါပါလိမ့္မယ္။ ဒါေပမဲ့ တျခား VGA slot ေတာ့မပါတဲ့အတြက္ VGA Card စိုက္သံုးလို႔ မရႏိုင္ပါဘူး။ 815 က်ေတာ့ integrated video နဲ႔ slot ႏွစ္မ်ိဳးစလံုး ပါပါတယ္။ ဒီအတြက္ built-in ပါတဲ့ video ကိုပဲသံုးမယ္ဆိုရင္လည္း ရပါတယ္။ ဒါမွမဟုတ္ တျခား video card စိုက္သံုးမယ္ဆိုရင္လည္း slot ပါတဲ့အတြက္ ႀကိဳက္တာေရြးသံုး ႏိုင္ပါတယ္။
Pentium 4/celeron4 processor အတြက္အသံုးျပဳခဲ့ေသာ chipset မ်ား
Pentium 4 မ်ိဳးဆက္အသံုးျပဳမႈ ၾကာျမင့္သလို သူ႔အတြက္အသံုးျပဳတဲ့ socket type ေတြကလည္း မ်ားပါတယ္။ socket 423, socket 478 နဲ႔ socket 775 ေတြျဖစ္ပါတယ္။ socket 423 ကိုေတာ့အရင္ P4 processor ေတြအတြက္ပဲ အသံုးျပဳခဲ့ ပါတယ္။ သိပ္မၾကာပါဘူး။ chipset အေနနဲ႔ၾကည့့္ရင္ socket 423 မွာသံုးရတဲ့ processor နဲ႔ socket 478 မွာသံုးရတဲ႔ processor ေတြဟာ Cache လြဲၿပီးက်န္တာေတြ အတူတူျဖစ္တဲ့အတြက္ အဲဒီ processor ႏွစ္မ်ိဳးအတြက္ သံုးႏိုင္တဲ့ chipset ဟာလည္း အတူတူပဲျဖစ္ပါတယ္။ ေနာက္ပိုင္း 8xx series chipset ေတြဟာ P4 (socket 478) ေတြအတြက္ျဖစ္ပါတယ္။
Socket 775 အသံုးျပဳ Pentium 4, celeronD, Pentium D တို႔အတြက္ အသံုးျပဳေသာ chipset မ်ား
2004ခုႏွစ္ ႏွစ္လယ္မွာ Intel က 915, 925 series chipset ေတြကို Pentium 4 နဲ႔ Celeron 4 ေတြအတြက္ ထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ chipset ေတြဟာ socket 775, DDR2 memory, PCIF video နဲ႔ Gigabit Ethernet ေတြကို support လုပ္ပါတယ္။
2005ခုႏွစ္မွာေတာ့ core ႏွစ္ခုပါတဲ့ ပထမဆံုး dual-core processor ျဖစ္တဲ့ PentiumD (celeronD ဟာ single core ပဲျဖစ္တာကို သတိျပဳပါ) ကို Intel ကထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ pentiumD နဲ႔ HT ပါတဲ့ Pentium 4 (socket 775) ေတြကို support လုပ္တဲ့ chipset ေတြက 945, 955 နဲ႔ 975 chipset ေတြပဲျဖစ္ပါတယ္။
Core 2 DUO, core 2 Quad တို႔အတြက္ အသံုးျပဳေသာ chipset မ်ား
9xx series ထဲက 96X series, 3X series နဲ႔ 4X series ေတြဟာ Core 2 duo, Core 2 quad ေတြကို support လုပ္တဲ့ chipset ေတြပဲျဖစ္ပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Processor အေၾကာင္းေျပာတဲ့ေနရာမွာ Intel မပါရင္မၿပီးသလိုပဲ ဒီကေန႔ chipset ေတြအေၾကာင္းေျပာတဲ့ ေနရာမွာလည္း Intel မပါပဲနဲ႔ မျပည့္စံုႏိုင္ပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ Chipset ေစ်းကြက္ကို လႊမ္းမိုးထားတာလဲ Intel ပဲ ျဖစ္ေနတာေၾကာင့္ ျဖစ္ပါတယ္။ Chipset ေစ်းကြက္ထဲကို Intel ေရာက္ရွိလာပံုက အနည္းငယ္ထူးပါတယ္။ အရင္ Intel ဟာ Processor တစ္မ်ိဳးတည္းကိုပဲ ထုတ္ပါတယ္။ အဲဒီ Processor နဲ႔တြဲသံုးရမယ့္ chipset ေတြ၊ motherboard ေတြကို တျခားအဖြဲ႔အစည္း (manufactures) ေတြကထုတ္လုပ္ၾကပါတယ္။
အဲဒီမွာျပႆနာက Processor သစ္တစ္ခုထြက္လာရင္ တန္းသံုးလို႔မရေသးဘူး။ အဲဒီ processor အတြက္ chipset အဆင္သင့္မရွိေသးတဲ့ အတြက္ chipset အသစ္ထြက္လာၿပီးတဲ့အထိ ေစာင့္ဆိုင္းအသံုးျပဳၾကရပါတယ္။ chipset ထုတ္လုပ္သူ ေတြအေနနဲ႔ကလည္း ထြက္လာတဲ့ CPU အသစ္ကိုၾကည့္ၿပီး ဒီဇိုင္းထုတ္ကာ ျပဳလုပ္ၾက ရတဲ့အတြက္ အခ်ိန္ယူၾကရပါတယ္။ ဘယ္ေလာက္ေတာင္ ၾကာသလဲဆိုရင္ 286 processor ထြက္လာၿပီး ၂ႏွစ္ေက်ာ္ၾကာမွ 286 motherboard ေတြထြက္ႏိုင္ပါတယ္။ အဲဒီလိုပဲ 386 processor ထြက္ၿပီး ၁ႏွစ္ေက်ာ္ၾကာမွ 386 motherboard ေတြ ထြက္လာႏိုင္ပါတယ္။ သေဘာက processor အသစ္တစ္ခုထြက္လာၿပီးရင္ ၁ႏွစ္ေက်ာ္ ၂ႏွစ္ေက်ာ္ၾကာမွ အသံုးျပဳလို႔ ရႏိုင္သလို ျဖစ္ေနပါတယ္။
အဲဒီျပႆနာကို 1989ခုႏွစ္မွာ Intel က 486 Processor ေတြထုတ္ခ်ိန္မွာ သူနဲ႔အတူ တြဲသံုးရမယ့္ chipset (420 series) ေတြကိုပါ ႏွစ္မ်ိဳးတၿပိဳင္နက္ တြဲထုတ္ၿပီး ေျဖရွင္းလိုက္ပါတယ္။ အဲဒီေတာ့ chipset အဆင္သင့္ရွိေနတဲ့ အတြက္ 486 processor ေတြထြက္ၿပီး လပိုင္းမွာပဲ 486 motherboard ေတြထြက္ရွိလာႏိုင္ပါတယ္။ အၾကာႀကီး ေစာင့္စရာမလိုေတာ့ဘူးေပါ့။
Chipset နဲ႔ Processor ရွိၿပီဆိုကတည္းက ၿပီးျပည့္စံုတဲ့ motherboard တစ္ခုျဖစ္ဖို႔ 90%ေက်ာ္ ခရီးေရာက္ၿပီလို႔ဆိုႏိုင္ပါတယ္။ ဒါကိုသိတဲ့ Intel ဟာ 1993 ခုႏွစ္ Pentium processor ထုတ္တဲ့အခ်ိန္မွာ motherboard ကိုပါတစ္ခါတည္း တြဲထုတ္တာေၾကာင့္ motherboard ေစ်းကြက္အတြင္းပါ ဝင္ေရာက္ခဲ့ပါတယ္။ ဘာပဲျဖစ္ျဖစ္ အသံုးျပဳသူေတြအတြက္ကေတာ့ Processor သစ္ထြက္တဲ့ အဲဒီေန႔မွာပဲ processor တပ္ဆင္ထားတဲ့ကြန္ပ်ဴတာကို အဆင္သင့္ဝယ္ယူ အသံုးျပဳႏိုင္ၿပီ ျဖစ္ပါတယ္။ ဒီနည္းနဲ႔ Intel ဟာ chipset ေစ်းကြက္ထဲဝင္ေရာက္လာၿပီး ဒီကေန႔ အခါမွာေတာ့ chipset ကိုလႊမ္းမိုးထားတဲ့ အေနအထားကို ေရာက္ရွိေနၿပီျဖစ္ပါတယ္။
ေအာက္မွာျပထားတဲ့ဇယားကေတာ့ 1989ခုႏွစ္ထုတ္ 486 processor ကေနစၿပီး ဒီေန႔ထိ ေခတ္အဆက္ဆက္ အသံုးျပဳခဲ့တဲ့ chipset series ေတြပဲ ျဖစ္ပါတယ္။ အခုျပထားတာကေတာ့ chipset number ေတြအားလံုးကို ၿခံဳငံုမိေအာင္ အတိုခ်ဳပ္ၿပီးေဖာ္ျပထားတာ ျဖစ္ပါတယ္။ တကယ့္ chipset number အျပည့္အစံု ကိုေတာ့ motherboard ေပၚက chip တစ္ခုခ်င္းစီေပၚမွာ ရိုက္ႏွိပ္ေဖာ္ျပ ထားပါလိမ့္မယ္။
ဥပမာ PIII ေတြနဲ႔အတူ နာမည္ေက်ာ္ၾကား လူသံုးမ်ားခဲ့တဲ့ 440BX chipset ဆိုပါေတာ့။ သူ႔ရဲ႕ North bridge ရဲ႕ chipset ဟာ 82443BX ျဖစ္ၿပီး southbridge ဟာ 82371EB ျဖစ္ပါတယ္။ ဒါ့အျပင္ PIV ေတြအတြက္သံုးတဲ့ 865Gchipset ေတြမွာလည္း ႏွစ္ပိုင္းပါပါတယ္။ 82865G လို႔ေခၚတဲ့ north bridge (Intel က GMCH လို႔ေခၚပါတယ္) နဲ႔ 82801EB လို႔ေခၚတဲ့ southbridge (Intel က ICH5 လို႔ေခၚပါတယ္) ေတြပဲျဖစ္ပါတယ္။ ေျပာခ်င္တာက motherboard ေပၚက chip ေပၚမွာ ႏွိပ္ထားတဲ့ စာလံုးတြဲေတြကို ဖတ္ၿပီး ကိုယ့္ရဲ႕ motherboard ဟာဘယ္ chipset သံုးထားလဲဆိုတာကို ခြဲျခားႏိုင္မွာပဲ ျဖစ္ပါတယ္။
Pentium III အတြက္အသံုးျပဳခဲ့ေသာ chipset မ်ား
Intel ဟာ1989ခုႏွစ္ထုတ္ 486 processor ေတြအတြက္ကေနစၿပီး Chipset အမ်ိဳးမ်ိဳးကို ထုတ္လုပ္လာခဲ့ပါတယ္။ ဒီေနရာမွာေတာ့ ေရွ႕ပိုင္းကထြက္ရွိခဲ့တဲ့ processor ေတြနဲ႔ဆိုင္တဲ့ Chipset (ဥပမာ-440BX, 440GX i 450) ေတြကို မေဖာ္ျပေတာ့ပဲ Pentium III ကေနစၿပီး အသံုးမ်ားတြင္က်ယ္တဲ့ chipset ေတြရဲ႕ technical info ေတြကိုေရြးခ်ယ္ေဖာ္ျပ သြားမွာျဖစ္ပါတယ္။
ေရွ႕မွာေဖာ္ျပခဲ့သလိုပဲ Intel ဟာ chipset ေတြကိုထုတ္လုပ္တဲ့ ေနရာမွာ 430xx, 440xx, 450xx, 8xx စသျဖင့္ series အလိုက္အမည္ေပး ထုတ္လုပ္ပါတယ္။ ဘယ္ series ကေတာ့ ဘယ္ processor generation အတြက္ပါဆိုၿပီး အေသခြဲျခား သတ္မွတ္ထားတာေတာ့ မရွိပါဘူး။ ေျပာရရင္ အေစာပိုင္း 8xx chipset ေတြဟာ Pentium 3 processor ေတြအတြက္ျဖစ္ၿပီး ၊ ေနာက္ပိုင္းထုတ္ 8xx chipset ေတြဟာ pentium 4 ေတြအတြက္ျဖစ္ပါတယ္။
အေပၚက Table မွာေဖာ္ျပထားတဲ့ 8xx series chipset ေတြဟာ Pentium 3 (socket 370) အတြက္အသံုးျပဳခဲ့တဲ့ north-bridge chipset ေတြပဲျဖစ္ပါတယ္။ ဒီေနရာမွာ part number ကြာတာနဲ႔ chipset ေတြရဲ႕ လုပ္ေဆာင္ႏိုင္မႈ ကြာျခားခ်က္ေလးေတြကို သတိထားေလ့လာၾကည့္ပါ။ ဥပမာအေနနဲ႔ 810 နဲ႔ 815 ေတြကိုႏွိဳင္းယွဥ္ၾကည့္မယ္ဆိုရင္ ပထမဆံုး ေတြ႔ရွိရမယ့္ ကြာျခားခ်က္က တပ္ဆင္ အသံုးျပဳႏိုင္မယ့္ memory အမ်ိဳးအစားနဲ႔ speed မတူပါဘူး။
ေနာက္တစ္ခ်က္က video ပိုင္းျဖစ္ပါတယ္။ 810 မွာ Integrated video ပတယ္။ သေဘာက 810 chipset အသံုးျပဳတဲ့ motherboard မွာ VGA port တစ္ခုအဆင္သင့္ built-in ပါပါလိမ့္မယ္။ ဒါေပမဲ့ တျခား VGA slot ေတာ့မပါတဲ့အတြက္ VGA Card စိုက္သံုးလို႔ မရႏိုင္ပါဘူး။ 815 က်ေတာ့ integrated video နဲ႔ slot ႏွစ္မ်ိဳးစလံုး ပါပါတယ္။ ဒီအတြက္ built-in ပါတဲ့ video ကိုပဲသံုးမယ္ဆိုရင္လည္း ရပါတယ္။ ဒါမွမဟုတ္ တျခား video card စိုက္သံုးမယ္ဆိုရင္လည္း slot ပါတဲ့အတြက္ ႀကိဳက္တာေရြးသံုး ႏိုင္ပါတယ္။
Pentium 4/celeron4 processor အတြက္အသံုးျပဳခဲ့ေသာ chipset မ်ား
Pentium 4 မ်ိဳးဆက္အသံုးျပဳမႈ ၾကာျမင့္သလို သူ႔အတြက္အသံုးျပဳတဲ့ socket type ေတြကလည္း မ်ားပါတယ္။ socket 423, socket 478 နဲ႔ socket 775 ေတြျဖစ္ပါတယ္။ socket 423 ကိုေတာ့အရင္ P4 processor ေတြအတြက္ပဲ အသံုးျပဳခဲ့ ပါတယ္။ သိပ္မၾကာပါဘူး။ chipset အေနနဲ႔ၾကည့့္ရင္ socket 423 မွာသံုးရတဲ့ processor နဲ႔ socket 478 မွာသံုးရတဲ႔ processor ေတြဟာ Cache လြဲၿပီးက်န္တာေတြ အတူတူျဖစ္တဲ့အတြက္ အဲဒီ processor ႏွစ္မ်ိဳးအတြက္ သံုးႏိုင္တဲ့ chipset ဟာလည္း အတူတူပဲျဖစ္ပါတယ္။ ေနာက္ပိုင္း 8xx series chipset ေတြဟာ P4 (socket 478) ေတြအတြက္ျဖစ္ပါတယ္။
Socket 775 အသံုးျပဳ Pentium 4, celeronD, Pentium D တို႔အတြက္ အသံုးျပဳေသာ chipset မ်ား
2004ခုႏွစ္ ႏွစ္လယ္မွာ Intel က 915, 925 series chipset ေတြကို Pentium 4 နဲ႔ Celeron 4 ေတြအတြက္ ထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ chipset ေတြဟာ socket 775, DDR2 memory, PCIF video နဲ႔ Gigabit Ethernet ေတြကို support လုပ္ပါတယ္။
2005ခုႏွစ္မွာေတာ့ core ႏွစ္ခုပါတဲ့ ပထမဆံုး dual-core processor ျဖစ္တဲ့ PentiumD (celeronD ဟာ single core ပဲျဖစ္တာကို သတိျပဳပါ) ကို Intel ကထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ pentiumD နဲ႔ HT ပါတဲ့ Pentium 4 (socket 775) ေတြကို support လုပ္တဲ့ chipset ေတြက 945, 955 နဲ႔ 975 chipset ေတြပဲျဖစ္ပါတယ္။
Core 2 DUO, core 2 Quad တို႔အတြက္ အသံုးျပဳေသာ chipset မ်ား
9xx series ထဲက 96X series, 3X series နဲ႔ 4X series ေတြဟာ Core 2 duo, Core 2 quad ေတြကို support လုပ္တဲ့ chipset ေတြပဲျဖစ္ပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Monday, March 16, 2015
A+(Hardware) Chapter 10.1 (အပတ္စဥ္ ၁)
Chipset Overview
Chipset ဟာ motherboard ေပၚမွာရွိတဲ့ အစိတ္အပိုင္းေတြအနက္ အေရးႀကီးဆံုး အစိတ္အပိုင္းတစ္ခုပဲ ျဖစ္ပါတယ္။ memory, hard disk, VGA စတဲ့ ကြန္ပ်ဴတာအစိတ္အပိုင္း ေတြဟာ chipset ကေနတဆင့္ processor နဲ႔ဆက္သြယ္ လုပ္ေဆာင္ၾကရတဲ့အတြက္ data ေတြအားလံုးကို ျဖတ္သန္းစီးဆင္းတဲ့ အခ်က္အျခာ ေနရာတစ္ခုလည္းျဖစ္ပါတယ္။
ဒီကေန႔အသံုးျပဳေနတဲ့ motherboard ေတြရဲ႕စြမ္းေဆာင္ရည္ကို ႏွိဳင္းယွဥ္ အကဲျဖတ္ၾကတဲ့ ေနရာမွာ ဘယ္ Chipset ကိုသံုးထားသလဲဆိုတာ အေရးပါပါတယ္။ motherboard ႏွစ္ခုကို ယွဥ္ၾကည့္လို႔ chipset တူရင္ အဲဒီ board ႏွစ္ခုရဲ႕ စြမ္းေဆာင္ရည္ဟာ တူမယ္။ တပ္ဆင္အသံုးျပဳႏိုင္တဲ့ ပစၥည္းေတြ (ဥပမာ-processor, memory) အတူတူပဲလို႔ သိႏိုင္ၾကပါတယ္။ ဒါဟာဘာေၾကာင့္လဲ ဆိုေတာ့ အသံုးျပဳထားတဲ့ chipset ေပၚမူတည္ၿပီး တပ္ဆင္အသံုးျပဳရမယ့္ processor အမ်ိဳးအစား၊ memory အမ်ိဳးအစား နဲ႔ပမာဏ၊ ဘယ္လို VGA Card (ဥပမာ-AGP လား၊ PCIE လား) တပ္ဆင္သံုးႏိုင္မလဲ ဆိုတာေတြကြဲျပားတာေၾကာင့္ ျဖစ္ပါတယ္။
Chipset ထဲမွာ processor, memory, VGA နဲ႔ keyboard, mouse စတဲ့ peripheral ေတြတစ္ခုနဲ႔တစ္ခု အျပန္အလွန္ data ေတြကိုသက္ဆိုရာ bus ေတြေပၚကေန ဘယ္လုိ ပို႔ေဆာင္ဖလွယ္ၾကမလဲ ဆုိတာကိုထိန္းခ်ဳပ္ေပးတဲ့ memory controller, bus controller, Keyboard controller, mouse controller, IDE controller နဲ႔တျခား controller chip ေတြကိုစုေပါင္း ထည့္သြင္းတည္ေဆာက္ ထားပါတယ္။ ဒါ့ေၾကာင့္ chipset ဆိုတဲ့အတိုင္းပဲ controller ေတြပါဝင္တဲ့ chip အစုအေဝးပဲ ျဖစ္ပါတယ္။ တနည္းေျပာရရင္ motherboard ေပၚက အဓိက အေရႀကီးဆံုး circuit ေတြဟာ chipset ထဲမွာရွိတယ္လို႔ ဆိုႏိုင္ပါတယ္။
Chipset ကိုအမ်ိဳးအစားခြဲၾကည့္ရင္ အဓိကေနနဲ႔ AMD support နဲ႔ Intel support ဆိုၿပီးႏွစ္မ်ိဳးရွိပါတယ္။ AMD ကထုတ္တဲ့ AMD processor ေတြနဲ႔ တြဲသံုးႏိုင္တဲ့ chipset အမ်ိဳးေပါင္း အမ်ားႀကီးရွိသလို Intel ကထုတ္တဲ့ Pentium, Core i3, core i7 စတဲ့ processor ေတြနဲ႔တြဲသံုးႏိုင္တဲ့ chipset အမ်ိဳးအစားေပါင္း အမ်ားႀကီးရွိတတ္ပါတယ္။ ဘာေၾကာင့္မ်ားရသလဲဆိုေတာ့ အမ်ားစုဟာ processor gernation တစ္ခုကိုပဲ support လုပ္တာေၾကာင့္ျဖစ္ပါတယ္။ ဥပမာေျပာရရင္ Pentium III အသံုးျပဳႏိုင္တဲ့ motherboard နဲ႔ Pentium 4 အသံုးျပဳႏိုင္တဲ့ Motherboard ေတြမွာတပ္ဆင္ထားတဲ့ chipset ေတြမတူၾကသလုိ DDR တပ္ဆင္ႏိုင္တဲ့ motherboard နဲ႔ DDR 2 memory တပ္ဆင္ႏိုင္တဲ့ motherboard ေတြမွာအသံုးျပဳထားတဲ့ chipset ေတြလည္းမတူညီၾကပါဘူး။
Chipset ေတြဟာ motherboard ေပၚမွာ Microprocessor ၿပီးရင္အႀကီးဆံုး chip တစ္ခုျဖစ္တဲ့အတြက္ အလြယ္တကူ ခြဲျခားသိႏိုင္ပါတယ္။ ဒါ့အျပင္ processor ေတြေလာက္မပူေပမယ့္ သူကလည္းအပူအမ်ားႀကီး ထုတ္တဲ့ပစၥည္းျဖစ္တဲ့အတြက္ အပူေၾကာင့္ပ်က္စီးရတာကေန ကာကြယ္ဖို႔ chipset ေတြေပၚမွာ heat sink ေတြ တပ္ဆင္ဖံုးအုပ္ထားရပါတယ္။ အေရးႀကီးတဲ့အခ်က္က motherboard ေပၚမွာ အေသတပ္ထားတဲ့အတြက္ ပ်က္လို႔ပဲျဖစ္ျဖစ္၊ model ျမင့္ chipset နဲ႔အစားထိုးခ်င္လို႔ ပဲျဖစ္ျဖစ္ လဲလွယ္တပ္ဆင္လို႔ မရပါဘူး။
North- Bridge (Memory Controller Hub-MCH)
North- Bridge ဟာ high-speed component ျဖစ္ပါတယ္။ သေဘာက high-speed နဲ႔အလုပ္လုပ္ဖို႔ လုိအပ္တဲ့ပစၥည္းေတြဟာ သက္ဆိုင္ရာ bus ေတြနဲ႔ဒီ north bridge မွာခ်ိတ္ဆက္ထားရပါတယ္။ ဥပမာဆိုပါေတာ့ Video Card (AGP ပဲျဖစ္ျဖစ္၊ PCIE ပဲျဖစ္ျဖစ္) ေတြဟာဆိုရင္ တျခား device ေတြျဖစ္တဲ့ Hard Disk ေတြ၊ Sound card ေတြထက္ပိုၿပီး ျမန္တဲ့ႏွဳန္းနဲ႔ လုပ္ဖို႔လိုအပ္ပါတယ္။ ဒါ့ေၾကာင့္ Video Card တပ္ဆင္ရမယ့္ slot ဟာအၿမဲတမ္း north-bridge ကိုပဲခ်ိတ္ဆက္ထားရပါတယ္။ အဲဒီ video card နဲ႔ north-bridge ေတြကိုခ်ိတ္ဆက္ရာမွာ သံုးတဲ့ bus ကို video bus လုိ႔ေခၚပါတယ္။
ဒီျမန္ႏွဳန္းျမင့္ ပစၥည္း၂ခုျဖစ္တဲ့ CPU နဲ႔ memory ေတြဟာလည္းဒီ north-bridge မွာပဲခ်ိတ္ဆက္ၾကရပါတယ္။ ဒီေတာ့မွ CPU နဲ႔ north-bridge ေတြကိုသြယ္တန္းတဲ့ bus ကို processor (or) Front side bus လို႔ေခၚပါတယ္။ memory နဲ႔ north-bridge ေတြၾကားက bus ကို memory bus လုိ႔ေခၚပါတယ္။
ေစ်းကြက္အတြင္းမွာ CPU, memory နဲ႔ Video card ေတြကို speed အမ်ိဳးမ်ိဳးနဲ႔ ဝယ္ယူရရွိႏိုင္ပါတယ္။ ဒါေပမဲ့ အဲဒီ ပစၥည္းေတြကို ေရြးခ်ယ္ဝယ္ယူတဲ့ေနရာမွာ chipset ေတြကလက္ခံႏိုင္တဲ့ FSB speed, memory bus speed ေတြနဲ႔ကိုက္ညီမႈ ရွိဖို႔လိုပါတယ္။ ဒါမွပဲ ကြန္ပ်ဴတာကို စြမ္းရည္ျပည့္လုပ္ေဆာင္ႏိုင္ ေစမွာျဖစ္ၿပီး တကယ္လို႔ ကိုက္ညီမႈမရွိရင္ ကြန္ပ်ဴတာရဲ႕ျမန္ႏွဳန္းကို ေလ်ာ့နည္းက်ဆင္းေစတာနဲ႔ ကြန္ပ်ဴတာအလုပ္မလုပ္တဲ့ ျပႆနာေတြကို ႀကံဳေတြ႕ရေစႏိုင္ပါတယ္။
အထူးသျဖင့္ လက္ရွိအသံုးျပဳေနတဲ့ ကြန္ပ်ဴတာ motherboard ပ်က္သြားလို႔ အစားထိုးလဲလွယ္ရမယ့္ ကိစၥမ်ိဳးေတြဆို ပိုသတိထားသင့္ပါတယ္။ ဥပမာ ကိုယ့္မွာ အေကာင္းတိုင္းက်န္ေနတာက CPU (socket 775/2.8 GHz/533MHz) နဲ႔ memory (DDR2 533 MHz) ဆိုပါေတာ့။ ေစ်းကြက္ထဲသြားရွာလို႔ socket 775 ေကာ၊ DDR2 တပ္ဆင္ႏိုင္တဲ့ slot ပါပါတဲ့ motherboard ေတြ႕တာနဲ႔ ကိုယ့္မွာရွိတာေတြနဲ႔ တြဲဖက္သံုးလို႔ ရၿပီဆိုၿပီး ရမ္းမဝယ္သင့္ဘူး။ တကယ္လို႔ အဲဒီ motherboard မွာ သံုးထားတဲ့ chipset ရဲ႕ FSB speed ဟာ (667/800/1066)၊ memory ဟာ DDR2 667/800 ေတြကိုပဲ support လုပ္ခဲ့မယ္ဆိုရင္ ကိုယ့္မွာရွိေနတဲ့ ပစၥည္းေတြနဲ႔ တြဲဖက္သံုးလုိ႔ မရႏိုင္တာကို သတိျပဳရပါမယ္။
ကြန္ပ်ဴတာအသစ္ဝယ္ရင္လည္း သတိျပဳရမွာက chipset ေတြဆိုတာ FSB speed ႏွစ္မ်ိဳးသံုးမ်ိဳး support လုပ္ပါတယ္။ ဥပမာ (667/800/1066)၊ FSB 667 MHz ရွိတဲ့ processor ကိုတပ္ဆင္မယ္ဆိုရင္ အဲဒီ motherboard ရဲ႕ FSB ဟာ 667နဲ႔ပဲ အလုပ္လုပ္ပါမယ္။ processor ရဲ႕ FSB ဟာ 800ဆိုရင္ အဲဒီ motherboard ဟာ 800MHz နဲ႔အလုပ္လုပ္ပါမယ္။ သေဘာက ကြန္ပ်ဴတာစနစ္တစ္ခုလံုးရဲ႕ FSB ဟာ processor ေပၚမွာမူတည္ေနပါတယ္။ processor ေတြကဆံုးျဖတ္ေပးမယ္လို႔ ဆိုႏိုင္ပါတယ္။ ဒီ့အတြက္ FSb speed ျမင့္ျမင့္နဲ႔ အလုပ္လုပ္တဲ့ ကြန္ပ်ဴတာလုိခ်င္ရင္ FSB speed ျမင့္တဲ့ processor နဲ႔အဲဒီ speed မွီေအာင္ support လုပ္ႏိုင္တဲ့ chipset တပ္ထားတဲ့ motherboard ေတြလုိအပ္ပါတယ္။
ေျပာရရင္ motherboard တစ္ခ်ပ္ဝယ္ေတာ့မယ္ဆိုရင္ ဘယ္လို processor မ်ိဳးတပ္ဆင္အသံုးျပဳႏိုင္မလဲ၊ ဘယ္ FSB speed ေတြကို support လုပ္မလဲ၊ တပ္ဆင္အသံုးျပဳႏိုင္မယ့္ memory အမ်ိဳးအစားနဲ႔ speed၊ builtin video ပါမပါ၊ သီးျခား video card ခ်ိတ္ဖို႔ slot ပါမပါ၊ ဒါေတြကို စစ္ေဆးရပါမယ္။ အဲဒါနဲ႔မွ ေက်နပ္မႈ မရွိရင္ motherboard မွာသံုးထားတဲ့ chipset model နံပါတ္ကိုယူ အင္တာနက္မွာ googling လုပ္ (www.google.com မွာရွာေဖြတာ) (သို႔) ပစၥည္းထုတ္လုပ္သူ vendor ေတြရဲ႕ website မွာ model နံပါတ္ထည့္သြင္း ရွာေဖြတာနဲ႔ ပိုၿပီးတိက်တဲ့ technical information ေတြကိုရႏိုင္ၾကပါတယ္။
North-bridge and Integrated Video
ဟိုတုန္းကဆိုရင္ video card ေတြကို motherboard ေပၚမွာ သီးျခားဝယ္ယူ စိုက္သြင္းတပ္ဆင္ အသံုးျပဳၾကရပါတယ္။ ၁၉၉၁ခုႏွစ္ ေမလမွာ Intel ကထုတ္လုပ္တဲ့ 810 chipset ေတြမွာ video ပိုင္းပါထည့္သြင္းတည္ေဆာက္ လာတာနဲ႔ integrated video ရယ္လို႔ အသံုးမ်ားတြင္က်ယ္လာ ခဲ့ပါတယ္။ အဲဒီလုိ north-bridge ထဲမွာ ထည့္သြင္းတည္ေဆာက္ထားတာေၾကာင့္ video card သီးျခားဝယ္ဖို႔မလိုေတာ့တဲ့ အတြက္ အသံုးျပဳသူေတြ ေငြကုန္ေၾကးက် သက္သာေစတာကလည္း အသံုးမ်ား တြင္က်ယ္လာတာရဲ႕ အဓိကအခ်က္ျဖစ္ပါလိမ့္မယ္။
ဒါေပမဲ့ motherboard ေပၚမွာ built in ပါတဲ့အဲဒီ integrated video ရဲ႕ လုပ္ေဆာင္ႏိုင္မႈ performance ဟာသီးျခား video card ေတြေလာက္မေကာင္း ပါဘူး။ ဒီအတြက္ အရည္အေသြးျမင့္ video card ေတြသီးျခား စိုက္သြင္းတပ္ဆင္ ႏိုင္ေအာင္ motherboard အမ်ားစုမွာ AGP (သို႔) PCIE slot အပိုတစ္ခု ပါေလ့ရွိပါတယ္။ ဒါ့ေၾကာင့္ performance သိပ္အေရးမႀကီးပါဘူး။ ေငြကုန္သက္သာ ခ်င္ရင္ motherboard ေပၚက integrated video ကိုသံုးႏိုင္တယ္။ ဒါမွမဟုတ္ ေမာ္နီတာေပၚမွာ ပံုထြက္ေကာင္းေကာင္း အရည္အေသြး ျမင့္ျမင့္လုိအပ္တယ္ဆိုရင္ သီးျခား video card ကိုထပ္ၿပီး ထည့္သြင္းအသံုးျပဳႏိုင္ ၾကပါတယ္။
South-bridge (I/O Controler Hub-ICH)
ျမန္ႏွဳန္းျမင့္ျမင့္ အလုပ္လုပ္ဖို႔လုိအပ္တဲ့ memory နဲ႔ video display ေတြက လြဲၿပီးက်န္ device ေတြအားလံုးဟာ south-bridge မွာခ်ိတ္ဆက္ၾကရပါတယ္။ ေျပာရရင္ built-in အေနနဲ႔ ထည့္သြင္းတည္ေဆာက္ထားတဲ့ LAN adapter, modem, audio adapter, USB နဲ႔ motherboard ေပၚလာေရာက္ခ်ိတ္ဆက္ သံုးရတဲ့ Keyboard, mouse, printer စတဲ့ peripheral ေတြကို south-bridge က control လုပ္ရပါတယ္။
South-bridge မွာလည္း model အမ်ိဳးမ်ိဳးရွိပါတယ္။ ဥပမာ Intel product ေတြကို ေဖာ္ျပရရင္ ICH 7, ICH 8, ICH 9 ေတြပဲျဖစ္ပါတယ္။ model ေပၚမူတည္ၿပီး SATA drive တပ္လို႔ရမရနဲ႔ တပ္ဆင္ႏိုင္တဲ့ drive အေရအတြက္၊ USB port အေရအတြက္၊ built-in audio ပါမပါ စသျဖင့္ ကြဲျပားပါတယ္။ ဒါေပမဲ့ north-bridge ေတြေလာက္ေတာ့ အမ်ိဳးအစားမမ်ားပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ chipset ထုတ္လုပ္သူေတြဟာ chipset အမ်ိဳးအစားသစ္ တစ္ခုကို ထုတ္လုပ္တဲ့အခါ အမ်ားအားျဖင့္ north-bridge ကိုပဲ ျပဳျပင္ေျပာင္းလဲရေလ့ရွိၿပီး south-bridge ေတြကိုေတာ့ ေရွ႕ကအတိုင္းမေျပာင္းလဲဘဲ ဆက္လက္ထုတ္လုပ္ အသံုးျပဳေနတာ ပိုမ်ားပါတယ္။
Chipset Manufacturers
Chipset ထုတ္လုပ္ေရာင္းခ်တဲ့ ကုမၸဏီ တစ္ဒါဇင္ခန္႔ ရွိၿပီးအဲဒီထဲကမွ လူႀကိဳက္မ်ားၿပီး အဓိကအမ်ားဆံုးထုတ္လုပ္တဲ့ ကုမၸဏီေျခာက္ခုေလာက္ပဲ ရွိပါတယ္။ Intel, VIA, AMD, SIS, ATI နဲ႔ NVIDIA ေတြပဲျဖစ္ပါတယ္။ Pentium processor ေတြနဲ႔တြဲဖက္အသံုးျပဳႏိုင္တဲ့ chipset ထုတ္လုပ္တဲ့ကုမၸဏီေတြကေတာ့ Intel, SIS နဲ႔ VIA ေတြျဖစ္ၿပီး AMD processor ေတြနဲ႔တြဲဖက္အသံုးျပဳႏိုင္တဲ့ chipset ေတြကို SIS, VIA, NVIDIA, AMD နဲ႔ ATI ေတြကေနထုတ္လုပ္ေရာင္းခ် ပါတယ္။
Intel ဟာ chipset ေစ်းကြက္ကို ႏွစ္ေတြအမ်ားႀကီး လႊမ္းမိုးခဲ့ၿပီး ဒီကေန႔ထိ ေစ်းကြက္ share အမ်ားစုကို ဆုပ္ကိုင္ထားႏိုင္ဆဲပဲ ျဖစ္ပါတယ္။ ဒါေပမဲ့လည္း အခုခ်ိန္မွာေတာ့ Pentium နဲ႔ AMD processor ႏွစ္မ်ိဳးစလံုးကို support လုပ္ႏိုင္တဲ့ chipset ေတြကိုထုတ္လုပ္တဲ့ VIA နဲ႔ video processor ေတြနဲ႔နာမည္ရလာၿပီး AMD processor တစ္မ်ိဳးတည္းအတြက္ပဲ chipset ေတြကိုထုတ္လုပ္တဲ့ NVIDIA ေတြဟာလည္း chipset ေစ်းကြက္ share အမ်ားစု ရရွိလာေနၿပီ ျဖစ္ပါတယ္။
Chipset ေတြကိုတြဲဖက္အသံုးျပဳရမဲ့ processor ရဲ႕ specification ေပၚမူတည္ၿပီး ဒီဇိုင္းထုတ္တည္ေဆာက္ရပါတယ္။ အဲဒီလုိ processor ေပၚမူတည္ရတဲ့အတြက္ CPU အသစ္တစ္ခုကို အၿပီးသတ္ဒီဇိုင္းဆြဲၿပီးမွသာ အဲဒီ ဒီဇိုင္းနဲ႔တြဲဖက္ညီမယ့္ chipset ေတြကို ထုတ္လုပ္ဖို႔ စီစဥ္ၾကရပါတယ္။ ဒါ့အျပင္ chipset ထုတ္လုပ္သူေတြနဲ႔ memory ထုတ္လုပ္သူ၊ BIOS program ေရးသားသူေတြအၾကားမွာလည္း နည္းပညာအရ ပူးေပါင္းေဆာင္ရြက္မႈမ်ိဳး ရွိၾကပါတယ္။
ဒါ့ေၾကာင့္ processor အသစ္တစ္ခု၊ နည္းပညာအသစ္နဲ႔ memory အမ်ိဳးအစားတစ္ခု ေပၚလာတိုင္းသူတို႔ကို support လုပ္ႏိုင္တဲ့ chipset ေတြလည္း ထြက္ေပၚလာရပါတယ္။ အဲဒီ chipset အသစ္နဲ႔အတူ ဘယ္ processor၊ ဘယ္ memory အမ်ိဳးအစား၊ ဘယ္ေလာက္ memory slot အေရအတြက္ကို support လုပ္မလဲ စတဲ့ technical information ေတြလည္းပူးတြဲပါရွိပါတယ္။ အဲဒီ technical information ေတြအရ motherboard ထုတ္လုပ္သူေတြက အသံုးျပဳမဲ့ chipset ေပၚမူတည္ၿပီး motherboard ေတြကို ပံုစံထုတ္ေရာင္းခ်ၾကပါတယ္။
ဒါ့ေၾကာင့္ ကြန္ပ်ဴတာတစ္လံုးကိုတပ္ဆင္မယ္၊ ဒါမွမဟုတ္ အဆင့္ျမွင့္လိုတဲ့အခါ ကိုယ့္ရဲ႕ကြန္ပ်ဴတာ motherboard မွာပါတဲ့ chipset ရဲ႕ technical information ကုိ သိဖို႔လုိပါတယ္။ ဥပမာ လက္ရွိသံုးေနတဲ့ DDR 266 အစား DDR 333 ကိုေျပာင္းလဲ သံုးလို႔ရမရ၊ ရိုးရိုး Pentium 4 ကေန HT ပါတဲ့ processor ကိုအဆင့္ျမွင့္လို႔ရမရ စတာေတြကို သိလိုရင္ motherboard ဝယ္တုန္းက ပါလာခဲ့တဲ့ စာရြက္စာတမ္းေတြမွာ ျဖစ္ေစ၊ chipset ကိုထုတ္လုပ္တဲ့ကုမၸဏီရဲ႕ website မွာျဖစ္ေစ ကိုယ့္ရဲ႕ motherboard မွာအသံုးျပဳထားတဲ့ chipset ရဲ႕ information ေတြကိုသြားေရာက္ ဖတ္ရႈရပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Chipset ဟာ motherboard ေပၚမွာရွိတဲ့ အစိတ္အပိုင္းေတြအနက္ အေရးႀကီးဆံုး အစိတ္အပိုင္းတစ္ခုပဲ ျဖစ္ပါတယ္။ memory, hard disk, VGA စတဲ့ ကြန္ပ်ဴတာအစိတ္အပိုင္း ေတြဟာ chipset ကေနတဆင့္ processor နဲ႔ဆက္သြယ္ လုပ္ေဆာင္ၾကရတဲ့အတြက္ data ေတြအားလံုးကို ျဖတ္သန္းစီးဆင္းတဲ့ အခ်က္အျခာ ေနရာတစ္ခုလည္းျဖစ္ပါတယ္။
ဒီကေန႔အသံုးျပဳေနတဲ့ motherboard ေတြရဲ႕စြမ္းေဆာင္ရည္ကို ႏွိဳင္းယွဥ္ အကဲျဖတ္ၾကတဲ့ ေနရာမွာ ဘယ္ Chipset ကိုသံုးထားသလဲဆိုတာ အေရးပါပါတယ္။ motherboard ႏွစ္ခုကို ယွဥ္ၾကည့္လို႔ chipset တူရင္ အဲဒီ board ႏွစ္ခုရဲ႕ စြမ္းေဆာင္ရည္ဟာ တူမယ္။ တပ္ဆင္အသံုးျပဳႏိုင္တဲ့ ပစၥည္းေတြ (ဥပမာ-processor, memory) အတူတူပဲလို႔ သိႏိုင္ၾကပါတယ္။ ဒါဟာဘာေၾကာင့္လဲ ဆိုေတာ့ အသံုးျပဳထားတဲ့ chipset ေပၚမူတည္ၿပီး တပ္ဆင္အသံုးျပဳရမယ့္ processor အမ်ိဳးအစား၊ memory အမ်ိဳးအစား နဲ႔ပမာဏ၊ ဘယ္လို VGA Card (ဥပမာ-AGP လား၊ PCIE လား) တပ္ဆင္သံုးႏိုင္မလဲ ဆိုတာေတြကြဲျပားတာေၾကာင့္ ျဖစ္ပါတယ္။
Chipset ထဲမွာ processor, memory, VGA နဲ႔ keyboard, mouse စတဲ့ peripheral ေတြတစ္ခုနဲ႔တစ္ခု အျပန္အလွန္ data ေတြကိုသက္ဆိုရာ bus ေတြေပၚကေန ဘယ္လုိ ပို႔ေဆာင္ဖလွယ္ၾကမလဲ ဆုိတာကိုထိန္းခ်ဳပ္ေပးတဲ့ memory controller, bus controller, Keyboard controller, mouse controller, IDE controller နဲ႔တျခား controller chip ေတြကိုစုေပါင္း ထည့္သြင္းတည္ေဆာက္ ထားပါတယ္။ ဒါ့ေၾကာင့္ chipset ဆိုတဲ့အတိုင္းပဲ controller ေတြပါဝင္တဲ့ chip အစုအေဝးပဲ ျဖစ္ပါတယ္။ တနည္းေျပာရရင္ motherboard ေပၚက အဓိက အေရႀကီးဆံုး circuit ေတြဟာ chipset ထဲမွာရွိတယ္လို႔ ဆိုႏိုင္ပါတယ္။
Chipset ကိုအမ်ိဳးအစားခြဲၾကည့္ရင္ အဓိကေနနဲ႔ AMD support နဲ႔ Intel support ဆိုၿပီးႏွစ္မ်ိဳးရွိပါတယ္။ AMD ကထုတ္တဲ့ AMD processor ေတြနဲ႔ တြဲသံုးႏိုင္တဲ့ chipset အမ်ိဳးေပါင္း အမ်ားႀကီးရွိသလို Intel ကထုတ္တဲ့ Pentium, Core i3, core i7 စတဲ့ processor ေတြနဲ႔တြဲသံုးႏိုင္တဲ့ chipset အမ်ိဳးအစားေပါင္း အမ်ားႀကီးရွိတတ္ပါတယ္။ ဘာေၾကာင့္မ်ားရသလဲဆိုေတာ့ အမ်ားစုဟာ processor gernation တစ္ခုကိုပဲ support လုပ္တာေၾကာင့္ျဖစ္ပါတယ္။ ဥပမာေျပာရရင္ Pentium III အသံုးျပဳႏိုင္တဲ့ motherboard နဲ႔ Pentium 4 အသံုးျပဳႏိုင္တဲ့ Motherboard ေတြမွာတပ္ဆင္ထားတဲ့ chipset ေတြမတူၾကသလုိ DDR တပ္ဆင္ႏိုင္တဲ့ motherboard နဲ႔ DDR 2 memory တပ္ဆင္ႏိုင္တဲ့ motherboard ေတြမွာအသံုးျပဳထားတဲ့ chipset ေတြလည္းမတူညီၾကပါဘူး။
Chipset ေတြဟာ motherboard ေပၚမွာ Microprocessor ၿပီးရင္အႀကီးဆံုး chip တစ္ခုျဖစ္တဲ့အတြက္ အလြယ္တကူ ခြဲျခားသိႏိုင္ပါတယ္။ ဒါ့အျပင္ processor ေတြေလာက္မပူေပမယ့္ သူကလည္းအပူအမ်ားႀကီး ထုတ္တဲ့ပစၥည္းျဖစ္တဲ့အတြက္ အပူေၾကာင့္ပ်က္စီးရတာကေန ကာကြယ္ဖို႔ chipset ေတြေပၚမွာ heat sink ေတြ တပ္ဆင္ဖံုးအုပ္ထားရပါတယ္။ အေရးႀကီးတဲ့အခ်က္က motherboard ေပၚမွာ အေသတပ္ထားတဲ့အတြက္ ပ်က္လို႔ပဲျဖစ္ျဖစ္၊ model ျမင့္ chipset နဲ႔အစားထိုးခ်င္လို႔ ပဲျဖစ္ျဖစ္ လဲလွယ္တပ္ဆင္လို႔ မရပါဘူး။
North- Bridge (Memory Controller Hub-MCH)
North- Bridge ဟာ high-speed component ျဖစ္ပါတယ္။ သေဘာက high-speed နဲ႔အလုပ္လုပ္ဖို႔ လုိအပ္တဲ့ပစၥည္းေတြဟာ သက္ဆိုင္ရာ bus ေတြနဲ႔ဒီ north bridge မွာခ်ိတ္ဆက္ထားရပါတယ္။ ဥပမာဆိုပါေတာ့ Video Card (AGP ပဲျဖစ္ျဖစ္၊ PCIE ပဲျဖစ္ျဖစ္) ေတြဟာဆိုရင္ တျခား device ေတြျဖစ္တဲ့ Hard Disk ေတြ၊ Sound card ေတြထက္ပိုၿပီး ျမန္တဲ့ႏွဳန္းနဲ႔ လုပ္ဖို႔လိုအပ္ပါတယ္။ ဒါ့ေၾကာင့္ Video Card တပ္ဆင္ရမယ့္ slot ဟာအၿမဲတမ္း north-bridge ကိုပဲခ်ိတ္ဆက္ထားရပါတယ္။ အဲဒီ video card နဲ႔ north-bridge ေတြကိုခ်ိတ္ဆက္ရာမွာ သံုးတဲ့ bus ကို video bus လုိ႔ေခၚပါတယ္။
ဒီျမန္ႏွဳန္းျမင့္ ပစၥည္း၂ခုျဖစ္တဲ့ CPU နဲ႔ memory ေတြဟာလည္းဒီ north-bridge မွာပဲခ်ိတ္ဆက္ၾကရပါတယ္။ ဒီေတာ့မွ CPU နဲ႔ north-bridge ေတြကိုသြယ္တန္းတဲ့ bus ကို processor (or) Front side bus လို႔ေခၚပါတယ္။ memory နဲ႔ north-bridge ေတြၾကားက bus ကို memory bus လုိ႔ေခၚပါတယ္။
ေစ်းကြက္အတြင္းမွာ CPU, memory နဲ႔ Video card ေတြကို speed အမ်ိဳးမ်ိဳးနဲ႔ ဝယ္ယူရရွိႏိုင္ပါတယ္။ ဒါေပမဲ့ အဲဒီ ပစၥည္းေတြကို ေရြးခ်ယ္ဝယ္ယူတဲ့ေနရာမွာ chipset ေတြကလက္ခံႏိုင္တဲ့ FSB speed, memory bus speed ေတြနဲ႔ကိုက္ညီမႈ ရွိဖို႔လိုပါတယ္။ ဒါမွပဲ ကြန္ပ်ဴတာကို စြမ္းရည္ျပည့္လုပ္ေဆာင္ႏိုင္ ေစမွာျဖစ္ၿပီး တကယ္လို႔ ကိုက္ညီမႈမရွိရင္ ကြန္ပ်ဴတာရဲ႕ျမန္ႏွဳန္းကို ေလ်ာ့နည္းက်ဆင္းေစတာနဲ႔ ကြန္ပ်ဴတာအလုပ္မလုပ္တဲ့ ျပႆနာေတြကို ႀကံဳေတြ႕ရေစႏိုင္ပါတယ္။
အထူးသျဖင့္ လက္ရွိအသံုးျပဳေနတဲ့ ကြန္ပ်ဴတာ motherboard ပ်က္သြားလို႔ အစားထိုးလဲလွယ္ရမယ့္ ကိစၥမ်ိဳးေတြဆို ပိုသတိထားသင့္ပါတယ္။ ဥပမာ ကိုယ့္မွာ အေကာင္းတိုင္းက်န္ေနတာက CPU (socket 775/2.8 GHz/533MHz) နဲ႔ memory (DDR2 533 MHz) ဆိုပါေတာ့။ ေစ်းကြက္ထဲသြားရွာလို႔ socket 775 ေကာ၊ DDR2 တပ္ဆင္ႏိုင္တဲ့ slot ပါပါတဲ့ motherboard ေတြ႕တာနဲ႔ ကိုယ့္မွာရွိတာေတြနဲ႔ တြဲဖက္သံုးလို႔ ရၿပီဆိုၿပီး ရမ္းမဝယ္သင့္ဘူး။ တကယ္လို႔ အဲဒီ motherboard မွာ သံုးထားတဲ့ chipset ရဲ႕ FSB speed ဟာ (667/800/1066)၊ memory ဟာ DDR2 667/800 ေတြကိုပဲ support လုပ္ခဲ့မယ္ဆိုရင္ ကိုယ့္မွာရွိေနတဲ့ ပစၥည္းေတြနဲ႔ တြဲဖက္သံုးလုိ႔ မရႏိုင္တာကို သတိျပဳရပါမယ္။
ကြန္ပ်ဴတာအသစ္ဝယ္ရင္လည္း သတိျပဳရမွာက chipset ေတြဆိုတာ FSB speed ႏွစ္မ်ိဳးသံုးမ်ိဳး support လုပ္ပါတယ္။ ဥပမာ (667/800/1066)၊ FSB 667 MHz ရွိတဲ့ processor ကိုတပ္ဆင္မယ္ဆိုရင္ အဲဒီ motherboard ရဲ႕ FSB ဟာ 667နဲ႔ပဲ အလုပ္လုပ္ပါမယ္။ processor ရဲ႕ FSB ဟာ 800ဆိုရင္ အဲဒီ motherboard ဟာ 800MHz နဲ႔အလုပ္လုပ္ပါမယ္။ သေဘာက ကြန္ပ်ဴတာစနစ္တစ္ခုလံုးရဲ႕ FSB ဟာ processor ေပၚမွာမူတည္ေနပါတယ္။ processor ေတြကဆံုးျဖတ္ေပးမယ္လို႔ ဆိုႏိုင္ပါတယ္။ ဒီ့အတြက္ FSb speed ျမင့္ျမင့္နဲ႔ အလုပ္လုပ္တဲ့ ကြန္ပ်ဴတာလုိခ်င္ရင္ FSB speed ျမင့္တဲ့ processor နဲ႔အဲဒီ speed မွီေအာင္ support လုပ္ႏိုင္တဲ့ chipset တပ္ထားတဲ့ motherboard ေတြလုိအပ္ပါတယ္။
ေျပာရရင္ motherboard တစ္ခ်ပ္ဝယ္ေတာ့မယ္ဆိုရင္ ဘယ္လို processor မ်ိဳးတပ္ဆင္အသံုးျပဳႏိုင္မလဲ၊ ဘယ္ FSB speed ေတြကို support လုပ္မလဲ၊ တပ္ဆင္အသံုးျပဳႏိုင္မယ့္ memory အမ်ိဳးအစားနဲ႔ speed၊ builtin video ပါမပါ၊ သီးျခား video card ခ်ိတ္ဖို႔ slot ပါမပါ၊ ဒါေတြကို စစ္ေဆးရပါမယ္။ အဲဒါနဲ႔မွ ေက်နပ္မႈ မရွိရင္ motherboard မွာသံုးထားတဲ့ chipset model နံပါတ္ကိုယူ အင္တာနက္မွာ googling လုပ္ (www.google.com မွာရွာေဖြတာ) (သို႔) ပစၥည္းထုတ္လုပ္သူ vendor ေတြရဲ႕ website မွာ model နံပါတ္ထည့္သြင္း ရွာေဖြတာနဲ႔ ပိုၿပီးတိက်တဲ့ technical information ေတြကိုရႏိုင္ၾကပါတယ္။
North-bridge and Integrated Video
ဟိုတုန္းကဆိုရင္ video card ေတြကို motherboard ေပၚမွာ သီးျခားဝယ္ယူ စိုက္သြင္းတပ္ဆင္ အသံုးျပဳၾကရပါတယ္။ ၁၉၉၁ခုႏွစ္ ေမလမွာ Intel ကထုတ္လုပ္တဲ့ 810 chipset ေတြမွာ video ပိုင္းပါထည့္သြင္းတည္ေဆာက္ လာတာနဲ႔ integrated video ရယ္လို႔ အသံုးမ်ားတြင္က်ယ္လာ ခဲ့ပါတယ္။ အဲဒီလုိ north-bridge ထဲမွာ ထည့္သြင္းတည္ေဆာက္ထားတာေၾကာင့္ video card သီးျခားဝယ္ဖို႔မလိုေတာ့တဲ့ အတြက္ အသံုးျပဳသူေတြ ေငြကုန္ေၾကးက် သက္သာေစတာကလည္း အသံုးမ်ား တြင္က်ယ္လာတာရဲ႕ အဓိကအခ်က္ျဖစ္ပါလိမ့္မယ္။
ဒါေပမဲ့ motherboard ေပၚမွာ built in ပါတဲ့အဲဒီ integrated video ရဲ႕ လုပ္ေဆာင္ႏိုင္မႈ performance ဟာသီးျခား video card ေတြေလာက္မေကာင္း ပါဘူး။ ဒီအတြက္ အရည္အေသြးျမင့္ video card ေတြသီးျခား စိုက္သြင္းတပ္ဆင္ ႏိုင္ေအာင္ motherboard အမ်ားစုမွာ AGP (သို႔) PCIE slot အပိုတစ္ခု ပါေလ့ရွိပါတယ္။ ဒါ့ေၾကာင့္ performance သိပ္အေရးမႀကီးပါဘူး။ ေငြကုန္သက္သာ ခ်င္ရင္ motherboard ေပၚက integrated video ကိုသံုးႏိုင္တယ္။ ဒါမွမဟုတ္ ေမာ္နီတာေပၚမွာ ပံုထြက္ေကာင္းေကာင္း အရည္အေသြး ျမင့္ျမင့္လုိအပ္တယ္ဆိုရင္ သီးျခား video card ကိုထပ္ၿပီး ထည့္သြင္းအသံုးျပဳႏိုင္ ၾကပါတယ္။
South-bridge (I/O Controler Hub-ICH)
ျမန္ႏွဳန္းျမင့္ျမင့္ အလုပ္လုပ္ဖို႔လုိအပ္တဲ့ memory နဲ႔ video display ေတြက လြဲၿပီးက်န္ device ေတြအားလံုးဟာ south-bridge မွာခ်ိတ္ဆက္ၾကရပါတယ္။ ေျပာရရင္ built-in အေနနဲ႔ ထည့္သြင္းတည္ေဆာက္ထားတဲ့ LAN adapter, modem, audio adapter, USB နဲ႔ motherboard ေပၚလာေရာက္ခ်ိတ္ဆက္ သံုးရတဲ့ Keyboard, mouse, printer စတဲ့ peripheral ေတြကို south-bridge က control လုပ္ရပါတယ္။
South-bridge မွာလည္း model အမ်ိဳးမ်ိဳးရွိပါတယ္။ ဥပမာ Intel product ေတြကို ေဖာ္ျပရရင္ ICH 7, ICH 8, ICH 9 ေတြပဲျဖစ္ပါတယ္။ model ေပၚမူတည္ၿပီး SATA drive တပ္လို႔ရမရနဲ႔ တပ္ဆင္ႏိုင္တဲ့ drive အေရအတြက္၊ USB port အေရအတြက္၊ built-in audio ပါမပါ စသျဖင့္ ကြဲျပားပါတယ္။ ဒါေပမဲ့ north-bridge ေတြေလာက္ေတာ့ အမ်ိဳးအစားမမ်ားပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ chipset ထုတ္လုပ္သူေတြဟာ chipset အမ်ိဳးအစားသစ္ တစ္ခုကို ထုတ္လုပ္တဲ့အခါ အမ်ားအားျဖင့္ north-bridge ကိုပဲ ျပဳျပင္ေျပာင္းလဲရေလ့ရွိၿပီး south-bridge ေတြကိုေတာ့ ေရွ႕ကအတိုင္းမေျပာင္းလဲဘဲ ဆက္လက္ထုတ္လုပ္ အသံုးျပဳေနတာ ပိုမ်ားပါတယ္။
Chipset Manufacturers
Chipset ထုတ္လုပ္ေရာင္းခ်တဲ့ ကုမၸဏီ တစ္ဒါဇင္ခန္႔ ရွိၿပီးအဲဒီထဲကမွ လူႀကိဳက္မ်ားၿပီး အဓိကအမ်ားဆံုးထုတ္လုပ္တဲ့ ကုမၸဏီေျခာက္ခုေလာက္ပဲ ရွိပါတယ္။ Intel, VIA, AMD, SIS, ATI နဲ႔ NVIDIA ေတြပဲျဖစ္ပါတယ္။ Pentium processor ေတြနဲ႔တြဲဖက္အသံုးျပဳႏိုင္တဲ့ chipset ထုတ္လုပ္တဲ့ကုမၸဏီေတြကေတာ့ Intel, SIS နဲ႔ VIA ေတြျဖစ္ၿပီး AMD processor ေတြနဲ႔တြဲဖက္အသံုးျပဳႏိုင္တဲ့ chipset ေတြကို SIS, VIA, NVIDIA, AMD နဲ႔ ATI ေတြကေနထုတ္လုပ္ေရာင္းခ် ပါတယ္။
Intel ဟာ chipset ေစ်းကြက္ကို ႏွစ္ေတြအမ်ားႀကီး လႊမ္းမိုးခဲ့ၿပီး ဒီကေန႔ထိ ေစ်းကြက္ share အမ်ားစုကို ဆုပ္ကိုင္ထားႏိုင္ဆဲပဲ ျဖစ္ပါတယ္။ ဒါေပမဲ့လည္း အခုခ်ိန္မွာေတာ့ Pentium နဲ႔ AMD processor ႏွစ္မ်ိဳးစလံုးကို support လုပ္ႏိုင္တဲ့ chipset ေတြကိုထုတ္လုပ္တဲ့ VIA နဲ႔ video processor ေတြနဲ႔နာမည္ရလာၿပီး AMD processor တစ္မ်ိဳးတည္းအတြက္ပဲ chipset ေတြကိုထုတ္လုပ္တဲ့ NVIDIA ေတြဟာလည္း chipset ေစ်းကြက္ share အမ်ားစု ရရွိလာေနၿပီ ျဖစ္ပါတယ္။
Chipset ေတြကိုတြဲဖက္အသံုးျပဳရမဲ့ processor ရဲ႕ specification ေပၚမူတည္ၿပီး ဒီဇိုင္းထုတ္တည္ေဆာက္ရပါတယ္။ အဲဒီလုိ processor ေပၚမူတည္ရတဲ့အတြက္ CPU အသစ္တစ္ခုကို အၿပီးသတ္ဒီဇိုင္းဆြဲၿပီးမွသာ အဲဒီ ဒီဇိုင္းနဲ႔တြဲဖက္ညီမယ့္ chipset ေတြကို ထုတ္လုပ္ဖို႔ စီစဥ္ၾကရပါတယ္။ ဒါ့အျပင္ chipset ထုတ္လုပ္သူေတြနဲ႔ memory ထုတ္လုပ္သူ၊ BIOS program ေရးသားသူေတြအၾကားမွာလည္း နည္းပညာအရ ပူးေပါင္းေဆာင္ရြက္မႈမ်ိဳး ရွိၾကပါတယ္။
ဒါ့ေၾကာင့္ processor အသစ္တစ္ခု၊ နည္းပညာအသစ္နဲ႔ memory အမ်ိဳးအစားတစ္ခု ေပၚလာတိုင္းသူတို႔ကို support လုပ္ႏိုင္တဲ့ chipset ေတြလည္း ထြက္ေပၚလာရပါတယ္။ အဲဒီ chipset အသစ္နဲ႔အတူ ဘယ္ processor၊ ဘယ္ memory အမ်ိဳးအစား၊ ဘယ္ေလာက္ memory slot အေရအတြက္ကို support လုပ္မလဲ စတဲ့ technical information ေတြလည္းပူးတြဲပါရွိပါတယ္။ အဲဒီ technical information ေတြအရ motherboard ထုတ္လုပ္သူေတြက အသံုးျပဳမဲ့ chipset ေပၚမူတည္ၿပီး motherboard ေတြကို ပံုစံထုတ္ေရာင္းခ်ၾကပါတယ္။
ဒါ့ေၾကာင့္ ကြန္ပ်ဴတာတစ္လံုးကိုတပ္ဆင္မယ္၊ ဒါမွမဟုတ္ အဆင့္ျမွင့္လိုတဲ့အခါ ကိုယ့္ရဲ႕ကြန္ပ်ဴတာ motherboard မွာပါတဲ့ chipset ရဲ႕ technical information ကုိ သိဖို႔လုိပါတယ္။ ဥပမာ လက္ရွိသံုးေနတဲ့ DDR 266 အစား DDR 333 ကိုေျပာင္းလဲ သံုးလို႔ရမရ၊ ရိုးရိုး Pentium 4 ကေန HT ပါတဲ့ processor ကိုအဆင့္ျမွင့္လို႔ရမရ စတာေတြကို သိလိုရင္ motherboard ဝယ္တုန္းက ပါလာခဲ့တဲ့ စာရြက္စာတမ္းေတြမွာ ျဖစ္ေစ၊ chipset ကိုထုတ္လုပ္တဲ့ကုမၸဏီရဲ႕ website မွာျဖစ္ေစ ကိုယ့္ရဲ႕ motherboard မွာအသံုးျပဳထားတဲ့ chipset ရဲ႕ information ေတြကိုသြားေရာက္ ဖတ္ရႈရပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Sunday, March 15, 2015
A+(Hardware) Chapter 9 (အပတ္စဥ္ ၁)
CPU Socket (or) ZIF Socket
CPU Socket ေတြကို ရုတ္တရက္ၾကည့္မယ္ဆိုရင္ အားလံုးက တူသလိုပဲ ျဖစ္ပါတယ္။ ဒါေပမဲ့ အမွန္ေတာ့ Pin အေရအတြက္နဲ႔ ပံုသ႑ာန္ Layout ေပၚမူတည္ၿပီး Socket 478, Socket 775 စသျဖင့္ ကြဲျပားပါတယ္။ အဲဒီ Socket အမ်ိဳးအစားေတြေပၚ မူတည္ၿပီး တပ္ဆင္အသံုးျပဳရမဲ့ processor ေတြလည္းကြဲျပားၾကပါတယ္။ Motherboard ေတြကို CPU ေတြေပၚမူတည္ၿပီး ျပဳလုပ္ထားတာျဖစ္တဲ့အတြက္ socket type ကိုၾကည့္တာနဲ႔ ဘယ္လို processor မ်ိဳးတပ္ဆင္အသံုးျပဳရမလဲ ဆိုတာကို အလြယ္တကူ သိႏိုင္ပါတယ္။
Installing A Processor
CPU တစ္ခုကို မတပ္ဆင္ခင္ ဝယ္တုန္းက ပါလာခဲ့တဲ့ စာရြက္စာတမ္း user manual ေတြကိုေသခ်ာ ဖတ္ထားဖို႔လိုပါတယ္။ CPU အမ်ိဳးအစားေပၚမူတည္ၿပီး socket ေတြလည္းကြာသလို တပ္ဆင္ပံုေတြမွာ အနည္းငယ္ကြဲလြဲမႈေတြ ရွိပါတယ္။ ဒါေပမဲ့ အေျခခံသေဘာတရားေတြကေတာ့ အတူတူပဲျဖစ္ပါတယ္။ အရင္ဆံုး core i7 processor ကိုု socket1366 ထဲမွာ တပ္ဆင္ပံုေတြကို အဆင့္လိုက္ အျပည့္အစံု ေဖာ္ျပသြားပါမယ္။ အဲဒီေနာက္မွာေတာ့ socket-775 နဲ႔ socket-478 ေတြမွာ တပ္ဆင္တဲ့အခါ သတိထားရမယ့္ ေနရာေလးေတြကို ထုတ္ႏွဳတ္တင္ျပသြားပါမယ္။
Core I processor အား socket1366 တြင္တပ္ဆင္ျခင္း
Processor ေတြကို motherboard အား system unit အတြင္း ထည့္သြင္းေနရာ မခ်ခင္ ျပင္ပမွာ လြတ္လြတ္လပ္လပ္ တပ္ဆင္သင့္ပါတယ္။ တကယ္လို႔ လက္ရွိသံုးေနတဲ့ ကြန္ပ်ဴတာရဲ႕ CPU လဲလွယ္ upgrade လုပ္တာမ်ိဳးျဖစ္ခဲ့ရင္ေတာင္ motherboard ကိုအျပင္ထုတ္ၿပီး တပ္ဆင္မယ္ဆိုရင္ ပိုေကာင္းပါတယ္။ motherboard အသစ္၊ processor အသစ္ျဖစ္ပါက socket coven cpu cover ေတြပါရွိပါတယ္။ သူတို႔ကို ဖယ္ရွားၿပီးတပ္ဆင္ရပါမယ္။
(1)socket ေဘးက ZIF Lever လို႔ေခၚတဲ့ ေမာင္းတံကို 90 ံအေနအထားကို ေရာက္ေအာင္အေပၚကို မပါ။
(2) အထိုင္ socket က load plate ကိုမၿပီး socket cover ကိုဖယ္ရွားပါ။ ဒီေနရာမွာ အထူးသတိျပဳရမွာက socket က pin ေတြကို လံုးဝမထိခိုက္မိေအာင္ သတိထားပါ။
(3) processor cover ကိုဖယ္ရွားရပါမယ္။ processor ရဲ႕ေဘးႏွစ္ဖက္ကေန ညွပ္ကိုင္ပါ။ Socket မ်က္ႏွာျပင္က contact လိုင္းေတြကို မထိမိပါေစနဲ႔။
(4) processor ကို socket အတြင္းထည့္ပါမယ္။ အေနအထားလြဲမွား တပ္ဆင္တာ မျဖစ္ရေအာင္ processor နဲ႔ socket တိုင္းမွာ key notch ေတြပါပါတယ္။ သူတို႔ကို တည့္မတ္ေအာင္ ခ်ိန္ရြယ္ၿပီး processor ကို socket အထဲထည့္သြင္း အထိုင္ခ်ပါ။
(5) processor ဟာ socket ထဲမွာ အေနအထားမွန္မွန္ အထိုင္က်မက် ျပန္ၿပီးစစ္ေဆးပါ။ ေသခ်ာၿပီဆိုရင္ load plate ကိုအရင္ပံုစံ ျဖစ္ေအာင္ဆြဲခ်ပါ။
(6) ZIF Lever ကိုျဖည္းျဖည္းခ်င္း ဖိခ်ၿပီး Lock ျပန္လုပ္ပါ။ ဒါဆိုရင္ processor ကို socket ထဲမွာတပ္ဆင္ၿပီးသြားပါၿပီ။ processor ေပၚကေန heat sink တပ္ဖို႔ပဲ က်န္ပါေတာ့တယ္။
Heat Sink
Heat sink တပ္ဖို႔ motherboard ေပၚမွာ အေပါက္ေလးေပါက္ ပါပါတယ္။ heat sink ကိုဘယ္လိုအေနအထားနဲ႔ ေနရာခ်မလဲ ႀကိဳတင္ေလ့လာပါ။ heat sink ေတြရဲ႕ ေအာက္ေျခ processor နဲ႔ထိကပ္မယ့္ ေနရာမွာ အပူစီးကူးမႈအားေကာင္းေအာင္ thermal compound တစ္မ်ိဳးသုတ္ထားေလ့ရွိၿပီး သူ႕အေပၚမွာ ပလပ္စတစ္လႊာ တစ္ခ်ပ္ကပ္ထားေလ့ရွိတတ္ပါတယ္။ အဲဒီ ပလပ္စတစ္လႊာကို ဖယ္ရွားထားလိုက္ပါ။
(1)heat sink ေတြရဲ႕ေဘးမွာ တြဲလ်က္ Locking pin ေလးေတြရွိပါတယ္။ သူတို႔ကို heat sink နဲ႔ေထာင့္မွန္က်ေအာင္ လွည့္ထားလိုက္ပါ။
(2) heat sink ကို processor ေပၚတင္ၿပီး Locking pin ေတြနဲ႔ motherboard ေပၚက အေပါက္ေလးေပါက္ကို တည့္မတ္ေအာင္ခ်ိန္ညွိပါ။
(3) တည့္သြားၿပီဆိုရင္ Locking pin ေတြကိုဖိခ်ပါ။ ေလးခုစလံုးဖိၿပီးသြားရင္ screw driver အျပားနဲ႔ Locking pin ေတြအေပၚက key line ထဲထည့္ၿပီး clockwise အတိုင္းလွည့္ပါ။ (ေနာင္တခ်ိန္ heat sink ျဖဳတ္ဖို႔လုိအပ္လာခဲ့ရင္ counter clockwise အတိုင္းလွည့္ျဖဳတ္ႏိုင္ပါတယ္။)
(4)ေနာက္ဆံုးအဆင့္အေနနဲ႔ Fan power connector ကိုတပ္ဆင္ရမွာျဖစ္ၿပီး connector တပ္ဖို႔အတြက္ socket အနီးအနားမွာ 3 pin connector တစ္ခုပါရွိပါတယ္။ Fan ေတြမွာပံုမွန္အေနနဲ႔ ဝါယာသံုးေခ်ာင္းပါေလ့ ရွိပါတယ္။ ႏွစ္ေခ်ာင္ကပါဝါအတြက္ ျဖစ္ၿပီး က်န္တစ္ေခ်ာင္းက Fan ရဲ႕လည္ပတ္တဲ့ႏွွဳန္းကို ကြန္ပ်ဴတာမွာ သိရွိေစဖို႔အတြက္ ျဖစ္ပါတယ္။ ဒါ့ေၾကာင့္ တခ်ိဳ႕ BIOS setup ထဲမွာ Fan ဟာဘယ္ speed နဲ႔လည္ေနသလဲဆိုတာကို ေဖာ္ျပႏိုင္ပါတယ္။ ဒါ့အျပင္ တခ်ိဳ႕ ကြန္ပ်ဴတာေတြမွာ ဆိုရင္ Fan ဟာပံုမွန္အတိုင္း မလုပ္ေဆာင္ႏိုင္ေတာ့ပဲ အပတ္ရည္က်လာၿပီဆိုရင္ ကြန္ပ်ဴတာက alarm ေတြေပးေလ့ရွိပါတယ္။ အခုလိုပဲ Fan အတြက္ပါဝါ connector ကိုတပ္ဆင္ၿပီးပါက motherboard ေပၚမွာ CPU တပ္ဆင္တာၿပီးဆံုးပါၿပီ။ အေရးႀကီးတာက Heat sink ဟာစနစ္တက် ခိုင္ခိုင္ၿမဲၿမဲ အထိုင္က်န ေသခ်ာမႈ ရွိမရွိ ျပန္လည္စစ္ေဆးပါ။
Socket 775 တြင္ တပ္ဆင္သည့္အခါ သတိျပဳရမည့္ေနရာမ်ား
Socket 775 မွာ key notch ႏွစ္ခုပါပါတယ္။ ဒါ့အျပင္ တပ္ဆင္မယ့္ processor မွာလည္း notch ႏွစ္ခုပါပါတယ္။ အဲဒီႏွစ္ခုကို တည့္မတ္ေအာင္ ခ်ိန္ရြယ္ၿပီး ေနရာခ် တပ္ဆင္ရပါမယ္။
Locking pin (spacer) နဲ႔ motherboard ေပၚကအေပါက္ေတြကို တည့္မတ္ေအာင္ ခ်ိန္ညွိၿပီး တပ္ဆင္ပါ။
Socket 478 တြင္တပ္ဆင္မည့္အခါ သတိျပဳရမည့္ေနရာမ်ား
ေအာက္ကပံုက Socket 478 မွာ processor တပ္ဆင္ထားပံုျဖစ္ပါတယ္။ heat sink တပ္ဆင္ဖို႔ frame အေနအထားကို ေလ့လာၾကည့္ပါ။
Heat sink ကို frame ထဲထည့္ၿပီး heat sink က chip နဲ႔အထိုင္က်ေအာင္ ခ်ိတ္ပါ။ clip ေလးဘက္စလံုး မိမိရရျဖစ္ရပါမယ္။
အဲဒီလို ဆြဲခ်ိတ္တဲ့ အခ်ိန္မွာ ခ်ိတ္မရေအာင္ အရမ္းတင္းေနရင္ heat sink ေပၚက Lever ေမာင္းတံႏွစ္ခုကို သတိထားပါ။ ေမာင္းတံႏွစ္ခုကို ဆန္႔က်င္ဘက္ အေနအထားကို ေရြ႕ၿပီး ျပန္ခ်ိတ္ၾကည့္ပါ။
Fan ေပၚက clip lever ႏွစ္ခုကို ဆြဲခ်ပါ။ အဲဒီလို ဆြဲခ်တဲ့အခါ အေလ်ာ့လြန္း မတင္းလြန္းအလိုက္သင့္ေလး ျဖစ္သင့္ပါတယ္။ heat sink အထိုင္က် ၿမဲၿမံမႈရွိမရွိ စစ္ေဆးပါ။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Friday, March 13, 2015
A+(Hardware) Chapter 8.3 (အပတ္စဥ္ ၁)
Instruction Set (CISC & RISC)
CPU ကနားလည္ႏိုင္တဲ့ instruction ေတြအားလံုးပါဝင္တဲ့ command အစုအေဝးတစ္ခုကို Instruction set လို႔ေခၚပါတယ္။ CPU အမ်ိဳးအစားနဲ႔ model ေပၚမူတည္ၿပီး နားလည္အသံုးျပဳႏိုင္တဲ့ instruction set ေတြဟာမတူညီၾကပါဘူး။ အသံုးျပဳထားတဲ့ Instruction set ေပၚမူတည္ၿပီး CISC နဲ႔ RISC ဆိုၿပီး CPU architecture (2) မ်ိဳးရွိပါတယ္။
CISC ဆိုတာကေတာ့ Complex Instruction Set Computer ျဖစ္ၿပီး sisk လို႔အသံထြက္ပါတယ္။ RISC ကေတာ့ Reduce Instruction Set Computer ျဖစ္ၿပီး risk လုိ႔အသံထြက္ရပါတယ္။ CISC processor မွာပါတဲ့စုစုေပါင္း instruction အေရအတြက္ဟာ RISC ေတြမွာပါဝင္တဲ့ instruction အေရအတြက္ထက္ ပိုမ်ားၿပီး ပိုရႈပ္ေထြးပါတယ္။
Intel, AMD နဲ႔ Cyrix ကိုမွထုတ္လုပ္တဲ့ CPU အားလံုးဟာ CISC အမ်ိဳးအစား ျဖစ္တဲ့ X86 instruction set နဲ႔ compatible ျဖစ္တဲ့ Instruction Set ကိုအသံုးျပဳ ၾကၿပီး Apple ကထုတ္လုပ္တဲ့ CPU အားလံုးမွာ RISC instruction set ကိုအသံုးျပဳ ၾကပါတယ္။ အဲဒီလို instruction set မတူညီတာေၾကာင့္ Apple computer မွာ အသံုးျပဳဖို႔အတြက္ ေရးသားထားတဲ့ Mac program ေတြကို X86 Chip ေတြျဖစ္ၾကတဲ့ Pentium, AMD နဲ႔ Cyrix processor ေတြကိုအသံုးျပဳထားတဲ့ ကြန္ပ်ဴတာေတြမွာ အသံုးျပဳလို႔မရပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ Mac program က instruction (or) source code ေတြကိုနားမလည္တာေၾကာင့္ ျဖစ္ပါတယ္။
CISC နဲ႔ RISC ေတြရဲ႕ ကြာျခားတာကိုသိသာေစဖို႔ အတြက္ ထိုင္ေနတဲ့ ကေလးတစ္ေယာက္ကို စားပြဲေပၚက ေဘာပင္ယူခိုင္းတဲ့ ျဖစ္စဥ္နဲ႔ ဥပမာေဖာ္ျပပါမယ္။ CISC instruction ေတြနဲ႔သာဆိုရင္ ေအာက္ပါအတိုင္း ေျပာရပါမယ္။
(၁)စားပြဲဆီကိုသြားပါ။
(၂)စားပြဲေပၚက ေဘာပင္ကို ဒီကိုယူလာေပးပါ။
RISC instruction နဲ႔သာဆိုရင္ ေအာက္ကအတိုင္းေျပာရပါမယ္။
(၁)မတ္တပ္ရပ္ပါ။
(၂)စားပြဲဆီကိုသြားပါ။
(၃)စားပြဲေပၚက ေဘာပင္ကုိယူလိုက္ပါ။
(၄)ဒီကိုယူလာပါ။
(၅)ေပးပါ။
RISC နဲ႔သာဆိုရင္ အလုပ္တစ္ခုၿပီးေျမာက္ဖို႔ Instruction ေတြလိုအပ္ပါတယ္။ RISC instruction တစ္ခုခ်င္းစီဟာ ရိုးရွင္းသလုိ နည္းနည္းပဲ လုပ္ႏိုင္ပါတယ္။ ဒါေပမဲ့ command တစ္ခုခ်င္းစီကို ျမန္ျမန္ဆန္ဆန္ လုပ္ႏိုင္တဲ့ အားသာခ်က္ေတြရွိပါတယ္။ CISC instruction ေတြဟာ ရႈပ္ေထြးပါတယ္။ ဒါေပမဲ့ အလုပ္တစ္ခုၿပီးေျမာက္ဖို႔ instruction တစ္ခု (သို႔) အနည္းငယ္ေလာက္နဲ႔ လံုေလာက္တတ္ပါတယ္။
Processor အသစ္ထြက္လာတိုင္း ေရွ႕ကထက္စြမ္းေဆာင္ရည္ ပိုေကာင္းေအာင္ featue သစ္ေတြထပ္တိုးထည့္သြင္းၿပီး အဆင့္ျမွင့္ျပဳျပင္ထုတ္လုပ္ေလ့ ရွိရတယ္။ ေျပာရရင္ 486 Processor ေတြထိေအာင္ CPU ေတြဟာ တစ္ႀကိမ္မွာ instruction တစ္ခုကိုပဲ run ႏိုင္ပါတယ္။ 486ေနာက္ပိုင္း Pentium processor ေတြကေန pipeline technology ေတြထည့္သြင္းအသံုးျပဳတာနဲ႔ architecture ကိုေျပာင္းလဲကာ တစ္ႀကိမ္မွာ instruction တစ္ခုထက္မက execute လုပ္ႏိုင္ခဲ့ေစပါတယ္။ ဒါ့ေၾကာင့္ Pentium III ေနာက္ပိုင္းကေနစၿပီး processor ေတြရဲ႕စြမ္းေဆာင္ရည္ကုိ clock speed တစ္မ်ိဳးတည္းကိုပဲ ၾကည့္ၿပီး ဆံုးျဖတ္လို႔မရေတာ့ပါဘူး။ အဲဒီလိုတည္ေဆာက္ ပံုသာမက နဂိုမူလ X86 instruction set ေတြထဲမွာ instruction အသစ္ေတြ ထည့္သြင္းၿပီး MMX, SSE, SSE2, SSE3 အစရွိတဲ့ instruction set အသစ္ေတြနဲ႔ အဆင့္ျမွင့္ျပဳျပင္ခဲ့ၾကပါတယ္။
အေရးႀကီးတာက processor သစ္တစ္လံုးဟာ အသစ္ထည့္သြင္းထားတဲ့ instruction set ကိုသာမက ေရွ႕က အေဟာင္းေတြကိုလည္း support လုပ္ႏိုင္ရပါတယ္။ တကယ္လို႔ processor အသစ္ကို instruction set သစ္တစ္မ်ိဳးတည္းကိုပဲ support လုပ္ႏိုင္ေအာင္ တည္ေဆာက္လိုက္ရင္ လက္ရွိအသံုး ျပဳေနတဲ့ OS ေတြ၊ Application software ေတြဟာ အဲဒီ Instruction set အသစ္မွာ ပါတဲ့ instruction အသစ္ေတြကို နားမလည္ႏိုင္တဲ့အတြက္ အလုပ္မလုပ္ႏိုင္ပါဘူး။ ဒါေၾကာင့္ processor ေတြဟာ ေရွ႕က Instruction set ေတြကိုပါ support လုပ္ႏိုင္ေအာင္ ထုတ္လုပ္ၾကရပါတယ္။
ေျပာရရင္ 1997ခုႏွစ္မွာ Pentium MMX Processor ေတြမွာ MMX technology ကိုထည့္သြင္းအသံုးျပဳခဲ့ပါတယ္။ 1999ခုႏွစ္မွာေတာ့ Pentium III processor ေတြမွာ SSE လို႔ေခၚတဲ့ Instruction set အသစ္ကို ထည့္သြင္းလာပါတယ္။ SSE ဆိုတာေရွ႕က MMX Instruction set ကိုပဲအေျခခံၿပီး Instruction အသစ္70 ထပ္တိုးေပါင္းၿပီး အဆင့္ျမွင့္ update လုပ္ထားတာျဖစ္ပါတယ္။ SSE2 ေတြ၊ SSE3 ေတြ၊ SSE4 ေတြလည္းဒီအတိုင္းပါပဲ။ ေရွ႕က Instruction set ေတြထဲမွာ Instruction အသစ္ေတြထပ္တိုးထည့္သြင္း အဆင့္ျမွင့္ထားတာျဖစ္ပါတယ္။ ဒါေၾကာင့္ SSE4 ထဲမွာ ေရွ႕က SSE3, SSE2, SSE နဲ႔ MMX ေတြက Instruction ေတြအားလံုးပါရွိပါတယ္။ 2008ခုႏွစ္ထုတ္ core i7 processor ေတြမွာအသံုးျပဳတဲ့ instruction set ဟာ SSE4.2 ျဖစ္ပါတယ္။
Processor Mode
Intel က processor ေတြရဲ႕ architecture ေပၚမူတည္ၿပီးေခၚတဲ့ အေခၚေတြလည္း ရွိပါတယ္။ ဟိုအရင္ 8088 processor ေတြကေနစၿပီး 286 processor ေတြအထိ 16-bit Architecture ျဖစ္ပါတယ္။ ေျပာရရင္ 286 processor ေတြထိ 16-bit register ေတြကို အသံုးျပဳထားတာ ျဖစ္ပါတယ္။ ဒီအတြက္ 16-bit OS ေတြျဖစ္ၾကတဲ့ DOS, windows 3.x ေတြနဲ႔ 16 bit application ေတြကို အသံုးျပဳခဲ့ၾက ပါတယ္။ main memory အျဖစ္ အျမင့္ဆံုး တပ္ဆင္အသံုးျပဳႏိုင္တဲ့ memory capacity ဟာ 1MB ျဖစ္ပါတယ္ (20 bit address bus)။ အဲဒီ 16 bit processor ေတြအလုပ္လုပ္တဲ့ mode ကို Real Mode လို႔ေခၚပါတယ္။
Processor ေတြရဲ႕ Architecture ပထမဆံုးအႀကိမ္ စေျပာင္းတာက 1985ခုႏွစ္ 386 processor ေတြမွာျဖစ္ပါတယ္။ ေျပာရရင္ 386 processor ေတြဟာ 32-bit register ကိုသံုးၿပီး တည္ေဆာက္ထားတဲ့ 32-bit processor ေတြပဲျဖစ္ပါတယ္။ အဲဒီ 386 ကေနစၿပီး Pentium4 (2001) ထိ 32 bit processor ေတြျဖစ္ပါတယ္။ အဲဒီ 32 bit processor ေတြကို IA-32 (Intel Architecture, 32 bit) လို႔ေခၚပါတယ္။ ဒီေနရာမွာ ထူးျခားတာက 32-bit processor ျဖစ္တဲ့ 386, 486 processor ေတြကို အသံုးျပဳေပမဲ့ 32-bit OS တို႔ 32 bit application ေတြမရွိခဲ့ပါဘူး။ ေရွ႕က 16-bit OS နဲ႔ 16 bit application ေတြကိုပဲ အသံုးျပဳခဲ့ၾကပါတယ္။ ဆယ္ႏွစ္ေက်ာ္ၾကာခဲ့ၿပီး 1995ခုႏွစ္ေရာက္မွ 32-bit OS ျဖစ္တဲ့ Windows 95 နဲ႔အတူ 32 bit application ေတြေပၚထြက္လာပါတယ္။ အဲဒီ 32 bit (IA 32) processor ေတြအလုပ္လုပ္တဲ့ mode ကို Protected Mode လို႔ေခၚပါတယ္။
2001ခုႏွစ္မွာ Intel ကပထမဆံုး 64 bit processor ေတြကို စတင္မိတ္ဆက္ ေပးခဲ့ပါတယ္။ အဲဒီ processor ေတြကို IA-64 (Intel Architecture, 64 bit) လုိ႔ေခၚပါတယ္။ processor အမည္အေနနဲ႔ကေတာ့ Itanium 1, Itanium 2 နဲ႔ Itanium dual-core ဆိုၿပီး သံုးမ်ိဳးပဲရွိခဲ့ပါတယ္။ IA-64 ေတြဟာ backword compatible မျဖစ္တဲ့အတြက္ အသံုးမ်ားတာမရွိတဲ့ Architecture လည္းျဖစ္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ IA-64 ေတြဟာ 64bit တစ္မ်ိဳးတည္းကိုပဲ support လုပ္တာေၾကာင့္ ျဖစ္ပါတယ္။ အဲဒီတုန္းက အသံုးျပဳတဲ့ 32-bit OS ေတြ၊ 32 bit application ေတြကိုအဲဒီ့ processor ေတြနဲ႔တြဲဖက္ အသံုးမျပဳႏိုင္ခဲ့ပါဘူး။ Microsoft က IA-64 အတြက္သီးသန္႔ထုတ္ထားတဲ့ Windows 2003 64 bit (Itanium version) ကိုပဲအသံုးျပဳလို႔ ရပါတယ္။ ဒါက Intel ရဲ႕ၿပိဳင္ဘက္ AMD ေတြအတြက္ ပခံုးခ်င္းယွဥ္ႏိုင္ဖို႔ အခြင့္အလမ္းေကာင္း တစ္ရပ္ျဖစ္ခဲ့ပါတယ္။
2003ခုႏွစ္ AMD မွာ AMD 64 လို႔ေခၚတဲ့ 64 bit processor ေတြကို ထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ processor ေတြဟာ 64-bit OS နဲ႔ 32-bit OS ႏွစ္မ်ိဳးစလံုးကို support လုပ္ႏိုင္တဲ့အတြက္ အသံုးမ်ားတြင္က်ယ္ခဲ့ပါတယ္။ 2004ခုႏွစ္မွာေတာ့ ေစ်းကြက္ကို ျပန္ၿပီးဦးေဆာင္ႏိုင္ဖို႔ Intel ဟာ 32-bit OS နဲ႔ 64-bit OS ႏွစ္မ်ိဳးစလံုးကို support လုပ္တဲ့ 64 bit processor ေတြကိုထုတ္လုပ္ခဲ့ၿပီး EM64T (or) IA-32e လို႔ေခၚပါတယ္။ အဲဒီ 64 bit processor (IA-32e) ေတြဟာ 64-bit Mode နဲ႔ Compatible Mode ႏွစ္မ်ိဳးလံုးကို support လုပ္ႏိုင္တဲ့အတြက္ေၾကာင့္ ကြန္ပ်ဴတာတစ္လံုးတည္းမွာ 64-bit နဲ႔ 32-bit application ေတြကိုတၿပိဳင္နက္ အသံုးျပဳႏိုင္ေစပါတယ္။
EM64T – Extended Memory 64 Tachnology
IA-32e- Intel Architecture, 32bit Extension
Multiprocessing, Multithreading & MultiCore
CPU ထုတ္လုပ္သူေတြဟာ နည္းပညာသစ္၊ နည္းလမ္းအသစ္ေတြနဲ႔ တီထြင္ႀကံဆၿပီး တစ္မ်ိဳးထက္တစ္မ်ိဳး စြမ္းေဆာင္ရည္ျမင့္မားတဲ့ CPU ေတြထုတ္လုပ္ ႏိုင္ေအာင္ စဥ္ဆက္မျပတ္ ႀကိဳးပမ္းခဲ့ၾကပါတယ္။ ရလဒ္အေနနဲ႔ကေတာ့ တႀကိမ္မွာ လုပ္ငန္းတစ္ခုပဲလုပ္ႏိုင္တဲ့ အဆင့္ကေန တစ္ခုထက္မက လုပ္ႏိုင္တဲ့အဆင့္ကို ေရာက္ခဲ့ပါတယ္။ အဲဒီလို ရဖို႔အတြက္ သံုးခဲ့ၾကတဲ့ နည္းေတြထဲက Multiprocessing, Multithreading နဲ႔ Multicore ေတြဟာ အရမ္းေက်ာ္ၾကားတဲ့ နည္းပညာရပ္ေတြပဲ ျဖစ္ပါတယ္။
Multiprocessing
ဟိုးအရင္ (386) processor ေတြအထိ CPU တစ္ခုမွာ ALU တစ္ခုပဲပါပါတယ္။ ေနာက္ပိုင္း (486) processor ေတြမွာ ALU ႏွစ္ခုထည့္သြင္းလာပါတယ္။ အားသာခ်က္ အေနနဲ႔ကေတာ့ တႀကိမ္မွာ instruction တစ္ခုပဲ run ႏိုင္ရာကေန ႏွစ္ခုတစ္ၿပိဳင္နက္ run ႏိုင္လာပါတယ္။ အဲဒီလို တစ္ႀကိမ္မွာ instruction တစ္ခုထက္မက run ႏိုင္တာကို Multiprocessing လို႔ေခၚပါတယ္။
Hyperthreading Technology (Multithreading)
ဒီကေန႔ processor ေတြရဲ႕ လုပ္ေဆာင္ႏိုင္မႈန႔ဲပတ္သက္ၿပီး ေျပာၾကတဲ့ေနရာမွာ HT ကို support လုပ္တယ္ မလုပ္ဖူးဆိုတဲ့ အသံုးအႏွဳန္းလည္း ေခတ္စားပါတယ္။ ဒါေၾကာင့္ HT (Hyperthreading) ဆိုတာကလည္း ထူးထူးျခားျခား ဘာေတြလုပ္ႏိုင္ သလဲဆိုတာကို ရွင္းျပဖို႔လုိအပ္လာပါတယ္။ HT အေၾကာင္းကို နားလည္ဖို႔အတြက္ HT မပါတဲ့ သာမန္ standard processor နဲ႔ software program ေတြဘယ္လို ပူးေပါင္းလုပ္ေဆာင္ၾကသလဲ ဆိုတာကို သိထားရမွာျဖစ္ပါတယ္။
ဒီကေန႔ ကြန္ပ်ဴတာေတြဟာ Multitasking လုပ္ေဆာင္ႏိုင္ၾကပါတယ္။ Multitasking ဆိုတာအလြယ္ေျပာရရင္ program တစ္ခုထက္ပိုၿပီး တစ္ၿပိဳင္နက္ ဖြင့္သံုးႏိုင္တာကို ဆိုလိုပါတယ္။ ဒါ့ေၾကာင့္ ကြန္ပ်ဴတာ တစ္လံုးမွာ active ျဖစ္ေနတဲ့ program အေရအတြက္ဟာ တစ္ခုထက္မက အမ်ားႀကီးရွိႏိုင္ပါတယ္။ ဘယ္ေလာက္ အေရအတြက္ active ျဖစ္ေနသလဲဆိုတာ Windows task manager မွာသြားၾကည့္ႏိုင္ ပါတယ္။ ပံုမွန္ standard processor (single processor) ဟာ အခ်ိန္တစ္ခုမွာ program တစ္ခုကလာတဲ့ thread တစ္ခုကိုပဲ လက္ခံလုပ္ေဆာင္ ႏိုင္ပါတယ္။
အဲဒီလို တစ္ႀကိမ္မွာ thread တစ္ခုကိုပဲ လက္ခံလုပ္ေဆာင္ ႏိုင္တဲ့အတြက္ ကြန္ပ်ဴတာမွာ program မ်ားမ်ားဖြင့္သံုးေလ core တစ္ခုတည္းပါတဲ့ single core processor ေတြရဲ႕ အားနည္းခ်က္ကို ပိုၿပီးသိသာေလျဖစ္ပါတယ္။ ဒါ့ေၾကာင့္ တခ်ိဳ႕ server, workstation စတဲ့စြမ္းရည္ျမင့္ လုပ္ေဆာင္ဖို႔ လုိအပ္တဲ့ ကြန္ပ်ဴတာေတြမွာ ဆိုရင္ dual processor system ကိုအသံုးျပဳေလ့ရွိပါတယ္။
Dual processor ဆိုတာ motherboard တစ္ခုေပၚမွာတင္ CPU socket ႏွစ္ခုပါၿပီး processor ႏွစ္လံုးတစ္ၿပီး အသံုးျပဳရတဲ့ ကြန္ပ်ဴတာေတြပဲ ျဖစ္ပါတယ္။ အဲဒီ dual processor ေတြမွာဆိုရင္ အခ်ိန္တစ္ခုမွာ thread ႏွစ္ခုကို execute လုပ္ႏိုင္ပါတယ္။ သိသာတဲ့ ကြာျခားမႈက အခ်ိန္တိုအတြင္း အလုပ္ပိုလုပ္ႏိုင္လိမ့္မယ္။ Hyperthreading ဆိုတာကေတာ့ dual processor ကိုအေျခခံၿပီး တိုးတက္လာတဲ့ နည္းပညာတစ္ခုပဲ ျဖစ္ပါတယ္။ HT နည္းပညာနဲ႔ processor တစ္လံုးတည္းကိုပဲ ႏွစ္လံုးတပ္ထားသလို ျဖစ္ေအာင္ လုပ္ေဆာင္ႏုိင္ေစပါတယ္။ ဒါ့ေၾကာင့္ စြမ္းေဆာင္ရည္ ပိုျမင့္ပါတယ္။ ဒါဆိုရင္ HT-processor ဟာသာမန္ Single core processor ေတြထက္ ႏွစ္ဆပိုမို ျမန္ဆန္ေအာင္ လုပ္ေဆာင္ႏိုင္လိမ့္မယ္လို႔ ထင္စရာရွိလာႏိုင္ပါတယ္။
အမွန္ေတာ့ Hyperthreading processor ေတြမွာ Architecture state (Arch State) ကိုပဲပံုတူပြားၿပီး logical processor ႏွစ္ခုျဖစ္ေအာင္ ဖန္တီးထားတာ ျဖစ္ပါတယ္။ က်န္တဲ့ အစိတ္အပိုင္းေတြျဖစ္တဲ့ cache, Exeation unit, Control unit buses နဲ႔တျခား resource အားလံုးနီးပါကို မွ်ေဝသံုးစြဲၾကရပါတယ္။ ဒါ့ေၾကာင့္ processor ႏွစ္ခုတပ္ဆင္ၿပီး အသံုးျပဳသလိုပဲ စြမ္းေဆာင္ရည္ႏွစ္စတက္မလာပဲ အမ်ားဆံုး ၃၀ရာခိုင္ႏွဳင္းခန္႔ပဲ ပိုမိုျမင့္မားလာႏိုင္ပါတယ္။
Hyperthreading ႏွင့္ပတ္သက္ေသာ သိမွတ္ဖြယ္ရာမ်ား
HT technology ကိုအသံုးခ်ႏိုင္ဖို႔အတြက္ ေအာက္ေဖာ္ျပပါ အခ်က္ေတြနဲ႔ ျပည့္စံုေနရပါမယ္။
Processor ဟာ HT ပါတဲ့ processor ျဖစ္ရပါမယ္။ ေနာက္ပိုင္း Pentium 4 နဲ႔ Core I ေတြဟာ အမ်ားအားျဖင့္ HT ပါေလ့ရွိပါတယ္။ အားလံုးေတာ့ မဟုတ္ပါဘူး။
ေရွးက်တဲ့ chipset ေတြဟာ HT ကို support မလုပ္ပါဘူး။ chipset ကလည္း support လုပ္ရမွာကို သတိျပဳပါ။
BIOS ကလည္း HT ကို support လုပ္ႏိုင္ရပါမယ္။ BIOS setup ထဲမွာ Hyperthreading Technology ကို enable လုပ္ထားတာရွိမရွိ စစ္ေဆးၾကည့္ပါ။
Windows XP ကေနစၿပီး ေနာက္ပိုင္း Windows (Vista & 7) ေတြဟာ HT ကို support လုပ္ပါတယ္။ Device manager (or) Task manager ကေန processor ကိုစစ္ေဆးၾကည့္ပါ။ အနည္းဆံုး ႏွစ္ခုကေန ကိုယ့္ရဲ႕ processor က core အေရအတြက္ရဲ႕ ႏွစ္ဆရွိတဲ့ processor ေတြကို ျမင္ရပါမယ္။ ဥပမာ Core တစ္ခုထဲ ပါတဲ့ HT support processor တစ္လံုးကို Device manager ထဲကၾကည့္ရင္ processor ႏွစ္လံုးျမင္ရပါမယ္။ Core ႏွစ္ခုနဲ႔ HT ပါတဲ့ processor ကိုၾကည့္ရင္ processor ေလးလံုးလို႔ ျမင္ရပါမယ္။ ဒါေပမဲ့ Core ႏွစ္ခုနဲ႔ HT မပါတဲ့ processor ကိုိၾကည့္ရင္ processor ႏွစ္လံုးပဲ ျမင္ရပါမယ္။
MultiCore
ေဖာ္ျပခဲ့ၿပီးသလိုပဲ Hyper-Threading ဆိုတာ processor ႏွစ္လံုးလိုပဲ လုပ္ႏိုင္ေအာင္ ႀကိဳးပမ္းထားတဲ့ နည္းပညာ ျဖစ္ပါတယ္။ ဒါေပမဲ့ တကယ္တမ္းေတာ့ processor ႏွစ္လံုးလုပ္သလို ရလဒ္မ်ိဳးရေအာင္ မလုပ္ႏိုင္ပါဘူး။ processor တစ္လံုးတည္းနဲ႔ processor အမ်ားႀကီး တပ္ဆင္ထားသလို ရလဒ္မ်ိဳးရေအာင္ လုပ္ႏိုင္တာက Multicore နည္းပညာျဖစ္ပါတယ္။
CPU ဆိုတာ အင္မတန္ အပူထုတ္တဲ့ ပစၥည္းျဖစ္သလို အပူကိုလည္း အလြန္ေၾကာက္ပါတယ္။ အပူခ်ိန္ျမင့္လာေလ အလုပ္လုပ္တဲ့ ေနရာမွာ အမွားအယြင္း ပိုမ်ားေလျဖစ္ပါတယ္။ အဲဒီေတာ့ error free ျဖစ္ဖို႔ အပူခ်ိန္ဟာ အကန္႔အသတ္ ရွိပါတယ္။ အဲဒီအကန္႔အသတ္ဟာ CPU ေတြရဲ႕ clock speed ေပၚမွာလည္း မူတည္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ clock speed ျမင့္လာတာနဲ႔ အမွ် CPU ကပိုပူတာေၾကာင့္ ျဖစ္ပါတယ္။ CPU ထုတ္လုပ္တဲ့ပိုင္းက ၾကည့္ရင္ တျဖည္းျဖည္းနဲ႔ speed ကိုတိုးျမွင့္ၿပီး ထုတ္လုပ္လာလိုက္တာ 3GHz ေက်ာ္တဲ့အခါ ေရွ႕ဆက္တိုးဖို႔အတြက္ အပူနဲ႔ပတ္သက္ၿပီး အခက္အခဲေတြ ရွိလာပါတယ္။
Multicore technology ကိုအသံုးျပဳဖို႔ စတင္လာတဲ့ ရည္ရြယ္ခ်က္ေတြက ဒီအပူျပႆနာကို ေက်ာ္လႊားႏိုင္ဖို႔ျဖစ္ပါတယ္။ clock speed ကိုတိုးမယ့္အစား processor ႏွစ္ခုကို တစ္ခုတည္းျဖစ္ေအာင္ ပံုစံထုတ္တည္ေဆာင္ခဲ့ ၾကပါတယ္။ ဒါဟာ two-core (or) dual-core processor ေတြပဲျဖစ္ပါတယ္။ core ေလးခုပါရင္ quad-core၊ ေျခာက္ခုပါရင္ hexa-core တို႔ျဖစ္ပါတယ္။ ေအာက္ကပံုမွာဆိုရင္ core တစ္ခုတည္းပါတဲ့ single-core CPU နဲ႔ core ႏွစ္ခုပါတဲ့ multicore အမ်ိဳးအစား dual-core CPU ေတြရဲ႕တည္ေဆာက္ပံုကို ေဖာ္ျပထားပါတယ္။
Multicore (ဥပမာ - core ႏွစ္ခု) ျဖစ္သြားတဲ့အတြက္ ထင္ရွားတဲ့ အားသာခ်က္ ေတြက ပါဝါစားသံုးနႈ နည္းတာ၊ သိသိသာသာ အပူထြက္ႏွဳန္းေလ်ာ့က်တာနဲ႔ ကြန္ပ်ဴတာမွာ program အေရအတြက္ တိုးျမွင့္ၿပီး တၿပိဳင္နက္ ဖြင့္သံုးႏိုင္တာေတြ ျဖစ္ပါတယ္။ ဥပမာ အေနနဲ႔ Single Core 3.2 GHz processor နဲ႔ dual core (two core) 1.6 GHz တို႔ကို ယွဥ္ၾကည့္ရေအာင္။
Dual core 1.6 GHz ဟာ 3.2 GHz နဲ႔ယွဥ္ရင္ ပါဝါစားသံုးမႈ နည္းပါတယ္။ ဒါ့အျပင္ clock speed ဟာ 1.6 GHz ပဲရွိတဲ့အတြက္ အပူထြက္ႏွဳန္းကလည္း အလြန္နည္းပါတယ္။
အလုပ္ၿပီးေျမာက္မႈနဲ႔ ယွဥ္ရင္ အတူတူပဲျဖစ္တယ္လို႔ ဆိုႏိုင္ပါတယ္။ 3.2 GHz နဲ႔ 1.6 GHz ဆိုတဲ့ clock speed ကိုၾကည့္ၿပီး ျမင့္တဲ့သူက ျမန္မယ္လို႔ ေျပာမရေတာ့ပါဘူူး (core တစ္ခုခ်င္းသာဆို speed ျမင့္တဲ့သူက ပိုျမန္တာေတာ့ မွန္ပါတယ္) ေျပာရရင္ ဆန္အိတ္တအိတ္ကို သန္မာအားေကာင္းသူ တစ္ဦးတည္းမၿပီး A ကေန B ကိုေရြ႕တာနဲ႔ သူ႔ေလာက္အားမေကာင္းသူ ႏွစ္ေယာက္ကို ဟိုဘက္ဒီဘက္မၿပီး A မွ B ကိုေရြ႕ပံုကို ျမင္ၾကည့္လိုက္ပါ။ A မွ B ကို ဆန္အိတ္ေရာက္ဖို႔ ၾကာခ်ိန္အတူတူပဲ ျဖစ္ပါလိမ့္မယ္။ ဒါ့ေၾကာင့္ ေနာက္ပိုင္း processor ေတြရဲ႕ျမန္ႏွဳန္းကို clock speed တစ္ခုတည္းကိုပဲ ၾကည့္ၿပီး ဆံုးျဖတ္လို႔မရေတာ့ပါဘူး။ single-core လား၊ quad-core လား အစရွိသျဖင့္ ဘယ္ multicore technology ကိုသံုးထားသလဲ ေပၚမွာ မူတည္ၿပီး ဆံုးျဖတ္ၾကရေတာ့မွာ ျဖစ္ပါတယ္။
ကြန္ပ်ဴတာမွာ application program တစ္ခုႏွစ္ခုေလာက္ ဖြင့္သံုးတဲ့အခ်ိန္မွာ အမ်ားႀကီးမသိသာေပမဲ့ ေလးငါးေျခာက္ခုေလာက္ ၿပိဳင္ဖြင့္သံုးတဲ့အခါမ်ိဳးေတြမွာ single core နဲ႔ multicore processor ေတြရဲ႕ ကြာျခားခ်က္ကို သတိျပဳမိလာေစမွာ ျဖစ္ပါတယ္။ အထူးသျဖင့္ CD/DVD ေရးေနတဲ့အခ်ိန္ေတြဆို ပိုသိသာပါတယ္။
Ctrl + Shift + Esc key သံုးခုကိုတြဲႏွိပ္ရင္ Task manager ကိုျမင္ရပါမယ္။ Performance tab ေအာက္မွာ CPU, Memory ေတြရဲ႕အေျခအေနကို စစ္ေဆးႏိုင္ပါတယ္။ Device manager ထဲကေန single core လား၊ dual core လားၾကည့္ရႈႏိုင္ပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
CPU ကနားလည္ႏိုင္တဲ့ instruction ေတြအားလံုးပါဝင္တဲ့ command အစုအေဝးတစ္ခုကို Instruction set လို႔ေခၚပါတယ္။ CPU အမ်ိဳးအစားနဲ႔ model ေပၚမူတည္ၿပီး နားလည္အသံုးျပဳႏိုင္တဲ့ instruction set ေတြဟာမတူညီၾကပါဘူး။ အသံုးျပဳထားတဲ့ Instruction set ေပၚမူတည္ၿပီး CISC နဲ႔ RISC ဆိုၿပီး CPU architecture (2) မ်ိဳးရွိပါတယ္။
CISC ဆိုတာကေတာ့ Complex Instruction Set Computer ျဖစ္ၿပီး sisk လို႔အသံထြက္ပါတယ္။ RISC ကေတာ့ Reduce Instruction Set Computer ျဖစ္ၿပီး risk လုိ႔အသံထြက္ရပါတယ္။ CISC processor မွာပါတဲ့စုစုေပါင္း instruction အေရအတြက္ဟာ RISC ေတြမွာပါဝင္တဲ့ instruction အေရအတြက္ထက္ ပိုမ်ားၿပီး ပိုရႈပ္ေထြးပါတယ္။
Intel, AMD နဲ႔ Cyrix ကိုမွထုတ္လုပ္တဲ့ CPU အားလံုးဟာ CISC အမ်ိဳးအစား ျဖစ္တဲ့ X86 instruction set နဲ႔ compatible ျဖစ္တဲ့ Instruction Set ကိုအသံုးျပဳ ၾကၿပီး Apple ကထုတ္လုပ္တဲ့ CPU အားလံုးမွာ RISC instruction set ကိုအသံုးျပဳ ၾကပါတယ္။ အဲဒီလို instruction set မတူညီတာေၾကာင့္ Apple computer မွာ အသံုးျပဳဖို႔အတြက္ ေရးသားထားတဲ့ Mac program ေတြကို X86 Chip ေတြျဖစ္ၾကတဲ့ Pentium, AMD နဲ႔ Cyrix processor ေတြကိုအသံုးျပဳထားတဲ့ ကြန္ပ်ဴတာေတြမွာ အသံုးျပဳလို႔မရပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ Mac program က instruction (or) source code ေတြကိုနားမလည္တာေၾကာင့္ ျဖစ္ပါတယ္။
CISC နဲ႔ RISC ေတြရဲ႕ ကြာျခားတာကိုသိသာေစဖို႔ အတြက္ ထိုင္ေနတဲ့ ကေလးတစ္ေယာက္ကို စားပြဲေပၚက ေဘာပင္ယူခိုင္းတဲ့ ျဖစ္စဥ္နဲ႔ ဥပမာေဖာ္ျပပါမယ္။ CISC instruction ေတြနဲ႔သာဆိုရင္ ေအာက္ပါအတိုင္း ေျပာရပါမယ္။
(၁)စားပြဲဆီကိုသြားပါ။
(၂)စားပြဲေပၚက ေဘာပင္ကို ဒီကိုယူလာေပးပါ။
RISC instruction နဲ႔သာဆိုရင္ ေအာက္ကအတိုင္းေျပာရပါမယ္။
(၁)မတ္တပ္ရပ္ပါ။
(၂)စားပြဲဆီကိုသြားပါ။
(၃)စားပြဲေပၚက ေဘာပင္ကုိယူလိုက္ပါ။
(၄)ဒီကိုယူလာပါ။
(၅)ေပးပါ။
RISC နဲ႔သာဆိုရင္ အလုပ္တစ္ခုၿပီးေျမာက္ဖို႔ Instruction ေတြလိုအပ္ပါတယ္။ RISC instruction တစ္ခုခ်င္းစီဟာ ရိုးရွင္းသလုိ နည္းနည္းပဲ လုပ္ႏိုင္ပါတယ္။ ဒါေပမဲ့ command တစ္ခုခ်င္းစီကို ျမန္ျမန္ဆန္ဆန္ လုပ္ႏိုင္တဲ့ အားသာခ်က္ေတြရွိပါတယ္။ CISC instruction ေတြဟာ ရႈပ္ေထြးပါတယ္။ ဒါေပမဲ့ အလုပ္တစ္ခုၿပီးေျမာက္ဖို႔ instruction တစ္ခု (သို႔) အနည္းငယ္ေလာက္နဲ႔ လံုေလာက္တတ္ပါတယ္။
Processor အသစ္ထြက္လာတိုင္း ေရွ႕ကထက္စြမ္းေဆာင္ရည္ ပိုေကာင္းေအာင္ featue သစ္ေတြထပ္တိုးထည့္သြင္းၿပီး အဆင့္ျမွင့္ျပဳျပင္ထုတ္လုပ္ေလ့ ရွိရတယ္။ ေျပာရရင္ 486 Processor ေတြထိေအာင္ CPU ေတြဟာ တစ္ႀကိမ္မွာ instruction တစ္ခုကိုပဲ run ႏိုင္ပါတယ္။ 486ေနာက္ပိုင္း Pentium processor ေတြကေန pipeline technology ေတြထည့္သြင္းအသံုးျပဳတာနဲ႔ architecture ကိုေျပာင္းလဲကာ တစ္ႀကိမ္မွာ instruction တစ္ခုထက္မက execute လုပ္ႏိုင္ခဲ့ေစပါတယ္။ ဒါ့ေၾကာင့္ Pentium III ေနာက္ပိုင္းကေနစၿပီး processor ေတြရဲ႕စြမ္းေဆာင္ရည္ကုိ clock speed တစ္မ်ိဳးတည္းကိုပဲ ၾကည့္ၿပီး ဆံုးျဖတ္လို႔မရေတာ့ပါဘူး။ အဲဒီလိုတည္ေဆာက္ ပံုသာမက နဂိုမူလ X86 instruction set ေတြထဲမွာ instruction အသစ္ေတြ ထည့္သြင္းၿပီး MMX, SSE, SSE2, SSE3 အစရွိတဲ့ instruction set အသစ္ေတြနဲ႔ အဆင့္ျမွင့္ျပဳျပင္ခဲ့ၾကပါတယ္။
အေရးႀကီးတာက processor သစ္တစ္လံုးဟာ အသစ္ထည့္သြင္းထားတဲ့ instruction set ကိုသာမက ေရွ႕က အေဟာင္းေတြကိုလည္း support လုပ္ႏိုင္ရပါတယ္။ တကယ္လို႔ processor အသစ္ကို instruction set သစ္တစ္မ်ိဳးတည္းကိုပဲ support လုပ္ႏိုင္ေအာင္ တည္ေဆာက္လိုက္ရင္ လက္ရွိအသံုး ျပဳေနတဲ့ OS ေတြ၊ Application software ေတြဟာ အဲဒီ Instruction set အသစ္မွာ ပါတဲ့ instruction အသစ္ေတြကို နားမလည္ႏိုင္တဲ့အတြက္ အလုပ္မလုပ္ႏိုင္ပါဘူး။ ဒါေၾကာင့္ processor ေတြဟာ ေရွ႕က Instruction set ေတြကိုပါ support လုပ္ႏိုင္ေအာင္ ထုတ္လုပ္ၾကရပါတယ္။
ေျပာရရင္ 1997ခုႏွစ္မွာ Pentium MMX Processor ေတြမွာ MMX technology ကိုထည့္သြင္းအသံုးျပဳခဲ့ပါတယ္။ 1999ခုႏွစ္မွာေတာ့ Pentium III processor ေတြမွာ SSE လို႔ေခၚတဲ့ Instruction set အသစ္ကို ထည့္သြင္းလာပါတယ္။ SSE ဆိုတာေရွ႕က MMX Instruction set ကိုပဲအေျခခံၿပီး Instruction အသစ္70 ထပ္တိုးေပါင္းၿပီး အဆင့္ျမွင့္ update လုပ္ထားတာျဖစ္ပါတယ္။ SSE2 ေတြ၊ SSE3 ေတြ၊ SSE4 ေတြလည္းဒီအတိုင္းပါပဲ။ ေရွ႕က Instruction set ေတြထဲမွာ Instruction အသစ္ေတြထပ္တိုးထည့္သြင္း အဆင့္ျမွင့္ထားတာျဖစ္ပါတယ္။ ဒါေၾကာင့္ SSE4 ထဲမွာ ေရွ႕က SSE3, SSE2, SSE နဲ႔ MMX ေတြက Instruction ေတြအားလံုးပါရွိပါတယ္။ 2008ခုႏွစ္ထုတ္ core i7 processor ေတြမွာအသံုးျပဳတဲ့ instruction set ဟာ SSE4.2 ျဖစ္ပါတယ္။
Processor Mode
Intel က processor ေတြရဲ႕ architecture ေပၚမူတည္ၿပီးေခၚတဲ့ အေခၚေတြလည္း ရွိပါတယ္။ ဟိုအရင္ 8088 processor ေတြကေနစၿပီး 286 processor ေတြအထိ 16-bit Architecture ျဖစ္ပါတယ္။ ေျပာရရင္ 286 processor ေတြထိ 16-bit register ေတြကို အသံုးျပဳထားတာ ျဖစ္ပါတယ္။ ဒီအတြက္ 16-bit OS ေတြျဖစ္ၾကတဲ့ DOS, windows 3.x ေတြနဲ႔ 16 bit application ေတြကို အသံုးျပဳခဲ့ၾက ပါတယ္။ main memory အျဖစ္ အျမင့္ဆံုး တပ္ဆင္အသံုးျပဳႏိုင္တဲ့ memory capacity ဟာ 1MB ျဖစ္ပါတယ္ (20 bit address bus)။ အဲဒီ 16 bit processor ေတြအလုပ္လုပ္တဲ့ mode ကို Real Mode လို႔ေခၚပါတယ္။
Processor ေတြရဲ႕ Architecture ပထမဆံုးအႀကိမ္ စေျပာင္းတာက 1985ခုႏွစ္ 386 processor ေတြမွာျဖစ္ပါတယ္။ ေျပာရရင္ 386 processor ေတြဟာ 32-bit register ကိုသံုးၿပီး တည္ေဆာက္ထားတဲ့ 32-bit processor ေတြပဲျဖစ္ပါတယ္။ အဲဒီ 386 ကေနစၿပီး Pentium4 (2001) ထိ 32 bit processor ေတြျဖစ္ပါတယ္။ အဲဒီ 32 bit processor ေတြကို IA-32 (Intel Architecture, 32 bit) လို႔ေခၚပါတယ္။ ဒီေနရာမွာ ထူးျခားတာက 32-bit processor ျဖစ္တဲ့ 386, 486 processor ေတြကို အသံုးျပဳေပမဲ့ 32-bit OS တို႔ 32 bit application ေတြမရွိခဲ့ပါဘူး။ ေရွ႕က 16-bit OS နဲ႔ 16 bit application ေတြကိုပဲ အသံုးျပဳခဲ့ၾကပါတယ္။ ဆယ္ႏွစ္ေက်ာ္ၾကာခဲ့ၿပီး 1995ခုႏွစ္ေရာက္မွ 32-bit OS ျဖစ္တဲ့ Windows 95 နဲ႔အတူ 32 bit application ေတြေပၚထြက္လာပါတယ္။ အဲဒီ 32 bit (IA 32) processor ေတြအလုပ္လုပ္တဲ့ mode ကို Protected Mode လို႔ေခၚပါတယ္။
2001ခုႏွစ္မွာ Intel ကပထမဆံုး 64 bit processor ေတြကို စတင္မိတ္ဆက္ ေပးခဲ့ပါတယ္။ အဲဒီ processor ေတြကို IA-64 (Intel Architecture, 64 bit) လုိ႔ေခၚပါတယ္။ processor အမည္အေနနဲ႔ကေတာ့ Itanium 1, Itanium 2 နဲ႔ Itanium dual-core ဆိုၿပီး သံုးမ်ိဳးပဲရွိခဲ့ပါတယ္။ IA-64 ေတြဟာ backword compatible မျဖစ္တဲ့အတြက္ အသံုးမ်ားတာမရွိတဲ့ Architecture လည္းျဖစ္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ IA-64 ေတြဟာ 64bit တစ္မ်ိဳးတည္းကိုပဲ support လုပ္တာေၾကာင့္ ျဖစ္ပါတယ္။ အဲဒီတုန္းက အသံုးျပဳတဲ့ 32-bit OS ေတြ၊ 32 bit application ေတြကိုအဲဒီ့ processor ေတြနဲ႔တြဲဖက္ အသံုးမျပဳႏိုင္ခဲ့ပါဘူး။ Microsoft က IA-64 အတြက္သီးသန္႔ထုတ္ထားတဲ့ Windows 2003 64 bit (Itanium version) ကိုပဲအသံုးျပဳလို႔ ရပါတယ္။ ဒါက Intel ရဲ႕ၿပိဳင္ဘက္ AMD ေတြအတြက္ ပခံုးခ်င္းယွဥ္ႏိုင္ဖို႔ အခြင့္အလမ္းေကာင္း တစ္ရပ္ျဖစ္ခဲ့ပါတယ္။
2003ခုႏွစ္ AMD မွာ AMD 64 လို႔ေခၚတဲ့ 64 bit processor ေတြကို ထုတ္လုပ္ခဲ့ပါတယ္။ အဲဒီ processor ေတြဟာ 64-bit OS နဲ႔ 32-bit OS ႏွစ္မ်ိဳးစလံုးကို support လုပ္ႏိုင္တဲ့အတြက္ အသံုးမ်ားတြင္က်ယ္ခဲ့ပါတယ္။ 2004ခုႏွစ္မွာေတာ့ ေစ်းကြက္ကို ျပန္ၿပီးဦးေဆာင္ႏိုင္ဖို႔ Intel ဟာ 32-bit OS နဲ႔ 64-bit OS ႏွစ္မ်ိဳးစလံုးကို support လုပ္တဲ့ 64 bit processor ေတြကိုထုတ္လုပ္ခဲ့ၿပီး EM64T (or) IA-32e လို႔ေခၚပါတယ္။ အဲဒီ 64 bit processor (IA-32e) ေတြဟာ 64-bit Mode နဲ႔ Compatible Mode ႏွစ္မ်ိဳးလံုးကို support လုပ္ႏိုင္တဲ့အတြက္ေၾကာင့္ ကြန္ပ်ဴတာတစ္လံုးတည္းမွာ 64-bit နဲ႔ 32-bit application ေတြကိုတၿပိဳင္နက္ အသံုးျပဳႏိုင္ေစပါတယ္။
EM64T – Extended Memory 64 Tachnology
IA-32e- Intel Architecture, 32bit Extension
Multiprocessing, Multithreading & MultiCore
CPU ထုတ္လုပ္သူေတြဟာ နည္းပညာသစ္၊ နည္းလမ္းအသစ္ေတြနဲ႔ တီထြင္ႀကံဆၿပီး တစ္မ်ိဳးထက္တစ္မ်ိဳး စြမ္းေဆာင္ရည္ျမင့္မားတဲ့ CPU ေတြထုတ္လုပ္ ႏိုင္ေအာင္ စဥ္ဆက္မျပတ္ ႀကိဳးပမ္းခဲ့ၾကပါတယ္။ ရလဒ္အေနနဲ႔ကေတာ့ တႀကိမ္မွာ လုပ္ငန္းတစ္ခုပဲလုပ္ႏိုင္တဲ့ အဆင့္ကေန တစ္ခုထက္မက လုပ္ႏိုင္တဲ့အဆင့္ကို ေရာက္ခဲ့ပါတယ္။ အဲဒီလို ရဖို႔အတြက္ သံုးခဲ့ၾကတဲ့ နည္းေတြထဲက Multiprocessing, Multithreading နဲ႔ Multicore ေတြဟာ အရမ္းေက်ာ္ၾကားတဲ့ နည္းပညာရပ္ေတြပဲ ျဖစ္ပါတယ္။
Multiprocessing
ဟိုးအရင္ (386) processor ေတြအထိ CPU တစ္ခုမွာ ALU တစ္ခုပဲပါပါတယ္။ ေနာက္ပိုင္း (486) processor ေတြမွာ ALU ႏွစ္ခုထည့္သြင္းလာပါတယ္။ အားသာခ်က္ အေနနဲ႔ကေတာ့ တႀကိမ္မွာ instruction တစ္ခုပဲ run ႏိုင္ရာကေန ႏွစ္ခုတစ္ၿပိဳင္နက္ run ႏိုင္လာပါတယ္။ အဲဒီလို တစ္ႀကိမ္မွာ instruction တစ္ခုထက္မက run ႏိုင္တာကို Multiprocessing လို႔ေခၚပါတယ္။
Hyperthreading Technology (Multithreading)
ဒီကေန႔ processor ေတြရဲ႕ လုပ္ေဆာင္ႏိုင္မႈန႔ဲပတ္သက္ၿပီး ေျပာၾကတဲ့ေနရာမွာ HT ကို support လုပ္တယ္ မလုပ္ဖူးဆိုတဲ့ အသံုးအႏွဳန္းလည္း ေခတ္စားပါတယ္။ ဒါေၾကာင့္ HT (Hyperthreading) ဆိုတာကလည္း ထူးထူးျခားျခား ဘာေတြလုပ္ႏိုင္ သလဲဆိုတာကို ရွင္းျပဖို႔လုိအပ္လာပါတယ္။ HT အေၾကာင္းကို နားလည္ဖို႔အတြက္ HT မပါတဲ့ သာမန္ standard processor နဲ႔ software program ေတြဘယ္လို ပူးေပါင္းလုပ္ေဆာင္ၾကသလဲ ဆိုတာကို သိထားရမွာျဖစ္ပါတယ္။
ဒီကေန႔ ကြန္ပ်ဴတာေတြဟာ Multitasking လုပ္ေဆာင္ႏိုင္ၾကပါတယ္။ Multitasking ဆိုတာအလြယ္ေျပာရရင္ program တစ္ခုထက္ပိုၿပီး တစ္ၿပိဳင္နက္ ဖြင့္သံုးႏိုင္တာကို ဆိုလိုပါတယ္။ ဒါ့ေၾကာင့္ ကြန္ပ်ဴတာ တစ္လံုးမွာ active ျဖစ္ေနတဲ့ program အေရအတြက္ဟာ တစ္ခုထက္မက အမ်ားႀကီးရွိႏိုင္ပါတယ္။ ဘယ္ေလာက္ အေရအတြက္ active ျဖစ္ေနသလဲဆိုတာ Windows task manager မွာသြားၾကည့္ႏိုင္ ပါတယ္။ ပံုမွန္ standard processor (single processor) ဟာ အခ်ိန္တစ္ခုမွာ program တစ္ခုကလာတဲ့ thread တစ္ခုကိုပဲ လက္ခံလုပ္ေဆာင္ ႏိုင္ပါတယ္။
အဲဒီလို တစ္ႀကိမ္မွာ thread တစ္ခုကိုပဲ လက္ခံလုပ္ေဆာင္ ႏိုင္တဲ့အတြက္ ကြန္ပ်ဴတာမွာ program မ်ားမ်ားဖြင့္သံုးေလ core တစ္ခုတည္းပါတဲ့ single core processor ေတြရဲ႕ အားနည္းခ်က္ကို ပိုၿပီးသိသာေလျဖစ္ပါတယ္။ ဒါ့ေၾကာင့္ တခ်ိဳ႕ server, workstation စတဲ့စြမ္းရည္ျမင့္ လုပ္ေဆာင္ဖို႔ လုိအပ္တဲ့ ကြန္ပ်ဴတာေတြမွာ ဆိုရင္ dual processor system ကိုအသံုးျပဳေလ့ရွိပါတယ္။
Dual processor ဆိုတာ motherboard တစ္ခုေပၚမွာတင္ CPU socket ႏွစ္ခုပါၿပီး processor ႏွစ္လံုးတစ္ၿပီး အသံုးျပဳရတဲ့ ကြန္ပ်ဴတာေတြပဲ ျဖစ္ပါတယ္။ အဲဒီ dual processor ေတြမွာဆိုရင္ အခ်ိန္တစ္ခုမွာ thread ႏွစ္ခုကို execute လုပ္ႏိုင္ပါတယ္။ သိသာတဲ့ ကြာျခားမႈက အခ်ိန္တိုအတြင္း အလုပ္ပိုလုပ္ႏိုင္လိမ့္မယ္။ Hyperthreading ဆိုတာကေတာ့ dual processor ကိုအေျခခံၿပီး တိုးတက္လာတဲ့ နည္းပညာတစ္ခုပဲ ျဖစ္ပါတယ္။ HT နည္းပညာနဲ႔ processor တစ္လံုးတည္းကိုပဲ ႏွစ္လံုးတပ္ထားသလို ျဖစ္ေအာင္ လုပ္ေဆာင္ႏုိင္ေစပါတယ္။ ဒါ့ေၾကာင့္ စြမ္းေဆာင္ရည္ ပိုျမင့္ပါတယ္။ ဒါဆိုရင္ HT-processor ဟာသာမန္ Single core processor ေတြထက္ ႏွစ္ဆပိုမို ျမန္ဆန္ေအာင္ လုပ္ေဆာင္ႏိုင္လိမ့္မယ္လို႔ ထင္စရာရွိလာႏိုင္ပါတယ္။
အမွန္ေတာ့ Hyperthreading processor ေတြမွာ Architecture state (Arch State) ကိုပဲပံုတူပြားၿပီး logical processor ႏွစ္ခုျဖစ္ေအာင္ ဖန္တီးထားတာ ျဖစ္ပါတယ္။ က်န္တဲ့ အစိတ္အပိုင္းေတြျဖစ္တဲ့ cache, Exeation unit, Control unit buses နဲ႔တျခား resource အားလံုးနီးပါကို မွ်ေဝသံုးစြဲၾကရပါတယ္။ ဒါ့ေၾကာင့္ processor ႏွစ္ခုတပ္ဆင္ၿပီး အသံုးျပဳသလိုပဲ စြမ္းေဆာင္ရည္ႏွစ္စတက္မလာပဲ အမ်ားဆံုး ၃၀ရာခိုင္ႏွဳင္းခန္႔ပဲ ပိုမိုျမင့္မားလာႏိုင္ပါတယ္။
Hyperthreading ႏွင့္ပတ္သက္ေသာ သိမွတ္ဖြယ္ရာမ်ား
HT technology ကိုအသံုးခ်ႏိုင္ဖို႔အတြက္ ေအာက္ေဖာ္ျပပါ အခ်က္ေတြနဲ႔ ျပည့္စံုေနရပါမယ္။
Processor ဟာ HT ပါတဲ့ processor ျဖစ္ရပါမယ္။ ေနာက္ပိုင္း Pentium 4 နဲ႔ Core I ေတြဟာ အမ်ားအားျဖင့္ HT ပါေလ့ရွိပါတယ္။ အားလံုးေတာ့ မဟုတ္ပါဘူး။
ေရွးက်တဲ့ chipset ေတြဟာ HT ကို support မလုပ္ပါဘူး။ chipset ကလည္း support လုပ္ရမွာကို သတိျပဳပါ။
BIOS ကလည္း HT ကို support လုပ္ႏိုင္ရပါမယ္။ BIOS setup ထဲမွာ Hyperthreading Technology ကို enable လုပ္ထားတာရွိမရွိ စစ္ေဆးၾကည့္ပါ။
Windows XP ကေနစၿပီး ေနာက္ပိုင္း Windows (Vista & 7) ေတြဟာ HT ကို support လုပ္ပါတယ္။ Device manager (or) Task manager ကေန processor ကိုစစ္ေဆးၾကည့္ပါ။ အနည္းဆံုး ႏွစ္ခုကေန ကိုယ့္ရဲ႕ processor က core အေရအတြက္ရဲ႕ ႏွစ္ဆရွိတဲ့ processor ေတြကို ျမင္ရပါမယ္။ ဥပမာ Core တစ္ခုထဲ ပါတဲ့ HT support processor တစ္လံုးကို Device manager ထဲကၾကည့္ရင္ processor ႏွစ္လံုးျမင္ရပါမယ္။ Core ႏွစ္ခုနဲ႔ HT ပါတဲ့ processor ကိုၾကည့္ရင္ processor ေလးလံုးလို႔ ျမင္ရပါမယ္။ ဒါေပမဲ့ Core ႏွစ္ခုနဲ႔ HT မပါတဲ့ processor ကိုိၾကည့္ရင္ processor ႏွစ္လံုးပဲ ျမင္ရပါမယ္။
MultiCore
ေဖာ္ျပခဲ့ၿပီးသလိုပဲ Hyper-Threading ဆိုတာ processor ႏွစ္လံုးလိုပဲ လုပ္ႏိုင္ေအာင္ ႀကိဳးပမ္းထားတဲ့ နည္းပညာ ျဖစ္ပါတယ္။ ဒါေပမဲ့ တကယ္တမ္းေတာ့ processor ႏွစ္လံုးလုပ္သလို ရလဒ္မ်ိဳးရေအာင္ မလုပ္ႏိုင္ပါဘူး။ processor တစ္လံုးတည္းနဲ႔ processor အမ်ားႀကီး တပ္ဆင္ထားသလို ရလဒ္မ်ိဳးရေအာင္ လုပ္ႏိုင္တာက Multicore နည္းပညာျဖစ္ပါတယ္။
CPU ဆိုတာ အင္မတန္ အပူထုတ္တဲ့ ပစၥည္းျဖစ္သလို အပူကိုလည္း အလြန္ေၾကာက္ပါတယ္။ အပူခ်ိန္ျမင့္လာေလ အလုပ္လုပ္တဲ့ ေနရာမွာ အမွားအယြင္း ပိုမ်ားေလျဖစ္ပါတယ္။ အဲဒီေတာ့ error free ျဖစ္ဖို႔ အပူခ်ိန္ဟာ အကန္႔အသတ္ ရွိပါတယ္။ အဲဒီအကန္႔အသတ္ဟာ CPU ေတြရဲ႕ clock speed ေပၚမွာလည္း မူတည္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ clock speed ျမင့္လာတာနဲ႔ အမွ် CPU ကပိုပူတာေၾကာင့္ ျဖစ္ပါတယ္။ CPU ထုတ္လုပ္တဲ့ပိုင္းက ၾကည့္ရင္ တျဖည္းျဖည္းနဲ႔ speed ကိုတိုးျမွင့္ၿပီး ထုတ္လုပ္လာလိုက္တာ 3GHz ေက်ာ္တဲ့အခါ ေရွ႕ဆက္တိုးဖို႔အတြက္ အပူနဲ႔ပတ္သက္ၿပီး အခက္အခဲေတြ ရွိလာပါတယ္။
Multicore technology ကိုအသံုးျပဳဖို႔ စတင္လာတဲ့ ရည္ရြယ္ခ်က္ေတြက ဒီအပူျပႆနာကို ေက်ာ္လႊားႏိုင္ဖို႔ျဖစ္ပါတယ္။ clock speed ကိုတိုးမယ့္အစား processor ႏွစ္ခုကို တစ္ခုတည္းျဖစ္ေအာင္ ပံုစံထုတ္တည္ေဆာင္ခဲ့ ၾကပါတယ္။ ဒါဟာ two-core (or) dual-core processor ေတြပဲျဖစ္ပါတယ္။ core ေလးခုပါရင္ quad-core၊ ေျခာက္ခုပါရင္ hexa-core တို႔ျဖစ္ပါတယ္။ ေအာက္ကပံုမွာဆိုရင္ core တစ္ခုတည္းပါတဲ့ single-core CPU နဲ႔ core ႏွစ္ခုပါတဲ့ multicore အမ်ိဳးအစား dual-core CPU ေတြရဲ႕တည္ေဆာက္ပံုကို ေဖာ္ျပထားပါတယ္။
Multicore (ဥပမာ - core ႏွစ္ခု) ျဖစ္သြားတဲ့အတြက္ ထင္ရွားတဲ့ အားသာခ်က္ ေတြက ပါဝါစားသံုးနႈ နည္းတာ၊ သိသိသာသာ အပူထြက္ႏွဳန္းေလ်ာ့က်တာနဲ႔ ကြန္ပ်ဴတာမွာ program အေရအတြက္ တိုးျမွင့္ၿပီး တၿပိဳင္နက္ ဖြင့္သံုးႏိုင္တာေတြ ျဖစ္ပါတယ္။ ဥပမာ အေနနဲ႔ Single Core 3.2 GHz processor နဲ႔ dual core (two core) 1.6 GHz တို႔ကို ယွဥ္ၾကည့္ရေအာင္။
Dual core 1.6 GHz ဟာ 3.2 GHz နဲ႔ယွဥ္ရင္ ပါဝါစားသံုးမႈ နည္းပါတယ္။ ဒါ့အျပင္ clock speed ဟာ 1.6 GHz ပဲရွိတဲ့အတြက္ အပူထြက္ႏွဳန္းကလည္း အလြန္နည္းပါတယ္။
အလုပ္ၿပီးေျမာက္မႈနဲ႔ ယွဥ္ရင္ အတူတူပဲျဖစ္တယ္လို႔ ဆိုႏိုင္ပါတယ္။ 3.2 GHz နဲ႔ 1.6 GHz ဆိုတဲ့ clock speed ကိုၾကည့္ၿပီး ျမင့္တဲ့သူက ျမန္မယ္လို႔ ေျပာမရေတာ့ပါဘူူး (core တစ္ခုခ်င္းသာဆို speed ျမင့္တဲ့သူက ပိုျမန္တာေတာ့ မွန္ပါတယ္) ေျပာရရင္ ဆန္အိတ္တအိတ္ကို သန္မာအားေကာင္းသူ တစ္ဦးတည္းမၿပီး A ကေန B ကိုေရြ႕တာနဲ႔ သူ႔ေလာက္အားမေကာင္းသူ ႏွစ္ေယာက္ကို ဟိုဘက္ဒီဘက္မၿပီး A မွ B ကိုေရြ႕ပံုကို ျမင္ၾကည့္လိုက္ပါ။ A မွ B ကို ဆန္အိတ္ေရာက္ဖို႔ ၾကာခ်ိန္အတူတူပဲ ျဖစ္ပါလိမ့္မယ္။ ဒါ့ေၾကာင့္ ေနာက္ပိုင္း processor ေတြရဲ႕ျမန္ႏွဳန္းကို clock speed တစ္ခုတည္းကိုပဲ ၾကည့္ၿပီး ဆံုးျဖတ္လို႔မရေတာ့ပါဘူး။ single-core လား၊ quad-core လား အစရွိသျဖင့္ ဘယ္ multicore technology ကိုသံုးထားသလဲ ေပၚမွာ မူတည္ၿပီး ဆံုးျဖတ္ၾကရေတာ့မွာ ျဖစ္ပါတယ္။
ကြန္ပ်ဴတာမွာ application program တစ္ခုႏွစ္ခုေလာက္ ဖြင့္သံုးတဲ့အခ်ိန္မွာ အမ်ားႀကီးမသိသာေပမဲ့ ေလးငါးေျခာက္ခုေလာက္ ၿပိဳင္ဖြင့္သံုးတဲ့အခါမ်ိဳးေတြမွာ single core နဲ႔ multicore processor ေတြရဲ႕ ကြာျခားခ်က္ကို သတိျပဳမိလာေစမွာ ျဖစ္ပါတယ္။ အထူးသျဖင့္ CD/DVD ေရးေနတဲ့အခ်ိန္ေတြဆို ပိုသိသာပါတယ္။
Ctrl + Shift + Esc key သံုးခုကိုတြဲႏွိပ္ရင္ Task manager ကိုျမင္ရပါမယ္။ Performance tab ေအာက္မွာ CPU, Memory ေတြရဲ႕အေျခအေနကို စစ္ေဆးႏိုင္ပါတယ္။ Device manager ထဲကေန single core လား၊ dual core လားၾကည့္ရႈႏိုင္ပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Thursday, March 12, 2015
A+(Hardware) Chapter 8.2 (အပတ္စဥ္ ၁)
Dual Pumped
AMD processor ေတြရဲ႕ FSB ဟာ dual pumped Bus ေတြပဲျဖစ္ပါတယ္။ Dual pumped Bus ဆိုတာကေတာ့ one clock cycle မွာ 2 signal (or) 2 bit data ကိုပို႔လႊတ္ႏိုင္တဲ့ Bus ေတြပဲျဖစ္ပါတယ္။ ေျပာရရင္မိမိကြန္ပ်ဴတာရဲ႕ System clock speed ဟာ 133MHz ျဖစ္ပါက CPU ရဲ႕ FSB speed ဟာ 266MHz (133 x 2) ျဖစ္ပါလိမ့္မယ္။
Quad Pumped
“Quad Pumped” ကို Pentium 4 processor ေတြမွာ အသံုးျပဳလ်က္ရွိပါတယ္။ Quad pumped ဆိုတာကေတာ့ one clock cycle မွာ 4 signal (or) 4 bit data ကို transfer လုပ္ႏိုင္တဲ့ Bus ပဲျဖစ္ပါတယ္။ ေျပာရရင္ System clock speed ဟာ 133 MHz ျဖစ္ပါက FSB speed ဟာ 533MHz ျဖစ္ပါလိမ့္မယ္။ ဒါေၾကာင့္ အျပန္အလွန္ အားျဖင့္ Pentium 4 processor ရဲ႕ FSB speed ဟာ 400MHz ျဖစ္တယ္လို႔ဆိုတာနဲ႔ System clock speed ဟာ 100MHz, FSB ဟာ 800MHz ျဖစ္တာနဲ႔ system clock speed ဟာ 200MHz ျဖစ္တယ္ဆိုတာကို နားလည္ဖို႔လိုပါတယ္။
Front Side Bus Width
Processor ရဲ႕အတြင္းပိုင္းမွာ clock speed ျမင့္ျမင့္နဲ႔ လုပ္ေဆာင္ႏိုင္ဖို႔ လိုအပ္သလို ျပင္ပ device ေတြနဲ႔ဆက္ဆံတဲ့ ေနရာမွာလည္း FSB speed ျမင့္ျမင့္နဲ႔ လုပ္ေဆာင္ႏိုင္မွပဲ စနစ္တစ္ခုလံုးရဲ႕ စြမ္းေဆာင္ရည္ တိုးျမွင့္ေစပါလိမ့္မယ္။ FSB speed ကိုတိုးျမင့္ေအာင္ လုပ္ရတဲ့ ရည္ရြယ္ခ်က္အမွန္က အခ်ိန္တိုအတြင္း data မ်ားမ်ားပို႔ႏိုင္ေအာင္ ယူႏိုင္ေအာင္ျဖစ္ပါတယ္။
စြမ္းေဆာင္ရည္ပိုေကာင္းေအာင္ speed ျမွင့္တယ္ဆိုတာက ျမွင့္ခ်င္တိုင္းျမွင့္လို႔ မရပါဘူး။ ဒီဘက္က ျမွင့္လိုက္တဲ့အတိုင္း တဖက္ကလိုက္ပါ လုပ္ေဆာင္ႏိုင္မွ ေအာင္ျမင္ၿပီးေျမာက္ႏိုင္မွာပါ။ ဥပမာ ကားေပၚကေန အုတ္ခဲခ်တဲ့ျဖစ္စဥ္ကို ၾကည့္ရေအာင္။ ကားေပၚက အုတ္ခဲခ်တဲ့လူက တစကၠန္႔မွာ တစ္လံုးႏွဳန္းနဲ႔ ေအာက္ကလူဆီ ပစ္ေပးတယ္။ ေအာက္ကလူကလည္း တစကၠန္႔မွာ တစ္လံုးႏွဳန္းနဲ႔ ဖမ္းယူႏိုင္တယ္ဆိုပါစို႔။ အဲဒါကို ျမန္ျမန္ၿပီးခ်င္တဲ့အတြက္ အေပၚကလူက တစကၠန္႔ကို ႏွစ္လံုးႏွဳန္းနဲ႔ ခ်မယ္ဆိုရင္ တဖက္ဖမ္းယူသူလည္း အဲဒီ့ႏွဳန္းအတိုင္း ဖမ္းယူႏိုင္စြမ္း ရွိရပါမယ္။
အေပၚကပစ္တဲ့ speed အတိုင္းမဖမ္းႏိုင္ဘူးဆိုရင္ တစကၠန္႔မွာ ေအာက္ကိုအုတ္ခဲ ႏွစ္လံုးေရာက္ဖို႔မျဖစ္ႏိုင္ပါဘူး။ အဲဒီလိုအေျခအေနမ်ိဳးမွာ speed ကို မျမွင့္ပဲ တစကၠန္႔မွာ အုတ္ခဲႏွစ္လံုးခ်ႏိုင္ေအာင္ လုပ္ေဆာင္ႏိုင္မယ့္ နည္းလမ္းရွိပါတယ္။ ေျပာရရင္ အေပၚက ႏွစ္ေယာက္က ပစ္မယ္။ ေအာက္ကႏွစ္ေယာက္က ဖမ္းမယ္ဆိုရင္လည္း တစ္စကၠန္႔မွာ ၂လံုးႏွဳန္းနဲ႔ အုတ္ခဲခ်ႏိုင္ပါလိမ့္မယ္။ ေျပာရရင္ လမ္းေၾကာင္းေတြထပ္တိုးတာနဲ႔ speed ျမင့္စရာမလိုပဲ အလုပ္ၿပီးေျမာက္မႈ ႏွဳန္းကို တိုးျမွင့္တာပဲ ျဖစ္ပါတယ္။
အဲဒီသေဘာအတိုင္းပါပဲ ကြန္ပ်ဴတာမွာလည္း CPU နဲ႔ memory ေတြၾကားက FSB ရဲ႕ Width ကိုခ်ဲ႕တာနဲ႔ အခ်ိန္တစ္ခုအတြင္း data ပိုမိုေပးပို႔ ရယူႏိုင္ေအာင္ လုပ္ေဆာင္ခဲ့ၾကပါတယ္။ ေျပာရရင္ 386 processor သံုးကြန္ပ်ဴတာေတြ ကေနစၿပီး ေရွ႕ပိုင္း Pentium III ကြန္ပ်ဴတာေတြအထိ FSB width ဟာ 32 bit (32လိုင္း) ျဖစ္ပါတယ္။ ေနာက္ပိုင္း PIII ကေနစၿပီး ဒီကေန႔လက္ရွိ အသံုးျပဳေနၾကတဲ့ processor ေတြရဲ႕ data bus (or) cpu bus (or) FSB ရဲ႕ Bus Width ဟာ 64 bit (64လိုင္း) ျဖစ္ပါတယ္။ ေျပာရရင္ processor နဲ႔ memory ေတြဟာတစ္ႀကိမ္မွာ 8 byte (64bit) ပမာဏရွိတဲ့ data ေတြကို အျပန္အလွန္ ေပးပို႔ရယူႏိုင္ၾကပါတယ္။
Address bus နဲ႔ Control bus တို႔အေၾကာင္း
External data bus (or) FSB ဟာ CPU နဲ႔ memory သို႔မဟုတ္ I/O device (hard disk, CD/DVD, printer) ေတြၾကားက data ေပးပို႔ဖလွယ္ရာ လမ္းေၾကာင္းေတြ ျဖစ္ၾကပါတယ္။ သူ႔ရဲ႕ speed နဲ႔ buswidth ေတြကိုၾကည့္ၿပီး CPU ေတြရဲ့စြမ္းေဆာင္ရည္ ကိုအကဲျဖတ္ၾကတဲ့အတြက္ ေက်ာ္ၾကားတဲ့ bus တစ္ခုလည္းျဖစ္ပါတယ္။ ဒါေၾကာင့္ အေတာ္မ်ားမ်ားက cpu နဲ႔ပတ္သက္ရင္ FSB တစ္ခုပဲရွိတယ္လို႔ ထင္တတ္ၾကပါတယ္။ ေျပာရရင္ CPU ကိုဝင္သမွ်ထြက္သမွ် data ေတြ၊ instruction ေတြအားလံုးဟာ signal ေတြအျဖစ္နဲ႔ FSB ေပၚကေန ျဖတ္သန္းၾကရပါတယ္။ အဲဒီျဖတ္သန္းေနတဲ့ data ေတြကို “ဘယ္ကလာလို႔ ဘယ္ကိုသြား” ဆိုတာမ်ိဳးညႊန္ၾကားႏိုင္ေအာင္၊ ထိန္းေက်ာင္းႏိုင္ေအာင္ အကူ bus ေတြလည္းရွိရပါမယ္။ အဲဒါေတြကေတာ့ Address bus နဲ႔ Control bus ေတြပဲျဖစ္ပါတယ္။
Address bus ကလည္း CPU, memory နဲ႔တျခား I/O device ေတြကို ခ်ိတ္ဆက္ထားတဲ့ motherboard ေပၚက bus တစ္ခုျဖစ္ပါတယ္။ buswidth လို႔ေခၚတဲ့ ပါဝင္တဲ့ဝါယာ အေရအတြက္နဲ႔ ၾကည့္ရင္ 8088 ကေနဒီကေန႔ 64-bit processor ေတြထိ 20-bit, 32-bit, 40-bit bus ဆိုၿပီးအဆင့္ဆင့္ တိုးျမွင့္အသံုးျပဳခဲ့ၾကပါတယ္။ Address bus ေတြကိုဘာအတြက္ ထည့္သြင္းအသံုးျပဳ ၾကရသလဲဆိုေတာ့ Address bus ေပၚကေန memory address နဲ႔ IO address ေတြကို ျဖတ္သန္းသယ္ေဆာင္ ႏိုင္ေစဖို႔ျဖစ္ပါတယ္။
Control bus ဟာလည္း CPU, memory နဲ႔တျခား I/O device ေတြခ်ိတ္ဆက္တဲ့ ဝါယာအစုအေဝးျဖစ္ပါတယ္။ buswidth ရယ္လို႔ေတာ့ မရွိပါဘူး။ ဝါယာတလိုင္းခ်င္းစီဟာ တစ္လိုင္းနဲ႔တစ္လိုင္း မွီခိုမႈမရွိပဲ သီးျခားစီ အလုပ္လုပ္ၾက ပါတယ္။ clock signal, Inerrupt signal နဲ႔ read/write memory signal ေတြနဲ႔ တျခား Control signal ေတြျဖတ္သန္းၾကတဲ့ ဝါယာလိုင္းေတြျဖစ္ပါတယ္။ ေအာက္ကပံု ကေတာ့ processor နဲ႔ memory ,IO device ေတြၾကားမွာ data bus, address bus နဲ႔ control bus ေတြကို ဘယ္လိုခ်ိတ္ဆက္သြယ္တန္း ထားသလဲဆိုတာကို ေဖာ္ျပပါတယ္။
Memory Address
Address bus နဲ႔ Control bus ေတြအလုပ္လုပ္ပံုကို နားလည္ဖို႔အတြက္ memory address ဆိုတာ ဘာလဲဆိုတာကို အရင္ဆံုးသိထားရပါမယ္။ memory ထဲမွာ data ေတြထည့္သြင္းႏိုင္ေအာင္ ေနရာခ်စီမံထားပံုကို အနီးစပ္ဆံုး ေျပာရရင္ excel sheet ေတြနဲ႔တူတယ္လို႔ ဆိုႏိုင္ပါတယ္။ excel sheet ရဲ႕ cell တစ္ကြက္ခ်င္းစီမွာ အခ်က္အလက္ေတြ ထည့္သြင္းႏိုင္သလို cell တစ္ကြက္ခ်င္းစီ အတြက္လည္း ကိုယ္ပိုင္လိပ္စာတစ္ခုစီ ရွိၾကပါတယ္။ memory ေတြထဲမွာ excel ရဲ႕ cell ကြက္ေတြနဲ႔တူတဲ့ memory Location ေတြရွိပါတယ္။ Location တစ္ခုခ်င္းစီမွာ 1 byte (1B) ထည့္သြင္းႏိုင္ၿပီး Location တစ္ခုခ်င္းစီအတြက္ memory address လို႔ေခၚတဲ့ နံပါတ္စဥ္ေတြရွိပါတယ္။
Memory address ေတြကို ကြန္ပ်ဴတာမွာ ေဖာ္ျပတဲ့အခါ hexadecimal number ေတြနဲ႔ေဖာ္ျပေလ့ ရွိပါတယ္။ ဥပမာ memory address ဟာ 000DFFFF ျဖစ္ပါက decimal number နဲ႔ အမွတ္စဥ္ (917,503) ျဖစ္ပါတယ္။ အဲဒီလို memory location တစ္ခုခ်င္းစီအတြက္ memory address သတ္မွတ္တာကို operating system (windows) ကေနၿပီး boot တက္ခ်ိန္မွာ လုပ္ေဆာင္မွာျဖစ္ပါတယ္။ ဘာအတြက္ memory addressing လုပ္ရသလဲဆိုေတာ့ memory ကိုခိုင္းႏိုင္ဖို႔ ျဖစ္ပါတယ္။ ဥပမာ file တစ္ခုကို print ထုတ္ခ်င္ရင္ windows ကေန memory ကို ဘယ္ file ကို print ထုတ္ခ်င္ပါတယ္ဆိုၿပီး filename နဲ႔ေျပာလို႔မရပါဘူး။ memory address 500 ကေန 575 ထိကို print ထုတ္ခ်င္ပါတယ္ဆိုတာမ်ိဳး ေျပာရမွာ ျဖစ္ပါတယ္။ အဲဒီ့ေတာ့မွ CPU ဟာ memory ထဲမွ data ကိုဖတ္ဖို႔နဲ႔ memory ထဲကို data ေရးဖို႔အတြက္ လုပ္ေဆာင္ပံုကို ၾကည့္ၾကရေအာင္။
ဥပမာ memory address “0” uae “15” ထိလိပ္စာ ၁၆ခုရွိတဲ့ memory ဆိုပါေတာ့။ CPU ဟာ A ဆိုတဲ့စာလံုးကို address “10” မွာေရးလိုတယ္ဆိုပါစို႔။ ဒီ့အတြက္ CPU ဟာ data“A” ကို data bus (FSB) ေပၚကိုတင္ၿပီးအမွတ္ “၁၀” ဆိုတဲ့ memory address ကို address ေပၚကိုတင္ေပးလိုက္ ပါတယ္။ ဒါေပမဲ့ အဲဒီလို data bus နဲ႔ address bus ေတြေပၚတင္ေပးရံုနဲ႔ အလုပ္မျဖစ္ေသးပါဘူး။ ဒီေနရာမွာ control bus ရဲ႕ အခန္းက႑က အေရးႀကီးလာပါတယ္။
CPU နဲ႔ memory ၾကားမွာ read memory line နဲ႔ write memory line ဆိုၿပီး control line ႏွစ္လိုင္းရွိပါတယ္။ Logically အရ CPU နဲ႔ memory ေတြအဆက္အဆံ မရွိတဲ့အခ်ိန္ (သို႔) data ေပးပို႔ရယူမႈ မရွိတဲ့အခ်ိန္မွာ အဲဒီ control line ႏွစ္ခုစလံုးဟာ “1” ေတြပဲျဖစ္ပါတယ္။ CPU ဟာ data ေရးလိုတဲ့အခါ write line မွာ “0” ျဖစ္ေအာင္ ထားရပါတယ္။ ဖတ္လိုတဲ့အခါ read line မွာ “0” ျဖစ္ေအာင္ထားရပါတယ္။
ဒါေၾကာင့္ CPU ဟာ data bus ေပၚကို data “A”, address bus ေပၚကို memory address “10” နဲ႔ write memory line မွာ “0” ဆိုၿပီးတင္ေပးလိုက္ပါတယ္။ ဒီေတာ့မွ memory ဟာ “A” ဆိုတဲ့ data ကို memory address “10” မွာေရးရမယ္ ဆိုတာသိရွိၿပီး ထည့္သြင္းေရးသားပါလိမ့္မယ္။
Memory ထဲက data ကိုဖတ္မယ္ဆိုရင္လည္း CPU ဟာ data ရွိတဲ့ memory address (ဥပမာ- 7) ကို address bus ေပၚကိုတင္ေပးၿပီး read memory line မွာ “0” ျဖစ္ေအာင္ ထားေပးပါလိမ့္မယ္။ ဒါဆိုရင္ memory ဟာ address “7” မွာရွိတဲ့ data “B” ကိုဖတ္ၿပီး data bus ေပၚတင္ေပးလိုက္ပါလိမ့္မယ္။
ဒါက address bus ေတြရဲ႕ သေဘာကို ျမင္သာေအာင္ ျပတာပါ။ တကယ္ေတာ့ address bus ဟာ memory ကိုတိုက္ရိုက္ ခ်ိတ္ဆက္တာ မရွိပါဘူး။ memory controller ကိုပဲ ခ်ိတ္ဆက္ၿပီး CPU လုပ္လိုသမွ် လုပ္ငန္းေတြကို memory controller ကေနတဆင့္ ဆက္သြယ္လုပ္ေဆာင္ ရပါတယ္။
Address bus Size
ဒီေနရာမွာ address bus ရဲ႕အရြယ္အစားနဲ႔ ပတ္သက္ၿပီး ထူးျခားတာေလးကို ေျပာျပလိုပါတယ္။ ေရွ႕က data bus မွာတုန္းက 32 bit bus ဆိုရင္တႀကိမ္မွာ 32 bit (4B) data သြားႏိုင္တယ္။ 64 bit bus ဆိုရင္တစ္ႀကိမ္မွာ 64 bit (8B) data သြားႏိုင္တယ္ စသျဖင့္ တစ္ႀကိမ္မွာ သယ္ေဆာင္ႏိုင္တဲ့ data ပမာဏကုိ ကိုယ္စားျပဳ ေလ့ရွိပါတယ္။ data bus တစ္ခုမွာ ဝါယာ ၄လိုင္းပါရင္ ေလးလမ္းသြား၊ ၆လုိင္းပါရင္ ေျခာက္လမ္းသြားဆိုၿပီး လမ္းမႀကီးေတြနဲ႔လည္း ဥပမာေပးခဲ့ပါတယ္။
Address bus ေတြက်ေတာ့ အဲဒီလိုမဟုတ္ေတာ့ပါဘူး။ ဝါယာတစ္လိုင္း တိုးတာနဲ႔ memory address အေရအတြက္ကို တိုးျမွင့္ၿပီး ခြဲျုခားသတ္မွတ္ေပး ႏိုင္ပါတယ္။ ဥပမာ အိမ္လိပ္စာေတြကို two-digit (102 ) နဲ႔ေပးမယ္ဆိုပါေတာ့ ဒါဆိုရင္ “00” ကေန “99” ထိစုစုေပါင္း အိမ္အလံုးတစ္ရာစာအထိ နံပါတ္စဥ္သတ္မွတ္ေပး ႏိုင္ပါလိမ့္မယ္။ အိမ္တစ္ရာေက်ာ္တာနဲ႔ ေပးစရာနံပါတ္မရွိ ျဖစ္ပါလိမ့္မယ္။ တကယ္လို႔ ဂဏန္းတစ္လံုးထပ္တိုးၿပီး 3-digit နဲ႔ေပးမယ္ဆိုရင္ “000” ကေန “999” ထိလိပ္စာ 1000 ထိတိုးျမွင့္ သတ္မွတ္ေပးႏိုင္ပါလိမ့္မယ္။
Address bus ေတြဟာ အိမ္လိပ္စာသေဘာတရားနဲ႔ တူပါတယ္။ ဝါယာႏွစ္ေခ်ာင္းပါတဲ့ 2-bit bus ဟာလိပ္စာေလးခု (22) ထိခြဲျခားသတ္မွတ္ေပး ႏိုင္ပါတယ္။ 3-bit bus ဟာလိပ္စာရွစ္ခုု (23) ထိသတ္မွတ္ႏိုင္ပါတယ္။ ဒီေနရာမွာ တစ္ခုျဖတ္စဥ္းစားၾကည့္ရေအာင္။ memory ဟာလိပ္စာရွစ္ခုထိ သတ္မွတ္ႏိုင္တဲ့ (8B) memory ဆိုပါေတာ့ (Location တစ္ခုမွာ 1Byte ႏွဳန္း)။ Address bus ဟာ 2-bit bus (လိပ္စာေလးခုထိ) သာျဖစ္မယ္ဆိုရင္ CPU ဟာ memory address ေလးခုထိပဲ addressing လုပ္ႏိုင္မွာ ျဖစ္တဲ့အတြက္ တကယ့္ memory ပမာဏရဲ႕ တစ္ဝက္ခန္႔ကိုပဲ အသံုးျပဳႏိုင္ပါလိမ့္မယ္။ တကယ္လို႔ Address bus ဟာ 4bit bus (လိပ္စာ၁၆ခုထိ) ျဖစ္မယ္ဆိုရင္ CPU ဟာတကယ့္ memory ပမာဏထက္ေက်ာ္လြန္ေအာင္ addressing လုပ္ႏိုင္ေစပါလိမ့္မယ္။ အဲဒီလိုပိုလုပ္ႏိုင္တဲ့ အတြက္ေတာ့ ဘာျပႆနာမွ မရွိႏိုင္ပါဘူး။ 8B memory ပမာဏရွိသေလာက္ထိ အသံုးျပဳရႏိုင္ေစပါတယ္။
ဟိုးအရင္ 8088 processor ေတြဟာ 20 bit address bus ကိုအသံုးျပဳတဲ့ အတြက္ memory address ေပါင္း 220(1048576) ထိကို handle လုပ္ႏိုင္ပါတယ္။ memory address တစ္ခုစာေနရာမွာ one byte (1B) data ကိုထည့္ထားႏိုင္တဲ့ အတြက္ 8088 CPU နဲ႔ memory ပမာဏ 1048576 byte (1MB) ပမာဏထိ အသံုးျပဳႏိုင္ေစပါတယ္။ 64 bit processor ေတြအတြက္ အသံုးျပဳတဲ့ address bus မွာ 40 bit ျဖစ္ပါတယ္။ သေဘာက memory ပမာဏ 1024 GB ထိ support လုပ္ႏိုင္ပါတယ္။ ဒီကေန႔ အိမ္သံုးရံုးသံုးကြန္ပ်ဴတာေတြမွာ အမ်ားဆံုးအသံုးျပဳေလ့ရွိတဲ့ memory ပမာဏမွ 4 GB ထိပဲျဖစ္ပါတယ္။ ဒါေၾကာင့္ memory ေတြအရြယ္အစား ဘယ္ေလာက္ပဲႀကီးႀကီး 100GB ေတြ 200GB ေတြျဖစ္ေစဦးေတာ့ Motherboard ေတြ OS (Windows) ေတြကသာလက္ခံႏိုင္မယ္ဆိုရင္ CPU ေတြအတြက္ေတာ့ အခုကတည္းကအဆင္သင့္ ပါပဲ။
Processor Family Address Bus Bytes KB MB GB TB
8088,8086 20-bit 1,048,576 1,024 1 - -
86, 386SX 24-bit 16,777,216 16,384 16 - -
386DX, 486, Pentium
K6, Athlon 32-bit 4,294,967,296 4,194,304 4,096 4 -
64-bit AMD/Intel 40-bit 1,099,511,627,776 1,073,741,824 1,048,576 1,024 1
IO Address
ေရွ႕မွာတုန္းက Address Bus ေပၚမွာ Memory address နဲ႔ IO address ေတြ သယ္ေဆာင္ျဖတ္သန္းပါတယ္လို႔ ေျပာခဲ့ပါတယ္။ ဒါဆိုရင္ address bus ေပၚမွာ ျဖတ္သန္းေနတဲ့ IO address လား၊ memory address လားဘယ္လိုခြဲျခားသလဲ ဆိုတာ စိတ္ဝင္စားဖို႔ေကာင္းလာပါတယ္။
ဥပမာ - CPU ဟာ network card နဲ႔အဆက္အသြယ္ လုပ္လုိတဲ့အခါ network card ရဲ႕ IO address (DF00) ကို address bus ေပၚကိုတင္ပါတယ္။ အဲဒီ္လို CPU ကေန IO address တစ္ခုကိုတင္လိုက္ၿပီဆိုတာနဲ႔ ကြန္ပ်ဴတာမွာတပ္ဆင္ထားသမွ် device ေတြဟာ address bus ေပၚကိုအာရံုစိုက္ၾကရပါတယ္။ IO address ဟာကိုယ္နဲ႔ မသက္ဆိုင္ဘူးလို႔သိရင္ လ်စ္လ်ဴရႈၾကရပါတယ္။ သက္ဆိုင္ရာ device (network card) ကသာ respond လုပ္ပါတယ္။ respond မလုပ္ရင္ အဲဒီပစၥည္းဟာ အလုပ္လုပ္ႏိုင္တဲ့ အေျခအေနမွာ မရွိဟု CPU ကယူဆပါတယ္။ ဒီနည္းနဲ႔ printer, CD drive စတဲ့ က်န္ပစၥည္းေတြရဲ႕ အေျခအေနကို သိလိုတဲ့အခါတိုင္း CPU ဟာ သက္ဆိုင္ရာ IO address ေတြကို address bus ေပၚတင္လႊတ္အကဲျဖတ္ပါတယ္။ ဒီေနရာမွာ တစ္ခုေလာက္စဥ္းစားၾကည့္ပါ။
Memory address နဲ႔ IO address ေတြဟာ ဆင္တူပါတယ္။ ဥပမာ address တစ္ခုျဖစ္တဲ့ DF00 ဟာ memory address လည္းျဖစ္ႏိုင္သလို၊ IO address လည္းျဖစ္ႏိုင္ပါတယ္။ ဒါဆိုရင္ address bus ေပၚကလာတဲ့ address တစ္ခုဟာ memory အတြက္လား၊ IO device ေတြအတြက္လားဆိုတာကို ဘယ္လိုခြဲျခားၾကမလဲ၊ ဒီေနရာမွာ control bus ေတြရဲ႕အခန္းက႑ဟာ အေရးႀကီးလာျပန္ပါတယ္။
ေျပာရရင္ control bus ေတြထဲက ဝါယာတလိုင္းဟာ IO ေတြအတြက္လား၊ memory အတြက္လား ဆိုတာကုိ ဆံုးျဖတ္ေပးပါတယ္။ အဲဒီ control လုိင္းေပၚမွာ ဗို႔အားတစ္ခုရွိေနမယ္ဆိုရင္ IO device ေတြဟာ address bus ေပၚကိုအာရံုစိုက္ ပါမယ္။ control line ေပၚမွာ ဗို႔အားမရွိရင္ address bus ေပၚမွာ ဘယ္ signal ေတြ (သို႕) ဘယ္ address ေတြသြားသြား IO address ေတြမွာ ဂရုမစိုက္ေတာ့ပါဘူး။ ဒီနည္းနဲ႔ IO address လား၊ memory address လားဆိုတာကို ကြဲျပားေစပါတယ္။
Processor’s Internal Data bus (Internal Registers)
Processor တစ္လံုးရဲ႕ျပင္ပ တျခားအစိတ္အပိုင္းေတြနဲ႔ ဆက္သြယ္လုပ္ေဆာင္ တဲ့ေနရာမွာ အသံုးျပဳတဲ့ Data bus, Address bus, Control bus ေတြရဲ႕သဘာဝနဲ႔ buswidth ေတြအေၾကာင္းကို ေဖာ္ျပခဲ့ၿပီးျဖစ္ပါတယ္။ အခုေျပာျပမွာက processor တစ္လံုးရဲ႕အတြင္းပိုင္းမွာရွိတဲ့ အစိတ္အပိုင္းေတြ အလုပ္လုပ္တဲ့ေနရာမွာ (သို႔) အျပန္အလွန္ data ေပးပို႔ဖလွယ္တဲ့ေနရာမွာ အသံုးျပဳတဲ့လမ္းေၾကာင္းျဖစ္တဲ့ internal data bus အေၾကာင္းျဖစ္ပါတယ္။
Processor တစ္ခုရဲ႕အတြင္းပိုင္းမွာ တစ္ႀကိမ္မွာ data ပမာဏဘယ္ေလာက္ကို transfer လုပ္ႏိုင္သလဲဆိုတဲ့ internal data bus ရဲ႕ bus width ေပၚမူတည္ၿပီး 32-bit, 64-bit processor ဆိုၿပီးအမ်ိဳးအစား ကြဲျပားေစတဲ့အတြက္ processor ရဲ႕ စြမ္းေဆာင္ရည္ကို အကဲျဖတ္ႏိုင္တဲ့ သတ္မွတ္ခ်က္တစ္ခုလည္း ျဖစ္ပါတယ္။ အဲဒီ 32-bit processor, 64-bit processor ကြဲျပားမႈကို နားလည္သေဘာေပါက္ ထားမွပဲ ေနာက္ပိုင္းမွာ OS ေတြ၊ Application ေတြေရြးခ်ယ္အသံုးျပဳတဲ့ ေနရာမွာ အခက္အခဲ မရွိႏိုင္ ျဖစ္ပါလိမ့္မယ္။
ေျပာရရင္ Windows 7 ဆိုပါေတာ့။ Microsoft ကထုတ္လုပ္စဥ္ကတည္းကိုက 32-bit edition, 64-bit edition ဆိုၿပီး၂မ်ိဳးထြက္တယ္။ ဘယ္ edition ကိုသံုးရမွာလဲ၊ 64-bit edition ကိုေကာ ကိုယ့္ရဲ႕ကြန္ပ်ဴတာမွာ သံုးႏိုင္မလားဆိုတာမ်ိဳးေတြက 32-bit နဲ႔ 64-bit processor ေတြရဲ႕ကြဲျပားခ်က္ကို သိမွပဲ ဆံုးျဖတ္ႏိုင္မွာ ျဖစ္ပါတယ္။ ေအာက္ကပံုကိုၾကည့္ပါ။ ဒါဟာ processor ေတြရဲ႕အတြင္းမွာ ပါတဲ့အဓိက အစိတ္အပိုင္းသံုးခုျဖစ္တဲ့ ALU, Register, Control Unit ေတြနဲ႔ ပံုေဖာ္ထားတာ ျဖစ္ပါတယ္။
ဒီေနရာမွာ အဓိကေျပာလိုတာက 64-bit processor နဲ႔ပတ္သက္ၿပီး မွားယြင္းသေဘာေပါက္မႈ ျဖစ္ပါတယ္။ ဒီကေန႔ လက္ရွိအသံုးျပဳေနၾကတဲ့ processor ေတြရဲ႕ External data bus (or) FSb ဟာ 64-bit ျဖစ္ပါတယ္။ ဒါေပမဲ့ အဲဒီလို processor ရဲ႕ျပင္ပမွာ 64-bit နဲ႔လုပ္ေဆာင္ႏိုင္ေပမဲ့ 64-bit processor ဆိုၿပီး သတ္မွတ္လို႔မရပါဘူး။ Internal data bus ေပၚမူတည္ၿပီး ခြဲမွရမယ္ဆိုတဲ့ အခ်က္ျဖစ္ပါတယ္။ ဒီအတြက္ processor အတြင္းပိုင္းက Internal data bus အေၾကာင္းကို ရွင္းဖို႔လိုအပ္လာပါတယ္။
ALU (Arithmetic Logic Unit)
ALU ဟာ processor ေတြရဲ႕ အေျခခံအုတ္ျမစ္ျဖစ္ၿပီး Arithmetic operation နဲ႔ Logical operation ေတြကိုအဓိကလုပ္ေဆာင္ပါတယ္။ Internal data bus ဆိုတာက Register ေတြနဲ႔ ALU, ALU နဲ႔ Control Unit ခ်ိတ္ဆက္တဲ့ လမ္းေၾကာင္းျဖစ္ပါတယ္။
Logical Operation - AND, NOT, OR, XOR
Arithmetic Operation - Adding (+), Substraction (-)
Multiplying (x), division (/)
Registers
Processor ကလက္ရွိ execute လုပ္ဖို႔လိုတဲ့ data ေတြ၊ instruction ေတြကို ထည့္ထားတဲ့ ေနရာျဖစ္တဲ့အတြက္ register လို႔ဆိုလိုက္တာနဲ႔ CPU ထဲက memory ဧရိယာ တစ္ခုလို႔ သိထားလိုက္ပါ။ ကြန္ပ်ဴတာစနစ္မွာ သံုးသမွ် memory အမ်ိဳးအစား (Cache, Main memory) အားလံုးထဲမွာ speed အျမန္ဆံုးနဲ႔ အေသးဆံုး အမ်ိဳးအစား တစ္ခုျဖစ္တယ္ဆိုတဲ့ သေဘာပါ။
Processor တစ္လံုးမွာ register အေရအတြက္ ဘယ္ေလာက္ရွိသလဲဆိုတာ ကေတာ့ CPU အမ်ိဳးအစားေပၚမူတည္ၿပီး ဆယ္ဂဏန္းကေန ရာဂဏန္းထိရွိႏိုင္ပါတယ္။ ဒါေပမယ့္ အၾကမ္းမ်ဥ္းအုပ္စု ခြဲၾကည့္ရင္ Input နဲ႔ Output register ဆိုၿပီး၂မ်ိဳးပဲ ရွိပါတယ္။ ဒီေတာ့မွ ALU, Register နဲ႔ Control Unit ေတြပူးတြဲလုပ္ေဆာင္ပံုကို ၾကည့္ရေအာင္။
ALU ဟာ input register ေတြထဲက data ေတြကိုဆြဲယူပါတယ္။ Control Unit ဟာအဲဒီ data ေတြနဲ႔ပတ္သက္ၿပီး ဘာလုပ္ရမယ္ဆိုတာ ALU ကိုေျပာပါတယ္။ Control Unit ကခိုင္းတဲ့အတိုင္း ေပါင္းတာ၊ ႏွဳတ္တာ ေတြကိုလုပ္ၿပီး ရလာတဲ့ ရလဒ္ကို ALU က Output Register ေပၚကိုတင္ေပးပါတယ္။ ဥပမာအေနနဲ႔ 2 နဲ႔ 3 ေပါင္းတဲ့ ျဖစ္စဥ္ကို ၾကည့္ရေအာင္။
အမည္းျခယ္ထားတဲ့ box ဟာ instruction (Adding)
အျဖဴေရာင္ box ဟာေပါင္းရမယ့္ကိန္း ၂ခုပါတဲ့ သေကၤတ (2နဲ႔3)
ALU က Register ေတြဆီက ကိန္း၂ခုနဲ႔ Arithametic operator ေတြကို input အျဖစ္ ထည့္သြင္းၿပီး result (5) ကိုထုတ္ေပးပါလိမ့္မယ္။ မီးခိုးေရာင္ box ေတြဟာ result ျဖစ္ပါတယ္။
ဒါက Processor အထဲမွာ အလုပ္လုပ္ပံု အၾကမ္းမ်ဥ္းျဖစ္ပါတယ္။ ဒီေနရာမွာ အဓိကေျပာခ်င္တာက Register size ျဖစ္ပါတယ္။ Register တစ္ခုရဲ႕ သိုေလွာင္ထား ႏိုင္မႈ ပမာဏက အေရးပါပါတယ္။
32-bit processor/ 64-bit processor
အဲဒီ CPU အထဲက internal data bus ေပၚမွာတႀကိမ္ကို data ပမာဏ ဘယ္ေလာက္သယ္ယူ ျဖတ္သန္းႏိုင္မလဲဆိုတာ register size ေပၚမူတည္ပါတယ္။ (ဒါ့ေၾကာင့္ register size ကို internal data bus အျဖစ္ေျပာတာေတြလည္း ရွိပါတယ္။) ဒီကေန႔ CPU ေတြမွာ 32-bit နဲ႔ 64-bit ဆိုၿပီး register size ႏွစ္မ်ိဳးရွိပါတယ္။ ဒီေတာ့မွ 32-bit register သံုးတဲ့ CPU ေတြကို 32-bit processor လို႔ေခၚၿပီး 64-bit register သံုးတဲ့ CPU ေတြကို 64j-bit processor ေတြလို႔ သတ္မွတ္ပါတယ္။
Intel ကထုတ္တဲ့ 386 ကစၿပီး Pentium 4 processor ေတြထိ အတြင္းမွာ 32-bit register ကိုပဲ အသံုးျပဳတည္ေဆာက္ထားပါတယ္။ ဒီအတြက္ အဲဒီ 32-bit processor တပ္ဆင္တဲ့ကြန္ပ်ဴတာေတြမွာ 32-bit operation system နဲ႔ application ေတြကိုပဲ install လုပ္ၿပီးသံုးႏိုင္ပါတယ္။ 64-bit OS နဲ႔ application ေတြကို install လုပ္လို႔မရပါဘူး။ Intel ရဲ႕ Core 2, AMD-Athlon 60 ကစၿပီးေနာက္ပိုင္း processor ေတြမွာေတာ့ 32j-bit နဲ႔ 64-bit register ႏွစ္မ်ိဳးစလံုးပါရွိတဲ့အတြက္ 32-bit OS ပဲျဖစ္ျဖစ္၊ 64-bit OS ပဲျဖစ္ျဖစ္ ႀကိဳက္တာေရြးသံုးႏိုင္ပါတယ္။
32 bit/ 64 bit processor & 32 bit/ 64 bit Windows
64 bit processor ကိုသံုးၿပီး စြမ္းရည္ျပည့္ အလုပ္လုပ္ႏိုင္ေစဖို႔ 64 bit Windows နဲ႔ 64 bit driver ေတြလိုအပ္ပါတယ္။ ၂၀၀၅ ခုႏွစ္ဧၿပီလ ကတည္းက Microsoft က Windows XP 64 bit ကိုစတင္မိတ္ဆက္ေပးခဲ့ပါတယ္။ Application ပိုင္းအေနနဲ႔ကေတာ့ 32 bit application ေတြဟာ 64 bit windows မွာေကာင္းစြာ အလုပ္လုပ္ႏိုင္တဲ့အတြက္ အသံုးျပဳႏိုင္ပါတယ္။ (16bit application ေတြကိုေတာ့ သံုးလို႔မရပါဘူး။) အဓိကျပႆနာက driver ေတြျဖစ္ပါတယ္။ အဲဒီအခါတုန္းက အသံုးျပဳေနတဲ့ Sound card ေတြ၊ VGA ေတြစတဲ့ device ေတြအတြက္ 64 bit driver ေတြအဆင္သင့္မရွိတာပဲ ျဖစ္ပါတယ္။ 32 bit windows အတြက္ေရးထားတဲ့ 32 bit driver ေတြကို 64 bit Windows မွာသံုးလို႔႔မရသလုိ 64 bit အတြက္ေရးထားတဲ့ driver ေတြကို 32 bit Windows မွာလည္းသံုးလို႔ မရပါဘူး။
ေနာက္ပိုင္းမွာေတာ့ ပစၥည္းထုတ္လုပ္ေရာင္ခ်တဲ့သူေတြက ပစၥည္းသစ္တစ္မ်ိဳး ထုတ္တိုင္း 32 bit OS နဲ႔ 64 bit OS အတြက္ဆိုၿပီး driver ႏွစ္မ်ိဳးတြဲထုတ္ေပးပါတယ္။ ဒီအတြက္ 2009 ခုႏွစ္ Windows 7 ထြက္လာတဲ့အခ်ိန္မွာေတာ့ 32 bit အတြက္ေကာ 64 bit အတြက္ပါ driver အေတာ္မ်ားမ်ား အဆင္သင့္ရွိေနႏွင့္ၿပီ ျဖစ္ပါတယ္။ အဲဒီ 64 bit edition နဲ႔ 64 bit processor (X86-64PC) ေတြမွာ အသံုးျပဳမယ္ဆိုပါက 3D Game ေတြ၊ Graphic၊ Animation နဲ႔တျခား 64 bit application ေတြကို ပိုမိုျမန္ဆန္ေအာင္ လုပ္ေဆာင္ႏိုင္ၾကတဲ့အတြက္ 64-bit processor ေတြနဲ႔အတူ 64 bit edition အသံုးျပဳမႈ တြင္က်ယ္လာေနၿပီ ျဖစ္ပါတယ္။
32 bit နဲ႔ 64 bit Windows ေတြရဲ႕ ေနာက္ထပ္ျခားနားခ်က္ကေတာ့ memory capacity ဘယ္ေလာက္မ်ားမ်ားထိ support လုပ္ႏိုင္သလဲဆိုတာပဲ ျဖစ္ပါတယ္။ 32 bit windows ေတြအျမင့္ဆံုး support လုပ္ႏိုင္တဲ့ ပမာဏက 4GB ျဖစ္ပါတယ္။ သေဘာက ကြန္ပ်ဴတာမွာ RAM ေတြကို 4GB ထက္ေက်ာ္ေအာင္ တပ္ဆင္အသံုးျပဳလို႔ မရပါဘူး။ 64-bit windows ေတြရဲ႕ဒီကေန႔အျမင့္ဆံုး support လုပ္ႏိုင္တဲ့ပမာဏက 192GB ထိျဖစ္ပါတယ္။ windows version ေပၚမွာလည္းမူတည္ပါတယ္။ ဘယ္လိုပဲ ျဖစ္ျဖစ္ ကြန္ပ်ဴတာမွာ RAM ပမာဏကို 4GB ထက္ေက်ာ္ၿပီး တပ္ဆင္အသံုးျပဳခ်င္တယ္ ဆိုရင္ 64bit windows တစ္ခုခုကို မျဖစ္မေန အသံုးျပဳရမွာ ျဖစ္သလို motherboard ေပၚက chipset ကလည္း memory ပမာဏကို 4GB ထက္ေက်ာ္လြန္ေအာက္ (ဥပမာ- 8GB) support လုပ္ႏိုင္တဲ့ chipset မ်ိဳးျဖစ္ဖို႔လည္း လိုပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
AMD processor ေတြရဲ႕ FSB ဟာ dual pumped Bus ေတြပဲျဖစ္ပါတယ္။ Dual pumped Bus ဆိုတာကေတာ့ one clock cycle မွာ 2 signal (or) 2 bit data ကိုပို႔လႊတ္ႏိုင္တဲ့ Bus ေတြပဲျဖစ္ပါတယ္။ ေျပာရရင္မိမိကြန္ပ်ဴတာရဲ႕ System clock speed ဟာ 133MHz ျဖစ္ပါက CPU ရဲ႕ FSB speed ဟာ 266MHz (133 x 2) ျဖစ္ပါလိမ့္မယ္။
Quad Pumped
“Quad Pumped” ကို Pentium 4 processor ေတြမွာ အသံုးျပဳလ်က္ရွိပါတယ္။ Quad pumped ဆိုတာကေတာ့ one clock cycle မွာ 4 signal (or) 4 bit data ကို transfer လုပ္ႏိုင္တဲ့ Bus ပဲျဖစ္ပါတယ္။ ေျပာရရင္ System clock speed ဟာ 133 MHz ျဖစ္ပါက FSB speed ဟာ 533MHz ျဖစ္ပါလိမ့္မယ္။ ဒါေၾကာင့္ အျပန္အလွန္ အားျဖင့္ Pentium 4 processor ရဲ႕ FSB speed ဟာ 400MHz ျဖစ္တယ္လို႔ဆိုတာနဲ႔ System clock speed ဟာ 100MHz, FSB ဟာ 800MHz ျဖစ္တာနဲ႔ system clock speed ဟာ 200MHz ျဖစ္တယ္ဆိုတာကို နားလည္ဖို႔လိုပါတယ္။
Front Side Bus Width
Processor ရဲ႕အတြင္းပိုင္းမွာ clock speed ျမင့္ျမင့္နဲ႔ လုပ္ေဆာင္ႏိုင္ဖို႔ လိုအပ္သလို ျပင္ပ device ေတြနဲ႔ဆက္ဆံတဲ့ ေနရာမွာလည္း FSB speed ျမင့္ျမင့္နဲ႔ လုပ္ေဆာင္ႏိုင္မွပဲ စနစ္တစ္ခုလံုးရဲ႕ စြမ္းေဆာင္ရည္ တိုးျမွင့္ေစပါလိမ့္မယ္။ FSB speed ကိုတိုးျမင့္ေအာင္ လုပ္ရတဲ့ ရည္ရြယ္ခ်က္အမွန္က အခ်ိန္တိုအတြင္း data မ်ားမ်ားပို႔ႏိုင္ေအာင္ ယူႏိုင္ေအာင္ျဖစ္ပါတယ္။
စြမ္းေဆာင္ရည္ပိုေကာင္းေအာင္ speed ျမွင့္တယ္ဆိုတာက ျမွင့္ခ်င္တိုင္းျမွင့္လို႔ မရပါဘူး။ ဒီဘက္က ျမွင့္လိုက္တဲ့အတိုင္း တဖက္ကလိုက္ပါ လုပ္ေဆာင္ႏိုင္မွ ေအာင္ျမင္ၿပီးေျမာက္ႏိုင္မွာပါ။ ဥပမာ ကားေပၚကေန အုတ္ခဲခ်တဲ့ျဖစ္စဥ္ကို ၾကည့္ရေအာင္။ ကားေပၚက အုတ္ခဲခ်တဲ့လူက တစကၠန္႔မွာ တစ္လံုးႏွဳန္းနဲ႔ ေအာက္ကလူဆီ ပစ္ေပးတယ္။ ေအာက္ကလူကလည္း တစကၠန္႔မွာ တစ္လံုးႏွဳန္းနဲ႔ ဖမ္းယူႏိုင္တယ္ဆိုပါစို႔။ အဲဒါကို ျမန္ျမန္ၿပီးခ်င္တဲ့အတြက္ အေပၚကလူက တစကၠန္႔ကို ႏွစ္လံုးႏွဳန္းနဲ႔ ခ်မယ္ဆိုရင္ တဖက္ဖမ္းယူသူလည္း အဲဒီ့ႏွဳန္းအတိုင္း ဖမ္းယူႏိုင္စြမ္း ရွိရပါမယ္။
အေပၚကပစ္တဲ့ speed အတိုင္းမဖမ္းႏိုင္ဘူးဆိုရင္ တစကၠန္႔မွာ ေအာက္ကိုအုတ္ခဲ ႏွစ္လံုးေရာက္ဖို႔မျဖစ္ႏိုင္ပါဘူး။ အဲဒီလိုအေျခအေနမ်ိဳးမွာ speed ကို မျမွင့္ပဲ တစကၠန္႔မွာ အုတ္ခဲႏွစ္လံုးခ်ႏိုင္ေအာင္ လုပ္ေဆာင္ႏိုင္မယ့္ နည္းလမ္းရွိပါတယ္။ ေျပာရရင္ အေပၚက ႏွစ္ေယာက္က ပစ္မယ္။ ေအာက္ကႏွစ္ေယာက္က ဖမ္းမယ္ဆိုရင္လည္း တစ္စကၠန္႔မွာ ၂လံုးႏွဳန္းနဲ႔ အုတ္ခဲခ်ႏိုင္ပါလိမ့္မယ္။ ေျပာရရင္ လမ္းေၾကာင္းေတြထပ္တိုးတာနဲ႔ speed ျမင့္စရာမလိုပဲ အလုပ္ၿပီးေျမာက္မႈ ႏွဳန္းကို တိုးျမွင့္တာပဲ ျဖစ္ပါတယ္။
အဲဒီသေဘာအတိုင္းပါပဲ ကြန္ပ်ဴတာမွာလည္း CPU နဲ႔ memory ေတြၾကားက FSB ရဲ႕ Width ကိုခ်ဲ႕တာနဲ႔ အခ်ိန္တစ္ခုအတြင္း data ပိုမိုေပးပို႔ ရယူႏိုင္ေအာင္ လုပ္ေဆာင္ခဲ့ၾကပါတယ္။ ေျပာရရင္ 386 processor သံုးကြန္ပ်ဴတာေတြ ကေနစၿပီး ေရွ႕ပိုင္း Pentium III ကြန္ပ်ဴတာေတြအထိ FSB width ဟာ 32 bit (32လိုင္း) ျဖစ္ပါတယ္။ ေနာက္ပိုင္း PIII ကေနစၿပီး ဒီကေန႔လက္ရွိ အသံုးျပဳေနၾကတဲ့ processor ေတြရဲ႕ data bus (or) cpu bus (or) FSB ရဲ႕ Bus Width ဟာ 64 bit (64လိုင္း) ျဖစ္ပါတယ္။ ေျပာရရင္ processor နဲ႔ memory ေတြဟာတစ္ႀကိမ္မွာ 8 byte (64bit) ပမာဏရွိတဲ့ data ေတြကို အျပန္အလွန္ ေပးပို႔ရယူႏိုင္ၾကပါတယ္။
Address bus နဲ႔ Control bus တို႔အေၾကာင္း
External data bus (or) FSB ဟာ CPU နဲ႔ memory သို႔မဟုတ္ I/O device (hard disk, CD/DVD, printer) ေတြၾကားက data ေပးပို႔ဖလွယ္ရာ လမ္းေၾကာင္းေတြ ျဖစ္ၾကပါတယ္။ သူ႔ရဲ႕ speed နဲ႔ buswidth ေတြကိုၾကည့္ၿပီး CPU ေတြရဲ့စြမ္းေဆာင္ရည္ ကိုအကဲျဖတ္ၾကတဲ့အတြက္ ေက်ာ္ၾကားတဲ့ bus တစ္ခုလည္းျဖစ္ပါတယ္။ ဒါေၾကာင့္ အေတာ္မ်ားမ်ားက cpu နဲ႔ပတ္သက္ရင္ FSB တစ္ခုပဲရွိတယ္လို႔ ထင္တတ္ၾကပါတယ္။ ေျပာရရင္ CPU ကိုဝင္သမွ်ထြက္သမွ် data ေတြ၊ instruction ေတြအားလံုးဟာ signal ေတြအျဖစ္နဲ႔ FSB ေပၚကေန ျဖတ္သန္းၾကရပါတယ္။ အဲဒီျဖတ္သန္းေနတဲ့ data ေတြကို “ဘယ္ကလာလို႔ ဘယ္ကိုသြား” ဆိုတာမ်ိဳးညႊန္ၾကားႏိုင္ေအာင္၊ ထိန္းေက်ာင္းႏိုင္ေအာင္ အကူ bus ေတြလည္းရွိရပါမယ္။ အဲဒါေတြကေတာ့ Address bus နဲ႔ Control bus ေတြပဲျဖစ္ပါတယ္။
Address bus ကလည္း CPU, memory နဲ႔တျခား I/O device ေတြကို ခ်ိတ္ဆက္ထားတဲ့ motherboard ေပၚက bus တစ္ခုျဖစ္ပါတယ္။ buswidth လို႔ေခၚတဲ့ ပါဝင္တဲ့ဝါယာ အေရအတြက္နဲ႔ ၾကည့္ရင္ 8088 ကေနဒီကေန႔ 64-bit processor ေတြထိ 20-bit, 32-bit, 40-bit bus ဆိုၿပီးအဆင့္ဆင့္ တိုးျမွင့္အသံုးျပဳခဲ့ၾကပါတယ္။ Address bus ေတြကိုဘာအတြက္ ထည့္သြင္းအသံုးျပဳ ၾကရသလဲဆိုေတာ့ Address bus ေပၚကေန memory address နဲ႔ IO address ေတြကို ျဖတ္သန္းသယ္ေဆာင္ ႏိုင္ေစဖို႔ျဖစ္ပါတယ္။
Control bus ဟာလည္း CPU, memory နဲ႔တျခား I/O device ေတြခ်ိတ္ဆက္တဲ့ ဝါယာအစုအေဝးျဖစ္ပါတယ္။ buswidth ရယ္လို႔ေတာ့ မရွိပါဘူး။ ဝါယာတလိုင္းခ်င္းစီဟာ တစ္လိုင္းနဲ႔တစ္လိုင္း မွီခိုမႈမရွိပဲ သီးျခားစီ အလုပ္လုပ္ၾက ပါတယ္။ clock signal, Inerrupt signal နဲ႔ read/write memory signal ေတြနဲ႔ တျခား Control signal ေတြျဖတ္သန္းၾကတဲ့ ဝါယာလိုင္းေတြျဖစ္ပါတယ္။ ေအာက္ကပံု ကေတာ့ processor နဲ႔ memory ,IO device ေတြၾကားမွာ data bus, address bus နဲ႔ control bus ေတြကို ဘယ္လိုခ်ိတ္ဆက္သြယ္တန္း ထားသလဲဆိုတာကို ေဖာ္ျပပါတယ္။
Memory Address
Address bus နဲ႔ Control bus ေတြအလုပ္လုပ္ပံုကို နားလည္ဖို႔အတြက္ memory address ဆိုတာ ဘာလဲဆိုတာကို အရင္ဆံုးသိထားရပါမယ္။ memory ထဲမွာ data ေတြထည့္သြင္းႏိုင္ေအာင္ ေနရာခ်စီမံထားပံုကို အနီးစပ္ဆံုး ေျပာရရင္ excel sheet ေတြနဲ႔တူတယ္လို႔ ဆိုႏိုင္ပါတယ္။ excel sheet ရဲ႕ cell တစ္ကြက္ခ်င္းစီမွာ အခ်က္အလက္ေတြ ထည့္သြင္းႏိုင္သလို cell တစ္ကြက္ခ်င္းစီ အတြက္လည္း ကိုယ္ပိုင္လိပ္စာတစ္ခုစီ ရွိၾကပါတယ္။ memory ေတြထဲမွာ excel ရဲ႕ cell ကြက္ေတြနဲ႔တူတဲ့ memory Location ေတြရွိပါတယ္။ Location တစ္ခုခ်င္းစီမွာ 1 byte (1B) ထည့္သြင္းႏိုင္ၿပီး Location တစ္ခုခ်င္းစီအတြက္ memory address လို႔ေခၚတဲ့ နံပါတ္စဥ္ေတြရွိပါတယ္။
Memory address ေတြကို ကြန္ပ်ဴတာမွာ ေဖာ္ျပတဲ့အခါ hexadecimal number ေတြနဲ႔ေဖာ္ျပေလ့ ရွိပါတယ္။ ဥပမာ memory address ဟာ 000DFFFF ျဖစ္ပါက decimal number နဲ႔ အမွတ္စဥ္ (917,503) ျဖစ္ပါတယ္။ အဲဒီလို memory location တစ္ခုခ်င္းစီအတြက္ memory address သတ္မွတ္တာကို operating system (windows) ကေနၿပီး boot တက္ခ်ိန္မွာ လုပ္ေဆာင္မွာျဖစ္ပါတယ္။ ဘာအတြက္ memory addressing လုပ္ရသလဲဆိုေတာ့ memory ကိုခိုင္းႏိုင္ဖို႔ ျဖစ္ပါတယ္။ ဥပမာ file တစ္ခုကို print ထုတ္ခ်င္ရင္ windows ကေန memory ကို ဘယ္ file ကို print ထုတ္ခ်င္ပါတယ္ဆိုၿပီး filename နဲ႔ေျပာလို႔မရပါဘူး။ memory address 500 ကေန 575 ထိကို print ထုတ္ခ်င္ပါတယ္ဆိုတာမ်ိဳး ေျပာရမွာ ျဖစ္ပါတယ္။ အဲဒီ့ေတာ့မွ CPU ဟာ memory ထဲမွ data ကိုဖတ္ဖို႔နဲ႔ memory ထဲကို data ေရးဖို႔အတြက္ လုပ္ေဆာင္ပံုကို ၾကည့္ၾကရေအာင္။
ဥပမာ memory address “0” uae “15” ထိလိပ္စာ ၁၆ခုရွိတဲ့ memory ဆိုပါေတာ့။ CPU ဟာ A ဆိုတဲ့စာလံုးကို address “10” မွာေရးလိုတယ္ဆိုပါစို႔။ ဒီ့အတြက္ CPU ဟာ data“A” ကို data bus (FSB) ေပၚကိုတင္ၿပီးအမွတ္ “၁၀” ဆိုတဲ့ memory address ကို address ေပၚကိုတင္ေပးလိုက္ ပါတယ္။ ဒါေပမဲ့ အဲဒီလို data bus နဲ႔ address bus ေတြေပၚတင္ေပးရံုနဲ႔ အလုပ္မျဖစ္ေသးပါဘူး။ ဒီေနရာမွာ control bus ရဲ႕ အခန္းက႑က အေရးႀကီးလာပါတယ္။
CPU နဲ႔ memory ၾကားမွာ read memory line နဲ႔ write memory line ဆိုၿပီး control line ႏွစ္လိုင္းရွိပါတယ္။ Logically အရ CPU နဲ႔ memory ေတြအဆက္အဆံ မရွိတဲ့အခ်ိန္ (သို႔) data ေပးပို႔ရယူမႈ မရွိတဲ့အခ်ိန္မွာ အဲဒီ control line ႏွစ္ခုစလံုးဟာ “1” ေတြပဲျဖစ္ပါတယ္။ CPU ဟာ data ေရးလိုတဲ့အခါ write line မွာ “0” ျဖစ္ေအာင္ ထားရပါတယ္။ ဖတ္လိုတဲ့အခါ read line မွာ “0” ျဖစ္ေအာင္ထားရပါတယ္။
ဒါေၾကာင့္ CPU ဟာ data bus ေပၚကို data “A”, address bus ေပၚကို memory address “10” နဲ႔ write memory line မွာ “0” ဆိုၿပီးတင္ေပးလိုက္ပါတယ္။ ဒီေတာ့မွ memory ဟာ “A” ဆိုတဲ့ data ကို memory address “10” မွာေရးရမယ္ ဆိုတာသိရွိၿပီး ထည့္သြင္းေရးသားပါလိမ့္မယ္။
Memory ထဲက data ကိုဖတ္မယ္ဆိုရင္လည္း CPU ဟာ data ရွိတဲ့ memory address (ဥပမာ- 7) ကို address bus ေပၚကိုတင္ေပးၿပီး read memory line မွာ “0” ျဖစ္ေအာင္ ထားေပးပါလိမ့္မယ္။ ဒါဆိုရင္ memory ဟာ address “7” မွာရွိတဲ့ data “B” ကိုဖတ္ၿပီး data bus ေပၚတင္ေပးလိုက္ပါလိမ့္မယ္။
ဒါက address bus ေတြရဲ႕ သေဘာကို ျမင္သာေအာင္ ျပတာပါ။ တကယ္ေတာ့ address bus ဟာ memory ကိုတိုက္ရိုက္ ခ်ိတ္ဆက္တာ မရွိပါဘူး။ memory controller ကိုပဲ ခ်ိတ္ဆက္ၿပီး CPU လုပ္လိုသမွ် လုပ္ငန္းေတြကို memory controller ကေနတဆင့္ ဆက္သြယ္လုပ္ေဆာင္ ရပါတယ္။
Address bus Size
ဒီေနရာမွာ address bus ရဲ႕အရြယ္အစားနဲ႔ ပတ္သက္ၿပီး ထူးျခားတာေလးကို ေျပာျပလိုပါတယ္။ ေရွ႕က data bus မွာတုန္းက 32 bit bus ဆိုရင္တႀကိမ္မွာ 32 bit (4B) data သြားႏိုင္တယ္။ 64 bit bus ဆိုရင္တစ္ႀကိမ္မွာ 64 bit (8B) data သြားႏိုင္တယ္ စသျဖင့္ တစ္ႀကိမ္မွာ သယ္ေဆာင္ႏိုင္တဲ့ data ပမာဏကုိ ကိုယ္စားျပဳ ေလ့ရွိပါတယ္။ data bus တစ္ခုမွာ ဝါယာ ၄လိုင္းပါရင္ ေလးလမ္းသြား၊ ၆လုိင္းပါရင္ ေျခာက္လမ္းသြားဆိုၿပီး လမ္းမႀကီးေတြနဲ႔လည္း ဥပမာေပးခဲ့ပါတယ္။
Address bus ေတြက်ေတာ့ အဲဒီလိုမဟုတ္ေတာ့ပါဘူး။ ဝါယာတစ္လိုင္း တိုးတာနဲ႔ memory address အေရအတြက္ကို တိုးျမွင့္ၿပီး ခြဲျုခားသတ္မွတ္ေပး ႏိုင္ပါတယ္။ ဥပမာ အိမ္လိပ္စာေတြကို two-digit (102 ) နဲ႔ေပးမယ္ဆိုပါေတာ့ ဒါဆိုရင္ “00” ကေန “99” ထိစုစုေပါင္း အိမ္အလံုးတစ္ရာစာအထိ နံပါတ္စဥ္သတ္မွတ္ေပး ႏိုင္ပါလိမ့္မယ္။ အိမ္တစ္ရာေက်ာ္တာနဲ႔ ေပးစရာနံပါတ္မရွိ ျဖစ္ပါလိမ့္မယ္။ တကယ္လို႔ ဂဏန္းတစ္လံုးထပ္တိုးၿပီး 3-digit နဲ႔ေပးမယ္ဆိုရင္ “000” ကေန “999” ထိလိပ္စာ 1000 ထိတိုးျမွင့္ သတ္မွတ္ေပးႏိုင္ပါလိမ့္မယ္။
Address bus ေတြဟာ အိမ္လိပ္စာသေဘာတရားနဲ႔ တူပါတယ္။ ဝါယာႏွစ္ေခ်ာင္းပါတဲ့ 2-bit bus ဟာလိပ္စာေလးခု (22) ထိခြဲျခားသတ္မွတ္ေပး ႏိုင္ပါတယ္။ 3-bit bus ဟာလိပ္စာရွစ္ခုု (23) ထိသတ္မွတ္ႏိုင္ပါတယ္။ ဒီေနရာမွာ တစ္ခုျဖတ္စဥ္းစားၾကည့္ရေအာင္။ memory ဟာလိပ္စာရွစ္ခုထိ သတ္မွတ္ႏိုင္တဲ့ (8B) memory ဆိုပါေတာ့ (Location တစ္ခုမွာ 1Byte ႏွဳန္း)။ Address bus ဟာ 2-bit bus (လိပ္စာေလးခုထိ) သာျဖစ္မယ္ဆိုရင္ CPU ဟာ memory address ေလးခုထိပဲ addressing လုပ္ႏိုင္မွာ ျဖစ္တဲ့အတြက္ တကယ့္ memory ပမာဏရဲ႕ တစ္ဝက္ခန္႔ကိုပဲ အသံုးျပဳႏိုင္ပါလိမ့္မယ္။ တကယ္လို႔ Address bus ဟာ 4bit bus (လိပ္စာ၁၆ခုထိ) ျဖစ္မယ္ဆိုရင္ CPU ဟာတကယ့္ memory ပမာဏထက္ေက်ာ္လြန္ေအာင္ addressing လုပ္ႏိုင္ေစပါလိမ့္မယ္။ အဲဒီလိုပိုလုပ္ႏိုင္တဲ့ အတြက္ေတာ့ ဘာျပႆနာမွ မရွိႏိုင္ပါဘူး။ 8B memory ပမာဏရွိသေလာက္ထိ အသံုးျပဳရႏိုင္ေစပါတယ္။
ဟိုးအရင္ 8088 processor ေတြဟာ 20 bit address bus ကိုအသံုးျပဳတဲ့ အတြက္ memory address ေပါင္း 220(1048576) ထိကို handle လုပ္ႏိုင္ပါတယ္။ memory address တစ္ခုစာေနရာမွာ one byte (1B) data ကိုထည့္ထားႏိုင္တဲ့ အတြက္ 8088 CPU နဲ႔ memory ပမာဏ 1048576 byte (1MB) ပမာဏထိ အသံုးျပဳႏိုင္ေစပါတယ္။ 64 bit processor ေတြအတြက္ အသံုးျပဳတဲ့ address bus မွာ 40 bit ျဖစ္ပါတယ္။ သေဘာက memory ပမာဏ 1024 GB ထိ support လုပ္ႏိုင္ပါတယ္။ ဒီကေန႔ အိမ္သံုးရံုးသံုးကြန္ပ်ဴတာေတြမွာ အမ်ားဆံုးအသံုးျပဳေလ့ရွိတဲ့ memory ပမာဏမွ 4 GB ထိပဲျဖစ္ပါတယ္။ ဒါေၾကာင့္ memory ေတြအရြယ္အစား ဘယ္ေလာက္ပဲႀကီးႀကီး 100GB ေတြ 200GB ေတြျဖစ္ေစဦးေတာ့ Motherboard ေတြ OS (Windows) ေတြကသာလက္ခံႏိုင္မယ္ဆိုရင္ CPU ေတြအတြက္ေတာ့ အခုကတည္းကအဆင္သင့္ ပါပဲ။
Processor Family Address Bus Bytes KB MB GB TB
8088,8086 20-bit 1,048,576 1,024 1 - -
86, 386SX 24-bit 16,777,216 16,384 16 - -
386DX, 486, Pentium
K6, Athlon 32-bit 4,294,967,296 4,194,304 4,096 4 -
64-bit AMD/Intel 40-bit 1,099,511,627,776 1,073,741,824 1,048,576 1,024 1
IO Address
ေရွ႕မွာတုန္းက Address Bus ေပၚမွာ Memory address နဲ႔ IO address ေတြ သယ္ေဆာင္ျဖတ္သန္းပါတယ္လို႔ ေျပာခဲ့ပါတယ္။ ဒါဆိုရင္ address bus ေပၚမွာ ျဖတ္သန္းေနတဲ့ IO address လား၊ memory address လားဘယ္လိုခြဲျခားသလဲ ဆိုတာ စိတ္ဝင္စားဖို႔ေကာင္းလာပါတယ္။
ဥပမာ - CPU ဟာ network card နဲ႔အဆက္အသြယ္ လုပ္လုိတဲ့အခါ network card ရဲ႕ IO address (DF00) ကို address bus ေပၚကိုတင္ပါတယ္။ အဲဒီ္လို CPU ကေန IO address တစ္ခုကိုတင္လိုက္ၿပီဆိုတာနဲ႔ ကြန္ပ်ဴတာမွာတပ္ဆင္ထားသမွ် device ေတြဟာ address bus ေပၚကိုအာရံုစိုက္ၾကရပါတယ္။ IO address ဟာကိုယ္နဲ႔ မသက္ဆိုင္ဘူးလို႔သိရင္ လ်စ္လ်ဴရႈၾကရပါတယ္။ သက္ဆိုင္ရာ device (network card) ကသာ respond လုပ္ပါတယ္။ respond မလုပ္ရင္ အဲဒီပစၥည္းဟာ အလုပ္လုပ္ႏိုင္တဲ့ အေျခအေနမွာ မရွိဟု CPU ကယူဆပါတယ္။ ဒီနည္းနဲ႔ printer, CD drive စတဲ့ က်န္ပစၥည္းေတြရဲ႕ အေျခအေနကို သိလိုတဲ့အခါတိုင္း CPU ဟာ သက္ဆိုင္ရာ IO address ေတြကို address bus ေပၚတင္လႊတ္အကဲျဖတ္ပါတယ္။ ဒီေနရာမွာ တစ္ခုေလာက္စဥ္းစားၾကည့္ပါ။
Memory address နဲ႔ IO address ေတြဟာ ဆင္တူပါတယ္။ ဥပမာ address တစ္ခုျဖစ္တဲ့ DF00 ဟာ memory address လည္းျဖစ္ႏိုင္သလို၊ IO address လည္းျဖစ္ႏိုင္ပါတယ္။ ဒါဆိုရင္ address bus ေပၚကလာတဲ့ address တစ္ခုဟာ memory အတြက္လား၊ IO device ေတြအတြက္လားဆိုတာကို ဘယ္လိုခြဲျခားၾကမလဲ၊ ဒီေနရာမွာ control bus ေတြရဲ႕အခန္းက႑ဟာ အေရးႀကီးလာျပန္ပါတယ္။
ေျပာရရင္ control bus ေတြထဲက ဝါယာတလိုင္းဟာ IO ေတြအတြက္လား၊ memory အတြက္လား ဆိုတာကုိ ဆံုးျဖတ္ေပးပါတယ္။ အဲဒီ control လုိင္းေပၚမွာ ဗို႔အားတစ္ခုရွိေနမယ္ဆိုရင္ IO device ေတြဟာ address bus ေပၚကိုအာရံုစိုက္ ပါမယ္။ control line ေပၚမွာ ဗို႔အားမရွိရင္ address bus ေပၚမွာ ဘယ္ signal ေတြ (သို႕) ဘယ္ address ေတြသြားသြား IO address ေတြမွာ ဂရုမစိုက္ေတာ့ပါဘူး။ ဒီနည္းနဲ႔ IO address လား၊ memory address လားဆိုတာကို ကြဲျပားေစပါတယ္။
Processor’s Internal Data bus (Internal Registers)
Processor တစ္လံုးရဲ႕ျပင္ပ တျခားအစိတ္အပိုင္းေတြနဲ႔ ဆက္သြယ္လုပ္ေဆာင္ တဲ့ေနရာမွာ အသံုးျပဳတဲ့ Data bus, Address bus, Control bus ေတြရဲ႕သဘာဝနဲ႔ buswidth ေတြအေၾကာင္းကို ေဖာ္ျပခဲ့ၿပီးျဖစ္ပါတယ္။ အခုေျပာျပမွာက processor တစ္လံုးရဲ႕အတြင္းပိုင္းမွာရွိတဲ့ အစိတ္အပိုင္းေတြ အလုပ္လုပ္တဲ့ေနရာမွာ (သို႔) အျပန္အလွန္ data ေပးပို႔ဖလွယ္တဲ့ေနရာမွာ အသံုးျပဳတဲ့လမ္းေၾကာင္းျဖစ္တဲ့ internal data bus အေၾကာင္းျဖစ္ပါတယ္။
Processor တစ္ခုရဲ႕အတြင္းပိုင္းမွာ တစ္ႀကိမ္မွာ data ပမာဏဘယ္ေလာက္ကို transfer လုပ္ႏိုင္သလဲဆိုတဲ့ internal data bus ရဲ႕ bus width ေပၚမူတည္ၿပီး 32-bit, 64-bit processor ဆိုၿပီးအမ်ိဳးအစား ကြဲျပားေစတဲ့အတြက္ processor ရဲ႕ စြမ္းေဆာင္ရည္ကို အကဲျဖတ္ႏိုင္တဲ့ သတ္မွတ္ခ်က္တစ္ခုလည္း ျဖစ္ပါတယ္။ အဲဒီ 32-bit processor, 64-bit processor ကြဲျပားမႈကို နားလည္သေဘာေပါက္ ထားမွပဲ ေနာက္ပိုင္းမွာ OS ေတြ၊ Application ေတြေရြးခ်ယ္အသံုးျပဳတဲ့ ေနရာမွာ အခက္အခဲ မရွိႏိုင္ ျဖစ္ပါလိမ့္မယ္။
ေျပာရရင္ Windows 7 ဆိုပါေတာ့။ Microsoft ကထုတ္လုပ္စဥ္ကတည္းကိုက 32-bit edition, 64-bit edition ဆိုၿပီး၂မ်ိဳးထြက္တယ္။ ဘယ္ edition ကိုသံုးရမွာလဲ၊ 64-bit edition ကိုေကာ ကိုယ့္ရဲ႕ကြန္ပ်ဴတာမွာ သံုးႏိုင္မလားဆိုတာမ်ိဳးေတြက 32-bit နဲ႔ 64-bit processor ေတြရဲ႕ကြဲျပားခ်က္ကို သိမွပဲ ဆံုးျဖတ္ႏိုင္မွာ ျဖစ္ပါတယ္။ ေအာက္ကပံုကိုၾကည့္ပါ။ ဒါဟာ processor ေတြရဲ႕အတြင္းမွာ ပါတဲ့အဓိက အစိတ္အပိုင္းသံုးခုျဖစ္တဲ့ ALU, Register, Control Unit ေတြနဲ႔ ပံုေဖာ္ထားတာ ျဖစ္ပါတယ္။
ဒီေနရာမွာ အဓိကေျပာလိုတာက 64-bit processor နဲ႔ပတ္သက္ၿပီး မွားယြင္းသေဘာေပါက္မႈ ျဖစ္ပါတယ္။ ဒီကေန႔ လက္ရွိအသံုးျပဳေနၾကတဲ့ processor ေတြရဲ႕ External data bus (or) FSb ဟာ 64-bit ျဖစ္ပါတယ္။ ဒါေပမဲ့ အဲဒီလို processor ရဲ႕ျပင္ပမွာ 64-bit နဲ႔လုပ္ေဆာင္ႏိုင္ေပမဲ့ 64-bit processor ဆိုၿပီး သတ္မွတ္လို႔မရပါဘူး။ Internal data bus ေပၚမူတည္ၿပီး ခြဲမွရမယ္ဆိုတဲ့ အခ်က္ျဖစ္ပါတယ္။ ဒီအတြက္ processor အတြင္းပိုင္းက Internal data bus အေၾကာင္းကို ရွင္းဖို႔လိုအပ္လာပါတယ္။
ALU (Arithmetic Logic Unit)
ALU ဟာ processor ေတြရဲ႕ အေျခခံအုတ္ျမစ္ျဖစ္ၿပီး Arithmetic operation နဲ႔ Logical operation ေတြကိုအဓိကလုပ္ေဆာင္ပါတယ္။ Internal data bus ဆိုတာက Register ေတြနဲ႔ ALU, ALU နဲ႔ Control Unit ခ်ိတ္ဆက္တဲ့ လမ္းေၾကာင္းျဖစ္ပါတယ္။
Logical Operation - AND, NOT, OR, XOR
Arithmetic Operation - Adding (+), Substraction (-)
Multiplying (x), division (/)
Registers
Processor ကလက္ရွိ execute လုပ္ဖို႔လိုတဲ့ data ေတြ၊ instruction ေတြကို ထည့္ထားတဲ့ ေနရာျဖစ္တဲ့အတြက္ register လို႔ဆိုလိုက္တာနဲ႔ CPU ထဲက memory ဧရိယာ တစ္ခုလို႔ သိထားလိုက္ပါ။ ကြန္ပ်ဴတာစနစ္မွာ သံုးသမွ် memory အမ်ိဳးအစား (Cache, Main memory) အားလံုးထဲမွာ speed အျမန္ဆံုးနဲ႔ အေသးဆံုး အမ်ိဳးအစား တစ္ခုျဖစ္တယ္ဆိုတဲ့ သေဘာပါ။
Processor တစ္လံုးမွာ register အေရအတြက္ ဘယ္ေလာက္ရွိသလဲဆိုတာ ကေတာ့ CPU အမ်ိဳးအစားေပၚမူတည္ၿပီး ဆယ္ဂဏန္းကေန ရာဂဏန္းထိရွိႏိုင္ပါတယ္။ ဒါေပမယ့္ အၾကမ္းမ်ဥ္းအုပ္စု ခြဲၾကည့္ရင္ Input နဲ႔ Output register ဆိုၿပီး၂မ်ိဳးပဲ ရွိပါတယ္။ ဒီေတာ့မွ ALU, Register နဲ႔ Control Unit ေတြပူးတြဲလုပ္ေဆာင္ပံုကို ၾကည့္ရေအာင္။
ALU ဟာ input register ေတြထဲက data ေတြကိုဆြဲယူပါတယ္။ Control Unit ဟာအဲဒီ data ေတြနဲ႔ပတ္သက္ၿပီး ဘာလုပ္ရမယ္ဆိုတာ ALU ကိုေျပာပါတယ္။ Control Unit ကခိုင္းတဲ့အတိုင္း ေပါင္းတာ၊ ႏွဳတ္တာ ေတြကိုလုပ္ၿပီး ရလာတဲ့ ရလဒ္ကို ALU က Output Register ေပၚကိုတင္ေပးပါတယ္။ ဥပမာအေနနဲ႔ 2 နဲ႔ 3 ေပါင္းတဲ့ ျဖစ္စဥ္ကို ၾကည့္ရေအာင္။
အမည္းျခယ္ထားတဲ့ box ဟာ instruction (Adding)
အျဖဴေရာင္ box ဟာေပါင္းရမယ့္ကိန္း ၂ခုပါတဲ့ သေကၤတ (2နဲ႔3)
ALU က Register ေတြဆီက ကိန္း၂ခုနဲ႔ Arithametic operator ေတြကို input အျဖစ္ ထည့္သြင္းၿပီး result (5) ကိုထုတ္ေပးပါလိမ့္မယ္။ မီးခိုးေရာင္ box ေတြဟာ result ျဖစ္ပါတယ္။
ဒါက Processor အထဲမွာ အလုပ္လုပ္ပံု အၾကမ္းမ်ဥ္းျဖစ္ပါတယ္။ ဒီေနရာမွာ အဓိကေျပာခ်င္တာက Register size ျဖစ္ပါတယ္။ Register တစ္ခုရဲ႕ သိုေလွာင္ထား ႏိုင္မႈ ပမာဏက အေရးပါပါတယ္။
32-bit processor/ 64-bit processor
အဲဒီ CPU အထဲက internal data bus ေပၚမွာတႀကိမ္ကို data ပမာဏ ဘယ္ေလာက္သယ္ယူ ျဖတ္သန္းႏိုင္မလဲဆိုတာ register size ေပၚမူတည္ပါတယ္။ (ဒါ့ေၾကာင့္ register size ကို internal data bus အျဖစ္ေျပာတာေတြလည္း ရွိပါတယ္။) ဒီကေန႔ CPU ေတြမွာ 32-bit နဲ႔ 64-bit ဆိုၿပီး register size ႏွစ္မ်ိဳးရွိပါတယ္။ ဒီေတာ့မွ 32-bit register သံုးတဲ့ CPU ေတြကို 32-bit processor လို႔ေခၚၿပီး 64-bit register သံုးတဲ့ CPU ေတြကို 64j-bit processor ေတြလို႔ သတ္မွတ္ပါတယ္။
Intel ကထုတ္တဲ့ 386 ကစၿပီး Pentium 4 processor ေတြထိ အတြင္းမွာ 32-bit register ကိုပဲ အသံုးျပဳတည္ေဆာက္ထားပါတယ္။ ဒီအတြက္ အဲဒီ 32-bit processor တပ္ဆင္တဲ့ကြန္ပ်ဴတာေတြမွာ 32-bit operation system နဲ႔ application ေတြကိုပဲ install လုပ္ၿပီးသံုးႏိုင္ပါတယ္။ 64-bit OS နဲ႔ application ေတြကို install လုပ္လို႔မရပါဘူး။ Intel ရဲ႕ Core 2, AMD-Athlon 60 ကစၿပီးေနာက္ပိုင္း processor ေတြမွာေတာ့ 32j-bit နဲ႔ 64-bit register ႏွစ္မ်ိဳးစလံုးပါရွိတဲ့အတြက္ 32-bit OS ပဲျဖစ္ျဖစ္၊ 64-bit OS ပဲျဖစ္ျဖစ္ ႀကိဳက္တာေရြးသံုးႏိုင္ပါတယ္။
32 bit/ 64 bit processor & 32 bit/ 64 bit Windows
64 bit processor ကိုသံုးၿပီး စြမ္းရည္ျပည့္ အလုပ္လုပ္ႏိုင္ေစဖို႔ 64 bit Windows နဲ႔ 64 bit driver ေတြလိုအပ္ပါတယ္။ ၂၀၀၅ ခုႏွစ္ဧၿပီလ ကတည္းက Microsoft က Windows XP 64 bit ကိုစတင္မိတ္ဆက္ေပးခဲ့ပါတယ္။ Application ပိုင္းအေနနဲ႔ကေတာ့ 32 bit application ေတြဟာ 64 bit windows မွာေကာင္းစြာ အလုပ္လုပ္ႏိုင္တဲ့အတြက္ အသံုးျပဳႏိုင္ပါတယ္။ (16bit application ေတြကိုေတာ့ သံုးလို႔မရပါဘူး။) အဓိကျပႆနာက driver ေတြျဖစ္ပါတယ္။ အဲဒီအခါတုန္းက အသံုးျပဳေနတဲ့ Sound card ေတြ၊ VGA ေတြစတဲ့ device ေတြအတြက္ 64 bit driver ေတြအဆင္သင့္မရွိတာပဲ ျဖစ္ပါတယ္။ 32 bit windows အတြက္ေရးထားတဲ့ 32 bit driver ေတြကို 64 bit Windows မွာသံုးလို႔႔မရသလုိ 64 bit အတြက္ေရးထားတဲ့ driver ေတြကို 32 bit Windows မွာလည္းသံုးလို႔ မရပါဘူး။
ေနာက္ပိုင္းမွာေတာ့ ပစၥည္းထုတ္လုပ္ေရာင္ခ်တဲ့သူေတြက ပစၥည္းသစ္တစ္မ်ိဳး ထုတ္တိုင္း 32 bit OS နဲ႔ 64 bit OS အတြက္ဆိုၿပီး driver ႏွစ္မ်ိဳးတြဲထုတ္ေပးပါတယ္။ ဒီအတြက္ 2009 ခုႏွစ္ Windows 7 ထြက္လာတဲ့အခ်ိန္မွာေတာ့ 32 bit အတြက္ေကာ 64 bit အတြက္ပါ driver အေတာ္မ်ားမ်ား အဆင္သင့္ရွိေနႏွင့္ၿပီ ျဖစ္ပါတယ္။ အဲဒီ 64 bit edition နဲ႔ 64 bit processor (X86-64PC) ေတြမွာ အသံုးျပဳမယ္ဆိုပါက 3D Game ေတြ၊ Graphic၊ Animation နဲ႔တျခား 64 bit application ေတြကို ပိုမိုျမန္ဆန္ေအာင္ လုပ္ေဆာင္ႏိုင္ၾကတဲ့အတြက္ 64-bit processor ေတြနဲ႔အတူ 64 bit edition အသံုးျပဳမႈ တြင္က်ယ္လာေနၿပီ ျဖစ္ပါတယ္။
32 bit နဲ႔ 64 bit Windows ေတြရဲ႕ ေနာက္ထပ္ျခားနားခ်က္ကေတာ့ memory capacity ဘယ္ေလာက္မ်ားမ်ားထိ support လုပ္ႏိုင္သလဲဆိုတာပဲ ျဖစ္ပါတယ္။ 32 bit windows ေတြအျမင့္ဆံုး support လုပ္ႏိုင္တဲ့ ပမာဏက 4GB ျဖစ္ပါတယ္။ သေဘာက ကြန္ပ်ဴတာမွာ RAM ေတြကို 4GB ထက္ေက်ာ္ေအာင္ တပ္ဆင္အသံုးျပဳလို႔ မရပါဘူး။ 64-bit windows ေတြရဲ႕ဒီကေန႔အျမင့္ဆံုး support လုပ္ႏိုင္တဲ့ပမာဏက 192GB ထိျဖစ္ပါတယ္။ windows version ေပၚမွာလည္းမူတည္ပါတယ္။ ဘယ္လိုပဲ ျဖစ္ျဖစ္ ကြန္ပ်ဴတာမွာ RAM ပမာဏကို 4GB ထက္ေက်ာ္ၿပီး တပ္ဆင္အသံုးျပဳခ်င္တယ္ ဆိုရင္ 64bit windows တစ္ခုခုကို မျဖစ္မေန အသံုးျပဳရမွာ ျဖစ္သလို motherboard ေပၚက chipset ကလည္း memory ပမာဏကို 4GB ထက္ေက်ာ္လြန္ေအာက္ (ဥပမာ- 8GB) support လုပ္ႏိုင္တဲ့ chipset မ်ိဳးျဖစ္ဖို႔လည္း လိုပါတယ္။
ဆရာဦးေက်ာ္ရဲပိုင္
လက္ေတြ႕သင္တန္းႏွင့္ Certificate ရယူလိုပါက ဆက္သြယ္ရန္ -
09254147723, 097 969 670 49
Wednesday, March 11, 2015
A+(Hardware) Chapter 8.1 (အပတ္စဥ္ ၁)
ကြန္ပ်ဴတာရဲ႕ ဦးေႏွာက္လို႔တင္စားေလ့ရွိတဲ့ Microprocessor (or) CPU ဟာ transistor သန္းေပါင္းမ်ားစြာနဲ႔ျပဳလုပ္ထားၿပီး motherboard ေပၚမွာတိုက္ရိုက္ တပ္ဆင္အသံုးျပဳရတဲ့ အႀကီးမားဆံုး Chip တစ္ခုပဲျဖစ္ပါတယ္။ (၁၉၇၁) ခုႏွစ္မွာ Intel က 4004 processor ကိုပထမဆံုး စီးပြားျဖစ္ တီထြင္ထုတ္လုပ္ ေရာင္းခ်ခဲ့ပါတယ္။ အဲဒီ 4004 processor ကို transistor ေပါင္း ၂၃၀၀ ခန္႔နဲ႔ တည္ေဆာက္ထားၿပီး 60kHz နဲ႔လုပ္ေဆာင္ႏိုင္ပါတယ္။
60kHz ဆိုတာကေတာ့ တစ္စကၠန္႔မွာ တြက္ခ်က္မႈေပါင္း (၆) ေသာင္းခန္႔ကို လုပ္ေဆာင္ႏိုင္တာပဲ ျဖစ္ပါတယ္။ ဒီကေန႔ေခတ္ေပၚ processor ေတြကိုေတာ့ သန္းနဲ႔ခ်ီတဲ့ transistor ေတြနဲ႔တည္ေဆာက္ထားၿပီး တစ္စကၠန္႔မွာ တြက္ခ်က္မႈ သန္းေထာင္ခ်ီၿပီး လုပ္ေဆာင္ႏိုင္ၾကၿပီ ျဖစ္ပါတယ္။
Microprocessor ရဲ႕ပတ္လည္အနား တစ္ေလွ်ာက္မွာ ရာနဲ႔ခ်ီတဲ့ pin ေတြကို ေတြ႕ရပါလိမ့္မယ္။ အဲဒီ pin ေတြထဲကမွ တခ်ိဳ႕ဟာ Bus ေတြကလာတဲ့ Signal line ေတြနဲ႔ခ်ိတ္ဆက္ဖို႔ျဖစ္ၿပီး တခ်ိဳ႕ကေတာ့ Chip ကိုပါဝါေပးဖို႔အတြက္ပဲ ျဖစ္ပါတယ္။
CPU တစ္ခုကို ပကတိမ်က္စိနဲ႔ ၾကည့္မယ္ဆိုရင္ Component တစ္ခုတည္းအျဖစ္နဲ႔ပဲ ျမင္ရမွာျဖစ္ၿပီး အတြင္းပိုင္းမွာေတာ့ ALU, Register, Control Unit စတဲ့ အစိတ္အပိုင္းေတြကို စုေပါင္းၿပီးထည့္သြင္းတည္ေဆာက္ ထားပါတယ္။ ဖြဲ႕စည္းတည္ေဆာက္ပံုေတြဟာ CPU အမ်ိဳးအစားေပၚမူတည္ၿပီး အမ်ိဳးမ်ိဳး ကြဲျပားၾကေပမဲ့ အေျခခံက်တဲ့ သေဘာတရားေတြကေတာ့ အတူတူပဲျဖစ္ပါတယ္။
CPU ဟာ Calulation နဲ႔ data ေတြကို Program ကေနညႊန္ၾကားတဲ့ instruction ေတြအတိုင္း process လုပ္ရတဲ့ တာဝန္ေတြကို ေဆာင္ရြက္ရပါတယ္။ Instruction ေတြဆိုတာကေတာ့ ေရာက္ရွိလာတဲ့ data ေတြကို CPU ကဘယ္လိုထိန္းခ်ဳပ္ လုပ္ေဆာင္ရမလဲဆိုတာကို command ေတြပဲျဖစ္ပါတယ္။ ဥပမာ- 2 + 7 ရဲ႕အေျဖကို တြက္ထုတ္တဲ့အခါမွာ + (Add) သည္အေျခခံအက်ဆံုး instruction တစ္ခုပဲျဖစ္ပါတယ္။ ဒါေပမဲ့ 2 x 7 ရဲ႕အေျဖကို တြက္ထုတ္တဲ့ အခါမွာေတာ့ x (multiply) ဟာ instruction တစ္ခုထက္မက ပါဝင္တဲ့ command ပဲျဖစ္ပါတယ္။
အဲဒီလိုပဲ program တစ္ခု (ဥပမာ - PageMaker) ကိုအသံုးျပဳၿပီး file တစ္ခုကို ေရးတဲ့ေနရာမွာ အဲဒီ file အတြင္းမွာပါတဲ့ စာသားေတြ၊ ရုပ္ပံုေတြက data ေတြပဲျဖစ္ပါတယ္။ အဲဒီ file ကိုသိမ္းဖို႔အတြက္ (သို႔) ပရင္တာထုတ္ဖို႔အတြက္ Print (or) Save မွာ click ႏွိပ္ၿပီး command ေပးရပါမယ္။ အဲဒီ့ Print (or) Save ဟာ CPU ကို data ေတြအေပၚမွာ ဘယ္လိုျပဳမူ ေဆာင္ရြက္ရမလဲဆိုတာကို ညႊန္ၾကားတဲ့ Program code (or) series of instruction ေတြပဲျဖစ္ပါတယ္။
CPU ဟာ instruction တစ္ခုကို ရရွိလာတဲ့အခါမွာ အဲဒီ့ instruction ဟာဘာကို လုပ္ေဆာင္ဖို႔ ရည္ညႊန္းခိုင္းေစလဲ ဆိုတာကို နားလည္ဖို႔လိုပါတယ္။ CPU အပါအဝင္ ကြန္ပ်ဴတာအစိတ္အပိုင္း အသီးသီးဟာ Lowest-level programming Language ျဖစ္တဲ့ machine language ကိုပဲနားလည္ပါတယ္။ အဲဒီ့ Machine Language ကို CPU မွအလြယ္တကူနားလည္ လက္ခံႏိုင္ေပမဲ့ လူေတြအတြက္ေတာ့ ေရးဖို႔၊ ဖတ္ဖို႔ မျဖစ္ႏိုင္ပါဘူး။ ဘာျဖစ္လို႔လဲဆိုေတာ့ Machine Language မွာ number (0s & 1s) ေတြပဲပါဝင္တဲ့အတြက္ ျဖစ္ပါတယ္။
0000 0000 0101 1000 0000 0000 0101 1000
1010 1101 0000 1011 1000 1100 1001 0110
ဒါေၾကာင့္ Software ေရးသားသူ programmer မ်ားဟာ Assembly (or) high level programming language လို႔ေခၚတဲ့ C, Fortran, Pascal ေတြကိုအသံုးျပဳၿပီး software ေတြကိုေရးသားရပါတယ္။ ဟိုးအရင္ Programming ေခတ္ဦးကာလေတြ တုန္းကဆိုရင္ Program အားလံုးကို assembly language နဲ႔သာေရးခဲ့ၾကပါတယ္။ Assembly language ဟာ machine language နဲ႔တူတဲ့ Structure နဲ႔ Command ေတြပါရွိပါတယ္။ ဒါေပမဲ့ number ေတြအစား name ေတြနဲ႔ ေရးသားႏိုင္ပါတယ္။
Add $r2, $r3, $r4
Addi $r2, $r3, -10
ဒီကေန႔အခ်ိန္မွာေတာ့ assembly language ကိုအသံုးျပဳတာ နည္းပါးသြားၿပီ ျဖစ္ၿပီး high level language ေတြျဖစ္ၾကတဲ့ C, Fortran, Pascal ေတြကိုပဲ အဓိကထား အသံုးျပဳၿပီး Program ေတြကို ေရးသားလ်က္ရွိေနပါတယ္။ အဲဒီ high-level language ေတြဟာ human language နဲ႔ဆင္တူတဲ့အတြက္ Program ေတြကို အလြယ္တကူေရးႏိုင္၊ ဖတ္ႏိုင္၊ ျပဳျပင္ထိန္းသိမ္းႏိုင္ၾကပါတယ္။ ဒါေပမဲ့လည္း speed ဟာအေရးႀကီးၿပီး high-level language နဲ႔ေရးသားဖို႔မျဖစ္ႏိုင္တဲ့ operation ေတြအတြက္ assembly language ကိုဒီေန႔အထိ အသံုးျပဳေနရတုန္း ျဖစ္ပါတယ္။
Program တစ္ခုကို ဘယ္ Language နဲ႔ပဲေရးေရး ေနာက္ဆံုးတစ္ခ်ိန္မွာေတာ့ CPU ကေနနားလည္လက္ခံႏိုင္တဲ့ Machine Language အျဖစ္ကို translate လုပ္ေပးရပါတယ္။ ဒီလို translate လုပ္ႏိုင္ဖို႔အတြက္ high-level language မွ machine language ကိုေျပာင္းလဲေပးႏိုင္တဲ့ compiler, assembly language မွ machine language ကိုေျပာင္းလဲေပးႏိုင္တဲ့ Assembler ေတြနဲ႔ translate လုပ္ရပါတယ္။
Types of CPU
Microprocessor ေစ်းကြက္ကို လႊမ္းမိုးထားၿပီး ဒီကေန႔ ကြန္ပ်ဴတာအမ်ားစုမွာ အသံုးျပဳေနတဲ့ Microprocessor ေတြကို အဓိကထုတ္လုပ္သူ ကုမၸဏီႀကီး (၂) ခုပဲရွိပါတယ္။ Intel နဲ႔ AMD ေတြပဲျဖစ္ပါတယ္။ အဲဒီကုမၸဏီ ႏွစ္ခုစလံုးမွာ Power CPU နဲ႔ budjet CPU ဆိုၿပီးႏွစ္မ်ိဳးႏွစ္စားစီ ထုတ္လုပ္ၾကပါတယ္။ Budjet CPU ေတြဟာ power CPU ေတြေလာက္ Performance မေကာင္းပါဘူး။ ဒါေပမဲ့ ေစ်းႏႈန္းကေတာ့ အေတာ္ေလးသက္သာပါတယ္။ Intel ကေန Pentium နဲ႔ AMD ကေန AthlonXp ေတြဟာ Power CPU ေတြျဖစ္ၾကၿပီး Intel ကေန Celeron နဲ႔ ADM ကေန Duron ေတြဟာ budjet CPU ေတြပဲျဖစ္ပါတယ္။
Intel ဟာ ၁၉၈၀ ခုႏွစ္ဝန္းက်င္ကစၿပီး ကြန္ပ်ဴတာ motherboard ေပၚမွာ တပ္ဆင္အသံုးျပဳႏိုင္မဲ့ CPU ေတြကို က်ယ္က်ယ္ျပန္႔ျပန္႔ စတင္ထုတ္လုပ္ခဲ့ပါတယ္။ ေနာက္ပိုင္းမွာေတာ့ တျခားကုမၸဏီေတြျဖစ္ၾကတဲ့ NEC AMD (American Micro Devices) Cyrix Motorolla ေတြကလည္း Intel နဲ႔အၿပိဳင္ processor ေတြကို ထုတ္လုပ္ခဲ့ၾကပါတယ္။ ေအာက္ေဖာ္ျပပါဇယားမွာေတာ့ အဲဒီကုမၸဏီႀကီးေတြကေန ထုတ္လုပ္ခဲ့ၿပီးခဲ့တဲ့ processor ေတြကို generation ေတြနဲ႔ခြဲၿပီး ေဖာ္ျပထားပါတယ္။
CPU HISTORY TABLE
PC CPU YEAR TRANSISTORS
FIRST GENERATION 8086 and 8088 1978-81 29,000
SECOND GENERATION 80286 1984 134,000
THIRD GENERATION 80386DX and 80386SX 1987-88 275,000
FOURTH GENERATION 80486SX,80486DX,
80486DX2 and 80486DX4 1990-92 1,200,000
FIFTH GENERATION Pentium
Cyrix 6x86
AMD K5
IDT WinChip C6 1993-95 3,100,000
1996 -
1996 -
1997 3,500,000
FIFTH Pentium MMX 1997 4,500,000
GENERATION IBM/Cyrix 6x86MX 1997 6,000,000
With IDT WinChip2 3D 1998 6,000,000
Improvements
SIXTH GENERATION Pentium Pro 1995 5,500,000
AMD K6 1997 8,800,000
Pentium ll 1997 7,500,000
AMD K6-2 1998 9,300,000
SIXTH Mobile Pentium ll 27,400,000
GENERATION Mobile Celeron 18,900,000
With Pentium lll 1999 9,300,000
Improvements AMD K6-3 -
Pentium lll CuMine 28,000,000
SEVENTH AMD ORIGINAL Athlon 1999 22,000,000
GENERATION AMD Athlon Thunderbird 2000 37,000,000
Pentium 4 2001 42,000,000
EIGHT
GENERATION INTEL CORE 2006 291,000,000
The Intel processor
Intel ဟာ processor ေစ်းကြက္ကို လႊမ္းမိုးထားၿပီး ေစ်းကြက္ေဝစုအမ်ားဆံုး ပိုင္ဆိုင္ထားတဲ့ CPU ထုတ္လုပ္တဲ့ကုမၸဏီ ျဖစ္ပါတယ္။ ၁၉၇၁ ခုႏွစ္ကေနစၿပီး ဒီကေန႔အခ်ိန္ထိတိုင္ေအာင္ processer အမ်ိဳူးမ်ိဳးတို႔ကို အမည္အမ်ိဳးမ်ိဳးတို႔ျဖင့္ထုတ္ လုပ္ခဲ့ပါတယ္။ Intel မွထုတ္လုပ္ေသာ processor မ်ားကို model no လို႔ေခၚသည္႔ အမည္မ်ားကို အၾကမ္းအားျဖင့္ သံုးမ်ိဳးခြဲထားပါတယ္။
အရင္က CPUေတြကို နံပါတ္ေတြနဲ႔ အမည္ေပးတယ္။ 8080၊286၊ 486အစရွိတဲ့ အမည္မ်ားျဖစ္ပါတယ္။ 486ေနာက္ပိုင္းအမည္ေပးတဲ့ေနရာမွာ Pentium၊ Celeron အစရွိတဲ့ pentiumမ်ိဳးဆက္ပဲျဖစ္ပါတယ္။ အဲဒီေနာက္ပိုင္းမွာေတာ့ Pentium မဟုတ္ေတာ့ပဲ core အမည္ေတြနဲ႔ လာပါတယ္။ core 2 duo, core 2 quad ကေနစၿပီး ဒီကေန႔ေနာက္ဆံုး core i3, core i5, core i7 ေတြထိေအာင္ျဖစ္ပါတယ္။
Time Name of Processor Clock speed Number of transistors
April 1972 8008 200 kilohertz 3,500
December 1974 8080 2 MHz 6,000
August 1986 8085 5 MHz 6,500
September 1978 8086 10MHz 29,000
February 1982 286 12 MHz 134,000
October 1985 386 16 MHz 275,000
February 1987 386 20 MHz 275,000
April 1989 486 25 MHz 1,200,000
June 1991 486 50 MHz 1,200,000
March 1993 Pentium 60 MHz 3.1 million
March 1994 Pentium 75 MHz 3.2 million
June 1995 Pentium 133 MHz 3.3 million
June 1996 Pentium 200 MHz 3.3 million
May 1997 Pentium ll 300 MHz 3.3 million
August 1998 Pentium ll 450 MHz 7.5 million
August 1999 Pentium lll 600 MHz 9.5 million
March 2000 Pentium lll 1.0 GHz 28 million
November 2000 Pentium 4 1.5 GHz 42 million
August 2001 Pentium 4 2 GHz 42 million
November 2002 Pentium 4(w/HT) 3.0 GHz 55 million
May 2003 Pentium 4 3.4 GHz 55 million
November 2003 Pentium Extreme 3.4 GHz 178 million
May 2004(For Laptop computer) Pentium M 2 GHz 140 million
January 2005 Celeron D 3.2 GHz 188 million
May 2005 Pentium D 2.8 GHz 230 million
January 2006 Pentium 4 3.4 GHz 118 million
January 2006 Pentium D 3.4 GHz 376 million
March 2006 (For Laptop computer) Core Solo 2.8 GHz 55 million
July 2006 Core 2 Duo 2.4 GHz 291 million
January 2007 Core 2 Quad 2.4 GHz 582 million
July 2007 Core 2 Duo 3 GHz 291 million
Time Name of Processor Clock speed Socket
November 2008 Core i7 (9 series) 2.66 GHz 1366 LGA
November 2008 Core i7 (8 series) 2.66 GHz 1156 LGA
September 2009 Core i5 2.66 GHz 1156 LGA
September 2009 Core i3 2.9 GHz 1156 LGA
Processor အလုပ္လုပ္ပံု
ကြန္ပ်ဴတာေပၚမွာ Software တစ္ခုကို install ျပဳလုပ္တာဟာ series of instruction ေတြပါဝင္တဲ့ program code ေတြနဲ႔ ဆက္စပ္လ်က္ရွိတဲ့ file ေတြကို hard disk ေပၚမွာ သိုေလွာင္သိမ္းဆည္း ထားတာပဲ ျဖစ္ပါတယ္။ အဲဒီလိုပဲ image ေတြ၊ document ေတြစတဲ့ data ေတြဟာလည္း storage device လို႔ေခၚတဲ့ gard disk ေတြ၊ floppy ေတြ၊ CD Rom ေတြေပၚမွာ သိမ္းဆည္းထားပါတယ္။ Program ကို Run တဲ့အခါမွာပဲျဖစ္ျဖစ္၊ data file တစ္ခုခုကို ဖြင့္ၾကည့္တဲ့ အခါမွာပဲျဖစ္ျဖစ္ လိုအပ္တဲ့ data ေတြကို storage device ထဲကေန RAM ေပၚကို copy ကူးယူလိုက္ပါတယ္။ အဲဒီကေနတဆင့္ RAM ေပၚေရာက္ေနတဲ့ data ေတြကိုယူသံုးၿပီး CPU ကစၿပီး process လုပ္ပါလိမ့္မယ္။ အဲဒီလိုပဲ process လုပ္ၿပီးသြားတဲ့ data ေတြကို CPU ကေန RAM ေပၚကို၊ RAM ကေန storage device ေပၚကို အဆင့္ဆင့္ျပန္ေရးပါတယ္။
အခုေဖာ္ျပခဲ့တဲ့ data ေတြစီးဆင္းျဖတ္သန္းႏႈန္းကို ေလ်ာ႔ေအာင္ ပိတ္ဆို႔တားဆီးေနတဲ့ အားနည္းခ်က္ႏွစ္ေနရာ ရွိေနပါတယ္။ ေျပာရရင္ storage device ေတြဟာ RAM ေတြေလာက္ျမန္ျမန္ အလုပ္မလုပ္ႏိုင္ပါဘူး။ အဲဒီလိုပဲ RAM ေတြကလည္း CPU ေလာက္ျမန္ျမန္အလုပ္မလုပ္ ႏုိင္ၾကပါဘူး။ ဒါေၾကာင့္ CPU ဟာ RAM ဆီကေန လိုအပ္တဲ့ data ေတြကိုရဖို႔ မၾကာခဏ ေစာင့္ဆိုင္းရပါတယ္။ အဲဒီလို လိုအပ္တဲ့ data ေတြအားလံုးကို RAM ဆီကေန အၿမဲတမ္း request လုပ္ယူရတာေၾကာင့္ ကြန္ပ်ဴတာရဲ႕ လုပ္ေဆာင္မႈကို ေႏွးေကြးေစပါတယ္။ ဒါေၾကာင့္ ကြန္ပ်ဴတာရဲ႕ performance ကိုတိုးျမွင့္ဖို႔အတြက္ CPU ကေန လိုအပ္တဲ့ data အားလံုးကို RAM ဆီကေန ေစာင့္ဆိုင္းရယူစရာမလိုပဲ မၾကာခဏ အသံုးျပဳေလ့ရွိတဲ့ Data ေတြ၊ Instruction ေတြကိုထည့္သြင္း သိုေလွာင္ထားႏိုင္ၿပီး CPU speed အတိုင္းအလုပ္လုပ္ႏိုင္တဲ့ ၾကားခံ Memory syorage ဧရိယာတစ္ခုကို CPU နဲ႔ RAM ၾကားမွာ ထည့္သြင္းတပ္ဆင္ အသံုးျပဳၾကပါတယ္။ အဲဒီ memory ဧရိယာကို Cache (cash) လုိ႔ေခၚပါတယ္။
Cache Memory
ဒီကေန႔႔အသံုးျပဳေနတဲ့ processor ေတြမွာ cache ေတြဟာမရွိမျဖစ္ လိုအပ္တဲ့ အစိတ္အပိုင္းတစ္ခု ျဖစ္ေနပါၿပီ။ Level 1 Cache (L1) နဲ႔ Level 2 Cache (L2) ဆိုၿပီး ႏွစ္မ်ိဳးရွိပါတယ္။ L2 ဟာ L1 ထက္အရြယ္အစားပိုၿပီး ႀကီးပါတယ္။ L1 ဟာ 32KB ကေန 64KB , L2 ဟာ 256KB-2MB ပမာဏထိရွိပါတယ္။ အရင္ကဆိုရင္ L1-cache ကို processor ထဲမွာထည့္သြင္းတည္ေဆာက္ထားၿပီး CPU speed အတိုင္း အလုပ္လုပ္ႏိုင္ပါတယ္။ L2 cache ကိုေတာ့ Motherboard ေပၚမွာ တည္ေဆာက္ထားေလ့ရွိၿပီး speed မွာေတာ့ CPU ေလာက္မျမန္ပါဘူး။ ဒါေပမဲ့ main memory (RAM) ေတြထက္ေတာ့ ပိုၿပီးျမန္ျမန္လုပ္ႏိုင္ပါတယ္။ သို႔ေသာ္ Pentium III ကေနစၿပီး L1,L2 (2) မ်ိဳးစလံုးကို Microprocessor ထဲထည့္သြင္းထားၿပီး CPU speed အတိုင္းလုပ္ေဆာင္ေစပါတယ္။
CPU cache (L1 & L2) ေတြက CPU နဲ႔ Main memory (RAM) ေတြၾကားမွာ ၾကားခံ buffer အေနနဲ႔ေဆာင္ရြက္ၿပီး CPU ကထပ္တလဲလဲလုပ္ေဆာင္ေလ့ရွိတဲ့ လုပ္ငန္းေတြနဲ႔ သက္ဆိုင္တဲ့ data ေတြ၊ instruction ေတြကို အသံုးျပဳမႈအႀကိမ္ အေရအတြက္ေပၚမူတည္ၿပီး သိုေလွုာင္သိမ္းဆည္းထားပါတယ္။ ေျပာရရင္ အသံုးျပဳမႈ အႀကိမ္အေရအတြက္ အမ်ားဆံုး data ေတြကေနစၿပီး L1 cache ထဲမွာစတင္ သိုေလွာင္သိမ္းဆည္းပါတယ္။ L1 Cache ရဲ႕လက္ခံသိုေလွာင္ႏိုင္မႈ ပမာဏျပည့္သြားၿပီ ဆိုမွ L2 Cache ထဲမွာဆက္လက္သိုေလွာင္ ပါလိမ့္မယ္။
CPU ဟာလုပ္ငန္းတစ္ခုကို လုပ္ေဆာင္ဖို႔အတြက္ လိုအပ္တဲ့ data ေတြကိုရရွိဖို႔ ပထမဦးဆံုး L1 မွာရွာေဖြရယူၿပီး L1 မွာမေတြ႕ရင္ L2 မွာဆက္ၿပီးရွာေဖြရယူ ပါတယ္။ L1 (or) L2 ထဲမွာ အဆင္သင့္ရွိေနပါက CPU ဟာ data ေတြကိုရရွိဖို႔အတြက္ ေစာင့္ဆိုင္းေနစရာမလိုပဲ သူ႔ရဲ႕လုပ္ငန္းကို အခ်ိန္တိုအတြင္း ၿပီးစီးေအာင္ ေဆာင္ရြက္ႏိုင္ပါတယ္။ အဲဒီလို CPU ကလိုအပ္တဲ့ data ေတြကို cach memory (L1, L2) ထဲကေနအဆင္သင့္ ရရွိတာကို Cache Hit လို႔ေခၚပါတယ္။ တကယ္လို႔ L1, L2 cache ႏွစ္ခုစလံုးမွာ အဆင္သင့္မရွိရင္ CPU က data ေတြကို main memory ဆီကရယူဖို႔ ေစာင့္ဆိုင္းရပါလိမ့္မယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ main memory ေတြဟာ CPU ေလာက္ျမန္ျမန္အလုပ္ မလုပ္ႏိုင္တာေၾကာင့္ ျဖစ္ပါတယ္။ အဲဒီလို data ေတြကို cache ေတြထဲက အဆင္သင့္မရႏိုင္ပဲ memory ဆီကေန ေစာင့္ဆိုင္းရယူရတာကို Cache Miss လို႔ေခၚပါတယ္။ Cache miss ရာခိုင္ႏွဳန္းတက္လာတာနဲ႔အမွ် ကြန္ပ်ဴတာရဲ႕ performance ကိုက်ဆင္းေစမွာ ျဖစ္ပါတယ္။ အဲဒီလိုပဲ Cache hit ရာခိုင္ႏွဳန္းမ်ားရင္ hit rate ျမင့္ၿပီး ကြန္ပ်ဴတာရဲ႕ performance ကိုတိုးျမင့္ေစပါတယ္။ ဒီကေန႔ အသံုးျပဳေနၾကတဲ့ CPU ေတြက cache ေတြရဲ႕ hit rate ဟာ ၉၀% ထိတိုင္ေအာင္ စြမ္းေဆာင္ႏိုင္ၾကပါတယ္။
Processor Specification
Processor တစ္လံုးဟာ ဘယ္ေလာက္အျမန္ႏွဳန္းနဲ႔ လုပ္ေဆာင္ႏိုင္သလဲဆိုတဲ့ စြမ္းေဆာင္ရည္သတ္မွတ္ခ်က္ေတြကို အမ်ားအားျဖင့္ chip ေတြအေပၚမွာ ေရးသားေဖာ္ျပေလ့ရွိတဲ့အတြက္ အလြယ္တကူသိႏိုင္ပါတယ္။ အဲဒီလိုေဖာ္ျပတဲ့ ေနရာမွာ ထူးျခားတဲ့လကၡဏာ ႏွစ္ခုျဖစ္တဲ့ processor ဟာဘယ္ေလာက္အျမန္ႏွဳန္းနဲ႔ လုပ္ေဆာင္ႏိုင္သလဲဆိုတဲ့ speed , processor chip ထဲမွာထည့္သြင္းတည္ေဆာက္ ထားတဲ့ memory Chip ရဲ႕အရြယ္အစား cache size ေတြကို စံထားေဖာ္ျပေလ့ ရွိတယ္လို႔ အၾကမ္းမ်ဥ္းမွတ္သားထား ႏိုင္ပါတယ္။
Cache size အေနနဲ႔ကေတာ့ ရွင္းပါတယ္။ 1M, 2M, 6M စတာေတြေပါ့။ Cache ဆိုတာက memory တစ္မ်ိဳးတည္းျဖစ္တာေၾကာင့္ မ်ားေလေကာင္းေလ ျဖစ္တဲ့အတြက္ ထူးထူးျခားျခား ေျပာစရာမလိုပါဘူး။။ အဓိကနားလည္ထားဖို႔က processor speed ေဖာ္ျပခ်က္ျဖစ္ပါတယ္။ speed နဲ႔ပတ္သက္ၿပီး ေရေရရာရာ ရွင္းရွင္းလင္းလင္း နားလည္သေဘာေပါက္ထားမႈ မရွိရင္ processor ရဲ႕စြမ္းရည္ကို တိတိက်က်အကဲျဖတ္ ႏိုင္မွာမဟုတ္သလို တြဲဖက္အသံုးျပဳသင့္တဲ့ motherboard ေရြးခ်ယ္မႈ၊ Memory ေရြးခ်ယ္မႈေတြမွာလည္း အခက္အခဲေတြ႕ႏိုင္ပါလိမ့္မယ္။
Line 1 Processor number (e.g. Q8200)
Line 2 Processor Family (e.g. Core 2 Quad)
Line 3 Sspec # and Manufacturing Country
Line 4 CPU speed/L2 cache size/Bus speed/platform Compatibility Guide
Line 5 FPO (Finished Process Order)
Line 6 ATPO (Assembly Test Process Order )
Line 7 Partial Serial Number
CPU ေတြရဲ႕လုပ္ေဆာင္ႏိုင္မႈကို speed ႏွစ္မ်ိဳးနဲ႔ တိုင္းတာေဖာ္ျပေလ့ရွိပါတယ္။ အဲ့ဒါေတြကေတာ့ Clock Speed နဲ႔ FSB Speed ေတြပဲျဖစ္ပါတယ္။ ပထမတစ္ခုက CPU ရဲ႕အတြင္းပိုင္းလုပ္ေဆာင္တဲ့ clock speed ျဖစ္ပါတယ္။ MegaHertz (MHz) ဒါမွမဟုတ္ GigaHertz (GHz) ယူနစ္နဲ႔ တိုင္းတာေဖာ္ျပေလ့ ရွိပါတယ္။ Pentium 4 ကေနစၿပီး ဒီကေန႔ဝယ္ယူရရွိႏိုင္တဲ့ processor ေတြရဲ႕အနိမ့္ဆံုးယူနစ္ဟာ GHz ျဖစ္ပါတယ္။ processor တစ္ခုရဲ႕လုပ္ေဆာင္ႏိုင္မႈ အျမန္ႏွဳန္းကို အကဲျဖတ္ၾကတဲ့ ေနရာမွာ ဒီ clock speed ကိုပဲအဓိကထားၿပီး ေျပာဆိုေလ့ရွိၾကပါတယ္။ ေနာက္သတ္မွတ္ခ်က္ တစ္ခုကေတာ့ (Front Side Bus) FSB speed ပဲျဖစ္ပါတယ္။ CPU ဟာ motherboard ေပၚက တျခားျပင္ပ device ေတြနဲ႔ဆက္ဆံတဲ့ေနရာမွာ လုပ္ေဆာင္ႏိုင္တဲ့ ျမန္ႏွဳန္းျဖစ္ပါတယ္။
CPU Clock speed (or) Processor speed
CPU clock speed ဆိုတာ processor ရဲ႕အတြင္းပိုင္းမွာ လုပ္ေဆာင္တဲ့ speed ပဲျဖစ္ပါတယ္။ ေျပာရရင္ CPU နဲ႔ပတ္သက္ၿပီး လူအမ်ားေျပာဆိုေလ့ရွိတဲ့ 3.2 GHz, 2.4 GHz, 1.2 GHz အစရွိတဲ့ speed ေတြဟာ CPU clock speed (or) processor speed ကိုရည္ညႊန္းတာျဖစ္ပါတယ္။ CPU speed ဟာ motherboard က generate လုပ္တဲ့ system clock speed အေပၚအမ်ားႀကီးမူတည္ပါတယ္။
အရင္ေရွးက်တဲ့ ကြန္ပ်ဴတာေတြမွာဆိုရင္ ကြန္ပ်ဴတာအစိတ္အပိုင္းအားလံုးဟာ clock speed တစ္မ်ိဳးတည္းနဲ႔ပဲ လုပ္ေဆာင္ၾကပါတယ္။ ဒီကေန႔အခ်ိန္မွာေတာ့ motherboard ေပၚကအဓိကအေရးပါတဲ့ အခ်ိဳ႕အစိတ္အပိုင္းေတြကို တျခားအစိတ္အပိုင္း ေတြထက္ ပိုမိုျမန္ဆန္စြာ လုပ္ေဆာင္ႏိုင္ေအာင္ ျပဳျပင္ တည္ေဆာက္ထားပါတယ္။ ဥပမာေျပာရရင္ CPU အတြက္ clock speed နဲ႔ chipset, memory ေတြအတြက္ clock speed ေတြဟာ မတူညီၾကပါဘူး။ အဲဒီ့လိုပဲ တျခား system bus ေတြျဖစ္ၾကတဲ့ ISA, PCI, AGP ေတြကလည္း တစ္ခုနဲ႔တစ္ခု အသံုးျပဳတဲ့ clock speed ခ်င္းမတူၾကပါဘူး။ ၿခံဳၿပီးေျပာရရင္ motherboard ေပၚမွာရွိတဲ့ အစိတ္အပိုင္း အသီးသီးဟာ သက္ဆိုင္ရာ clock speed အမ်ိဳးမ်ိဳးနဲ႔ လုပ္ေဆာင္ၾကပါတယ္။
ဒါဆိုရင္ CPU အတြက္ clock ထုတ္ေပးမယ့္ သီးျခား oscillator circuit တစ္ခု၊ memory အတြက္သီးျခား oscillator တစ္ခု၊ chipset အတြက္၊ bus ေတြအတြက္ စသျဖင့္ သီးျခား oscillator ေပါင္းမ်ားစြာကို motherboard ေပၚမွာ တည္ေဆာက္ထား သလားလို႔ေမးစရာ ရွိလာႏိုင္ပါတယ္။
အဲဒီလိုသာ oscillator circuit ေတြလို motherboard ေပၚမွာ ထည့္သြင္းတည္ေဆာက္ ထားမယ္ဆိုရင္ ပထမအခ်က္အေနနဲ႔ကေတာ့ motherboard တစ္ခုရဲ႕ ထုတ္လုပ္မႈကုန္က်စရိတ္ ပိုျမင့္မားလာပါလိမ့္မယ္။ ဒုတိယအခ်က္အေနနဲ႔ ကေတာ့ oscillator ေတြရဲ႕ တစ္ခုနဲ႔တစ္ခုမတူညီၾကတဲ့ clock signal ေတြေၾကာင့္ synchronize မျဖစ္ေတာ့ပဲ ကြန္ပ်ဴတာအစိတ္အပိုင္း အသီးသီးဟာလည္း data ေပးပို႔တာေတြကို အံကိုက္ျဖစ္ေအာင္ လုပ္ေဆာင္ႏိုင္ၾကေတာ့မွာ မဟုတ္ပါဘူး။
ေရွ႕မွာေဖာ္ျပခဲ့တဲ့ စာသင္ေက်ာင္းဥပမာနဲ႔ ယွဥ္ၾကည့္မယ္ဆိုရင္ ေက်ာင္းတစ္ေက်ာင္းထဲမွာပဲ မူလတန္းအတြက္ ဘဲလ္တစ္ခု၊ အလယ္တန္းအတြက္ ဘဲလ္တစ္ခုနဲ႔ အထက္ကလည္းသီးျခားဘဲလ္ တစ္ခုစီထားၿပီး သူ႔အခ်ိန္နဲ႔သူ ေက်ာင္းဆင္းေက်ာင္းတက္လုပ္သလို ျဖစ္ေနပါလိမ့္မယ္။ အဲဒီလိုသာဆိုရင္ တစ္ခ်ိဳ႕ အတန္းေတြက စာသင္ခ်ိန္မွာ အခ်ိဳ႕ကအားလပ္ခ်ိန္၊ အခ်ိဳ႕အတန္းေတြက စာသင္တုန္း အခ်ိဳ႕က ေက်ာင္းဆင္းၿပီ အစရွိသျဖင့္ တစ္ေက်ာင္းလံုးဝရုန္းသုန္းကား ျဖစ္ေနပါလိမ့္မယ္။
ကြန္ပ်ဴတာမွာလဲ ဒီသေဘာအတိုင္းပဲ clock oscillator ေပါင္းမ်ားစြာကိုသာ သံုးထားမယ္ဆိုရင္ ကြန္ပ်ဴတာအစိတ္အပိုင္း အသီးသီးဟာ အံကိုက္ျဖစ္ေအာင္ မလုပ္ေဆာင္ႏိုင္ေတာ့ပဲ data ေတြေပးပို႔ရယူတဲ့ေနရာမွာ error ျဖစ္ေပၚေစပါလိမ့္မယ္။ အဲဒီလိုအားနည္းခ်က္ေတြကို ေျဖရွင္းဖို႔နဲ႔ system တစ္ခုလံုးဟန္ခ်က္ညီေစဖို႔ motherboard တိုင္းမွာ system clock အတြက္ရယ္လို႔ Oscillator တစ္ခုပဲထည့္သြင္း တည္ေဆာင္ေလ့ရွိၾကပါတယ္။ အဲဒီ oscillator ကို system clock generator လို႔ေခၚၿပီး တစ္စကၠန္႔အတြင္း ထုတ္ေပးတဲ့ clock cycle အေရအတြက္ကို system clock speed လို႔သတ္မွတ္ပါတယ္။
ၿပီးေတာ့မွ clock speed ေတြကိုရရွိဖို႔အတြက္ clock multiplier, clock divider circuit ေတြကို motherboard ေပၚမွာထည့္သြင္းတည္ေဆာက္ ထားပါတယ္။ ဥပမာေျပာရရင္ system clock speed ထက္ျမင့္တဲ့ႏွဳန္းနဲ႔ လုပ္ေဆာင္ဖို႔လိုအပ္တဲ့ processor ေတြအတြက္ clock mulitiplier ကိုအသံုးျပဳရၿပီး၊ system clock speed ေအာက္နိမ့္တဲ့ PCI, ISAbus ေတြအတြက္ clock divider ေတြကိုအသံုးျပဳရေလ့ ရွိပါတယ္။ memory, chipset နဲ႔ board ေပၚရွိတျခားအေရးႀကီးတဲ့ circuit ေတြကေတာ့ system clock အတိုင္းပဲလုပ္ေဆာင္ၾကပါတယ္။
System clock speed ကိုဘယ္ေလာက္နဲ႔ ေျမွာက္မယ္၊ ဘယ္ေလာက္နဲ႔ စားမလဲဆိုတာကေတာ့ ကြန္ပ်ဴတာတစ္လံုးနဲ႔ တစ္လံုးမတူပဲ ကြဲျပားၾကပါတယ္။ ေအာက္ကဇယားမွာေတာ့ 600MHz နဲ႔အလုပ္လုပ္တဲ့ Pentium III processor နဲ႔တျခား ISA, PCI bus ေတြဟာ system clock speed နဲ႔ဘယ္လိုဆက္ႏြယ္မႈ ရွိသလဲဆိုတာကို ဥပမာအေနနဲ႔ေဖာ္ျပလိုက္ပါတယ္။
Device/Bus Clock Speed (MHz) Clock Derivation
Processor 600 System Bus x 4.5
Level 2 Cache 300 Processor / 2
System Bus (Memory) 133 …..
AGP Video 66 System Bus / 2
PCI Bus 33 System Bus / 4
ISA Bus 8.3 PCI Bus / 4
CPU တစ္ခုရဲ႕ internal clock speed ကိုေအာက္ပါအတိုင္း တြက္ထုတ္ႏိုင္ပါတယ္။
CPU clock speed = system clock speed x multiplier
Clock multiplier ဟာ CPU clock speed ကိုဆံုးျဖတ္ေပးပါတယ္။ System clock speed ကို clock multiplier နဲ႔ေျမွာက္ျခင္းအားျဖင့္ processor speed ကိုရရွိေစမွာ ျဖစ္ပါတယ္။ Multiplier ကို CPU ထဲမွာအေသထည့္သြင္း တည္ေဆာက္ထားၿပီး အတိုးအေလ်ာ့ျပဳတာ၊ ေျပာင္းလဲတာေတြ လုပ္မရေအာင္ Lock လုပ္ထားပါတယ္။
ဥပမာအေနနဲ႔ processor speed ဟာ 2.4GHz ျဖစ္ၿပီး system clock speed ဟာ 100MHz ျဖစ္မယ္ဆိုရင္ clock multiplier ဟာ 24 ျဖစ္ရပါလိမ့္မယ္။
100MHz x 24 = 2.4 GHz
Processor အတြင္းထည့္သြင္းထားတဲ့ clock multiplier ကိုျပဳျပင္ေျပာင္းလဲလို႔ မရေပမဲ့ system clock speed ကိုေတာ့ BIOS setup ထဲကေနေျပာင္းႏိုင္ပါတယ္။ ပံုမွန္အားျဖင့္ ေျပာင္းစရာမလိုပါဘူး။ သင့္ေလ်ာ္အမွန္ကန္ဆံုး speed နဲ႔အလိုအေလ်ာက္ ေရြးခ်ယ္လုပ္ေဆာင္ပါလိမ့္မယ္။ ဥပမာအေနနဲ႔ system clock ကို 100MHz ကေန 110MHz ကိုတိုးလိုက္တဲ့အခါ ဘာေတြေျပာင္းသြားမလဲ စဥ္းစားၾကည့္ရေအာင္
110MHz x 24 = 2.6 GHz
ပထမဦးဆံုးသိသာထင္ရွားတဲ့ ေျပာင္းလဲမႈက processor speed ျမင့္သြားတာကို ေတြ႕ရပါမယ္။ processor ဟာသူအမွန္တကယ္ လုပ္ေဆာင္ႏိုင္တဲ့ 2.4GHz ထက္ေက်ာ္လြန္ၿပီး 2.6GHz နဲ႔လုပ္ေဆာင္ပါလိမ့္မယ္။ အဲဒီလိုပဲ system clock ေပၚမွီခိုလုပ္ေဆာင္ေနၾကတဲ့ memory အပါအဝင္တျခား device ေတြရဲ႕ speed ကလည္း အခ်ိဳးက်လိုက္ပါ ျမင့္တက္လာပါလိမ့္မယ္။ ဒါေပမဲ့ processor, memory ေတြဟာ သူတို႔လုပ္ႏိုင္တာထက္ ေက်ာ္လြန္တဲ့ speed နဲ႔လိုက္ပါလုပ္ေဆာင္ ႏိုင္ရင္ေတာ့ ေကာင္းပါတယ္။ မလုပ္ႏိုင္ရင္ processor ပ်က္စီးတာအပါအဝင္ ustable ျပႆနာေတြကို ႀကံဳရတတ္ပါတယ္။
အဲဒီလို system clock ကိုတိုးျမွင့္တာကို Overclocking လုပ္တယ္လို႔ ေခၚပါတယ္။ အထူးသတိျပဳၾကဖို႔ လိုပါတယ္။ အနည္းငယ္ေရွးက်တဲ့ Motherboard ေတြေပၚမွာ Dip switch လို႔ေခၚတဲ့ ခလုတ္ေတြပါရွိပါတယ္။ သူတို႔ကို Motherboard Manual မွာပါရွိတဲ့ ညႊန္ၾကားခ်က္ေတြအတိုင္း ခ်ိန္ညွိၿပီး system clock speed ကိုေျပာင္းလဲသတ္မွတ္ေပးႏိုင္ပါတယ္။
FSB Speed (or) Processor Bus Speed
CPU speed ကိုအတြင္းပိုင္းမွာလုပ္ေဆာင္တဲ့ clock speed အျပင္ FSB speed နဲ႔လည္းတိုင္းတာေဖာ္ျပေလ့ ရွိပါတယ္။ FSB speed ဆိုတာကေတာ့ processor နဲ႔ motherboard ေပၚကအစိတ္အပိုင္းေတြ၊ အထူးသျဖင့္ system memory ေတြအျပန္အလွန္ communicate လုပ္ႏိုင္တဲ့ speed ပဲျဖစ္ပါတယ္။ CPU clock speed ဟာအေရးႀကီးဆံုး speed တစ္ခုျဖစ္သလို FSB ဟာလည္း CPU ရဲ႕အမွန္တကယ္ လုပ္ေဆာင္ႏိုင္မႈကို ဆံုးျဖတ္ေပးႏိုင္တဲ့ speed ပဲျဖစ္ပါတယ္။
ေျပာရရင္ CPU clock speed ျမင့္ၿပီး FSB speed နိမ့္တဲ့ processor ေတြဟာ အတြင္းပိုင္းမွာ data ေတြကိုလွ်င္ျမန္စြာ process လုပ္ႏိုင္ေပမဲ့ တျခားအစိတ္အပိုင္း ေတြနဲ႔ communicate လုပ္တဲ့ေနရာမွာ FSB speed ျမင့္တဲ့ processor ေတြေလာက္ ျမန္ဆန္ေအာင္ လုပ္ေဆာင္ႏိုင္တာ မရွိပါဘူး။ ဒါေၾကာင့္လည္း ဒီကေန႔အသံုးျပဳေနတဲ့ processor ေတြမွာ FSB speed ကိုလည္းစံႏွဳန္းတစ္ခုအျဖစ္ ထည့္သြင္းေဖာ္ျပလာတာ ကိုေတြ႕ရပါလိမ့္မယ္။
FSB speed ဟာ CPU ထုတ္လုပ္တဲ့ကုမၸဏီနဲ႔ Model ေပၚမူတည္ၿပီး 100MHz, 166MHz, 133MHz, 200MHz, 266MHz, 333MHz, 400MHz, 533MHz, 800MHz နဲ႔ 1066MHz ေတြထဲကတစ္ခုခု ျဖစ္ႏိုင္ပါတယ္။ FSB speed ဟာလည္း system clock speed ေပၚမွာအမ်ားႀကီးမူတည္ပါတယ္။ ဟိုးအရင္ processor ေတြျဖစ္ၾကတဲ့ Intel က Pentium III နဲ႔ AMD က K6 processor ေတြတိုင္ေအာင္ပဲ FSB speed ဟာ system clock speed နဲ႔အတူတူပဲျဖစ္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့ 1 clock cycle မွာ 1-bit data ကိုပဲ transfer လုပ္ႏိုင္တဲ့အတြက္ေၾကာင့္ motherboard က System clock speed ဟာ 133MHz ျဖစ္ပါက FSB ဟာလည္း 133MHz ပဲျဖစ္ရပါတယ္။ ဒါေပမဲ့ Pentium 4 နဲ႔ AMD K8 processor ေတြကေနစၿပီး dual pumped , quad pumped နည္းစနစ္ေတြကုိ အသံုးျပဳၿပီး FSB speed ကိုတိုးျမွင့္အသံုးျပဳ လာခဲ့ၾကပါတယ္။
Credit- kyaw ye paing
Comments
Post a Comment