2.5. Основні етапи становлення і розвитку обчислювальної техніки
Від зарубок до механічних пристроїв обчислення
Найпершими засобами опрацювання числових повідомлень були пальці (рис. 2.59). Про це свідчать, наприклад, римські цифри (I, V, X). У стародавній слов’янській нумерації одиниці називалися «перстами», тобто пальцями, а назва цифри 5 походить від слова «п’ясть» (кисть руки).
Значним кроком уперед у розвитку засобів обчислювання стало створення абака у V ст. до н. е. у Стародавній Греції (рис. 2.60). Ідею такого пристрою греки запозичили у стародавніх вавилонян. Спочатку абак являв собою дошку з паралельними вертикальними заглибленими відрізками, на які клались якісь предмети, найчастіше камінці. Кожний такий відрізок було поділено на дві частини: більшу та меншу. На більшу клали від одного до чотирьох предметів, а на меншу - один чи два. Значення, які приписували камінцям на різних лініях, були різні, залежно від того, для яких конкретних обчислень використовувався абак.
У римського історика Полібія зустрічаються такі слова: «Побажає обліковець, і коштуватиме камінець один халк, а побажає - так і цілий талант» (і халк, і талант - грошові одиниці Стародавнього Риму).
Найчастіше лічба проводилася п’ятірками, а камінці на меншій частині відрізка позначали кількість таких п’ятірок.
Пізніше замість камінців почали використовувати морську гальку. Галька латиною - calculus. Звідси пішли слова: calculatore (лат.), calculate (англ.) - обчислювати, лічити, а також слово української мови калькулятор.
З часом абак набув широкого розповсюдження в багатьох країнах, які внесли до його конструкції свої вдосконалення. Китайці помістили абак у дерев’яну рамку, а камінці замінили на кісточки від фруктів, які нанизували на нитки всередині цієї рамки. Замість горизонтальної лінії, яка розділяла на абаці відрізки на дві частини, зробили внутрішню перегородку (рис. 2.61).
У Північній Америці приблизно в Х-ХІ ст. пристрій типу абака використовували ацтеки, давня цивілізація на території сучасної Мексики. Вони його називали "nepohualtzitzin". Через каркас були протягнуті нитки, на які нанизувалися зерна кукурудзи. На одному полі розміщувалось по три зерна, на другому - по чотири (рис. 2.62). Для роботи з таким абаком використовувалась спеціальна система лічби.
У Росії та в Україні абаки з’явилися тільки у XVI ст. за часів царя Івана IV Грозного. Називалися вони счетьі (рос. счети - рахівниця (рис. 2.63). У них лічба велась не п’ятірками, а десятками. Саме такі рахівниці використовувались у подальшому в багатьох країнах світу.
Абаки, а потім рахівниці, були єдиним засобом обчислення до середини XVII ст. Ними продовжували досить широко користуватися майже до кінця ХХ ст.
Активні дії щодо вдосконалення обчислювальних пристроїв розпочалися тільки в XVII ст. з розвитком промисловості, торгівлі, будівництва, військової справи.
У 1642 р. французький математик, фізик, інженер і філософ Блез Паскаль (1623-1662) подав на розгляд королівської ради свій механічний обчислювальний пристрій (рис. 2.64).
Основу цього пристрою складали зубчасті коліщатка, які були поділені на 10 частин і з’єднані так, щоб при обертанні одного з них на 10 поділок наступне поверталося на 1 поділку.
Принцип використання зубчастих коліщаток при перенесенні одиниці до наступного розряду використовувався в обчислювальних пристроях до середини XIX ст. і продовжує використовуватися і в наші дні в різноманітних пристроях (електричних та газових лічильниках, спідометрах тощо). На честь Паскаля була названа одна з мов програмування - Pascal.
У середині XX ст. історики знайшли документ, який свідчив, що не Паскалю належить пріоритет ідеї створення механічного обчислювального пристрою з автоматичним перенесенням одиниці до наступного розряду. У 1623 р. німецький математик, астроном та інженер Вільгельм Шик- кард (1592-1635) (рис. 2.65) у листі до Йоганна Кеплера, відомого німецького астронома та математика, повідомляв про свій проект такого обчислювального пристрою. Також, серед неопублікованих рукописів видатного італійського художника, математика, інженера і філософа Леонардо да Вінчі (1452-1519) (рис. 2.66) знайдено ескіз 13-розрядного пристрою для додавання з коліщатками, що мали 10 зубців.
Але ідеї Леонардо да Вінчі та Шиккарда так і залишилися ідеями. Заслуга ж Паскаля полягає в тому, що він був першим, кому вдалося за своїми проектами створити діючий механічний обчислювальний пристрій. У наш час збереглися 8 екземплярів обчислювальних пристроїв, зроблених самим Паскалем у різні роки.
У подальшому ідеї Шиккарда і Паскаля були розвинуті та вдосконалені багатьма математиками та інженерами. Серед них треба відзначити німецького вченого Готфріда Лейбніца (1646-1716), який створив перший у світі арифмометр - механічний обчислювальний пристрій, що виконував усі чотири арифметичні дії (рис. 2.67).
Згодом у вчених з’явилась ідея створення такого обчислювального пристрою, який би сам керував обертанням своїх «лічильних коліщаток», тобто виконував би обчислення без безпосередньої участі людини. Людині залишалося виконати всю підготовчу роботу, ввести до пристрою необхідні початкові дані та порядок обчислень, а сам процес обчислень і отримання результатів виконувався б автоматично.
Проект першого такого пристрою був запропонований у 1834 р. англійським математиком та інженером Чарльзом Беббіджем (1792-1871). Він назвав свій прилад аналітична машина. Створенню цієї машини Беббідж присвятив усі наступні роки свого життя.
Згідно з проектом Беббіджа аналітична машина (рис. 2.68) мала такі складові частини:
- "Склад" для зберігання чисел (у сучасній термінології - пам’ять).
- "Млин" для виконання арифметичних операцій над числами (у сучасній термінології - арифметичний пристрій).
- Пристрій, який керує послідовністю виконання арифметичних операцій (у сучасній термінології - пристрій керування).
- Пристрій для введення початкових (вхідних) даних.
- Пристрій виведення результатів.
Ада Лавлейс (1815-1852) (рис. 2.69), дочка відомого англійського поета Джорджа Байрона, працювала разом з Беббіджем над створенням проекту аналітичної машини та його реалізацією. Вона вперше описала основні принципи розробки програм для обчислювальних машин. У зв’язку з цим Ада Лавлейс вважається першим у світі програмістом і на її честь названо одну із сучасних мов програмування Ada.
Особлива роль у машині Беббіджа відводилася пристрою керування. У нього закладалася послідовність команд (програма), згідно з якою відбувалася вся робота обчислювальної машини. Ця програма мала бути складена людиною і спеціальним чином закодована на перфокартах.
Ідея використання тонких картонних карток з дірочками (перфокарт) (рис. 2.70) належить французькому винахідникові Жозефу Жаккарду (1752-1834) (рис. 2.71). Він у 1802 р. створив ткацький верстат, в якому візерунок тканини задавався набором перфокарт з пробитими на них у певних місцях дірочками.
Виведення результатів обчислень в аналітичній машині передбачалося кількома способами: друкування результатів за допомогою механічного преса або виготовлення перфокарт, на яких результати кодувалися за допомогою отворів.
І хоча Беббідж зробив понад 200 креслень різних вузлів своєї машини та понад 30 варіантів її загальної компо- новки, створити реально діючу обчислювальну машину йому не вдалося. Але його проект став основою для розробки та створення сучасних електронних обчислювальних машин, перша з яких з’явилася майже через 100 років після появи проекту Чарльза Беббіджа.
Діючу модель самої аналітичної машини Беб- біджа за його оригінальними кресленнями створили на початку 1990-х років співробітники Лондонського музею науки.
Від електромеханічних обчислювальних пристроїв до електронних
До кінця ХІХ ст. пристрої для обчислень були ручними або механічними. І тільки в кінці ХІХ ст. американський вчений Герман Голлеріт (1860-1929) запропонував новий пристрій, робота якого базувалась на використанні електричного струму, - табулятор (рис. 2.72). Він був призначений для опрацювання даних перепису населення. Дані про конкретну людину не записувались на аркуші паперу, а відмічались отворами у строго визначених місцях персональної перфокарти.
Система Голлеріта виграла конкурс на проведення перепису населення США у 1890 р. Успіх табулятора був величезним. Якщо дані попереднього перепису населення опрацьовували 500 співробітників спеціального агентства протягом 7 років, то Голлеріт із 43 співробітниками на 43 машинах виконав опрацювання даних за 2,5 роки.
Заснована Голлерітом у 1896 р. фірма з випуску табуляторів, зазнавши низку реорганізацій і зміну власників, з 14 лютого 1924 р. стала називатись IBM Corporation.
До середини ХХ ст. розроблялися різноманітні конструкції механічних і електромеханічних обчислювальних пристроїв. Вони давали змогу значно прискорити процес обчислення.
Середина ХХ ст. була відзначена кількома факторами, що вплинули на розвиток обчислювальної техніки. Одним із таких факторів стали досягнення науки, що вивели її на якісно новий рівень, іншим - політична конфронтація у світі, що призвела до розв’язання Другої світової війни. Підтримуючи розвиток науки і нових технологій, украй необхідних для отримання перемоги над суперником, уряди виділяли значні кошти і на розвиток обчислювальної техніки. У науковців і військових значно зросли вимоги до швидкості та якості обчислень.
У цей час учені та конструктори різних країн створили якісно нові обчислювальні машини, в яких, як правило, використовувалися електричні пристрої. Так, у Німеччині в 1938 р. Конрад Цузе (1910-1995) (рис. 2.73) створив першу обчислювальну машину на електромеханічних реле, яку назвав Z1. У ній використовувалося двійкове кодування.
У США в 1939 р. Джон Вінсент Атанасов (1903-1995) разом зі своїм студентом Кліфордом Беррі (1918-1963) створили перший комп’ютер на електронних лампах із використанням двійкового кодування - ABC (англ. Atanasoff Berry Computer) (рис. 2.74). Трохи пізніше (1939-1944 рр.), також у США, Говард Ейкен (1900-1973) у співробітництві з ІВМ створив обчислювальну машину Магк-1 на електромагнітних реле з автоматичним керуванням послідовністю операцій.
На початку 1940-х років в умовах цілковитої секретності вчені Великобританії створили обчислювальну машину Colossus1, призначену для дешифрування радіограм фашистської Німеччини. Від інших машин того часу її відрізняло те, що програма, за якою вона працювала, зберігалася в її пам’яті. У розробці цієї машини брав участь видатний англійський математик Алан Тьюрінг (1912-1954) (рис. 2.75).
У 1943-1946 рр. у США Джон Моучлі (1907-1980) і Преспер Еккерт (1919-1995) створили ENIAC (англ. Electronic Numerical Integrator and Calculator - електронний цифровий інтегратор і обчислювач) - електронну обчислювальну машину (ЕОМ), що містила 18 000 електронних ламп, важила 30 тонн і виконувала п’ять тисяч операцій за секунду. По завершенні цього проекту вони відразу почали роботу над новим комп’ютером на замовлення військового відомства США - EDVAC (англ. Electronic Discrete Variable Automatic Computer - електронний дискретно змінний автоматичний обчислювач). До розробки залучається відомий американський математик Джон фон Нейман (1903-1957), який у статті «Попередня доповідь про машину EDVAC» сформулював основні принципи побудови універсальної обчислювальної машини. Незважаючи на те, що ці ідеї були розроблені Еккертом і Моучлі, вони стали відомі всьому світові як «принципи фон Неймана».
Перший комп’ютер, в якому реалізовані на практиці принципи фон Неймана, був створений у 1949 р. у Великій Британії у Кембріджському університеті Морісом Вілксом (народився 1913 р.). Він отримав назву EDSAC (англ. Electronic Delay Storage Automatic Calculator - автоматичний обчислювач на електронних лініях затримки).