CPU အေၾကာင္းသိေကာင္းစရာ



Computer ရဲ႕ဦးေႏွာက္လို႔တင္စားေခၚေဝၚေလ႔ရွိတဲ႕ Microprocessor (ဝါ) CPU သည္ transistor သန္းေပါငး္မ်ားစြာၿဖင္႔ၿပဳလုပ္ထားၿပီး motherboard (သို႔) circuit board ေပၚတြင္ တိုက္ရိုက္တပ္ဆင္အသံုးၿပဳရသည္႔အၾကီးမားဆံုးေသာ Chip တစ္ခုပင္ၿဖစ္ပါတယ္။ (၁၉၇၁) ခုႏွစ္တြင္ Intel company မွ 4004 processor ကုိပထမဦးဆံုးစီးပြားၿဖစ္ တီထြင္ထုတ္လုပ္ေရာငး္ခ်ခဲ႕ပါတယ္။ ထုိ 4004 processor ကို transistor ေပါငး္ ၂၃၀၀ခန္႔ၿဖင္႔တည္ေဆာက္ထားၿပီး 60 kHz ၿဖင္႔အလုပ္လုပ္ေဆာင္ပါတယ္။
60 kHz ဆိုတာကေတာ႔ တစ္စကၠန္႔မွာ တြက္ခ်က္မႈေပါင္း(၆)သန္းခန္႔ကိုလုပ္ေဆာင္ႏိုင္ၿခငး္ပင္ၿဖစ္ပါတယ္။ ယေန႔ေခတ္ေပၚ processor မ်ားကိုေတာ႔ သန္းႏွင္႔ခ်ီေသာ transistor မ်ားၿဖင္႔တည္ေဆာက္ထားၿပီး တစ္စကၠန္႔မွာ တြက္ခ်က္မႈေပါငး္ သန္းေထာင္ခ်ီၿပီး လုပ္ေဆာင္ႏိုင္ၾကၿပီၿဖစ္ပါတယ္။
Microprocessor ရဲ႕ပါတ္လည္အနားတစ္ေလွ်ာက္မွာ ရာႏွင္႔ခ်ီေသာ pin မ်ားကို ေတြ႔ရပါလိမ္႔မယ္။ ထို pin မ်ားထဲမွ အခ်ိဳ႕ဟာ Bus (data carrier) မ်ားမွလာေသာ Signal Line မ်ားႏွင္႔ခ်ိတ္ဆက္ရန္ၿဖစ္ၿပီး အခ်ိဳ႕ကေတာ႔ Chip ကို ပါဝါေပးရန္ၿဖစ္ပါတယ္။
CPU တစ္ခုကို ပကတိ မ်က္စိၿဖင္႔ၾကည္႔မယ္ဆိုရင္ Component တစ္ခုတည္းအၿဖစ္သာၿမင္ရမွာၿဖစ္ၿပီး အတြငး္ပုိငး္မွာေတာ႔ ALU (Arithmetic Logic Unit) ၊ Register ၊ CU (Control Unit) အစရွိေသာအစိတ္အပိုငး္မ်ားကိုစုေပါင္းၿပီးထည္႔သြငး္တည္ေဆာက္ထားပါတယ္။ဖြဲ႕စညး္တည္ေဆာက္ပံုမ်ားသည္ CUP အမ်ိဳးအစားေပၚမူတည္ၿပီး အမ်ိဳးမ်ိဳးကြဲၿပားၾကေသာ္လညး္အေၿခံက်ေသာ သေဘာတရားမ်ားမွာေတာ႔ အတူတူပင္ၿဖစ္ပါတယ္။

