ကွန်ပျူတာ

**ကွန်ပျူတာ ()** ဆိုသည်မှာ ထည့်သွင်းထားသော ပရိုဂရမ် သို့မဟုတ် အစီအစဉ်တကျ ညွှန်ကြားချက်များအတိုင်း အချက်အလက်များကို စီမံခန့်ခွဲပေးသော ကိရိယာဖြစ်သည်။ ကွန်ပျူတာများသည် ညွှန်ကြားချက်များပေါ် မူတည်၍ ဂဏန်းသင်္ချာနှင့်ယုတ္တိဗေဒ ဆိုင်ရာတွက်ချက်မှုများကို အစီအစဉ်တကျ အလိုအလျောက် စွမ်းဆောင်နိုင်သည်။ ကွန်ပျူတာတစ်ခုတွင် အခြေခံအားဖြင့် အချက်အလက်များကို သိမ်းဆည်းရန် မှတ်ဉာဏ်၊ ဂဏန်းသင်္ချာနှင့် ယုတ္တိဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်သော အစိတ်အပိုင်းတစ်ခုနှင့် ထိုသို့တွက်ချက်မှုများကို မှတ်ဉာဏ်အတွင်း သိမ်းဆည်းထားသော ညွှန်ကြားချက်များအတိုင်း စီစဉ်ကွပ်ကဲပေးသော အစိတ်အပိုင်းတစ်ခု ပါဝင်သည်။ ကွန်ပျူတာအတွင်းသို့ အချက်အလက်များ ထည့်သွင်းရန်နှင့် ကွန်ပျူတာမှ တွက်ချက်ပေးလိုက်သော အချက်အလက်များကို သိမ်းဆည်းရန် ကွန်ပျူတာ အရံပစ္စည်းများကို အသုံးပြုသည်။ ကွန်ပျူတာ၏ အတွက်အချက် အစိတ်အပိုင်းသည် အချက်အလက်များကို ဖတ်ယူ၊ တွက်ချက်၊ သိမ်းဆည်းရန် ညွှန်ကြားချက်များကို အစီအစဉ်တကျ တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ အခြေအနေထိန်း ညွှန်ကြားချက်များက ထိုညွှန်ကြားချက်များ၏ ဆောင်ရွက်ပုံ အစီအစဉ်ကို ပြောင်းလဲနိုင်သည်။ပထမဆုံးသော အီလက်ထရောနစ် ကွန်ပျူတာများသည် ၂၀ ရာစု အလယ်ပိုင်းက စတင်ပေါ်ထွန်းခဲ့သည်။ ထိုရှေးဦးကွန်ပျူတာများမှာ အခန်းတစ်ခန်းစာမျှ ကြီးမားပြီး ခေတ်ပေါ်တစ်ကိုယ်ရေသုံး ကွန်ပျူတာ (personal computer-PC) ရာပေါင်းများစွာနှင့် ညီမျှသောစွမ်းအားကို သုံးစွဲခဲ့သည်။ ယနေ့ခေတ်ပေါ် ကွန်ပျူတာများမှာမူ ထိုရှေးဦး ကွန်ပျူတာများနှင့် နှိုင်းယှဉ်ပါက အဆ သန်းပေါင်းများစွာ ပို၍ တွက်ချက်စွမ်းဆောင်နိုင်သည့်အပြင် အရွယ်အစား ပမာဏလည်း အဆပေါင်းများစွာ သေးငယ်သည်။ အချို့ ကွန်ပျူတာများသည် အိတ်ဆောင် သယ်ယူသွားနိုင်လောက်အောက် သေးငယ်ပြီး အားဖြည့်သွင်းရာ၌လည်း ဓာတ်ခဲအသေးစားများကိုပင် အသုံးပြုနိုင်သည်။ နည်းပညာခေတ်၏ ပြယုဂ်များဖြစ်သည့် သဏ္ဌာန်အမျိုးမျိုးရှိသော တစ်ကိုယ်ရေသုံး ကွန်ပျူတာများကို လူအများစုက *ကွန်ပျူတာ*ဟု ခြုံငုံမှတ်ယူ ခေါ်ဝေါ်နေသော်လည်း အိတ်ဆောင်သီချင်းဖွင့်စက်များမှစ၍ တိုက်ခိုက်ရေးလေယာဉ်များ အထိသော်လည်းကောင်း၊ ကစားစရာအရုပ်များမှ စတင်ကာ စက်ရုပ် (Robot) များ အဆုံးသော်လည်းကောင်း ကွန်ပျူတာများကို ထည့်သွင်းမြုပ်နှံထားသည်ကို တွေ့ရသည်။

