Geneza architektury harwardzkiej, model, jak to działa

1647
Anthony Golden

Plik Architektura Harvardu to konfiguracja komputera, w której dane i instrukcje programu znajdują się w oddzielnych komórkach pamięci, do których można adresować niezależnie. 

Oznacza to, że jest to termin używany dla systemu komputerowego, który zawiera dwa oddzielne obszary: dla poleceń lub instrukcji oraz dla danych. Dlatego główną funkcją tej architektury jest przechowywanie danych fizycznie oddzielonych, zapewniając różne ścieżki sygnału dla instrukcji i danych..

Źródło: From Nessa los - Praca własna, CC BY-SA 3.0, commons.wikimedia

W tej architekturze zarówno format, jak i media tych dwóch segmentów systemu mogą być nierówne, ponieważ te dwie części składają się z dwóch oddzielnych struktur..

Niektóre przykłady architektur Harvardu obejmują wczesne systemy komputerowe, w których instrukcje programu mogą znajdować się na jednym nośniku, na przykład na kartach perforowanych, a dane przechowywane na innym nośniku, na przykład na taśmach magnetycznych..

Indeks artykułów

  • 1 Aplikacje
  • 2 Pochodzenie
  • 3 Model
    • 3.1 Zmodyfikowana architektura Harvardu
  • 4 Jak działa architektura Harvardu??
    • 4.1 Dodatki w architekturze
    • 4.2 Adresy pamięci
    • 4.3 System pamięci
  • 5 Zalety
    • 5.1 Poziom ochrony
    • 5.2 Wyższa prędkość
  • 6 Wady
    • 6.1 Większa złożoność i koszt
    • 6.2 Niewielkie użytkowanie
    • 6.3 Niewłaściwe wykorzystanie pamięci
  • 7 Referencje

Aplikacje

Ten typ architektury ma szerokie zastosowanie w produktach do przetwarzania obrazu i dźwięku. Z każdym narzędziem do przetwarzania wideo i audio będziesz mógł zobaczyć figurę architektury Harvardu.

Procesory Blackfin firmy Analog Devices to szczególne urządzenie, w którym znalazł swoje główne zastosowanie. W innych produktach opartych na chipach elektronicznych architektura Harvard jest również szeroko stosowana.

Jednak większość komputerów korzysta z architektury von Neumanna i wykorzystuje pamięć podręczną procesora, aby uzyskać nakładanie się.

Źródło

Prace wykonane na Uniwersytecie Harvarda w latach czterdziestych XX wieku pod kierownictwem Howarda Aikena stworzyły oryginalny komputer przekaźnikowy, nazwany Harvard Mark I, od którego wywodzi się koncepcja architektury Harvardu..

Ten komputer używał oddzielnych jednostek pamięci do przechowywania danych i instrukcji. Potem nastąpił znaczący rozwój tej architektury.

Aiken zachęcał do używania oddzielnych pamięci dla danych i instrukcji programowych, z oddzielnymi magistralami dla każdej z nich..

Oryginalna architektura Harvardu zazwyczaj przechowywała instrukcje na taśmach perforowanych i dane na licznikach elektromechanicznych..

Przechowywanie danych tych wczesnych maszyn odbywało się w całości w jednostce centralnej. Z drugiej strony nie dali dostępu do instrukcji, które miały być przechowywane jako dane. Operator musiał załadować programy.

Architektura Harvardu może jednocześnie przetwarzać dane i wykonywać instrukcje, ponieważ każda z nich ma własną szynę adresową.

Model

Model ten charakteryzuje się tym, że magistrale informacyjne i pamięć są fizycznie oddzielone dla danych i kodu programu..

Ponieważ autobusy działają autonomicznie, dane i instrukcje programowe mogą być uzyskiwane w tym samym czasie, zwiększając w ten sposób prędkość w porównaniu z projektem pojedynczej magistrali..

Dlatego model Harvard okazuje się bardziej złożony. Jednak posiadanie autobusów niezależnie pozwala uniknąć wąskiego gardła spowodowanego architekturą von Neumanna.

