Różnica między architekturą von Neumann i Harvard

Różnica między architekturą von Neumann i Harvard

Istnieją dwa rodzaje cyfrowych architektur komputerowych, które opisują funkcjonalność i implementację systemów komputerowych. Jednym z nich jest architektura von Neumann, która została zaprojektowana przez znanego fizyka i matematyka Johna von Neumanna pod koniec lat 40. XX wieku, a druga to architektura Harvarda, która była oparta na oryginalnym komputerze opartym na Harvard Mark I, który zastosował oddzielne systemy pamięci, aby to zrobić przechowuj dane i instrukcje.

Oryginalna architektura Harvarda używana do przechowywania instrukcji dotyczących uderzenia i danych w licznikach elektro-mechanicznych. Architektura von Neumann stanowi podstawę nowoczesnego obliczeń i jest łatwiejsza do wdrożenia. W tym artykule poszukuje dwóch architektur komputerowych indywidualnie i wyjaśnia różnicę między nimi.

Co to jest architektura von Neumann?

Jest to projekt teoretyczny oparty na koncepcji komputerów zapisanych programów, w których dane programu i instrukcje są przechowywane w tej samej pamięci.

Architektura została zaprojektowana przez znanego matematyka i fizyka Johna von Neumann w 1945 roku. Do czasu koncepcji projektowania komputera von Neumann, maszyny obliczeniowe zostały zaprojektowane w jednym z góry określonym celu, w którym brakuje wyrafinowania z powodu ręcznego przełączania 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 ramy.

Architektura von Neumann składa się z trzech odrębnych elementów: interfejs. CPU jest sercem systemu komputerowego, który składa się z trzech głównych komponentów: jednostki arytmetycznej i logicznej (ALU), jednostki sterującej (Cu) i rejestrów.

ALU jest odpowiedzialny za przeprowadzanie 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, wydając sygnały sterujące na sprzęt.

Rejestry to zasadniczo tymczasowe lokalizacje przechowywania, które przechowują 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 i instrukcji programu. Interfejsy we/wy 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 osobnymi ścieżkami przechowywania i sygnałów dla danych i instrukcji programu. W przeciwieństwie do architektury von Neumann, która wykorzystuje pojedynczą magistralię, aby pobierać instrukcje z pamięci i przesyłać dane z jednej części komputera do drugiej, architektura Harvard ma osobną przestrzeń pamięci dla danych i instrukcji.

Obie pojęcia są podobne, z wyjątkiem sposobu, w jaki uzyskują dostęp do wspomnień. Ideą architektury Harvarda jest podzielenie pamięci na dwie części - jedną dla danych, a drugą dla programów. Warunki były oparte na oryginalnym komputerze opartym na Harvard Mark I, który zastosował system, który umożliwiłby jednocześnie wykonanie danych i przelewów i instrukcji.

Projekty komputerowe w świecie rzeczywistym oparte są na zmodyfikowanej architekturze Harvarda i są powszechnie używane w mikrokontrolerach i DSP (cyfrowe przetwarzanie sygnału).

Różnica między architekturą von Neumann i Harvard

Podstawy architektury von Neumann i Harvard

Architektura von Neumann jest teoretycznym projektem komputerowym opartym 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 służy jako podstawa prawie wszystkich współczesnych komputerów. Architektura Harvarda była oparta na oryginalnym modelu komputerowym opartym na Harvard Mark I, który zastosował oddzielne magistrale danych i instrukcji.

System pamięci Von Neumann i Harvard Architecture

Architektura von Neumann ma tylko jedną magistralę, która jest używana zarówno do pobierania instrukcji, jak i transferów danych, a operacje muszą być zaplanowane, ponieważ nie można ich wykonywać w tym samym czasie. Z drugiej strony architektura Harvarda ma osobną przestrzeń pamięci dla instrukcji i danych, które fizycznie oddzielają sygnały i przechowywanie 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 Neumann i Harvard

W architekturze von Neumann jednostka przetwarzania potrzebowałaby dwóch cykli zegara, aby wypełnić instrukcję. 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 przetwarzania może wypełnić instrukcję w jednym cyklu, jeśli obowiązują odpowiednie strategie potokowe.

Koszt architektury von Neumann i Harvard

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 minimalnych. Rozwój jednostki sterującej w architekturze Harvarda jest droższy niż pierwsza ze względu na złożoną architekturę, która wykorzystuje dwa autobusy do instrukcji i danych.

Zastosowanie architektury von Neumann i Harvard

Architektura von Neumann jest używana głównie w każdym komputerze, od komputerów stacjonarnych i notatników po komputery o wysokiej wydajności i stacje robocze. Harvard Architecture to dość nowa koncepcja stosowana przede wszystkim w mikrokontrolerach i cyfrowym przetwarzaniu sygnałów (DSP).

Von Neumann vs. Architektura Harvarda: wykres porównawczy

Podsumowanie von Neumann vs. Architektura Harvarda

Architektura von Neumann jest podobna do architektury Harvarda, z wyjątkiem tego, że używa pojedynczej magistrali do wykonywania zarówno pobierania instrukcji, jak i transferów danych, więc operacje muszą być zaplanowane. Z drugiej strony architektura Harvarda wykorzystuje dwa osobne adresy pamięci do danych i instrukcji, co umożliwia podawanie danych do obu autobusów jednocześnie. Jednak złożona architektura tylko zwiększa koszt rozwoju jednostki sterującej w stosunku do niższych kosztów rozwoju mniej złożonej architektury von Neumann, która wykorzystuje pojedynczą zunifikowaną pamięć podręczną.