Różnica między Von Neumann i Harvard Architecture

Istnieją dwa rodzaje cyfrowych architektur komputerowych, które opisują funkcjonalność i implementację systemów komputerowych. Jednym z nich jest architektura von Neumanna zaprojektowana przez znanego fizyka i matematyka Johna von Neumanna pod koniec lat 40. XX wieku, a druga to architektura Harvarda oparta na oryginalnym komputerze przekaźnikowym Harvarda Marka I, który wykorzystywał oddzielne systemy pamięci do przechowywać dane i instrukcje.

Oryginalna architektura Harvarda służyła do przechowywania instrukcji na perforowanej taśmie i danych w licznikach elektromechanicznych. Architektura Von Neumann stanowi podstawę nowoczesnego przetwarzania i jest łatwiejsza do wdrożenia. W tym artykule omówiono osobno obie architektury komputerów i wyjaśniono różnicę między nimi.

Czym jest architektura von Neumanna?

Jest to teoretyczny projekt oparty na koncepcji komputerów z zapisanymi programami, w których dane programu i dane instrukcji są przechowywane w tej samej pamięci.

Architekturę zaprojektował znany matematyk i fizyk John Von Neumann w 1945 roku. Do czasu koncepcji projektu komputerowego von Neumanna maszyny komputerowe były zaprojektowane do jednego określonego celu, który nie byłby skomplikowany z powodu ręcznego okablowania obwodów.

Ideą architektur Von Neumann jest możliwość przechowywania instrukcji w pamięci wraz z danymi, na których działają instrukcje. Krótko mówiąc, architektura Von Neumann odnosi się do ogólnej struktury, którą powinien przestrzegać sprzęt komputerowy, programowanie i dane.

Architektura Von Neumann składa się z trzech różnych komponentów: jednostki centralnej (CPU), jednostki pamięci oraz interfejsów wejścia / wyjścia (I / O). Procesor jest sercem systemu komputerowego, który składa się z trzech głównych elementów: jednostki arytmetycznej i logicznej (ALU), jednostki sterującej (CU) i rejestrów.

ALU odpowiada za wykonywanie wszystkich operacji arytmetycznych i logicznych na danych, podczas gdy jednostka sterująca określa kolejność przepływu instrukcji, które należy wykonać w programach, wysyłając sygnały sterujące do sprzętu.

Rejestry to zasadniczo tymczasowe miejsca przechowywania, w których przechowywane są adresy instrukcji, które należy wykonać. Jednostka pamięci składa się z pamięci RAM, która jest główną pamięcią używaną do przechowywania danych programu i instrukcji. Interfejsy I / O pozwalają użytkownikom komunikować się ze światem zewnętrznym, takim jak urządzenia pamięci masowej.

Co to jest architektura Harvarda?

Jest to architektura komputerowa z fizycznie oddzielnymi ścieżkami pamięci i sygnałów dla danych programu i instrukcji. W przeciwieństwie do architektury Von Neumann, która wykorzystuje pojedynczą magistralę zarówno do pobierania instrukcji z pamięci, jak i przesyłania danych z jednej części komputera do drugiej, architektura Harvard ma oddzielną przestrzeń pamięci na dane i instrukcje.

Obie koncepcje są podobne, z wyjątkiem sposobu dostępu do pamięci. Ideą architektury Harvarda jest podzielenie pamięci na dwie części - jedną na dane, a drugą na programy. Warunki zostały oparte na oryginalnym komputerze z przekaźnikiem Harvard Mark I, w którym zastosowano system, który umożliwiałby zarówno przesyłanie danych, jak i przesyłanie instrukcji w tym samym czasie.

Rzeczywiste projekty komputerów oparte są na zmodyfikowanej architekturze Harvarda i są powszechnie stosowane w mikrokontrolerach i DSP (Digital Signal Processing).

Różnica między Von Neumann i Harvard Architecture

Podstawy architektury von Neumanna i Harvarda

Architektura Von Neumann to teoretyczny projekt komputerowy oparty na koncepcji przechowywanego programu, w którym programy i dane są przechowywane w tej samej pamięci. Koncepcja została zaprojektowana przez matematyka Johna von Neumanna w 1945 roku i która obecnie stanowi podstawę prawie wszystkich współczesnych komputerów. Architektura Harvard została oparta na oryginalnym modelu komputerowym Harvard Mark I opartym na przekaźniku, w którym zastosowano oddzielne magistrale dla danych i instrukcji.

System pamięci architektury von Neumanna i Harvarda

Architektura Von Neumann ma tylko jedną magistralę, która jest używana zarówno do pobierania instrukcji, jak i przesyłania danych, a operacje muszą być zaplanowane, ponieważ nie można ich wykonać w tym samym czasie. Z drugiej strony architektura Harvarda ma oddzielną przestrzeń pamięci dla instrukcji i danych, która fizycznie oddziela sygnały i pamięć dla kodu i pamięci danych, co z kolei umożliwia dostęp do każdego systemu pamięci jednocześnie.

Przetwarzanie instrukcji architektury von Neumanna i Harvarda

W architekturze von Neumanna jednostka przetwarzająca potrzebowałaby dwóch cykli zegara do wykonania instrukcji. Procesor pobiera instrukcję z pamięci w pierwszym cyklu i dekoduje ją, a następnie dane są pobierane z pamięci w drugim cyklu. W architekturze Harvarda jednostka przetwarzająca może wykonać instrukcję w jednym cyklu, jeśli istnieją odpowiednie strategie dotyczące potokowania.

Koszt architektury von Neumanna i Harvarda

Ponieważ instrukcje i dane wykorzystują ten sam system magistrali w architekturze Von Neumann, upraszcza projektowanie i rozwój jednostki sterującej, co ostatecznie obniża koszty produkcji do minimum. Opracowanie jednostki sterującej w architekturze Harvarda jest droższe niż poprzednia ze względu na złożoną architekturę, która wykorzystuje dwie magistrale do instrukcji i danych.

Wykorzystanie architektury von Neumanna i Harvarda

Architektura Von Neumann jest używana głównie na każdym komputerze, który widzisz - od komputerów stacjonarnych i notebooków po komputery o wysokiej wydajności i stacje robocze. Architektura Harvarda to dość nowa koncepcja stosowana głównie w mikrokontrolerach i cyfrowym przetwarzaniu sygnałów (DSP).

Von Neumann vs. Harvard Architecture: Tabela porównawcza

Podsumowanie architektury von Neumanna vs. architektura Harvarda

Architektura Von Neumann jest podobna do architektury Harvarda, z tym wyjątkiem, że wykorzystuje pojedynczą magistralę do wykonywania zarówno pobierania instrukcji, jak i przesyłania danych, więc operacje muszą być zaplanowane. Z drugiej strony architektura Harvarda wykorzystuje dwa osobne adresy pamięci dla danych i instrukcji, co umożliwia jednoczesne podawanie danych do obu magistral. Złożona architektura zwiększa jednak tylko koszt opracowania jednostki sterującej w porównaniu z niższym kosztem opracowania mniej złożonej architektury Von Neumann, która wykorzystuje jedną zunifikowaną pamięć podręczną.