Коротка історія виникнення схем фону нейману. Класична архітектура ЕОМ та принципи фон нейману

У кожній галузі науки і техніки існують деякі фундаментальні ідеї або принципи, що визначають її зміст та розвиток. У комп'ютерній науці роль таких фундаментальних ідей відіграли принципи, сформульовані незалежно один від одного - американським математиком та фізиком Джоном фон Нейманом (1903-1957) та радянським вченим Сергієм Лебедєвим (1902-1974). Ці принципи визначають основні організації комп'ютера.

Вважається, що перший електронний комп'ютер ЕНІАК був виготовлений у США 1946 року. ЕНІАК складався з 18000 електронних ламп та 1500 реле та важив 30 тонн. Він і мав 20 регістрів, кожен з яких міг містити 10-розрядне десяткове число. Блискучий аналіз сильних і слабких сторінпроекту ЕНІАК було надано у звіті Прінстонського інституту перспективних досліджень «Попереднє обговорення логічного конструювання електронного обчислювального пристрою» (червень 1946 року). Цей звіт, складений видатним американським математиком Джоном фон Нейманом та його колегами по Прінстонському інституту Г. Голдстайном та А. Берксом, представляв проект нового електронного комп'ютера. Ідеї, висловлені у цьому звіті, відомі під назвою "Неймановських принципів".

Говорячи про основоположників теоретичної інформатики, не можна не згадати про два наукові досягнення: алгебру логіки та теорію алгоритмів. Алгебра логіки була розроблена в середині 19 століття англійським математиком Джорджем Булем і розглядалася ним як метод математизації формальної логіки. Розробка електронних комп'ютерівна двопозиційних електронних елементах створила можливе широке використання «бульової логіки» для проектування комп'ютерних схем. У першій половині 30-х років 20-го століття з'явилися математичні роботи, в яких було доведено принципову можливість вирішення за допомогою автоматів будь-якої проблеми, що піддається алгоритмічній обробці. Цей доказ містився в опублікованих в 1936 роботах англійського математика Е. Поста. (Джордж Буль (1815-1864), Алан Тьюрінг (1912-1954)).

У Радянському Союзі роботи зі створення електронних комп'ютерів було розпочато дещо пізніше. Перший радянський електронний комп'ютер був виготовлений у Києві 1953 року. Він називався МЭСМ (мала електронна обчислювальна машина), яке головним конструктором був академік Сергій Лебедєв, автор проектів комп'ютерів серії БЭСМ (велика електронна рахункова машина). У проекті МЭСМ Сергій Лебедєв незалежно від Неймана дійшов тим самим ідеям конструювання електронних комп'ютерів, як і Нейман.

Сутність "Неймановських Принципів" полягала в наступному:

1.Комп'ютер включає пов'язані між собою Процесор (арифметичний пристрій і пристрій управління), Пам'ять і Пристрій введення-виводу.

2. Комп'ютери на електронних елементах повинні працювати не в десятковій, а в двійковій системі числення.

3.Програма, як і числа, з якими оперує комп'ютер, записуються в двійковому коді, тобто за формою представлення команди і числа однотипні.

4.Програма повинна розміщуватися в одному з блоків комп'ютера - в пристрої, що запам'ятовує, який має довільний доступ. Програма та дані можуть знаходитись у спільній пам'яті (принстонська архітектура).

5.Труднощі фізичної реалізації запам'ятовуючого пристрою великої швидкодії, енергонезалежного та великої пам'ятівимагають ієрархічної організації пам'яті. Програма виконується з основної пам'яті, а зберігається в незалежній вторинній пам'яті ( магнітних дисках). Файл - ідентифікаційна сукупність екземплярів повністю описаного в конкретній програмі типу даних, що знаходяться поза програмою зовнішньої пам'яті і доступних програмі за допомогою спеціальних операцій.

6. Арифметико-логічне пристрій (АЛУ) комп'ютера конструюється з урахуванням схем, виконують операцію складання, зсуву, логічну операцію. Крім результату операції, АЛУ формує ряд ознак результату (прапорів), які можуть аналізуватися при виконанні команди умовної передачі управління.

Основи вчення про архітектуру обчислювальних машин заклав фон Нейман в 1944, коли підключився до створення першого в світі лампового комп'ютера ЕНІАК. У процесі роботи над ЕНІАК у Пенсільванському Університеті під час численних дискусій фон Неймана з його колегами Джоном Вільямом Моклі, Джоном Екертом, Германом Голдстайном та Артуром Берксом, виникла ідея більш досконалої машини під назвою EDVAC. Дослідницька роботанад EDVAC тривала паралельно з конструюванням ЕНІАК.

Перша сторінка надрукованої копії «Першого звіту з EDVAC»

