دويال غونډالونه
ليك: اېم موريس مانو
ژباړه: عمر منصور انصاري
۱. ګڼيال سولګرونه او ګڼيال غونډالونه (Digital Computers and Digital Systems)
ګڼيالو سولګرونو ډېر پوهنيز (ساينسي)، رغاوه ييز (صنعتي) او سوداګريز پرمختګونه شوني (ممكن) كړل، چې لدې پرته به ناشوني واى. زموږ تشيالي مخكښى (space program) به د رښتينمهالې (real-time)، پرله پسې سولګريزې څارنې (monitoring) څخه پرته ناشونى واى او دا هم څرګنده ده، چې نن ډېرې سوداګريزې پروژې يواځې د خپلكاري (اتوماتې) خبرتوكيزې بهيرونې (data processing) په مرسته په اغېزمنه توګه چار (عمل) تر سره كوي. سولګرونه په ساينسي شمېرنو، سوداګريزې او كاروباري خبرتوكيزې بهيرونې، هوايي ترافيكڅارنې، تشيالي لارښوونې (space guidance)، ښوونيز ډګر او ډېرو نورو برخو كې كاريږي. د ګڼيال سولګر تر ټولو غټ شته (ملكيت) يې عموميت دى. دا كولاى شي د لارښوونو يو ترتيب وځاري، چې مخكښى (program) بلل كيږي، چې په وركړ شويو خبرتوكيو چليږي. كارن (user) كولاى شي د ځانګړې اړتيا په بنسټ مخكښى يا خبرتوكي ځانګړيز يا بدل كړي. ددې نرمښت (flexibility) په نتيجه كې، ټولموخي (general-purpose) ګڼيال كمپيوټرونه كولاى شي د يو پراخ بېلابېلښت (variety) خبرتيايي-بهيريزې چارې تر سره كړي.
ټولموخى ګڼيال سولګر، د ګڼيال غونډال تر ټولو ښه پېژندل شوې بېلګه ده. نور ساري يې د ټېلېفون switching exchange، ګڼيال برېښنامېچي (voltmeters)، د وارواري شمېرونكي (frequency counters)، شمېريز ماشينونه، لرېخاپ ماشينونه (teletype machines) او داسې نور دي. د ګڼيال غونډال ځانګړنې (خصوصيات) يې د خبرتياوو د discrete عناصرو سمبالښت دى. دغسې discrete عناصر ښايي برېښنايي ټكانونه (electrical impulses)، لسيالې ګڼې (decimal digits)، د يوې آبېڅې توري (alphabet characters)، حسابي چلښتونه (arithmetic operations)، ندايه نښې (punctuation symbols) يا دداسې نورو مانا لرونكيو سمبولونو ټولګه وي. د خبرتياوو د discrete عناصرو څنګ په څنګ ايښودنه (juxtaposition) د خبرتياوو يو څومره والى (quantity) ښيي. د ساري په توګه د d، o او g توري dog جوړوي، د ۲۳۷ توري يوه شمېره جوړوي. نو ځكه، د discrete عناصرو يو ترتيب يوه ژبه جوړوي، چې دا هغه قوانين دي چې خبرتياوې وړي يا استوي. لومړني ګڼيال سولګرونه ډېرى د شمېره ييز (numerical) سولښت (computation) لپاره كارېدل. پداسې حال كې، هغه discrete عناصر، چې كارېدل، ګڼې (digits) وې. لدغه كړنيز (application) څخه، د ګڼيال سولګر اصلاح راوټوكېده. د ګڼيال سولګر لپاره يو تر ټولو پرځاى نوم به discrete خبرتيايي بهيريز غونډال (discrete information processing system) وي.
د خبرتياوو discrete عناصر په ګڼيال غونډال كې په فزيكي څومره واليو، چې نښيالونه (signals) بلل كيږي، ښودل كيږي. برېښنايي سګنلونه لكه ولتاجونه (voltages) او كرنټونه (currents) تر ټولو عام دي. دغه سګنلونه په ټولو نن-ورځيو برېښيزو ګڼيالو غونډالونو كې يواځې دوه discrete ارزښتونه (قيمتونه) لري او ويل كيږي، چې دويال (binary) دي. د ګڼيال-غونډال اوډونكى (designer) د دويالو (binary) سګنلونو په كارونې باندې د ډېر-ارزښتي (many-valued) برېښيزو سركټونو (circuits) د ټيټ باوريتابه (reliability) له كبله محدود شوى، په بله ژبه، له لسو حالتونو (states) سره يو سركټ، چې د هر حالت لپاره د ولټاج يو discrete ارزښت كاروي، اوډل كېداى شي، خو دابه د چلښت (operation) ډېر ټيټ باوريتوب ښكاروي. په بله خوا كې، يو ټرانزېسټر (transistor) سركټ، چې يا بل (on) او يا ګل (off) وي، دوه ممكنه سګنلي ارزښتونه (signal values) لري او داسې جوړېداى (construct) شي، چې خورا باوري وي. د توكيو (components) ددې فزيكي بنديز له كبله او لدې كبله، چې د انسان سول (منطق) (logic) دويال (binary) انګېرل كيږي، هغه ګڼيال غونډالونه، چې د discrete ارزښتونو د اخيستنې لپاره درول (constrain) شوي، د دويالو ارزښتونو د اخيستنې لپاره لا درول شويدي.
د خبرتياوو discrete څومره والي (quantities) يا خو د بهير (process) له طبيعته راټوكيږي او يا په قصدي ډول د پرله پسې بهير څخه څومرول (quantized) كيږي. د ساري په توګه، د يو استحقاقي جدول (payroll) يو مهالوېش (schedule) په ارثي توګه يو discrete بهير دى، چې د كارمن (employee) نومونه، د تذكرې نمرې، اونيزې تنخاګانې، ماليات او داسې نور لري. د يو كارمن د وركړې چېك (paycheck) د discrete خبرتوكيزو ارزښتونو [لكه د آبېڅې توري (نومونه)، ګڼې (تنخا) او ځانګړي سمبولونه لكه $] په كارونه بهيريږي. له بلې خوا، د څېږنې يو ساينسپوه كېداى شي د يو پرله پسې بهير كتنه (observation) وكړي، خو يواځې مشخص څومره والي (څومروالى\څومرښت) په جدولي بڼه (tabular form) كې ثبت (record) كړي. ساينسپوه ځكه د خپلو پرله پسيزو خبرتوكيو څومرونه (quantizing) كوي. د هغه په جدول (table) كې هره شمېره (number) د خبرتياوو يو discrete عنصر دى.
ډېر فزيكي غونډالونه په رياضيكي توګه پر توپيريزو مساواتونو (differential equations) [چې د وخت د يو چار (عمل) په څېر يې هوارى (حل) د بهير بشپړ رياضيكي كړه (behavior) وركوي] شرح كېداى شي. يو اټكليال (analog) سولګر د يو فزيكي غونډال نېغ (direct) پېښې\ورته والى\ورتښت (simulation) ترسره كوي. د سولګر هره برخه د تر لوستنې (مطالعې) لاندې بهير د يوې ځانګړې برخې اټكليال (analog) دى. په اټكليال سولګر كې متحولونه (variables) په پرله پسې سګنلونو ښودل كيږي، معمولا، برېښيز ولتاجونه، چې د وخت په تېرېدو بدلون (تحول) كوي. د سګنل (signal) متحولونه د بهير هغو ته اټكلياليز (analogous) په نظر كې نيول كيږي او په همدغه بڼه كړه وړه كوي. نو د اټكليال ولتاج مېچنې (measurements) د بهير د متحولونو ځاى نيولاى شي. د اټكليال سګنل اصطلاح كله كله د پرله پسيز (متداوم) (continuous) سګنل ځاى كله كله نيولاى شي، ځكه `اټكليال سولګر` د داسې يو سولګر، چې پرله پسيز متحولونه سمبالوي مانا لري. په ګڼيال سولګر كې د يو فزيكي بهير د كولو لپاره څومره والي بايد وڅومرول (quantized) شي. كله چې د بهير متحولونه پر رښتينمهالي پرله پسيز سګنلونو وړاندې شي، وروستي هغه د يو اټكليال-ګڼيال-ته (analog-to-digital) بدلښت (conversion) وسيلې لخوا څومرول (quantized) كيږي. يو فزيكي غونډال، چې كړه (behavior) يې په رياضيكي مساواتونو (equations) سره شرح شوى وي، په يو ګڼيال سولګر كې، چې د شمېريزو ميتودونو په وسيله سره ورته (simulated) شوى دى. كله چې بهيرېدونكې ربړه (problem) په ارثي ډول discrete وي، لكه په سوداګريزو كړنيزونو (applications) كې، ګڼيال سولګر متحولونه د هغوى په طبيعي بڼه كې سمبالوي.
د ګڼيالو سولګرونو يو block diagram په لاندې انځور كې ښودل شوى دى. حافظه يي يوون (memory unit) مخكښي (پروګرامونه) او همداراز راكړيز (input)، وركړيز (output) او منځګړي (intermediate) خبرتوكي زېرموي. د بهيرګريز يوون (processor unit) حسابي او نورې خبرتوكيزې-بهيريزې دندې، چې د پروګرام لخوا په ګوته شوې وي سرته رسوي. څارنيز يوون (control unit) د بېلابېلو يوونونو تر منځ د خبرتياوو د بهېدنې كتنه (supervision) كوي. څارنيز يوون لارښوونې، چې په حافظه كې زېرمېدلي دي، يو په يو له پروګرامه بيامومي (retrieve كوي). د هرې لارښوونې لپاره، څارنيز يوون بهيرګر لدې خبروي، چې هغه چلښت چې د لارښوونې لخوا په ګوته شوى، دواړه، پروګرام او خبرتوكي په حافظه كې زېرمه شوي دي.
څارنيز يوون د مخكښي (پروګرام) د لارښوونو كتنه كوي، او بهيرګر هغه خبرتوكي، چې د مخكښي لخوا په ګوته شوي وي سمبالوي. د كارن (user) لخوا برابر شوى مخكښى (پروګرام) او خبرتوكي حافظې ته د راكړيز وسيلو، [لكه د ورغو-كارت لوستوال (punch-card reader) او يا يو لرېخاپ ليكوال (teletypewriter)] د اسانتياوو په مټ لېږدول كيږي. يوه وركړيز وسيله، لكه چاپګر (printer)، د سولښتونو (computations) پايله ترلاسوي او چاپشوې پايلې كارن ته وړاندې كوي. راكړيزې او وركړيزې وسيلې ځانګړي ګڼيال غونډالونه دي، چې د برېښميخانيكي (electromechanical) برخو (parts) لخوا را ايستل شوي او د برېښيزو ګڼيالو سركټونو لخوا څاريږي يا څارل كيږي.
يو برېښيز شمېرګر (calculator)، له ليكمن (keyboard) يې د راكړيزې وسيلې په اوسېدو سره او وركړيز وسيله يې له شمېريزې راڅرګندۍ (display) سره، ګڼيال سولګر ته ورته يو ګڼيال غونډال دى. شمېرګر ته لارښوونې د چار تڼيو (function keys) له لارې ننويستل كيږي، لكه جمع او تفريق. خبرتوكي د شمېريزو تڼيو په وسيله ننويستل كيږي، پايلې په نېغه په شمېريزه بڼه راڅرګنديږي. څينې شمېګرونه له چاپ وړتياوو او پروګراموړيو اسانتياوو سره ګڼيالو سولګرونو ته ورته والى پيدا كوي، كه څه هم، يو ګڼيال سولګر تر شمېرګره ځواكمنه وسيله ده. يو ګڼيال سولګر ډېرې نورې راكړيزې او وركړيزې وسيلې په ځان كې ځايولاى شي، دا نه يواځې حسابي سولښتونه (computations) كولاى شي، بلكې سوليزې (منطقي) (logical) چلونې او چلېدنې هم كولاى شي او همداراز د بهرنيو او دننيو حالاتو په بنسټ د پريڼ (تصميم) نيونې لپاره مخكښېداى (پروګرامېداى) شي. يو ګڼيال سولګر د ګڼيالو modules يو تړښتوال\منځتړښتى (interconnection) دى. د هر ګڼيال module د چلښت د پېژندنې لپاره دا اړينه ده، چې د ګڼيالو غونډالونو او د هغوى د عمومي كړو (behavior) اساسي پوهه ولرئ. ددې لړۍ لومړنۍ نيمه به په ټوليزه بڼه له ګڼيالو غونډالونو سره سروكار ولري، چې د هغوى د اوډون لپاره اړين (ضروري) شاليد (background) برابر كړاى شي. د لړۍ دويمه نيمه د ګڼيال سولګر بېلابېل modules بحثوي، د هغوى چلښت، اوډون او د حافظه يي يوون چلښتيزې ځانګړنې به وروسته بيان شي. د بهيرګريز يوون اداره او اوډون به هم راواخستل شي. د څارنيز يوون د اوډون بېلابېل مېتودونه به هم وپېژندل شي. د كوچنيو، بشپړو ګڼيالو سولګرونو اداره او اوډون به وړاندې شي.
يو بهيرګر، چې كله له څارنيز يوون سره يو ځاى شي داسې يو توكى (component) جوړوي، چې منځى بهيريز يوون [Central Processing Unit (CPU)] بلل كيږي. يو منځى بهيريز يوون (CPU)، چې په كوچنيو انتيګرال شويو سركټي (integrated circuit) بوخڅو (packages) كې نغښتل شوى وي، ووړ بهيرګر (microprocessor) بلل كيږي. هغه حافظه يي يوون، او هغه برخه، چې د ووړبهيرګر او راكړيزو او وركړيزو وسيلو تر منځ مخياله (interface) څاري، ښايي د ووړبهيرګر د بوخڅې تر منځ نغښتې وي او يا ښايي په نورو كوچنيو انتيګرال شويو-سركټي بوخڅو (integrated circuit packages) كې نغښتل شوى وي. له حافظې او مخياليز څار سره يوه يوځاى شوې CPU ته، چې يو كوچنى سولګر جوړوي، ووړسولګر (micro-computer) وايي. د ووړسولګريزو توكيو شته والي (availability) د ګڼيال غونډال د اوډون ټكنالوجي پر اوښتون راوستله، چې اوډونكي ته د داسې جوړښتونو (structures) د هستونې خپلواكي وركوي، چې پخوا به غير اقتصادي وو.
دا مخكې ياده شوې وه، چې ګڼيال سولګرونه د خبرتياوو discrete عناصر سمبالوي او دا چې دغه عناصر په دوياله (binary) بڼه ښودل شويدي. د شمېرښتونو (calculations) لپاره كارېدونكي چلندان (operands) ښايي په دويال شمېريز غونډال كې وښودل شي. نو discrete عناصر، د لسيالو ګڼو په ګډون په دويالو رمزونو (codes) كې ښودل شويدي. خبرتوكيزه بهيرونه د دويالو سوليزو (منطقي) عناصرو په وسيله د دويالو سګنالونو په كارونه روانه شوېده. څومره والي (quantities) په دويالو زېرميزو عناصرو كې زېرمه شويدي. ددې ليكنې موخه د بېلابېلو دويالي مفاهيمو، په ورپسې ليكنو كې د نورې مشرحې مطالعې د اخځليك په توګه، پېژندنه ده.
۲. دويالې شمېرې (Binary Numbers)
يوه لسياله (decimal) شمېره لكه 7392 يو څومره والى ښيي، چې له 7 زرونو جمع 3 سوونو جمع 9 لسونو جمع 2 يوونو (units) سره مساوي كيږي. زرونه، سوونه، او نور د 10 ځواكونه (توانونه) (powers) دي، چې د ضريبونو (coefficients) د ځايونو (positions) لخوا استنباط شويدي. كه نور هم دقيق شو، 7392 بايد داسې وليكل شي:
7 X 103 + 3 X 102 + 9 X 101 + 2 X 100
كه څه هم، اړوښت (conversion) دادى، چې يواځې ضريبونه وليكل شي او له هغه ځايه (position) د 10 اړين ځواك (توان) پايله وكښي. په ټوليزه بڼه، له لسيال (point) سره يوه شمېره د ضريبونو پر يوې لړۍ په لاندې توګه ښودل كيږي:
a5a4a2a1a0a-1a-2a-3
د aj ضريب له (0، 1، 2، …، 9) لسو ګڼو څخه يو دى او د j د subscript ارزښت د ځاى ارزښت وركوي، نو ځكه د 10 ځواك (توان)، چې ضريب بايد پرې ضرب شي:
105a5 + 104a4 + 103a3 + 102a2 + 101a1 + 100a0 + 10-1a-1 + 10-2a-2 + 10-3a-3
ويل كيږي چې لسيال شمېريز غونډال 10 بنسټى (base or radix 10) دى، ځكه چې دا لس ګڼې كاروي او ضريبونه (coefficients) يې د لسو پر ځواك (توان) ضرب شويدي. دويال غونډال يو توپيرند (different) شمېريز غونډال دى. د دويال شمېريز غونډال ضريبونه دوه شوني (ممكن) ارزښتونه : 0 او 1 لري. هر aj ضريب پر 2j باندې ضربيږي. د ساري په توګه، د دويالې شمېرې 11010.11 لسيال مساوي (equivalent) 26.75 دى، لكه چې د 2 په ځواك (توان) د ضريبونو له ضربه ښكاري:
1 X 24 + 1 X 23 + 0 X 22 + 1 X 21 + 0 X 20 + 1 X 2-1 + 1 X 2-2 = 26.75
په ټوليزه بڼه، يوه شمېره، چې په r-بنسټي (base-r) غونډال كې شرح شوې وي، د r پر ځواك (توان) ضرب شوي ضريبونه (coefficients) لري:
an . rn + an-1 . rn-1+ … + a2 . r2 + a1 . r1 + a0 + a-1 . r-1 + a-2 . r-2 + … + a-m . r-m
د aj ضريبونه له 0 تر r-1 پورې په ارزښت كې بريد (range) لري. د بېلابېلو بنسټونو د شمېرو ترمنځ د توپيرموندنې لپاره، موږ ضريبونه په ليندكيو (قوسينو) كې ايساروو او له كارول شوي بنسټ سره يو مساوي subscript ليكو (خو كله كله يواځې د هغو لسيالو شمېرو لپاره نه، چې عنصر پكې دا روښانوي، چې لسيال دى). د 5-بنسټې شمېرې يوه بېلګه ده:
(4021.2)5 = 4 X 53 + 0 X 52 + 2 X 51 + 1 X 50 + 2 X 51 = (511.4)10
ياد ولرئ، چې د 5-بنسټي لپاره ضريبي ارزښتونه يواځې 0، 1، 2، 3 او 4 دي. دا دوديزه ده، چې د ضريبونو لپاره له لسيال غونډال څخه، هله چې د شمېرې بنسټ له لسو لږ وي، اړينې r كڼې پور (borrow) شي. د آبېڅې توري ددې لپاره كارول كيږي، چې هله چې د شمېرې بنسټ له ۱۰ ډېر وي، د لسو لسيالې ګڼې ضميمه (supplement) كړي. د ساري په توګه، په شپاړسيال (hexadecimal) (۱۶ بنسټي) شمېريز غونډال كې، لومړنۍ لس ګڼې له لسيال غونډال څخه پور شويدي. د A، B، C، D، E او F توري د 10، 11، 12، 13، 14، او 15 ګڼو لپاره په ترتيب سره كارول كيږي. د شپاړسيالې شمېرې يوه بېلګه ده:
(B65F)16 = 11 X 163 + 6 X 162 + 5 X 16 + 15 = (46687)10
په لسيال (decimal)، دويال (binary)، اتيال (octal) او شپاړسيال (hexadecimal) غونډالونو كې لومړۍ ۱۶ شمېرې په لاندې جدول كې كښل شويدي.
له r-بنسټ سره د شمېرو حسابي چلښتونه (operations) د لسيالو شمېرو همغه قانون اخلي. كله چې له اشنا 10 بنسټي پرته بل يو وكارول شي، د سړي بايد پام وي، چې يواځې د r اجازه وړې (allowable) ګڼې وكاروي. د دوو دويالو شمېرو د جمعې، تفريق او ضرب بېلګې لاندې ښودل شويدي:
ورغونډ (augend): 101101 ترې وتلى (minuend): 101101
غونډ (addend): +100111 وتلى (subtrahend): -100111
ټول (sum): 1010100 توپير (difference): 000110
ورډېروونى (multiplicand): 1011 ډېروونى (multiplier): X101
1011
0000
1011
ابره (product): 110111
جدول. له بېلابېلو بنسټونو سره، شمېرې د دوو دويالو شمېرو جمع د لسيالو په څېر د ورته قوانينو لاندې شمېرل كيږي، پرته لدې چې په كوم ځانګړي ځاى (position) كې د جمعې ګڼې يواځې 0 يا 1 كېداى شي. كه كوم `پاتشونى` (باقي) (carry) په يو ځانګړي مقام كې ترلاسه شو، د يو ځانګړي ځاى د ګڼو د لوړې جوړې لخوا كارول كيږي. تفريق ترې يوڅه پېچلى دى. قوانين تر اوسه هماغه د لسيال دي، لدې پرته چې په يو ځانګړي ځاى كې `پور` (قرض) (borrow) د ترې وتلي (مفروق منه) ګڼې ته 2 ورغونډوي (جمع كوي) (په لسيال غونډال كې يو پور (borrow) ترې وتلې (minuend) ګڼې ته 10 ورغونډوي. ضرب ډېر ساده دى. د ډېروونى (مضروب فيه) (multiplier) ګڼې تل 1 يا 0 وي، نو ځكه، يو برخيز (partial) ضرب پايلې يا خو له ورډېروونى (مضروب) (multiplicand) او يا هم له 0 سره مساوي دي.