## သမိုင်း 
ရှေးယခင်က ကွန်ပျူတာကို အမည်တစ်ခု သတ်မှတ်ရန်အလွန် ခက်ခဲခဲ့သည်။ ယခုအချိန်တွင် ကွန်ပျူတာကို အမည်အမျိုးမျိုးဖြင့် သတ်မှတ်‌ခေါ်ဝေါ်ကြသည်။ အစောဆုံးတွက်ချက်မှုပစ္စည်းသည် အရိုးထွင်းစာပုံစံဖြစ်နိုင်ခြေရှိပြီး နောက်ပိုင်း မြေဆီဩဇာကောင်းခဲ့သော လခြမ်းဒေသ(ယခု- အီရန်၊အီရတ်၊တူရကီ၊ဆီးရီးယားစသည့်ဒေသတဝိုက်)က မှတ်တမ်းများတွင် အိမ်မွေးတိရစ္ဆာန်များ၊ မျိုးစေ့များ စသည်တို့ကိုရေတွက်မှတ်တမ်းပြုရာ၌သုံးသော ရွှံ့စေးလုံးလေးများ၊ ရွှံ့စေးဒုချွန်လေးများပါဝင်ကြပြီး ထိုပစ္စည်းလေးများကို မဖုတ်ရသေးသော ရွှံ့ဘူးများတွင်အလုံပိတ်ထည့်ထားကြသည်။  တရုတ်ပြည်ကဲ့သို့ အရှေ့အာရှ၌ ရေတွက်ရာတွင်သုံးသော မျည်းဖျောင့်တိုဖြင့်ဆွဲခြစ်မှတ်သားခြင်း(နမူနာ- , , )သည်လည်း တွက်ချက်မှုသဘော ဥပမာတစ်ခုဖြစ်၏။

တွက်ချက်မှုပိုင်းအတွက် မူလအစက *တွက်ချက်ပေသီး*(Abacus)များကို အသုံးပြုခဲ့သည်။ ပေသီးသည် ပထမဆုံးဂဏန်းပေါင်းစက်ပင်ဖြစ်သည်။ ရိုမန်ပုံစံ ထိုတွက်ချက်ပေသီးစက်မျိုးကို ဘီစီ ၂၄၀၀ခန့်က ဘာဘီလုံခေတ်(Babylonia)တွင်သုံးသော ပစ္စည်းများမှတဆင့်တီထွင်ခဲ့ကြသည်။ ဂရိပုံစံပေသီးတွက်စက်ကို ဘီစီ ငါးရာစုခန့်၊ တရုတ်ပုံစံပေသီးတွက်စက်ကို ဘီစီ နှစ်ရာစုခန့်၌ သုံးခဲ့ကြောင်း သက်သေအထောက်အထားများမှတစ်ဆင့် သိရသည်။

