Архітектура фон Неймана
Завантажити презентаціюПрезентація по слайдам:
Зміст Архітектура фон Неймана Передумови створення Принципи архітектури фон Неймана Класична структура машини фон Неймана Принцип функціонування Недоліки архітектури фон Неймана Альтернативні архітектури
Архітектура фон Неймана Архітектура фон Неймана – архітектура електронних обчислювальних машин, основною відмінністю від інших подібних архітектур якої є спільне зберігання даних та машинних команд в комірках однієї й тієї ж пам'яті, що унеможливлює їх розрізнення за способом представлення або кодування.
Передумови створення Фон Нейман запропонував зберігати алгоритм разом з даними для обчислень в пам'яті обчислювальної машини, що б давало можливість: оперативно перепрограмувати систему поводитись з командами як з даними, проводити над ними такі ж обчислювальні операції, тобто фактично відкривало можливість для написання програм, які самі себе модифікують Таким чином пропонувалась організація обчислень, яка дійсно робила обчислювальну машину універсальним інструментом.
Передумови створення Для того, щоби вказати машині на те, де є команди, а де є дані, була згодом запропонована концепція лічильника команд - program counter. В ньому зберігалась адреса поточної команди, а після її виконання замінювалась адресою наступної. Адреси ж самих операндів зберігались безпосередньо в команді.
Передумови створення Запропонована чотирикомпонентна структура обчислювального інструмента, яка зараз вважається класичною структурою фоннейманівської машини, а саме: арифметичний пристрій пристрій управління пам'ять пульт оператора.
Принципи архітектури фон Неймана Принцип двійковості. Для представлення даних і команд використовується двійкова система числення. Принцип програмного управління. Програма складається з набору команд, які виконуються процесором одна за одною в визначеній послідовності. Принцип однорідності пам’яті. Як і команди, так і дані зберігаються в одній і тій ж пам’яті та кодуються в одній і тій ж системі числення — найчастіше всього двійковій. Над командами можна виконувати такі ж дії, як і над даними.
Принципи архітектури фон Неймана Принцип адресації пам’яті. Структурно основна пам’ять складається з пронумерованих комірок; процесору в будь-який момент часу доступна будь-яка комірка. Принцип послідовного програмного управління. Усі команди розміщуються в пам’яті і виконуються послідовно, кожна після закінчення попередньої. Принцип умовного переходу. Kоманди з програми не завжди виконуються одна за одною. Можливо існування в програмі команд умовного переходу, що змінюють послідовність виконання команд в залежності від значень даних.
Принципи архітектури фон Неймана Обчислювальна машина є машиною з архітектурою фон Неймана, якщо: Програма та дані зберігаються в одній загальній пам'яті. Кожна комірка пам'яті машини ідентифікується унікальним номером, який називається адресою. Різні слова інформації розрізняються за способом використання, але не за способом кодування та структурою представлення в пам'яті. Кожна програма виконується послідовно, починаючи з першої команди, якщо немає спеціальних вказівок. Для зміни цієї послідовності використовуються команди передачі управління.
Класична структура машини фон Нейман Операційний пристрій виконує команди з визначеного набору, який називається системою команд, над порціями інформації, яка зберігається відокремленій від операційного пристрою пам'яті хоча сучасні архітектури мають в складі операційного пристрою додаткову пам'ять, в якій операнди зберігаються порівняно короткий час безпосередньо в процесі проведення обчислень. Пристрій управління організує послідовне виконання алгоритмів, розшифрування команд, які поступають із запам'ятовуючого пристрою, реагує на аварійні ситуації та виконує загальні функції управління всіма вузлами обчислювальної машини. Зазвичай операційний пристрій та пристрій управління об'єднуються в структуру, яка називається центральним процесором.
Класична структура машини фон Нейман Запам'ятовуючий пристрій масив комірок з унікальними ідентифікаторами, в яких зберігаються команди та дані. Пристрій вводу-виводу забезпечує зв'язок ЕОМ з зовнішнім світом, різними пристроями, які передають інформацію на переробку в ЕОМ та приймають результати.
Принцип функціонування Після завантаження програми в запам'ятовуючий пристрій, машина фон Неймана може працювати автоматично, без втручання оператора. Кожна комірка пам'яті машини має унікальний номер — адресу, а спеціальний механізм, частіше всього — лічильник команд — забезпечує автоматичне виконання необхідної послідовності команд, і визначає на кожному етапі адресу комірки, з якої необхідно завантажити наступну команду.
Принцип функціонування Перед початком виконання програми в лічильник записується адреса її першої команди. Визначення адреси наступної команди відбувається за одним з наступних сценаріїв: Якщо поточна команда не є командою передачі управління то до поточного значення лічильника додається число, яке дорівнює довжині поточної команди в мінімально адресованих одиницях інформації Якщо поточна команда — команда передачі управління, яка змінює послідовний хід виконання програми, то в лічильник примусово записується адреса тої команди, яка була замовлена при виконанні переходу, де б вона не знаходилась.
Недоліки архітектури фон Неймана Семантичний розрив Розділення операційного пристрою та пам'яті Послідовний принцип виконання
Семантичний розрив Досить примітивний та низькорівневий набір команд, який, абсолютно не відповідає сучасному стану справ в індустрії розробки програмного забезпечення, зокрема в наявності мов високого рівня, які набагато підвищують продуктивність праці програміста за рахунок пропонування йому більш високо рівневих абстракцій, і потрібно зазвичай до декількох сотень машинних команд замість однієї команди мови високого рівня. Цей дисбаланс в принципі успішно вирішується на програмному рівні за допомогою компіляторів
Розділення операційного пристрою та пам'яті Розділення створюється між операційним пристроєм і пам'яттю, адже швидкість обробки інформації в процесорі зазвичай є набагато більшою, аніж швидкість роботи запам'ятовуючого пристрою, який не встигає забезпечувати процесор новими порціями інформації, що призводить до простоїв. Проблема вирішується за рахунок побудови більш складної ієрархії пам'яті, зокрема введенням кеш-пам'яті, більш швидкої , де зберігаються дані, які часто використовуються в обчисленнях, щоб не звертатись за ними до повільної основної пам'яті.
Послідовний принцип виконання Архітектура фон Неймана є принципово послідовною. І це є суттєвим обмежуючим фактором в підвищенні швидкодії машин з такою організацією, унеможливлює введення явного паралелізму в систему. Передусім це питання не технічне, а концептуальне і пов'язане з самою парадигмою програмування для фоннейманівських машин. Саме тому паралельні обчислювальні машини, хоча й успішно виконують свої завдання, ще довго, мабуть, не зможуть витіснити цю класичну архітектуру.
Архітектура потоків данних Вхідні дані А, B та C, переміщуються по графу, «перетворюючись» в результаті в корені рівняння X та Y. Як бачимо, за умови наявності всіх перандів на момент запуску машини, обчислення може відбуватись одночасно в декількох напрямах на графі (оператори, що можуть за таких умов функціонувати паралельно, показані одним кольором). Якщо якийсь з операндів не готовий, но незалежні від цього операнда гілки обчислень все одно можуть продовжуватись до тих пір, поки на якомусь з операційних пристроїв обчислення виявисться залежним від цього операнда
Паралельна архітектура ЕОМ Практично в будь-якій програмі є деякий відсоток операцій, що не допускають паралельного виконання. Позначимо його через α. Очевидно, відсоток операцій, що допускають паралельне виконання, дорівнює 1-α. Максимальний приріст продуктивності, який можна одержати від паралельного виконання програми з такими характеристиками на машині з N процесорами в порівнянні з однопроцесорної ЕОМ, виражається законом Амдала: Випадок α=0 відповідає повністю паралельній програмі й ми одержуємо N-кратний приріст, випадок α=1 – повністю послідовної, і в цьому випадку приросту немає. Закон Амдала деякою мірою допомагає відчути складність паралельного програмування: наприклад, для прискорення виконання програми в 100 разів, необхідно, щоб 99,99% операцій в програмі можливо було б виконувати з 100-кратним розпаралеленням. Прямування числа процесорів N у нескінченність приводить до очевидного результату: S(∞,α) = 1/α, тобто принципово неможливо одержати прискорення більше 1/α при будь-якій кількості використовуваних процесорів.
Схожі презентації
Категорії