ကွန်ပျူတာ: တည်းဖြတ်မှု မူကွဲများ
Content deleted Content added
omihoùi |
အရေးမကြီး Reverted edits by 87.65.252.247 (talk) to last revision by EmausBot |
||
စာကြောင်း ၁ -
[[File:Columbia Supercomputer - NASA Advanced Supercomputing Facility.jpg|right|thumb|နာဆာမှ ကိုလံဘီယာ စူပါကွန်ပျူတာ]]
'''ကွန်ပျူတာ'''ဆိုသည်မှာ ထည့်သွင်းထားသော [[ပရိုဂရမ်]] သို့မဟုတ် အစီစဉ်တကျ ညွှန်ကြားချက်များအတိုင်း [[အချက်အလက်]] များကို စီမံခန့်ခွဲပေးသော ကိရိယာဖြစ်သည်။ ကွန်ပျူတာများသည် ညွှန်ကြားချက်များပေါ် မူတည်၍ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်ရာ တွက်ချက်မှုများကို အစီအစဉ်တကျ အလိုအလျောက် စွမ်းဆောင်နိုင်သည်။
ကွန်ပျူတာတစ်ခုတွင် အခြေခံအားဖြင့် အချက်အလက်များကို သိမ်းဆည်းရန် မှတ်ဉာဏ်၊ [[ဂဏန်းသင်္ချာ]]နှင့် [[ယုတ္တိ]]ဆိုင်ရာ တွက်ချက်မှုများ ပြုလုပ်သော အစိတ်အပိုင်းတစ်ခုနှင့် ထိုသို့ တွက်ချက်မှုများကို မှတ်ဉာဏ်အတွင်း သိမ်းဆည်းထားသော ညွှန်ကြားချက်များအတိုင်း စီစဉ်ကွပ်ကဲပေးသော အစိတ်အပိုင်းတစ်ခု ပါဝင်သည်။ ကွန်ပျူတာတွင်းသို့ အချက်အလက်များ ထည့်သွင်းရန်နှင့် ကွန်ပျူတာမှ တွက်ချက်ပေးလိုက်သော အချက်အလက်များကို သိမ်းဆည်းရန် ကွန်ပျူတာ အရံပစ္စည်းများကို အသုံးပြုသည်။
ကွန်ပျူတာ၏ အတွက်အချက် အစိတ်အပိုင်းသည် အချက်အလက်များကို ဖတ်ယူ၊ တွက်ချက်၊ သိမ်းဆည်းရန် ညွှန်ကြားချက်များကို အစီစဉ်တကျ တစ်ခုပြီးတစ်ခု ဆောင်ရွက်သည်။ အခြေအနေထိန်း ညွှန်ကြားချက်များက ထိုညွှန်ကြားချက်များ၏ ဆောင်ရွက်ပုံ အစီအစဉ်ကို ပြောင်းလဲနိုင်သည်။
ပထမဆုံးသော အီလက်ထရောနစ် ကွန်ပျူတာများသည် ၂၀ ရာစု အလယ်ပိုင်းက စတင်ပေါ်ထွန်းခဲ့သည်။ ထိုရှေးဦးကွန်ပျူတာများမှာ အခန်း တစ်ခန်းစာမျှ ကြီးမားပြီး ခေတ်ပေါ်[[ပီစီ]] (တကိုယ်ရေ ကွန်ပျူတာ) ရာပေါင်းများစွာနှင့် ညီမျှသော စွမ်းအားကို သုံးစွဲခဲ့သည်။
ယနေ့ခေတ်ပေါ် ကွန်ပျူတာများမှာမူ ထိုရှေးဦး ကွန်ပျူတာများနှင့် နှိုင်းယှဉ်ပါက အဆ သန်းပေါင်းများစွာ ပို၍ တွက်ချက်စွမ်းဆောင်နိုင်သည့်အပြင် အရွယ်အစား ပမာဏလည်း အဆပေါင်းများစွာ သေးငယ်လှသည်။ အချို့ ကွန်ပျူတာများသည် အိပ်ဆောင် သယ်ယူသွားနိုင်လောက်အောက် သေးငယ်ပြီး အားဖြည့်သွင်းရာ၌လည်း ဓာတ်ခဲအသေးစားများကိုပင် အသုံးပြုနိုင်သည်။ နည်းပညာခေတ်၏ ပြယုဂ်များပင်ဖြစ်သည့် သဏ္ဍန်အမျိုးမျိုးရှိ တကိုယ်ရေသုံး ကွန်ပျူတာ(ပီစီ)များကို လူအများစုက ''ကွန်ပျူတာ''ဟု ခြုံငုံ မှတ်ယူခေါ်ဝေါ်နေသော်လည်း ကွန်ပျူတာများကို အိပ်ဆောင်သီချင်းဖွင့်စက်များမှအစ တိုက်ခိုက်ရေးလေယာဉ်များအဆုံး၊ ကစားစရာအရုပ်များမှအစ [[ရိုဘော့]]စက်ရုပ်များအဆုံး ထည့်သွင်းမြုပ်နှံထားသည်ကို တွေ့ရသည်။
== သမိုင်း ==
{{copyedit/doc}}
[[File:Jacquard.loom.full.view.jpg|thumb|right|[[Jacquard loom]] ပထမဆုံး programmable device လို့ဆိုလို့ရပါတယ်.]]
{{main| သမိုင်း}}
ရှေးယခင်က ကို သတ်မှတ်ဖို့ ရန်အလွန်တရာမှ ခက်ခဲခဲ့သည်။ယခုအချိန်တွင်မူကို အမည်အမျိုးမျိုး ခေါ်ဝေါ်သတ်မှတ်ခဲ့ကြပြီဖြစ်သည်။ ယခုအချိန်တွင်မူကိရိယာများ (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 ရေးဆွဲခဲ့သည်။
[[Computing Tabulating Recording Corporation]] ( ယခုအခါ [[IBM]] ဖြစ်လာသည် ) က ထုတ်လုပ်ခဲ့ပါသည်။ ၁၉ ရာစု အကုန်အရောက် တွင် တွေဟာ အသုံးဝင်သောအရာတစ်ခုဖြစ်လာခဲ့သည်။ သည် လူတို့ အတွက်လိုအပ်နေပြီဆိုတာက သက်သေပြလိုက်ပြီးဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် [[Punched Card]], [[Boolean Algebra]] , [[The Vacuum Tube]] (Thermionic Value) နဲ့ Teleprinter တွေဟာ ပေါ်ပေါက်ခဲ့သောကြောင့်ဖြစ်သည်။၂၀ ရာစု အတောအတွင်းတွင် သိပ္ပံပညာသည် များစွာတိုးတက်မှုရှိလာခဲ့ပြီး [[Analog Computer]] များလည်း တိုးတက်ပေါ်ပေါက်ခဲ့သည်။ သို့သော်လည်း၎င်း များသည် Programmable မဖြစ်သည့်အပြင် အခုခေတ် Digital များ၏ တိကျသော စွမ်းဆောင်ရည် များလည်းပါဝင်ခြင်းမရှိသေးပေ။
{{Early computer characteristics}}
== ပရိုဂရမ် ==
ခေတ်ပေါ်ကွန်ပျူတာများနှင့် အခြားသော စက်ကိရိယာများ၏ အဓိကကွာခြားချက်မှာ ခေတ်ပေါ် ကွန်ပျူတာများ၏ ညွှန်ကြားချက်များကို လိုအပ်သလို ပြောင်းလဲပြင်ဆင် ရေးသားနိုင်ခြင်း ဖြစ်သည်။ တစ်နည်းအားဖြင့်ဆိုသော် (ခေတ်ပေါ်)ကွန်ပျူတာများကို စိတ်ကြိုက် ညွှန်ကြားချက်များ ပေး၍ လိုရာကို ဆောင်ရွက်စေနိုင်သည်။ ဗွန်နူမန် (von Neumann) တည်ဆောက်ပုံစနစ်ကို အခြေခံသော ခေတ်ပေါ်ကွန်ပျူတာ အများစုတွင် ကွန်ပျူတာ ညွှန်ကြားချက်များကို ကွန်ပျူတာ ဘာသာစကားများသုံး၍ ရေးသားခိုင်းစေနိုင်သည်။
ကွန်ပျူတာပရိုဂရမ်ဆိုသည်မှာ အမှန်တော့ ညွှန်ကြားချက်များ အစုအဝေးကြီးမျှသာ ဖြစ်သည်။ အချို့ပရိုဂရမ်များတွင် ညွှန်ကြားချက် အနည်းငယ်မျှသာ ပါဝင်နေနိုင်သလို ဘရောက်ဇာ၊ စာစီစာရိုက် စသည့်ကဲ့သို့ ပရိုဂရမ်များတွင် ညွှန်ကြားချက်ပေါင်း သန်းချီ၍လည်း ပါဝင်နေနိုင်သည်။ ခေတ်ပေါ်ကွန်ပျူတာများသည် စက္ကန့်ပိုင်းမျှအချိန်အတွင်း ညွှန်ကြားချက်များ သန်းထောင်ချီ၍ ဆောင်ရွက်တွက်ချက်နိုင်ပြီး အမှားအယွင်းလည်း မရှိသလောက်ပင် ဖြစ်သည်။ ညွှန်ကြားချက်များ သန်းပေါင်းများစွာ ပါရှိသည့် ပရိုဂရမ် အကြီးစားများကို ပရိုဂရမ်မာ မြောက်များစွာသုံး၍ နှစ်ပေါင်းများစွာ အချိန်ယူကာ ရေးသားရပြီး ဆောင်ရွက်ရမည့် လုပ်ငန်း၏ ရှုပ်ထွေးမှုပေါ် မူတည်၍ အမှားအယွင်းများ ပါစမြဲပင် ဖြစ်သည်။
=== ပရိုဂရမ် တည်ဆောက်ပုံ ===
{{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.
တစ်နည်းအားဖြင့် ပရိုဂရမ်များကို တွက်ချက်ဆောင်ရွက်ခြင်းသည် စာအုပ်တစ်အုပ်ကို ဖတ်သည်နှင့် တူသည်။ ပုံမှန်အားဖြင့် စာအုပ်တွင်းရှိ စာလုံး၊ စာကြောင်းများကို အစီအစဉ်တကျ ဖတ်လေ့ရှိကြသော်လည်း တစ်ခါတစ်ရံတွင် နောက်သို့ ပြန်လှန်ဖတ်ခြင်း၊ စိတ်မဝင်စားသည့် စာပိုဒ်များကိုလည်း ကျော်ဖတ်ခြင်းများကို ပြုလုပ်တတ်ကြပါသည်။ ထိုနည်းတူစွာ ကွန်ပျူတာများသည်လည်း တစ်ခါတစ်ရံ ညွှန်ကြားချက်များကို အခြေအနေပေါ်မူတည်၍ ရှေ့ကျော်၊ နောက်ကျော် ထပ်ကာတလဲလဲ ဆောင်ရွက်တတ်သည်။ ဤသည်ကို ပရိုဂရမ်ဆောင်ရွက်မှု စီးဆင်းပုံ (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>
= အလုပ်လုပ်ပုံများ =
ယေဘုယျသုံး တွင် အဓိက လေးမျိုးမှာ [[ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း]] (arithmetic and logic unit)၊ [[ထိန်းချူပ် အစိတ်အပိုင်း]] (control unit)၊ [[မှတ်ဉာဏ်]](Memory Device) နှင့် အသွင်း အထုတ် ကိရိယာ (I/O) များတို့ ဖြစ်သည်။ ၄င်း အစိတ်အပိုင်း တို့ကို [[ဝါယာကြိုး]]များ အတွဲလိုက်ဖြစ်သော [[ဘတ်စ်]] များ ဖြင့် တွယ်ချိတ်ထားသည်။
== ထိန်းချူပ် ဌာန ==
{{main | စီပီယူ}}
ထိန်းချူပ် ဌာန (control unit, often called a control system or CPU) သို့မဟုတ် စီပီယူ သည် ၏ အစိတ်အပိုင်း မျိုးစုံကို လမ်းဆောင်သည်။ ၄င်းသည် [[ပရိုဂရမ်]] ၏ [[ညွှန်ကြားချက်]]များကို တစ်ကြောင်းခြင်း ဖတ်ရှု ပြီး အဓိပ္ပါယ် ပြန်သည်။ ထိန်းချူပ် ဌာနသည် အဆင့်မြင့်သော များတွင် ၄င်းညွှန်ကြားချက် အစဉ်များကို မြန်ဆန်စေရန်အတွက် ခုံကျော် ဖတ်ရှု ခြင်း လုပ်လေ့ရှိသည်။
ထိန်းချူပ်ဌာန ၏ အဓိက မှာ [[ပရိုဂရမ် ကောင်တာ]]၊ နောက် ညွှန်ကြားချက် ကို ဘယ်နေရာမှ ဖက်ရှုမည် ကို မှတ်သားထားသော အထူး သိုလှောင်ရာ [[ရာဂျစ်စတာ]] တို့ဖြစ်သည်။
[[File:MIPS32_instruction.png | thumb | 400px | [[MIPS architecture]] ၏ ညွှန်ကြားချက် ကို ထိန်းချူပ် ဌာနမှ ဖတ်ရှုပုံ ဖော်ပြသော ပုံကြမ်း]]
ထိန်းချူပ် ဌာန၏ အလုပ်များမှာ နောက် စီပီယူများတွင် ကွာခြားနိုင်သော်လည်း အခြေခံမှာ အောက်ပါအတိုင်းဖြစ်သည်။
# [[ပရိုဂရမ် ကောင်တာ]] ညွှန်ပြသော အခန်းမှ လာမည့် ညွှန်ကြားချက် (instruction) ကုဒ်ကို ဖတ်ပါ။
# ၄င်းညွှန်ကြားချက် ကုဒ်ကို အဓိပ္ပါယ် ပြန်ပြီး [[အမိန့်ပေးချက်]] (command) များ သို့မဟုတ် အခြားစက်များ၏ အဝင်လှိုင်း (signal) များ အဖြစ် လုပ်ဆောင်ပါ။
# ညွှန်ကြားချက် အသစ်ရေးရန် [[ပရိုဂရမ် ကောင်တာ]]ကို တစ်ခုမြင့်ပါ။
# ညွှန်ကြားချက် ပါလျှင် မှတ်ဉာဏ်(Memory Device) အခန်းများမှ အချက်အလက်များကို ဖက်ပါ။ များသောအားဖြင့် ၄င်းဖက်ရှုရမည့် အခန်းနံပါတ်ကို ညွှန်ကြားချက် ကုဒ် ထဲမှာပင် သိမ်းဆည်းလေ့ရှိသည်။
# ညွှန်ကြားချက် သည် [[အေအယ်လ်ယူ]] သို့မဟုတ် အထူးစက်များမှ လုပ်ဆောင်ချက်များ လိုအပ်လျှင် ၄င်းစက်အား မောင်းနှင်ပါ။
# အေအယ်လ်ယူမှ အဖြေကို မှတ်ဉာဏ်(Memory Device)တွင်းသို့ ပြန်လည်သိမ်းဆည်းပါ သို့မဟုတ် [[ပရင့်တာ]] ကဲ့သို့ ပုံနှိပ်စက် များတွင် ထုတ်ပါ။
# အစ အဆင့် (၁) သို့ ပြန်သွားပါ။
== ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဌာန ==
{{main | Arithmetic logic unit | အေယ်လ်ယူ}}
ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် အစိတ်အပိုင်း (Arithmetic and logic unit, ALU) ခေါ် ''အေယ်လ်ယူ'' သည် ဂဏန်း သင်္ချာ နှင့် လော့ဂျစ် ဆောင်ရွက်မှု အပိုင်း နှစ်ခု ကိုလုပ်ဆောင်သည်။
ဂဏန်း သင်္ချာ လုပ်ဆောင်မှုတွင် 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|လော့ဂျစ် လုပ်ဆောင်မှုများ]] အတွက် အသုံးဝင်သည်။
[[စူပါ ကွန်ပျူတာ]]များသည် အေယ်လ်ယူ များစွာပါပြီး တစ်ပြိုင်နက်တည်း များစွာသော ညွှန်ကြားချက်များကို လုပ်ဆောင်နိုင်သည်။ ကွန်ပျူတာတွင် [[SIMD]] နှင့် [[MIMD]] များပါလျှင် [[Graphics processing unit|ဂျီပီယူ]] ခေါ် ရုပ်ပိုင်းဆိုင်ရာ လုပ်ဆောင်မှုများတွင် အေယ်လ်ယူက [[Vector (geometric)|ဗက်တာ]] နှင့် [[Matrix (mathematics)|မတ်ထရစ်]] တို့အတွက် ဂဏန်းသင်္ချာနည်းအဖြစ် ကူညီလုပ်ဆောင်ပေးသည်။
== မှတ်ဉာဏ်(Memory Device) ==
{{main | ကွန်ပျူတာ မှတ်ဉာဏ်}}
[[File:Magnetic core memory.jpg | thumb | 250px | [[သံလိုက် ချက်မ မီမိုရီ]] မှာ ၁၉၆၀ များအထိ တစ်ချိန်က ကျော်ကြားခဲ့သော အဓိက ကွန်ပျူတာ မှတ်ဉာဏ်(Memory Device) ဖြစ်ပြီး ယခုခေတ်တွင် ဆီမီးကွန်ဓာတ်တာ မှတ်ဉာဏ် အဖြစ် ပြောင်းသုံးသည်]]
ကွန်ပျူတာ မှတ်ဉာဏ် တစ်ခုကို ဂဏန်းများ ပို့သွင်း သို့မဟုတ် ဖတ်ရှုနိုင်သည့် အခန်းငယ် အတန်းများ အဖြစ် မြင်နိုင်သည်။ အခန်းတိုင်းတွင် လိပ်စာ (address) တစ်ခု ရှိပြီး ဂဏန်းတစ်လုံးသာ မှတ်ယူနိုင်သည်။ ကွန်ပျူတာကို အခန်းနံပါတ် ၁၃၅၇ တွင် ဂဏန်း ၁၂၃ ရေးပါဟု၄င်း၊ အခန်းနံပါတ် ၁၃၅၇ မှဂဏန်းကို အခန်းနံပါတ် ၂၄၅၆ မှဂဏန်း ဖြင့်ပေါင်း၍ အခန်းနံပါတ် ၁၅၉၅ သို့ ရေးပါဟု၄င်း ညွှန်ကြားနိုင်သည်။ ၄င်းဂဏန်းမှာ လက်တွေ့အားဖြင့် မည်သည့်ကိုမဆို ရည်ညွှန်းနိုင်သည်။ ဂဏန်းနံပါတ်များသာမက ကွန်ပျူတာ [[ညွှန်ကြားချက်]] များပင် ဂဏန်း အဖြစ် အလွယ်တစ်ကူ မှတ်ယူနိုင်သည်။ [[စီပီယူ]] အနေဖြင့် ၄င်းဂဏန်းမှာ မည်သည့် အကြောင်းဖြစ်သည်ဟု မခွဲခြားသောကြောင့် [[ပရိုဂရမ်]]ရေးသူ အနေဖြင့် မှတ်ဉာဏ် ကို ဂဏန်းအဖြစ်ထားပြီး စွယ်စုံ သုံးနိုင်သည်။
ခေတ်ပေါ် ကွန်ပျုတာ အားလုံးနီးပါးသည်မှတ်ဉာဏ်အခန်းများ၏ ရှစ်ခုပါ ဘစ် ([[bit]]) များကို ဘိုက် ([[byte]]) ခေါ် အစုအဖြစ် ထားရှိသိမ်းပေးသည်။ ဘိုက် တစ်ခုသည် ၀မှ ၂၅၅ အထိ၎င်း သို့မဟုတ် -၁၂၈ မှ +၁၂၇ အထိ၎င်း ၂၅၆ မျိုး မှတ်ယူနိုင်သည်။ ပို၍ကြီးသော [[ဂဏန်း]]များ ကိုမှတ်ယူရန် နောက် ဘိုက် တစ်ခု ထပ်ယူနိုင်သည်။ များသောအားဖြင့် ၂ ခု၊ ၄ ခု သို့မဟုတ် ၈ ခု တို့ဖြစ်ကြသည်။ အနှုတ် ဂဏန်းများကို မှတ်ယူရန် [[Two's complement]] သင်္ကေတ ကို အသုံးပြုရန်လိုအပ်သည်။ ကွန်ပျုတာ တစ်ခုသည် မည်သည့် အကြောင်းအရာမဆို [[ကိန်း]] ဖြစ်သာဖေါ်ပြ၍ရပါက သိမ်းပေးထားနိုင်သည်။ ခေတ်ပေါ် ကွန်ပျုတာများသည် မီမိုရီ ဘိုက်ပေါင်း ဘီလီရမ် သို့မဟုတ် ထရီလီရမ် အထိပင် ရှိကြသည်။
စီပီယူတွင် အထူးပြုလုပ်ထားသော ပင်မ မီမိုရီထက် များစွာ လျှင်မြန်စွာ ရေးဖတ်နိုင်သော [[Processor register|ရီဂျစ်စတာ မီမိုရီ]] ပါရှိသည်။ များသောအားဖြင့် စီပီယူ အမျိုးအစားပေါ် မှုတည်၍ ရီဂျစ်စတာ မီမိုရီပေါင်း တစ်ရာမှ နှစ်ရာ အထိ ပါရှိသည်။ ရီဂျစ်စတာ မီမိုရီကို မကြာခဏ အသုံးပြုသော ဒေတာ များကို ပင်မ မီမိုရီ သုံးရန်မလိုပဲ ဖတ်ရှုရန် သုံးသည်။
ကွန်ပျုတာ မီမိုရီတွင် အဓိက နှစ်မျိုးတို့မှာ [[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) များဖြစ်ကြသည်။
{| class="wikitable"
|+'''[[Computer software]]'''
|-
| rowspan="7" | [[Operating System]] || [[Unix]]/[[Berkeley Software Distribution|BSD]] || [[UNIX System V]], [[AIX operating system|AIX]], [[HP-UX]], [[Solaris Operating System|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|Mac OS classic]], [[Mac OS X]]
|-
| [[Embedded operating system|Embedded]] and [[Real-time operating system|real-time]] || [[List of operating systems#Embedded|List of embedded operating systems]]
|-
| Experimental || [[Amoeba distributed operating system|Amoeba]], [[Oberon operating system|Oberon]]/[[Bluebottle OS|Bluebottle]], [[Plan 9 from Bell Labs]]
|-
| rowspan="2" | [[Library (computing)|Library]] || [[Multimedia]] || [[DirectX]], [[OpenGL]], [[OpenAL]]
|-
| Programming library || [[C standard library]], [[Standard template library]]
|-
| rowspan="2" | [[Data (computing)|Data]] || [[Protocol (computing)|Protocol]] || [[TCP/IP]], [[Kermit (protocol)|Kermit]], [[FTP]], [[HTTP]], [[SMTP]]
|-
| [[File format]] || [[HTML]], [[XML]], [[JPEG]], [[MPEG]], [[Portable Network Graphics|PNG]]
|-
| rowspan="2" | [[User interface]] || [[Graphical user interface]] ([[WIMP (computing)|WIMP]]) || [[Microsoft Windows]], [[GNOME]], [[KDE]], [[QNX|QNX Photon]], [[Common Desktop Environment|CDE]], [[Graphical Environment Manager|GEM]]
|-
| [[Text user interface]] || [[Command line interface]], [[Shell (computing)|shells]]
|-
| rowspan="9" | [[Application software|Application]] || [[Office suite]] || [[Word processing]], [[Desktop publishing]], [[Presentation program]], [[Database management system]], Scheduling & Time management, [[Spreadsheet]], [[Accounting software]]
|-
| [[Internet]] Access || [[Web browser|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
|-
| [[Computer graphics|Graphics]] || [[Raster graphics editor]], [[Vector graphics editor]], [[3D modeler]], [[Animation software|Animation editor]], [[3D computer graphics]], [[Video editing]], [[Image processing]]
|-
| [[Digital audio|Audio]] || [[Digital audio editor]], [[Audio player (software)|Audio playback]], Mixing, [[Software synthesizer|Audio synthesis]], [[Computer music]]
|-
| [[Software Engineering]] || [[Compiler]], [[Assembly language#Assembler|Assembler]], [[Interpreter (computing)|Interpreter]], [[Debugger]], [[Text Editor]], [[Integrated development environment]], [[Performance analysis]], [[Revision control]], [[Software configuration management]]
|-
| Educational || [[Edutainment]], [[Educational game]], [[Serious game]], [[Flight simulator]]
|-
| [[Computer and video games|Games]] || [[Strategy game|Strategy]], Arcade, [[Computer puzzle game|Puzzle]], Simulation, [[First-person shooter]], [[Platform game|Platform]], [[Massively multiplayer online game|Massively multiplayer]], [[Interactive fiction]]
|-
| Misc || [[Artificial intelligence]], [[Antivirus software]], [[Malware scanner]], [[Installer]]/[[Package management system]]s, [[File manager]]
|}
[[File:computer_parts.jpg| thumb| 300px | ကွန်ပျူတာ၏ အစိတ်အပိုင်းများ]]
=== Firmware ===
[[File:layer.jpg|thumb|200px|Hardware, Firmware, Software]]
[[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 များနဲ့ဆက်သွယ်ထားပါတယ်။
== ကျမ်းကိုးစာရင်းများ ==
{{reflist}}
{{DEFAULTSORT:က}}
[[Category:နည်းပညာ]]
[[ace:Komputer]]
[[af:Rekenaar]]
[[als:Computer]]
[[am:ኮምፒዩተር]]
[[an:Ordinador]]
[[ang:Spearctelle]]
[[ar:حاسوب]]
[[arc:ܚܫܘܒܐ (ܡܐܟܢܐ)]]
[[arz:كومبيوتر]]
[[as:কম্পিউটাৰ]]
[[ast:Computadora]]
[[az:Kompyuter]]
[[ba:Компьютер]]
[[bar:Rechna]]
[[bat-smg:Kuompioteris]]
[[be:Камп'ютар]]
[[be-x-old:Кампутар]]
[[bg:Компютър]]
[[bn:কম্পিউটার]]
[[bo:གློག་ཀླད།]]
[[bpy:কম্পিউটার]]
[[br:Urzhiataer]]
[[bs:Računar]]
[[bug:Komputer]]
[[ca:Ordinador]]
[[ce:ГIулкхдириг]]
[[ceb:Kompiyuter]]
[[chy:Tséohketoetanóto]]
[[crh:Kompyuter]]
[[cs:Počítač]]
[[cu:Съмѣтатєл҄ь]]
[[cv:Компьютер]]
[[cy:Cyfrifiadur]]
[[da:Computer]]
[[de:Computer]]
[[diq:Komputer]]
[[el:Ηλεκτρονικός υπολογιστής]]
[[eml:Zarvlån]]
[[en:Computer]]
[[eo:Komputilo]]
[[es:Computadora]]
[[et:Arvuti]]
[[eu:Ordenagailu]]
[[fa:رایانه]]
[[fi:Tietokone]]
[[fiu-vro:Puutri]]
[[fo:Teldur]]
[[fr:Ordinateur]]
[[fur:Ordenadôr]]
[[fy:Kompjûter]]
[[ga:Ríomhaire]]
[[gan:電腦]]
[[gd:Coimpiutair]]
[[gl:Ordenador]]
[[got:𐍅𐌹𐍄𐌹𐍂𐌰𐌷𐌽𐌾𐌰𐌽𐌳𐍃/Witirahnjands]]
[[gu:કમ્પ્યૂટર]]
[[gv:Co-earrooder]]
[[ha:Na'ura]]
[[hak:Thien-nó]]
[[he:מחשב]]
[[hi:अभिकलित्र]]
[[hif:Computer]]
[[hr:Računalo]]
[[ht:Òdinatè]]
[[hu:Számítógép]]
[[hy:Համակարգիչ]]
[[ia:Ordinator]]
[[id:Komputer]]
[[ig:Orunotu]]
[[ilo:Kompiuter]]
[[io:Ordinatro]]
[[is:Tölva]]
[[it:Computer]]
[[iu:ᖃᕋᓴᐅᔭᖅ]]
[[ja:コンピュータ]]
[[jbo:skami]]
[[jv:Komputer]]
[[ka:კომპიუტერი]]
[[kg:Ludinatelo]]
[[kk:Компьютер]]
[[km:កុំព្យូទ័រ]]
[[kn:ಗಣಕಯಂತ್ರ]]
[[ko:컴퓨터]]
[[krc:Компьютер]]
[[ks:کَمپیوٗٹَر]]
[[ku:Komputer]]
[[kw:Comptyor]]
[[ky:Компютер (ЭЭМ)]]
[[la:Computatrum]]
[[lad:Contador]]
[[lb:Computer]]
[[li:Computer]]
[[lmo:Cumpiüter]]
[[ln:Esálela]]
[[lo:ຄອມພິວເຕີ]]
[[lt:Kompiuteris]]
[[lv:Dators]]
[[mg:Mpikajy]]
[[mhr:Компьютер]]
[[mk:Сметач]]
[[ml:കമ്പ്യൂട്ടർ]]
[[mn:Компьютер]]
[[mr:संगणक विज्ञान]]
[[ms:Komputer]]
[[mt:Kompjuter]]
[[mwl:Cumputador]]
[[myv:Арси машинась]]
[[mzn:کامپیوتر]]
[[nah:Chīuhpōhualhuaztli]]
[[nap:Computer]]
[[nds:Reekner]]
[[nds-nl:Komputer]]
[[ne:कम्प्युटर]]
[[new:कम्प्युटर]]
[[nl:Computer]]
[[nn:Datamaskin]]
[[no:Datamaskin]]
[[nv:Béésh bee akʼeʼelchíhí tʼáá bí nitsékeesígíí]]
[[oc:Ordinator]]
[[or:କମ୍ପ୍ୟୁଟର]]
[[pa:ਕੰਪਿਊਟਰ]]
[[pam:Computer]]
[[pl:Komputer]]
[[pnb:کمپیوٹر]]
[[pnt:Ηλεκτρονικόν υπολογιστής]]
[[ps:سولګر]]
[[pt:Computador]]
[[qu:Antañiqiq]]
[[ro:Calculator]]
[[ru:Компьютер]]
[[rue:Компютер]]
[[sa:सङ्गणकम्]]
[[sah:Көмпүүтэр]]
[[sc:Elaboradore]]
[[scn:Computer]]
[[sco:Computer]]
[[sh:Kompjuter]]
[[si:පරිගණකය]]
[[simple:Computer]]
[[sk:Počítač]]
[[sl:Računalnik]]
[[so:Kumbuyuutar]]
[[sq:Kompjuteri]]
[[sr:Рачунар]]
[[stq:Computer]]
[[sv:Dator]]
[[sw:Tarakilishi]]
[[szl:Kůmputer]]
[[ta:கணினி]]
[[te:కంప్యూటర్]]
[[tg:Компутар]]
[[th:คอมพิวเตอร์]]
[[tk:Kompýuter]]
[[tl:Kompyuter]]
[[tr:Bilgisayar]]
[[tt:Санак]]
[[uk:Комп'ютер]]
[[ur:شمارِندہ]]
[[uz:Kompyuter]]
[[vec:Computer]]
[[vi:Máy tính]]
[[vls:Computer]]
[[wa:Copiutrece]]
[[war:Kompyuter]]
[[wo:Nosukaay]]
[[wuu:计算机]]
[[xh:Ikhompyutha]]
[[xmf:კომპიუტერი]]
[[yi:קאמפיוטער]]
[[yo:Kọ̀mpútà]]
[[za:Dennauj]]
[[zh:電子計算機]]
[[zh-classical:電腦]]
[[zh-min-nan:Tiān-náu]]
[[zh-yue:電腦]]
|