Відмінності між версіями «Модифікована Гарвардська архітектура»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
Рядок 7: Рядок 7:
 
Така структура має одну важливу перевагу над [[архітектура фон Неймана|фон-нейманівською архітектурою]]: дані можна завантажувати для обробки з [[запам'ятовувальний пристрій|запам'ятовувального пристрою]] одночасно з командами. В [[Архітектура фон Неймана|фон-нейманівській архітектурі]] для зв'язку операційного та керувального пристроїв (які разом складають [[центральний процесор]]), використовується одна [[Комп'ютерна шина|шина]], тому необхідно спочатку завантажити в процесор команду, а вже потім, звернувшись по тій же шині за адресою, яка вказана в команді — завантажити дані. Наявність в гарвардській архітектурі двох незалежних підсистем пам'яті з окремими шинами дозволяє вести процес завантаження команд і даних практично паралельно.
 
Така структура має одну важливу перевагу над [[архітектура фон Неймана|фон-нейманівською архітектурою]]: дані можна завантажувати для обробки з [[запам'ятовувальний пристрій|запам'ятовувального пристрою]] одночасно з командами. В [[Архітектура фон Неймана|фон-нейманівській архітектурі]] для зв'язку операційного та керувального пристроїв (які разом складають [[центральний процесор]]), використовується одна [[Комп'ютерна шина|шина]], тому необхідно спочатку завантажити в процесор команду, а вже потім, звернувшись по тій же шині за адресою, яка вказана в команді — завантажити дані. Наявність в гарвардській архітектурі двох незалежних підсистем пам'яті з окремими шинами дозволяє вести процес завантаження команд і даних практично паралельно.
   
