Модифікована Гарвардська архітектура — варіант Гарвардської архітектури ЕОМ, що дозволяє доступ до пам'яті інструкцій як до даних. Більшість сучасних комп'ютерів, у назві яких фігурує «Гарвардська архітектура», насправді реалізують таку модифікацію.
Архітектура фон Неймана
Комп'ютер з архітектурою фон Неймана має перевагу над «чистим» гарвардським через легкість роботи з кодом програми як даними (як і навпаки — роботи з даними як кодом). Наприклад, читання програми з носія інформації до пам'яті в принципі нічим не відрізняється від читання даних. Також легко здійснені такі прийомии, як JIT-компіляція чи код, що модифікує сам себе. З недоліків можна відзначити проблеми з захистом ділянок пам'яті для програми (недозволений запис у пам'ять програм може використовуватися шкідливими програмами) і складності з відлагоджуванням програми, код якої динамічно змінюється.
Гарвардська архітектура
Найперша обчислювальна машина, від якої пішла назва архітектури — Harvard Mark I — мала повністю розділені системи пам'яті для збереження програм і даних. Процесор здійснював вибірку інструкції і завантаження даних одночасно і незалежно одне від одного. Такий механізм є фундаментальною відмінністю в порівнянні з архітектурою фон Неймана, де інструкції і дані зберігаються в одній і тій самій пам'яті, і (за відсутності кеш-пам'яті) можуть бути завантажені лише послідовно.
У «чисто» гарвардській ЕОМ адресні простори програм і даних мають бути повністю розділені: адреса інструкції і адреса даних — це різні сутності, що ідентифікують, відповідно, команду процесора і байт чи слово даних у двох різних просторах пам'яті. Через таку розділеність гарвардська архітектура уможливлює різну розрядність (і взагалі, різні характеристики) пам'яті програм і даних. Наприклад, спеціалізований процесор може мати 10-розрядну шину адреси (тобто, адресувати не більше ніж 1024 машинних слів), при цьому оперувати 128-розрядними даними.
Модифікована Гарвардська архітектура
Більшість сучасних комп'ютерами є машинами модифікованої гарвардської архітектури, де модифікації полягають у ослабленні розділення коду і даних, водночас зберігаючи переваги зі швидкодії і паралельності, які дає Гарвардська архітектура.
Розділений кеш («майже фон Нейманівська архітектура»)
Найблішь розповсюдженою модифікацією є організація ієрархії пам'яті у вигляді запровадження роздільного кешу для інструкцій і для даних. Такий підхід зберігає фон Нейманівську уніфікацію адресних просторів майже повністю. Більшість програмістів можуть навіть не здогадуватись, що невелика частина кешу (L1) є розділеною, і що ця особливість суттєво підвищує швидкодію ЦП. Системні програмісти, що потребують максимальної швидкості виконання низькорівневого коду, повинні зважати на питання когерентності кешу.
Архітектура «пам'ять інструкцій як дані»
Інша модифікація, хоча і зберігає принцип «розділені адресні простори» Гарвардської архітектури, забезпечує кілька спеціальних машинних команд для доступу до пам'яті інструкцій. При такій зміні дані не можна «запустити» як серію інструкцій (через це таку архітектуру не завжди розглядають як «модифіковану Гарвардську».
- Читання з пам'яті інструкцій: спеціальні команди можуть копіювати вміст пам'яті інструкцій у пам'ять даних. У випадку констант (таких як пі чи текстові дані, що не будуть змінюватися), можливе також збереження їх прямо у пам'яті інструкцій, без копіювання у пам'ять даних.
- Запис у пам'ять інструкцій: потрібна для можливості зміни програми. Наприклад, мікроконтролери зазвичай мають можливіть запису програми у флеш-пам'ять.
Архітектура «пам'ять даних як інструкції»
Деякі процесори Гарвардської архітектури (такі, як MAXQ), можуть виконувати інструкції з будь-якого сегмента пам'яті. Відмінність від фон-Нейманівської архітектури полягає в тому, що такі процесори можуть читати інструкцію і дані одночасно, якщо вони розташовуються у різних сегментах. Це є можливим завдяки тому, що процесор має як мінімум дві незалежних апаратних шини, для читання адрес і даних відповідно. При програмуванні слід зауважувати, що читання даних з того ж самого сегменту, де виконуюється поточний код, не може бути здійснене водночас з виконанням інструкції.
Сучасне застосування модифікованої Гарвардської архітектури
Кеш-пам'ять сучасних процесорів, зокрема кеш першого рівня, зазвичай розділена на окремі частини для команд і для даних.
Існують також процесори, що можуть вважатися гарвардськими у найбільш суворому сенсі (програма і дані знаходяться у різних адресних просторах), «модифіковані» лише з метою можливості запису програми у пам'ять як послідовності байтів (даних). Для прикладу, інструкції LPM (Load Program Memory) і SPM (Store Program Memory) у контролерах Atmel AVR реалізують таку модифікацію. Схожі рішення застосовані і в інших мікропроцесорах, таких як PIC і , і у багатьох цифрових сигнальних процесорах (наприклад, від Texas Instruments). Через те, що виконання програми суворо лімітоване окремим адресним простором, такі процесори дуже несхожі на традиційні фон-Нойманівські.
Розділені адресні простори створюють певні незручності при програмуванні на мовах високого рівня. Не всі компілятори підтримують модель, де дані лише для читання розташовуються в абсолютно іншому адресному просторі (і, як наслідок, вимагають особливих інструкцій для читання), в порівнянні з даними на читання і на запис. Компілятори з мови C, що підтримують розділені адресні простори, роблять це або за допомогою нестандартних розширень, або через механізми , що лише нещодавно став стандартом.
Джерела
- . Архів оригіналу за 17 квітня 2020. Процитовано 16 січня 2018.
- (PDF) (Application note). Atmel. June 2004. Архів оригіналу (PDF) за 19 березня 2015. Процитовано 29 січня 2015.
- Catsoulis, John (2005). Designing Embedded Hardware: Create New Computers and Devices. с. 329.
- MAXQ Family User's Guide[недоступне посилання]. Sections 1.2 "Harvard Memory Architecture" and 2.5 "Pseudo-Von Neumann Memory Access".
- Konark Goel et al. About MAXQ GCC port [ 4 березня 2016 у Wayback Machine.].
Див. також
- Архітектура фон Неймана
- Архітектура потоків даних
- Архітектура з розвинутими засобами інтерпретації
- Паралельна архітектура ЕОМ
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Modifikovana Garvardska arhitektura variant Garvardskoyi arhitekturi EOM sho dozvolyaye dostup do pam yati instrukcij yak do danih Bilshist suchasnih komp yuteriv u nazvi yakih figuruye Garvardska arhitektura naspravdi realizuyut taku modifikaciyu Arhitektura fon NejmanaDokladnishe Arhitektura fon Nejmana Komp yuter z arhitekturoyu fon Nejmana maye perevagu nad chistim garvardskim cherez legkist roboti z kodom programi yak danimi yak i navpaki roboti z danimi yak kodom Napriklad chitannya programi z nosiya informaciyi do pam yati v principi nichim ne vidriznyayetsya vid chitannya danih Takozh legko zdijsneni taki prijomii yak JIT kompilyaciya chi kod sho modifikuye sam sebe Z nedolikiv mozhna vidznachiti problemi z zahistom dilyanok pam yati dlya programi nedozvolenij zapis u pam yat program mozhe vikoristovuvatisya shkidlivimi programami i skladnosti z vidlagodzhuvannyam programi kod yakoyi dinamichno zminyuyetsya Garvardska arhitekturaDokladnishe Garvardska arhitektura Najpersha obchislyuvalna mashina vid yakoyi pishla nazva arhitekturi Harvard Mark I mala povnistyu rozdileni sistemi pam yati dlya zberezhennya program i danih Procesor zdijsnyuvav vibirku instrukciyi i zavantazhennya danih odnochasno i nezalezhno odne vid odnogo Takij mehanizm ye fundamentalnoyu vidminnistyu v porivnyanni z arhitekturoyu fon Nejmana de instrukciyi i dani zberigayutsya v odnij i tij samij pam yati i za vidsutnosti kesh pam yati mozhut buti zavantazheni lishe poslidovno Blok shema garvardskoyi arhitekturi komp yutera U chisto garvardskij EOM adresni prostori program i danih mayut buti povnistyu rozdileni adresa instrukciyi i adresa danih ce rizni sutnosti sho identifikuyut vidpovidno komandu procesora i bajt chi slovo danih u dvoh riznih prostorah pam yati Cherez taku rozdilenist garvardska arhitektura umozhlivlyuye riznu rozryadnist i vzagali rizni harakteristiki pam yati program i danih Napriklad specializovanij procesor mozhe mati 10 rozryadnu shinu adresi tobto adresuvati ne bilshe nizh 1024 mashinnih sliv pri comu operuvati 128 rozryadnimi danimi Modifikovana Garvardska arhitekturaBilshist suchasnih komp yuterami ye mashinami modifikovanoyi garvardskoyi arhitekturi de modifikaciyi polyagayut u oslablenni rozdilennya kodu i danih vodnochas zberigayuchi perevagi zi shvidkodiyi i paralelnosti yaki daye Garvardska arhitektura Rozdilenij kesh majzhe fon Nejmanivska arhitektura Najblish rozpovsyudzhenoyu modifikaciyeyu ye organizaciya iyerarhiyi pam yati u viglyadi zaprovadzhennya rozdilnogo keshu dlya instrukcij i dlya danih Takij pidhid zberigaye fon Nejmanivsku unifikaciyu adresnih prostoriv majzhe povnistyu Bilshist programistiv mozhut navit ne zdogaduvatis sho nevelika chastina keshu L1 ye rozdilenoyu i sho cya osoblivist suttyevo pidvishuye shvidkodiyu CP Sistemni programisti sho potrebuyut maksimalnoyi shvidkosti vikonannya nizkorivnevogo kodu povinni zvazhati na pitannya kogerentnosti keshu Arhitektura pam yat instrukcij yak dani Insha modifikaciya hocha i zberigaye princip rozdileni adresni prostori Garvardskoyi arhitekturi zabezpechuye kilka specialnih mashinnih komand dlya dostupu do pam yati instrukcij Pri takij zmini dani ne mozhna zapustiti yak seriyu instrukcij cherez ce taku arhitekturu ne zavzhdi rozglyadayut yak modifikovanu Garvardsku Chitannya z pam yati instrukcij specialni komandi mozhut kopiyuvati vmist pam yati instrukcij u pam yat danih U vipadku konstant takih yak pi chi tekstovi dani sho ne budut zminyuvatisya mozhlive takozh zberezhennya yih pryamo u pam yati instrukcij bez kopiyuvannya u pam yat danih Zapis u pam yat instrukcij potribna dlya mozhlivosti zmini programi Napriklad mikrokontroleri zazvichaj mayut mozhlivit zapisu programi u flesh pam yat Arhitektura pam yat danih yak instrukciyi Deyaki procesori Garvardskoyi arhitekturi taki yak MAXQ mozhut vikonuvati instrukciyi z bud yakogo segmenta pam yati Vidminnist vid fon Nejmanivskoyi arhitekturi polyagaye v tomu sho taki procesori mozhut chitati instrukciyu i dani odnochasno yaksho voni roztashovuyutsya u riznih segmentah Ce ye mozhlivim zavdyaki tomu sho procesor maye yak minimum dvi nezalezhnih aparatnih shini dlya chitannya adres i danih vidpovidno Pri programuvanni slid zauvazhuvati sho chitannya danih z togo zh samogo segmentu de vikonuyuyetsya potochnij kod ne mozhe buti zdijsnene vodnochas z vikonannyam instrukciyi Suchasne zastosuvannya modifikovanoyi Garvardskoyi arhitekturiKesh pam yat suchasnih procesoriv zokrema kesh pershogo rivnya zazvichaj rozdilena na okremi chastini dlya komand i dlya danih Isnuyut takozh procesori sho mozhut vvazhatisya garvardskimi u najbilsh suvoromu sensi programa i dani znahodyatsya u riznih adresnih prostorah modifikovani lishe z metoyu mozhlivosti zapisu programi u pam yat yak poslidovnosti bajtiv danih Dlya prikladu instrukciyi LPM Load Program Memory i SPM Store Program Memory u kontrolerah Atmel AVR realizuyut taku modifikaciyu Shozhi rishennya zastosovani i v inshih mikroprocesorah takih yak PIC i i u bagatoh cifrovih signalnih procesorah napriklad vid Texas Instruments Cherez te sho vikonannya programi suvoro limitovane okremim adresnim prostorom taki procesori duzhe neshozhi na tradicijni fon Nojmanivski Rozdileni adresni prostori stvoryuyut pevni nezruchnosti pri programuvanni na movah visokogo rivnya Ne vsi kompilyatori pidtrimuyut model de dani lishe dlya chitannya roztashovuyutsya v absolyutno inshomu adresnomu prostori i yak naslidok vimagayut osoblivih instrukcij dlya chitannya v porivnyanni z danimi na chitannya i na zapis Kompilyatori z movi C sho pidtrimuyut rozdileni adresni prostori roblyat ce abo za dopomogoyu nestandartnih rozshiren abo cherez mehanizmi sho lishe neshodavno stav standartom Dzherela Arhiv originalu za 17 kvitnya 2020 Procitovano 16 sichnya 2018 PDF Application note Atmel June 2004 Arhiv originalu PDF za 19 bereznya 2015 Procitovano 29 sichnya 2015 Catsoulis John 2005 Designing Embedded Hardware Create New Computers and Devices s 329 MAXQ Family User s Guide nedostupne posilannya Sections 1 2 Harvard Memory Architecture and 2 5 Pseudo Von Neumann Memory Access Konark Goel et al About MAXQ GCC port 4 bereznya 2016 u Wayback Machine Div takozhArhitektura fon Nejmana Arhitektura potokiv danih Arhitektura z rozvinutimi zasobami interpretaciyi Paralelna arhitektura EOM Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi