Архитектура фон неймана: происхождение, модель, как работает

Краткая биографическая справка

Янош Нейман родился в 1930 году в Будапеште, в очень состоятельной еврейской семье, которой впоследствии удалось получить дворянский титул. Он с детства отличался выдающимися способностями во всех областях. В 23 года Нейман уже защитил кандидатскую диссертацию в области экспериментальной физики и химии. В 1930-м молодого ученого пригласили на работу в США, в Принстонский университет. Одновременно с этим Нейман стал одним из первых сотрудников Института перспективных исследований, где проработал профессором до конца жизни. Научные интересы Неймана были довольно обширны. В частности, он является одним из создателей матаппарата квантовой механики и концепции клеточных автоматов.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Аблязов Р.З. Программирование на ассемблере на платформе x86-64. Руководство. – Издательство: ДМК Пресс, 2016. – 302 с.

2. Авдеев В.А. ЭВМ и периферия с демонстрацией имитационных моделей. – Издательство: ДМК Пресс, 2014. – 708 с.

3. Джесси Рассел, Роланд Кон. Архитектура фон Неймана. – Издательство VSD, 2013. – 101 с.

4. Джон фон Нейман, Теория самовоспроизводящихся автоматов. –Издательство: Либроком, 2010. — 384 с.

5. Калачев А.В. Многоядерные процессоры. Учебное пособие. – Издательство: Интернет-Университет Информационных Технологий (ИНТУИТ), 2014. – 247 с.

6. Малиновский Б.Н. История вычислительной техники в лицах. — К.: фирма «КИТ», ПТОО «А.С.К.», 1995. — 384 с

7. Михайлов Б.М., Халабия Р.Ф. Классификация и организация вычислительных систем: Учебное пособие. – М.: МГУПИ, 2015. — 144 с.

8. Новожилов О.П. Архитектура ЭВМ и систем. Учебное пособие для академического бакалавриата. – Издательство: Юрайт, 2016. – 527 с.

9. Олифер В., Олифер Н. Компьютерные сети. Принципы, технологии, протоколы. – Издательство: Питер, 2017. – 992 с.

10. Ревич Ю.В. Информационные технологии в СССР. Создатели советской вычислительной техники. Издательство: БХВ-Петербург, 2014. – 336 с.

11. Таненбаум Эндрю, Бос Херберт . Современные операционные системы. – Издательство: Питер, 2017. – 1120 с.

12. Цилькер Б.Я. Организация ЭВМ и систем: Учебник для вузов / Б.Я. Цилькер, С.А. Орлов. — 2-е изд. — СПб.: Питер, 2013. — 688 с.

13. Arthur W. Burks, Herman H. Goldstine, John von Neumann. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. — Publisher: Springer Berlin Heidelberg, 1982 – 413 p.

14. First Draft of a Report on the EDVAC: John von Neumann, 1945 – 101 p.

15. Архитектура фон Неймана. // Википедия. . URL: https://ru.wikipedia.org/wiki/Архитектура_фон_Неймана (дата обращения: 01.07.2017).

16. Нейман, Джон фон. // Википедия. . URL: https://ru.wikipedia.org/wiki/Нейман,_Джон_фон (дата обращения: 01.07.2017).

  • Применение объектно-ориентрованного подхода при проектировании информационной системы (Объектный подход при разработке программ)
  • Алгоритмы сортировки данных (Алгоритмы устойчивой сортировки)
  • Проектирование реализации операций бизнес-процесса «Расчет заработной платы» (Сущность и назначение необходимого продукта)
  • Учет наличных денежных средств в кассе предприятия (Теоретические аспекты учета денежных средств в кассе организации)
  • Учет труда и заработной платы (Теоретические и методологические аспекты организации затрат на оплату труда)
  • Бухгалтерский баланс организации и порядок его составления (Теоретические аспекты бухгалтерского баланса предприятия)
  • Финансовая политика и ее реализация в Российской Федерации (Теоретические аспекты формирования финансовой политики в России)
  • «Технология обслуживания клиентов в гостинице.»
  • Оценка эффективности стратегий и моделей копинг-поведения в профессиональной среде (Теоретические подходы к проблеме копинг-поведения)
  • Информационные и мотивационные структуры в особенностях индивидуального поведения и учет их в практике работы с персоналом ( изучение особенности формирования информационных и мотивационных структур в практике работы с персоналом)
  • Понятие социального обеспечения (Виды источников социального обеспечения)
  • Роль мотивации в поведении организации (Теоретические основы СПОСОБОВ мотивации труда персонала в целях эффективного развития организации)

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

  1. Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
  2. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
  3. Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
  4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
  5. Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

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

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

