Гарвардська архітектура: відмінності між версіями

[перевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Скасовано останнє редагування (LeraKochegarova) і відновлено версію 16399105 Sanya7901: Порушення ВП:АП (і ті ж помилки авто�
Рядок 1:
{{без джерел|дата=липень 2015}}
[[Файл:Гарвардська архітектура.svg|thumb|300px|Блок-схема гарвардської архітектури комп'ютера.]]
'''[[Га́рвардська архітекту́ра]]''' ({{lang-en|Harvard architecture}}) — [[архітектура обчислювальної машини|архітектура]] [[електронна обчислювальна машина|обчислювальних машин]], головною відмінністю якої від інших подібних архітектур (див. напр. [[Архітектура фон Неймана]]) є те, що дані та [[машинна команда|оператори]] (алгоритм) зберігаються окремо. Першим комп'ютером, який застосовував гарвардську архітектуру, був [[Марк I (обчислювальна машина)|Mark I]], який експлуатувався в [[Гарвард]]і (звідки назва архітектури) та зберігав команди окремо на перфокартах, а дані в релейному запам'ятовуючому пристрої.
 
Така структура має одну важливу перевагу над [[архітектура фон Неймана|фон-нейманівською архітектурою]]: дані можна завантажувати для обробки з [[запам'ятовувальний пристрій|запам'ятовувального пристрою]] одночасно з командами. В фон-нейманівській архітектурі для зв'язку операційного та керувального пристроїв (які разом складають [[центральний процесор]]), використовується одна [[Комп'ютерна шина|шина]], тому необхідно спочатку завантажити в процесор команду, а вже потім, звернувшись по тій же шині за адресою, яка вказана в команді — завантажити дані. Наявність в гарвардській архітектурі двох незалежних підсистем пам'яті з окремими шинами дозволяє вести процес завантаження команд і даних практично паралельно.
Рядок 8:
 
Гарвардська архітектура широко застосовується в спеціалізованих обчислювачах, зокрема в [[мікроконтролер]]ах та [[Процесор цифрових сигналів|цифрових сигнальних процесорах]], де необхідний високоінтенсивний обмін даними. Також за гарвардською архітектурою зазвичай організується кеш-пам'ять в ЕОМ загального призначення, яка розділяється окремо на кеш-пам'ять команд та кеш-пам'ять даних (але, точніше, це стосується внутрішньої організації процесора, а не [[архітектура ЕОМ|архітектури ЕОМ]])
 
==== Стан пам'яті ====
У Гарвардській архітектурі, ніяка потреба зробити своїми спогадами поділитися характеристик. Зокрема, слово ширину, терміни, технологія реалізації та структура адрес пам'яті можуть відрізнятися. В деяких системах, інструкції можуть бути збережені в постійній пам'яті хоча пам'яті даних зазвичай вимагає читання і запису пам'яті. В деяких системах існує набагато більше пам'яті, ніж пам'ять даних інструкція так інструкція адресами ширше, ніж дані адреси.
 
Контраст з фон-Неймановской архітектури[редагувати джерело | редагувати] Основна стаття: фон-Неймановской архітектури Під чисто фон-Неймановской архітектури процесор може бути або читати інструкцію, або читання/запис даних з/В пам'ять. Обидва не можуть відбутися одночасно, оскільки інструкції і дані використовувати ту ж систему шин. У комп'ютер з використанням Гарвардської архітектури, процесор може зчитувати інструкції і виконати дані доступу до пам'яті в той же час, навіть без кеша. Гарвардська архітектура комп'ютера може бути швидше, тому для даного контуру складності, тому що інструкція вибірки і доступу до даних не боротися за Єдину пам'яті стежка. Крім того, Гарвардська архітектура машини має виразний коду і даних адресних просторів: інструкція за адресою нуль не співпадає адреса даних нуль. Інструкція по нульовому адресою може ідентифікувати двадцяти чотирьох бітне значення, а адресу даних нуль може вказувати восьмирозрядний байт, який не є частиною, що двадцяти чотирьох бітове значення.
 
==== Контраст з модифікованою Гарвардській архітектурі ====
Основна стаття: модифікована Гарвардська архітектура Модифікована Гарвардська архітектура машини дуже сильно нагадує Гарвардська архітектура машини, але він розслабляє суворий поділ між інструкції і дані, дозволяючи ЦП одночасно відкрити два (або більше) шини пам'яті. Найбільш поширена модифікація включає в себе окремі кеші даних та інструкцій спираючись на загальний адресний простір. Поки процесор виконує з кешу, вона виступає в якості чистого Гарвардського машини. Для зв'язку C бек пам'яті, він діє як машина фон Неймана (де код можна переміщати як даних, яка є потужною технікою). Ця модифікація отримала широке поширення в сучасних процесорах, наприклад, на архітектурі ARM і x86 процесори. Це іноді умовно називається Гарвардською архітектурою, з видом на те, що це насправді "модифікований".
 
Ще одна модифікація забезпечує прохід між інструкція пам'яті (ПЗП або флеш-пам'ять) і процесор дозволяють слова з інструкції пам'ять розглядатися як доступний тільки для читання даних. Цей метод використовується у деяких мікроконтролерах, у тому числі сімейства Atmel AVR. Це дозволяє постійних даних, таких як текстові рядки або таблиці функцій, повинні бути доступні без необхідності попереднього копіювання даних в пам'ять, збереження мізерних (і владолюбний) пам'яті даних для читання/запису змінних. Спеціальна машинна мова інструкції якої наведено можна прочитати дані з інструкції пам'яті. (Це відрізняється від інструкції які самі вбудовують постійні дані, хоча для окремих констант, ці два механізми можуть замінити один одного.)
 
==== Швидкість ====
В останні роки, швидкість процесора зросла в рази в порівнянні зі швидкістю доступу до основної пам'яті. Догляд повинен бути прийнят, щоб зменшити число раз основної пам'яті здійснюється в цілях підтримання продуктивності. Якщо, наприклад, кожну інструкцію запустити в КПУ який вимагає доступу до пам'яті, комп'ютер не отримує нічого для збільшення швидкості процесора—проблема згадується як пам'ять пов'язала. Можна зробити дуже швидку пам'ять, але це практично тільки для невеликих обсягів пам'яті за вартістю, потужності і маршрутизації сигналу причин. Рішення полягає в тому, щоб забезпечити невелику кількість дуже швидкої пам'яті, відомої як кеш процесора, який проводить останні відкриті дані. Оскільки дані, що процесор має потребу в кеші, а продуктивність буде набагато вище, ніж коли кеш для отримання даних з основної пам'яті.
 
==== Внутрішній проти зовнішнього дизайну ====
Сучасний високопродуктивний процесор чіп конструкції з'єднують аспекти обох Гарвардської і фон-Неймановської архітектури. Зокрема, "розділений кеш" версія модифікованої Гарвардської архітектури є дуже поширеним явищем. Процесор кеш-пам'ять розділена на кеш команд і кеш даних. Гарвардська архітектура використовується як процесор звертається до кеш-пам'яті. В випадку кеш-промахів, тим не менше, дані витягуються з основної пам'яті, яка формально не ділиться на окремі інструкції і дані розділів, хоча цілком може мати окремі контролери пам'яті використовуються для паралельного доступу до ОЗУ, ПЗУ і (не) флеш-пам'яті.
 
Таким чином, у той час як у фон-Неймановської архітектури видно в деяких контекстах, наприклад, коли дані і код прийшли через той же контролер пам'яті, апаратної реалізації приріст ефективності ,Гарвардська архітектура кешу звертається і принаймні деякі основні звернення до пам'яті. Крім того, процесори часто мають запис буферів, які дозволяють процесорам переходити після запису без кешування регіонів. Фон-Неймановська природа пам'яті стає видимим, коли інструкції записані дані по ЦПУ і програмне забезпечення повинно гарантувати, що кешей (дані інструкції) і буфера запису синхронізуються, перш ніж намагатися виконати ті просто написані інструкції.
 
==== Сучасне використання Гарвардської архітектури ====
Головну перевагу чисто Гарвардської архітектури—одночасний доступ до більш ніж однією системою пам'яті—була зменшена на модифікований Гарвардський процесор із використанням сучасних ЦП кеш систем. Щодо чисто Гарвардської архітектури верстати застосовуються в основному в додатках, де компроміси, як вартість і економію електроенергії від минаючи кеш, переважують програмування штрафи з участю різних кодів і даних адресних просторів.
 
Цифрові сигнальні процесори (ЦСП), як правило, працюють невелико, з високо оптимізованими аудіо і відео алгоритмів обробки. Вони уникають кеші, тому що їх поведінка повинна бути гранично Відтворювана. Труднощі подолання кількома адресними просторами є другорядним завданням, щоб швидкість виконати. Отже, деякі ЦСП характеристика множинних даних спогадів в різних адресних просторах для полегшення інструкції simd і VLIW обробки. Тексас инструмент TMS320 процесорів C55x, наприклад, мають кілька паралельних шин даних (два пишемо, три читаємо) .
 
Мікроконтролери характеризуються наявністю малих кількостей програми (флеш-пам'ять) і даних (пам'ять SRAM) пам'яті, без кеша, і скористатися Гарвардською архітектурою для прискорення обробки паралельних інструкцій і доступу до даних. Роздільне зберігання коштів програми і дані спогади можуть характеризуватися різною шириною біта, наприклад, з допомогою 16-розрядних інструкцій і 8-розрядних даних. Вони також означають, що інструкції попередньої вибірки може виконуватися паралельно з іншими видами діяльності. Приклади включають, на AVR від компанії Atmel Corp. і  PIC  по чіпової технології.
 
Навіть у цих випадках зазвичай використовують спеціальні інструкції для того, щоб відкрити програму пам'яті, як ніби це були дані тільки для читання таблиць, або для перепрограмування; ці процесори є модифікованою Гарвардською архітектурою процесорів.
 
== Див. також ==