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

ဝီကီပီးဒီးယား မှ
အရေးမကြီး removed ZWSP
စာကြောင်း ၁ - စာကြောင်း ၁ -
[[File:Columbia Supercomputer - NASA Advanced Supercomputing Facility.jpg|right|thumb|နာ​ဆာ​မှ ကို​လံ​ဘီ​ယာ စူ​ပါ​ကွန်ပျူတာ]]
[[File:Columbia Supercomputer - NASA Advanced Supercomputing Facility.jpg|right|thumb|နာဆာမှ ကိုလံဘီယာ စူပါကွန်ပျူတာ]]


'''ကွန်ပျူတာ'''ဆို​သည်မှာ ထည့်​သွင်း​ထား​သော [[ကွန်ပျူတာ_ပ%E2%80%8Bရို%E2%80%8Bဂ%E2%80%8Bရမ်|ပ​ရို​ဂ​ရမ်]] သို့မဟုတ် အစီ​စဉ်​တ​ကျ ညွှန်​ကြား​ချက်​များ​အတိုင်း [[အချက်အလက်]] များ​ကို စီမံ​ခန့်​ခွဲ​ပေး​သော ကိရိယာ​ဖြစ်​သည်။ ကွန်ပျူတာ​များ​သည် ညွှန်​ကြား​ချက်​များပေါ် မူ​တည်​၍ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်​ရာ တွက်ချက်​မှု​များ​ကို အစီ​အစဉ်​တ​ကျ အလို​အလျောက် စွမ်းဆောင်နိုင်​သည်။
'''ကွန်ပျူတာ'''ဆိုသည်မှာ ထည့်သွင်းထားသော [[ကွန်ပျူတာ_ပ%E2%80%8Bရို%E2%80%8Bဂ%E2%80%8Bရမ်|ပရိုဂရမ်]] သို့မဟုတ် အစီစဉ်တကျ ညွှန်ကြားချက်များအတိုင်း [[အချက်အလက်]] များကို စီမံခန့်ခွဲပေးသော ကိရိယာဖြစ်သည်။ ကွန်ပျူတာများသည် ညွှန်ကြားချက်များပေါ် မူတည်၍ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်ရာ တွက်ချက်မှုများကို အစီအစဉ်တကျ အလိုအလျောက် စွမ်းဆောင်နိုင်သည်။


ကွန်ပျူတာတစ်ခုတွင် အခြေခံအားဖြင့် အချက်အလက်များကို သိမ်းဆည်းရန် မှတ်ဉာဏ်၊ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်သော အစိတ်အပိုင်းတစ်ခုနှင့် ထိုသို့ တွက်ချက်မှုများကို မှတ်ဉာဏ်အတွင်း သိမ်းဆည်းထားသော ညွှန်ကြားချက်များအတိုင်း စီစဉ်ကွပ်ကဲပေးသော အစိတ်အပိုင်းတစ်ခု ပါဝင်သည်။ ကွန်ပျူတာတွင်းသို့ အချက်အလက်များ ထည့်သွင်းရန်နှင့် ကွန်ပျူတာမှ တွက်ချက်ပေးလိုက်သော အချက်အလက်များကို သိမ်းဆည်းရန် ကွန်ပျူတာ အရံပစ္စည်းများကို အသုံးပြုသည်။
ကွန်ပျူတာ​တစ်​ခု​တွင် အခြေ​ခံ​အား​ဖြင့် အချက်အလက်​များ​ကို သိမ်းဆည်း​ရန် မှတ်ဉာဏ်၊ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်​ရာ တွက်ချက်​မှု​များ ပြုလုပ်​သော အစိတ်​အပိုင်း​တစ်​ခု​နှင့် ထိုသို့ တွက်ချက်​မှု​များ​ကို မှတ်ဉာဏ်​အတွင်း သိမ်းဆည်း​ထား​သော ညွှန်​ကြား​ချက်​များ​အတိုင်း စီစဉ်​ကွပ်​ကဲ​ပေး​သော အစိတ်​အပိုင်း​တစ်​ခု ပါဝင်​သည်။ ကွန်ပျူတာ​တွင်း​သို့ အချက်အလက်​များ ထည့်​သွင်း​ရန်​နှင့် ကွန်ပျူတာ​မှ တွက်ချက်​ပေးလိုက်​သော အချက်အလက်​များ​ကို သိမ်းဆည်း​ရန် ကွန်ပျူတာ အရံ​ပစ္စည်း​များ​ကို အသုံးပြု​သည်။


ကွန်ပျူတာ၏ အတွက်အချက် အစိတ်အပိုင်းသည် အချက်အလက်များကို ဖတ်ယူ၊ တွက်ချက်၊ သိမ်းဆည်းရန် ညွှန်ကြားချက်များကို အစီစဉ်တကျ တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ အခြေအနေထိန်း ညွှန်ကြားချက်များက ထိုညွှန်ကြားချက်များ၏ ဆောင်ရွက်ပုံ အစီအစဉ်ကို ပြောင်းလဲနိုင်သည်။
ကွန်ပျူတာ​၏ အတွက်​အချက် အစိတ်​အပိုင်း​သည် အချက်အလက်​များ​ကို ဖတ်​ယူ၊ တွက်ချက်၊ သိမ်းဆည်း​ရန် ညွှန်​ကြား​ချက်​များ​ကို အစီ​စဉ်​တ​ကျ တစ်​ခု​ပြီး​တစ်​ခု ဆောင်ရွက်​သည်။ အခြေအနေ​ထိန်း ညွှန်​ကြား​ချက်​များ​က ထို​ညွှန်​ကြား​ချက်​များ​၏ ဆောင်ရွက်​ပုံ အစီ​အစဉ်​ကို ပြောင်းလဲ​နိုင်​သည်။


ပထမဆုံးသော အီလက်ထရောနစ် ကွန်ပျူတာများသည် ၂၀ ရာစု အလယ်ပိုင်းက စတင်ပေါ်ထွန်းခဲ့သည်။ ထိုရှေးဦးကွန်ပျူတာများမှာ အခန်း တစ်ခန်းစာမျှ ကြီးမားပြီး ခေတ်ပေါ်[[ပီစီ]] (တကိုယ်ရေ ကွန်ပျူတာ) ရာပေါင်းများစွာနှင့် ညီမျှသော စွမ်းအားကို သုံးစွဲခဲ့သည်။
ပထမ​ဆုံး​သော အီ​လက်​ထ​ရော​နစ် ကွန်ပျူတာ​များ​သည် ၂​၀ ရာ​စု အလယ်​ပိုင်း​က စ​တင်ပေါ်​ထွန်း​ခဲ့​သည်။ ထို​ရှေး​ဦး​ကွန်ပျူတာ​များ​မှာ အခန်း တစ်​ခန်း​စာ​မျှ ကြီးမား​ပြီး ခေတ်ပေါ်[[ပီ​စီ]] (တ​ကိုယ်​ရေ ကွန်ပျူတာ) ရာ​ပေါင်း​များ​စွာ​နှင့် ညီမျှ​သော စွမ်းအား​ကို သုံးစွဲ​ခဲ့​သည်။


ယနေ့ခေတ်ပေါ် ကွန်ပျူတာများမှာမူ ထိုရှေးဦး ကွန်ပျူတာများနှင့် နှိုင်းယှဉ်ပါက အဆ သန်းပေါင်းများစွာ ပို၍ တွက်ချက်စွမ်းဆောင်နိုင်သည့်အပြင် အရွယ်အစား ပမာဏလည်း အဆပေါင်းများစွာ သေးငယ်လှသည်။ အချို့ ကွန်ပျူတာများသည် အိပ်ဆောင် သယ်ယူသွားနိုင်လောက်အောက် သေးငယ်ပြီး အားဖြည့်သွင်းရာ၌လည်း ဓာတ်ခဲအသေးစားများကိုပင် အသုံးပြုနိုင်သည်။ နည်းပညာခေတ်၏ ပြယုဂ်များပင်ဖြစ်သည့် သဏ္ဍန်အမျိုးမျိုးရှိ တကိုယ်ရေသုံး ကွန်ပျူတာ(ပီစီ)များကို လူအများစုက ''ကွန်ပျူတာ''ဟု ခြုံငုံ မှတ်ယူခေါ်ဝေါ်နေသော်လည်း ကွန်ပျူတာများကို အိပ်ဆောင်သီချင်းဖွင့်စက်များမှအစ တိုက်ခိုက်ရေးလေယာဉ်များအဆုံး၊ ကစားစရာအရုပ်များမှအစ [[ရိုဘော့]]စက်ရုပ်များအဆုံး ထည့်သွင်းမြုပ်နှံထားသည်ကို တွေ့ရသည်။
ယနေ့​ခေတ်ပေါ် ကွန်ပျူတာ​များ​မှာ​မူ ထို​ရှေး​ဦး ကွန်ပျူတာ​များ​နှင့် နှိုင်းယှဉ်​ပါ​က အဆ သန်း​ပေါင်း​များ​စွာ ပို​၍ တွက်ချက်​စွမ်းဆောင်နိုင်​သည့်​အပြင် အရွယ်​အစား ပမာဏ​လည်း အဆ​ပေါင်း​များ​စွာ သေး​ငယ်​လှ​သည်။ အချို့ ကွန်ပျူတာ​များ​သည် အိပ်​ဆောင် သယ်ယူ​သွား​နိုင်​လောက်​အောက် သေး​ငယ်​ပြီး အားဖြည့်​သွင်း​ရာ​၌​လည်း ဓာတ်​ခဲ​အသေး​စား​များ​ကို​ပင် အသုံးပြု​နိုင်​သည်။ နည်း​ပညာ​ခေတ်​၏ ပြယုဂ်​များ​ပင်​ဖြစ်​သည့် သဏ္ဍန်​အမျိုး​မျိုးရှိ တ​ကိုယ်​ရေ​သုံး ကွန်ပျူတာ(ပီ​စီ)များ​ကို လူ​အများ​စု​က ''ကွန်ပျူတာ''ဟု ခြုံ​ငုံ မှတ်​ယူခေါ်ဝေါ်​နေသော်​လည်း ကွန်ပျူတာ​များ​ကို အိပ်​ဆောင်​သီချင်း​ဖွင့်​စက်​များ​မှ​အစ တိုက်ခိုက်​ရေး​လေ​ယာဉ်​များ​အဆုံး၊ ကစား​စရာ​အရုပ်​များ​မှ​အစ [[ရို​ဘော့]]စက်​ရုပ်​များ​အဆုံး ထည့်​သွင်း​မြုပ်​နှံထား​သည်​ကို တွေ့​ရ​သည်။


== သမိုင်း ==
== သမိုင်း ==
{{copyedit/doc}}
{{copyedit/doc}}
[[File:Jacquard.loom.full.view.jpg|thumb|right|[[Jacquard loom]] ပထမ​ဆုံး programmable device လို့​ဆို​လို့​ရ​ပါ​တယ်.]]
[[File:Jacquard.loom.full.view.jpg|thumb|right|[[Jacquard loom]] ပထမဆုံး programmable device လို့ဆိုလို့ရပါတယ်.]]
{{main| သမိုင်း}}
{{main| သမိုင်း}}
ရှေးယခင်က ကို သတ်မှတ်ဖို့ ရန်အလွန်တရာမှ ခက်ခဲခဲ့သည်။ယခုအချိန်တွင်မူကို အမည်အမျိုးမျိုး ခေါ်ဝေါ်သတ်မှတ်ခဲ့ကြပြီဖြစ်သည်။ ယခုအချိန်တွင်မူကိရိယာများ (Devices) တော်တော်များ⁠များကို တပ်ပြီးခေါ်နေကြပြီဖြစ်သည်။အစောဆုံး သည် တွက်ချက်မှုပိုင်းကို ပေသီး([[Abacus]])များမှ စခဲ့သည်။ ပေသီး([[Abacus]])သည် ပထမဆုံးဂဏန်းပေါင်းစက် ပင်ဖြစ်သည်။ ပေသီးကို တရုတ်ပြည်တွင် စတင်အသုံးပြုခဲ့သည်။
ရှေး​ယခင်​က ကို သတ်​မှတ်​ဖို့ ရန်​အလွန်တရာ​မှ ခက်ခဲ​ခဲ့​သည်။ယခု​အချိန်​တွင်​မူ​ကို အမည်​အမျိုး​မျိုး ခေါ်ဝေါ်​သတ်​မှတ်​ခဲ့​ကြ​ပြီ​ဖြစ်​သည်။ ယခု​အချိန်​တွင်​မူ​ကိရိယာ​များ (Devices) တော်တော်​များ⁠များ​ကို တပ်​ပြီးခေါ်​နေ​ကြ​ပြီ​ဖြစ်​သည်။အစော​ဆုံး သည် တွက်ချက်​မှု​ပိုင်း​ကို ပေ​သီး([[Abacus]])များ​မှ စ​ခဲ့​သည်။ ပေ​သီး([[Abacus]])သည် ပထမ​ဆုံး​ဂဏန်း​ပေါင်း​စက် ပင်​ဖြစ်​သည်။ ပေ​သီး​ကို တရုတ်​ပြည်​တွင် စတင်​အသုံးပြု​ခဲ့​သည်။


အလယ်​ခေတ်​အရောက်​တွင် ဥ​ရော​ပ သင်္ချာ နှင့် အင်​ဂျင်​နီ​ယာ ပညာ​ရှင် Wilhelm Schickard က ၁​၆​၂​၃​ခု​နှစ် တွင် ပထမ​ဆုံး စက်​ပစ္စည်း​နှင့်​တွက်ချက်​သော​ဂဏန်း​ပေါင်း​စက်(Calculators) တစ်​ခု​ကို တည်ဆောက်​ခဲ့​သည်။သို့သော်​လည်း​ယခု​ခေတ်​တွင် ၎င်း ကိရိယာDevice ကို လို့ခေါ်​ဆို​၍ မ​ရ​တော့​ပေ။အဘယ်​ကြောင့်​ဆို သော်​၎င်း​ကိရိယာ​သည် Programmed ပါဝင်​ခြင်း​မ​ရှိ​သော​ကြောင့်​ဖြစ်​သည်။ ၁​၈​၀​၁ ခု​နှစ် တွင် [[Joseph Marie Jacquard]] သည် Textile ယက်​ကန်း​စက်​ကို အခြေ​ခံ​ပြီး [[Punched Card|Punched Paper Cards]] Series ကို အသုံးပြု​ပြီး သူ့​၏ ယက်​ကန်း​စက်​ကို အလို​အလျှောက် အလုပ်​လုပ်​စေ​ခဲ့​သည်။ Jacquard ၏ ယက်​ကန်း​စက်​မှ ရလဒ်​သည် ဖြစ်ပေါ်​တိုးတက်​လာ​စေ​ဖို့​ရန် အကြောင်းရင်း တစ်​ရပ်​ဖြစ်​သည်။ ၁​၈​၃​၇ ခု​နှစ် တွင် [[Charles Babbage]] သည် Programmable Mechanical Computer ကို စတင် Design ရေး​ဆွဲ​ခဲ့​သည်။ [[Analytical Engine]] ဟု​အမည်ပေး​ခဲ့​သည်။ ၁​၈​၉​၀ ခု​နှစ် အရောက် တွင်US Census က Punched Card အတွက် ကြီးမား​သော Scale Automated Data Processing စွမ်း​ဆောင်​ရည်​ရှိ​အောင် [[Tabulating Machines]] ကို [[Herman Hollerith]] က Designed ရေး​ဆွဲ​ခဲ့​သည်။
အလယ်ခေတ်အရောက်တွင် ဥရောပ သင်္ချာ နှင့် အင်ဂျင်နီယာ ပညာရှင် Wilhelm Schickard က ၁၆၂၃ခုနှစ် တွင် ပထမဆုံး စက်ပစ္စည်းနှင့်တွက်ချက်သောဂဏန်းပေါင်းစက်(Calculators) တစ်ခုကို တည်ဆောက်ခဲ့သည်။သို့သော်လည်းယခုခေတ်တွင် ၎င်း ကိရိယာDevice ကို လို့ခေါ်ဆို၍ မရတော့ပေ။အဘယ်ကြောင့်ဆို သော်၎င်းကိရိယာသည် Programmed ပါဝင်ခြင်းမရှိသောကြောင့်ဖြစ်သည်။ ၁၈၀၁ ခုနှစ် တွင် [[Joseph Marie Jacquard]] သည် Textile ယက်ကန်းစက်ကို အခြေခံပြီး [[Punched Card|Punched Paper Cards]] Series ကို အသုံးပြုပြီး သူ့၏ ယက်ကန်းစက်ကို အလိုအလျှောက် အလုပ်လုပ်စေခဲ့သည်။ Jacquard ၏ ယက်ကန်းစက်မှ ရလဒ်သည် ဖြစ်ပေါ်တိုးတက်လာစေဖို့ရန် အကြောင်းရင်း တစ်ရပ်ဖြစ်သည်။ ၁၈၃၇ ခုနှစ် တွင် [[Charles Babbage]] သည် Programmable Mechanical Computer ကို စတင် Design ရေးဆွဲခဲ့သည်။ [[Analytical Engine]] ဟုအမည်ပေးခဲ့သည်။ ၁၈၉၀ ခုနှစ် အရောက် တွင်US Census က Punched Card အတွက် ကြီးမားသော Scale Automated Data Processing စွမ်းဆောင်ရည်ရှိအောင် [[Tabulating Machines]] ကို [[Herman Hollerith]] က Designed ရေးဆွဲခဲ့သည်။
[[Computing Tabulating Recording Corporation]] ( ယခုအခါ [[IBM]] ဖြစ်လာသည် ) က ထုတ်လုပ်ခဲ့ပါသည်။ ၁၉ ရာစု အကုန်အရောက် တွင် တွေဟာ အသုံးဝင်သောအရာတစ်ခုဖြစ်လာခဲ့သည်။ သည် လူတို့ အတွက်လိုအပ်နေပြီဆိုတာက သက်သေပြလိုက်ပြီးဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် [[Punched Card]], [[Boolean Algebra]] , [[The Vacuum Tube]] (Thermionic Value) နဲ့ Teleprinter တွေဟာ ပေါ်ပေါက်ခဲ့သောကြောင့်ဖြစ်သည်။၂၀ ရာစု အတောအတွင်းတွင် သိပ္ပံပညာသည် များစွာတိုးတက်မှုရှိလာခဲ့ပြီး [[Analog Computer]] များလည်း တိုးတက်ပေါ်ပေါက်ခဲ့သည်။ သို့သော်လည်း၎င်း များသည် Programmable မဖြစ်သည့်အပြင် အခုခေတ် Digital များ၏ တိကျသော စွမ်းဆောင်ရည် များလည်းပါဝင်ခြင်းမရှိသေးပေ။
[[Computing Tabulating Recording Corporation]] ( ယခု​အခါ [[IBM]] ဖြစ်လာ​သည် ) က ထုတ်​လုပ်​ခဲ့​ပါ​သည်။ ၁​၉ ရာ​စု အကုန်​အရောက် တွင် တွေ​ဟာ အသုံးဝင်​သော​အရာ​တစ်​ခု​ဖြစ်လာ​ခဲ့​သည်။ သည် လူ​တို့ အတွက်​လို​အပ်​နေ​ပြီ​ဆို​တာ​က သက်သေပြ​လိုက်​ပြီး​ဖြစ်​သည်။ အဘယ်​ကြောင့်​ဆိုသော် [[Punched Card]], [[Boolean Algebra]] , [[The Vacuum Tube]] (Thermionic Value) နဲ့ Teleprinter တွေ​ဟာ ပေါ်ပေါက်​ခဲ့​သော​ကြောင့်​ဖြစ်​သည်။၂​၀ ရာ​စု အတောအတွင်း​တွင် သိပ္ပံ​ပညာ​သည် များ​စွာ​တိုးတက်​မှု​ရှိ​လာ​ခဲ့​ပြီး [[Analog Computer]] များ​လည်း တိုး​တက်ပေါ်​ပေါက်​ခဲ့​သည်။ သို့သော်​လည်း​၎င်း များ​သည် Programmable မ​ဖြစ်​သည့်​အပြင် အခု​ခေတ် Digital များ​၏ တိ​ကျ​သော စွမ်း​ဆောင်​ရည် များ​လည်း​ပါဝင်​ခြင်း​မ​ရှိ​သေး​ပေ။


{{Early computer characteristics}}
{{Early computer characteristics}}


== ပရိုဂရမ် ==
== ပ​ရို​ဂ​ရမ် ==


ခေတ်ပေါ်ကွန်ပျူတာများနှင့် အခြားသော စက်ကိရိယာများ၏ အဓိကကွာခြားချက်မှာ ခေတ်ပေါ် ကွန်ပျူတာများ၏ ညွှန်ကြားချက်များကို လိုအပ်သလို ပြောင်းလဲပြင်ဆင် ရေးသားနိုင်ခြင်း ဖြစ်သည်။ တစ်နည်းအားဖြင့်ဆိုသော် (ခေတ်ပေါ်)ကွန်ပျူတာများကို စိတ်ကြိုက် ညွှန်ကြားချက်များ ပေး၍ လိုရာကို ဆောင်ရွက်စေနိုင်သည်။ ဗွန်နူမန် (von Neumann) တည်ဆောက်ပုံစနစ်ကို အခြေခံသော ခေတ်ပေါ်ကွန်ပျူတာ အများစုတွင် ကွန်ပျူတာ ညွှန်ကြားချက်များကို ကွန်ပျူတာ ဘာသာစကားများသုံး၍ ရေးသားခိုင်းစေနိုင်သည်။
ခေတ်ပေါ်​ကွန်ပျူတာ​များ​နှင့် အခြား​သော စက်​ကိရိယာ​များ​၏ အဓိက​ကွာ​ခြား​ချက်​မှာ ခေတ်ပေါ် ကွန်ပျူတာ​များ​၏ ညွှန်​ကြား​ချက်​များ​ကို လို​အပ်​သ​လို ပြောင်းလဲ​ပြင်ဆင် ရေးသား​နိုင်​ခြင်း ဖြစ်​သည်။ တစ်​နည်း​အား​ဖြင့်​ဆိုသော် (ခေတ်ပေါ်)ကွန်ပျူတာ​များ​ကို စိတ်​ကြိုက် ညွှန်​ကြား​ချက်​များ ပေး​၍ လို​ရာ​ကို ဆောင်ရွက်​စေ​နိုင်​သည်။ ဗွန်​နူ​မန် (von Neumann) တည်ဆောက်​ပုံ​စနစ်​ကို အခြေ​ခံ​သော ခေတ်ပေါ်​ကွန်ပျူတာ အများ​စု​တွင် ကွန်ပျူတာ ညွှန်​ကြား​ချက်​များ​ကို ကွန်ပျူတာ ဘာသာ​စကား​များ​သုံး​၍ ရေးသား​ခိုင်း​စေ​နိုင်​သည်။


ကွန်ပျူတာပရိုဂရမ်ဆိုသည်မှာ အမှန်တော့ ညွှန်ကြားချက်များ အစုအဝေးကြီးမျှသာ ဖြစ်သည်။ အချို့ပရိုဂရမ်များတွင် ညွှန်ကြားချက် အနည်းငယ်မျှသာ ပါဝင်နေနိုင်သလို ဘရောက်ဇာ၊ စာစီစာရိုက် စသည့်ကဲ့သို့ ပရိုဂရမ်များတွင် ညွှန်ကြားချက်ပေါင်း သန်းချီ၍လည်း ပါဝင်နေနိုင်သည်။ ခေတ်ပေါ်ကွန်ပျူတာများသည် စက္ကန့်ပိုင်းမျှအချိန်အတွင်း ညွှန်ကြားချက်များ သန်းထောင်ချီ၍ ဆောင်ရွက်တွက်ချက်နိုင်ပြီး အမှားအယွင်းလည်း မရှိသလောက်ပင် ဖြစ်သည်။ ညွှန်ကြားချက်များ သန်းပေါင်းများစွာ ပါရှိသည့် ပရိုဂရမ် အကြီးစားများကို ပရိုဂရမ်မာ မြောက်များစွာသုံး၍ နှစ်ပေါင်းများစွာ အချိန်ယူကာ ရေးသားရပြီး ဆောင်ရွက်ရမည့် လုပ်ငန်း၏ ရှုပ်ထွေးမှုပေါ် မူတည်၍ အမှားအယွင်းများ ပါစမြဲပင် ဖြစ်သည်။
ကွန်ပျူတာ​ပ​ရို​ဂ​ရမ်​ဆို​သည်မှာ အမှန်​တော့ ညွှန်​ကြား​ချက်​များ အစုအဝေး​ကြီး​မျှ​သာ ဖြစ်​သည်။ အချို့​ပ​ရို​ဂ​ရမ်​များ​တွင် ညွှန်​ကြား​ချက် အနည်းငယ်​မျှ​သာ ပါဝင်​နေ​နိုင်​သ​လို ဘ​ရောက်​ဇာ၊ စာစီ​စာ​ရိုက် စ​သည့်​ကဲ့သို့ ပ​ရို​ဂ​ရမ်​များ​တွင် ညွှန်​ကြား​ချက်​ပေါင်း သန်း​ချီ​၍​လည်း ပါဝင်​နေ​နိုင်​သည်။ ခေတ်ပေါ်​ကွန်ပျူတာ​များ​သည် စက္ကန့်​ပိုင်း​မျှ​အချိန်​အတွင်း ညွှန်​ကြား​ချက်​များ သန်း​ထောင်​ချီ​၍ ဆောင်ရွက်​တွက်ချက်​နိုင်​ပြီး အမှား​အယွင်း​လည်း မ​ရှိ​သ​လောက်​ပင် ဖြစ်​သည်။ ညွှန်​ကြား​ချက်​များ သန်း​ပေါင်း​များ​စွာ ပါရှိ​သည့် ပ​ရို​ဂ​ရမ် အကြီး​စား​များ​ကို ပ​ရို​ဂ​ရမ်​မာ မြောက်​များ​စွာ​သုံး​၍ နှစ်​ပေါင်း​များ​စွာ အချိန်​ယူ​ကာ ရေးသား​ရ​ပြီး ဆောင်ရွက်​ရ​မည့် လုပ်​ငန်း​၏ ရှုပ်​ထွေး​မှုပေါ် မူ​တည်​၍ အမှား​အယွင်း​များ ပါ​စ​မြဲ​ပင် ဖြစ်​သည်။


=== ပရိုဂရမ် တည်ဆောက်ပုံ ===
=== ပ​ရို​ဂ​ရမ် တည်ဆောက်​ပုံ ===
{{Main|ကွန်ပျူတာ ပ​ရို​ဂ​ရမ်|ကွန်ပျူတာ ပ​ရို​ဂ​ရမ်​ရေး​ခြင်း}}
{{Main|ကွန်ပျူတာ ပရိုဂရမ်|ကွန်ပျူတာ ပရိုဂရမ်ရေးခြင်း}}


ပုံမှန်အားဖြင့် ကွန်ပျူတာညွှန်ကြားချက်များမှာ ရိုးစင်းပါသည်။ ဥပမာ ဂဏန်းတစ်ခုနှင့် တစ်ခုပေါင်းခြင်း၊ အချက်အလက်များကို တစ်နေရာမှ တစ်နေရာသို့ ရွှေ့ခြင်း၊ ကွန်ပျူတာနှင့် တွဲဖက်သုံးကိရိယာများကို အချက်ပြခြင်းတို့ ဖြစ်သည်။ ထိုညွှန်ကြားချက်များကို ကွန်ပျူတာ၏ မှတ်ဉာဏ်မှ ဖတ်ယူပြီး ဖတ်ယူရရှိသည့် အစဉ်အတိုင်း အတွက်အချက် အစိတ်အပိုင်းက တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ သို့သော် အထူးညွှန်ကြားချက်များကို သုံး၍ ရှေ့သို့ ကျော်၍သော်လည်းကောင်း၊ နောက်သို့ ဆုတ်၍သော်လည်းကောင်း ပရိုဂရမ်အတွင်းရှိ အခြားနေရာများကို ဆောင်ရွက်ရန် ခိုင်းစေနိုင်သည်။ ထိုသို့သော် ညွှန်ကြားချက်များကို အခုန်ညွှန်ကြားချက်များဟု ခေါ်သည်။ အခုန်ညွှန်ကြားချက်များကို သူ့မတိုင်မှီအရင် ညွှန်ကြားချက်များကို တွက်ချက်ရရှိထားသည့် ရလဒ်များပေါ်မူတည်၍ အခြေအနေအလိုက် ခုန်ကျော်ရန်လည်း ခိုင်းစေနိုင်သည်။ 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.
ပုံ​မှန်​အား​ဖြင့် ကွန်ပျူတာ​ညွှန်​ကြား​ချက်​များ​မှာ ရိုး​စင်း​ပါ​သည်။ ဥပမာ ဂဏန်း​တစ်​ခု​နှင့် တစ်​ခု​ပေါင်း​ခြင်း၊ အချက်အလက်​များ​ကို တစ်​နေရာ​မှ တစ်​နေရာ​သို့ ရွှေ့​ခြင်း၊ ကွန်ပျူတာ​နှင့် တွဲ​ဖက်​သုံး​ကိရိယာ​များ​ကို အချက်​ပြ​ခြင်း​တို့ ဖြစ်​သည်။ ထို​ညွှန်​ကြား​ချက်​များ​ကို ကွန်ပျူတာ​၏ မှတ်ဉာဏ်​မှ ဖတ်​ယူ​ပြီး ဖတ်​ယူ​ရ​ရှိ​သည့် အစဉ်​အတိုင်း အတွက်​အချက် အစိတ်​အပိုင်း​က တစ်​ခု​ပြီး​တစ်​ခု ဆောင်ရွက်​သည်။ သို့သော် အထူး​ညွှန်​ကြား​ချက်​များ​ကို သုံး​၍ ရှေ့​သို့ ကျော်​၍သော်​လည်းကောင်း၊ နောက်သို့ ဆုတ်​၍သော်​လည်းကောင်း ပ​ရို​ဂ​ရမ်​အတွင်း​ရှိ အခြား​နေရာ​များ​ကို ဆောင်ရွက်​ရန် ခိုင်း​စေ​နိုင်​သည်။ ထို​သို့သော် ညွှန်​ကြား​ချက်​များ​ကို အခုန်​ညွှန်​ကြား​ချက်​များ​ဟု ခေါ်​သည်။ အခုန်​ညွှန်​ကြား​ချက်​များ​ကို သူ့​မ​တိုင်​မှီ​အရင် ညွှန်​ကြား​ချက်​များ​ကို တွက်ချက်​ရ​ရှိ​ထား​သည့် ရလဒ်​များပေါ်​မူ​တည်​၍ အခြေအနေ​အလိုက် ခုန်ကျော်​ရန်​လည်း ခိုင်း​စေ​နိုင်​သည်။ 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) ဟုခေါ်သည်။ ထိုသို့ ခုန်ပြန်ကျော်လွှားပြီး ညွှန်ကြားချက်များကို ထပ်ကာတလဲလဲ ဆောင်ရွက်နိုင်ခြင်းကြောင့် ကွန်ပျူတာများသည် လူသားများ၏ ထိန်းကွပ်မှုမပါပဲ အလိုအလျောက် လုပ်ငန်းဆောင်တာများကို ဆောင်ရွက်နိုင်ခြင်းဖြစ်သည်။
တစ်နည်းအားဖြင့် ပ​ရို​ဂ​ရမ်​များ​ကို တွက်ချက်​ဆောင်ရွက်​ခြင်း​သည် စာအုပ်​တစ်​အုပ်​ကို ဖတ်​သည်​နှင့် တူ​သည်။ ပုံ​မှန်​အား​ဖြင့် စာအုပ်​တွင်း​ရှိ စာလုံး၊ စာ​ကြောင်း​များ​ကို အစီ​အစဉ်​တ​ကျ ဖတ်​လေ့​ရှိ​ကြသော်​လည်း တစ်​ခါ​တစ်​ရံ​တွင် နောက်သို့ ပြန်လှန်​ဖတ်​ခြင်း၊ စိတ်​မ​ဝင်စား​သည့် စာ​ပိုဒ်​များ​ကို​လည်း ကျော်​ဖတ်​ခြင်း​များ​ကို ပြုလုပ်​တတ်​ကြ​ပါ​သည်။ ထို​နည်းတူ​စွာ ကွန်ပျူတာ​များ​သည်​လည်း တစ်​ခါ​တစ်​ရံ ညွှန်​ကြား​ချက်​များ​ကို အခြေ​အနေပေါ်​မူ​တည်​၍ ရှေ့ကျော်၊ နောက်ကျော် ထပ်​ကာ​တ​လဲ​လဲ ဆောင်ရွက်​တတ်​သည်။ ဤ​သည်​ကို ပ​ရို​ဂ​ရမ်​ဆောင်ရွက်​မှု စီး​ဆင်း​ပုံ (flow of control) ဟုခေါ်​သည်။ ထိုသို့ ခုန်​ပြန်ကျော်​လွှား​ပြီး ညွှန်​ကြား​ချက်​များ​ကို ထပ်​ကာ​တ​လဲ​လဲ ဆောင်ရွက်​နိုင်​ခြင်း​ကြောင့် ကွန်ပျူတာ​များ​သည် လူ​သား​များ​၏ ထိန်း​ကွပ်​မှု​မ​ပါ​ပဲ အလို​အလျောက် လုပ်​ငန်း​ဆောင်​တာ​များ​ကို ဆောင်ရွက်​နိုင်​ခြင်း​ဖြစ်​သည်။


ဥပမာအားဖြင့် လူတစ်ဦးသည် အိပ်ဆောင်ဂဏန်းတွက်စက်ကို သုံး၍ ဂဏန်းနှစ်ခု ပေါင်းခြင်းစသည့် အခြေခံဂဏန်းသင်္ချာများကို ခလုပ်တစ်ခု၊ နှစ်ခု နှိပ်၍ လွယ်လင့်တကူ တွက်ချက်နိုင်သည်။ သို့သော် ၁မှ ၁၀⁠၀၀ကြားတွင်းရှိ ဂဏန်းအားလုံးကို ဂဏန်းတွက်စက်ဖြင့် ပေါင်းလိုပါက ခလုပ်များကို အကြိမ်ပေါင်းများစွာနှိပ်ရန် လိုအပ်ပြီး ခလုပ်များ မှားယွင်းနှိပ်မိခြင်းများ ဖြစ်နိုင်သလို အချိန်ကုန်လူပင်ပန်းစရာပင် ဖြစ်ပါသည်။ အခြားတစ်ဖက်တွင်မူ ကွန်ပျူတာများကို ထိုသို့ပေါင်းရန်ကို ညွှန်ကြားချက် အနည်းငယ်မျှသုံး၍ လွယ်လင့်တကူ ခိုင်းစေနိုင်သည်။
ဥပမာ​အား​ဖြင့် လူ​တစ်​ဦး​သည် အိပ်​ဆောင်​ဂဏန်း​တွက်​စက်​ကို သုံး​၍ ဂဏန်း​နှစ်​ခု ပေါင်း​ခြင်း​စ​သည့် အခြေ​ခံ​ဂဏန်းသင်္ချာ​များ​ကို ခ​လုပ်​တစ်​ခု၊ နှစ်​ခု နှိပ်​၍ လွယ်လင့်တကူ တွက်ချက်​နိုင်​သည်။ သို့သော် ၁​မှ ၁​၀⁠၀​၀​ကြား​တွင်း​ရှိ ဂဏန်း​အားလုံး​ကို ဂဏန်း​တွက်​စက်​ဖြင့် ပေါင်း​လို​ပါ​က ခ​လုပ်​များ​ကို အကြိမ်​ပေါင်း​များ​စွာ​နှိပ်​ရန် လို​အပ်​ပြီး ခ​လုပ်​များ မှားယွင်း​နှိပ်​မိ​ခြင်း​များ ဖြစ်​နိုင်​သ​လို အချိန်ကုန်​လူ​ပင်ပန်း​စရာ​ပင် ဖြစ်​ပါ​သည်။ အခြား​တစ်ဖက်​တွင်​မူ ကွန်ပျူတာ​များ​ကို ထိုသို့​ပေါင်း​ရန်​ကို ညွှန်​ကြား​ချက် အနည်းငယ်​မျှ​သုံး​၍ လွယ်လင့်တကူ ခိုင်း​စေ​နိုင်​သည်။
{{-}}
{{-}}
mov #0, sum ; sum ကို သုည​လို့ သတ်​မှတ်​ပါ။
mov #0, sum ; sum ကို သုညလို့ သတ်မှတ်ပါ။
mov #1, num ; num ကို တစ်​လို့ သတ်​မှတ်​ပါ။
mov #1, num ; num ကို တစ်လို့ သတ်မှတ်ပါ။
loop: add num, sum ; num ကို sum ထဲ ပေါင်း​ထည့်​ပါ။
loop: add num, sum ; num ကို sum ထဲ ပေါင်းထည့်ပါ။
add #1, num ; num ကို တစ်​ပေါင်း​ပါ။
add #1, num ; num ကို တစ်ပေါင်းပါ။
cmp num, #1000 ; num နှင့် ၁​၀⁠၀​၀ ကို နှိုင်းယှဉ်​ပါ။
cmp num, #1000 ; num နှင့် ၁၀⁠၀၀ ကို နှိုင်းယှဉ်ပါ။
ble loop ; num <= 1000, 'loop' သို့ နောက်ပြန်​သွား​ပါ။
ble loop ; num <= 1000, 'loop' သို့ နောက်ပြန်သွားပါ။
halt ; ပ​ရို​ဂ​ရမ်​ကို အဆုံးသတ်​ပါ။
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>
အထက်ပါ ပရိုဂရမ်ကို စတင်လိုက်ပါက ကွန်ပျူတာက ထပ်တလဲလဲ ပေါင်းတွက်ရမည့် အပိုင်းကို လူအကူအညီ ကွပ်ကဲမှု မပါပဲ အလိုအလျောက် တွက်ချက်ပေးပါမည်။ ထိုတွက်ချက်မှုသည် အမှားအယွင်းကင်းသလို ခေတ်ပေါ်ကွန်ပျူတာအများစုသည် ထိုတွက်ချက်မှုကို တစ်စက္ကန့်၏ အပုံတစ်သန်းပုံ တစ်ပုံမျှအတွင်း ဆောင်ရွက်နိုင်ပါလိမ့်မည်။<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>


= အလုပ်လုပ်ပုံများ =
= အလုပ်​လုပ်​ပုံ​များ =


ယေဘုယျ​သုံး တွင် အဓိက လေး​မျိုး​မှာ [[ဂဏန်း သင်္ချာ နှင့် လော့​ဂျစ် အစိတ်​အပိုင်း]] (arithmetic and logic unit)၊ [[ထိန်း​ချူပ် အစိတ်​အပိုင်း]] (control unit)၊ [[မှတ်ဉာဏ်]](Memory Device) နှင့် အသွင်း အထုတ် ကိရိယာ (I/O) များ​တို့ ဖြစ်​သည်။ ၄င်း အစိတ်​အပိုင်း တို့​ကို [[ဝါ​ယာ​ကြိုး]]များ အတွဲ​လိုက်​ဖြစ်​သော [[ဘတ်စ်]] များ ဖြင့် တွယ်​ချိတ်​ထား​သည်။
ယေဘုယျသုံး တွင် အဓိက လေးမျိုးမှာ [[ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း]] (arithmetic and logic unit)၊ [[ထိန်းချူပ် အစိတ်အပိုင်း]] (control unit)၊ [[မှတ်ဉာဏ်]](Memory Device) နှင့် အသွင်း အထုတ် ကိရိယာ (I/O) များတို့ ဖြစ်သည်။ ၄င်း အစိတ်အပိုင်း တို့ကို [[ဝါယာကြိုး]]များ အတွဲလိုက်ဖြစ်သော [[ဘတ်စ်]] များ ဖြင့် တွယ်ချိတ်ထားသည်။


== ထိန်း​ချူပ် ဌာန ==
== ထိန်းချူပ် ဌာန ==
{{main | စီ​ပီ​ယူ}}
{{main | စီပီယူ}}
ထိန်း​ချူပ် ဌာန (control unit, often called a control system or CPU) သို့မဟုတ် စီ​ပီ​ယူ သည် ၏ အစိတ်​အပိုင်း မျိုး​စုံ​ကို လမ်း​ဆောင်​သည်။ ၄င်း​သည် [[ပ​ရို​ဂ​ရမ်]] ၏ [[ညွှန်​ကြား​ချက်]]များ​ကို တစ်​ကြောင်း​ခြင်း ဖတ်​ရှု ပြီး အဓိပ္ပါယ် ပြန်​သည်။ ထိန်း​ချူပ် ဌာန​သည် အဆင့်​မြင့်​သော များ​တွင် ၄င်း​ညွှန်​ကြား​ချက် အစဉ်​များ​ကို မြန်ဆန်​စေ​ရန်​အတွက် ခုံကျော် ဖတ်​ရှု ခြင်း လုပ်​လေ့​ရှိ​သည်။
ထိန်းချူပ် ဌာန (control unit, often called a control system or CPU) သို့မဟုတ် စီပီယူ သည် ၏ အစိတ်အပိုင်း မျိုးစုံကို လမ်းဆောင်သည်။ ၄င်းသည် [[ပရိုဂရမ်]] ၏ [[ညွှန်ကြားချက်]]များကို တစ်ကြောင်းခြင်း ဖတ်ရှု ပြီး အဓိပ္ပါယ် ပြန်သည်။ ထိန်းချူပ် ဌာနသည် အဆင့်မြင့်သော များတွင် ၄င်းညွှန်ကြားချက် အစဉ်များကို မြန်ဆန်စေရန်အတွက် ခုံကျော် ဖတ်ရှု ခြင်း လုပ်လေ့ရှိသည်။


