ကွန်ပျူတာ: တည်းဖြတ်မှု မူကွဲများ

အရေးမကြီး →‎spelling
No edit summary
စာကြောင်း ၂၁ -
 
{{Early computer characteristics}}
 
==ပရိုဂရမ်==
 
ခေတ်ပေါ်ကွန်ပျူတာများနှင့် အခြားသော စက်ကိရိယာများ၏ အဓိကကွာခြားချက်မှာ ခေတ်ပေါ် ကွန်ပျူတာများ၏ ညွှန်ကြားချက်များကို လိုအပ်သလို ပြောင်းလဲပြင်ဆင် ရေးသားနိုင်ခြင်း ဖြစ်သည်။ တစ်နည်းအားဖြင့်ဆိုသော် (ခေတ်ပေါ်)ကွန်ပျူတာများကို စိတ်ကြိုက် ညွှန်ကြားချက်များ ပေး၍ လိုရာကို ဆောင်ရွက်စေနိုင်သည်။ ဗွန်နူမန် (von Neumann) တည်ဆောက်ပုံစနစ်ကို အခြေခံသော ခေတ်ပေါ်ကွန်ပျူတာ အများစုတွင် ကွန်ပျူတာ ညွှန်ကြားချက်များကို ကွန်ပျူတာ ဘာသာစကားများသုံး၍ ရေးသားခိုင်းစေနိုင်သည်။
 
ကွန်ပျူတာပရိုဂရမ်ဆိုသည်မှာ အမှန်တော့ ညွှန်ကြားချက်များ အစုအဝေးကြီးမျှသာ ဖြစ်သည်။ အချို့ပရိုဂရမ်များတွင် ညွှန်ကြားချက် အနည်းငယ်မျှသာ ပါဝင်နေနိုင်သလို ဘရောက်ဇာ၊ စာစီစာရိုက် စသည့်ကဲ့သို့ ပရိုဂရမ်များတွင် ညွှန်ကြားချက်ပေါင်း သန်းချီ၍လည်း ပါဝင်နေနိုင်သည်။ ခေတ်ပေါ်ကွန်ပျူတာများသည် စက္ကန့်ပိုင်းမျှအချိန်အတွင်း ညွှန်ကြားချက်များ သန်းထောင်ချီ၍ ဆောင်ရွက်တွက်ချက်နိုင်ပြီး အမှားအယွင်းလည်း မရှိသလောက်ပင် ဖြစ်သည်။ ညွှန်ကြားချက်များ သန်းပေါင်းများစွာ ပါရှိသည့် ပရိုဂရမ် အကြီးစားများကို ပရိုဂရမ်မာ မြောက်များစွာသုံး၍ နှစ်ပေါင်းများစွာ အချိန်ယူကာ ရေးသားရပြီး ဆောင်ရွက်ရမည့် လုပ်ငန်း၏ ရှုပ်ထွေးမှုပေါ် မူတည်၍ အမှားအယွင်းများ ပါစမြဲပင် ဖြစ်သည်။
 
===ပရိုဂရမ် တည်ဆောက်ပုံ===
{{Main|Computer program|Computer programming}}
 
ပုံမှန်အားဖြင့် ကွန်ပျူတာညွှန်ကြားချက်များမှာ ရိုးစင်းပါသည်။ ဥပမာ ဂဏန်းတစ်ခုနှင့် တစ်ခုပေါင်းခြင်း၊ အချက်အလက်များကို တစ်နေရာမှ တစ်နေရာသို့ ရွှေ့ခြင်း၊ ကွန်ပျူတာနှင့် တွဲဖက်သုံးကိရိယာများကို အချက်ပြခြင်းတို့ ဖြစ်သည်။ ထိုညွှန်ကြားချက်များကို ကွန်ပျူတာ၏ မှတ်ဥာဏ်မှ ဖတ်ယူပြီး ဖတ်ယူရရှိသည့် အစဥ်အတိုင်း အတွက်အချက် အစိတ်အပိုင်းက တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ သို့သော် အထူးညွှန်ကြားချက်များကို သုံး၍ ရှေ့သို့ ကျော်၍သော်လည်းကောင်း၊ နောက်သို့ ဆုတ်၍သော်လည်းကောင်း ပရိုဂရမ်အတွင်းရှိ အခြားနေရာများကို ဆောင်ရွက်ရန် ခိုင်းစေနိုင်သည်။ ထိုသို့သော် ညွှန်ကြားချက်များကို အခုန်ညွှန်ကြားချက်များဟု ခေါ်သည်။ အခုန်ညွှန်ကြားချက်များကို သူ့မတိုင်မှီအရင် ညွှန်ကြားချက်များကို တွက်ချက်ရရှိထားသည့် ရလဒ်များပေါ်မူတည်၍ အခြေအနေအလိုက် ခုန်ကျော်ရန်လည်း ခိုင်းစေနိုင်သည်။ Many computers directly support subroutines by providing a type of jump that "remembers" the location it jumped from and another instruction to return to the instruction following that jump instruction.
 
တစ်နည်းအားဖြင့် ပရိုဂရမ်များကို တွက်ချက်ဆောင်ရွက်ခြင်းသည် စာအုပ်တစ်အုပ်ကို ဖတ်သည်နှင့် တူသည်။ ပုံမှန်အားဖြင့် စာအုပ်တွင်းရှိ စာလုံး၊ စာကြောင်းများကို အစီအစဥ်တကျ ဖတ်လေ့ရှိကြသော်လည်း တစ်ခါတစ်ရံတွင် နောက်သို့ ပြန်လှန်ဖတ်ခြင်း၊ စိတ်မဝင်စားသည့် စာပိုဒ်များကိုလည်း ကျော်ဖတ်ခြင်းများကို ပြုလုပ်တတ်ကြပါသည်။ ထိုနည်းတူစွာ ကွန်ပျူတာများသည်လည်း တစ်ခါတစ်ရံ ညွှန်ကြားချက်များကို အခြေအနေပေါ်မူတည်၍ ရှေ့ကျော်၊ နောက်ကျော် ထပ်ကာတလဲလဲ ဆောင်ရွက်တတ်သည်။ ဤသည်ကို ပရိုဂရမ်ဆောင်ရွက်မှု စီးဆင်းပုံ (flow of control) ဟုခေါ်သည်။ ထိုသို့ ခုန်ပြန်ကျော်လွှားပြီး ညွှန်ကြားချက်များကို ထပ်ကာတလဲလဲ ဆောင်ရွက်နိုင်ခြင်းကြောင့် ကွန်ပျူတာများသည် လူသားများ၏ ထိန်းကွပ်မှုမပါပဲ အလိုအလျောက် လုပ်ငန်းဆောင်တာများကို ဆောင်ရွက်နိုင်ခြင်းဖြစ်သည်။
 
ဥပမာအားဖြင့် လူတစ်ဦးသည် အိပ်ဆောင်ဂဏန်းတွက်စက်ကို သုံး၍ ဂဏန်းနှစ်ခု ပေါင်းခြင်းစသည့် အခြေခံဂဏန်းသင်္ချာများကို ခလုပ်တစ်ခု၊ နှစ်ခု နှိပ်၍ လွယ်လင့်တကူ တွက်ချက်နိုင်သည်။ သို့သော် ၁မှ ၁၀၀၀ကြားတွင်းရှိ ဂဏန်းအားလုံးကို ဂဏန်းတွက်စက်ဖြင့် ပေါင်းလိုပါက ခလုပ်များကို အကြိမ်ပေါင်းများစွာနှိပ်ရန် လိုအပ်ပြီး ခလုပ်များ မှားယွင်းနှိပ်မိခြင်းများ ဖြစ်နိုင်သလို အချိန်ကုန်လူပင်ပန်းစရာပင် ဖြစ်ပါသည်။ အခြားတစ်ဖက်တွင်မူ ကွန်ပျူတာများကို ထိုသို့ပေါင်းရန်ကို ညွှန်ကြားချက် အနည်းငယ်မျှသုံး၍ လွယ်လင့်တကူ ခိုင်းစေနိုင်သည်။
 
{{-}}
mov #0, sum ; sum ကို ၀ လို့ သတ်မှတ်ပါ။
mov #1, num ; num ကို ၁ လို့ သတ်မှတ်ပါ။
loop: add num, sum ; num ကို sum ထဲ ပေါင်းထည့်ပါ။
add #1, num ; num ကို ၁ ပေါင်းပါ။
cmp num, #1000 ; num နှင့် ၁၀၀၀ ကို နိူင်းယှဥ်ပါ။
ble loop ; num <= 1000, 'loop' သို့ နောက်ပြန်သွားပါ။
halt ; ပရိုဂရမ်ကို အဆုံးသတ်ပါ။
 
အထက်ပါ ပရိုဂရမ်ကို စတင်လိုက်ပါက ကွန်ပျူတာက ထပ်တလဲလဲ ပေါင်းတွက်ရမည့် အပိုင်းကို လူအကူအညီ ကွပ်ကဲမှု မပါပဲ အလိုအလျောက် တွက်ချက်ပေးပါမည်။ ထိုတွက်ချက်မှုသည် အမှားအယွင်းကင်းသလို ခေတ်ပေါ်ကွန်ပျူတာအများစုသည် ထိုတွက်ချက်မှုကို တစ်စက္ကန့်၏ အပုံတစ်သန်းပုံ တစ်ပုံမျှအတွင်း ဆောင်ရွက်နိုင်ပါလိမ့်မည်။<ref>This program was written similarly to those for the [[PDP-11]] [[minicomputer]] and shows some typical things a computer can do. All the text after the semicolons are [[Comment (computer programming)|comments]] for the benefit of human readers. These have no significance to the computer and are ignored. {{harv|Digital Equipment Corporation|1972}}</ref>
 
= အလုပ်လုပ်ပုံများ =