У березні 1945 року принципи логічної архітектури були оформлені в документі, який називався «Перший проект звіту про EDVAC» - звіт для Балістичної Лабораторії Армії США, на чиї гроші здійснювалося будівництво ЕНІАК та розробка EDVAC. Звіт, оскільки він був лише начерком, не призначався для публікації, лише для поширення всередині групи, проте Герман Голдстайн - куратор проекту з боку Армії США - розмножив цю наукову роботу і розіслав її широкому колу вчених для ознайомлення. Так як на першій сторінці документа стояло тільки ім'я фон Неймана, у тих, хто читав документ, склалося хибне враження, що автором усіх ідей, викладених у роботі, є саме він. Документ давав достатньо інформації для того, щоб ті, хто читав його, могли побудувати свої комп'ютери, подібні до EDVAC на тих же принципах і з тією ж архітектурою, яка в результаті стала називатися «архітектурою фон Неймана».

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

Крім машин, що працювали з двійковим кодом, існували та існують трійкові машини. Трійкові комп'ютери мають ряд переваг та недоліків перед двійковими. Серед переваг можна виділити швидкодію (операції додавання виконуються приблизно в півтора рази швидше), наявність двійкової та трійкової логіки, симетричне уявлення цілих чисел зі знаком (у двійковій логіці або матимуть місце два нулі (позитивний і негативний), або матиме місце число, якому немає пари із протилежним знаком). До недоліків - складніша реалізація порівняно з двійковими машинами.

Ще однією революційною ідеєю, значення якої важко переоцінити, є принцип «збереженої програми». Спочатку програма задавалася шляхом встановлення перемичок на спеціальній комутаційній панелі. Це було дуже трудомістким заняттям: наприклад, для зміни програми машини ЕНІАК вимагалося кілька днів, тоді як власне розрахунок не міг тривати більше кількох хвилин - виходили з ладу лампи, яких було дуже багато. Однак програма може також зберігатися у вигляді набору нулів і одиниць, причому в тій самій пам'яті, що і числа, що нею обробляються. Відсутність принципової різниці між програмою та даними дала можливість ЕОМ самій формувати для себе програму відповідно до результатів обчислень.

Наявність заданого набору команд і програм, що виконуються, була характерною рисою перших комп'ютерних систем. Сьогодні подібний дизайн застосовують для спрощення конструкції обчислювального пристрою. Так, настільні калькулятори, в принципі, є пристроями з фіксованим набором програм, що виконуються. Їх можна використовувати для математичних розрахунків, але майже неможливо застосувати для обробки тексту та комп'ютерних ігор для перегляду графічних зображеньабо відео. Зміна вбудованої програми для таких пристроїв вимагає практично повної їх переробки, і в більшості випадків неможлива. Втім, перепрограмування ранніх комп'ютерних систем все-таки виконувалось, проте вимагало величезного обсягу ручної роботи з підготовки нової документації, перекомутації та перебудови блоків та пристроїв тощо.

Все змінила ідея зберігання комп'ютерних програму спільній пам'яті. На час її появи використання архітектур, заснованих на наборах виконуваних інструкцій, і уявлення обчислювального процесу як процесу виконання інструкцій, записаних у програмі, надзвичайно збільшило гнучкість обчислювальних систем у плані обробки даних. Один і той самий підхід до розгляду даних та інструкцій зробив легким завдання зміни самих програм.

Принципи фон Неймана

Принцип однорідності пам'яті

Команди та дані зберігаються в одній і тій же пам'яті та зовні в пам'яті невиразні. Розпізнати їх можна лише за способом використання; тобто одне й те саме значення в осередку пам'яті може використовуватися і як дані, і як команда, і як адреса залежно лише від способу звернення до нього. Це дозволяє виконувати над командами самі операції, як і над числами, і, відповідно, відкриває ряд можливостей. Так, циклічно змінюючи адресну частину команди, можна забезпечити звернення до послідовних елементів масиву даних. Такий прийом зветься модифікації команд і з позицій сучасного програмування не вітається. Більш корисним є інше наслідок принципу однорідності, коли команди однієї програми можуть бути отримані як результат виконання іншої програми. Ця можливість лежить в основі трансляції – перекладу тексту програми з мови високого рівняна мову конкретної обчислювальної машини.

Принцип адресності

Структурно основна пам'ять складається з пронумерованих осередків, причому процесору у довільний момент доступна будь-яка комірка. Двійкові коди команд і даних поділяються на одиниці інформації, звані словами, і зберігаються в осередках пам'яті, а доступу до них використовуються номери відповідних осередків - адреси.

Принцип програмного управління