Как английские конкуренты опередили американцев

После публикации отчёта фон Неймана в других странах тоже стали строить компьютеры с подобной архитектурой. Первый создали в Англии, давнем конкуренте Америки в компьютерной гонке — причём за два года до запуска EDVAC.

В 1946 году профессору Кембриджа Морису Уилксу попалась копия доклада фон Неймана — знакомый из США дал почитать на одну ночь. Уилкс оценил идеи и решил, что в будущем развитие ЭВМ пойдёт именно по такому пути.

Он пересёк океан, прибыл в Пенсильванский университет и прослушал лекции по EDVAC, а на обратном пути разработал логическую схему своего будущего компьютера, в дальнейшем названного EDSAC. Уилксу удалось добиться финансирования постройки ЭВМ Министерством обороны Великобритании, а сама машина заработала уже в 1949 году.


EDSAC в КембриджеФото: Wikimedia Commons

EDSAC почти полностью копировал архитектуру EDVAC, но при этом был компактнее: занимал площадь в 20 квадратных метров, состоял из 3000 электровакуумных ламп и использовал 32 ртутные линии задержки, дающие 1024 ячейки памяти.

Вычисления производились в двоичной системе, скорость расчётов составляла от десяти до пятнадцати тысяч операций в секунду, программа вводилась в память с помощью бумажной перфоленты, а выходные данные передавались на телетайп.

Первая программа для EDSAC рассчитывала квадраты положительных чисел от 0 до 99.

Первоначально все программы представляли собой длинные последовательности нулей и единиц: 1 — лампа горит, 0 — не горит. Профессор Уилкс нашёл более удобные способы записи команд — с помощью букв и коротких английских слов, например:

  • S — «вычитание»;
  • Т — «передать информацию в память»;
  • Z — «остановка машины» и так далее.

Так именно для EDSAC впервые были разработаны мнемонические коды операций и транслятор — ассемблер.

Другим важным новшеством стала разработка библиотеки подпрограмм. Программисты уже были знакомы с этим понятием — Грейс Хоппер и её коллеги использовали подпрограммы на своей гарвардской машине. Правда, они записывали их в блокноты, чтобы каждый раз не составлять заново.

В EDSAC появилась возможность хранить подпрограммы в памяти и при необходимости вставлять их в уже работающие программы. Для этого достаточно было вызвать их из памяти короткой командой.

Мнемонику операций и библиотеку подпрограмм Уилкс назвал «собирающей системой» (от англ. assembly system) — ведь она собирала программу на машинном языке из мнемонических кодов и подпрограмм.

Сегодня языки программирования, в которых мнемонические имена операции соответствуют отдельным машинным инструкциям, называются языками ассемблера, а Мориса Уилкса считают создателем одного из первых подобных языков.

По заказу правительства Великобритании на EDSAC проводились расчёты ядерных испытаний. Кембриджский университет использовал его для расчётов в области теоретической химии, радиоастрономии и других научных задач. Например, именно с помощью EDSAC удалось рассчитать самое большое на тот момент простое число — 79-значное. Под эту задачу написали кучу программ: для вычислений с комплексными числами и числами с плавающей запятой, для расчётов векторов, матриц, тригонометрических функций.

В 1951 году для EDSAC была написана и первая интерактивная компьютерная игра — OXO, разновидность крестиков-ноликов. Для этого к компьютеру был подсоединён небольшой дисплей на основе электронно-лучевой трубки.