Головним недоліком гарвардської архітектури є порівняна з фон-нейманівською складність реалізації. Адже для кожного з запам'ятовуючих пристроїв необхідний свій контролер і своя шина, що зі збільшенням [[розрядність|розрядності]] призводить до зростання кількості з'єднань у системі, і це негативно впливає як на складність проектування, так і на швидкодію.
+
Головним недоліком гарвардської архітектури є порівняна з [[Архітектура фон Неймана|фон-нейманівською]] складність реалізації. Адже для кожного з [[Комп'ютерна пам'ять|запам'ятовуючих пристроїв]] необхідний свій контролер і своя шина, що зі збільшенням [[розрядність|розрядності]] призводить до зростання кількості з'єднань у системі, і це негативно впливає як на складність проектування, так і на швидкодію.
   
 
Гарвардська архітектура широко застосовується в спеціалізованих обчислювачах, зокрема в [[мікроконтролер]]ах та [[Процесор цифрових сигналів|цифрових сигнальних процесорах]], де необхідний високоінтенсивний обмін даними. Також за гарвардською архітектурою зазвичай організується кеш-пам'ять в ЕОМ загального призначення, яка розділяється окремо на кеш-пам'ять команд та кеш-пам'ять даних (але, точніше, це стосується внутрішньої організації процесора, а не [[архітектура ЕОМ|архітектури ЕОМ]])
 
Гарвардська архітектура широко застосовується в спеціалізованих обчислювачах, зокрема в [[мікроконтролер]]ах та [[Процесор цифрових сигналів|цифрових сигнальних процесорах]], де необхідний високоінтенсивний обмін даними. Також за гарвардською архітектурою зазвичай організується кеш-пам'ять в ЕОМ загального призначення, яка розділяється окремо на кеш-пам'ять команд та кеш-пам'ять даних (але, точніше, це стосується внутрішньої організації процесора, а не [[архітектура ЕОМ|архітектури ЕОМ]])
   
У Гарвардській архітектурі характеристики пристроїв пам'яті програм і пам'яті даних не завжди виконуються однаковими. У пам'яті даних і команд можуть відрізнятися розрядність шини даних і розподіл адрес пам'яті. Часто адресні простори пам'яті програм і пам'яті даних виконують різними. Це призводить до відмінності розрядності шини адреси для цих видів пам'яті. У мікроконтролерах пам'ять програм зазвичай реалізується у вигляді постійної пам'яті, а пам'ять даних — у вигляді ОЗУ. У сигнальних процесорах пам'ять програм змушені виконувати у вигляді ОЗУ. Це пов'язано з більш високою швидкодією оперативного запам'ятовуючого пристрою, однак при цьому в процесі роботи здійснюється захист від запису в цю область пам'яті.
+
У Гарвардській архітектурі характеристики пристроїв пам'яті програм і пам'яті даних не завжди виконуються однаковими. У пам'яті даних і команд можуть відрізнятися розрядність [[Шина даних|шини даних]] і розподіл [[Адреса (інформатика)|адрес пам'яті]]. Часто адресні простори пам'яті програм і пам'яті даних виконують різними. Це призводить до відмінності розрядності шини адреси для цих видів пам'яті. У ]]Мікроконтролер|мікроконтролерах]] пам'ять програм зазвичай реалізується у вигляді [[Постійний запам'ятовувач|постійної пам'яті]], а пам'ять даних — у вигляді [[Комп'ютерна пам'ять|ОЗУ]]. У [[Процесор цифрових сигналів|сигнальних процесорах]] пам'ять програм змушені виконувати у вигляді [[Комп'ютерна пам'ять|ОЗУ]]. Це пов'язано з більш високою швидкодією оперативного запам'ятовуючого пристрою, однак при цьому в процесі роботи здійснюється захист від запису в цю область [[Комп'ютерна пам'ять|пам'яті]].
   
Застосування двох системних шин для звернення до пам'яті програм і пам'яті даних в Гарвадській архітектурі має два недоліки — високу вартість і велику кількість зовнішніх висновків мікропроцесора. При використаннi двох шин для передачі команд і даних, мікропроцесор повинен мати майже вдвічі більше висновків, оскільки шина адреси і шина даних складають основну частину висновків мікропроцесора. Для зменшення кількості виводів кристала мікропроцесора фірми-виробники мікросхем об'єднали шини даних і шини адреси для зовнішньої пам'яті даних і програм, залишивши тільки різні сигнали управління (WR, RD, IRQ) а усередині мікропроцесора зберегли класичну гарвардську архітектуру. Таке рішення отримало назву модифікована Гарвардська архітектура.
+
Застосування двох системних [[Комп'ютерна шина|шин]] для звернення до пам'яті програм і пам'яті даних в Гарвадській архітектурі має два недоліки — високу вартість і велику кількість зовнішніх висновків [[Мікропроцесор|мікропроцесора]]. При використаннi двох шин для передачі команд і даних, мікропроцесор повинен мати майже вдвічі більше висновків, оскільки шина адреси і шина даних складають основну частину висновків мікропроцесора. Для зменшення кількості виводів кристала мікропроцесора фірми-виробники мікросхем об'єднали шини даних і шини адреси для зовнішньої пам'яті даних і програм, залишивши тільки різні сигнали управління (WR, RD, IRQ) а усередині мікропроцесора зберегли класичну гарвардську архітектуру. Таке рішення отримало назву модифікована Гарвардська архітектура.
   
 
Модифікована гарвардська структура застосовується в сучасних мікросхемах сигнальних процесорів. Ще далі по шляху зменшення вартості кристала за рахунок зменшення площі, займаної системними шинами пішли виробники однокрісталльних ЕОМ — мікроконтролерів. У цих мікросхемах застосовується одна системна шина для передачі команд і даних (модифікована Гарвардська архітектура) і всередині кристала.
 
Модифікована гарвардська структура застосовується в сучасних мікросхемах сигнальних процесорів. Ще далі по шляху зменшення вартості кристала за рахунок зменшення площі, займаної системними шинами пішли виробники однокрісталльних ЕОМ — мікроконтролерів. У цих мікросхемах застосовується одна системна шина для передачі команд і даних (модифікована Гарвардська архітектура) і всередині кристала.

Версія за 07:53, 30 грудня 2015

Блок-схема гарвардської архітектури комп'ютера.

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

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

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

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

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

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

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

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

Сучасне використання Гарвардської архітектури

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

Цифрові сигнальні процесори (ЦСП), як правило, працюють невелико, з високо оптимізованими аудіо і відео алгоритмів обробки. Вони уникають кеші, тому що їх поведінка повинна бути гранично Відтворювана. Труднощі подолання кількома адресними просторами є другорядним завданням, щоб швидкість виконати. Отже, деякі ЦСП характеристика множинних даних спогадів в різних адресних просторах для полегшення інструкції simd і VLIW обробки. Тексас инструмент TMS320 процесорів C55x, наприклад, мають кілька паралельних шин даних (два пишемо, три читаємо) .

Мікроконтролери характеризуються наявністю малих кількостей програми (флеш-пам'ять) і даних (пам'ять SRAM) пам'яті, без кеша, і скористатися Гарвардською архітектурою для прискорення обробки паралельних інструкцій і доступу до даних. Роздільне зберігання коштів програми і дані спогади можуть характеризуватися різною шириною біта, наприклад, з допомогою 16-розрядних інструкцій і 8-розрядних даних. Вони також означають, що інструкції попередньої вибірки може виконуватися паралельно з іншими видами діяльності. Приклади включають, на AVR від компанії Atmel Corp. і  PIC  по чіпової технології.

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

Див. також

  1. {{https://uk.wikipedia.org/w/index.php?search=комп%27ютер&title=Спеціальна%3AПошук&go=Перейти}}