1837: Չարլզ Բեբիջի վերլուծական շարժիչը. կոնցեպտ ընդհանուր նշանակության համակարգիչների համար

Gevorg Khachatryan
Picsart Academy
Published in
8 min readApr 5, 2024

Նախաբան

Վերլուծական շարժիչը թվային մեխանիկական ընդհանուր նշանակության (օգտագործման) համակարգիչ է, որը նախագծվել է անգլիացի մաթեմատիկոս և համակարգչային պիոներ Չարլզ Բեբիջի կողմից: Այն առաջին անգամ կառուցվել է 1837 թվականին՝ որպես Babbage-ի difference շարժիչի (նախատեսված բազմանդամ ֆունկցիաների աղյուսակավորման համար) իրավահաջորդ, այն ուներ ավելի պարզ դիզայն՝ մեխանիկական հաշվիչ սարքի համար: Վերլուծական շարժիչը ներառում էր տրամաբանական թվաբանական միավորներ, կառավարման հոսք՝ ճյուղավորման և օղակների տեսքով և ինտեգրված հիշողություն. ահա այս ամենից էլ ստացվեց ընդհանուր նշանակության համակարգչի առաջին դիզայնը, որը ժամանակակից տերմիններով կարելի է նկարագրել որպես Turing-complete:

Հաշվիչ մեքենայի մի մասը՝ վերլուծական շարժիչի տպագրական մեխանիզմով, որը կառուցվել է Չարլզ Բեբիջի կողմից, այժմ ցուցադրված է Լոնդոնի Գիտության թանգարանում:

Այնուամենայնիվ, Բեբիջը երբեք չկարողացավ ավարտին հասցնել իր համակարգիչներից որևէ մեկի կառուցումը մինչև վերջ , քանի որ ունենում էր կոնֆլիկտներ իր գլխավոր ինժեների հետ, ինչպես նաև առկա էին խնդիրներ՝ կապված նախագծերի ֆինանսավորման հետ: Ավելի քան մեկ դար անց՝ միայն 1941 թվականին, մեկ այլ ինժեներ՝ Կոնրադ Զուզեն ստեղծեց առաջին ընդհանուր նշանակության համակարգիչը՝ Z3-ը, այն բանից հետո, երբ Բեբիջը 1837 թվականին առաջարկեց վերլուծական շարժիչը:

Կառուցվածքը

Բեբիջի առաջին փորձը մեխանիկական հաշվողական սարքի՝ Difference Engine-ի վրա, որը հատուկ նշանակության մեքենա էր՝ նախատեսված լոգարիթմներով և եռանկյունաչափական ֆունկցիաներով աղյուսակավորման համար՝ գնահատելով դրանց վերջավոր տարբերությունները, և որի վերջնական արդյունքը կլիներ մոտավոր բազմանդամների ստեղծումը: Այս մեքենայի կառուցումը երբեք չի ավարտվել, քանի որ ինչպես արդեն նշեցինք, Բեբիջը շարունակական բնույթի կոնֆլիկտներ ուներ իր գլխավոր ինժեներ Ջոզեֆ Կլեմենտի հետ, և ի վերջո բրիտանական կառավարությունը կասեցրեց ֆինանսավորումը նախագծի համար:

Եվ ահա հենց այս առաջին նախագծի իրականացման ժամանակ Բեբիջը հասկացավ, որ հնարավոր է շատ ավելի ընդհանուր նշանակության դիզայնով համակարգիչ ստանալ, որն էլ հետագայում պետք է լիներ վերլուծական շարժիչը։ Այսպիսով ՝վերլուծական շարժիչի նախագծման աշխատանքները սկսվել են մոտ 1833 թվականին։

Մուտքագրումը, որը բաղկացած էր «բանաձևերից» և տվյալներից, պետք է տրամադրվեր մեքենային դակված քարտերի միջոցով. մի մեթոդ, որն այն ժամանակ օգտագործվում էր մեխանիկական ջուլհակներն ուղղորդելու համար։ Տվյալները (թվերը) պետք է մուտքագրվեին դակված քարտերի վրա՝ օգտագործելով Jacquard ջուլհակի քարտերի ընթերցման տեխնոլոգիան։ Արդյունք ստանալու համար մեքենան ուներ տպիչ, կոր պլոտտեր և զանգ։ Մեքենան կարող է նաև թվեր փորագրել քարտերի վրա՝ հետագայում դրանք տառերով կարդալու համար: Այն օգտագործում էր սովորական 10-ի աստիճան ֆիքսված կետի թվաբանություն։