Так выглядела OXOФото: Wikimedia Commons

Легендарный EDSAC выключили только в 1958 году. Его заменил более совершенный компьютер, EDSAC 2, с памятью на ферритовых сердечниках, в котором использовались ещё и магнитные ленты.

Достоинства фоннеймановской архитектуры

Очевидным достоинством разработанной Нейманом архитектуры ЭВМ является ее простота, надежность и дешевизна, простота разработки программного обеспечение для данной архитектуры, простота контроля ошибок записи/чтения данных и команд. Именно благодаря этим качествам архитектура Неймана легла в основу устройства большого числа ЭВМ его времени и продолжает существовать с небольшими изменениями в настоящее время.

Следует все же отметить, что первый проект по постройке ЭВМ фоннеймановской архитектуры потерпел фиаско из-за отсталости промышленной базы того времени, на которой не смогли создать нужную для ЭВМ память. Проект носил название EDVAC (Electronic Discrete Variable Automatic Computer) . В дальнейшем на фоннеймановских принципах были созданы удачные проекты ЭВМ:

  1. Прототип—Манчестерская малая экспериментальная машина—Манчестерский университет, Великобритания, 21 июня 1948 года;
  2. EDSAC—Кембриджский университет, Великобритания, 6 мая 1949 года;
  3. Марк I—Манчестерский университет, Великобритания, 1949 год;
  4. BINAC— США, апрель или август 1949 года;
  5. CSIR Mk 1— Австралия, ноябрь 1949 года;
  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 года.

Какие ограничения у архитектуры фон Неймана?

Основным недостатком является то, что оперативная память, в которой находятся инструкции и обрабатываемые данные, унифицирована и совместно используется через одну шину данных и общую адресацию. Таким образом, инструкции и данные должны последовательно записываться из памяти. Это узкое место является так называемым узким местом фон Неймана. Вот почему разные микропроцессоры имеют ближайший к процессору кэш, разделенный на два типа: один для данных и один для инструкций.

В последние годы скорость процессора увеличилась намного быстрее, чем у оперативной памяти, что увеличивает время, необходимое для передачи данных из памяти. То, что вынудило разработать решения для облегчения этой проблемы, является результатом узкого места фон Неймана.

В процессорах, где обычно используется гарвардская архитектура, они являются автономными и, следовательно, не имеют доступа к общей оперативной памяти системы, а вместо этого выполняют свою собственную память и программу изолированно от основной. ЦП. Эти процессоры получают список данных и инструкции по двум разным ветвям данных. Один для памяти команд, а другой для памяти данных упомянутого процессора.

Высокопроизводительные вычисления

Высокопроизводительные реконфигурируемые вычисления (HPRC) — это компьютерная архитектура сочетание реконфигурируемых вычислительных ускорителей, таких как программируемая вентильная матрица с процессорами или многоядерный процессоры.

Расширение логики в ПЛИС позволило программировать более крупные и сложные алгоритмы в ПЛИС. Присоединение такой ПЛИС к современному процессору по высокоскоростной шине, например PCI Express, позволил настраиваемой логике действовать больше как сопроцессор а не периферийный. Это принесло реконфигурируемые вычисления в высокопроизводительные вычисления сфера.

Более того, репликация алгоритма на ПЛИС или использование множества ПЛИС позволили реконфигурируемые SIMD системы, в которых несколько вычислительных устройств могут одновременно работать с разными данными, что очень важно. параллельные вычисления

Этот метод гетерогенных систем используется в компьютерных исследованиях и особенно в суперкомпьютеры.В документе 2008 года сообщалось о факторах ускорения более чем на 4 порядка и факторах экономии энергии почти на 4 порядка.Некоторые суперкомпьютерные фирмы предлагают гетерогенные блоки обработки, включая ПЛИС в качестве ускорителей.[нужна цитата ]Одной из областей исследований является производительность потока инструментов программирования с двумя парадигмами, полученная для таких гетерогенных систем.