CPU သည္ Calculation ႏွင္႔ Data မ်ားကို Program မွညႊန္ၾကားေသာ Instruction မ်ားအတိုငး္ process လုပ္ရေသာတာဝန္မ်ားကိုေဆာင္ရြက္ရပါတယ္။ Instruction မ်ားဆိုတာကေတာ႔ေရာက္ရွိလာတဲ႕ data မ်ားကို CPU မွဘယ္လိုထိန္းခ်ဳပ္လုပ္ေဆာင္ရမလဲဆိုတာကို ညႊန္ၾကားတဲ႕ command မ်ားပဲၿဖစ္ပါတယ္။ ဥပမာ 2 + 7 ရဲ႕အေၿဖကိုတြက္ထုတ္တဲ႕အခါမွာ + (Add) သည္အေၿခခံက်ဆံုး instruction တစ္ခုပဲၿဖစ္ပါတယ္။ 2 နဲ႕ 7 ကိုေတာ႔ calculate မလုပ္ခင္မွာ ခုနကေၿပာခဲ႕တဲ႕ Register ဆိုတဲ႕အခန္းငယ္ေလးထဲမွာ ခဏသိမး္ထားပါတယ္။
အလားတူပဲ program တစ္ခု (ဥပမာ Microsoft Word) ကိုအသံုးၿပဳၿပီး file တစ္ခုေရးဖြဲ႕တဲ႕ေနရာမွာဆို ထုိ file အတြင္းပါစာသားမ်ား ၊ ရုပ္ပံုမ်ား ဟာ data မ်ားပင္ၿဖစ္ပါတယ္။ အဲ႕ဒီ file ကိုသိမး္ဆည္းရန္ (သို႔) printer ထုတ္ရန္အတြက္ Print (သို႔) Save တြင္ click ႏွိပ္ၿပီး command ေပးရပါမယ္။ ထို Print (သို႔) Save သည္ CPU အား data မ်ားအေပၚမွာ ဘယ္လုိၿပဳမႈေဆာင္ရြက္ရမလဲဆိုတာကိုုညႊန္ၾကားေသာ Program (ဝါ) series of instructions မ်ားပဲၿဖစ္ပါတယ္။

CPU ဟာ Instruction တစ္ခုလာတဲ႕အခါ ထုိ instruction သည္ ဘာကိုလုပ္ေဆာင္ဖို႔ရန္ ခုိင္းေစသလဲဆိုတာကို နားလည္ဖုိ႔လိုပါတယ္။ CPU အပါအဝင္ computer အစိတ္အပိုင္းအားလံုးအသီးသီတို႔သည္ Lowest-level programming language ၿဖစ္ေသာ machine language ကိုသာလွ်င္နားလည္ပါတယ္။ ထို machine language ကို CPU မွအလြယ္တကူနားလည္လက္ခံႏိုင္ေသာ္လည္း လူသားမ်ားအတြက္ေတာ႔ ေရးဖို႔ဖတ္ဖို႔ရန္မၿဖစ္ႏိုင္ပါ။ ဘာၿဖစ္လို႔လဲဆိုေတာ႔ machine language တြင္ number (1 & 0) မ်ားသာပါဝင္ေသာေၾကာင္႔ၿဖစ္ပါတယ္။
ဥပမာ - 0000 0001 0010 1000 0101 1100 00111
ဒါေၾကာင္႔ software ေရးသားသူ programmer မ်ားက Assembly (သို႔) high level programming language လို႔ေခၚတဲ႕ C ၊ Fortran ၊ Pascal တို႔ကိုအသံုးၿပဳၿပီး software မ်ားကိုေရးသားရပါတယ္။ ဟိုးယခင္ Programming ေခတ္ဦးကာလတုန္းကဆိုရင္ Program အားလံုးတို႔ကို Assembly language ၿဖင္႔သာေရးသားခဲ႕ၾကပါတယ္။ Assembly language သည္ machine language ႏွင္႔ဆင္တူေသာ Structure ႏွင္႔ Command မ်ားပါရွိပါတယ္။ သုိ႔ေသာ္ number မ်ားအစား name မ်ားၿဖင္႔ေရးသားႏုိင္ပါတယ္။
ဥပမာ - add $r2, $r3, $r4

