Thursday, October 23, 2014

Accumulator ဆုိတာ ဘာလဲ


(၁၉၃၆ခုႏွစ္ tabulating machineတြင္ အသုံးျပဳေသာ accumulatorမ်ားကုိ ေတြ႔ရစဥ္၊ ၄င္းတုိ႔သည္ ဂဏန္း၁၀လုံးအထိ မွတ္သားႏုိင္ႀကပါသည္)

Accumulator ကုိ ကြ်န္ေတာ္႔အေနနဲ႔ ဗမာလုိ ေခတၱမွတ္ဥာဏ္ေယာင္လုိ႔ နာမည္ေပးလုိပါတယ္။
Accumulator ဆုိတာ ကြန္ျပဴတာရဲ႕ CPU( Central Processing Unit) ထဲမွ registerတစ္ခုျဖစ္ျပီး အလယ္အလတ္ပုိင္းဆုိင္ရာ သခ်ၤာကိန္းဂဏန္းတြက္ခ်က္မႈေတြနဲ႔ ေလာ႔ဂ်စ္ေတြကုိ သုိ၀ွက္ရာေနရာ တစ္ခုျဖစ္ပါတယ္။ ( register ဆုိတာကေတာ႔ digital နည္းပညာပစၥည္းေတြမွာ အသုံးျပဳရတဲ႔ အီလက္ထေရာနစ္ပစၥည္းတစ္မ်ိဳးကုိ ဆုိလုိပါတယ္။)
တကယ္လုိ႔ accumulatorသာ မရွိရင္ တြက္ခ်က္တစ္ခုျပီးတုိင္း ျပီးတုိင္း ရလာတဲ႔ ရလာဒ္ေတြကုိ ပင္မမွတ္ဥာဏ္(main memory)ထဲမွာ သြားေရာက္မွတ္သားထားဖုိ႔ လုိလာပါလိမ္႔မယ္။ ပင္မမွတ္ဥာဏ္(main memory)နဲ႔ accumulator (register) တုိ႔ဟာ တစ္ခုနဲ႔ တစ္ခု ျပဳလုပ္ထားတဲ႔ နည္းပညာမတူညီတာေႀကာင္႔ ပင္မမွတ္ဥာဏ္ထဲမွာ သြားေရာက္သုိေလွာင္ျခင္းဟာ အခ်ိန္ႀကာျမင္႔ေစပါတယ္။
ေခတ္ဦးကြန္ျပဴတာေတြမွာေတာ႔ accumulator ပါတဲ႔ အုပ္စုနဲ႔ မပါတဲ႔ အုပ္စုဆုိျပီး ႏွစ္မ်ိဳးကြဲျပားပါတယ္။ ေခတ္သစ္ကြန္ျပဴတာေတြမွာေတာ႔ accumulatorကဲ႔သုိ႔ လုပ္ေဆာင္ႏုိင္ျပီး ရည္ရြယ္ခ်က္အမ်ိဳးမ်ိဳးအတြက္ ဖန္တီးထားတဲ႔ registerေတြ အေျမာက္အျမားပါ၀င္ႀကပါတယ္။ မည္သုိ႔ပင္ဆုိေစ accumulator ေတြကုိ လုပ္ေဆာင္ထားတဲ႔ ဒီဇုိင္းေပၚမူတည္ျပီး processorေတြမွာ အသုံးျပဳေနႀကပါျပီ။
Accumulatorကုိ ဘယ္လုိအသုံးျပဳသလဲဆုိတာကုိ ဥပမာတစ္ခုေဖာ္ျပေပးပါမယ္။
အလုပ္ရွင္တစ္ဦးက အလုပ္သမားတစ္ဦးကုိ လခထုတ္ေပးတဲ႔အခါ တြက္ခ်က္ရတဲ႔ လုပ္ငန္းစဥ္တစ္ခုကုိ ဥပမာအေနနဲ႔ သုံးႀကည္႔ရေအာင္။
၁။ ဦးဆုံး အလုပ္သမားရဲ႕ တစ္လအတြင္း အလုပ္လုပ္ခ်ိန္ ဘယ္ေလာက္ရွိလဲဆုိတာ ႀကည္႔ရမယ္။
၂။ အဲဒီအလုပ္သမားကုိ ေပးရမယ္႔ တစ္နာရီဘယ္ေလာက္ဆုိတဲ႔ ေပးႏႈန္းကုိ ႀကည္႔ရမယ္။
၃။ အလုပ္လုပ္ခ်ိန္နဲ႔ ေပးႏႈန္းကုိ ေျမွာက္ျပီး ရမယ္႔ ပမာဏကုိ တြက္ရမယ္။
၄။ ရေငြနဲ႔ အဲဒီအလုပ္သမားေပးရမယ္႔ ၀င္ေငြခြန္ရာခုိင္ႏႈန္းကုိ ေျမွာက္ရမယ္။
၅။ ရလာတဲ႔ ဂဏန္းကုိ အဆင္႔၃မွာ တြက္ထားတဲ႔ ပမာဏထဲက ႏႈတ္ရမယ္။
၆။ ႏႈတ္ျပီးသားပမာဏကုိ ပင္စင္ယူတဲ႔အခါ အလုပ္သမားရဲ႕ လူမႈဖူလုံေရးအစီအစဥ္ေတြအတြက္ သတ္မွတ္ထားေသာ ရာခုိင္ႏႈန္းနဲ႔ ထပ္ေျမွာက္ရမယ္။
၇။ ရလာတဲ႔ ဂဏန္းကုိ အဆင္႔၅မွာ ရထားတဲ႔ ပမာဏထဲက ထပ္ႏႈတ္ရမယ္။
အထက္ပါ အဆင္႔ခုနစ္ဆင္႔ျပီးေျမာက္ျပီဆုိေတာ႔မွ အလုပ္သမားအတြက္ ေပးရမယ္႔ လစာပမာဏကုိ ရရွိမွာျဖစ္ပါတယ္။
အဆင္႔တစ္ဆင္႔ ျပီးတုိင္း ျပီးတုိင္းမွာ တြက္ခ်က္လုိ႔ရတဲ႔ ရလာဒ္တစ္ခု ထြက္လာပါတယ္။ ရလာဒ္တစ္ခုထြက္လာတုိင္း ပင္မမွတ္ဥာဏ္ထဲမွာ တစ္ခါသြားျပီး မွတ္သားေနရမယ္ဆုိ အခ်ိန္ေတာ္ေတာ္ယူရမွာ ျဖစ္ျပီး registerတစ္ခုျဖစ္တဲ႔ accumulatorထဲမွာ ေခတၱသြားေရာက္သုိေလွာင္မယ္၊ ျပီးရင္ ျပန္ယူျပီး သုံးမယ္၊ ျပီးရင္ ထပ္ထြက္လာတဲ႔ ရလာဒ္ကုိ ျပန္သုိေလွာင္မယ္၊ ေနာက္ဆုံး လုပ္ငန္းစဥ္တစ္ခုလုံး ျပီးေျမာက္သြားျပီဆုိေတာ႔မွ ပင္မမွတ္ဥာဏ္ထဲမွာ သြားေရာက္မွတ္သားလုိက္မယ္ဆုိရင္ အခ်ိန္ကုန္သက္သာသလုိ စနစ္က်တဲ႔ တြက္ခ်က္မႈတစ္ခုျဖစ္ေႀကာင္း ေတြ႔ႏုိင္ပါတယ္။
ယေန႔ 2014မွာ နာမည္ေက်ာ္ႀကားလူသိမ်ားႀကျပီး လုပ္ငန္းေပါင္းစုံမွာ အသုံး၀င္တဲ႔ microcontrollerမ်ား ျဖစ္ႀကတဲ႔ PICmicroနဲ႔ 8051(intel) တုိ႔ဟာ accumulatorအေျခခံထားတဲ႔ စက္ပစၥည္းေလးေတြ ျဖစ္ပါတယ္။
ကြန္ျပဴတာေတြမွာ အသုံးျပဳႀကတဲ႔ CPUေတြမွာလဲ ရည္ရြယ္ခ်က္အမ်ိဳးမ်ိဳးအတြက္ ဒီဇုိင္းထုတ္ထားတဲ႔ accumulatorကဲ႔သုိ႔ registerအေျမာက္အျမားကုိ အသုံးျပဳထားႀကပါတယ္။ ဒါေပမယ္႔ သူတုိ႔ကုိ accumulator machineလုိ႔ေတာ႔ မေခၚႏုိင္ဘူးေပါ႔။
အဆုိပါregisterေတြမွာ မတူကြဲျပားတဲ႔ ဒီဇုိင္းပုံစံarchitectureေတြရွိျပီး အခ်ိဳ႕architectureေတြမွာ registerတစ္ခုကုိ accumulator ဆုိျပီး သီးသန္႔သတ္မွတ္ထားေပမယ္႔ လုပ္ငန္းစဥ္ေပၚမူတည္ျပီး register number ေပးျပီး accumulatorကဲ႔သုိ႔ လုပ္ေဆာင္ေစရန္ သတ္မွတ္ထားႀကပါတယ္။

ကုိးကား
http://en.wikipedia.org/wiki/Accumulator_(computing)



No comments:

Post a Comment