Соединенные штаты Национальный фонд науки имеет центр высокопроизводительных реконфигурируемых вычислений (CHREC).В апреле 2011 года в Европе прошла четвертая Конференция по многоядерным и реконфигурируемым суперкомпьютерам.

Коммерческие высокопроизводительные реконфигурируемые вычислительные системы начинают появляться с анонсом IBM интеграция ПЛИС с ее МОЩНОСТЬ процессор.

Архитектура микропроцессора. Основные понятия

Под архитектурой МП понимают принцип его внутренней организации: общую структуру, логическую структуру отдельных устройств, совокупность команд и принципы взаимодействия аппаратной части и программы обработки информации.

Иначе: архитектура – математическая модель МП, образованная программно- доступными элементами МП. Архитектура МП отражает возможности прикладного использования МП и содержит описание программной модели МП. Под программной моделью микропроцессора понимается совокупность программно-доступных регистров, объединенных в систему укрупненными связями и дополнительными элементами, обеспечивающими функциональную законченность модели.

Полностью понятие архитектура МП включает:

— структурную схему МП,

— программную модель МП,

— описание организации памяти,

— описание организации процедур ввода/вывода.

Различают два основных типа архитектуры МП – фон Неймановскую (принстонскую) и гарвардскую.

Фон Неймановская (принстонская) архитектура (предложена Джо фон Нейманом в 1945 г.) предполагает, что программа и данные находятся в общей памяти, доступ к которой производится по одной шине данных и команд. Основным достижением группы инженеров, работавших с Джоном фон Нейманом, было осознание того факта, что программа может храниться в памяти вместе с данными. Основным преимуществом такого подхода является его гибкость, так как для изменения программы достаточно просто загрузить новый код в соответствующую область памяти. По существу, фон-неймановская архитектура, показанная на рис., состоит из центрального процессора (ЦПУ), памяти и общей шины (магистрали), по которой в обоих направлениях пересылаются данные. ЦПУ также должен взаимодействовать и с окружающим миром. При этом данные к/от соответствующих интерфейсных портов передаются по одной общей шине данных.

Огромным преимуществом фон-неймановской архитектуры является ее простота, поэтому данная концепция легла в основу большинства компьютеров общего назначения. Однако использование общей шины означает, что в любой момент времени может выполняться только одна операция. Соответственно, пересылка данных между ЦПУ и памятью данных не может осуществляться одновременно с выборкой команды . Эта особенность называется фон-неймановским узким местом.

Гарвардская архитектура (реализована в 1944 г. в ЭВМ Гарвардского университета) соответствует структуре с разделенными устройствами памяти команд и данных и отдельными шинами команд и данных.

В первое послевоенное десятилетие в Гарвардском университете было создано несколько компьютеров семейства «Марк», в которых память программ была полностью отделена от памяти данных (программа считывалась с бумажной перфоленты). Такая концепция была более эффективной, чем фон-неймановская (принстонская) архитектура, поскольку код программы мог считываться из памяти программ одновременно с обменом между ЦПУ и памятью данных или с операциями ввода/вывода. Однако такие машины были намного сложнее и дороже в изготовлении. А с учетом уровня технического развития 40 — 50-х годов, высоких экономических затрат, они не получили широкого распространения. Однако с развитием больших интегральных схем и технологии гарвардская архитектура снова оказалась в центре внимания.

Проблемы для операционных систем

Одна из ключевых задач реконфигурируемых вычислений — обеспечить более высокую продуктивность проектирования и предоставить более простой способ использования реконфигурируемых вычислительных систем для пользователей, которые не знакомы с основными концепциями. Один из способов сделать это — обеспечить стандартизацию и абстракцию, которые обычно поддерживаются и применяются операционной системой.

Одна из основных задач операционной системы — скрыть оборудование и представить программы (и их программистов) красивыми, чистыми, элегантными и последовательными абстракциями для работы. Другими словами, две основные задачи операционной системы — это абстракция и управление ресурсами.

