Гарвардская архитектура

Гарвардская архитектура

Гарвардская архитектура — архитектура ЭВМ, отличительными признаками которой являются:
1. Хранилище инструкций и хранилище данных представляют собой разные физические устройства.
2. Канал инструкций и канал данных также физически разделены.

Архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете.

Содержание

История

В 30-х годах правительство США поручило Гарвардскому и Принстонскому университетам разработать архитектуру ЭВМ для военно-морской артиллерии. И в конце 1930-х годов в Гарвардском университете Говардом Эйкеном была разработана архитектура называемая по имени этого университета. Однако, победила разработка Принстонского университета (более известная как архитектура фон Неймана, названная так по имени разработчика, первым предоставившего отчет об архитектуре), так как она была проще в реализации. Гарвардская архитектура использовалась советским учёным А. И. Китовым в ВЦ-1 МО СССР [1].

Классическая гарвардская архитектура

Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий:

  1. выборку двух операндов,
  2. выбор инструкции и её выполнение,
  3. и, наконец, сохранение результата.

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

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

Отличие от архитектуры фон Неймана

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

Модифицированная гарвардская архитектура

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

Такой подход применяется в современных сигнальных процессорах. Ещё дальше по пути уменьшения стоимости пошли при создании однокристалльных ЭВМ — микроконтроллеров. В них одна шина команд и данных применяется и внутри кристалла.

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

Расширенная гарвардская архитектура

Часто требуется выбрать три составляющие : два операнда и инструкцию (в алгоритмах цифровой обработки сигналов это наиболее распространенная задача в БПФ и КИХ, БИХ фильтрах). Для этого существует кэш-память. В ней может храниться инструкция — следовательно, обе шины остаются свободными и появляется возможность передать два операнда одновременно. Использование кэш-памяти вместе с разделёнными шинами получило название «Super Harvard Architecture» («SHARC») — расширенная Гарвардская архитектура.

Примером могут служить процессоры «Analog Devices»: ADSP-21xx — модифицированная Гарвардская Архитектура, ADSP-21xxx(SHARC) — расширенная Гарвардская Архитектура.

Гибридные модификации с архитектурой фон Неймана

Существуют гибридные архитектуры, сочетающие достоинства как Гарвардской так и фон Неймановской архитектур. Современные CISC-процессоры обладают раздельной кэш-памятью 1-го уровня для инструкций и данных, что позволяет им за один рабочий такт получать одновременно и команду, и данные для её выполнения. То есть процессорное ядро, формально, является гарвардским, но программно оно фон Неймановское, что упрощает написание программ. Обычно в данных процессорах одна шина используется и для передачи команд, и для передачи данных, что упрощает конструкцию системы. Современные варианты таких процессоров могут иногда содержать встроенные контроллеры сразу нескольких разнотипных шин для работы с различными типами памяти — например, DDR RAM и Flash. Тем не менее, и в этом случае шины, как правило, используются и для передачи команд, и для передачи данных без разделения, что делает данные процессоры ещё более близкими к фон Неймановской архитектуре при сохранении плюсов Гарвардской архитектуры.

Использование

Первым компьютером, в котором была использована идея гарвардской архитектуры, был Марк I. Гарвардская архитектура используется в ПЛК и микроконтроллерах, таких, как Microchip PIC, Atmel AVR, Intel 4004, Intel 8051.

См. также

Ссылки

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Гарвардская архитектура" в других словарях:

  • гарвардская архитектура — В этой архитектуре шины данных и программ разделены, что позволяет параллельно иметь доступ и к памяти и программе, что в свою очередь повышает производительность. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN Harvard …   Справочник технического переводчика

  • Архитектура фон Неймана — …   Википедия

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

  • Архитектура набора команд — Эту страницу предлагается объединить с Система команд. Пояснение причин и обсуждение на странице Википедия:К объединению/6 ноября 2011. Обсуждение длится одну неделю (или дольш …   Википедия

  • Архитектура компьютера — Для улучшения этой статьи желательно?: Добавить иллюстрации. Викифицировать статью. Архитектура вычислительной машины (Архитектура …   Википедия

  • Принстонская архитектура — Схематичное изображение машины фон Неймана. Архитектура фон Неймана (англ. Von Neumann architecture) широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином …   Википедия

  • EPIC (архитектура микропроцессора) — У этого термина существуют и другие значения, см. EPIC. EPIC (англ. explicitly parallel instruction computing)  микропроцессорная архитектура с явным параллелизмом команд. Термин введён в 1997 году альянсом HP и Intel[1] для… …   Википедия

  • 8 бит (компьютерная архитектура) — У этого термина существуют и другие значения, см. 8 бит. В компьютерной архитектуре  восьмиразрядные целые, адреса памяти, или другие типы данных, размером не более 8 бит (один октет). Восьмибитные ЦПУ и АЛУ  архитектуры, основанные на… …   Википедия

  • Процессор — У этого термина существуют и другие значения, см. Процессор (значения). Запрос «ЦП» перенаправляется сюда; см. также другие значения. Intel Celeron 1100 Socket 370 в корпусе FC PGA2, вид снизу …   Википедия

  • Цифровой сигнальный процессор — (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС)  специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени) …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»