Усі обчислення, передбачені алгоритмом розв'язання задачі, мають бути представлені у вигляді програми, що складається з послідовності керуючих слів - команд. Кожна команда наказує деяку операцію з набору операцій, що реалізуються обчислювальною машиною. Команди програми зберігаються в послідовних осередках пам'яті обчислювальної машини і виконуються в природній послідовності, тобто в порядку їхнього положення в програмі. У разі потреби за допомогою спеціальних команд ця послідовність може бути змінена. Рішення про зміну порядку виконання команд програми приймається або з аналізу результатів попередніх обчислень, або безумовно.

За планом, першим комп'ютером, збудованим з архітектури фон Неймана, мав стати EDVAC (Electronic Discrete Variable Automatic Computer) – одна з перших електронних обчислювальних машин. На відміну від свого попередника ЕНІАК, це був комп'ютер на двійковій, а не десятковій основі. Як і ЕНІАК, EDVAC був розроблений в Пенсільванського Університету для Лабораторії балістичних досліджень (англ.) Армії США командою інженерів та вчених на чолі з Джоном Преспером Екертом та Джоном Вільямом Моклі за активної допомоги математика, проте до 1951 року EDVAC не був запущений через технічних труднощів у створенні надійної комп'ютерної пам'яті та розбіжностей у групі розробників. Інші науково-дослідні інститути, ознайомившись із ЕНІАКом та проектом EDVAC, зуміли вирішити ці проблеми набагато раніше. Першими комп'ютерами, у яких було реалізовано основні особливості архітектури фон Неймана, були:

  1. прототип - Манчестерська мала експериментальна машина - Манчестерський університет, Великобританія, 21 червня 1948;
  2. EDSAC - Кембриджський університет, Великобританія, 6 травня 1949 року;
  3. Манчестерський Марк I - Манчестерський університет, Великобританія, 1949;
  4. BINAC - США, квітень чи серпень 1949 року;
  5. CSIR Mk 1
  6. EDVAC – США, серпень 1949 року – фактично запущений у 1952 році;
  7. CSIRAC – Австралія, листопад 1949 року;
  8. SEAC – США, 9 травня 1950 року;
  9. ORDVAC – США, листопад 1951 року;
  10. IAS-машина – США, 10 червня 1952 року;
  11. MANIAC I – США, березень 1952 року;
  12. AVIDAC – США, 28 січня 1953 року;
  13. ORACLE – США, кінець 1953 року;
  14. WEIZAC - Ізраїль, 1955;
  15. SILLIAC – Австралія, 4 липня 1956 року.

У СРСР першою повністю електронною обчислювальною машиною, близькою до принципів фон Неймана, стала МЕСМ, побудована Лебедєвим (на базі київського), що пройшла державні приймальні випробування у грудні 1951 року.

Вузьке місце архітектури фон Неймана

Спільне використання шини для пам'яті програм та пам'яті даних призводить до вузького місця архітектури фон Неймана, а саме обмеження пропускної спроможності між процесором та пам'яттю в порівнянні з обсягом пам'яті. Через те, що пам'ять програм і пам'ять даних не можуть бути доступні в один і той же час, пропускна здатністьканалу «процесор-пам'ять» і швидкість роботи пам'яті істотно обмежують швидкість роботи процесора - набагато сильніше, ніж якби програми та дані зберігалися у різних місцях. Оскільки швидкість процесора та обсяг пам'яті збільшувалися набагато швидше, ніж пропускна спроможність між ними, вузьке місце стало великою проблемою, серйозність якої зростає з кожним новим поколінням процесорів. ] .

