Сьогодні важко повірити, але комп'ютери, без яких багато хто вже не можуть уявити своє життя, з'явилися всього якихось 70 років тому. Одним з тих, хто зробив вирішальний внесок у їх створення, був американський вчений Джон фон Нейман. Він запропонував принципи, на яких і донині працює більшість ЕОМ. Розглянемо, як працює машина фон Неймана.
Коротка біографічна довідка
Янош Нейман народився у 1930 році в Будапешті, в дуже заможній єврейській родині, якій згодом вдалося одержати дворянський титул. Він з дитинства відрізнявся видатними здібностями в усіх областях. У 23 роки Нейман вже захистив кандидатську дисертацію в галузі експериментальної фізики і хімії. У 1930-му молодого вченого запросили на роботу в США, в Прінстонський університет. Одночасно з цим Нейман став одним з перших співробітників Інституту перспективних досліджень, де пропрацював професором до кінця життя. Наукові інтереси Неймана були досить великі. Зокрема, він є одним з творців матаппарата квантової механіки і концепції клітинних автоматів.
Внесок в інформатику
Перш ніж з'ясувати, яким принципом не відповідає архітектура фон Неймана, буде цікаво дізнатися про те, як учений прийшов до ідеї створення обчислювальної машини сучасного типу. Будучи експертом в області математики вибухів і ударних хвиль, на початку 1940-х фон Нейман був науковим консультантом в одній з лабораторій Управління боєприпасів Армії Сполучених Штатів. Восени 1943 року він прибув до Лос-Аламос для участі в розробці Манхеттэнского проекту за особистим запрошенням його керівника Роберта Оппенгеймера. Перед ним було поставлено завдання розрахувати силу имплозийного стиснення заряду атомної бомби до критичної маси. Для її вирішення потрібні були великі обчислення, які на перших порах здійснювалися на ручних калькуляторах, а пізніше на механічних табуляторах фірми IBM, з використанням перфокарт.
Фон Нейман познайомився з інформацією про хід створення електронно-механічних і повністю електронних комп'ютерів. Незабаром його залучили до розробки комп'ютерів EDVAC і ENIAC, в результаті чого він почав писати «Перший проект звіту про EDVAC», яка залишилася незакінченою, в якій представив науковому співтовариству абсолютно нову ідею про те, якою повинна бути комп'ютерна архітектура.
Принципи фон Неймана
Інформатика як наука до 1945 році зайшла в глухий кут, так як всі обчислювальні машини зберігали в своїй пам'яті оброблювані числа в 10-му вигляді, а програми для здійснення операцій задавалися за допомогою установки перемичок на комутаційній панелі. Це значно обмежувало можливості комп'ютерів. Справжнім проривом стали принципи фон Неймана. Коротко можна висловити одним реченням: перехід до двійковій системі числення і принцип збереженої програми.
Аналіз
Розглянемо, на яких принципах заснована класична структура машини фон Неймана, більш докладно: 1. Перехід до двійковій системі від десятірічной Цей принцип неймановской архітектури дозволяє використовувати досить прості логічні пристрої. 2. Програмне управління електронною обчислювальною машиною Робота ЕОМ контролюється набором команд, виконуваних послідовно один за одним. Розробка перших машини із програмою, яка зберігається в пам'яті, поклала початок сучасному програмування. 3. Дані та програми в пам'яті комп'ютера зберігаються спільно При цьому дані, і команди програми мають однаковий спосіб запису в двійковій системі числення, тому в певних ситуаціях над ними можливе виконання тих самих дій, що й над даними.
Слідства
Крім того, архітектура Фоннеймановской машини володіє наступними особливостями: 1. Комірки пам'яті мають адреси, які пронумеровані послідовно Завдяки застосуванню цього принципу стало можливим використання змінних в програмуванні. Зокрема, в будь-який момент можна звернутися до тієї чи іншій комірці пам'яті за її адресою. 2. Можливість умовного переходу в ході виконання програми Як вже було сказано, команди в програмах повинні виконуватися послідовно. Проте передбачена можливість здійснити перехід до будь-якої ділянки коду.
Як працює машина фон Неймана
Така математична модель складається з пам'яті (ЗУ), арифметико-логічного пристрою (АЛУ), керуючого, а також пристроїв введення і виведення. Всі команди програми записуються в комірках пам'яті, розташованих по сусідству, а дані для їх обробки — в довільних клітинках.
Будь-яка команда повинна складатися з: вказівки, яка операція повинна бути виконана; адрес комірок пам'яті, в яких зберігаються вихідні дані, яких торкається зазначеної операцією; адрес комірок, в які слід записати результат. Зазначені командами операції над конкретними вихідними даними виконуються АЛП, а результати записуються в комірках пам'яті, тобто зберігаються у вигляді, зручному для подальшої машинної обробки, або передаються на пристрій виведення (монітор, принтер тощо) і стають доступні людині. УУ управляє всіма частинами ЕОМ. Від нього на інші пристрої надходять сигнали-накази «що робити», а від інших пристроїв воно отримує інформацію про те, в якому стані вони знаходяться.
У керуючого пристрою є спеціальний регістр, називаний «лічильником команд» СК. Після завантаження вихідних даних і програми в пам'ять, СК записується адреса її 1-ї команди. УУ зчитує з пам'яті ЕОМ зміст осередку, адреса якої знаходиться в СК, і поміщає його в «Регістр команд». Керуючий пристрій визначає операцію, відповідну конкретній команді, і «відзначає» в пам'яті комп'ютера дані, адреси яких у ньому зазначені. Далі АЛУ або апаратні засоби ЕОМ приступають до виконання операції, по завершенні якої вміст СК змінюється на одиницю, тобто вказує на таку команду.
Критика
Недоліки та сучасні перспективи архітектури фон Неймана продовжують залишатися предметом дискусій. Те, що машини, створені на засадах, висунутих цим видатним вченим, не досконалі, було помічено ще дуже давно. Тому в екзаменаційних білетах з інформатики нерідко можна зустріти питання "яким принципом не відповідає архітектура фон Неймана і які недоліки у неї є". При відповіді на його другу частину обов'язково слід вказати: на наявність семантичного розриву між мовами програмування високого рівня і системою команд; на проблему узгодження ОП і пропускної здатності процесора; на намічається криза програмного забезпечення, викликаний тим, що витрати на його створення є набагато нижче вартості розробки апаратних засобів, і немає можливості повного тестування програми; відсутність перспектив з точки зору швидкодії, так як вже досягнуто його теоретичний межа. Що стосується того, яким принципом не відповідає архітектура фон Неймана, то мова йде про паралельності організації великого числа потоків даних і команд, властивої багатопроцесорної архітектурі.
Висновок
Тепер вам відомо, яким принципом не відповідає архітектура фон Неймана. Очевидно, що наука і технології не стоять на місці, і, можливо, дуже скоро в кожному будинку з'являться комп'ютери абсолютно нового типу, завдяки яким людство вийде на новий рівень свого розвитку. До речі, підготуватися до іспиту допоможе програма-тренажер "Архітектура фон Неймана". Такі цифрові освітні ресурси полегшують засвоєння матеріалу і дають можливість оцінити свої знання.