logo search
Ответы_к_экзамену_2010

Архитектура Фон Неймана и гарвардская архитектура в пцос. Преимущества и недостатки.

В традиционных микропроцессорах используется фоннеймановская архитектура, названная так по имени архитектора математика Джона фон Неймана (1903-1957 гг.). Эта архитектура содержит единственный блок памяти, в котором храняться команды и данные, и общую шину для передачи данных и команд в центральный процессор и от него. Умножение чисел в этом случае требует по меньшей мере трех тактов: по одному на пересылку каждого из двух чисел в ЦП, и одного – для передачи команды. Здесь не учитывается время на пересылку результата обратно в память, так как предполагается, что он остаётся в ЦП для следующих преобразований. Фоннеймановская архитектура вполне вполне подходит в том случае, когда все действия могут выполняться последовательно. Большинство компьютеров общего назначения фактически построены по архитектуре вон Неймана.

Рис. Архитектура Фон Неймана (один модуль памяти):

ША – шина адреса; ШД – шина данных; ЦП – центральный процессор

Иная архитектура применяется только тогда, когда необходима очень быстрая обработка. Таким требованиям отвечает гарвардская архитектура. Данная архитектура получила свое название благодаря разработкам, выполненным в 1940 годах в Гарвардском университете под руководством Г. Айкена (1900-1973 гг.).

Рис. Гарвардская архитектура (два модуля памяти):

ША – шина адреса; ШД – шина данных;

ПД –памяти данных; ПП –памяти программ;

ЦП – центральный процессор

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

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

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

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

Рис. 3.25. Модифицированная гарвардская архитектура (два модуля памяти и кэш-память)

Модифицированная гарвардская архитектура дополненная контроллером ввода/вывода, известна под названием супергарвардская архитектура. Этот термин был введен фирмой Analog Devices для описания работы цифровых сигнальных процессоров семейств. ЦСП, построенные по такой архитектура назвали SHARC, что является сокращением от слов Super Harvard ARChitecture. Архитектура ЦСП семейства SHARC для улучшения их производительности оптимизирована по многим направлениям, однако два из них играют особую роль – это наличие кэш-памяти команд и контроллера ввода/вывода, соединенного с памятью данных и организующего ввод сигналов в систему и вывод из нее. В частности, для обмена данными с внешними устройствами ЦСП семейства SHARC содержат и параллельный и последовательный порты, обеспечивающие очень высокую скорость передачи данных. Способность поддерживать высокоскоростной интерфейс ввода/вывода является ключевой особенностью таких ЦСП. Так как главная задача цифрового процессора – загрузить входные данные, выполнить необходимые систематические преобразования и вывести результат, прежде чем на входе системы появится следующий отсчет.