Архітектура фон Неймана: історія виникнення терміна
Архітектура машини фон Неймана, також відома як модель фон Неймана, або Принстонская архітектура, заснована на методиці, описаної в 1945 році математиком і фізиком Джоном фон Нейманом в рамках доповіді «Перший проект» про обчислювальною машиною EDVAC. арифметико-логічний пристрій; процесор регістрів; блок управління, що містить регістр команд і лічильник команд; запам'ятовувальний пристрій для зберігання даних; зовнішнє запам'ятовуючий пристрій; вхідні і вихідні механізми. Сенс розробки полягав у тому, щоб будь-яка збережена на комп'ютері інформація могла використовуватися програмою, в якій вибрані дані операції не можуть одночасно відтворюватися, тому що вони розділяють загальну шину. Це згадується в «Першому проекті», який описує думки вченого про те, якою має бути архітектура. Фон Нейман називав таку ситуацію «вузьким місцем», яке часто обмежує продуктивність системи.
Конструкція таких програм відноситься до самомодифицирующимся кодами. Однією з перших установок для такого об'єкта була необхідність в алгоритмі для збільшення або іншим чином зміни адресній частині команд. Він робився вручну в ранніх конструкціях. Це стало менш важливим, коли індексні регістри і непряма адресація стали звичайними характеристиками, якими володіє архітектура ЕОМ Джона фон Неймана машини. Інше використання - вставляти часто використовувані дані в потоці команди з допомогою негайного вирішення. Але самомодифицирующийся код значною мірою піддався критиці, оскільки його, як правило, важко зрозуміти і налагодити. Крім того, він виявився також неефективним в плані відтворення і кешування схем сучасних процесорів. За великим рахунком, здатність ставитися до інструкції даних - це те, що робить ассемблеры, компілятори, збирачі, навантажувачі та інші інструменти з можливими об'єктами автоматизованого програмування. Так сказати, писати програми, які пишуть програми. У меншому масштабі повторювані інтенсивні операції вводу і виводу, такі як BitBlt-маніпуляції з зображенням примітивних або піксельних і вершинних шейдеров в сучасній 3D-графіку, були визнані неефективними для роботи без користувацького обладнання.
Незалежно один від одного Джі Преспер Еккерт і Джон Мочлі, які розробляли ENIAC в школі електротехніки в Університеті штату Пенсільванія, писали про концепцію машини, зберігає програму в пам'яті в грудні 1943 року. При плануванні нової машини, EDVAC, Еккерт писав в січні 1944 року, що вона буде зберігати дані і програми в новому пристрої з адресацією пам'яті з допомогою затримки металевої ртуті. Це був перший раз, коли було запропоновано будівництво на практиці машини, зберігає програму в пам'яті. У той же час він і Мочлі не були обізнані про роботу Тюрінга (фото нижче).
Схема архітектури
У доповіді фон Неймана описувалася схема архітектури для електронної цифрової обчислювальної машини з частинами, що складаються з блоків обробки, яка містить:Принципи архітектури фон Неймана
Цифровий комп'ютер – це ЕОМ, що зберігає програму, яка містить програмні інструкції, дані для читання, запису, а також включає в себе пам'ять з довільним доступом (RAM). Принципи архітектури Джона фон Неймана викладені також у його праці «Перший проект». Згідно йому, комп'ютери зі збереженою у пам'яті програмою були удосконаленням порівняно з управлінням комп'ютерів, таких як ЕНІАК. Останній був запрограмований з допомогою установки перемикачів і вставки патча, що приводить до маршрутизації даних і сигналів управління між різними функціональними блоками. У переважній більшості сучасних комп'ютерів пам'ять також використовується подібним чином. При цьому архітектура ЕОМ фон Неймана відрізняється, наприклад, від Гарвардської, тим, що вона використовує не основну, а кеш-пам'ять.Передісторія
Перші обчислювальні машини мали задані фіксовані програми. Деякі дуже прості комп'ютери досі використовують цю конструкцію або для простоти, або в навчальних цілях. Наприклад, настільний калькулятор також є ЕОМ з фіксованою програмою. Він може працювати з основами математики, але він не може бути використаний як текстовий процесор або ігрова консоль. Зміна фіксованого програми машини вимагає перемонтажу, реструктуризації або реорганізації апарату. Найбільш ранні комп'ютери не були настільки вузько спрямованими, так як вони були розроблені вперше і в наукових цілях. Перепрограмування з'явилося набагато пізніше, і це був трудомісткий процес, починаючи з блок-схем і паперових купюр і закінчуючи детальними технічними проектами. Особливо важким був процес фізичної модернізації каналів відновлення машини. Може зайняти три тижні установка програми на ENIAC і спроби змусити її працювати.Нова ідея
З пропозицією комп'ютера, що зберігає програми в пам'яті, все змінилося. Збережені в пам'яті, вони є конструкцією з набором інструкцій. А значить, машина може відразу отримати набір команд, щоб провести обчислення.Конструкція таких програм відноситься до самомодифицирующимся кодами. Однією з перших установок для такого об'єкта була необхідність в алгоритмі для збільшення або іншим чином зміни адресній частині команд. Він робився вручну в ранніх конструкціях. Це стало менш важливим, коли індексні регістри і непряма адресація стали звичайними характеристиками, якими володіє архітектура ЕОМ Джона фон Неймана машини. Інше використання - вставляти часто використовувані дані в потоці команди з допомогою негайного вирішення. Але самомодифицирующийся код значною мірою піддався критиці, оскільки його, як правило, важко зрозуміти і налагодити. Крім того, він виявився також неефективним в плані відтворення і кешування схем сучасних процесорів. За великим рахунком, здатність ставитися до інструкції даних - це те, що робить ассемблеры, компілятори, збирачі, навантажувачі та інші інструменти з можливими об'єктами автоматизованого програмування. Так сказати, писати програми, які пишуть програми. У меншому масштабі повторювані інтенсивні операції вводу і виводу, такі як BitBlt-маніпуляції з зображенням примітивних або піксельних і вершинних шейдеров в сучасній 3D-графіку, були визнані неефективними для роботи без користувацького обладнання.
Розробка концепції, що зберігається в пам'яті програми
Математик Алан Тьюринг, який відчував інтерес до проблеми математичної логіки після лекції Макса Ньюмана в Кембриджському університеті, написав статтю в 1936 році, вона була опублікована у виданні Лондонського математичного товариства. У ній він описав гіпотетичну машину, яку назвав «універсальної обчислювальної машиною», і яка тепер відома як універсальна машина Тьюринга. Вона мала нескінченну сховище (в сучасній термінології - пам'ять), яке містило як інструкції, так і дані, для чого створювалася ця архітектура. Фон Нейман познайомився з Тюринг в той час, коли він був запрошеним професором в Кембриджі в 1935 році, а також в ході захисту докторської дисертації Тюрінга в Інституті перспективних досліджень у Прінстоні (штат Нью-Джерсі) у 1936-1937 роках.Незалежно один від одного Джі Преспер Еккерт і Джон Мочлі, які розробляли ENIAC в школі електротехніки в Університеті штату Пенсільванія, писали про концепцію машини, зберігає програму в пам'яті в грудні 1943 року. При плануванні нової машини, EDVAC, Еккерт писав в січні 1944 року, що вона буде зберігати дані і програми в новому пристрої з адресацією пам'яті з допомогою затримки металевої ртуті. Це був перший раз, коли було запропоновано будівництво на практиці машини, зберігає програму в пам'яті. У той же час він і Мочлі не були обізнані про роботу Тюрінга (фото нижче).
Архітектура комп'ютера: принцип фон Неймана
Фон Нейман був залучений в «Проект Манхеттен» Національної лабораторії в Лос-Аламосі, який вимагав величезної кількості обчислень. Це привернуло його до проекту ENIAC влітку 1944 року. Там він вступив в дискусії з розробці комп'ютера EDVAC. В рамках цієї групи він написав працю під назвою «Перший проект доповіді про EDVAC», засновану на роботі Эккерта і Мочлі. Вона була незавершеною, коли його колега Гольдштейн поширив проект з ім'ям фон Неймана (до речі, Еккерт і Мочлі були ошелешені такою новиною). Цей документ був прочитаний десятками колег фон Неймана в Америці і Європі і серйозно вплинув на наступний етап комп'ютерних розробок. Основні принципи архітектури фон Неймана, викладені в «Першому проекті», набирали широку популярність, в той час як Тьюринг висвітлював свою доповідь про електронний калькуляторі, який був докладно описаний в техніці та програмуванні. У ньому було викладено і уявлення автора про машину, яка називалася Automatic Computing Engine (ACE). Він представив його виконавчому комітету британської Національної фізичної лабораторії в 1946 році. Через деякий час навіть були вироблені різні успішні реалізації конструкції ACE.Початок реалізації проектів
І проект фон Неймана, і документи Тюрінга описували комп'ютери, які зберігають в пам'яті певну програму, але стаття фон Неймана досягла більшої циркуляції в суспільстві, і комп'ютерна архітектура стала відома як архітектура Джона фон Неймана. У 1945 році професор Нейман, який тоді працював в інженерній школі у Філадельфії, де і був побудований перший ENIAC, випустив від імені групи своїх колег доповідь про логічному проектуванні цифрових обчислювальних машин. У доповіді міститься досить детальний пропозицію по конструкції машини, яка з тих пір стала відома як EDVAC. Вона тоді тільки нещодавно була створена в Америці, але доповідь надихнув фон Неймана на створення EDSAC.Maniacs і Joniacs
У 1947 році Беркс, Гольдштейн і фон Нейман опублікували ще один доповідь, у якій висвітлювалася конструкція іншого типу машини (на цей раз паралельна), яка повинна була стати надзвичайно швидкою, здатної, можливо, здійснювати до 20000 операцій в секунду. Вони відзначили, що невирішеною проблемою при побудові її була розробка відповідної пам'яті, вміст якої має бути миттєво доступно. Спочатку вони запропонували використовувати спеціальну вакуумну трубку, звану Selectron, яка була винайдена в Прінстонської лабораторії. Такі трубки були дорогими, і зробити їх дуже важко, особливо якщо використовується дана архітектура. Фон Нейман згодом вирішив побудувати машину, засновану на пам'яті Williams. Ця машина, яка була завершена у червні 1952 року в Прінстоні, стала широко відома MANIAC (або просто Maniacs). Її дизайн надихнув творців на конструювання півдюжини або більше аналогічних приладів, які зараз будуються в Америці і називаються жартівливо Johniacs.Принципи створення
Один з найсучасніших цифрових комп'ютерів, які втілювали розробки та вдосконалення в техніці автоматичного електронного обчислення, був продемонстрований в Національній фізичній лабораторії в Теддінгтоні, де він був спроектований і побудований невеликий групою математиків, електронників і інженерів-дослідників, за сприяння ряду виробничих інженерів з англійської Electric Company Ltd. Обладнання до цих пір знаходиться в лабораторії, але тільки як досвідчений зразок набагато більшою установки, яка відома як Automatic Computing Engine. Але, незважаючи на порівняно невелику масу та вміст 800 термоионных клапанів, він є надзвичайно швидкою та універсальної лічильної машиною. Основні поняття і абстрактні принципи розрахунку за допомогою машини були сформульовані доктором Тюринг на базі все того ж Лондонського математичного товариства ще в 1936 році, але робота над такими машинами у Великобританії була затримана війною. У 1945 році розгляд проблем створення таких пристроїв продовжилося в Національній фізичній лабораторії доктором Вормсли, суперінтендантом лабораторії Відділення математики. Він приєднався до Тьюринга зі своїм невеликим штатом фахівців, а до 1947 році попереднє планування було досить просунуто, щоб виправдати створення спеціальної групи.Перші комп'ютери на архітектурі фон Неймана
Перший проект описує схему, яка була використана багатьма університетами та корпораціями, щоб побудувати свої комп'ютери. Серед них тільки ILLIAC і ORDVAC мали сумісні набори інструкцій. Класична архітектура фон Неймана була втілена в Манчестерській малої експериментальній машині (SSEM) на прізвисько Baby з університету Манчестера, яка зробила свій перший успішний запуск як пристрій, що зберігає програму в пам'яті, 21 червня 1948 року. EDSAC з Кембриджського університету, перший практичний електронний комп'ютер такого типу, був запущений перший раз успішно в травні 1949 року.Розвиток створених моделей
IBM SSEC мав можливість розглядати інструкції як дані і був публічно продемонстрований 27 січня 1948 року. Ця здатність затверджувалася в патенті США. Однак це була частково електромеханічна машина, а не повністю електронна. На практиці інструкції були прочитані з паперової стрічки з-за його обмеженою пам'яті. Baby був першим повністю електронним комп'ютером для запуску збережених програм. Він запускав програму факторингу протягом 52 хвилин 21 червня 1948 року після запуску простого обчислення розподілу і розрахунку, який показує, що два числа є взаємно простими. ENIAC був змінений, щоб працювати в якості примітивної ЕОМ тільки для читання, але по тій же архітектурі, і був продемонстрований 16 вересня 1948 року, а запуск програми Адель Гольдштейн організувала з допомогою фон Неймана. BINAC провів кілька тестових програм в лютому, березні і квітні 1949 року, хоча і не був завершений до вересня 1949 року. Крім того, здійснювалися тестові запуски (деякі успішні) інших електронно-обчислювальних машин, для яких властива дана архітектура. Фон Нейман, до речі, продовжував роботу над проектом "Манхеттен". Ось такий універсальний осіб.Еволюція шинної архітектури системи
Через десятиліття, вже в 60-е і 70-е роки, комп'ютери в цілому стали менше і швидше, що призвело до деяких эволюциям, які зазнала архітектура ЕОМ за фон Нейману. Наприклад, відображення в пам'яті вводу і виводу дозволяє відповідних пристроїв, дані та інструкції щодо інтеграції в систему яких будуть оброблятися, залишатися в пам'яті. Одна шинна система може бути використана для забезпечення модульної системи з меншими. Це іноді називають «раціоналізацією» архітектури. У наступні десятиліття прості мікроконтролери іноді не використовують деякі риси типової моделі, щоб знизити вартість і розмір. А ось великі комп'ютери йдуть встановленої архітектурі, так як в них додані функції для підвищення продуктивності.Схожі добрі поради по темі
Що таке мікропроцесори? Типи мікропроцесорів
Що таке мікропроцесор? Яку важливість має його архітектура? Але на підставі чого виділяються їх типи?
Арифметико-логічний пристрій (АЛП) - що це?
Як відомо, процесор комп'ютера складається з чотирьох базових компонентів: арифметико-логічного пристрою, модуля вводу/виводу, а також блоків пам'яті
Джон фон Нейман: біографія і бібліографія
Хто такий фон Нейман? З його ім'ям знайомі широкі маси населення, вченого знають навіть не захоплюються вищою математикою.
Хто винайшов комп'ютер? Історія винаходу
Розмірковуючи про те, хто винайшов комп'ютер, потрібно завжди уточнювати, про який саме винахід йде мова - про сучасному електронному пристрої або
Самий потужний процесор архітектури Х86 для домашніх потреб
У статті описані різні варіанти ЦПУ архітектури х86 на сьогоднішній день. Обраний самий потужний процесор, і надано рекомендації щодо його можливого
Чим відрізняється архітектура комп'ютера стаціонарного від ноутбука і інших пристроїв
Словосполучення «архітектура комп'ютера» у багатьох асоціюється з чимось неймовірно складним, незрозумілим і абсолютно непотрібним. Але насправді під