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

архитектура

Харвардска архитектура- компютърна архитектура, отличителните черти на която са:

  • хранилището на инструкции и хранилището на данни са различни физически устройства;
  • каналът за инструкции и каналът за данни също са физически разделени.

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

Съдържание

Харвардската архитектура е използвана от съветския учен А. И. Китов в Изчислителния център-1 на Министерството на отбраната на СССР [3] .

Типичните операции (събиране и умножение) изискват няколко действия от всяко изчислително устройство:

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

Разлика от фон Ноймановата архитектура

В компютър, използващ архитектурата на Харвард, процесорът може да прочете следващата инструкция и да работи с паметта за данни едновременно и без да използва кеш паметта. По този начин, компютър с архитектура на Харвард, с определена сложност на схемата, е по-бърз от компютър с архитектура на фон Нойман, тъй като инструкциите и потоците от данни са разположени на отделни хардуерни канали, които не са физически свързани един с друг.

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

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

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

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

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

Процесорите на Analog Devices са пример: ADSP-21xx е модифицирана архитектура на Харвард, ADSP-21xxx (SHARC) е разширена архитектура на Харвард.

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

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

Първият компютър, използващ идеята за архитектурата на Харвард, беше Mark I.

Харвардската архитектура се използва в PLC и микроконтролери, като Microchip PIC, Atmel AVR, Intel 4004, Intel 8051, както и в кеш паметта от първо ниво на x86 микропроцесори, която е разделена на два еднакви или различни блока за данни и команди.