Von Neumann i Harvard Architecture

Anonim

Istnieją dwa rodzaje cyfrowych architektur komputerowych, które opisują funkcjonalność i implementację systemów komputerowych. Jedną 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 Harvardu, która opierała się na oryginalnym komputerze opartym na przekaźniku Harvard Mark I, który wykorzystywał oddzielne systemy pamięci do przechowuj dane i instrukcje.

Oryginalna architektura Harvardu służąca do przechowywania instrukcji na perforowanej taśmie i danych w licznikach elektromechanicznych. Architektura Von Neumanna stanowi podstawę nowoczesnej technologii komputerowej i jest łatwiejsza do wdrożenia. W tym artykule omówiono dwie architektury komputerów indywidualnie i wyjaśniono różnice między nimi.

Czym jest architektura Von Neumann?

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

Architektura została zaprojektowana przez znanego matematyka i fizyka Johna Von Neumanna w 1945 roku. Do koncepcji komputerowego projektowania Von Neumann, maszyny obliczeniowe zostały zaprojektowane dla pojedynczego, z góry określonego celu, który byłby pozbawiony wyrafinowania ze względu na ręczne ponowne okablowanie obwodów.

Ideą architektury Von Neumann jest możliwość przechowywania instrukcji w pamięci wraz z danymi, na których działają instrukcje. W skrócie, architektura Von Neumanna odnosi się do ogólnej struktury, w której powinien się znajdować sprzęt, programowanie i dane komputera.

Architektura Von Neumanna 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 komponentów: jednostki arytmetyczno-logicznej (ALU), jednostki sterującej (CU) i rejestrów.

Jednostka logiczna jest odpowiedzialna za wykonywanie wszystkich operacji arytmetycznych i logicznych na danych, podczas gdy jednostka sterująca określa kolejność przepływu instrukcji, które muszą być wykonywane w programach poprzez wysyłanie sygnałów sterujących do sprzętu.

Rejestry są w zasadzie tymczasowymi lokalizacjami przechowywania, które przechowują adresy instrukcji, które muszą być wykonane. 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 umożliwiają użytkownikom komunikację ze światem zewnętrznym, takim jak urządzenia pamięci masowej.

Czym jest architektura Harvard?

Jest to architektura komputerowa z fizycznie oddzielnymi pamięciami i ścieżkami sygnałowymi dla danych programu i instrukcji. W przeciwieństwie do architektury Von Neumanna, która wykorzystuje pojedynczą magistralę do pobierania instrukcji z pamięci i przesyłania danych z jednej części komputera do drugiej, architektura Harvard ma oddzielne miejsce w pamięci dla danych i instrukcji.

Obie koncepcje są podobne, z wyjątkiem sposobu, w jaki uzyskują dostęp do wspomnień. Ideą architektury Harvard jest podzielenie pamięci na dwie części - jedną dla danych i drugą dla programów. Warunki były oparte na oryginalnym komputerze opartym na przekaźniku Harvard Mark I, który wykorzystywał system, który pozwalałby na jednoczesne wykonywanie zarówno danych, jak i transferów oraz pobrań instrukcji.

Prawdziwe projekty komputerowe świata są oparte na zmodyfikowanej architekturze Harvardu i są powszechnie używane w mikrokontrolerach i procesorze DSP (Digital Signal Processing).

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

Podstawy architektury von Neumanna i Harvarda

Architektura Von Neumanna jest teoretycznym projektem komputerowym opartym na koncepcji zapisanego 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 obecnie stanowi podstawę niemal wszystkich współczesnych komputerów. Architektura Harvardu opierała się na oryginalnym modelu komputerowym opartym na przekaźniku Harvard Mark I, który wykorzystywał oddzielne szyny danych i instrukcji.

System pamięci architektury von Neumanna i Harvarda

Architektura Von Neumanna ma tylko jedną magistralę, która jest wykorzystywana zarówno do pobierania instrukcji, jak i do przesyłania danych, a operacje muszą być zaplanowane, ponieważ nie mogą być wykonywane w tym samym czasie. Z drugiej strony architektura Harvardu ma oddzielną pamięć dla instrukcji i danych, które fizycznie oddzielają sygnały i pamięć dla pamięci kodu i danych, co z kolei umożliwia jednoczesny dostęp do każdego z systemów pamięci.

Opracowanie instrukcji Von Neumann i architektury Harvarda

W architekturze Von Neumanna jednostka przetwarzająca potrzebuje dwóch cykli zegara, aby ukończyć 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 Harvardu jednostka przetwarzająca może ukończyć instrukcje w jednym cyklu, jeśli zastosuje się odpowiednie strategie pipeliningu.

Koszt Von Neumann i Harvard Architecture

Ponieważ instrukcje i dane wykorzystują ten sam system magistrali w architekturze Von Neumann, upraszcza to projektowanie i rozwój jednostki sterującej, co ostatecznie obniża koszty produkcji do minimum. Rozwój jednostki sterującej w architekturze Harvardu jest droższy od pierwszego ze względu na złożoną architekturę, która wykorzystuje dwa autobusy do instrukcji i danych.

Wykorzystanie architektury Von Neumanna i Harvarda

Architektura Von Neumanna jest używana głównie w każdym komputerze, który widzisz, od komputerów stacjonarnych i notebooków po wydajne komputery i stacje robocze. Architektura Harvard to dość nowa koncepcja stosowana głównie w mikrokontrolerach i cyfrowym przetwarzaniu sygnału (DSP).

Von Neumann vs. Harvard Architecture: Tabela porównawcza

Podsumowanie Von Neumann vs. Harvard Architecture

Architektura Von Neumanna jest podobna do architektury Harvardu, z tym, że wykorzystuje jedną magistralę do wykonywania zarówno pobrań instrukcji, jak i transferów danych, więc operacje muszą być zaplanowane. Z kolei architektura Harvard wykorzystuje dwa oddzielne adresy pamięci dla danych i instrukcji, co umożliwia jednoczesne przesyłanie danych do obu magistrali. Jednak złożona architektura tylko zwiększa koszty rozwoju jednostki sterującej w porównaniu z niższymi kosztami rozwoju mniej skomplikowanej architektury Von Neumanna, która wykorzystuje jedną ujednoliconą pamięć podręczną.