ယေန႔အခ်ိန္မွာေတာ႔ 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 ၊ interpreter ၊ assembly မွ machine language သို႔ေၿပာင္းလဲေပးႏိုင္ေသာ assembler တုိ႔ၿဖင္႔ translate လုပ္ေပးရပါတယ္။
Microprocessor ေစ်းကြက္ကို လႊမး္မိုးထားၿပီး ယေန႔ computerအမ်ားစုတုိ႔အတြင္ အသံုးၿပဳလ်က္ရွိေသာ Microprocessor မ်ားကုိ အဓိကထုတ္လုပ္သူ company ၾကီး၂ခုသာရွိပါတယ္။ Intel နဲ႕ AMD (Advanced Micro Device) တုိ႔ပဲၿဖစ္ပါတယ္။
Intel သည္ processor ေစ်းကြက္ကိုလႊမ္းမိုးထားၿပီး ေစ်းကြက္ေဝစုအမ်ားဆံုးပိုင္ဆိုင္ထားေသာ CPU ထုတ္လုပ္သည္႔ company ၿဖစ္ပါတယ္။ အေစာပိုင္း CPU ေတြကုိ အမည္ေပးတဲ႕ေနရာမွာ နံပါတ္ေတြနဲ႕ေပးသားခဲ႕ပါတယ္။ 8080 ၊ 286 ၊ 486 အစရွိတဲ႕အမည္မ်ားနဲ႕ၿဖစ္ပါတယ္။ 486 ေနာက္ပုိငး္အမည္ေပးတဲ႕ေနရာမွာ Pentium ၊ Celeron ၊ အစရွိတဲ႕ Pentium မ်ိဳးဆက္ပဲၿဖစ္ပါတယ္။ အဲ႕ဒီေနာက္ပိုင္းမွာေတာ႔ Pentium မဟုတ္ပဲ Core အမည္မ်ားနဲ႕လာပါတယ္။ Core 2 Duo ၊ Core 2 Quad ကေနစၿပီးယေန႔ေနာက္ဆံုးေပၚ Core i3 ၊ Core i5 ၊ Core i7 တုိ႔ထိေအာင္ၿဖစ္ပါတယ္။

CPU အလုပ္လုပ္ပံု

Computer ေပၚမွာ software တစ္ခုကို install လုပ္ၿခင္းသည္ series of instruction မ်ားပါဝင္ေသာ program code မ်ားႏွင္႔ ဆက္စပ္လ်က္ရွိေသာ file မ်ားကို hard disk ေပၚတြင္ သုိေလွာင္သိမး္ဆည္းထားၿခင္းပင္ၿဖစ္ပါတယ္။ အလားတူပင္ image မ်ား document မ်ားအစရွိေသာ data မ်ားသည္လညး္ storage device လို႔ေခၚသည္ hard disk မ်ား CD ROM မ်ားေပၚတြင္သိမး္ဆညး္ထားပါတယ္။ Program ကို run တဲ႕အခါမွာေသာ္လညး္ေကာငး္ data မ်ား storage device ထဲမွေနၿပီး RAM (Random Access Memory) ေပၚသို႔ copy ကူးယူလိုက္ပါတယ္။ ထုိ RAM မွတစ္ဆင္႔ data မ်ားကို Bus မ်ားမွတစ္ဆင္႔ ယူငင္အသံုးၿပဳၿပီး CPU မွစတင္ process လုပ္ပါလိမ္႔မယ္။ အလားတူပင္ process လုပ္ၿပံီးသြားေသာ data မ်ားကို CPU မွ RAM ေပၚသို႔ RAM မွ storage device (Hard Disk) ေပၚသို႔အဆင္႔ဆင္႔ၿပန္ေရးရပါတယ္။
ဒီလိုနဲ႕ data ေတြကုိ memory ေပၚခဏတင္ထားၿပီး CPU မွ process လုပ္ကာ အသံုးၿပဳသူက save လိုက္တာနဲ႕တစ္ၿပိဳင္နက္ hard disk ထဲကိုၿပန္သိမး္ေပးပါတယ္။

ကဲ…ဒါဆိုရင္စာဖတ္သူတို႔လညး္ Microprocessor (သုိ႔) CPU ဘယ္လိုအလုပ္လုပ္တယ္ ဘယ္လုိဖြဲ႕စည္းထားလဲဆိုတာကို သိသြားၿပီၿဖစ္ပါတယ္။
ေနာက္ထပ္ processor ေတြရဲ႕ Speed ကိုတြက္ခ်က္ပံုမ်ားကိုထပ္မံေဖာ္ၿပေပးပါဦးမယ္။

အစဥ္ေလးစားစြာၿဖင္႔….
IT4M

Credit to ဆရာမ်ိဴးသူရ

1 comment:

  1. သားကိုသင္ေပးပါကြီး Htet Oo Wai ပါ

    ReplyDelete