Як створювався комп'ютер? Теоретичні передумови
Бажання автоматизувати складні рутинні обчислення стало «держзамовленням» на створення електронно-обчислювальної машини. Але практичного втілення мрії людини зі створення «штучного розуму» передувала копітка теоретична підготовка.
Одним з важливих «попутних» відкриттів було те, що ЕОМ - хоча й названа електронно-обчислювальних машин (до речі, слово комп'ютер походить від англ. Compute - вважати, подсчітивать- обчислювати) - може не тільки обчислювати, але і всіляко обробляти »всіляку інформацію . Тому можливості комп'ютера набагато перевершують можливості арифмометрів і «куркуляторов»: фактично можливості комп'ютера обмежені нашою уявою (а можливості нашої уяви безмежні!).
Робота над теоретичним обгрунтуванням комп'ютера йшла двома паралельними потоками: обгрунтування апаратної частини і обгрунтування програмної частини. Але оскільки комп'ютер працює з інформацією, для початку потрібно було розібратися, що це таке - інформація?
Один з творців математичної теорії інформації - амер. інженер і математик Шеннон Клод Елвуд (Claude Shannon- 1916-2001) - в 1948 р опублікував роботу «Математична теорія зв'язку», в якій представив свою уніфіковану теорію передачі та обробки інформації. За Шеннон, інформація включає всі види повідомлень, у тому числі ті, які передаються по нервових волокнах в живих організмах. Шеннон запропонував вимірювати інформацію в математичному сенсі, зводячи її до вибору між двома значеннями, або двійковими розрядами, - «так» чи «ні» (1 або 0, істина або брехня, є сигнал чи ні сигналу, замкнута ланцюг або розімкнути).
З подачі Шеннона в комп'ютерах використовується двійкова система числення, яка заснована на двох цифрах, «0» і «1». Інформація будь-якого типу може бути закодована з використанням цих двох цифр і поміщена в оперативну або постійну пам'ять комп'ютера. Використання двійкової системи числення (вперше принцип довічного числення був сформульований у XVII ст. Німецьким математиком Готфрідом Лейбніцем) дозволяє зробити пристрій комп'ютера максимально простим.
Паралельно з Шенноном американський математик і філософ Норберт Вінер (Norbert Wiener- 1894-1964) працює над створенням кібернетики та теорії штучного інтелекту.
Кібернетика - це наука про загальні закономірності процесів управління і передачі інформації в машинах, живих організмах і суспільстві. Кібернетика розробляє загальні принципи створення систем управління і систем для автоматизації розумової праці. Основні технічні засоби для вирішення завдань кібернетики - ЕОМ. Тому виникнення кібернетики, як самостійної науки, пов'язане зі створенням в 40-х рр. XX ст. ЕОМ, а розвиток кібернетики в теоретичних і практичних аспектах - з прогресом електронної обчислювальної техніки.
У 1948 р виходить книга Вінера «Кібернетика, або Управління і зв'язок в тварині і машині».
Одним з перших вітчизняних вчених, які оцінили значення кібернетики, був ріс. математик А.А. Ляпунов (1911-1973). Під його керівництвом почалися перші в нашій країні роботи з кібернетики. В кінці 1950-х рр. Ляпунов сформулював основні напрямки розвитку кібернетики, на основі яких у наступні десятиліття отримали розвиток загальні та математичні основи кібернетики, обчислювальні машини, програмування та інші напрямки науки, розробив математичну теорію керуючих систем. Ляпунов створив перші навчальні курси програмування і розробив операторний метод програмування. Заклав основи машинного перекладу та математичної лінгвістики, біологічної кібернетики та математичних методів в біології.
У роботах Шеннона і Вінера давалися загальні тлумачення терміна «інформація». Кількісні характеристики інформації - ентропія і кількість інформації - стали математичними поняттями в роботах російського математика А.Я. Хинчина (1894-1959).
У середині 50-х рр. XX ст. загальне визначення кількості інформації в вероятностном сенсі було дано в роботах російського математика Колмогорова А.М. (1903-1987).
***
При створенні перших обчислювальних машин, в 1945 р, американський математик і фізик Джон фон Нейман (John von Neumann- 1903-1957) сформулював вимоги, які повинні виконуватися, щоб комп'ютер став універсальним і зручним пристроєм для обробки інформації. Ці вимоги назвали «принципами фон-Неймана».
1. Принцип програмного керування
Цей принцип забезпечує автоматизацію процесів обчислень на ЕОМ. Програма складається з набору команд, які виконуються процесором автоматично в певній послідовності.
2. Принцип однорідності пам'яті
Відсутність принципової різниці між програмою і даними дало можливість ЕОМ самій формувати для себе програму відповідно до результатів обчислень. Комп'ютера «байдуже», що зберігається в даній комірці пам'яті - команда програми або дані користувача. Над командами можна виконувати такі ж дії, як і над даними. Це дуже зручно, інакше треба було б зберігати програми окремо від даних користувача.
3. Принцип адресності пам'яті
Структурно пам'ять комп'ютера складається з пронумерованих осередків. Процесору в довільний момент часу доступна будь комірка пам'яті. Звідси випливає можливість давати імена областям пам'яті, так, щоб до запомненним в них значенням можна було згодом звертатися або міняти їх в процесі виконання програм з використанням привласнених імен.
4. Принципова пристрій комп'ютера
Комп'ютер повинен мати наступні пристрої:
арифметичне-логічний пристрій, який виконує арифметичні і логічні операції;
пристрій управління, яке організовує процес виконання программ;
запам'ятовуючий утройство для зберігання програм і даних;
зовнішні пристрої для введення-виведення інформації.
5. Принципова можливість створення надійного комп'ютера з ненадійних компонентів
Фон Нейман в своїй роботі «Імовірнісна логіка і синтез надійних організмів з ненадійних компонентів» показав, що за допомогою ненадійно функціонуючих елементів, тим не менш, можна побудувати систему, яка буде надійної.
Шеннон розвинув цю тему: у статті «Надійні схеми з ненадійних реле» він не тільки розробив більш ефективну систему (достатнє число необхідних елементів для дотримання надійності всієї схеми), але і відкрив перспективний напрям досліджень оцінки складності подібних схем.
Подальший розвиток ця тема отримала в працях з математичної логіки і математичних питань кібернетики російського математика О.Б. Лупанова (р. 1932). ]