Մեքենան ծրագրավորելու համար օգտագործված երկու տեսակի դակված քարտերը, համապատասխանաբար «գործառնական քարտեր», հրահանգների մուտքագրման համար և «փոփոխական քարտեր», տվյալների մուտքագրման համար:

Ըստ նախատեսվածի՝ պետք է լիներ հիշողության տարածք, որը կարող էր պահել 50 տասնորդական թվանշաններով 1000 թվեր յուրաքանչյուրը (մոտ 16,6 կբ)։ Թվաբանական միավորը («mill») կկարողանա կատարել բոլոր չորս թվաբանական գործողությունները, համեմատությունները և կամովի նաև քառակուսի արմատի հաշվումը: Ի սկզբանե (1838 թ.) այն ուներ հետևյալ տեսքը՝ ընդհանուր առմամբ շրջանաձև հատակագիծ, որի երկար պահոցը դուրս էր գալիս մեքենայի մի կողմից: Ավելի ուշ, գծագրերը (1858) պատկերում են կանոնավոր ցանցային դասավորություն։ Ինչպես ժամանակակից համակարգչի կենտրոնական պրոցեսորը (CPU), mill -ը պետք է հիմնվի իր ներքին ընթացակարգերի վրա, որոնք պետք է պահվեն պտտվող թմբուկների մեջ մտցված «barrels» կոչվող կցորդների տեսքով, որպեսզի կատարի որոշ ավելի բարդ հրահանգներ, որոնք կարող են նշել օգտագործողի ծրագիրը:

1840 թվականի անալիտիկ շարժիչի պլանային դիագրամ:

Ծրագրավորման լեզուն, որը պետք է օգտագործվեր օգտագործողների կողմից, նման էր ժամանակակից ասսեմբլերական լեզուներին: Loop-եր և պայմանական ճյուղավորումներ հնարավոր էին, և այդպիսով, լեզուն, ինչպես ենթադրվում էր, կլիներ Turing-complete, ինչպես հետագայում սահմանեց Ալան Թյուրինգը: Օգտագործվում էին երեք տարբեր տեսակի դակիչ քարտեր՝ մեկը թվաբանական գործողությունների համար, մեկը՝ թվային const-երի համար, և մեկը՝ բեռնման և պահեստավորման գործողությունների համար՝ թվերը հիշողությունից arithmetic unit կամ ետ փոխանցելու համար: Եվ այս երեք տեսակի քարտերի համար կար երեք առանձին ընթերցիչ: Բեբիջը մշակել է մոտ երկու տասնյակ ծրագրեր՝ վերլուծական շարժիչի համար 1837–1840 թվականներին: Այս ծրագրերը վերաբերում են բազմանդամներին, կրկնվող բանաձևերին, Գաուսի վերացմանը և Բեռնուլիի թվերին:

Կառուցումը

Ավելի ուշ իր կյանքի ընթացքում, Բեբիջն ուղիներ փնտրեց մեքենայի տարբերակը ստեղծելու համար և կարողացավ հավաքել դրա մի փոքր մասը մինչև իր մահը՝ 1871 թվականը:

1878 թվականին Գիտության Առաջընթացի Բրիտանական Ասոցիացիայի Կոմիտեն վերլուծական շարժիչը նկարագրեց որպես «մեխանիկական հնարամտության հրաշք», սակայն խորհուրդ տվեց հրաժարվել այն կառուցելուց: Կոմիտեն ի գիտություն ընդունեց մեքենայի օգտակարությունն ու կարևորությունը, սակայն չկարողացավ գնահատել դրա կառուցման արժեքը և նաև վստահ չէին՝ արդյոք սարքը ճշտությամբ կաշխատի կառուցվելուց հետո:

