Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Англійська мова.docx
Скачиваний:
1
Добавлен:
23.11.2019
Размер:
42.43 Кб
Скачать

Архітектура фон Неймана

Термін Архітектура фон Неймана, також відома як модель фон Неймана, або архітектура Прінстона, походить від пропозиції 1945 року комп’ютерної архітектури математика і молодого вченого Джона фон Неймана та ін, перший проект доповіді про EDVAC (Electronic Discrete Variable Automatic Computer, Електронний автоматичний комп’ютер дискретної змінної). Це описує дизайн архітектури для електронних цифрових комп'ютерів з підрозділами процесора, що складається з арифметико-логічного пристрою і регістрів процесора, блоку управління, що містить регістр команд, та програмного лічильника, пам'яті для зберігання даних і інструкцій, зовнішньої пам'яті великої місткості, і вхідними і вихідними механізмами. Значення терміну звелося до комп'ютера з збереженням програм, в якому вибірки команд і даних операцій не можуть відбутися в той же самий час, тому що вони поділяють спільну шину. Це називається слабким місцем фон Неймана і часто обмежує продуктивність системи.

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

Цифровою обчислювальною машиною з збереженням програм є та, який зберігає свої запрограмовані команди, а також її дані, в режимі читання-запису, пам'яті з довільним доступом (RAM, ПДД). Комп’ютери з збереженням програм були удосконаленням у порівнянні з програмно-керованими комп'ютерами 1940-х років, таких як Колос (електронний обчислювальний пристрій. який використовувався військовими Великої Британії для розшифровування німецьких кодів) і ENIAC (Electronic Numerical Integrator and Computer, Електронний цифровий інтегратор і комп'ютер), які були запрограмовані шляхом встановлення вимикачів і установкою патча дроти для передачі даних і управляючих сигналів між різними функціональними підрозділами. У переважній більшості сучасних комп'ютерів, та ж пам'ять використовується як для даних і команд програми.

Історія

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

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

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

За великим рахунком, можливості для розглядання інструкцій, даних, що робить асемблери, компілятори та інші автоматизовані засоби програмування можливі. Можна "писати програми, які пишуть програми". У менших масштабах, повторювані операції вводу-виводу, таких як BitBlt (Функція, що виконує передачу бітових блоків даних про колір, відповідних прямокутнику пікселів із заданого вихідного контексту пристрою в цільовій контекст пристрою) обробки зображень примітивних або піксельних і вершинних шейдерів в сучасній 3D-графіці, були визнані неефективними працювати без спеціалізованого обладнання. Ці операції можуть бути прискорені на процесорах загального призначення з технологією "компілюванням на льоту" ("компіляція точно в термін"), наприклад, генерації коду програми-одна з форм коду, що само модифікується, який залишається популярним.

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