Абстракция — это мощный механизм для решения сложных и различных (аппаратных) задач четко определенным и общим образом. Одна из самых элементарных абстракций ОС — это процесс. Процесс — это запущенное приложение, у которого есть ощущение (обеспечиваемое ОС), что оно выполняется самостоятельно на базовом виртуальном оборудовании. Это можно смягчить за счет концепции потоков, позволяющих одновременно запускать различные задачи на этом виртуальном оборудовании для использования параллелизма на уровне задач. Чтобы позволить различным процессам и потокам координировать свою работу, операционная система должна обеспечивать методы связи и синхронизации.

В дополнение к абстракции необходимо управление ресурсами базовых аппаратных компонентов, поскольку виртуальные компьютеры, предоставляемые процессам и потокам операционной системой, должны совместно использовать доступные физические ресурсы (процессоры, память и устройства) пространственно и временно.

дальнейшее чтение

  • С. Хаук и А. ДеХон, Реконфигурируемые вычисления: теория и практика вычислений на основе FPGA, Морган Кауфманн, 2008.
  • Дж. Хенкель, С. Парамесваран (редакторы): Разработка встроенных процессоров. Перспектива малой мощности; Springer Verlag, март 2007 г.
  • T.J. Тодман, Г.А. Константинидес, S.J.E. Уилтон, О. Менсер, В. Лук и П.Я.К. Чунг, «Реконфигурируемые вычисления: архитектуры и методы проектирования», Протоколы IEEE: Компьютерные и цифровые методы, Vol. 152, № 2, март 2005 г., стр. 193–208.
  • А. Зомая (редактор): Справочник по естественным и инновационным вычислениям: интеграция классических моделей с новыми технологиями; Springer Verlag, 2006 г.
  • Дж. М. Арнольд и Д. А. Буэлл, «Программирование VHDL на Splash 2», в More FPGA, Уилл Мур и Уэйн Лук, редакторы, Abingdon EE & CS Books, Оксфорд, Англия, 1994, стр. 182–191. (Материалы, Международный семинар по программируемой логике, Оксфорд, 1993.)
  • Дж. М. Арнольд, Д. А. Буэлл, Д. Хоанг, Д. В. Прайор, Н. Ширази, М. Р. Тистл, «Splash 2 и его приложения», Труды Международной конференции по компьютерному дизайну, Кембридж, 1993, стр. 482–486.
  • Д. А. Буэлл и Кеннет Л. Почек, «Пользовательские вычислительные машины: введение», Журнал суперкомпьютеров, v. 9, 1995, pp. 219–230.

Текущие системы

Эмуляция компьютера

Плата FPGA используется для воссоздания компьютера Vector-06C

С появлением доступных плат FPGA проекты студентов и любителей стремятся воссоздать старые компьютеры или реализовать более новые архитектуры. Такие проекты создаются с использованием реконфигурируемого оборудования (ПЛИС), а некоторые устройства поддерживают эмуляцию нескольких старых компьютеров с использованием одного реконфигурируемого оборудования (C-One ).

КОПАКОБАНА

Компьютер, полностью основанный на ПЛИС, — это COPACOBANA, оптимизированный по стоимости взломщик кода и анализатор и его преемник RIVYERA. Дочерняя компания SciEngines GmbH проекта COPACOBANA университетов Бохума и Киля в Германии продолжает разработку компьютеров, полностью основанных на ПЛИС.

Митрионика

Митрионика разработал SDK, который позволяет писать программы с использованием разовое задание язык для компиляции и выполнения на компьютерах на базе FPGA. Программный язык Mitrion-C и процессор Mitrion позволяют разработчикам программного обеспечения писать и выполнять приложения на компьютерах на базе FPGA таким же образом, как и с другими вычислительными технологиями, такими как графические процессоры («GPU»), процессоры на основе ячеек, параллельная обработка. единиц («PPU»), многоядерных ЦП и традиционных одноядерных кластеров ЦП. (из бизнеса)

Национальные инструменты

Национальные инструменты разработали гибридную встроенную вычислительную систему под названием CompactRIO. Он состоит из реконфигурируемого шасси, в котором размещается программируемая пользователем ПЛИС, модули ввода-вывода с возможностью горячей замены, контроллер реального времени для детерминированной связи и обработки, а также графическое программное обеспечение LabVIEW для быстрого программирования в реальном времени и на ПЛИС.