1880-ից 1910 թվականներին Բեբիջի որդին՝ Հենրի Պրևոստ Բեբիջը, կառուցում էր mill-ի և տպագրական ապարատի մի մասը։ 1910թ.-ին նա կարողացավ հաշվարկել pi-ի սխալ բազմապատիկների ցուցակը: Սա ամբողջ շարժիչի միայն մի փոքր մասն էր կազմում. այն ծրագրավորվող չէր և հիշողության պահեստավորում չուներ: Այժմ Հենրի Բեբիջի «վերլուծական շարժիչի mill»-ը ցուցադրվում է Լոնդոնի Գիտության թանգարանում: Հենրին նաև առաջարկեց կառուցել ամբողջական շարժիչի ցուցադրական տարբերակ՝ ավելի փոքր պահեստային հզորությամբ: Նման տարբերակը կարող է շահարկել 25 թվանշաններից բաղկացած 20 թվեր, և իրականում այն, ինչ կարելի է հրահանգել մեքենային կատարել այդ թվերի հետ կարող է շատ տպավորիչ լինել: «Դա միայն քարտերի և ժամանակի հարց է», — գրել է Հենրի Բեբիջը 1888 թվականին, «… և պատճառ չկա, որ անհրաժեշտության դեպքում (քսան հազար) քարտերը չօգտագործվեն վերլուծական շարժիչում՝ մաթեմատիկոսների կողմից իրենց նպատակների համար»:

Հենրի Բեբիջի վերլուծական շարժիչի mill-ը, որը կառուցվել է 1910 թվականին, ներկայումս գտնվում է Լոնդոնի Գիտության թանգարանում:

1991թ.-ին Լոնդոնի գիտության թանգարանը կառուցեց Babbage’s Difference Engine №2-ի ամբողջական և աշխատանքային նմուշը, որը ներառում էր վերլուծական շարժիչի մշակման ընթացքում Բեբիջի հայտնաբերած ճշգրտումները: Այս մեքենան կառուցվել է տարբեր նյութերի և ինժեներական տոլերանտության օգտագործմամբ, որոնք հասանելի կլինեին Բեբիջի համար՝ ճնշելով այն ենթադրությունը, որ Բեբիջի նախագծերը չեն կարող իրագործվել՝ օգտագործելով իր կյանքի ժամանակ առկա արտադրական տեխնոլոգիան:

2010 թվականի հոկտեմբերին Ջոն Գրեհեմ-Քամինգը (Բրիտանացի ծրագրավորող և գրող) սկսեց «Պլան 28» արշավը՝ միջոցներ հայթայթելու համար, որպեսզի հնարավորություն ընձեռի Բեբիջի պլանների պատմական և ակադեմիական լուրջ ուսումնասիրությանը, այնուհետև ստեղծելու և փորձարկելու լիովին գործող վիրտուալ դիզայնը, որն այնուհետև իր հերթին հնարավորություն է տալիս կառուցել ֆիզիկական անալիտիկ շարժիչը: 2016 թվականի մայիսի դրությամբ իրական շինարարության փորձ չի արվել, քանի որ Բեբիջի սկզբնական նախագծային գծագրերից դեռևս ոչ մի հետևողական ըմբռնում չի հաջողվել ձեռք բերել: Մասնավորապես պարզ չէր, թե արդյոք այն կարող է կարգավորել ինդեքսավորված փոփոխականները, որոնք պահանջվում էին Lovelace’s Bernoulli ծրագրի համար:

Շարժիչի կառուցման փորձեր Բեբիջի կյանքից հեռանալուց հետո

Այժմ որոշ այլ տվյալ ժամանակների հայտնի գյուտարարների հաջող կամ անհաջող աշխատանքների մասին, որոնք փորձել են իրագործել վերլուծական շարժիչի գաղափարը Բեբիջի մահից հետո:

