Origine dell'architettura di Harvard, modello, come funziona

1281
Robert Johnston

Il Architettura di Harvard è una configurazione del computer in cui i dati e le istruzioni di un programma si trovano in celle di memoria separate, che possono essere indirizzate in modo indipendente. 

Cioè, è il termine usato per un sistema informatico che contiene due aree separate: per i comandi o le istruzioni e per i dati. Pertanto, la funzione principale di questa architettura è quella di memorizzare i dati fisicamente separati, fornendo percorsi di segnale diversi per le istruzioni e i dati..

Fonte: da Nessa los - Opera propria, CC BY-SA 3.0, commons.wikimedia

In questa architettura, sia il formato che il supporto di questi due segmenti del sistema possono essere diversi, poiché le due parti sono costituite da due strutture separate..

Alcuni esempi di architetture di Harvard riguardano i primi sistemi informatici, in cui le istruzioni del programma potevano essere su un supporto, ad esempio, su schede perforate, e i dati memorizzati potrebbero essere su un altro supporto, ad esempio su nastri magnetici..

Indice articolo

  • 1 Applicazioni
  • 2 Origine
  • 3 Modello
    • 3.1 Architettura di Harvard modificata
  • 4 Come funziona l'architettura di Harvard??
    • 4.1 Aggiunte in architettura
    • 4.2 Indirizzi di memoria
    • 4.3 Sistema di memoria
  • 5 vantaggi
    • 5.1 Livello di protezione
    • 5.2 Maggiore velocità
  • 6 Svantaggi
    • 6.1 Maggiore complessità e costo
    • 6.2 Poco utile
    • 6.3 Uso improprio dello spazio di memoria
  • 7 Riferimenti

Applicazioni

Questo tipo di architettura ha un'ampia applicazione nei prodotti di elaborazione video e audio. Con ogni strumento per elaborare video e audio, sarai in grado di vedere la figura dell'architettura di Harvard.

I processori Blackfin di Analog Devices sono il particolare dispositivo in cui ha trovato il suo utilizzo principale. In altri prodotti basati su chip elettronici, anche l'architettura di Harvard è ampiamente utilizzata.

Tuttavia, la maggior parte dei computer utilizza l'architettura von Neumann e utilizza cache della CPU per ottenere una sovrapposizione.

fonte

Il lavoro svolto presso l'Università di Harvard negli anni '40 sotto la guida di Howard Aiken ha creato un computer basato su relè originale, chiamato Harvard Mark I, che è il termine da cui è nato il concetto di architettura di Harvard..

Questo computer utilizzava unità di memoria separate per memorizzare dati e istruzioni. Poi c'è stato uno sviluppo significativo con questa architettura.

Aiken ha incoraggiato l'uso di memorie separate per i dati e per le istruzioni del programma, con bus separati per ciascuna..

L'architettura originale di Harvard in genere memorizzava istruzioni su nastri perforati e dati su contatori elettromeccanici..

La memorizzazione dei dati di queste prime macchine era interamente all'interno dell'unità di elaborazione centrale. D'altra parte, non hanno dato accesso alle istruzioni da memorizzare come dati. Un operatore doveva caricare i programmi.

Un'architettura di Harvard può elaborare dati ed eseguire istruzioni allo stesso tempo, poiché ognuna di esse ha il proprio bus di indirizzi.

Modello

Questo modello è caratterizzato dal fatto che i bus di informazioni e la memoria sono fisicamente separati per i dati e il codice del programma..

Poiché i bus funzionano in modo autonomo, è possibile ottenere contemporaneamente dati e istruzioni di programma, migliorando così la velocità rispetto al design a bus singolo..

Pertanto, il modello di Harvard risulta essere più complesso. Tuttavia, avere gli autobus in modo indipendente evita il collo di bottiglia prodotto dall'architettura von Neumann.

Un computer può essere più veloce per un circuito di una certa complessità, perché la ricerca di istruzioni e l'accesso ai dati non devono lottare per un singolo bus di memoria.

Per funzionare ci sono due indirizzi di memoria. Pertanto, esiste un registro di memoria per le istruzioni della macchina e un altro registro di memoria per i dati..

A differenza dell'architettura von Neumann, che utilizza un bus per spostare sia le istruzioni che i dati in memoria, l'architettura di Harvard utilizza un'area di memoria per i dati e un'altra per le istruzioni..

Architettura di Harvard modificata

Nei computer odierni non c'è disintegrazione fisica delle aree di memoria utilizzate da programmi e dati. Per questo, si potrebbe dire che tecnologicamente hanno un'architettura Von Neumann.

Tuttavia, l'architettura modificata di Harvard serve a rappresentare al meglio i computer odierni..

Sebbene le attuali unità di elaborazione condividano la memoria, hanno alcuni elementi, come istruzioni uniche, che impediscono ai dati di confondersi con le istruzioni. Questa è chiamata architettura di Harvard modificata..

Pertanto, l'architettura di Harvard modificata ha due bus separati, uno per il codice e uno per i dati, ma la memoria stessa è un elemento fisicamente condiviso..

Il controller di memoria è dove si trova il cambiamento, perché questo dispositivo è quello che gestisce la memoria e come dovrebbe essere utilizzato.

I progetti di computer moderni sono supportati dall'architettura di Harvard modificata. Utilizzato nei microcontrollori e nell'elaborazione del segnale digitale.

Come funziona l'architettura di Harvard?

L'architettura di Harvard ha aree di indirizzi di memoria differenti per il programma e per i dati.

