кту з боку Армії США - розмножив цю наукову роботу і розіслав її широкому колу вчених для ознайомлення. Так як на першій сторінці документа стояло тільки ім'я фон Неймана [1], у читали документ склалося хибне враження, що автором всіх ідей, викладених у роботі, є саме він. Документ давав достатньо інформації для того, щоб читали його могли побудувати свої комп'ютери, подібні EDVACу на тих же принципах і з тією ж архітектурою, яка в результаті стала називатися «архітектурою фон Неймана».
Після завершення Другої Світової війни і закінчення робіт над Еніак в лютому 1946 року команда інженерів і вчених розпалася, Джон Мокли, Джон Екерт ( англ. ) вирішили звернутися в бізнес і створювати комп'ютери на комерційній основі. Фон Нейман, Голдстайн і Беркс перейшли в Інститут перспективних досліджень, де вирішили створити свій комп'ютер «IAS-машина» («машина Інституту перспективних досліджень ( англ. )»), подібний EDVACу, і використовувати його для науково-дослідної роботи. У червні 1946 року вони виклали свої принципи побудови обчислювальних машин в класичній статті «Попередній розгляд логічної конструкції електронно-обчислювального пристрою». З тих пір пройшло більше півстоліття, але висунуті в ній положення зберігають свою актуальність і сьогодні. У статті переконливо обґрунтовується використання двійкової системи для представлення чисел, в адже раніше всі обчислювальні машини зберігали оброблювані числа в десятковому вигляді. Автори продемонстрували переваги двійкової системи для технічної реалізації, зручність і простоту виконання в ній арифметичних і логічних операцій. Надалі ЕОМ стали обробляти і нечислові види інформації - текстову, графічну, звукову та інші, але двійкове кодування даних як і раніше становить інформаційну основу будь-якого сучасного комп'ютера.
Крім машин, що працювали з двійковим кодом, існували й існують трійкові машини. Трійкові комп'ютери мають ряд переваг і недоліків перед двійковими. Серед переваг можна виділити швидкодія (операції додавання виконуються приблизно в 1.5 рази швидше), наявність двійковій і троичной логіки. До недоліком - складна реалізація в порівнянні з двійковими машинами.
Ще однією революційною ідеєю, значення якої важко переоцінити, є принцип «збереженої програми». Спочатку програма задавалася шляхом установки перемичок на спеціальній комутаційної панелі. Це було досить трудомістким заняттям: наприклад, для зміни програми машини ЕНІАК було потрібно кілька днів, в той час як власне розрахунок не міг тривати більше декількох хвилин - виходили з ладу лампи, яких була величезна кількість. Однак програма може також зберігатися у вигляді набору нулів та одиниць, причому в тій же самій пам'яті, що й оброблювані нею числа. Відсутність принципової різниці між програмою і даними дало можливість ЕОМ самій формувати для себе програму відповідно до результатів обчислень.
Наявність заданого набору виконуваних команд і програм було характерною рисою перших комп'ютерних систем. Сьогодні подібний дизайн застосовують з метою спрощення конструкції обчислювального пристрою. Так, настільні калькулятори, в принципі, є пристроями з фіксованим набором виконуваних програм. Їх можна використовувати для математичних розрахунків, але неможливо застосувати для обробки тексту і комп'ютерних ігор, для перегляду графічних зображень або відео. Зміна вбудованої програми для такого роду пристроїв вимагає практично повної їх переробки, і в більшості випадків неможливо. Втім, перепрограмування ранніх комп'ютерних систем все-таки виконувалося, однак вимагало великого обсягу ручної роботи з підготовки нової документації, перекоммутации і перебудови блоків і пристроїв і т.п.
Все змінила ідея збереження комп'ютерних програм в спільній пам'яті. До часу її появи використання архітектур, заснованих на наборах виконуваних інструкцій, і подання обчислювального процесу як процесу виконання інструкцій, записаних в програмі, надзвичайно збільшило гнучкість обчислювальних систем в плані обробки даних. Один і той же підхід до розгляду даних та інструкцій зробив легкої завдання зміни самих програм.
Принципи фон Неймана. Принцип однорідності пам'яті
Команди і дані зберігаються в одній і тій же пам'яті і зовні в пам'яті невиразні. Розпізнати їх можна тільки за способом використання. Це дозволяє проводити над командами ті ж операції, що і над числами, і, відповідно, відкриває ряд можливостей. Так, циклічно змінюючи адресну частину команди, можна забезпечити звернення до послідовним елементам масиву даних. Такий прийом носить назву модифікації команд і з позицій сучасного програмування не вітається. Більш корисним є інше наслідок принципу однорідності, коли команди однієї програми можуть бути отримані як результат виконання іншої програми. Ця можливість лежи...