Гарвардская архитектура
Материал из Википедии — свободной энциклопедии
Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти.
Содержание |
[править] История
В 30-х годах правительство США поручило Гарвардскому и Принстонскому университетам разработать архитектуру компьютера для военно-морской артиллерии. Победила разработка Принстонского университета (более известная как архитектура фон Неймана, названная так по имени разработчика, первым предоставившего отчет об архитектуре), так как она была проще в реализации. Гарвардская архитектура не использовалась вплоть до конца 70-х годов.[источник не указан 52 дня]
[править] Классическая гарвардская архитектура
Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий: выборку двух операндов, выбор инструкции и её выполнение, и, наконец, сохранение результата. Идея, реализованная Эйкеном, заключалась в физическом разделении линий передачи команд и данных. В первом компьютере Эйкена Марк I для хранения инструкций использовалась перфорированная лента, а для работы с данными — электромеханические регистры. Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие.
[править] Модифицированная гарвардская архитектура
Соответствующая схема реализации доступа к памяти имеет один очевидный недостаток — высокую стоимость. При разделении каналов передачи адреса и данных на кристалле процессора последний должен иметь в два раза больше выводов. Способом решения этой проблемы стала идея использовать общую шину данных и шину адреса для всех внешних данных, а внутри процессора использовать шину данных, шину команд и две шины адреса. Такую концепцию стали называть модифицированной Гарвардской архитектурой.
Именно такой подход применяется в современных сигнальных процессорах. Еще дальше по пути удешевления стоимости пошли при создании однокристалльных ЭВМ — микроконтроллеров. В них одна шина адреса и данных применяется и внутри кристалла. В этих микросхемах более важным параметром является не быстродействие, а надежность работы устройства. Надежность достигается невозможностью случайного стирания программы в процессе ее выполнения.
Разделение шин в модифицированной Гарвардской структуре осуществляется при помощи раздельных управляющих сигналов: чтения, записи или выбора области памяти.
[править] Расширенная гарвардская архитектура
Часто требуется выбрать три составляющие : два операнда и инструкцию (в алгоритмах цифровой обработки сигналов это наиболее распространенная задача в БПФ и КИХ, БИХ фильтрах). Для этого существует кэш-память. В ней может храниться инструкция — следовательно, обе шины остаются свободными и появляется возможность передать два операнда одновременно. Использование кэш-памяти вместе с разделёнными шинами получило название «Super Harvard Architecture» («SHARC») — расширенная Гарвардская архитектура.
Примером могут служить процессоры «Analog Devices»: ADSP-21xx — модифицированная Гарвардская Архитектура, ADSP-21xxx(SHARC) — расширенная Гарвардская Архитектура.
[править] Прочие модификации
Существуют гибридные модификации архитектур, сочетающие некоторые достоинства как Гарвардской, так и фон-Неймановской архитектур. Например, современные варианты процессоров ARM, как правило, обладают раздельной кэш-памятью для инструкций и данных, что позволяет им за один такт получать одновременно как команду, так и данные для её выполнения, то есть процессорное ядро, формально, является гарвардским, но с программной точки зрения выглядит как фон-Неймановское, что упрощает написание программ. Обычно в данных процессорах одна шина используется и для передачи команд, и для передачи данных, что упрощает конструкцию системы. Современные варианты таких процессоров могут иногда содержать встроенные контроллеры сразу нескольких разнотипных шин для работы с различными типами памяти — например, DDR RAM и Flash. Тем не менее и в этом случае шины, как правило, используются и для передачи команд, и для передачи данных без разделения, что делает данные процессоры еще более близкими к фон-Неймановской архитектуре при сохранении плюсов Гарвардской архитектуры.
[править] Использование
Первым компьютером, в котором была использована идея гарвардской архитектуры, был Марк I. Гарвардская архитектура используется в ПЛК и микроконтроллерах, таких, как Atmel AVR, Intel 4004, Intel 8051.
[править] См. также
|
|
|||||||||
|---|---|---|---|---|---|---|---|---|---|
| Архитектура | CISC · EDGE · EPIC · MISC · URISC ·RISC · VLIW · ZISC · Фон Неймана · Гарвардская · 32-bit · 64-bit · 128-bit | ||||||||
| Параллелизм |
|
||||||||
| Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер | ||||||||
| Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · register file · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш | ||||||||
| Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения | ||||||||