Komputer może być szybszy dla obwodu o pewnej złożoności, ponieważ szukanie instrukcji i uzyskiwanie dostępu do danych nie musi walczyć o pojedynczą magistralę pamięci.

Do pracy są dwa adresy pamięci. Dlatego istnieje rejestr pamięci dla instrukcji maszynowych i inny rejestr pamięci dla danych..

W przeciwieństwie do architektury von Neumanna, która wykorzystuje magistralę do przenoszenia zarówno instrukcji, jak i danych w pamięci, architektura Harvardu wykorzystuje jeden obszar pamięci na dane, a inny na instrukcje..

Zmodyfikowana architektura Harvardu

W dzisiejszych komputerach nie ma fizycznej dezintegracji obszarów pamięci używanych przez programy i dane. Z tego powodu można powiedzieć, że technologicznie mają architekturę Von Neumanna.

Jednak zmodyfikowana architektura Harvardu najlepiej reprezentuje dzisiejsze komputery..

Chociaż obecne jednostki przetwarzające współużytkują pamięć, mają pewne elementy, takie jak unikalne instrukcje, które zapobiegają splątaniu danych z instrukcjami. Nazywa się to zmodyfikowaną architekturą Harvardu..

Tak więc zmodyfikowana architektura Harvardu ma dwie oddzielne magistrale, jedną dla kodu, a drugą dla danych, ale sama pamięć jest fizycznie współdzielonym elementem..

W kontrolerze pamięci znajduje się zmiana, ponieważ to urządzenie obsługuje pamięć i jak powinno być używane.

Nowoczesne projekty komputerowe są wspierane przez zmodyfikowaną architekturę Harvardu. Stosowany w mikrokontrolerach i cyfrowym przetwarzaniu sygnałów.

Jak działa architektura Harvardu?

Architektura Harvardu ma różne obszary adresowe pamięci dla programu i danych.

Skutkuje to możliwością zaprojektowania obwodu w taki sposób, aby magistrala i obwód sterujący mogły być wykorzystane do obsługi przepływu informacji z pamięci programu oraz oddzielnego do obsługi przepływu informacji do pamięci danych..

Zastosowanie oddzielnych magistral oznacza, że ​​możliwe jest pobranie i wykonanie programu bez przerywania go przez okazjonalne przesyłanie danych do pamięci danych..

Na przykład, w prostej wersji tej architektury, jednostka odtwarzania programu mogłaby być zajęta pobieraniem następnej instrukcji w sekwencji programu i równoległym wykonywaniem operacji transferu danych, która mogłaby być częścią poprzedniej instrukcji programu..

Na tym poziomie architektura Harvardu ma pewne ograniczenia, ponieważ generalnie nie jest możliwe umieszczenie kodu programu w pamięci danych i wykonanie go stamtąd.

Dodatki w architekturze

Do prostej formy architektury Harvardu można dodać wiele bardziej skomplikowanych istniejących wariantów..

Powszechnym dodatkiem jest dodanie pamięci podręcznej instrukcji do szyny danych programu, co pozwala jednostce wykonawczej na szybszy dostęp do następnego kroku w programie, bez konieczności przechodzenia do wolniejszej pamięci, aby dostać się do kroku. Programu za każdym razem wymagany.

Adresy pamięci

Komputer o architekturze Harvard ma różne obszary adresów danych i instrukcji: adres instrukcji jeden nie jest tym samym obszarem, co adres danych.

Adres instrukcji jeden może zawierać wartość dwudziestoczterobitową, podczas gdy adres danych jeden może wskazywać bajt ośmiobitowy, który nie jest częścią tej dwudziestoczterobitowej wartości..

System pamięci

Ponieważ istnieje oddzielny obszar pamięci dla instrukcji i danych, oddzielający zarówno sygnały, jak i przechowywanie kodu i danych w pamięci, umożliwia to jednoczesny dostęp do każdego z systemów pamięci..

Korzyść

- Istnieje mniejsze prawdopodobieństwo uszkodzenia transmisji, ponieważ dane i instrukcje są przesyłane różnymi magistralami.

- Dostęp do danych i instrukcji odbywa się w ten sam sposób.

- Umożliwia przechowywanie instrukcji i danych na różnych nośnikach. Na przykład możesz umieścić instrukcje w niedrogiej pamięci ROM, a dane w drogiej pamięci RAM..

- Dwie pamięci mogą wykorzystywać różne rozmiary komórek, efektywnie wykorzystując zasoby.

- Ma wyższą przepustowość pamięci, co jest bardziej przewidywalne dzięki oddzielnym pamięciom na instrukcje i dane..

Poziom ochrony

W systemach, które nie posiadają jednostki zarządzającej pamięcią, zapewnia dodatkowy poziom ochrony, ponieważ nie będzie możliwe rozpoczęcie wykonywania danych tak, jakby były kodem, co naraziłoby system na liczne problemy, takie jak przepełnienie bufora.

Dlatego jest popularny w małych systemach wbudowanych, takich jak kuchenka mikrofalowa lub zegar..

Wyższa prędkość

Architektura Harvardu może czytać instrukcje, a także wykonywać dostęp do pamięci danych jednocześnie z dużą prędkością.

Oferuje większą wydajność, ponieważ umożliwia jednoczesne uzyskiwanie danych i instrukcji poprzez zapisywanie ich w oddzielnych pamięciach i podróżowanie różnymi autobusami.

Architektura Harvardu zazwyczaj pomaga komputerowi o pewnym stopniu złożoności działać szybciej niż architektura Von Neumanna, o ile nie jest konieczne współdzielenie zasobów między pamięcią danych i kodu..

Jeśli ograniczenia pinów lub inne czynniki wymuszają użycie pojedynczej magistrali w celu uzyskania dostępu do obu przestrzeni pamięci, takie zalety prawdopodobnie zostaną w dużej mierze zniweczone.

Niedogodności

Większa złożoność i koszt

Problem z architekturą Harvardu polega na jej dużej złożoności i kosztach, ponieważ zamiast jednej magistrali danych potrzebne są teraz dwie.

Wytwarzanie komputera z dwoma magistralami jest znacznie droższe i bardziej czasochłonne w produkcji. Wymaga jednostki sterującej dla dwóch autobusów, która jest bardziej skomplikowana, czasochłonna i kosztowna w opracowaniu.

Oznacza to bardziej złożoną implementację dla producentów. Wymaga większej liczby pinów na procesorze, bardziej złożonej płyty głównej i konieczności duplikowania układów pamięci RAM, a także bardziej złożonej konstrukcji pamięci podręcznej.

Niewielkie użytkowanie

Architektura Harvardu nie jest szeroko stosowana, co utrudnia jej wdrożenie. Dlatego rzadko jest używany poza procesorem.

Jednak ta architektura jest czasami używana w procesorze do obsługi jego pamięci podręcznych..

Niewłaściwe wykorzystanie przestrzeni pamięci

Gdy w pamięci danych jest wolne miejsce, nie można go używać do przechowywania instrukcji i odwrotnie.

Dlatego poszczególne wspomnienia, które są dedykowane każdemu z nich, muszą być starannie wyważone podczas ich wytwarzania..

Bibliografia

  1. Lista różnic (2019). Różnica między architekturą von Neumanna a architekturą Harvardu? Zaczerpnięte z: listdifferences.com.
  2. Magazyn PC (2019). Definicja: architektura Harvardu. Zaczerpnięte z: pcmag.com.
  3. Techopedia (2019). Architektura Harvardu. Zaczerpnięte z: sufitpedia.com.
  4. Scott Thornton (2018). Jaka jest różnica między architekturą Von-Neumanna i Harvardu? Wskazówki dotyczące mikrokontrolera. Zaczerpnięte z: microcontrollertips.com.
  5. Wikipedia, wolna encyklopedia (2019). Architektura Harvardu. Zaczerpnięte z: en.wikipedia.org.
  6. Szalony programista (2019). Różnica między Von Neumanna i Harvard Architecture. Zaczerpnięte z: thecrazyprogrammer.com.

Jeszcze bez komentarzy