Ця проблемавирішується вдосконаленням систем кешування, що у свою чергу ускладнює архітектуру систем і збільшує ризик виникнення побічних помилок (наприклад, у 2017 році були виявлені вразливості Meltdown та Spectre, які були присутні в сучасних процесорах протягом десятиліть, але не виявлені раніше через складність сучасних обчислювальних систем. і, зокрема, їх взаємодії із кеш-пам'яттю).

Термін «вузьке місце архітектури фон Неймана» запровадив Джон Бекус у 1977 році у своїй лекції «Чи можна звільнити програмування від стилю фон Неймана?» , яку він прочитав при врученні йому Премії Тьюринга

Вчені зі США та Італії в 2015 заявили про створення прототипу мем-процесора (англ. memprocessor)з відмінною від архітектури фон Неймана та можливості його використання для вирішення повних завдань.

Див. також

Примітки

  1. John von Neumann. First Draft of Report on EDVAC (неопр.) . University of Pennsylvania (30 червня 1945).
  2. Юрій Полунов.Автора! // PC Week/Russian Edition. – 2006. – № 20 (530) .
  3. Cragon, H. G.Комп'ютерна архітектура та впровадження. – Cambridge University Press, 2000. – P. 2. – 238 p. - ISBN 978-0-521-65168-4.
  4. , p. 255.
  5. Burks A. W., Goldstine H. H., Neumann J. Preliminary Discussion of Logical Design of Electronic Computing Instrument. - Institute for Advanced Study, Princeton, NJ, July 1946.

· Принцип двійкового кодування

· Відповідно до цього принципу, вся інформація, що надходить до ЕОМ, кодується за допомогою двійкових сигналів (двійкових цифр, бітів) і поділяється на одиниці, які називаються словами.

· Принцип однорідності пам'яті

· Програми та дані зберігаються в одній і тій же пам'яті. Тому ЕОМ не розрізняє, що зберігається у цій осередку пам'яті - число, текст чи команда. Над командами можна виконувати такі самі дії, як і над даними.

· Принцип адресації пам'яті

· Структурно основна пам'ять складається з пронумерованих осередків; процесору в довільний момент часу доступна будь-яка комірка. Звідси слід можливість давати імена областям пам'яті, так, щоб до значень, що зберігаються в них, можна було б згодом звертатися або змінювати їх у процесі виконання програми з використанням присвоєних імен.

· Принцип послідовного програмного управління

· Припускає, що програма складається з набору команд, які виконуються процесором автоматично один за одним у певній послідовності.

· Принцип жорсткості архітектури

· Незмінність у процесі роботи топології, архітектури, списку команд.

· Комп'ютери, побудовані цих принципах, відносять до типу фон-неймановских.

Найголовнішим наслідком цих принципів можна назвати те, що тепер програма вже не була постійною частиною машини (наприклад, у калькулятора). Програму можна було легко змінити. А ось апаратура, звичайно ж, залишається незмінною, і дуже простою.

· Для порівняння, програма комп'ютера ENIAC (де не було збереженої в пам'яті програми) визначалася спеціальними перемичками на панелі. Щоб перепрограмувати машину (встановити перемички по-іншому), міг знадобитися далеко не один день. І хоча програми для сучасних комп'ютерів можуть писатися роки, вони працюють на мільйонах комп'ютерів після кілька хвилинної установки на жорсткий диск.

·

· Машина фон Неймана складається з пам'яті - ЗУ, арифметико-логічного пристрою - АЛУ, пристрої управління - УУ, а також пристроїв введення та виведення.

· Програми та дані вводяться в пам'ять із пристрою введення через арифметико-логічний пристрій. Всі команди програми записуються в сусідні осередки пам'яті, а дані для обробки можуть утримуватись у довільних осередках. У будь-якій програмі остання команда має бути командою завершення роботи.

· Команда складається з вказівки, яку операцію слід виконати (з можливих операцій на даному «залізі») та адрес осередків пам'яті, де зберігаються дані, над якими слід виконати зазначену операцію, а також адреси осередку, куди слід записати результат (якщо його потрібно зберегти у ЗУ).


· Арифметико-логічний пристрій виконує зазначені командами операції над вказаними даними.

· З арифметико-логічного пристрою результати виводяться у пам'ять чи пристрій виведення. Принципова відмінність між ЗУ та пристроєм виведення полягає в тому, що в ЗУ дані зберігаються у вигляді, зручному для обробки комп'ютером, а на пристрої виведення (принтер, монітор та ін) надходять так, як зручно людині.

· УУ управляє усіма частинами комп'ютера. Від пристрою, що управляє, на інші пристрої надходять сигнали «що робити», а від інших пристроїв УУ отримує інформацію про їх стан.

· Керуючий пристрій містить спеціальний регістр (комірку), який називається «лічильник команд». Після завантаження програми та даних у пам'ять у лічильник команд записується адреса першої команди програми. УУ зчитує з пам'яті вміст осередку пам'яті, адреса якої знаходиться в лічильнику команд, і поміщає його в спеціальний пристрій - "Регістр команд". УУ визначає операцію команди, «відзначає» у пам'яті дані, адреси яких вказані у команді, та контролює виконання команди. Операцію виконує АЛП або апаратні засоби комп'ютера.

· В результаті виконання будь-якої команди лічильник команд змінюється на одиницю і, отже, вказує на наступну команду програми. Коли потрібно виконати команду, яка не наступна по порядку за поточною, а віддалену від даної на якусь кількість адрес, то спеціальна команда переходу містить адресу комірки, куди потрібно передати управління.

16) Структура та архітектура обчислювальної системи