အလယ်ခေတ်အရောက်တွင် ဥရောပ သင်္ချာ နှင့် အင်ဂျင်နီယာ ပညာရှင်  Wilhelm Schickard က ၁၆၂၃ခုနှစ် တွင် ပထမဆုံး စက်ပစ္စည်းနှင့်တွက်ချက်သောဂဏန်းပေါင်းစက်(Calculators) တစ်ခုကို တည်ဆောက်ခဲ့သည်။ သို့သော်လည်းယခုခေတ်တွင် ၎င်း ကိရိယာDevice ကို (Calculators) ဟုခေါ်ဆို၍ မရတော့ပေ။ အဘယ်ကြောင့်ဆိုသော် ၎င်းကိရိယာသည် Programme ပါဝင်ခြင်းမရှိသောကြောင့်ဖြစ်သည်။ ၁၈၀၁ ခုနှစ် တွင်  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 ဖြစ်လာသည် ) က ထုတ်လုပ်ခဲ့သည်။ ၁၉ ရာစု အကုန်အရောက်တွင် IBMများသည် အသုံးဝင်သောအရာတစ်ခုဖြစ်လာခဲ့သည်။  ၎င်းသည် လူတို့အတွက်လိုအပ်လျက်ရှိ‌နေသည်ကို သက်သေပြလိုက်ခြင်းဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် Punched Card, Boolean Algebra], The Vacuum Tube (Thermionic Value) နဲ့ Teleprinter တွေ ပေါ်ပေါက်လာခဲ့သောကြောင့်ဖြစ်သည်။ ၂၀ ရာစု အတောအတွင်းတွင် သိပ္ပံပညာသည် များစွာတိုးတက်မှုရှိလာခဲ့ပြီး Analog Computer များလည်း တိုးတက်ပေါ်ပေါက်ခဲ့သည်။ သို့သော်လည်း ၎င်း Analog Computer များသည် Programmable မဖြစ်သည့်အပြင် အခုခေတ် Digital  များ၏ တိကျသော စွမ်းဆောင်ရည်များလည်း ပါဝင်ခြင်းမရှိသေးပေ။

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

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

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

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

 ၏ ညွှန်ကြားချက် ကို ထိန်းချူပ် ဌာနမှ ဖတ်ရှုပုံ ဖော်ပြသော ပုံကြမ်း]]
ထိန်းချုပ် ဌာန၏ အလုပ်များမှာ နောက် စီပီယူများတွင် ကွာခြားနိုင်သော်လည်း အခြေခံမှာ အောက်ပါအတိုင်းဖြစ်သည်။ 
# ပရိုဂရမ် ကောင်တာ ညွှန်ပြသော အခန်းမှ လာမည့် ညွှန်ကြားချက် (instruction) ကုဒ်ကို ဖတ်ပါ။
# ၎င်းညွှန်ကြားချက် ကုဒ်ကို အဓိပ္ပာယ် ပြန်ပြီး အမိန့်ပေးချက် (command) များ သို့မဟုတ် အခြားစက်များ၏ အဝင်လှိုင်း (signal) များ အဖြစ် လုပ်ဆောင်ပါ။
# ညွှန်ကြားချက် အသစ်ရေးရန် ပရိုဂရမ် ကောင်တာကို တစ်ခုမြင့်ပါ။ 
# ညွှန်ကြားချက် ပါလျှင် မှတ်ဉာဏ်(Memory Device) အခန်းများမှ အချက်အလက်များကို ဖတ်ပါ။ များသောအားဖြင့် ၎င်းဖက်ရှုရမည့် အခန်းနံပါတ်ကို ညွှန်ကြားချက် ကုဒ် ထဲမှာပင် သိမ်းဆည်းလေ့ရှိသည်။ 
# ညွှန်ကြားချက် သည် အေအယ်လ်ယူ သို့မဟုတ် အထူးစက်များမှ လုပ်ဆောင်ချက်များ လိုအပ်လျှင် ၎င်းစက်အား မောင်းနှင်ပါ။ 
# အေအယ်လ်ယူမှ အဖြေကို မှတ်ဉာဏ်(Memory Device)တွင်းသို့ ပြန်လည်သိမ်းဆည်းပါ သို့မဟုတ် ပရင့်တာ ကဲ့သို့ ပုံနှိပ်စက် များတွင် ထုတ်ပါ။
# အစ အဆင့် (၁) သို့ ပြန်သွားပါ။

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

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

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

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

