Харвардска архитектура

Харвардска архитектура - компютърна архитектура, отличителна черта на която е отделното съхранение и обработка на команди и данни. Архитектурата е проектирана от Хауърд Айкен в края на 30-те години в Харвардския университет.

През 30-те години американското правителство възлага на университетите в Харвард и Принстън да разработят компютърна архитектура за военноморската артилерия. Дизайнът на Принстън (по-известен като архитектурата на фон Нойман, кръстен на разработчика, който първо е представил доклада за архитектурата) спечели, защото беше по-лесен за изпълнение. Харвардската архитектура е използвана от съветския учен А. И. Китов в М-100 (ВЦ-1 на Министерството на отбраната на СССР, 1958 г.). .

2. Класическа архитектура в Харвард

Типичните операции (събиране и умножение) изискват няколко действия от всяко изчислително устройство: извличане на два операнда, избор на инструкция и изпълнение и накрая запазване на резултата. Идеята на Aiken беше физически да отдели командните и информационните редове. Първият компютър на Aiken, Mark I, използва перфорирана лента за съхранение на инструкции и електромеханични регистри за манипулиране на данни. Това позволи едновременно изпращане и обработка на команди и данни, което значително увеличи общата производителност.

3. Модифицирана архитектура на Харвард

Този подход се използва в съвременните сигнални процесори. Отидохме още по-далеч по пътя на намаляване на разходите при създаването на монокристални компютри - микроконтролери. Те използват една и съща шина за команди и данни вътре в кристала.

Разделянето на шините в модифицирана структура на Харвард се извършва с помощта на отделни контролни сигнали: четене, записване или избор на област от паметта.

4. Разширена архитектура на Харвард

Често е необходимо да се изберат три компонента: два операнда и инструкция (в алгоритмите за цифрова обработка на сигнали това е най-често срещаната задача във FFT и FIR, IIR филтри). За това има кеш памет. В него може да се съхранява инструкция - следователно и двете шини остават безплатни и става възможно прехвърлянето на два операнда едновременно. Използването на кеш памет заедно със споделени шини се нарича „Архитектура на Супер Харвард“ („SHARC“) - разширена архитектура на Харвард.

Пример са процесорите Analog Devices: ADSP-21xx - Modified Harvard Architecture, ADSP-21xxx (SHARC) - Extended Harvard Architecture.

5. Хибридни модификации с архитектура на фон Нойман

Съществуват хибридни модификации на архитектурите, които съчетават достойнствата на архитектурата както на Харвард, така и на фон Нойман. Съвременните процесори CISC имат отделен кеш от ниво 1 за инструкции и данни, което им позволява да получават едновременно както инструкцията, така и данните за нейното изпълнение в един тактов цикъл, тоест ядрото на процесора формално е Харвард, но от гледна точка на софтуера изглежда като фон Нойман, което улеснява писането на програми. Обикновено тези процесори използват една шина както за командване, така и за пренос на данни, което опростява дизайна на системата. Съвременните версии на такива процесори понякога могат да съдържат вградени контролери на няколко различни типа шини наведнъж за работа с различни видове памет - например DDR RAM и Flash. Независимо от това, в този случай шините по правило се използват както за прехвърляне на команди, така и за прехвърляне на данни без разделяне, което прави тези процесори още по-близо до архитектурата на фон Нойман, като същевременно запазват предимствата на архитектурата на Харвард.

6. Употреба

Първият компютър, който използва идеята за харвардската архитектура, е Mark I. Харвардската архитектура се използва в PLC и микроконтролери като Microchip PIC, Atmel AVR, Intel 4004, Intel 8051.