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

 

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

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

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

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

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

 

структурная схема гарвардской архитектуры

 

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

 

Использование кэш-памяти вместе с разделёнными шинами получило название— расширенная Гарвардская архитектура.