Xilinx

Xilinx разработал два стиля частичной реконфигурации устройств FPGA: модульный и основанный на различиях. Частичная реконфигурация на основе модулей позволяет изменять конфигурацию отдельных модульных частей конструкции, в то время как частичная реконфигурация на основе различий может использоваться, когда в дизайн вносятся небольшие изменения.

Intel

Intel поддерживает частичную реконфигурацию своих устройств FPGA на 28-нм устройствах, таких как Stratix V, и на 20 нм устройствах Arria 10. Процесс частичной реконфигурации Intel FPGA для Arria 10 основан на методологии иерархического проектирования в программном обеспечении Quartus Prime Pro, где пользователи создают физические разделы FPGA, которые можно перенастроить. во время выполнения, в то время как остальная часть проекта продолжает работать. Программное обеспечение Quartus Prime Pro также поддерживает иерархическую частичную реконфигурацию и моделирование частичной реконфигурации.

Принципы Неймана

Фон Нейман сформулировал следующие принципы:

  1. Однородность памяти. Информационные коды и коды команд не отличаются ничем при записи в одни области памяти. Отличить из возможно лишь по методике применения, что означает возможность использования записанных в ячейке памяти кодов, как в качестве данных, так и в качестве адреса или команды. Всё определяется способом обращения к этому коду. Такой подход даёт возможность выполнять над кодами команд такие же операции, как и над числовыми данными, что даёт много новых возможных действий. Например, если менять в цикле адресную часть команд, то это позволит обращаться последовательно к ряду данных в массиве.
  2. Адресный принцип. Структура памяти — это пронумерованные ячейки и процессору в любой момент времени доступны все.
  3. Программное управление. Любые вычислительные процессы должны иметь вид программы, которая состоит из ряда команд.

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

архитектура микропроцессорных систем фон Неймана (одношинная, или принстонская, архитектура) представляет собой архитектуру с общей, единой шиной для данных и команд. Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 5.1).

Рис. 5.2. Архитектура с общей шиной данных и команд.

Но существует также и альтернативный тип архитектуры микропроцессорной системы – это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 5.2). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

Рис. 5.3. Архитектура с раздельными шинами данных и команд.

Архитектура с общей шиной распространена гораздо больше, она применяется, например, в персональных компьютерах и в сложных микрокомпьютерах. Архитектура с раздельными шинами применяется в основном в однокристальных микроконтроллерах.

Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.

Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное – чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.

Архитектура с раздельными шинами данных и команд сложнее, она заставляет процессор работать одновременно с двумя потоками кодов, обслуживать обмен по двум шинам одновременно. Программа может размещаться только в памяти команд, данные – только в памяти данных. Такая узкая специализация ограничивает круг задач, решаемых системой, так как не дает возможности гибкого перераспределения памяти. Память данных и память команд в этом случае имеют не слишком большой объем, поэтому применение систем с данной архитектурой ограничивается обычно не слишком сложными задачами.

В чем же преимущество архитектуры с двумя шинами (гарвардской)? В первую очередь, в быстродействии.

Дело в том, что при единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или устройства ввода/вывода) и передавать данные (в память или в устройство ввода/вывода), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по магистрали происходить не могут, они должны производиться по очереди. Современные процессоры способны совместить во времени выполнение команд и проведение циклов обмена по системной шине. Использование конвейерных технологий и быстрой кэш-памяти позволяет им ускорить процесс взаимодействия со сравнительно медленной системной памятью. Повышение тактовой частоты и совершенствование структуры процессоров дают возможность сократить время выполнения команд. Но дальнейшее увеличение быстродействия системы возможно только при совмещении пересылки данных и чтения команд, то есть при переходе к архитектуре с двумя шинами.