Ciò si traduce nella capacità di progettare un circuito in modo tale che un bus e un circuito di controllo possano essere utilizzati per gestire il flusso di informazioni dalla memoria del programma e uno separato per gestire il flusso di informazioni alla memoria di dati..

L'uso di bus separati significa che è possibile recuperare ed eseguire un programma senza essere interrotto dal trasferimento occasionale di dati alla memoria dati..

Ad esempio, in una versione semplice di questa architettura, l'unità di ripristino del programma potrebbe essere impegnata a recuperare l'istruzione successiva nella sequenza del programma e in parallelo eseguire un'operazione di trasferimento dati che avrebbe potuto far parte dell'istruzione del programma precedente..

A questo livello, l'architettura di Harvard ha una limitazione, poiché generalmente non è possibile inserire il codice del programma nella memoria dati ed eseguirlo da lì.

Aggiunte in architettura

Molte varianti esistenti più complicate possono essere aggiunte alla forma semplice dell'architettura di Harvard..

Un'aggiunta comune è l'aggiunta di una cache delle istruzioni al bus dati del programma, che consente all'unità di esecuzione dell'istruzione di accedere più rapidamente alla fase successiva del programma, senza dover passare a una memoria più lenta per raggiungere la fase del programma ogni volta che è. necessario.

Indirizzi di memoria

Un computer con architettura Harvard ha diverse aree di indirizzi di dati e istruzioni: l'indirizzo di istruzione uno non è la stessa area dell'indirizzo di dati uno.

L'indirizzo di istruzione uno potrebbe contenere un valore di ventiquattro bit, mentre l'indirizzo di dati uno potrebbe indicare un byte di otto bit, che non fa parte di quel valore di ventiquattro bit..

Sistema di memoria

Poiché esiste un'area di memoria separata per istruzioni e dati, separando sia i segnali che la memoria di memoria del codice e dei dati, ciò rende possibile accedere simultaneamente a ciascuno dei sistemi di memoria..

Vantaggio

- C'è meno possibilità di danneggiamento nella trasmissione, poiché i dati e le istruzioni vengono trasferiti attraverso bus diversi.

- Ai dati e alle istruzioni si accede allo stesso modo.

- Consente diversi supporti di memorizzazione per istruzioni e dati. Ad esempio, puoi inserire le istruzioni in una ROM economica e i dati in una RAM costosa..

- Le due memorie possono utilizzare celle di dimensioni diverse, facendo un uso efficace delle risorse.

- Ha una larghezza di banda di memoria maggiore, che è più prevedibile avendo memorie separate per istruzioni e dati..

Livello di protezione

Nei sistemi che non dispongono di un'unità di gestione della memoria, offre un ulteriore livello di protezione, poiché non sarà possibile avviare l'esecuzione dei dati come se fosse codice, il che esporrebbe il sistema a numerosi problemi, come l'overflow del buffer.

Questo è il motivo per cui è popolare con piccoli sistemi incorporati, come un forno a microonde o un orologio..

Maggiore velocità

L'architettura di Harvard può leggere un'istruzione e anche eseguire l'accesso alla memoria dati simultaneamente a una velocità elevata.

Offre maggiori prestazioni, poiché permette di ottenere contemporaneamente dati e istruzioni salvandoli in memorie separate e viaggiando su bus differenti.

Un'architettura di Harvard generalmente aiuterà un computer con un certo livello di complessità a funzionare più velocemente di un'architettura Von Neumann, purché non sia necessario condividere risorse tra dati e memorie di codice..

Se le limitazioni dei pin o altri fattori costringono l'uso di un singolo bus per accedere a entrambi gli spazi di memoria, è probabile che tali vantaggi vengano ampiamente annullati.

Svantaggi

Maggiore complessità e costo

Il problema con l'architettura di Harvard è la sua grande complessità e costo perché, invece di un bus di dati, ora sono necessari due.

La produzione di un computer a due bus è molto più costosa e richiede tempo. Richiede un'unità di controllo per due bus, che è più complicata, lunga e costosa da sviluppare.

Ciò significa un'implementazione più complessa per i produttori. Richiede più pin sulla CPU, una scheda madre più complessa e la necessità di duplicare i chip RAM, oltre a un design della cache più complesso.

Poco utile

L'architettura di Harvard non è ampiamente utilizzata, rendendo più difficile l'implementazione. Questo è il motivo per cui viene utilizzato raramente al di fuori della CPU.

Tuttavia, questa architettura viene talvolta utilizzata all'interno della CPU per gestire le sue cache..

Uso improprio dello spazio di memoria

Quando c'è spazio libero nella memoria dati, non può essere utilizzato per memorizzare istruzioni e viceversa.

Pertanto, i ricordi particolari che sono dedicati a ciascuno di essi devono essere attentamente bilanciati nella loro fabbricazione..

Riferimenti

  1. Elenco differenze (2019). Differenza tra Von Neumann e Harvard Architecture? Tratto da: listdifferences.com.
  2. PC Magazine (2019). Definizione di: architettura di Harvard. Tratto da: pcmag.com.
  3. Techopedia (2019). Architettura di Harvard. Tratto da: ceilingpedia.com.
  4. Scott Thornton (2018). Qual è la differenza tra le architetture Von-Neumann e Harvard? Suggerimenti per microcontrollore. Tratto da: microcontrollertips.com.
  5. Wikipedia, l'enciclopedia libera (2019). Architettura di Harvard. Tratto da: en.wikipedia.org.
  6. The Crazy Programmer (2019). Differenza tra Von Neumann e Harvard Architecture. Tratto da: thecrazyprogrammer.com.

Nessun utente ha ancora commentato questo articolo.