Architettura di Harvard
Il Gennaio 24, 2022 da adminGCSE Computer Architecture (14-16 anni)
- Una presentazione della lezione in PowerPoint modificabile
- Documenti di revisione modificabili
- Un glossario che copre le terminologie chiave del modulo
- Mappe tematiche per visualizzare i concetti chiave
- Schede flash stampabili per aiutare gli studenti a impegnarsi nel richiamo attivo e nella ripetizione basata sulla fiducia
- Un quiz con relativa chiave di risposta per verificare la conoscenza e la comprensione del modulo
A-Level Le caratteristiche dei processori contemporanei (16-18 anni)
- Una presentazione della lezione in PowerPoint modificabile
- Documenti di revisione modificabili
- Un glossario che copre le terminologie chiave del modulo
- Mappe tematiche per visualizzare i concetti chiave
- Schede flash stampabili per aiutare gli studenti a impegnarsi nel richiamo attivo e nella ripetizione basata sulla fiducia
- Un quiz con relativa chiave di risposta per testare la conoscenza e la comprensione del modulo
INTRODUZIONE
I microcontrollori usano generalmente due tipi di architettura.
- Architettura di Von Neumann
- Architettura di Harvard
L’architettura di Von Neumann consiste in unità di controllo, unità aritmetica e LOGICA, ingresso/uscita e registri.
Nell’architettura di Von Neumann, che è usata da molti microcontrollori, lo spazio di memoria è sullo stesso bus e quindi le istruzioni e i dati intendono usare la stessa memoria. Utilizza il concetto di computer a programma memorizzato.
L’architettura Harvard è composta da unità logica aritmetica, memoria dati, ingresso/uscita, memoria dati, memoria istruzioni e unità di controllo.
L’architettura Harvard ha una memoria separata per dati e istruzioni. In questo modo, sia le istruzioni che i dati possono essere recuperati allo stesso tempo, rendendolo così comodo per gli utenti.
Nell’architettura Harvard, le istruzioni sono usate nella memoria di sola lettura e i dati sono usati nella memoria di lettura-scrittura.
L’architettura Harvard è usata soprattutto con la CPU, ma a volte è usata con la memoria principale perché è un po’ complessa e costosa.
Le dimensioni della memoria per le istruzioni e i dati sono diverse nel caso dell’architettura Harvard. I programmi non possono mai essere eseguiti automaticamente e l’organizzazione della memoria non è nelle mani dell’utente. Possiamo esaminare le varie caratteristiche dell’Architettura Harvard in questo articolo.
ESEMPI DI ARCHITETTURA HARVARD
Un esempio di Architettura Harvard sono i primi sistemi Mainframe di computer dove le istruzioni sono memorizzate in un supporto di programmazione come le schede perforate e i dati sono memorizzati nell’altro [supporto di programmazione come i nastri. I risultati dell’Architettura Harvard sono le loro immagini corrispondenti.
Anche le macchine di flusso di dati e le macchine di riduzione sono esempi di Architettura Harvard. Esse mostrano un alto tasso di parallelismo che significa che i risultati dei dati e delle istruzioni possono essere ottenuti allo stesso tempo.
Anche i computer Quantum possono essere citati come esempio di Architettura Harvard. La differenza tra gli altri computer e il computer Quantum è che il tempo che richiedono per completare un compito e l’ordine in cui danno priorità ai loro tempi.
Anche le macchine Enigma che furono usate nelle guerre mondiali seguono l’architettura Harvard,
Anche un altro esempio principale di architettura Harvard è il DIGITAL SIGNAL PROCESSOR, che dipende principalmente dal concetto di architettura Harvard. Vediamo come funziona il DSP in dettaglio.
PROCESSORE DI SEGNALE DIGITALE
- I processori di segnale digitale sono usati per lo streaming dei dati e sono usati per recuperare più istruzioni allo stesso tempo usando un’architettura di memoria specializzata e una memoria dati e programma separate.
- I DSP manipolano matematicamente le procedure prendendo aspetti del mondo reale come audio, video, voce, pressione e li digitalizzano.
- Sono anche usati per eseguire operazioni matematiche come addizione, sottrazione, moltiplicazione e divisione. L’elaborazione dei segnali è essenziale perché le informazioni che contengono devono essere visualizzate e analizzate in modo che possano essere convertite in un altro segnale, nel formato richiesto dagli utenti, in modo che lo trovino interessante.
- I convertitori analogici a digitali si occupano di convertire gli aspetti di cui sopra in segnali digitali in termini di 0 e 1. Il DSP poi prende il segnale digitalizzato e lo elabora.
- Prende i segnali digitalizzati e li converte di nuovo in segnali analogici usando il convertitore analogico-digitale rendendolo utile al mondo reale. La velocità con cui tutti questi processi avvengono è molto alta.
- Vediamo come funziona il Digital Signal Processor sui dispositivi Mp3. Generalmente prende gli input attraverso i ricevitori e li converte in un segnale digitale (sotto forma di 0 e 1) utilizzando un convertitore analogico-digitale. Dopo la fase di conversione, viene eseguita la codifica e il file codificato viene così salvato nella memoria.
- Poi viene la fase di decodifica, dove il file viene preso dalla memoria, convertito in segnali analogici utilizzando il convertitore digitale-analogico e, poi l’uscita viene ricevuta attraverso il sistema di altoparlanti. Questo è il processo che avviene nel dispositivo Mp3. Esegue anche funzioni complesse come il controllo del volume, la modifica delle frequenze e così via.
- Un DPS può essere usato dal computer per controllare cose come l’efficienza, la trasmissione, ecc. I segnali passano prima attraverso la fase di elaborazione e poi la fase di trasmissione. La teleconferenza utilizza segnali telefonici per trasmettere linee audio e video. La qualità dei segnali potrebbe essere manipolata o improvvisata per apparire meglio agli occhi dell’utente. Sarà invisibile agli occhi dell’utente. Esempio, cancellazione dell’eco sui telefoni.
- Anche se i segnali nel mondo reale possono essere elaborati in modo analogico, questi segnali elaborati digitalmente possono essere trasmessi ad alta velocità e sono molto accurati.
COMPONENTI ALL’INTERNO DI UN DSP
Il processore di segnali digitali consiste delle seguenti parti:
Memoria del programma:
Utilizza i dati elaborati e memorizza il programma nella memoria. È generalmente non volatile. In questa memoria di programma, viene utilizzata la memoria flash, dove la riprogrammazione è possibile utilizzando un’interfaccia hardware. E la memoria di programma generalmente usa il concetto di stack.
Memoria di dati:
La memoria di dati è chiamata memoria ad accesso casuale. È un luogo temporaneo per la memorizzazione di variabili e costanti durante l’esecuzione del programma. La quantità di memoria che è RAM, varia da un microcontrollore all’altro.
Motore di calcolo:
Esegue operazioni matematiche e raccoglie dati e programmi dai loro rispettivi posti. Raccoglie le istruzioni dalla memoria del programma e raccoglie anche i dati dalla memoria dei dati.
Input/Output:
La tecnica usata per trasferire dati da un dispositivo esterno e un microcontrollore è chiamata Input/Output. L’utente comunica con il microcontrollore attraverso l’Input/Output. Gli utenti inseriscono i loro dati attraverso la tastiera del dispositivo di input, e raccolgono l’output desiderato dalle stampanti del dispositivo esterno o dagli hard-disk. Questi dispositivi di input/output sono chiamati periferiche e sono i dispositivi più comuni che vengono usati nel sistema del microcontrollore.
ARCHITETTURA DEL PROCESSORE DI SEGNALI DIGITALI
ARCHITETTURA DEL SOFTWARE:
I set di istruzioni usati nel DSP sono irregolari. Mentre i set di istruzioni comuni sono usati nelle operazioni regolari di un computer, i set DSP sono usati in operazioni matematiche specializzate.
I programmi di assemblaggio sono generalmente messi in librerie per essere riutilizzati, invece, altre macchine usano metodi di compilazione per memorizzare algoritmi essenziali. Molti programmi usati in DSP sono generalmente scritti a mano, per facilitare la programmazione.
Le istruzioni dati includono varie operazioni come istruzioni aritmetiche, istruzioni booleane, istruzioni logiche e, istruzioni di flusso.
Il flusso del programma consiste in un’architettura pipeline e accumulatori multipli.
ARCHITETTURA HARDWARE:
L’architettura hardware consiste in componenti fisici di un sistema. Generalmente, forniscono lo spazio per altri sistemi da inserire nel dispositivo e valutano anche gli altri componenti software. Forniscono anche spazio per un uso efficace dei componenti software. Combinano i vari settori dell’ingegneria per lavorare insieme e sviluppare nuove macchine e architetture.
Tuttavia, dobbiamo renderci conto che i componenti hardware non possono funzionare correttamente senza l’aiuto dei componenti software. Se prendiamo un aereo moderno, per esempio, dobbiamo usare un codice software incorporato per farlo funzionare efficacemente.
ARCHITETTURA DELLA MEMORIA:
I processori di segnali digitali sono generalmente usati per l’esecuzione di dati e usano tecniche di memoria specializzate per recuperare dati e istruzioni separatamente su percorsi diversi (il concetto di architettura Harvard) e dati e istruzioni sono recuperati sullo stesso bus come usato nell’architettura Von Neumann.
La memoria a volte usa la memorizzazione nella cache per conoscere le operazioni in ritardo.
MEMORIA VIRTUALE:
I DSP generalmente non usano la memoria virtuale perché si basano su operazioni multi-tasking. Le operazioni che usano la memoria virtuale usano generalmente il concetto di commutazione di concetto che è provato che aumenta la latenza.
I DSP moderni
I processori di segnale digitale moderni danno risultati ancora migliori. Questo è dovuto al design a basso livello, alla cache avanzata ecc.
Ogni DSP può avere diverse velocità. Ci sono molti processori di segnale digitale con bassa velocità progettati per eseguire compiti specifici.
XMOS produce molti processori micro core. Sono facilmente programmabili usando il linguaggio C.
SEVA è il DSP moderno che usa la struttura MAC.
Analog Devices usa il sistema DSP basato su SHARC.
Microchip Technologies sono usati in PIC 24 immagini.
La maggior parte dei DSP usa valori aritmetici fissi. I DSP fluttuanti potrebbero diventare nulli in caso di valori dinamici. Molti progettisti di prodotti usano DSP fluttuanti, se pensano che il dispositivo debba essere conveniente e in cambio di un software affidabile per sistemi hardware costosi.
I moderni DSP sono generalmente usati in algoritmi facilmente implementabili.
PROS E CONSUMI DEI DSP
PROS:
- Sono altamente accurati. Le loro uscite hanno un’alta precisione rispetto ai dispositivi analogici.
- La riorganizzazione dei dispositivi analogici potrebbe risultare molto difficile. Nei processori di segnale digitale, è facile in quanto il codice viene flashato in pochi secondi, rendendolo così comodo agli utenti.
- Algoritmi di alto livello possono essere implementati utilizzando metodi specifici.
- I costi di implementazione nei processori di segnale digitale sono molto inferiori rispetto ai processori analogici.
- I DSP possono essere facilmente discesi rispetto agli altri processori.
- I DSP possono essere utilizzati anche offline, il che li rende accessibili per un facile trasporto.
CONS:
- È abbastanza complesso perché utilizza convertitori. ADC (convertitore analogico-digitale) e DAC (convertitore digitale-analogico).
- Ogni DSP ha dispositivi hardware e software separati. Quindi, i DSP non possono essere usati senza un’adeguata formazione.
- Per la trasmissione digitale è richiesta una maggiore larghezza di banda rispetto alla trasmissione analogica.
- I DSP devono essere usati con cautela perché sono molto costosi.
- Dobbiamo padroneggiare chiaramente i concetti in quanto l’unità di controllo che è presente è più complessa e riprogettare sarebbe un lavoro noioso.
FATTI SU HARVARD ARCHITECTURE
- Harvard Architecture accelera la velocità del processore. Dato che i dati e le istruzioni sono immagazzinati in bus separati, è molto vantaggioso per molti utenti.
- L’architettura Harvard segue la disposizione “Pipeline”. Se l’esecuzione di un’istruzione è in corso, l’altra istruzione viene recuperata dalla memoria. Questo permette la sovrapposizione delle istruzioni e quindi il tasso di esecuzione è aumentato considerevolmente.
- RISC (Reduced Instruction Set Computer) e CISC (Complex Instruction Set Computer) sono le metodologie utilizzate nell’architettura Harvard. Nel microcontrollore RISC i dati sono di 8 bit, mentre le istruzioni sono di 12 bit o 16 bit. Così, tutto viene eseguito alla volta con conseguente aumento delle prestazioni.
- In CISC sia i dati che le istruzioni sono larghe 8 bit. Hanno generalmente più di 200 istruzioni. Ma non possono essere eseguite alla volta, piuttosto vengono recuperate simultaneamente.
- L’unità di esecuzione consiste di 2 unità aritmetiche e logiche, 1 traslatore, 1 moltiplicatore, accumulatori, ecc. Così, possono eseguire operazioni aritmetiche in modo stabile e con un eccellente parallelismo.
- Molti microcontrollori usano anche Lookup Table. (LUT). Sono stati usati per scopi di modulazione.
VANTAGGI E DISAVANTAGGI DELL’ARCHITETTURA HARVARD
VANTAGGI:
- Da quando i dati e le istruzioni sono memorizzati in bus separati ci sono pochissime possibilità di corruzione.
- I dati che usano la modalità Read-Only e le istruzioni che usano la modalità Read-Write sono gestite nello stesso modo. Possono anche essere acceduti in modo simile.
- Generalmente, sarebbero presenti due memorie, una per i dati e l’altra per le istruzioni, hanno celle di dimensioni diverse che fanno un uso delle risorse molto efficace.
- La larghezza di banda che viene usata per la memoria è più prevedibile.
- In genere offrono alte prestazioni poiché dati e bus sono tenuti in memorie separate e viaggiano su bus diversi.
- L’accesso parallelo ai dati e alle istruzioni può essere mantenuto.
- La programmazione non sarebbe più necessaria poiché ci sono bus separati per dati e istruzioni.
- I programmatori possono progettare l’unità di memoria secondo i loro requisiti.
- L’unità di controllo riceve dati e istruzioni da una memoria. Così, semplifica l’architettura dell’unità di controllo.
Svantaggi:
- La memoria dati non occupata non può essere usata dalle istruzioni e la memoria istruzioni libera non può essere usata dai dati. La memoria dedicata ad ogni unità deve essere bilanciata attentamente.
- Il programma non può essere scritto dalla macchina da sola come nell’architettura Von Neumann.
- L’unità di controllo richiede più tempo per sviluppare ed è sul lato costoso.
- Ci sono 2 bus sull’architettura. Il che significa che la scheda madre sarebbe più complessa, che a sua volta significa che ci sarebbero due RAM e quindi tende ad avere un design della cache molto complesso. Questo è il motivo per cui viene usato principalmente all’interno della CPU e non all’esterno di essa.
- La produzione di un computer con 2 bus richiede più tempo per essere prodotto ed è di nuovo sul lato costoso come l’unità di controllo.
- Ha più pin sui suoi IC. Perciò, è molto difficile da implementare.
- Non è molto usato, perciò il suo sviluppo sarebbe in ritardo.
- Non rende la maggior parte dell’unità di elaborazione centrale, sempre.
SUMMARIO DELL’ARCHITETTURA HARVARD
- Basico: Si basa sul modello di computer Harvard I.
- Memoria: Ha una memoria separata per dati e istruzioni. Così, ogni sistema sulla memoria può essere acceduto simultaneamente.
- Elaborazione delle istruzioni: Nell’Architettura Harvard l’elaborazione delle istruzioni può essere completata in una singola fase se le pipeline sono nei loro posti appropriati.
- Costo: L’unità di controllo nell’architettura Harvard richiede più tempo per sviluppare ed è sul lato costoso.
- Usi: Sono usati principalmente nei microcontrollori e nei processori di segnali digitali.
Quindi, dovremmo scegliere di usare l’architettura Harvard se,
- Le istruzioni sono più ampie dei dati. In questo caso, se le istruzioni vengono elaborate separatamente, possono portare a un output più affidabile. Invece, se sono messe nella stessa cella con i dati, tendono a sovrapporsi causando così delle commissioni.
- Dovremmo guardare se le Cache sono di sola lettura. Questo perché se le Cache hanno l’opzione Lettura-Scrittura, questo potrebbe richiedere più tempo per il suo sviluppo e potrebbe anche essere complesso.
- Dovrebbero avere una larghezza di banda separata per una migliore ottimizzazione.
- Molto efficace in caso di “JIT”, Just in Time Compilers dove la pena di copia-incolla sarebbe offesa, la metaprogrammazione è presente e il codice auto-modificante è anche disponibile.
- Dove l’aspetto della programmazione sarebbe la preoccupazione principale. Perché con i microcontrollori sarebbe difficile progettare e sviluppare altre varianti poiché le schede madri al loro interno sarebbero complesse da capire e si rivelerebbero un compito tedioso nel complesso.
- I processori embedded possono essere sviluppati perché sono destinati ad avere caratteristiche che a loro volta promuovono il cross-talk su entrambi i lati, se hanno grandi larghezze di banda di memoria e collegamento di indirizzi piatto.
- Il concetto di stack è implementato. L’unità di indirizzo non dovrebbe diventare complicata poiché potrebbe dover eseguire almeno 2 percorsi in parallelo. Il contatore del programma e il puntatore dello stack sarebbero presenti. I registri che sono presenti nei puntatori possono essere incrementati o decrementati.
- Alcuni processori di segnale digitale usano il concetto “LIFO”. Last in First Out. Questo è anche chiamato stack hardware. In questo modo, possiamo spingere e far scoppiare lo stack più velocemente, quindi non richiede l’uso di bus di indirizzi.
CONCLUSIONE:
Quindi, abbiamo discusso dell’architettura Harvard in dettaglio. Abbiamo anche visto tutti i vantaggi e gli svantaggi dell’architettura Harvard. Sono stati discussi degli esempi per renderla più chiara agli occhi dell’utente. Quindi, dobbiamo assicurarci di padroneggiare completamente l’architettura per ottenere i migliori risultati. Dovremmo anche essere chiari su quale istanza dovremmo usare l’architettura Harvard e Von Neumann e fare un uso efficace di ciò che usiamo. Sentitevi liberi di postare qualsiasi commento e condividere anche i vostri suggerimenti per discutere di più!!!
- https://en.wikipedia.org/wiki/Harvard_architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://www.google.com/search?q=advantages+of+harvard+architecture&safe=strict&tbm=isch&source=iu&ictx=1&fir=sJHdbNlHdCfBnM%253A%252C3B-t13LzqLeqjM%252C_&vet=1&usg=AI4_-kQJCxwrxhCUXW7xWDgGIGpD3yUVAA&sa=X&ved=2ahUKEwinsPip1tfpAhVIwKQKHYUXCdsQ9QEwCnoECAUQHA#imgrc=g1JuuAOnXWWyKM&imgdii=jUPAKYHNfW-wyM
- https://www.sciencedirect.com/topics/engineering/harvard-architecture
Lascia un commento