## မှတ်ဉာဏ်(Memory Device) 
 မှာ ၁၉၆၀ များအထိ တစ်ချိန်က ကျော်ကြားခဲ့သော အဓိက ကွန်ပျူတာ မှတ်ဉာဏ်(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 ပေါ်သို့ တင်ရန် ကွန်ပျုတာဖွင့်တိုင်း သုံးသည်။

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

= အခြား အကြောင်းအရာများ =
## Hardware 
Computer ရဲ့ထိတွေ့ကိုင်တွယ်နိုင်သော အစိတ်အပိုင်းများသည် Computer Hardware များဖြစ်သည်။

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

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

## ကွန်ပျူတာများ အလုပ်လုပ်ပုံ 
thumb
အခြေခံအားဖြင့် ကွန်ပျူတာများသည် အောက်ပါ အခြေခံ အဆင့်(၆)ချက်ကို လုပ်ဆောင်ပြီး အသုံးပြုရန် အဆင်သင့်အနေအထားသို့ ရောက်ရှိသည် -

အဆင့်(၁)-PSU - Power Supply Unit (PSU) မှ AC (Alternating Current) Voltage ကိုလက်ခံရယူပြီး DC (Direct Current) Voltage (၅)မျိုးကို ထုတ်ပေးသည်။

အဆင့်(၂) Motherboard - Motherboard သည် PSU မှ ထုတ်ပေးသော Voltage ကို + (or) -  5% Error ရှိ/မရှိ စစ်ဆေးပြီး 4.7 V နှင့် 5.25 V အတွင်းရှိမှသာ PSU သို့ PG (Power Good Signal) ပြန်ပို့သည်။ PG မရရှိပါက ထိုအဆင့်မှ ဆက်မတက်တော့ပါ။

အဆင့်(၃)Crystal - ဝင်လာသည့်ဗို့အားကြောင့် Motherboard ရှိ Crystal (လှိုင်းထုတ်ကရိယာ)အတွင်းရှိ သလင်းကျောက်ပြား တုန်ခါမှုဖြစ်ပေါ်လာပြီး Analog လှိုင်း 14.31 MHz ထုတ်ပေးသည်။

အဆင့်(၄)-Clock Generator – Crystal မှ ထုတ်ပေးသည့် Analog လှိုင်းအား Clock Generator IC မှ Digital Clock အဖြစ်ပြောင်းပေးသည်။

အဆင့်(၅)-Digital Clock- Digital Clock အား သက်ဆိုင်ရာ Frequency များသို့ အဆတင်၍ Motherboard ပေါ်ရှိ IC, Memory, Processor, ROM-BIOS, Chip set စသည့်အစိတ်အပိုင်း အသီးသီးသို့ ပေးပို့သည်။

အဆင့်(၆)-ROM-BIOS (က) POST (ခ)Boot Strapping (ဂ) Low Level Interfaces
	(က) POST – Power On Self Test - ကွန်ပျူတာမီးဖွင့်ချိန်မှစ၍ ကွန်ပျူတာစနစ်တစ်ခုလုံးတွင် တပ်ဆင်ထားသည့် Standard Devices များအား စတင်စစ်ဆေးပါသည်။ (Memory, Monitor, Keyboard, Hard Disk, CPU, Chip Set,…)
	(ခ) Boot Strapping - ကွန်ပျူတာအား အဆင်သင့်ဖြစ်စေရန် OS (Operating System)အား Memory ပေါ်သို့ တင်ပေးခြင်းကို ဆောင်ရွက်သည်။ (ကွန်ပျူတာစနစ်အား Boot လုပ်ရန် Drive A (System Disk)မှ Boot Record ၏ ပထမ Track, ပထမ Sector တွင်ရှိသော Master Boot Record မှ Boot Strap Program Code ကို Memory ပေါ်သို့တင်ပေးပြီး ၎င်းတွင်ပါရှိသည့် Instruction များအား CPU က ဆက်လက်လုပ်ဆောင်သည်။)
	(ဂ) Low Level Interfaces- BIOS သည် Hardware Devices များအချင်းချင်း အပြန်အလှန်ဆက်သွယ်ဆောင်မှုကို OS နှင့်အတူ ကူညီပံ့ပိုးပေးသည်။ (Memory မှ Hard Disk၊ Hard Disk မှ Memory သို့ Data များ အပြန်အလှန် ပေးပို့ဆက်သွယ်ခြင်းများကို ကူညီပံ့ပိုးပေးသည်)

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