Система (від грецького systema - ціле, складене з частин з'єднання) - це сукупність елементів, що взаємодіють один з одним, що утворюють певну цілісність, єдність.
Обчислювальна система - це сукупність одного або кількох комп'ютерів чи процесорів, програмного забезпечення та периферійного обладнання, організована для спільного виконання інформаційно-обчислювальних процесів.
Відмінною особливістюЗС по відношенню до ЕОМ є наявність у них кількох обчислювачів, що реалізують паралельну обробку.
Основні принципи побудови, що закладаються під час створення ВС:
можливість роботи в різних режимах;
модульність структури технічних та програмних засобів, що дозволяє вдосконалювати та модернізувати обчислювальні системи без корінних їх переробок;
уніфікація та стандартизація технічних та програмних рішень;
ієрархія у створенні управління процесами;
здатність систем до адаптації, самоналаштування та самоорганізації;
забезпечення необхідним сервісом користувачів під час виконання обчислень
За призначенням ВС ділять на
універсальні,
проблемно-орієнтовані
спеціалізовані.
Універсальні призначаються на вирішення широкого класу завдань. Проблемно орієнтовані використовуються для вирішення певного кола завдань у порівняно вузькій сфері. Спеціалізовані орієнтовані рішення вузького класу завдань
За типом ВС розрізняються на
багатомашинні
багатопроцесорні.
Обчислювальна система може будуватися на основі або цілих комп'ютерів (багатомашинна ЗС), або на основі окремих процесорів (багатопроцесорна ЗС).
За типом ЕОМ чи процесорів розрізняють
однорідні – будуються з урахуванням однотипних комп'ютерів чи процесорів.
неоднорідні системи – включає до свого складу різні типикомп'ютерів чи процесорів.
Територіально ЗС поділяються на:
зосереджені (всі компоненти розташовуються у безпосередній близькості один від одного);
розподілені (компоненти можуть розташовуватися на значній відстані, наприклад, обчислювальні мережі);
За методами керування елементами ВС розрізняють
централізовані,
децентралізовані
зі змішаним керуванням.

За режимом роботи ВС розрізняють системи, що працюють у
оперативному
неоперативний часовий режим.
Крім цього, ЗС можуть бути структурно
однорівневими (є лише один загальний рівень обробки даних);
Багаторівневими (ієрархічними) структурами. У ієрархічних НД машини або процесори розподілені за різними рівнями обробки інформації, деякі машини (процесори) можуть спеціалізуватися на виконанні певних функцій.
Структура обчислювальної системи.
Структура ВС - це сукупність комплексованих елементів та його зв'язків. Як елементи ВС виступають окремі ЕОМ та процесори.
В описаній багаторівневій структурі реалізується класична фон-неймановська організація ВС і передбачає послідовну обробку інформації за заздалегідь складеною програмою.
Архітектура обчислювальних систем. Класифікація архітектур обчислювальних систем.
Архітектура системи – сукупність властивостей системи, суттєвих для користування.
Архітектурою комп'ютера називається його опис на певному загальному рівні, що включає опис можливостей програмування, системи команд, системи адресації, організації пам'яті і т.д.
Класична архітектура (архітектура фон Неймана) – один арифметико-логічний пристрій (АЛУ), через який проходить потік даних, та один пристрій управління (УУ), через який проходить потік команд – програма. Це однопроцесорний комп'ютер.
Багатомашинна обчислювальна система. Тут кілька процесорів, що входять до обчислювальної системи, не мають загальної оперативної пам'ятіа мають кожен свою (локальну). Кожен комп'ютер у багатомашинній системі має класичну архітектуру, і така система застосовується досить широко.
Найранішою і найвідомішою є класифікація архітектур обчислювальних систем, запропонована 1966 року М.Флінном.

· Класифікація базується на понятті потоку, під яким розуміється послідовність елементів, команд чи даних, що обробляється процесором. На основі числа потоків команд і потоків даних Флін виділяє чотири класи архітектур: SISD, MISD, SIMD, MIMD.
SISD (single instruction stream / single data stream) - одиночний потік команд та одиночний потік даних. До цього класу відносяться, перш за все, класичні послідовні машини, або інакше, машини фон-нейманівського типу, наприклад PDP-11 або VAX 11/780. У таких машинах є лише один потік команд, всі команди обробляються послідовно одна за одною і кожна команда ініціює операцію з одним потоком даних. Не має значення той факт, що для збільшення швидкості обробки команд і швидкості виконання арифметичних операцій може застосовуватися конвеєрна обробка - як CDC 6600 машина зі скалярними функціональними пристроями, так і CDC 7600 з конвеєрними потрапляють в цей клас.
SIMD (single instruction stream/multiple data stream) - одиночний потік команд та множинний потік даних. В подібних архітектурах зберігається один потік команд, що включає, на відміну від попереднього класу, векторні команди. Це дозволяє виконувати одну арифметичну операцію відразу над багатьма даними елементами вектора. Спосіб виконання векторних операцій не обумовлюється, тому обробка елементів вектора може проводитися процесорною матрицею, як в ILLIAC IV, або за допомогою конвеєра, як, наприклад, в машині CRAY-1.
MISD (multiple instruction stream/single data stream) - множинний потік команд і одиночний потік даних. Визначення має на увазі наявність в архітектурі багатьох процесорів, які обробляють один і той же потік даних. Однак ні Флінн, ні інші фахівці в галузі архітектури комп'ютерів досі не змогли подати переконливий приклад реально існуючої обчислювальної системи, побудованої на даному принципі. Ряд дослідників відносять конвеєрні машини до цього

У 1946 році Д. фон Нейман, Г. Голдстайн і А. Беркс у своїй спільній статті виклали нові принципи побудови та функціонування ЕОМ. Надалі з урахуванням цих принципів проводилися перші два покоління комп'ютерів. У пізніших поколіннях відбувалися деякі зміни, хоча принципи Неймана є актуальними й сьогодні.

По суті, Нейману вдалося узагальнити наукові розробки та відкриття багатьох інших вчених та сформулювати на їх основі принципово нове.

Принцип програмного управління:Програма складається з набору команд, що виконуються процесором певної послідовності.

Принцип однорідності пам'яті:програми та дані зберігаються в одній і тій же пам'яті.

Принцип адресності:Структурно основна пам'ять складається з пронумерованих осередків. Процесору в довільний момент часу доступна будь-яка комірка.

p align="justify"> Комп'ютери, побудовані на перерахованих принципах, відносяться до типу фон - неймановських.

Найголовнішим наслідком цих принципів можна назвати те, що тепер програма вже була постійною частиною машини (як, наприклад, у калькулятора). Програму можна було легко змінити. Для порівняння, програма комп'ютера ENIAC (де не було збереженої у пам'яті програми) визначалася спеціальними перемичками на панелі. Щоб перепрограмувати машину (встановити перемички по-іншому), міг знадобитися далеко не один день. І хоча програми для сучасних комп'ютерів можуть писатися роки, однак вони працюють на мільйонах комп'ютерів, встановлення програм не потребує значних витрат часу.

Крім перелічених трьох принципів фон Нейман запропонував принцип двійкового кодування.для представлення даних та команд використовується двійкова система числення (перші машини використовували десяткову систему числення). Але подальші розробки показали можливість використання нетрадиційних систем числення.

На початку 1956 р. з ініціативи академіка С.Л. Соболєва, завідувача кафедри обчислювальної математики на механіко-математичному факультеті Московського університету, в обчислювальному центрі МДУ було засновано відділ електроніки та почав працювати семінар з метою створення практичного зразка цифрової обчислювальної машини, призначеної для використання у вузах, а також у лабораторіях та конструкторських бюро промислових підприємств. . Потрібно розробити малу ЕОМ, просту в освоєнні та застосуваннях, надійну, недорогу і водночас ефективну у широкому спектрі завдань. Грунтовне вивчення протягом року обчислювальних машин, що були на той час, технічних можливостейїх реалізації призвело до нестандартного рішенняВикористовувати в створюваній машині не двійковий, а трійковий симетричний код, реалізувавши врівноважену систему числення, яку Д. Кнут через двадцять років назве можливо, найкрасивішою і як потім стало відомо, переваги якої були виявлені К. Шенноном в 1950р. На відміну від загальноприйнятого сучасних комп'ютерахдвійкового коду з цифрами 0, 1, арифметично неповноцінного внаслідок неможливості безпосереднього подання в ньому негативних чисел, трійковий код із цифрами -1, 0, 1 забезпечує оптимальну побудову арифметики чисел зі знаком. Трійкова система числення заснована на тому ж позиційному принципі кодування чисел, що і прийнята в сучасних комп'ютерах двійкова система, проте вага i-й позиції (розряду) у ній дорівнює не 2 i, а 3 i. При цьому самі розряди не двозначні (не биті), а тризначні (трити) - крім 0 і 1 допускають третє значення, яким у симетричній системі служить -1, завдяки чому однаково представимі як позитивні, так і негативні числа. Значення n-тритного цілого числа N визначається аналогічно значенню n-бітного:

де а i ∈ (1, 0, -1) – значення цифри i-го розряду.

У квітні 1960 р. були проведені міжвідомчі випробування досвідченого зразка обчислювальної машини, названої «Сетунь». простота технічного обслуговування”. “Сетунь”, завдяки природності троїчного симетричного коду, виявилася справді універсальним, нескладно програмованим і ефективним обчислювальним інструментом, що позитивно зарекомендував себе, зокрема, як технічний засібнавчання обчислювальної математики у понад тридцяти вузах. А у Військово-повітряній інженерній академії ім. Жуковського саме на “Сетуні” було вперше реалізовано автоматизована системакомп'ютерне навчання.

Відповідно до принципів фон Неймана комп'ютер складається з:

· арифметико-логічного устрою - АЛУ(англ. ALU, Arithmetic and Logic Unit), що виконує арифметичні та логічні операції; пристрої управління -УУ, призначеного для організації виконання програм;

· запам'ятовуючих пристроїв (ЗП), в т.ч. оперативного запам'ятовуючого пристрою (ОЗП – первинна пам'ять) та зовнішнього запам'ятовуючого пристрою (ВЗП); в о сновної пам'яті зберігаються дані та програми; модуль пам'яті складається з безлічі пронумерованих осередків, в кожну комірку може бути записано двійкове число, яке інтерпретується як команда, або як дані;

· у будівництв введення-виведення, які служать передачі даних між комп'ютером і зовнішнім оточенням, що з різних периферійних пристроїв, до яких входять вторинна пам'ять, комунікаційне устаткування і термінали.

Забезпечує взаємодію між процесором (АЛУ та УУ), основною пам'яттю та пристроями введення – виведення з Системна шина .

Фон-нейманівська архітектура комп'ютера вважається класичною, на ній збудовано більшість комп'ютерів. У випадку, коли говорять про архітектуру фон Неймана, мають на увазі фізичне відділення процесорного модуля від пристроїв зберігання програм і даних. Ідея зберігання комп'ютерних програм у спільній пам'яті дозволяла перетворити обчислювальні машини на універсальні пристрої, які здатні виконувати широке коло завдань. Програми та дані вводяться в пам'ять із пристрою введення через арифметико-логічний пристрій. Всі команди програми записуються в сусідні осередки пам'яті, а дані для обробки можуть утримуватись у довільних осередках. У будь-якій програмі остання команда має бути командою завершення роботи.

Переважна більшість обчислювальних машин на сьогоднішній день – фон-Нейманівські машини. Виняток становлять лише окремі різновиди систем для паралельних обчислень, у яких відсутня лічильник команд, не реалізована класична концепція змінної та є інші істотні принципові відмінності від класичної моделі (прикладами можуть бути потокова та редукційна обчислювальні машини). Очевидно, значне відхилення від фон-неймановской архітектури відбудеться у результаті розвитку ідеї машин п'ятого покоління, основу обробки інформації у яких лежать не обчислення, а логічні висновки.

2.2 Команда, формати команд

Команда – це опис елементарної операції, яку має виконати комп'ютер.

Структура команди.

Кількість розрядів, що відводяться для запису команди, залежить від апаратних засобів конкретної моделікомп'ютера. У зв'язку з цим структуру конкретної команди розглядатимемо для загального випадку.

У загальному випадку команда містить таку інформацію:

Ø код виконуваної операції;

Ø вказівки щодо визначення операндів або їх адрес;

Ø вказівки щодо розміщення одержуваного результату.

Для будь-якої конкретної машини має бути задано число двійкових розрядів, що відводяться в команді для кожного з її адрес і для коду операцій, як і самі фактичні коди операцій. Число двійкових розрядів у команді, відведене при конструюванні машини для кожної з її адрес, визначає верхню межу числа комірок пам'яті машини, що мають окремі адреси: якщо адреса в команді зображується за допомогою n двійкових розрядів, то пам'ять з швидкою вибіркою не може утримуватися більше ніж 2n осередків.

Команди виконуються послідовно, починаючи з початкової адреси (точки входу) програми, що виконується, адреса кожної наступної команди на одиницю більше адреси попередньої команди, якщо вона не була командою переходу.

У сучасних машинах довжина команд змінна (як правило, від двох до чотирьох байт), а способи вказівки змінних адрес дуже різноманітні.

В адресній частині команди може бути зазначено, наприклад:

Операнд;

Адреса операнда;

Адреса адреси операнда (номер байта, починаючи з якого розташована адреса операнда) і т.д.

Розглянемо структуру можливих варіантів кількох типів команд.

Триходові команди.

Двохадресні команди.

Нехай 53 - код операції складання.

У цьому випадку структура трихадресної команди виглядає так:

· Триходові команди.

Процес виконання команди розбивається на такі етапи:

З комірки пам'яті, адресу якої зберігається у лічильнику команд, вибирається чергова команда; вміст лічильника змінюється і тепер містить адресу наступної команди команди;

Вибрана команда передається у пристрій управління регістр команд;

Пристрій керування розшифровує адресне поле команди;

За сигналами УУ значення операндів зчитуються з пам'яті та записуються в АЛП на спеціальні регістри операндів;

УУ розшифровує код операції та видає в АЛУ сигнал виконати відповідну операцію над даними;

Результат операції у разі відправляється на згадку (в одноадресних і двоадресних ЕОМ залишається у процесорі);

Усі попередні дії виконуються до досягнення команди ОСТАНОВ.

2.3 ЕОМ як автомат

«Електронні цифрові машини з програмним управлінням є прикладом одного з найбільш поширених в даний час типів перетворювачів дискретної інформації, званих дискретними або цифровими автоматами» (Глушков В.М. Синтез цифрових автоматів)

Будь-яка обчислювальна машина працює автоматично (чи то велика чи мала ЕОМ, персональний комп'ютер чи Супер-ЕОМ). У цьому сенсі обчислювальна машина як автомат може бути описана структурною схемою, представленою на рис. 2.1.

У попередніх параграфах було розглянуто структурну схему обчислювальної машини. Виходячи з структурної схемиобчислювальної машини та схеми автомата, ми можемо зіставити блоки схеми автомата та елементи структурної схеми ЕОМ.

Як виконавчі елементи в автомат включаються:

· арифметико-логічний пристрій:

· Пам'ять;

· Пристрої введення-виведення інформації.

Керуючим елементом автомата є пристрій управління, який власне забезпечує автоматичний режимроботи. Як зазначалося, в сучасних обчислювальних пристроях основним виконавчим елементом є процесор чи мікропроцесор, що містить у собі АЛУ, пам'ять, пристрій управління.

Допоміжними пристроями автомата можуть бути всілякі додаткові засоби, що покращують або розширюють можливості автомата.

Джон фон Нейман (1903 - 1957) - американський математик, який зробив великий внесок у створення перших ЕОМ і розробку методів їх застосування.

Саме він заклав основи вчення про архітектуру обчислювальних машин, підключившись до створення першої у світі лампової ЕОМ ENIAC у 1944 році, коли її конструкцію було вже обрано.

У процесі роботи, під час численних дискусій зі своїми колегами Г. Голдстайном та А. Берксом, Джон фон Нейман висловив ідею принципово нової ЕОМ. У 1946 році вчені виклали свої принципи побудови обчислювальних машин у класичній статті, що стала «Попередній розгляд логічної конструкції електронно-обчислювального пристрою».

З того часу минуло понад півстоліття, але висунуті в ній положення зберігають свою актуальність і сьогодні. Сотников В.М., Попов А.М. Інформатика та математика для юристів. – М., 2012. С. 226

У статті переконливо обґрунтовується використання двійкової системи для представлення чисел, адже раніше всі обчислювальні машини зберігали оброблювані числа в десятковому вигляді. Автори продемонстрували переваги двійкової системи для технічної реалізації, зручність та простоту виконання у ній арифметичних та логічних операцій. обчислювальний комп'ютер двійковий

Надалі ЕОМ почали обробляти і нечислові види інформації - текстову, графічну, звукову та інші, але двійкове кодування даних, як і раніше, становить інформаційну основу будь-якого сучасного комп'ютера.

Ще однією революційною ідеєю, значення якої важко переоцінити, є запропонований Нейманом принцип «збереженої програми».

Спочатку програма задавалася шляхом встановлення перемичок на спеціальній комутаційній панелі. Це було дуже трудомістким заняттям: наприклад, для зміни програми машини ENIAC потрібно кілька днів, тоді як власне розрахунок не міг тривати більше кількох хвилин - виходили з ладу лампи, яких було величезна кількість.

Нейман першим здогадався, що програма може також зберігатися у вигляді набору нулів і одиниць, причому в тій самій пам'яті, що і числа, що нею обробляються. Відсутність принципової різниці між програмою та даними дала можливість ЕОМ самій формувати для себе програму відповідно до результатів обчислень.

Джон фон Нейман як висунув основні принципи логічного устрою ЕОМ, а й запропонував її структуру, яка відтворювалася протягом перших двох поколінь ЕОМ. Мішин А.В. Інформаційні технологіїу професійній діяльності. - М: Академія, 2012. С. 161

Основними блоками по Нейману є пристрій управління (УУ) і арифметико-логічний пристрій (АЛУ), які зазвичай об'єднуються в центральний процесор, який також входить набір регістрів загального призначення (РОН) - для проміжного зберігання інформації в процесі її обробки; пам'ять, зовнішня пам'ять, пристрої введення та виведення. Слід зазначити, що зовнішня пам'ять відрізняється від пристроїв введення та виведення тим, що дані до неї заносяться у вигляді, зручному комп'ютеру, але недоступне безпосереднього сприйняття людиною.

Архітектура ЕОМ, побудована за принципами Джон фон Неймана.

Суцільні лінії зі стрілками вказують напрямок потоків інформації, пунктирні - сигналів, що управляють.



Завантаження...
Top