В случае двухшинной архитектуры обмен по обеим шинам может быть независимым, параллельным во времени. Соответственно, структуры шин (количество разрядов кода адреса и кода данных, порядок и скорость обмена информацией и т.д.) могут быть выбраны оптимально для той задачи, которая решается каждой шиной. Поэтому при прочих равных условиях переход на двухшинную архитектуру ускоряет работу микропроцессорной системы, хотя и требует дополнительных затрат на аппаратуру, усложнения структуры процессора. Память данных в этом случае имеет свое распределение адресов, а память команд – свое.

Проще всего преимущества двухшинной архитектуры реализуются внутри одной микросхемы. В этом случае можно также существенно уменьшить влияние недостатков этой архитектуры. Поэтому основное ее применение – в микроконтроллерах, от которых не требуется решения слишком сложных задач, но зато необходимо максимальное быстродействие при заданной тактовой частоте.

Заключение

С высокой долей вероятности «принципами фон Неймана» в настоящее время называется коллективный труд группы ученых, работавших над ENIAC, в которую входил Нейман. Слава создателя концепции построения большинства современных ЭВМ принадлежит Нейману, только по причине того, что именно его имя значилось на титульном листе отчета по EDVAC, разосланного изначально небольшим тиражом по исследовательским институтам.

Следует все же отметить, что идея использовать двоичную систему счисления для представления данных принадлежит именно Нейману. На это указывает его труд конца 1940-х годов по теории автоматов, в основу которого Нейман положил дискретную математику, оперирующую двумя логическими понятиями «истина» и «ложь». Кроме того, после окончания работы над ENIAC в 1946 году появляется широко известная 53-х страничная работа «Preliminary discussion of the logical design of an electronic computing instrument» (пер. с анг. «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства») за авторством: Неймана, Голдстайна и Бёркса, датированная 28 июня (работа издана в виде книги в 1982 году).

Все трое ученных принимали участие в работах над ENIAC, именно во время работы над ENIAC были сформированы и опубликованы принципы фоннеймановской архитектуры. Это доказывает, что по меньшей мере некоторые из принципов фон Неймана были выработаны группой исследователей и не принадлежат только Нейману.

Касательно актуальности фоннеймановской архитектуры можно отметить, что несомненно, для своего времени данная логическая структура построения ЭВМ была революционным и гениальным решением. Архитектура настолько удачна, что существует практически в неизменном виде до настоящего времени и массово используется для построения ЭВМ.

Однако, «узкое место» архитектуры – одношинная структура, также дошло до настоящего времени в неизменном виде и по сей день доставляет массу проблем разработчикам различных узлов ЭВМ.

Нейман не мог не знать о другой, существующей на тот момент, т.н. «гарвардской архитектуре ЭВМ», разработанной в конце 1930 годов Гарвардским университетом. Гарвардская архитектура не имела данного недостатка, так как для хранения данных и команд программы использовались различные устройства, каждое с собственной шиной связи с процессором. Это позволяло выполнять одновременно чтение данных и команд из памяти, что значительно ускоряло процесс вычисления.

Недостатком гарвардской архитектуры является высокая стоимость и сложность реализации системы. Возможно, именно этот недостаток гарвардской архитектуры стал решающим фактором для Неймана, чтобы отказаться от использования двухшинной структуры в пользу одношинной. Очевидно, для современности, предъявляющей совсем другие требования к скорости вычислений, фоннеймановская архитектура является устаревшей, она давно уже не отвечает требованиям современной действительности и требует значительной переработки.

Применение многоядерных процессоров и многоуровневой кэш-памяти ситуацию значительно не исправит. Выходом из положения может служить переход на т.н. «канальную архитектуру ЭВМ», разработанную советскими инженерами и хорошо зарекомендовавшую себя за время эксплуатации ЭВМ с канальной архитектурой.

Второй выход – использовать многопроцессорную структуру с собственной памятью для каждого процессора (MIMD-архитектура) . Этот способ менее реалистичный, так как потребует переучивания огромного количества программистов и переработки всего программного обеспечения, рассчитанного на однопроцессорную архитектуру, каким является подавляющее большинство всего программного обеспечения на планете.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: