Кіріспе

Ұсынылған жалпы мақсаттағы механикалық компьютер

Аналитикалық машинасы – ағылшын математигі және компьютер ізашары Чарльз Бэббидж жасаған жалпы мақсаттағы механикалық компьютердің жобасы. Ол алғаш рет 1837 жылы Бэббидждің айырмалы қозғалтқышының мұрагері ретінде сипатталды, ол қарапайым механикалық калькулятордың жобасы болған. Аналитикалық машинасы арифметикалық-логикалық құрылғыны, шартты тармақталу мен циклдар түріндегі басқару ағынын және жадты қамтиды, бұл оны қазіргі заманғы терминдермен Тьюринг толық деп сипатталатын жалпы мақсаттағы компьютердің алғашқы жобасы етті. Басқаша айтқанда, аналитикалық машинасының құрылымы электрондық дәуірде компьютерлік дизайнға басымдық бергенмен бірдей болды. 1941 жылы ғана Конрад Цузе алғашқы жалпы мақсаттағы компьютер Z3-ді жасады, Бэббидж 1837 жылы алғашқы аналитикалық машинасының жобасын ұсынғаннан кейін бір ғасырдан астам уақыт өткен соң. Бұл жоба барысында Бэббидж аналитикалық машинасының жасалуы мүмкін екенін түсінді. Аналитикалық машинасының жобасын жасау жұмыстары шамамен 1833 жылы басталды. Бағдарламалар («формулалар») мен деректерді кіріс ретінде машинаға перфокарталар арқылы беру қажет болды, бұл сол кезде Jacquard тоқыма станогы сияқты механикалық тоқыма станоктарын басқару үшін қолданылатын әдіс еді. Шығыс үшін машинада принтер, қисық сызғыш және қоңырау болды. Сондай-ақ, машина карталарға сандарды жазып, кейіннен оқи алатын болады. Ол 10-дық базадағы тұрақты нүктелі арифметиканы қолданды. Жады (яғни сақтау орны) 50 ондық таңбадан тұратын 1000 санды сақтай алатын болды (шамамен 16,6 кБ). Арифметикалық құрылғы («диірмен») барлық төрт арифметикалық амалды, сондай-ақ салыстыруларды және қажет болған жағдайда квадрат түбірді табуды орындай алатын болды. Бастапқыда (1838) ол дөңгелек пішінде, бір жағына ұзын сақтау орны шығатын, өзіне қарай бұрылысқан айырмалы қозғалтқыш ретінде жобаланды. Кейінгі суреттерде (1858) жүйелі торлы орналасу бейнеленген. Қазіргі заманғы компьютердегі орталық процессор (CPU) сияқты, диірмен өзінің ішкі процедураларына сүйенетін болады, бұл қазіргі заманғы процессорлардағы микрокодқа ұқсас, «баррель» деп аталатын айналатын барабандарға орнатылған штырғылар түрінде сақталады, пайдаланушы бағдарламасының талап ететін күрделі нұсқаулардың кейбірін орындау үшін. Пайдаланушылар қолданатын бағдарламалау тілі қазіргі заманғы ассемблер тілдеріне ұқсас болды. Циклдар мен шартты тармақталу мүмкін болды, сондықтан жобаланған тіл кейіннен Алан Тьюринг анықтағандай Тьюринг толық болуы керек еді. Перфокарталардың үш түрі қолданылды: біреуі арифметикалық амалдарға, біреуі сандық тұрақтыларға, ал біреуі жадтан арифметикалық құрылғыға немесе кері сақтау және жүктеу амалдарына арналған. Карталардың үш түрі үшін үш жеке оқу құрылғысы болды. 1837–1840 жылдар аралығында Бэббидж аналитикалық машинасы үшін екі ондаған бағдарлама жасады, ал бір бағдарлама одан кейін жасалды. Бұл бағдарламалар полиномдармен, итеративтік формулалармен, Гаусс жою әдісімен және Бернулли сандарымен айналысады. 1842 жылы итальяндық математик Луиджи Федерико Менабреа 1840 жылы Туринге келген кезде Бэббидж оқыған дәрістеріне негізделген француз тілінде қозғалтқыштың сипаттамасын жариялады. 1843 жылы бұл сипаттама ағылшын тіліне аударылып, сегіз жыл бұрын қозғалтқышқа қызығушылық танытқан Ада Лавлейс толыққанды түсіндірмелер қосты. Менабреяның еңбегіне қосқан үлесін мойындау үшін, оның құрамында машинаны пайдалана отырып Бернулли сандарын есептеу тәсілі бар (бұл алғашқы толық компьютерлік бағдарлама деп саналады), ол алғашқы компьютерлік бағдарламашы ретінде танылды.

Құрылыс

Өмірінің соңына таман Бэббидж машинаның қарапайым нұсқасын жасаудың жолдарын іздестірді және 1871 жылы қайтыс болғанға дейін оның кішкентай бөлігін құрастырды. 1878 жылы Ұлыбритания ғылымды дамыту қауымдастығының комитеті аналитикалық машинаны "механикалық шеберліктің кереметі" деп сипаттады, бірақ оны салудан бас тартты. Комитет машинаның пайдалылығы мен құндылығын мойындады, бірақ оны салудың құнын бағалай алмады және машина салынғаннан кейін дұрыс жұмыс істейтініне көз жеткізе алмады. [[Файл:Аналитикалық қозғалтқыш (2290032530). jpg|thumb|Генри Бэббидждің аналитикалық машинасы, 1910 жылы салынған. Бэббидждің ұлы Генри Превост Бэббидж фабриканың бір бөлігін және баспа аппаратын құрастырып жатқан. 1910 жылы ол пи сандарының (қате) тізімін есептей алды. Бұл бүкіл қозғалтқыштың шағын бөлігі ғана болды; ол бағдарламалана алмады және жадысы болмады. (Бұл бөлімнің танымал суреттері кейде дұрыс емес таңбаланған, олардың бүкіл диірмен немесе тіпті бүкіл қозғалтқыш екенін көрсетеді.) Генри Бэббидждің "аналитикалық қозғалтқыш диірмені" Лондонның Ғылым мұражайында қойылған. Генри толық қозғалтқыштың демонстрациялық нұсқасын кішірек сақтау сыйымдылығымен салуды ұсынды: "бірінші машина үшін он (баған) жеткілікті болар, әрқайсысында он бес доңғалақпен". Мұндай нұсқа 25 таңбадан тұратын 20 санды өңдей алатын болды, және оған осы сандармен не істеу керектігі айтылса, бұл әсерлі болар еді. "Бұл тек карталар мен уақыт мәселесі", - деп жазды Генри Бэббидж 1888 жылы, - "және математик мақсаты үшін аналитикалық машинада қажет болған жағдайда (жиырма мың) картаны пайдалануға ешқандай себеп жоқ". 2010 жылдың қазан айында Джон Грэм Камминг Бэббидждің жоспарларын тарихи және академиялық тұрғыдан зерттеу үшін "халықтан жазылым" арқылы қаражат жинау мақсатымен "28-жоспар" науқанын бастады, содан кейін толық жұмыс істейтін виртуалды жобаны құру және сынау үшін, ол өз кезегінде физикалық аналитикалық машинаны салуға мүмкіндік береді. 2016 жылдың мамыр айына дейін нақты құрылысқа кірісілмеді, өйткені Бэббидждің бастапқы жобалық сызбаларынан тұрақты түсінік алу мүмкін болмады. Әсіресе, Лавлейстің Бернулли бағдарламасы үшін қажет болған индекстелген айнымалыларды өңдей алатыны белгісіз болды. 2017 жылы "28-жоспар" барлық каталогталған материалдардың іздестірілетін деректер базасы қол жетімді екенін және Бэббидждің көп томдық жазбаларының алғашқы шолуы аяқталғанын хабарлады. Бэббидждің көптеген түпнұсқа суреттері цифрландырылып, онлайн режимінде көпшілікке қолжетімді.

Болжалған әсері

Бэббидж автоматты компьютердің болуы қазір алгоритмдік тиімділік деп аталатын салаға қызығушылық оятатынын түсінді және "Философтың өмірінен үзінділер" еңбегінде былай деп жазды: "Анализдік машинасы пайда болған кезде, ол ғылымның болашақ бағытын міндетті түрде анықтайды. Оның көмегімен қандай да бір нәтиже іздегенде, «Машина осы нәтижелерге ең қысқа уақытта қандай есептеулер арқылы жете алады?» деген сұрақ туындайды."

Компьютерлік ғылым

1872 жылдан бастап Генри әкесінің жұмысын ұқыпты түрде жалғастырды, содан кейін 1875 жылы зейнеткерлікке шыққаннан кейін үзіліс-үзіліспен айналысты. Перси Лудгейт 1914 жылы қозғалтқыш туралы жазды және 1909 жылы аналитикалық қозғалтқышқа арналған өзінің дизайнын жариялады. Ол толыққанды әзірленген, бірақ ешқашан салынбаған, ал суреттері табылмаған. Лудгейттің қозғалтқышы Бэббидждікінен әлдеқайда кіші (шамамен 2 фут (1 м) қабырғалы кубқа тең) болар еді және теория бойынша екі 20 ондық таңбалы санды шамамен алты секундта көбейтуге қабілетті болар еді. «Автоматика туралы эсселер» (1914) еңбегінде Леонардо Торрес Кеведо Бэббиджден шабыт алып, тек оқуға арналған бағдарламамен басқарылатын теориялық электромеханикалық есептеу машинасының жобасын жасады. Мақалада сондай-ақ қозғалмалы нүктелі арифметика туралы идея бар. 1920 жылы арифмометрдің 100 жылдығын тойлау үшін Торрес Парижде электромеханикалық арифмометрді ұсынды, ол арифметикалық бөлімнен (мүмкін қашықтан) терілгіш машинаға қосылған, онда командаларды теруге және нәтижелерді автоматты түрде басып шығаруға болатын. Ванневар Буштың «Инструменталды талдау» (1936) мақаласында Бэббидждің жұмысына бірнеше сілтемелер келтірілген. Сол жылы ол электрондық цифрлық компьютер құру мәселелерін зерттеу үшін «Жылдам арифметикалық машина» жобасын бастады. Осы негізге қарамастан, Бэббидждің жұмысы тарихи ұмытқа кетті, ал аналитикалық қозғалтқыш 1930 және 1940 жылдары электромеханикалық және электрондық есептеу машиналарын құрастырушыларға белгісіз болды, нәтижесінде Бэббидж ұсынған көптеген архитектуралық инновацияларды қайта ойлап табу қажеттілігі туды. 1937 және 1945 жылдар аралығында жылдам ескірген электромеханикалық калькулятор, Гарвард Марк I-ді салған Говард Эйкен өзінің беделін арттыру мақсатымен Бэббидждің жұмысын жоғары бағалады, бірақ Марк I құрылысы кезінде аналитикалық қозғалтқыштың архитектурасы туралы ештеңе білмеді және аналитикалық қозғалтқыштың құрылған бөлігіне жасаған сапарын «өмірімдегі ең үлкен өкініш» деп санады. Марк I аналитикалық қозғалтқыштан әсер көрмеді және аналитикалық қозғалтқыштың ең көрегенді архитектуралық ерекшелігі – шартты тармақталудан мүлдем құрылған жоқ. Дж. Преспер Эккерт және Джон В. Мокли де Бэббидждің аналитикалық машинасының егжей-тегжейлі жұмысын бірінші жалпы мақсаттағы электрондық компьютер ENIAC дизайнын аяқтағанға дейін білмеді.

Басқа ерте компьютерлермен салыстыру

Егер аналитикалық машинасы құрылса, ол цифрлық, бағдарламаланатын және Тьюринг толық болар еді. Дегенмен, ол өте баяу болар еді. Луиджи Федерико Менабреа «Аналитикалық машинасының эскизі» еңбегінде былай деп хабарлады: «Бэббидж мырза өзінің машинасымен әрқайсысы жиырма таңбадан тұратын екі санның көбейтіндісін үш минутта есептей алады деп санайды». Қарама-қарсылығы, Гарвард Mark I дәл осы тапсырманы бар болғаны алты секундта орындай алатын болды (бірақ бұл компьютердің Тьюринг толықтығы күмәнді; ENIAC, ол толық, одан да жылдам болар еді). Қазіргі заманғы процессор осыны секундының миллиардтан бір бөлігінде орындай алады.

Атауы Бірінші жұмыс істейтін Сандық жүйе Есептеу механизмі Бағдарламалау Тьюринг толық Жады Айырмалы машина 1990 жылға дейін құрылмаған (жобалау 1820-ші жылдар) Ондық Механикалық Бағдарламаланбаған; полиномдық айырмашылықтардың бастапқы сандық тұрақтылары физикалық түрде орнатылған Осьтегі дөңгелектердің физикалық күйі Аналитикалық машина Құрылмаған (жобалау 1830-шы жылдар) Ондық Механикалық Перфокарталармен басқарылатын бағдарлама ✔ (жобалау; құрылмаған) Осьтегі дөңгелектердің физикалық күйі Лудгейттің аналитикалық машинасы Құрылмаған (жобалау 1909) Ондық Механикалық Перфокарталармен басқарылатын бағдарлама ✔ (құрылмаған) Торрес аналитикалық машинасы 1920 Ондық Электромеханикалық Бағдарламаланбаған; кіріс және шығыс параметрлері патч-кабельдермен белгіленген Механикалық релелер Zuse Z1 1939 Екілік қозғалмалы нүктелі Механикалық Бағдарламаланбаған; шифр кіріс параметрлері патч-кабельдермен белгіленген Осьтегі таяқтардың физикалық күйі Bombe 1939 (Польша), 1940 жылғы наурыз (Ұлыбритания), 1943 жылғы мамыр (АҚШ) Символдық есептеулер Электромеханикалық Бағдарламаланбаған; шифр кіріс параметрлері патч-кабельдермен белгіленген Роторлардың физикалық күйі Zuse Z2 1940 Екілік бекітілген нүктелі Электромеханикалық (механикалық жад) 35 мм пленкамен перфокарталармен басқарылатын бағдарлама (шартты өту жоқ) Осьтегі таяқтардың физикалық күйі Zuse Z3 1941 жылғы мамыр Екілік қозғалмалы нүктелі Электромеханикалық 35 мм пленкамен перфокарталармен басқарылатын бағдарлама (шартты өту жоқ) Теориялық Механикалық релелер Atanasoff–Berry компьютері 1942 Екілік Электрондық Бағдарламаланбаған; сызықтық жүйе коэффициенттері перфокарталар арқылы енгізілген Регенеративті конденсаторлық жад Colossus Mark 1 1943 жылғы желтоқсан Екілік Электрондық Патч-кабельдер мен қосқыштармен басқарылатын бағдарлама Термоэлектрондық клапан (вакуумдық түтікшелер) және тиратрондар Harvard Mark I – IBM ASCC 1944 жылғы мамыр Ондық Электромеханикалық 24 каналды перфокарта таспасымен басқарылатын бағдарлама (шартты өту жоқ) Күмәнді Механикалық релелер Colossus Mark 2 1944 жылғы 1 маусым Екілік Электрондық Патч-кабельдер мен қосқыштармен басқарылатын бағдарлама Болжам Zuse Z4 1945 жылғы наурыз (немесе 1948) Екілік қозғалмалы нүктелі Электромеханикалық 35 мм пленкамен перфокарталармен басқарылатын бағдарлама 1950 жыл Механикалық релелер ENIAC 1945 жылғы желтоқсан Ондық Электрондық Патч-кабельдер мен қосқыштармен басқарылатын бағдарлама ✔ Вакуумдық түтікше триодтық триггерлер Manchester Baby 1948 жылғы маусым Екілік Электрондық Екілік бағдарлама пернетақтадан жадқа енгізілді (бірінші электрондық сақталатын бағдарламалық цифрлық компьютер) ✔ Уильямс катодтық сәулелік түтікшесі EDSAC 1949 жылғы мамыр Екілік Электрондық Бес биттік операциялық код және айнымалы ұзындықтағы оператор (кең қоғамға есептеу қызметтерін ұсынатын бірінші сақталатын бағдарламалық компьютер) ✔ Меркурийлік кешіктіру желілері

Танымал мәдениетте

Киберпанк романдарының авторлары Уильям Гибсон мен Брюс Стерлинг «Артықшылық қозғалтқышы» атты альтернативті тарихқа негіделген паропанк романын бірлесіп жазды, онда Бэббидждің айырмашылық және аналитикалық қозғалтқыштары Виктория дәуіріндегі қоғамға қолжетімді болды. Роман есептеу технологиясының ерте пайда болуының салдары мен маңызын зерттейді. Джек Нимерсхаймның «Модем арқылы Мориарти» атты әңгімесінде Бэббидждің аналитикалық машинасы аяқталғаны және британ үкіметі тарапынан жоғары құпия деп танылғаны туралы баламалы тарих сипатталады. Шерлок Холмс және Мориарти кейіпкерлері іс жүзінде аналитикалық қозғалтқыш үшін жазылған прототиптік бағдарламалар жиынтығы болған. Бұл әңгіме Холмстың бағдарламасының қазіргі заманғы компьютерлерде іске қосылуын және оның Бэббидждің аналитикалық машинасының қазіргі заманғы нұсқаларында өзінің жауымен тағы да бәсекелесуге мәжбүр болуын көрсетеді. Сидней Падуа «The Thrilling Adventures of Lovelace and Babbage» веб-комиксінде ұқсас оқиғаны қолданады. Комиксте Ада Лавлейс пен Бэббидж аналитикалық қозғалтқышты жасап, Виктория патшайымының өтініші бойынша қылмыспен күресу үшін пайдаланған альтернативті тарих көрсетілген. Комикс Бэббидж мен Лавлейстің өмірбаяндары мен хат алмасулары бойынша жүргізілген жан-жақты зерттеулерге негізделген, содан кейін ол оқырмандарды күлдіру үшін өңделген. «The Orion's Arm» онлайн жобасында Бэббидж шабыттанған, толыққанды санасы бар механикалық компьютерлер – Machina Babbagenseii ұсынылған. Олардың әрқайсысы үлкен астероидтың көлемінде, тек микрогравитация жағдайында ғана тірі қала алады және адам миының жылдамдығының 0,5% жылдамдығымен деректерді өңдейді. Чарльз Бэббидж мен Ада Лавлейс «Доктор Хью» телесериалының бір эпизодында пайда болды. S12 E2 «Spyfall 2-бөлім». Онда қозғалтқыш көрсетіліп, оған сілтеме жасалған.