Պերսի Լյուդգեյթը (իռլանդացի գիտնական, որը նախագծեց երկրորդ վերլուծական շարժիչը) գրել է շարժիչի մասին 1914 թվականին և 1909 թվականին հրապարակել է իր սեփական դիզայնը վերլուծական շարժիչի համար։ Այն մանրամասնորեն գծված էր, բայց այդպես էլ չի կառուցվել, իսկ այդ գծագրերն ավելի ուշ երբեք չեն գտնվել։ Իր չափերով Լյուդգեյթի շարժիչը շատ ավելի փոքր կլիներ (մոտ 8 խորանարդ ֆուտ (230 լիտր), որը համապատասխանում է 2 ֆուտ (61 սմ) կողմի երկարությամբ խորանարդին), քան Բեբիջը հիպոթետիկորեն կարող էր բազմապատկել երկու 20 տասնորդական թվեր մոտավոր վեց վայրկյանում:

Իր «Essays on Automatics» (1914 թ.) աշխատության մեջ Լեոնարդո Տորես Քվեեդոն՝ ոգեշնչված Բեբիջից, նախագծեց տեսական էլեկտրամեխանիկական հաշվիչ մեքենա, որը պետք է կառավարվեր միայն կարդալու ծրագրով: Աշխատությունը պարունակում է նաև լողացող կետային թվաբանության գաղափարը։ 1920 թվականին՝ թվաբանության գյուտի 100-ամյակի կապակցությամբ, Տորեսը Փարիզում ներկայացրեց Էլեկտրամեխանիկական թվաչափը, որը բաղկացած էր թվաբանական միավորից, որն էլ միացված էր տպիչին, որի վրա կարող էին մուտքագրվել հրամաններ և արդյունքներն ինքնաբերաբար տպագրվել։

Վանևար Բուշի «Գործիքային վերլուծություն» (1936) աշխատությունը ներառում էր մի քանի հղումներ Բեբիջի աշխատանքին: Նույն թվականին նա սկսեց «Արագ թվաբանական մեքենա» նախագիծը՝ ուսումնասիրելու էլեկտրոնային թվային համակարգչի կառուցման խնդիրները:

Չնայած այս հիմքին, Բեբիջի աշխատանքն ընկավ պատմական անհայտության մեջ, և վերլուծական շարժիչն անհայտ էր 1930-ական և 1940-ական թվականներին էլեկտրամեխանիկական և էլեկտրոնային հաշվողական մեքենաների կառուցողների համար, երբ նրանք սկսեցին իրենց աշխատանքը, ինչը հանգեցրեց Բեբիջի առաջարկած ճարտարապետական նորարարություններից շատերի վերստեղծման անհրաժեշտությանը: Հովարդ Այկենը, որը 1937–1945 թվականներին կառուցեց արագ էլեկտրամեխանիկական հաշվիչը՝ Հարվարդի Մարկ I-ը, գովաբանեց Բեբիջի աշխատանքը, հավանաբար՝ որպես իր սեփական շահից ելնելով. այնուամենայնիվ, Mark I-ի կառուցման ժամանակ ոչինչ չգիտեր վերլուծական շարժիչի ճարտարապետության մասին և նրա այցն անալիտիկ շարժիչի կառուցման վայր համարեց որպես իր կյանքի ամենամեծ հիասթափություն: Mark I-ը ոչ մի ազդեցություն չի ունեցել վերլուծական շարժիչի կողմից և զուրկ էր վերլուծական շարժիչի ամենահայտնի ճարտարապետական առանձնահատկությունից՝ պայմանական ճյուղավորումից:

Ամփոփում

The Analytical Engine-ը պետք է լիներ ընդհանուր նշանակության, լիովին ծրագրով կառավարվող, ավտոմատ մեխանիկական թվային համակարգիչ: Այն կկարողանա կատարել իր առջև դրված ցանկացած հաշվարկ: Չկա ոչ մի ապացույց, որ Բեբիջից առաջ որևէ մեկը երբևէ մտածել է նման սարքի մասին, էլ ուր մնաց՝ փորձել է կառուցել: Մեքենան նախատեսված էր չորս բաղադրիչից բաղկացած լինելու համար՝ mill, հիշողության տարածք, ընթերցիչ և տպիչ։ Այս բաղադրիչներն այսօր յուրաքանչյուր համակարգչի հիմնական բաղադրիչներն են: Mill-ը հաշվողական միավոր էր, որը նման է ժամանակակից համակարգչի կենտրոնական պրոցեսորային միավորին (CPU): Հիշողության տարածքն էլ այն վայրն էր, որտեղ տվյալները պահվում էին մինչ մշակումը, իսկ ընթերցիչն ու տպիչը մուտքային և ելքային սարքերն էին:

Ինչպես Difference Engine-ի դեպքում, նախագիծը շատ ավելի բարդ էր, քան նախկինում կառուցված որևէ նման սարք: Հիշողությունը պետք է բավականաչափ մեծ լիներ՝ թվով 1000, 50 նիշանոց համարների համարներ պահելու համար. սա ավելի մեծ էր, քան մինչև 1960 թվականը կառուցված ցանկացած համակարգչի պահեստավորման հզորությունը: Տպելու հնարավորությունը նույնպես հավակնոտ էր, ինչպես դա եղել է Difference Engine-ի համար։ Բեբիջը ցանկանում էր հնարավորինս ավտոմատացնել գործընթացն ընդհուպ մինչև թվերի տպագիր աղյուսակների արտադրությունը:

Ընթերցիչը վերլուծական շարժիչի ևս մեկ նոր առանձնահատկություն էր: Տվյալները (թվերը) պետք է մուտքագրվեին դակված քարտերի վրա՝ օգտագործելով Jacquard ջուլհակի քարտերի ընթերցման տեխնոլոգիան։ Հրահանգները նույնպես պետք է մուտքագրվեին քարտերի վրա, ևս մեկ գաղափար, որը վերցված էր անմիջապես Ժոզեֆ-Մարի Ժակարդից: Հրահանգային քարտերի օգտագործումն այն կդարձներ ծրագրավորվող սարք և շատ ավելի ճկուն, քան գոյություն ունեցող ցանկացած մեքենա: 1843 թ.-ին մաթեմատիկոս Ադա Լավլեյսն իր գրառումներում գրել է «Անալիտիկ շարժիչի» մասին ֆրանսերեն հոդվածի թարգմանության համար, թե ինչպես կարող է մեքենան օգտագործվել Բեռնուլիի թվերը հաշվարկելու ծրագրին հետևելու համար: Դրա համար նրան անվանել են առաջին համակարգչային ծրագրավորող: Ծրագրավորելիության տարրը պետք է լիներ նրա հետևյալ կարողությունը՝ հրահանգները կատարել այլ հաջորդականությամբ: Այն պետք է ունենար որոշումներ կայացնելու մի կարողություն իր պայմանական հսկողության փոխանցման մեջ, որը նաև հայտնի է որպես պայմանական ճյուղավորում, որի շնորհիվ այն կարող էր անցնել այլ հրահանգի՝ կախված որոշ տվյալների արժեքից: Այս չափազանց հզոր հատկանիշը բացակայում էր 20-րդ դարի վաղ համակարգիչներից շատերում:

Ըստ շատ սահմանումների՝ վերլուծական շարժիչն իսկական համակարգիչ էր, ինչպես այսօր հասկացվում է, կամ կլիներ, եթե Բեբիջն անընդհատ չբախվեր իրագործման խնդիրների հետ: Իրականում նրա հավակնոտ դիզայնի կառուցումն անիրագործելի համարվեց՝ հաշվի առնելով տվյալ ժամանակների տեխնոլոգիան, և մեկ այլ պատճառ էր՝ Բեբիջի խոստացված մաթեմատիկական աղյուսակներն իր Difference Engine-ով ստեղծելու ձախողումը, ինչն էլ թուլացրեց կառավարության հետագա ֆինանսավորման խանդավառությունը: Միևնույն է, Բեբիջի «Վերլուծական շարժիչը» նոր բան էր մարդկության համար: Մինչև այս բեկումը, հաշվարկի բոլոր մեխանիկական օժանդակող սարքերը պարզապես հաշվիչներ էին կամ ինչպես Difference Engine-ը, փառաբանված հաշվիչներ: Անալիտիկ շարժիչը, թեև իրականում ավարտված չէր, բայց առաջին մեքենան էր, որն արժանի էր համակարգիչ կոչվելու:

--

--