Harvard Architecture Pochodzenie, model, jak to działa
- 1313
- 219
- Eliasz Dubiel
Architektura Harvarda Jest to konfiguracja komputerowa, w której dane i instrukcje programu znajdują się w osobnych komórkach, które można rozwiązać niezależnie.
Oznacza to, że jest to termin używany dla systemu komputerowego, który zawiera dwa oddzielne obszary: dla poleceń lub instrukcji i danych. Dlatego główną funkcją tej architektury jest osobne przechowywanie danych, dostarczanie różnych tras sygnałowych dla instrukcji i danych.
Źródło: Nessa Los - Own Work, CC przez -sa 3.0, Commons.WikimediaW tej architekturze zarówno format, jak i media tych dwóch segmentów systemu mogą być nierówne, ponieważ obie strony składają się z dwóch oddzielnych struktur.
Niektóre przykłady architektur Harvarda obejmują pierwsze systemy komputerowe, w których instrukcje programu mogą znajdować się w medium, na przykład w perforowanych kartach, a przechowywane dane mogą znajdować się w innym medium, na przykład w taśmach magnetycznych.
[TOC]
Aplikacje
Ten rodzaj architektury ma szeroką aplikację w produktach do przetwarzania wideo i audio. Z każdym narzędziem do przetwarzania wideo i dźwięku można zauważyć figurę architektury Harvarda.
Urządzenia analogowe procesory Blackfin to szczególne urządzenie, w którym osiągnęło swoje główne zastosowanie. W innych produktach opartych na układach elektronicznych architektura Harvard jest również szeroko stosowana.
Jednak większość komputerów używa architektury von Neumann i używa pamięci podręcznej procesora, aby osiągnąć nakładanie się.
Pochodzenie
Prace wykonane na Uniwersytecie Harvarda w latach 40. XX wieku pod przewodnictwem Howarda Aikena stworzyły oryginalny komputer oparty na przekaźnikach o nazwie Harvard Mark I, który jest terminem, z którego powstaje koncepcja architektury Harvarda.
Ten komputer wykorzystywał oddzielne jednostki pamięci do przechowywania danych i instrukcji. Następnie nastąpił znaczący rozwój tej architektury.
Aiken poprosił o użycie osobnych wspomnień do danych i instrukcji programu, z osobnymi autobusami dla każdego.
Oryginalna architektura Harvarda zwykle przechowywała instrukcje w perforowanych taśmach i danych w licznikach elektromechanicznych.
Przechowywanie danych tych pierwszych maszyn było całkowicie w środkowej jednostce przetwarzania. Z drugiej strony nie dali dostępu, aby instrukcje były przechowywane jako dane. Operator musiał załadować programy.
Architektura Harvarda może przetwarzać dane i jednocześnie wykonywać instrukcje, ponieważ każdy z nich ma własną magistralę adresową.
Model
Ten model charakteryzuje się, że magistrali informacyjne i przechowywanie są fizycznie oddzielone dla danych i kodu programu.
Może ci służyć: kompozytowe maszynyPonieważ autonomicznie działają autonomicznie, dane programu i instrukcje można uzyskać jednocześnie, poprawiając prędkość unikalnego projektu magistrali.
Dlatego model Harvarda ma mieć większą złożoność. Jednak niezależne unikanie autobusów unikające wąskie gardło wyprodukowane przez architekturę von Neumann.
Komputer może być szybszy dla obwodu określonej złożoności, ponieważ szukanie instrukcji i dostęp do danych nie musi walczyć o jedną magistralę pamięci.
Do pracy są dwa adresy pamięci. Dlatego istnieje rekord pamięci dla instrukcji maszynowych i inny rekord pamięci dla danych.
W przeciwieństwie do architektury von Neumann, która wykorzystuje autobus do przenoszenia zarówno instrukcji, jak i danych pamięci, Harvard Architecture wykorzystuje obszar pamięci do danych, a inna do instrukcji.
Zmodyfikowana architektura Harvarda
W obecnych komputerach nie ma rozpadu obszarów pamięci używanych przez programy i dane. Z tego powodu można powiedzieć, że technologicznie mają architekturę von Neumann.
Jednak zmodyfikowana architektura Harvarda służy dziś reprezentowaniu dzisiejszych komputerów.
Chociaż aktualne jednostki przetwarzania udostępniają pamięć, mają pewne elementy, takie jak instrukcje wyłączne, które uniemożliwiają dane w instrukcjach. Nazywa się to zmodyfikowaną architekturą Harvarda.
Zatem zmodyfikowana architektura Harvarda ma dwa oddzielne magistrary, jeden dla kodu i jeden dla danych, ale sama pamięć jest elementem udostępnionym fizycznie.
Kontroler pamięci jest miejscem, w którym opiera się zmiana, ponieważ to urządzenie jest tym, które zarządza pamięcią i jak należy go używać.
Projekty nowoczesnych komputerów są obsługiwane przez zmodyfikowaną architekturę Harvarda. Są używane w mikrokontrolerach i cyfrowym przetwarzaniu sygnałów.
Jak działa architektura Harvarda?
Architektura Harvard ma różne obszary adresów pamięci dla programu i danych.
Powoduje to możliwość zaprojektowania obwodu w taki sposób, aby do obsługi przepływu informacji z pamięci programu można użyć magistrali i obwodu sterowania.
Korzystanie z oddzielnych magistrali oznacza, że możliwe jest, że odzyskiwanie i wykonywanie programu jest przeprowadzane bez żadnej przerwy przez sporadyczne przesyłanie danych do pamięci danych.
Może ci służyć: 10 elementów ważniejszego komputeraNa przykład w prostej wersji tej architektury jednostka odzyskiwania programu może zostać zajęta poprzez odzyskanie następującej instrukcji w sekwencji programu i równolegle przeprowadzić operację przesyłania danych, która mogła być częścią poprzedniej instrukcji programu.
Na tym poziomie Harvard Architecture ma ograniczenie, ponieważ na ogół nie jest możliwe umieszczenie kodu programu w pamięci danych i stamtąd wykonanie go.
Dodatki w architekturze
Do prostej formy architektury Harvarda można dodać wiele istniejących wariantów większych komplikacji.
Powszechnym dodatkiem jest dodanie pamięci podręcznej instrukcji do magistrali danych programu, która umożliwia jednostkę wykonania instrukcji dla szybszego dostępu do następnego etapu programu, bez konieczności przejścia do wolniejszej pamięci, aby uzyskać krok programu Za każdym razem, gdy jest to wymagane.
Adresy pamięci
Komputer z architekturą Harvarda ma różne obszary adresów danych i instrukcje: Adres jeden z instrukcji nie jest tym samym obszarem, co adres jeden z danych.
Adres jeden z instrukcji może zawierać wartość dwudziestu czterech bitów, podczas gdy adres jeden z danych może wskazywać na ośmibitowy bajt, który nie jest częścią tej wartości dwudziestu czterech bitów.
System pamięci
Ponieważ masz osobny obszar pamięci dla instrukcji i danych, oddzielenie zarówno sygnałów i pamięci w kodzie i pamięci danych, umożliwia jednocześnie dostęp do każdego z systemów pamięci.
Zalety
- Istnieje mniej możliwości uszkodzenia w transmisji, ponieważ dane i instrukcje są przesyłane przez różne magistrali.
- Dostęp do danych i instrukcji w ten sam sposób.
- Umożliwia różne nośniki pamięci dla instrukcji i danych. Na przykład możesz umieścić instrukcje dotyczące ekonomicznego ROM i danych w drogim pamięci RAM.
- Dwa wspomnienia mogą korzystać z różnych rozmiarów komórek, co skutecznie wykorzystuje zasoby.
- Istnieje wyższa przepustowość pamięci, która jest bardziej przewidywalna dla oddzielnych wspomnień dla instrukcji i danych.
Poziom ochrony
W systemach, które nie mają jednostki administracji pamięci, oferuje dodatkowy poziom ochrony, ponieważ danych nie można wykonać tak, jakby były to kod, co naraziłoby system na wiele problemów, takich jak przepełnienie bufora.
Może Ci służyć: oprogramowanie komercyjneDlatego jest popularny w przypadku małych zintegrowanych systemów, takich jak mikrofal lub zegar.
Wyższa prędkość
Architektura Harvard może odczytać instrukcję, a także zapewnić dostęp do pamięci danych jednocześnie z szybką prędkością.
Oferuje wyższą wydajność, ponieważ pozwala przechowywać jednoczesne uzyskiwanie danych i instrukcji w osobnych wspomnieniach i podróżować przez różne autobusy.
Architektura Harvarda na ogół pomoże komputerowi o pewnym poziomie złożoności, aby funkcjonować szybciej niż architektura von Neumann, pod warunkiem, że nie jest konieczne udostępnianie zasobów między wspomnieniami danych a kodem.
Jeśli ograniczenia pinów lub innych czynników wymuszają użycie pojedynczej magistrali w celu uzyskania dostępu do obu przestrzeni pamięci, takie zalety prawdopodobnie zostaną unieważnione w dużej mierze.
Niedogodności
Większa złożoność i koszt
Problem z architekturą Harvarda jest jego wielka złożoność i koszt, ponieważ zamiast magistrali danych potrzebne są teraz dwa.
Produkcja komputera z dwoma autobusami jest znacznie droższa i zajmuje więcej czasu. Wymaga jednostki sterującej dwóch autobusów, co jest bardziej skomplikowane i którego rozwój jest drogi i wymaga więcej czasu.
Oznacza to bardziej złożoną wdrożenie dla producentów. Wymaga więcej pinów na procesorze, bardziej złożonej płyty głównej i konieczności podwojenia układów pamięci RAM, a także bardziej złożonej konstrukcji pamięci podręcznej.
Niewielkie użycie
Architektura Harvarda nie jest wiele używana, więc trudniej jest wdrożyć. Dlatego rzadko jest używany poza procesorem.
Jednak ta architektura jest czasem używana w CPU do radzenia sobie z wzgórzami.
Niewłaściwe użycie przestrzeni pamięci
Gdy w pamięci danych jest wolna przestrzeń, nie można go używać do przechowywania instrukcji i odwrotnie.
Dlatego konkretne wspomnienia, które są poświęcone każdemu z nich, muszą być starannie zrównoważone w swojej produkcji.
Bibliografia
- Różnice w listach (2019). Różnica między architekturą von Neumann i Harvard? Zaczerpnięte z: Listdifferences.com.
- Magazyn PC (2019). Definicja: architektury Harvarda. Zaczerpnięte z: PCMAG.com.
- Ravepedia (2019). Architektura Harvarda. Zaczerpnięte z: Ravepedia.com.
- Scott Thornton (2018). Jaka jest różnica między architekturami von-neumann i Harvard? Wskazówki mikrokontrolera. Zaczerpnięte z: mikrokontrolerty.com.
- Wikipedia, The Free Encyclopedia (2019). Architektura Harvarda. Zaczerpnięte z: w.Wikipedia.org.
- Szalony programista (2019). Różnica między architekturą von Neumann i Harvard. Zaczerpnięte z: thecrazProgrammer.com.
- « Charakterystyczne sieci, typy, zalety i wady
- Charakterystyka odżywiania heterotrofów, etapy, typy, przykłady »