Модифікована Гарвардська архітектура

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 21:26, 15 січня 2018, створена Vlasenko D (обговорення | внесок) (оформлення, видалив зовсім сирий переклад)
Перейти до навігації Перейти до пошуку
Блок-схема гарвардської архітектури комп'ютера.

Га́рвардська архітекту́ра (англ. Harvard architecture) — архітектура обчислювальних машин, головною відмінністю якої від інших подібних архітектур (див. напр. Архітектура фон Неймана) є те, що дані та оператори (алгоритм) зберігаються окремо. Першим комп'ютером, який застосовував гарвардську архітектуру, був Mark I, який експлуатувався в Гарварді (звідки назва архітектури) та зберігав команди окремо на перфокартах, а дані в релейному запам'ятовуючому пристрої.

Така структура має одну важливу перевагу над фон-нейманівською архітектурою: дані можна завантажувати для обробки з запам'ятовувального пристрою одночасно з командами. В фон-нейманівській архітектурі для зв'язку операційного та керувального пристроїв (які разом складають центральний процесор), використовується одна шина, тому необхідно спочатку завантажити в процесор команду, а вже потім, звернувшись по тій же шині за адресою, яка вказана в команді — завантажити дані. Наявність в гарвардській архітектурі двох незалежних підсистем пам'яті з окремими шинами дозволяє вести процес завантаження команд і даних практично паралельно.

Головним недоліком гарвардської архітектури є порівняна з фон-нейманівською складність реалізації. Адже для кожного з запам'ятовуючих пристроїв необхідний свій контролер і своя шина, що зі збільшенням розрядності призводить до зростання кількості з'єднань у системі, і це негативно впливає як на складність проектування, так і на швидкодію.

Гарвардська архітектура широко застосовується в спеціалізованих обчислювачах, зокрема в мікроконтролерах та цифрових сигнальних процесорах, де необхідний високоінтенсивний обмін даними. Також за гарвардською архітектурою зазвичай організується кеш-пам'ять в ЕОМ загального призначення, яка розділяється окремо на кеш-пам'ять команд та кеш-пам'ять даних (але, точніше, це стосується внутрішньої організації процесора, а не архітектури ЕОМ)

У Гарвардській архітектурі характеристики пристроїв пам'яті програм і пам'яті даних не завжди виконуються однаковими. У пам'яті даних і команд можуть відрізнятися розрядність шини даних і розподіл адрес пам'яті. Часто адресні простори пам'яті програм і пам'яті даних виконують різними. Це призводить до відмінності розрядності шини адреси для цих видів пам'яті. У мікроконтролерах пам'ять програм зазвичай реалізується у вигляді постійної пам'яті, а пам'ять даних — у вигляді оперативної пам'яті. У сигнальних процесорах пам'ять програм змушені виконувати у вигляді ОЗП. Це пов'язано з більш високою швидкодією оперативного запам'ятовуючого пристрою, однак при цьому в процесі роботи здійснюється захист від запису в цю область пам'яті.

Застосування двох системних шин для звернення до пам'яті програм і пам'яті даних в Гарвадській архітектурі має два недоліки — високу вартість і велику кількість зовнішніх виводів мікропроцесора. При використанні двох шин для передачі команд і даних, мікропроцесор повинен мати майже вдвічі більше виводів, оскільки шина адреси і шина даних складають їх основну частину. Для зменшення кількості виводів процесора фірми-виробники мікросхем об'єднали шини даних і шини адреси для зовнішньої пам'яті даних і програм, залишивши тільки різні сигнали управління (WR, RD, IRQ), а усередині мікропроцесора зберегли класичну гарвардську архітектуру. Таке рішення отримало назву модифікована Гарвардська архітектура.

Модифікована гарвардська структура застосовується в сучасних мікросхемах сигнальних процесорів. Ще далі по шляху зменшення вартості кристала за рахунок зменшення площі, займаної системна шина пішли виробники однокристальних ЕОМ — мікроконтролерів. У цих мікросхемах застосовується одна системна шина для передачі команд і даних (модифікована Гарвардська архітектура) і всередині кристала.

У сигнальних процесорах для реалізації таких алгоритмів є швидке перетворення Фур'є і цифрова фільтрація; часто потрібно ще більша кількість внутрішніх шин. Зазвичай застосовуються дві шини для читання даних, одна шина для запису даних і однашина для читання інструкцій. Подібна структура мікропроцесора отримала назву розширеної гарвардської архітектури. Цей підхід практикують виробники сигнальних процесорів — фірми Analog Devices (сімейства сигнальних процесорів BlackFin і Tiger Shark), Texas Instrunents (сімейства сигнальних процесорів C5000 ™ DSPs і C6000 ™ DSPs), Freescale (сімейства сигнальних процесорів MSC8251 і DSP56K).

Див. також