ထိန်း​ချူပ်​ဌာန ၏ အဓိက မှာ [[ပ​ရို​ဂ​ရမ် ကောင်​တာ]]၊ နောက် ညွှန်​ကြား​ချက် ကို ဘယ်​နေရာ​မှ ဖက်​ရှု​မည် ကို မှတ်သား​ထား​သော အထူး သို​လှောင်​ရာ [[ရာ​ဂျစ်​စ​တာ]] တို့​ဖြစ်​သည်။
ထိန်းချူပ်ဌာန ၏ အဓိက မှာ [[ပရိုဂရမ် ကောင်တာ]]၊ နောက် ညွှန်ကြားချက် ကို ဘယ်နေရာမှ ဖက်ရှုမည် ကို မှတ်သားထားသော အထူး သိုလှောင်ရာ [[ရာဂျစ်စတာ]] တို့ဖြစ်သည်။


[[File:MIPS32_instruction.png‎ | thumb | 400px | [[MIPS architecture]] ၏ ညွှန်​ကြား​ချက် ကို ထိန်း​ချူပ် ဌာန​မှ ဖတ်​ရှု​ပုံ ဖော်​ပြ​သော ပုံ​ကြမ်း]]
[[File:MIPS32_instruction.png‎ | thumb | 400px | [[MIPS architecture]] ၏ ညွှန်ကြားချက် ကို ထိန်းချူပ် ဌာနမှ ဖတ်ရှုပုံ ဖော်ပြသော ပုံကြမ်း]]
ထိန်းချူပ် ဌာန၏ အလုပ်များမှာ နောက် စီပီယူများတွင် ကွာခြားနိုင်သော်လည်း အခြေခံမှာ အောက်ပါအတိုင်းဖြစ်သည်။
ထိန်း​ချူပ် ဌာန​၏ အလုပ်​များ​မှာ နောက် စီ​ပီ​ယူ​များ​တွင် ကွာ​ခြား​နိုင်သော်​လည်း အခြေ​ခံ​မှာ အောက်​ပါ​အတိုင်း​ဖြစ်​သည်။
# [[ပရိုဂရမ် ကောင်တာ]] ညွှန်ပြသော အခန်းမှ လာမည့် ညွှန်ကြားချက် (instruction) ကုဒ်ကို ဖတ်ပါ။
# [[ပ​ရို​ဂ​ရမ် ကောင်​တာ]] ညွှန်ပြ​သော အခန်း​မှ လာ​မည့် ညွှန်​ကြား​ချက် (instruction) ကုဒ်​ကို ဖတ်​ပါ။
# ၄င်း​ညွှန်​ကြား​ချက် ကုဒ်​ကို အဓိပ္ပါယ် ပြန်​ပြီး [[အမိန့်​ပေး​ချက်]] (command) များ သို့မဟုတ် အခြား​စက်​များ​၏ အဝင်​လှိုင်း (signal) များ အဖြစ် လုပ်ဆောင်​ပါ။
# ၄င်းညွှန်ကြားချက် ကုဒ်ကို အဓိပ္ပါယ် ပြန်ပြီး [[အမိန့်ပေးချက်]] (command) များ သို့မဟုတ် အခြားစက်များ၏ အဝင်လှိုင်း (signal) များ အဖြစ် လုပ်ဆောင်ပါ။
# ညွှန်ကြားချက် အသစ်ရေးရန် [[ပရိုဂရမ် ကောင်တာ]]ကို တစ်ခုမြင့်ပါ။
# ညွှန်​ကြား​ချက် အသစ်​ရေး​ရန် [[ပ​ရို​ဂ​ရမ် ကောင်​တာ]]ကို တစ်​ခု​မြင့်​ပါ။
# ညွှန်ကြားချက် ပါလျှင် မှတ်ဉာဏ်(Memory Device) အခန်းများမှ အချက်အလက်များကို ဖက်ပါ။ များသောအားဖြင့် ၄င်းဖက်ရှုရမည့် အခန်းနံပါတ်ကို ညွှန်ကြားချက် ကုဒ် ထဲမှာပင် သိမ်းဆည်းလေ့ရှိသည်။
# ညွှန်​ကြား​ချက် ပါ​လျှင် မှတ်ဉာဏ်(Memory Device) အခန်း​များ​မှ အချက်အလက်​များ​ကို ဖက်​ပါ။ များ​သော​အား​ဖြင့် ၄င်း​ဖက်​ရှု​ရ​မည့် အခန်း​နံပါတ်​ကို ညွှန်​ကြား​ချက် ကုဒ် ထဲ​မှာ​ပင် သိမ်းဆည်း​လေ့​ရှိ​သည်။
# ညွှန်ကြားချက် သည် [[အေအယ်လ်ယူ]] သို့မဟုတ် အထူးစက်များမှ လုပ်ဆောင်ချက်များ လိုအပ်လျှင် ၄င်းစက်အား မောင်းနှင်ပါ။
# ညွှန်​ကြား​ချက် သည် [[အေ​အယ်လ်​ယူ]] သို့မဟုတ် အထူး​စက်​များ​မှ လုပ်ဆောင်​ချက်​များ လို​အပ်​လျှင် ၄င်း​စက်​အား မောင်း​နှင်​ပါ။
# အေ​အယ်လ်​ယူ​မှ အဖြေ​ကို မှတ်ဉာဏ်(Memory Device)တွင်း​သို့ ပြန်လည်​သိမ်းဆည်း​ပါ သို့မဟုတ် [[ပ​ရင့်​တာ]] ကဲ့သို့ ပုံနှိပ်​စက် များ​တွင် ထုတ်​ပါ။
# အေအယ်လ်ယူမှ အဖြေကို မှတ်ဉာဏ်(Memory Device)တွင်းသို့ ပြန်လည်သိမ်းဆည်းပါ သို့မဟုတ် [[ပရင့်တာ]] ကဲ့သို့ ပုံနှိပ်စက် များတွင် ထုတ်ပါ။
# အစ အဆင့် (၁) သို့ ပြန်သွား​ပါ။
# အစ အဆင့် (၁) သို့ ပြန်သွားပါ။


== ဂဏန်း သင်္ချာ နှင့် လော့​ဂျစ် ဌာန ==
== ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဌာန ==


{{main | Arithmetic logic unit | အေယ်လ်​ယူ}}
{{main | Arithmetic logic unit | အေယ်လ်ယူ}}
ဂဏန်း သင်္ချာ နှင့် လော့​ဂျစ် အစိတ်​အပိုင်း (Arithmetic and logic unit, ALU) ခေါ် ''အေယ်လ်​ယူ'' သည် ဂဏန်း သင်္ချာ နှင့် လော့​ဂျစ် ဆောင်ရွက်​မှု အပိုင်း နှစ်​ခု ကို​လုပ်ဆောင်​သည်။
ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း (Arithmetic and logic unit, ALU) ခေါ် ''အေယ်လ်ယူ'' သည် ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဆောင်ရွက်မှု အပိုင်း နှစ်ခု ကိုလုပ်ဆောင်သည်။


ဂဏန်း သင်္ချာ လုပ်ဆောင်မှုတွင် ALU သည် အခြေခံများဖြစ်သည့် [[အပေါင်း]]၊ [[အနုတ်]]၊ [[အမြှောက်]]၊ [[အစား]]၊ [[တြီဂိုနိုမေတြီ]] [[ဖန်ရှင်]]များ နှင့် [[square root]] တို့ လုပ်ဆောင်သည်။ အချို့သော လုပ်ဆောင်မှု များမှာ [[ကိန်းပြည့်]]များတိုတာ လုပ်ဆောင်နိုင်ပြီး အချိုမှာ တိကျမှု ရော့ကျနိုင်သော်လည်း [[ဒဿမ ကိန်း]] (floating point) မှ [[ကိန်းစစ်]] (real number) များအထိ လုပ်ဆောင်နိုင်သည်။ သို့သော်၊ မည်သည့် မဆို မည်မျှပင် ခက်ခဲသော အလုပ်ဖြစ်ပါစေ တစ်ဆင့်ခြင်း လွယ်ကူသော အဆင့်များအဖြစ် ပြောင်းလည်းစေခြင်းဖြင့် စွမ်းဆောင်နိုင်သည်။ ထို့ကြောင့် မည်သည့် မဆို ဘယ်လို ဂဏန်းသင်္ချာပြဿနာမဆို ဖြေရှင်းနိုင်ပြီး ၄င်း၏ [[အေယ်လ်ယူ]] က တိုက်ရိုက် ဖြေရှင်၍မရပါက သွယ်ဝိုက်သောနည်းဖြင့် ဖြေရှင်းနိုင်သည်။
ဂဏန်း သင်္ချာ လုပ်ဆောင်​မှု​တွင် ALU သည် အခြေ​ခံ​များ​ဖြစ်​သည့် [[အပေါင်း]]၊ [[အနုတ်]]၊ [[အမြှောက်]]၊ [[အစား]]၊ [[တြီ​ဂို​နို​မေ​တြီ]] [[ဖန်​ရှင်]]များ နှင့် [[square root]] တို့ လုပ်ဆောင်​သည်။ အချို့​သော လုပ်ဆောင်​မှု များ​မှာ [[ကိန်း​ပြည့်]]များ​တို​တာ လုပ်ဆောင်​နိုင်​ပြီး အချို​မှာ တိ​ကျ​မှု ရော့​ကျ​နိုင်သော်​လည်း [[ဒ​ဿ​မ ကိန်း]] (floating point) မှ [[ကိန်း​စစ်]] (real number) များ​အထိ လုပ်ဆောင်​နိုင်​သည်။ သို့သော်၊ မည်​သည့် မ​ဆို မည်​မျှ​ပင် ခက်ခဲ​သော အလုပ်​ဖြစ်​ပါ​စေ တစ်​ဆင့်​ခြင်း လွယ်ကူ​သော အဆင့်​များ​အဖြစ် ပြောင်း​လည်း​စေ​ခြင်း​ဖြင့် စွမ်းဆောင်နိုင်​သည်။ ထို့​ကြောင့် မည်​သည့် မ​ဆို ဘယ်​လို ဂဏန်းသင်္ချာ​ပြဿနာ​မ​ဆို ဖြေ​ရှင်း​နိုင်​ပြီး ၄င်း​၏ [[အေယ်လ်​ယူ]] က တိုက်ရိုက် ဖြေ​ရှင်​၍​မ​ရ​ပါ​က သွယ်​ဝိုက်​သော​နည်း​ဖြင့် ဖြေ​ရှင်း​နိုင်​သည်။


အေယ်လ်​ယူ​သည် ဂဏန်း​များ​ကို နှိုင်းယှဉ်​ပြီး အဖြေ​ကို လော့​ဂျစ်​များ​ဖြစ်​သည့် [[Logic value|မှား​မှန် တန်ဖိုး]] အဖြစ်​လည်း အဖြေ​ထုတ်​နိုင်​သည်။ [[Boolean logic|လော့​ဂျစ် လုပ်ဆောင်​မှု​များ]]မှာ [[logical conjunction|AND]]၊ [[logical disjunction|OR]]၊ [[Exclusive disjunction|XOR]] နှင့် [[logical negation|NOT]] တို့​ဖြစ်​သည်။ ၄င်း​တို့​သည် ခတ်​ခဲသော် [[conditional statement|စဉ်းစား ဆင်ခြင်​မှု​များ]] နှင့် [[Boolean logic|လော့​ဂျစ် လုပ်ဆောင်​မှု​များ]] အတွက် အသုံးဝင်​သည်။
အေယ်လ်ယူသည် ဂဏန်းများကို နှိုင်းယှဉ်ပြီး အဖြေကို လော့ဂျစ်များဖြစ်သည့် [[Logic value|မှားမှန် တန်ဖိုး]] အဖြစ်လည်း အဖြေထုတ်နိုင်သည်။ [[Boolean logic|လော့ဂျစ် လုပ်ဆောင်မှုများ]]မှာ [[logical conjunction|AND]]၊ [[logical disjunction|OR]]၊ [[Exclusive disjunction|XOR]] နှင့် [[logical negation|NOT]] တို့ဖြစ်သည်။ ၄င်းတို့သည် ခတ်ခဲသော် [[conditional statement|စဉ်းစား ဆင်ခြင်မှုများ]] နှင့် [[Boolean logic|လော့ဂျစ် လုပ်ဆောင်မှုများ]] အတွက် အသုံးဝင်သည်။


[[စူပါ ကွန်ပျူတာ]]များသည် အေယ်လ်ယူ များစွာပါပြီး တစ်ပြိုင်နက်တည်း များစွာသော ညွှန်ကြားချက်များကို လုပ်ဆောင်နိုင်သည်။ ကွန်ပျူတာတွင် [[SIMD]] နှင့် [[MIMD]] များပါလျှင် [[Graphics processing unit|ဂျီပီယူ]] ခေါ် ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်မှုများတွင် အေယ်လ်ယူက [[Vector (geometric)|ဗက်တာ]] နှင့် [[Matrix (mathematics)|မတ်ထရစ်]] တို့အတွက် ဂဏန်းသင်္ချာနည်းအဖြစ် ကူညီလုပ်ဆောင်ပေးသည်။
[[စူ​ပါ ကွန်ပျူတာ]]များ​သည် အေယ်လ်​ယူ များ​စွာ​ပါ​ပြီး တစ်​ပြိုင်​နက်​တည်း များ​စွာ​သော ညွှန်​ကြား​ချက်​များ​ကို လုပ်ဆောင်​နိုင်​သည်။ ကွန်ပျူတာ​တွင် [[SIMD]] နှင့် [[MIMD]] များ​ပါ​လျှင် [[Graphics processing unit|ဂျီ​ပီ​ယူ]] ခေါ် ရုပ်​ပိုင်း​ဆိုင်​ရာ လုပ်ဆောင်​မှု​များ​တွင် အေယ်လ်​ယူ​က [[Vector (geometric)|ဗက်​တာ]] နှင့် [[Matrix (mathematics)|မတ်​ထ​ရစ်]] တို့​အတွက် ဂဏန်းသင်္ချာ​နည်း​အဖြစ် ကူညီ​လုပ်ဆောင်​ပေး​သည်။


== မှတ်ဉာဏ်(Memory Device) ==
== မှတ်ဉာဏ်(Memory Device) ==
{{main | ကွန်ပျူတာ မှတ်ဉာဏ်}}
{{main | ကွန်ပျူတာ မှတ်ဉာဏ်}}
[[File:Magnetic core memory.jpg | thumb | 250px | [[သံ​လိုက် ချက်မ မီ​မို​ရီ]] မှာ ၁​၉​၆​၀ များ​အထိ တစ်​ချိန်​က ကျော်​ကြား​ခဲ့​သော အဓိက ကွန်ပျူတာ မှတ်ဉာဏ်(Memory Device) ဖြစ်​ပြီး ယခု​ခေတ်​တွင် ဆီမီး​ကွန်​ဓာတ်​တာ မှတ်ဉာဏ် အဖြစ် ပြောင်း​သုံး​သည်]]
[[File:Magnetic core memory.jpg | thumb | 250px | [[သံလိုက် ချက်မ မီမိုရီ]] မှာ ၁၉၆၀ များအထိ တစ်ချိန်က ကျော်ကြားခဲ့သော အဓိက ကွန်ပျူတာ မှတ်ဉာဏ်(Memory Device) ဖြစ်ပြီး ယခုခေတ်တွင် ဆီမီးကွန်ဓာတ်တာ မှတ်ဉာဏ် အဖြစ် ပြောင်းသုံးသည်]]
ကွန်ပျူတာ မှတ်ဉာဏ် တစ်ခုကို ဂဏန်းများ ပို့သွင်း သို့မဟုတ် ဖတ်ရှုနိုင်သည့် အခန်းငယ် အတန်းများ အဖြစ် မြင်နိုင်သည်။ အခန်းတိုင်းတွင် လိပ်စာ (address) တစ်ခု ရှိပြီး ဂဏန်းတစ်လုံးသာ မှတ်ယူနိုင်သည်။ ကွန်ပျူတာကို အခန်းနံပါတ် ၁၃၅၇ တွင် ဂဏန်း ၁၂၃ ရေးပါဟု၄င်း၊ အခန်းနံပါတ် ၁၃၅၇ မှဂဏန်းကို အခန်းနံပါတ် ၂၄၅၆ မှဂဏန်း ဖြင့်ပေါင်း၍ အခန်းနံပါတ် ၁၅၉၅ သို့ ရေးပါဟု၄င်း ညွှန်ကြားနိုင်သည်။ ၄င်းဂဏန်းမှာ လက်တွေ့အားဖြင့် မည်သည့်ကိုမဆို ရည်ညွှန်းနိုင်သည်။ ဂဏန်းနံပါတ်များသာမက ကွန်ပျူတာ [[ညွှန်ကြားချက်]] များပင် ဂဏန်း အဖြစ် အလွယ်တစ်ကူ မှတ်ယူနိုင်သည်။ [[စီပီယူ]] အနေဖြင့် ၄င်းဂဏန်းမှာ မည်သည့် အကြောင်းဖြစ်သည်ဟု မခွဲခြားသောကြောင့် [[ပရိုဂရမ်]]ရေးသူ အနေဖြင့် မှတ်ဉာဏ် ကို ဂဏန်းအဖြစ်ထားပြီး စွယ်စုံ သုံးနိုင်သည်။
ကွန်ပျူတာ မှတ်ဉာဏ် တစ်​ခု​ကို ဂဏန်း​များ ပို့​သွင်း သို့မဟုတ် ဖတ်​ရှု​နိုင်​သည့် အခန်း​ငယ် အတန်း​များ အဖြစ် မြင်​နိုင်​သည်။ အခန်း​တိုင်း​တွင် လိပ်စာ (address) တစ်​ခု ရှိ​ပြီး ဂဏန်း​တစ်​လုံး​သာ မှတ်ယူ​နိုင်​သည်။ ကွန်ပျူတာ​ကို အခန်း​နံပါတ် ၁​၃​၅​၇ တွင် ဂဏန်း ၁​၂​၃ ရေး​ပါ​ဟု​၄င်း၊ အခန်း​နံပါတ် ၁​၃​၅​၇ မှ​ဂဏန်း​ကို အခန်း​နံပါတ် ၂​၄​၅​၆ မှ​ဂဏန်း ဖြင့်​ပေါင်း​၍ အခန်း​နံပါတ် ၁​၅​၉​၅ သို့ ရေး​ပါ​ဟု​၄င်း ညွှန်​ကြား​နိုင်​သည်။ ၄င်း​ဂဏန်း​မှာ လက်တွေ့​အား​ဖြင့် မည်​သည့်​ကို​မ​ဆို ရည်ညွှန်း​နိုင်​သည်။ ဂဏန်း​နံပါတ်​များ​သာ​မက ကွန်ပျူတာ [[ညွှန်​ကြား​ချက်]] များ​ပင် ဂဏန်း အဖြစ် အလွယ်​တစ်​ကူ မှတ်ယူ​နိုင်​သည်။ [[စီ​ပီ​ယူ]] အနေ​ဖြင့် ၄င်း​ဂဏန်း​မှာ မည်​သည့် အကြောင်း​ဖြစ်​သည်​ဟု မ​ခွဲ​ခြား​သော​ကြောင့် [[ပ​ရို​ဂ​ရမ်]]ရေး​သူ အနေ​ဖြင့် မှတ်ဉာဏ် ကို ဂဏန်း​အဖြစ်​ထား​ပြီး စွယ်စုံ သုံး​နိုင်​သည်။


ခေတ်ပေါ် ကွန်​ပျု​တာ အားလုံး​နီးပါး​သည်​မှတ်ဉာဏ်​အခန်း​များ​၏ ရှစ်​ခု​ပါ ဘစ် ([[bit]]) များ​ကို ဘိုက် ([[byte]]) ခေါ် အစု​အဖြစ် ထား​ရှိ​သိမ်း​ပေး​သည်။ ဘိုက် တစ်​ခု​သည် ၀​မှ ၂​၅​၅ အထိ​၎င်း သို့မဟုတ် -၁​၂​၈ မှ +၁​၂​၇ အထိ​၎င်း ၂​၅​၆ မျိုး မှတ်ယူ​နိုင်​သည်။ ပို​၍​ကြီး​သော [[ဂဏန်း]]များ ကို​မှတ်ယူ​ရန် နောက် ဘိုက် တစ်​ခု ထပ်​ယူ​နိုင်​သည်။ များ​သော​အား​ဖြင့် ၂ ခု၊ ၄ ခု သို့မဟုတ် ၈ ခု တို့​ဖြစ်​ကြ​သည်။ အနှုတ် ဂဏန်း​များ​ကို မှတ်ယူ​ရန် [[Two's complement]] သင်္ကေတ ကို အသုံးပြု​ရန်လို​အပ်​သည်။ ကွန်​ပျု​တာ တစ်​ခု​သည် မည်​သည့် အကြောင်းအရာ​မ​ဆို [[ကိန်း]] ဖြစ်​သာဖေါ်​ပြ​၍​ရ​ပါ​က သိမ်း​ပေး​ထား​နိုင်​သည်။ ခေတ်ပေါ် ကွန်​ပျု​တာ​များ​သည် မီ​မို​ရီ ဘိုက်​ပေါင်း ဘီ​လီ​ရမ် သို့မဟုတ် ထ​ရီ​လီ​ရမ် အထိ​ပင် ရှိ​ကြ​သည်။
ခေတ်ပေါ် ကွန်ပျုတာ အားလုံးနီးပါးသည်မှတ်ဉာဏ်အခန်းများ၏ ရှစ်ခုပါ ဘစ် ([[bit]]) များကို ဘိုက် ([[byte]]) ခေါ် အစုအဖြစ် ထားရှိသိမ်းပေးသည်။ ဘိုက် တစ်ခုသည် ၀မှ ၂၅၅ အထိ၎င်း သို့မဟုတ် -၁၂၈ မှ +၁၂၇ အထိ၎င်း ၂၅၆ မျိုး မှတ်ယူနိုင်သည်။ ပို၍ကြီးသော [[ဂဏန်း]]များ ကိုမှတ်ယူရန် နောက် ဘိုက် တစ်ခု ထပ်ယူနိုင်သည်။ များသောအားဖြင့် ၂ ခု၊ ၄ ခု သို့မဟုတ် ၈ ခု တို့ဖြစ်ကြသည်။ အနှုတ် ဂဏန်းများကို မှတ်ယူရန် [[Two's complement]] သင်္ကေတ ကို အသုံးပြုရန်လိုအပ်သည်။ ကွန်ပျုတာ တစ်ခုသည် မည်သည့် အကြောင်းအရာမဆို [[ကိန်း]] ဖြစ်သာဖေါ်ပြ၍ရပါက သိမ်းပေးထားနိုင်သည်။ ခေတ်ပေါ် ကွန်ပျုတာများသည် မီမိုရီ ဘိုက်ပေါင်း ဘီလီရမ် သို့မဟုတ် ထရီလီရမ် အထိပင် ရှိကြသည်။


စီပီယူတွင် အထူးပြုလုပ်ထားသော ပင်မ မီမိုရီထက် များစွာ လျှင်မြန်စွာ ရေးဖတ်နိုင်သော [[Processor register|ရီဂျစ်စတာ မီမိုရီ]] ပါရှိသည်။ များသောအားဖြင့် စီပီယူ အမျိုးအစားပေါ် မှုတည်၍ ရီဂျစ်စတာ မီမိုရီပေါင်း တစ်ရာမှ နှစ်ရာ အထိ ပါရှိသည်။ ရီဂျစ်စတာ မီမိုရီကို မကြာခဏ အသုံးပြုသော ဒေတာ များကို ပင်မ မီမိုရီ သုံးရန်မလိုပဲ ဖတ်ရှုရန် သုံးသည်။
စီ​ပီ​ယူ​တွင် အထူး​ပြုလုပ်​ထား​သော ပင်မ မီ​မို​ရီ​ထက် များ​စွာ လျှင်​မြန်​စွာ ရေး​ဖတ်​နိုင်​သော [[Processor register|ရီ​ဂျစ်​စ​တာ မီ​မို​ရီ]] ပါရှိ​သည်။ များ​သော​အား​ဖြင့် စီ​ပီ​ယူ အမျိုး​အစားပေါ် မှု​တည်​၍ ရီ​ဂျစ်​စ​တာ မီ​မို​ရီ​ပေါင်း တစ်​ရာ​မှ နှစ်​ရာ အထိ ပါရှိ​သည်။ ရီ​ဂျစ်​စ​တာ မီ​မို​ရီ​ကို မ​ကြာ​ခဏ အသုံးပြု​သော ဒေ​တာ များ​ကို ပင်မ မီ​မို​ရီ သုံး​ရန်​မ​လို​ပဲ ဖတ်​ရှု​ရန် သုံး​သည်။


ကွန်ပျုတာ မီမိုရီတွင် အဓိက နှစ်မျိုးတို့မှာ [[random access memory]] ခေါ် RAM နှင့် [[read-only memory]] ခေါ် ROM တို့ ဖြစ်ကြသည်။ RAM ကို စီပီယူ အနေဖြင့် လိုအပ်သလို ရေးနိုင်ဖတ်နိုင်သော်လည်း ROM သည် အပြီးရေးသွင်းထားပြီး စီပီယူ အနေဖြင့် မရေးသားနိုင်ပဲ ဖတ်ရုံသာ ဖတ်နိုင်သည်။ များသောအားဖြင့် RAM ရှိ မှတ်သားထားသည်များကို ကွန်ပျုတာပိတ်သည်နှင့် ပျက်သွားသည်။ ROM ရှိ မှတ်သားထားသည်များမှာ ဆက်လက်ကျန်ရှိသည်။ ကွန်ပျုတာတွင် ROM သည် [[BIOS]] ခေါ် အထူး ပရိုဂရမ် မှ [[စက်မောင်းစနစ်]] ကို [[hard disk drive]] မှ RAM ပေါ်သို့ တင်ရန် ကွန်ပျုတာဖွင့်တိုင်း သုံးသည်။
ကွန်​ပျု​တာ မီ​မို​ရီ​တွင် အဓိက နှစ်​မျိုး​တို့​မှာ [[random access memory]] ခေါ် RAM နှင့် [[read-only memory]] ခေါ် ROM တို့ ဖြစ်​ကြ​သည်။ RAM ကို စီ​ပီ​ယူ အနေ​ဖြင့် လို​အပ်​သ​လို ရေး​နိုင်​ဖတ်​နိုင်သော်​လည်း ROM သည် အပြီး​ရေး​သွင်း​ထား​ပြီး စီ​ပီ​ယူ အနေ​ဖြင့် မ​ရေးသား​နိုင်​ပဲ ဖတ်​ရုံ​သာ ဖတ်​နိုင်​သည်။ များ​သော​အား​ဖြင့် RAM ရှိ မှတ်သား​ထား​သည်​များ​ကို ကွန်​ပျု​တာ​ပိတ်​သည်​နှင့် ပျက်​သွား​သည်။ ROM ရှိ မှတ်သား​ထား​သည်​များ​မှာ ဆက်လက်​ကျန်​ရှိ​သည်။ ကွန်​ပျု​တာ​တွင် ROM သည် [[BIOS]] ခေါ် အထူး ပ​ရို​ဂ​ရမ် မှ [[စက်​မောင်း​စနစ်]] ကို [[hard disk drive]] မှ RAM ပေါ်​သို့ တင်​ရန် ကွန်​ပျု​တာ​ဖွင့်​တိုင်း သုံး​သည်။


== အသွင်း အထုတ် ကိရိယာ​များ ==
== အသွင်း အထုတ် ကိရိယာများ ==


I/O ခေါ် အသွင်း အထုတ် ကိရိယာ​များ သည် ပြင်​ပ အရာ​များ​နှင့် ကွန်ပျူတာ တို့ သ​တင်း အချက်အလက် အပြန်​အလှန် သယ်ယူ​ရာ အစိတ်​အပိုင်း ဖြစ်​သည်။ ကွန်ပျူတာ​၏ အသွင်း အထုတ် ပြု​ရာ ကိရိယာ ကို [[peripheral]] ဟု ခေါ်​သည်။ [[တစ်​ယောက်​သုံး ကွန်ပျူတာ]] တစ်​ခု​တွင် အသွင်း ကိရိယာ​များ ဖြစ်​သော [[ကီး​ဘုတ်]]၊ [[မောက်စ်]] နှင့် အထုတ် ကိရိယာ​များ ဖြစ်​သော [[မော်​နီ​တာ]]၊ [[ပ​ရင်​တာ]] တို့ ထုံးစံ​အား​ဖြင့် ပါ​သည်။
I/O ခေါ် အသွင်း အထုတ် ကိရိယာများ သည် ပြင်ပ အရာများနှင့် ကွန်ပျူတာ တို့ သတင်း အချက်အလက် အပြန်အလှန် သယ်ယူရာ အစိတ်အပိုင်း ဖြစ်သည်။ ကွန်ပျူတာ၏ အသွင်း အထုတ် ပြုရာ ကိရိယာ ကို [[peripheral]] ဟု ခေါ်သည်။ [[တစ်ယောက်သုံး ကွန်ပျူတာ]] တစ်ခုတွင် အသွင်း ကိရိယာများ ဖြစ်သော [[ကီးဘုတ်]]၊ [[မောက်စ်]] နှင့် အထုတ် ကိရိယာများ ဖြစ်သော [[မော်နီတာ]]၊ [[ပရင်တာ]] တို့ ထုံးစံအားဖြင့် ပါသည်။


= အခြား အကြောင်းအရာ​များ =
= အခြား အကြောင်းအရာများ =
== ဟာဒ်​ဝဲ ==
== ဟာဒ်ဝဲ ==
Computer ရဲ့ထိတွေ့ကိုင်တွယ်နိုင်သော အစိတ်အပိုင်းများသည် [[Computer Hardware]] များဖြစ်သည်။ သို့မဟုတ် လျှပ်စစ်ပတ်လမ်းတွေကို အနုစိတ် ဖန်တီးပြီးတော့ Micro Chip Integrated Circuit တွေအဖြစ် ပေါင်းစပ်ဖွဲ့စည်းအလုပ်လုပ်စေတဲ့ (I/O Device) တွေကို Hardware ဟုခေါ်ဆိုသည်။
Computer ရဲ့​ထိ​တွေ့​ကိုင်တွယ်​နိုင်​သော အစိတ်​အပိုင်း​များ​သည် [[Computer Hardware]] များ​ဖြစ်​သည်။ သို့မဟုတ် လျှပ်စစ်​ပတ်​လမ်း​တွေ​ကို အနု​စိတ် ဖန်တီး​ပြီး​တော့ Micro Chip Integrated Circuit တွေ​အဖြစ် ပေါင်း​စပ်​ဖွဲ့​စည်း​အလုပ်​လုပ်​စေ​တဲ့ (I/O Device) တွေ​ကို Hardware ဟုခေါ်​ဆို​သည်။


== ဆော့ဖ်ဝဲ ==
== ဆော့ဖ်​ဝဲ ==
Computer Hardware များကိုအလုပ် ခိုင်းစေနိုင်ရန်အတွက် စီစဉ်ဖန်တီးထားသော ညွှန်ကြားချက်များ (Instructions) အမိန့်များ (Commands) သည် [[Computer Software]] များဖြစ်ကြသည်။ ဥပမာတစ်ခုပြရလျှင် စီဒီချပ်သည် အမာထည်(Hardware) ဖြစ်ပြီး၊ ယင်းစီဒီထဲရှိ သီချင်းများ၊ ရုပ်ရှင်များသည် အပျော့ထည်(Software) များဖြစ်ကြသည်။
Computer Hardware များ​ကို​အလုပ် ခိုင်း​စေ​နိုင်​ရန်​အတွက် စီစဉ်​ဖန်တီး​ထား​သော ညွှန်​ကြား​ချက်​များ (Instructions) အမိန့်​များ (Commands) သည် [[Computer Software]] များ​ဖြစ်​ကြ​သည်။ ဥပမာ​တစ်​ခု​ပြ​ရ​လျှင် စီ​ဒီ​ချပ်​သည် အမာ​ထည်(Hardware) ဖြစ်​ပြီး၊ ယင်း​စီ​ဒီ​ထဲ​ရှိ သီချင်း​များ၊ ရုပ်​ရှင်​များ​သည် အပျော့​ထည်(Software) များ​ဖြစ်​ကြ​သည်။


{| class="wikitable"
{| class="wikitable"
စာကြောင်း ၁၄၇ - စာကြောင်း ၁၄၇ -
| Misc || [[Artificial intelligence]], [[Antivirus software]], [[Malware scanner]], [[Installer]]/[[Package management system]]s, [[File manager]]
| Misc || [[Artificial intelligence]], [[Antivirus software]], [[Malware scanner]], [[Installer]]/[[Package management system]]s, [[File manager]]
|}
|}
[[File:computer_parts.jpg| thumb| 300px | ကွန်ပျူတာ​၏ အစိတ်​အပိုင်း​များ]]
[[File:computer_parts.jpg| thumb| 300px | ကွန်ပျူတာ၏ အစိတ်အပိုင်းများ]]


=== Firmware ===
=== Firmware ===
[[File:layer.jpg|thumb|200px|Hardware, Firmware, Software]]
[[File:layer.jpg|thumb|200px|Hardware, Firmware, Software]]
[[Firmware]] သည် ပထမ​ဦးစွာ Hardware များ​ကို သက်ဝင်​လှုပ်ရှား​စေ​ပြီး Software များ​က​အလုပ်​စေခိုင်း​စေ​နိုင်​ရန် ကြား​ခံ ဆောင်ရွက်​ပေး​သော ညွှန်​ကြား​ချက်​များ (Instructions) ဖြစ်​သည်။ Firmware သည် Hardware နှင့် Software ကြား​မှ [[Interface]] တစ်​ခု​ဖြစ်​သည်။ <br />
[[Firmware]] သည် ပထမဦးစွာ Hardware များကို သက်ဝင်လှုပ်ရှားစေပြီး Software များကအလုပ်စေခိုင်းစေနိုင်ရန် ကြားခံ ဆောင်ရွက်ပေးသော ညွှန်ကြားချက်များ (Instructions) ဖြစ်သည်။ Firmware သည် Hardware နှင့် Software ကြားမှ [[Interface]] တစ်ခုဖြစ်သည်။ <br />


== ကွန်ပျူတာများ ဘယ်လိုအလုပ် လုပ်သနည်း ==
== ကွန်ပျူတာ​များ ဘယ်​လို​အလုပ် လုပ်​သ​နည်း ==


အခြေ​ခံ​အား​ဖြင့် ကွန်ပျူတာ​မှာ the arithmetic and logic unit (ALU), the control unit, [[the memory]], and the input and output devices (collectively termed I/O) ဆိုပြီး အပိုင်း​လေး​ပိုင်း ပါဝင်​ပါ​တယ်။အဲ​ဒီ အပိုင်း​များ​ကို​တော့ wire များ​ကို​စုစည်း​ပြီး​ပြုလုပ်​ထား​တဲ့ Busses များ​နဲ့​ဆက်​သွယ်​ထား​ပါ​တယ်။
အခြေခံအားဖြင့် ကွန်ပျူတာမှာ the arithmetic and logic unit (ALU), the control unit, [[the memory]], and the input and output devices (collectively termed I/O) ဆိုပြီး အပိုင်းလေးပိုင်း ပါဝင်ပါတယ်။အဲဒီ အပိုင်းများကိုတော့ wire များကိုစုစည်းပြီးပြုလုပ်ထားတဲ့ Busses များနဲ့ဆက်သွယ်ထားပါတယ်။


== ကျမ်းကိုးစာရင်းများ ==
== ကျမ်း​ကိုး​စာရင်း​များ ==
{{reflist}}
{{reflist}}
{{DEFAULTSORT:က}}
{{DEFAULTSORT:က}}

၀၉:၅၃၊ ၂၁ ဇွန် ၂၀၁၅ ရက်နေ့က မူ

နာဆာမှ ကိုလံဘီယာ စူပါကွန်ပျူတာ

ကွန်ပျူတာဆိုသည်မှာ ထည့်သွင်းထားသော ပရိုဂရမ် သို့မဟုတ် အစီစဉ်တကျ ညွှန်ကြားချက်များအတိုင်း အချက်အလက် များကို စီမံခန့်ခွဲပေးသော ကိရိယာဖြစ်သည်။ ကွန်ပျူတာများသည် ညွှန်ကြားချက်များပေါ် မူတည်၍ ဂဏန်းသင်္ချာနှင့် ယုတ္တိဆိုင်ရာ တွက်ချက်မှုများကို အစီအစဉ်တကျ အလိုအလျောက် စွမ်းဆောင်နိုင်သည်။

ကွန်ပျူတာတစ်ခုတွင် အခြေခံအားဖြင့် အချက်အလက်များကို သိမ်းဆည်းရန် မှတ်ဉာဏ်၊ ဂဏန်းသင်္ချာနှင့် ယုတ္တိဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်သော အစိတ်အပိုင်းတစ်ခုနှင့် ထိုသို့ တွက်ချက်မှုများကို မှတ်ဉာဏ်အတွင်း သိမ်းဆည်းထားသော ညွှန်ကြားချက်များအတိုင်း စီစဉ်ကွပ်ကဲပေးသော အစိတ်အပိုင်းတစ်ခု ပါဝင်သည်။ ကွန်ပျူတာတွင်းသို့ အချက်အလက်များ ထည့်သွင်းရန်နှင့် ကွန်ပျူတာမှ တွက်ချက်ပေးလိုက်သော အချက်အလက်များကို သိမ်းဆည်းရန် ကွန်ပျူတာ အရံပစ္စည်းများကို အသုံးပြုသည်။

ကွန်ပျူတာ၏ အတွက်အချက် အစိတ်အပိုင်းသည် အချက်အလက်များကို ဖတ်ယူ၊ တွက်ချက်၊ သိမ်းဆည်းရန် ညွှန်ကြားချက်များကို အစီစဉ်တကျ တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ အခြေအနေထိန်း ညွှန်ကြားချက်များက ထိုညွှန်ကြားချက်များ၏ ဆောင်ရွက်ပုံ အစီအစဉ်ကို ပြောင်းလဲနိုင်သည်။

ပထမဆုံးသော အီလက်ထရောနစ် ကွန်ပျူတာများသည် ၂၀ ရာစု အလယ်ပိုင်းက စတင်ပေါ်ထွန်းခဲ့သည်။ ထိုရှေးဦးကွန်ပျူတာများမှာ အခန်း တစ်ခန်းစာမျှ ကြီးမားပြီး ခေတ်ပေါ်ပီစီ (တကိုယ်ရေ ကွန်ပျူတာ) ရာပေါင်းများစွာနှင့် ညီမျှသော စွမ်းအားကို သုံးစွဲခဲ့သည်။

ယနေ့ခေတ်ပေါ် ကွန်ပျူတာများမှာမူ ထိုရှေးဦး ကွန်ပျူတာများနှင့် နှိုင်းယှဉ်ပါက အဆ သန်းပေါင်းများစွာ ပို၍ တွက်ချက်စွမ်းဆောင်နိုင်သည့်အပြင် အရွယ်အစား ပမာဏလည်း အဆပေါင်းများစွာ သေးငယ်လှသည်။ အချို့ ကွန်ပျူတာများသည် အိပ်ဆောင် သယ်ယူသွားနိုင်လောက်အောက် သေးငယ်ပြီး အားဖြည့်သွင်းရာ၌လည်း ဓာတ်ခဲအသေးစားများကိုပင် အသုံးပြုနိုင်သည်။ နည်းပညာခေတ်၏ ပြယုဂ်များပင်ဖြစ်သည့် သဏ္ဍန်အမျိုးမျိုးရှိ တကိုယ်ရေသုံး ကွန်ပျူတာ(ပီစီ)များကို လူအများစုက ကွန်ပျူတာဟု ခြုံငုံ မှတ်ယူခေါ်ဝေါ်နေသော်လည်း ကွန်ပျူတာများကို အိပ်ဆောင်သီချင်းဖွင့်စက်များမှအစ တိုက်ခိုက်ရေးလေယာဉ်များအဆုံး၊ ကစားစရာအရုပ်များမှအစ ရိုဘော့စက်ရုပ်များအဆုံး ထည့်သွင်းမြုပ်နှံထားသည်ကို တွေ့ရသည်။

သမိုင်း

Jacquard loom ပထမဆုံး programmable device လို့ဆိုလို့ရပါတယ်.
အကျယ်တဝင့် ဖော်ပြထားသောဆောင်းပါး - သမိုင်း

ရှေးယခင်က ကို သတ်မှတ်ဖို့ ရန်အလွန်တရာမှ ခက်ခဲခဲ့သည်။ယခုအချိန်တွင်မူကို အမည်အမျိုးမျိုး ခေါ်ဝေါ်သတ်မှတ်ခဲ့ကြပြီဖြစ်သည်။ ယခုအချိန်တွင်မူကိရိယာများ (Devices) တော်တော်များ⁠များကို တပ်ပြီးခေါ်နေကြပြီဖြစ်သည်။အစောဆုံး သည် တွက်ချက်မှုပိုင်းကို ပေသီး(Abacus)များမှ စခဲ့သည်။ ပေသီး(Abacus)သည် ပထမဆုံးဂဏန်းပေါင်းစက် ပင်ဖြစ်သည်။ ပေသီးကို တရုတ်ပြည်တွင် စတင်အသုံးပြုခဲ့သည်။

အလယ်ခေတ်အရောက်တွင် ဥရောပ သင်္ချာ နှင့် အင်ဂျင်နီယာ ပညာရှင် Wilhelm Schickard က ၁၆၂၃ခုနှစ် တွင် ပထမဆုံး စက်ပစ္စည်းနှင့်တွက်ချက်သောဂဏန်းပေါင်းစက်(Calculators) တစ်ခုကို တည်ဆောက်ခဲ့သည်။သို့သော်လည်းယခုခေတ်တွင် ၎င်း ကိရိယာDevice ကို လို့ခေါ်ဆို၍ မရတော့ပေ။အဘယ်ကြောင့်ဆို သော်၎င်းကိရိယာသည် Programmed ပါဝင်ခြင်းမရှိသောကြောင့်ဖြစ်သည်။ ၁၈၀၁ ခုနှစ် တွင် Joseph Marie Jacquard သည် Textile ယက်ကန်းစက်ကို အခြေခံပြီး Punched Paper Cards Series ကို အသုံးပြုပြီး သူ့၏ ယက်ကန်းစက်ကို အလိုအလျှောက် အလုပ်လုပ်စေခဲ့သည်။ Jacquard ၏ ယက်ကန်းစက်မှ ရလဒ်သည် ဖြစ်ပေါ်တိုးတက်လာစေဖို့ရန် အကြောင်းရင်း တစ်ရပ်ဖြစ်သည်။ ၁၈၃၇ ခုနှစ် တွင် Charles Babbage သည် Programmable Mechanical Computer ကို စတင် Design ရေးဆွဲခဲ့သည်။ Analytical Engine ဟုအမည်ပေးခဲ့သည်။ ၁၈၉၀ ခုနှစ် အရောက် တွင်US Census က Punched Card အတွက် ကြီးမားသော Scale Automated Data Processing စွမ်းဆောင်ရည်ရှိအောင် Tabulating Machines ကို Herman Hollerith က Designed ရေးဆွဲခဲ့သည်။ Computing Tabulating Recording Corporation ( ယခုအခါ IBM ဖြစ်လာသည် ) က ထုတ်လုပ်ခဲ့ပါသည်။ ၁၉ ရာစု အကုန်အရောက် တွင် တွေဟာ အသုံးဝင်သောအရာတစ်ခုဖြစ်လာခဲ့သည်။ သည် လူတို့ အတွက်လိုအပ်နေပြီဆိုတာက သက်သေပြလိုက်ပြီးဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် Punched Card, Boolean Algebra , The Vacuum Tube (Thermionic Value) နဲ့ Teleprinter တွေဟာ ပေါ်ပေါက်ခဲ့သောကြောင့်ဖြစ်သည်။၂၀ ရာစု အတောအတွင်းတွင် သိပ္ပံပညာသည် များစွာတိုးတက်မှုရှိလာခဲ့ပြီး Analog Computer များလည်း တိုးတက်ပေါ်ပေါက်ခဲ့သည်။ သို့သော်လည်း၎င်း များသည် Programmable မဖြစ်သည့်အပြင် အခုခေတ် Digital များ၏ တိကျသော စွမ်းဆောင်ရည် များလည်းပါဝင်ခြင်းမရှိသေးပေ။

တမ်းပလိတ်:Early computer characteristics

ပရိုဂရမ်

ခေတ်ပေါ်ကွန်ပျူတာများနှင့် အခြားသော စက်ကိရိယာများ၏ အဓိကကွာခြားချက်မှာ ခေတ်ပေါ် ကွန်ပျူတာများ၏ ညွှန်ကြားချက်များကို လိုအပ်သလို ပြောင်းလဲပြင်ဆင် ရေးသားနိုင်ခြင်း ဖြစ်သည်။ တစ်နည်းအားဖြင့်ဆိုသော် (ခေတ်ပေါ်)ကွန်ပျူတာများကို စိတ်ကြိုက် ညွှန်ကြားချက်များ ပေး၍ လိုရာကို ဆောင်ရွက်စေနိုင်သည်။ ဗွန်နူမန် (von Neumann) တည်ဆောက်ပုံစနစ်ကို အခြေခံသော ခေတ်ပေါ်ကွန်ပျူတာ အများစုတွင် ကွန်ပျူတာ ညွှန်ကြားချက်များကို ကွန်ပျူတာ ဘာသာစကားများသုံး၍ ရေးသားခိုင်းစေနိုင်သည်။

ကွန်ပျူတာပရိုဂရမ်ဆိုသည်မှာ အမှန်တော့ ညွှန်ကြားချက်များ အစုအဝေးကြီးမျှသာ ဖြစ်သည်။ အချို့ပရိုဂရမ်များတွင် ညွှန်ကြားချက် အနည်းငယ်မျှသာ ပါဝင်နေနိုင်သလို ဘရောက်ဇာ၊ စာစီစာရိုက် စသည့်ကဲ့သို့ ပရိုဂရမ်များတွင် ညွှန်ကြားချက်ပေါင်း သန်းချီ၍လည်း ပါဝင်နေနိုင်သည်။ ခေတ်ပေါ်ကွန်ပျူတာများသည် စက္ကန့်ပိုင်းမျှအချိန်အတွင်း ညွှန်ကြားချက်များ သန်းထောင်ချီ၍ ဆောင်ရွက်တွက်ချက်နိုင်ပြီး အမှားအယွင်းလည်း မရှိသလောက်ပင် ဖြစ်သည်။ ညွှန်ကြားချက်များ သန်းပေါင်းများစွာ ပါရှိသည့် ပရိုဂရမ် အကြီးစားများကို ပရိုဂရမ်မာ မြောက်များစွာသုံး၍ နှစ်ပေါင်းများစွာ အချိန်ယူကာ ရေးသားရပြီး ဆောင်ရွက်ရမည့် လုပ်ငန်း၏ ရှုပ်ထွေးမှုပေါ် မူတည်၍ အမှားအယွင်းများ ပါစမြဲပင် ဖြစ်သည်။

ပရိုဂရမ် တည်ဆောက်ပုံ

အကျယ်တဝင့် ဖော်ပြထားသောဆောင်းပါးများ - ကွန်ပျူတာ ပရိုဂရမ် နှင့် ကွန်ပျူတာ ပရိုဂရမ်ရေးခြင်း

ပုံမှန်အားဖြင့် ကွန်ပျူတာညွှန်ကြားချက်များမှာ ရိုးစင်းပါသည်။ ဥပမာ ဂဏန်းတစ်ခုနှင့် တစ်ခုပေါင်းခြင်း၊ အချက်အလက်များကို တစ်နေရာမှ တစ်နေရာသို့ ရွှေ့ခြင်း၊ ကွန်ပျူတာနှင့် တွဲဖက်သုံးကိရိယာများကို အချက်ပြခြင်းတို့ ဖြစ်သည်။ ထိုညွှန်ကြားချက်များကို ကွန်ပျူတာ၏ မှတ်ဉာဏ်မှ ဖတ်ယူပြီး ဖတ်ယူရရှိသည့် အစဉ်အတိုင်း အတွက်အချက် အစိတ်အပိုင်းက တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ သို့သော် အထူးညွှန်ကြားချက်များကို သုံး၍ ရှေ့သို့ ကျော်၍သော်လည်းကောင်း၊ နောက်သို့ ဆုတ်၍သော်လည်းကောင်း ပရိုဂရမ်အတွင်းရှိ အခြားနေရာများကို ဆောင်ရွက်ရန် ခိုင်းစေနိုင်သည်။ ထိုသို့သော် ညွှန်ကြားချက်များကို အခုန်ညွှန်ကြားချက်များဟု ခေါ်သည်။ အခုန်ညွှန်ကြားချက်များကို သူ့မတိုင်မှီအရင် ညွှန်ကြားချက်များကို တွက်ချက်ရရှိထားသည့် ရလဒ်များပေါ်မူတည်၍ အခြေအနေအလိုက် ခုန်ကျော်ရန်လည်း ခိုင်းစေနိုင်သည်။ 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             ; ပရိုဂရမ်ကို အဆုံးသတ်ပါ။

အထက်ပါ ပရိုဂရမ်ကို စတင်လိုက်ပါက ကွန်ပျူတာက ထပ်တလဲလဲ ပေါင်းတွက်ရမည့် အပိုင်းကို လူအကူအညီ ကွပ်ကဲမှု မပါပဲ အလိုအလျောက် တွက်ချက်ပေးပါမည်။ ထိုတွက်ချက်မှုသည် အမှားအယွင်းကင်းသလို ခေတ်ပေါ်ကွန်ပျူတာအများစုသည် ထိုတွက်ချက်မှုကို တစ်စက္ကန့်၏ အပုံတစ်သန်းပုံ တစ်ပုံမျှအတွင်း ဆောင်ရွက်နိုင်ပါလိမ့်မည်။[၁]

အလုပ်လုပ်ပုံများ

ယေဘုယျသုံး တွင် အဓိက လေးမျိုးမှာ ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း (arithmetic and logic unit)၊ ထိန်းချူပ် အစိတ်အပိုင်း (control unit)၊ မှတ်ဉာဏ်(Memory Device) နှင့် အသွင်း အထုတ် ကိရိယာ (I/O) များတို့ ဖြစ်သည်။ ၄င်း အစိတ်အပိုင်း တို့ကို ဝါယာကြိုးများ အတွဲလိုက်ဖြစ်သော ဘတ်စ် များ ဖြင့် တွယ်ချိတ်ထားသည်။

ထိန်းချူပ် ဌာန

အကျယ်တဝင့် ဖော်ပြထားသောဆောင်းပါး - စီပီယူ

ထိန်းချူပ် ဌာန (control unit, often called a control system or CPU) သို့မဟုတ် စီပီယူ သည် ၏ အစိတ်အပိုင်း မျိုးစုံကို လမ်းဆောင်သည်။ ၄င်းသည် ပရိုဂရမ်ညွှန်ကြားချက်များကို တစ်ကြောင်းခြင်း ဖတ်ရှု ပြီး အဓိပ္ပါယ် ပြန်သည်။ ထိန်းချူပ် ဌာနသည် အဆင့်မြင့်သော များတွင် ၄င်းညွှန်ကြားချက် အစဉ်များကို မြန်ဆန်စေရန်အတွက် ခုံကျော် ဖတ်ရှု ခြင်း လုပ်လေ့ရှိသည်။

ထိန်းချူပ်ဌာန ၏ အဓိက မှာ ပရိုဂရမ် ကောင်တာ၊ နောက် ညွှန်ကြားချက် ကို ဘယ်နေရာမှ ဖက်ရှုမည် ကို မှတ်သားထားသော အထူး သိုလှောင်ရာ ရာဂျစ်စတာ တို့ဖြစ်သည်။

MIPS architecture ၏ ညွှန်ကြားချက် ကို ထိန်းချူပ် ဌာနမှ ဖတ်ရှုပုံ ဖော်ပြသော ပုံကြမ်း

ထိန်းချူပ် ဌာန၏ အလုပ်များမှာ နောက် စီပီယူများတွင် ကွာခြားနိုင်သော်လည်း အခြေခံမှာ အောက်ပါအတိုင်းဖြစ်သည်။

  1. ပရိုဂရမ် ကောင်တာ ညွှန်ပြသော အခန်းမှ လာမည့် ညွှန်ကြားချက် (instruction) ကုဒ်ကို ဖတ်ပါ။
  2. ၄င်းညွှန်ကြားချက် ကုဒ်ကို အဓိပ္ပါယ် ပြန်ပြီး အမိန့်ပေးချက် (command) များ သို့မဟုတ် အခြားစက်များ၏ အဝင်လှိုင်း (signal) များ အဖြစ် လုပ်ဆောင်ပါ။
  3. ညွှန်ကြားချက် အသစ်ရေးရန် ပရိုဂရမ် ကောင်တာကို တစ်ခုမြင့်ပါ။
  4. ညွှန်ကြားချက် ပါလျှင် မှတ်ဉာဏ်(Memory Device) အခန်းများမှ အချက်အလက်များကို ဖက်ပါ။ များသောအားဖြင့် ၄င်းဖက်ရှုရမည့် အခန်းနံပါတ်ကို ညွှန်ကြားချက် ကုဒ် ထဲမှာပင် သိမ်းဆည်းလေ့ရှိသည်။
  5. ညွှန်ကြားချက် သည် အေအယ်လ်ယူ သို့မဟုတ် အထူးစက်များမှ လုပ်ဆောင်ချက်များ လိုအပ်လျှင် ၄င်းစက်အား မောင်းနှင်ပါ။
  6. အေအယ်လ်ယူမှ အဖြေကို မှတ်ဉာဏ်(Memory Device)တွင်းသို့ ပြန်လည်သိမ်းဆည်းပါ သို့မဟုတ် ပရင့်တာ ကဲ့သို့ ပုံနှိပ်စက် များတွင် ထုတ်ပါ။
  7. အစ အဆင့် (၁) သို့ ပြန်သွားပါ။

ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဌာန

အကျယ်တဝင့် ဖော်ပြထားသောဆောင်းပါးများ - Arithmetic logic unit နှင့် အေယ်လ်ယူ

ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း (Arithmetic and logic unit, ALU) ခေါ် အေယ်လ်ယူ သည် ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဆောင်ရွက်မှု အပိုင်း နှစ်ခု ကိုလုပ်ဆောင်သည်။

ဂဏန်း သင်္ချာ လုပ်ဆောင်မှုတွင် ALU သည် အခြေခံများဖြစ်သည့် အပေါင်းအနုတ်အမြှောက်အစားတြီဂိုနိုမေတြီ ဖန်ရှင်များ နှင့် square root တို့ လုပ်ဆောင်သည်။ အချို့သော လုပ်ဆောင်မှု များမှာ ကိန်းပြည့်များတိုတာ လုပ်ဆောင်နိုင်ပြီး အချိုမှာ တိကျမှု ရော့ကျနိုင်သော်လည်း ဒဿမ ကိန်း (floating point) မှ ကိန်းစစ် (real number) များအထိ လုပ်ဆောင်နိုင်သည်။ သို့သော်၊ မည်သည့် မဆို မည်မျှပင် ခက်ခဲသော အလုပ်ဖြစ်ပါစေ တစ်ဆင့်ခြင်း လွယ်ကူသော အဆင့်များအဖြစ် ပြောင်းလည်းစေခြင်းဖြင့် စွမ်းဆောင်နိုင်သည်။ ထို့ကြောင့် မည်သည့် မဆို ဘယ်လို ဂဏန်းသင်္ချာပြဿနာမဆို ဖြေရှင်းနိုင်ပြီး ၄င်း၏ အေယ်လ်ယူ က တိုက်ရိုက် ဖြေရှင်၍မရပါက သွယ်ဝိုက်သောနည်းဖြင့် ဖြေရှင်းနိုင်သည်။

အေယ်လ်ယူသည် ဂဏန်းများကို နှိုင်းယှဉ်ပြီး အဖြေကို လော့ဂျစ်များဖြစ်သည့် မှားမှန် တန်ဖိုး အဖြစ်လည်း အဖြေထုတ်နိုင်သည်။ လော့ဂျစ် လုပ်ဆောင်မှုများမှာ ANDORXOR နှင့် NOT တို့ဖြစ်သည်။ ၄င်းတို့သည် ခတ်ခဲသော် စဉ်းစား ဆင်ခြင်မှုများ နှင့် လော့ဂျစ် လုပ်ဆောင်မှုများ အတွက် အသုံးဝင်သည်။

စူပါ ကွန်ပျူတာများသည် အေယ်လ်ယူ များစွာပါပြီး တစ်ပြိုင်နက်တည်း များစွာသော ညွှန်ကြားချက်များကို လုပ်ဆောင်နိုင်သည်။ ကွန်ပျူတာတွင် SIMD နှင့် MIMD များပါလျှင် ဂျီပီယူ ခေါ် ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်မှုများတွင် အေယ်လ်ယူက ဗက်တာ နှင့် မတ်ထရစ် တို့အတွက် ဂဏန်းသင်္ချာနည်းအဖြစ် ကူညီလုပ်ဆောင်ပေးသည်။

မှတ်ဉာဏ်(Memory Device)

အကျယ်တဝင့် ဖော်ပြထားသောဆောင်းပါး - ကွန်ပျူတာ မှတ်ဉာဏ်
ဖိုင်:Magnetic core memory.jpg
သံလိုက် ချက်မ မီမိုရီ မှာ ၁၉၆၀ များအထိ တစ်ချိန်က ကျော်ကြားခဲ့သော အဓိက ကွန်ပျူတာ မှတ်ဉာဏ်(Memory Device) ဖြစ်ပြီး ယခုခေတ်တွင် ဆီမီးကွန်ဓာတ်တာ မှတ်ဉာဏ် အဖြစ် ပြောင်းသုံးသည်

ကွန်ပျူတာ မှတ်ဉာဏ် တစ်ခုကို ဂဏန်းများ ပို့သွင်း သို့မဟုတ် ဖတ်ရှုနိုင်သည့် အခန်းငယ် အတန်းများ အဖြစ် မြင်နိုင်သည်။ အခန်းတိုင်းတွင် လိပ်စာ (address) တစ်ခု ရှိပြီး ဂဏန်းတစ်လုံးသာ မှတ်ယူနိုင်သည်။ ကွန်ပျူတာကို အခန်းနံပါတ် ၁၃၅၇ တွင် ဂဏန်း ၁၂၃ ရေးပါဟု၄င်း၊ အခန်းနံပါတ် ၁၃၅၇ မှဂဏန်းကို အခန်းနံပါတ် ၂၄၅၆ မှဂဏန်း ဖြင့်ပေါင်း၍ အခန်းနံပါတ် ၁၅၉၅ သို့ ရေးပါဟု၄င်း ညွှန်ကြားနိုင်သည်။ ၄င်းဂဏန်းမှာ လက်တွေ့အားဖြင့် မည်သည့်ကိုမဆို ရည်ညွှန်းနိုင်သည်။ ဂဏန်းနံပါတ်များသာမက ကွန်ပျူတာ ညွှန်ကြားချက် များပင် ဂဏန်း အဖြစ် အလွယ်တစ်ကူ မှတ်ယူနိုင်သည်။ စီပီယူ အနေဖြင့် ၄င်းဂဏန်းမှာ မည်သည့် အကြောင်းဖြစ်သည်ဟု မခွဲခြားသောကြောင့် ပရိုဂရမ်ရေးသူ အနေဖြင့် မှတ်ဉာဏ် ကို ဂဏန်းအဖြစ်ထားပြီး စွယ်စုံ သုံးနိုင်သည်။

ခေတ်ပေါ် ကွန်ပျုတာ အားလုံးနီးပါးသည်မှတ်ဉာဏ်အခန်းများ၏ ရှစ်ခုပါ ဘစ် (bit) များကို ဘိုက် (byte) ခေါ် အစုအဖြစ် ထားရှိသိမ်းပေးသည်။ ဘိုက် တစ်ခုသည် ၀မှ ၂၅၅ အထိ၎င်း သို့မဟုတ် -၁၂၈ မှ +၁၂၇ အထိ၎င်း ၂၅၆ မျိုး မှတ်ယူနိုင်သည်။ ပို၍ကြီးသော ဂဏန်းများ ကိုမှတ်ယူရန် နောက် ဘိုက် တစ်ခု ထပ်ယူနိုင်သည်။ များသောအားဖြင့် ၂ ခု၊ ၄ ခု သို့မဟုတ် ၈ ခု တို့ဖြစ်ကြသည်။ အနှုတ် ဂဏန်းများကို မှတ်ယူရန် Two's complement သင်္ကေတ ကို အသုံးပြုရန်လိုအပ်သည်။ ကွန်ပျုတာ တစ်ခုသည် မည်သည့် အကြောင်းအရာမဆို ကိန်း ဖြစ်သာဖေါ်ပြ၍ရပါက သိမ်းပေးထားနိုင်သည်။ ခေတ်ပေါ် ကွန်ပျုတာများသည် မီမိုရီ ဘိုက်ပေါင်း ဘီလီရမ် သို့မဟုတ် ထရီလီရမ် အထိပင် ရှိကြသည်။

စီပီယူတွင် အထူးပြုလုပ်ထားသော ပင်မ မီမိုရီထက် များစွာ လျှင်မြန်စွာ ရေးဖတ်နိုင်သော ရီဂျစ်စတာ မီမိုရီ ပါရှိသည်။ များသောအားဖြင့် စီပီယူ အမျိုးအစားပေါ် မှုတည်၍ ရီဂျစ်စတာ မီမိုရီပေါင်း တစ်ရာမှ နှစ်ရာ အထိ ပါရှိသည်။ ရီဂျစ်စတာ မီမိုရီကို မကြာခဏ အသုံးပြုသော ဒေတာ များကို ပင်မ မီမိုရီ သုံးရန်မလိုပဲ ဖတ်ရှုရန် သုံးသည်။

ကွန်ပျုတာ မီမိုရီတွင် အဓိက နှစ်မျိုးတို့မှာ random access memory ခေါ် RAM နှင့် read-only memory ခေါ် ROM တို့ ဖြစ်ကြသည်။ RAM ကို စီပီယူ အနေဖြင့် လိုအပ်သလို ရေးနိုင်ဖတ်နိုင်သော်လည်း ROM သည် အပြီးရေးသွင်းထားပြီး စီပီယူ အနေဖြင့် မရေးသားနိုင်ပဲ ဖတ်ရုံသာ ဖတ်နိုင်သည်။ များသောအားဖြင့် RAM ရှိ မှတ်သားထားသည်များကို ကွန်ပျုတာပိတ်သည်နှင့် ပျက်သွားသည်။ ROM ရှိ မှတ်သားထားသည်များမှာ ဆက်လက်ကျန်ရှိသည်။ ကွန်ပျုတာတွင် ROM သည် BIOS ခေါ် အထူး ပရိုဂရမ် မှ စက်မောင်းစနစ် ကို hard disk drive မှ RAM ပေါ်သို့ တင်ရန် ကွန်ပျုတာဖွင့်တိုင်း သုံးသည်။

အသွင်း အထုတ် ကိရိယာများ

I/O ခေါ် အသွင်း အထုတ် ကိရိယာများ သည် ပြင်ပ အရာများနှင့် ကွန်ပျူတာ တို့ သတင်း အချက်အလက် အပြန်အလှန် သယ်ယူရာ အစိတ်အပိုင်း ဖြစ်သည်။ ကွန်ပျူတာ၏ အသွင်း အထုတ် ပြုရာ ကိရိယာ ကို peripheral ဟု ခေါ်သည်။ တစ်ယောက်သုံး ကွန်ပျူတာ တစ်ခုတွင် အသွင်း ကိရိယာများ ဖြစ်သော ကီးဘုတ်မောက်စ် နှင့် အထုတ် ကိရိယာများ ဖြစ်သော မော်နီတာပရင်တာ တို့ ထုံးစံအားဖြင့် ပါသည်။

အခြား အကြောင်းအရာများ

ဟာဒ်ဝဲ

Computer ရဲ့ထိတွေ့ကိုင်တွယ်နိုင်သော အစိတ်အပိုင်းများသည် Computer Hardware များဖြစ်သည်။ သို့မဟုတ် လျှပ်စစ်ပတ်လမ်းတွေကို အနုစိတ် ဖန်တီးပြီးတော့ Micro Chip Integrated Circuit တွေအဖြစ် ပေါင်းစပ်ဖွဲ့စည်းအလုပ်လုပ်စေတဲ့ (I/O Device) တွေကို Hardware ဟုခေါ်ဆိုသည်။

ဆော့ဖ်ဝဲ

Computer Hardware များကိုအလုပ် ခိုင်းစေနိုင်ရန်အတွက် စီစဉ်ဖန်တီးထားသော ညွှန်ကြားချက်များ (Instructions) အမိန့်များ (Commands) သည် Computer Software များဖြစ်ကြသည်။ ဥပမာတစ်ခုပြရလျှင် စီဒီချပ်သည် အမာထည်(Hardware) ဖြစ်ပြီး၊ ယင်းစီဒီထဲရှိ သီချင်းများ၊ ရုပ်ရှင်များသည် အပျော့ထည်(Software) များဖြစ်ကြသည်။

Computer software
Operating System Unix/BSD UNIX System V, AIX, HP-UX, Solaris (SunOS), IRIX, List of BSD operating systems
GNU/Linux List of Linux distributions, Comparison of Linux distributions
Microsoft Windows Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista,Windows 7, Windows CE
DOS 86-DOS (QDOS), PC-DOS, MS-DOS, FreeDOS
Mac OS Mac OS classic, Mac OS X
Embedded and real-time List of embedded operating systems
Experimental Amoeba, Oberon/Bluebottle, Plan 9 from Bell Labs
Library Multimedia DirectX, OpenGL, OpenAL
Programming library C standard library, Standard template library
Data Protocol TCP/IP, Kermit, FTP, HTTP, SMTP
File format HTML, XML, JPEG, MPEG, PNG
User interface Graphical user interface (WIMP) Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM
Text user interface Command line interface, shells
Application Office suite Word processing, Desktop publishing, Presentation program, Database management system, Scheduling & Time management, Spreadsheet, Accounting software
Internet Access Browser, E-mail client, Web server, Mail transfer agent, Instant messaging
Design and manufacturing Computer-aided design, Computer-aided manufacturing, Plant management, Robotic manufacturing, Supply chain management
Graphics Raster graphics editor, Vector graphics editor, 3D modeler, Animation editor, 3D computer graphics, Video editing, Image processing
Audio Digital audio editor, Audio playback, Mixing, Audio synthesis, Computer music
Software Engineering Compiler, Assembler, Interpreter, Debugger, Text Editor, Integrated development environment, Performance analysis, Revision control, Software configuration management
Educational Edutainment, Educational game, Serious game, Flight simulator
Games Strategy, Arcade, Puzzle, Simulation, First-person shooter, Platform, Massively multiplayer, Interactive fiction
Misc Artificial intelligence, Antivirus software, Malware scanner, Installer/Package management systems, File manager
ဖိုင်:Computer parts.jpg
ကွန်ပျူတာ၏ အစိတ်အပိုင်းများ

Firmware

Hardware, Firmware, Software

Firmware သည် ပထမဦးစွာ Hardware များကို သက်ဝင်လှုပ်ရှားစေပြီး Software များကအလုပ်စေခိုင်းစေနိုင်ရန် ကြားခံ ဆောင်ရွက်ပေးသော ညွှန်ကြားချက်များ (Instructions) ဖြစ်သည်။ Firmware သည် Hardware နှင့် Software ကြားမှ Interface တစ်ခုဖြစ်သည်။

ကွန်ပျူတာများ ဘယ်လိုအလုပ် လုပ်သနည်း

အခြေခံအားဖြင့် ကွန်ပျူတာမှာ the arithmetic and logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed I/O) ဆိုပြီး အပိုင်းလေးပိုင်း ပါဝင်ပါတယ်။အဲဒီ အပိုင်းများကိုတော့ wire များကိုစုစည်းပြီးပြုလုပ်ထားတဲ့ Busses များနဲ့ဆက်သွယ်ထားပါတယ်။

ကျမ်းကိုးစာရင်းများ

  1. 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 comments for the benefit of human readers. These have no significance to the computer and are ignored. Digital Equipment Corporation 1972