T&T - Informatica

 

Architettura Harvard


Architettura Harvard

Alcuni tra i primi sistemi di elaborazione dati sono stati realizzati secondo le teorie fondate da  Neumann (1903 - 1957), detta architettura di von Neumann.

 

Essa prevede che le varie componenti del sistema siano interconnesse tra di loro attraverso un bus.

Questo bus potrà essere comune a dati e indirizzi, ma anche suddiviso in due parti, una certa quantità di linee per i dati e altre linee per gli indirizzi; e comprendere anche bus o sezioni di bus contenenti i segnali di controllo e sincronismo del colloquio tra le varie componenti.

Questa struttura è comune a gran parte dei sistemi a microprocessore. 

Gli elementi fondamentali dell' architettura di von Neumann sono:

  1. l' unità centrale, o CPU (Central Processor Unit) di cui fanno parte
    • L' ALU (Aritmethic Logic Unit) preposta all' esecuzione delle operazioni logico-aritmetiche
    • il sistema di controllo che gestisce il flusso delle operazioni (sincronismi, Program Counter, ecc)
  2. Una unità di memoria, che può comprendere la memoria di lavoro (RAM - Random Access Memory), la memoria programmai, eventuali firmware su chip (ad esempio i BIOS), memoria non vaolatile, ecc
  3. Unità periferiche che permettono la ricezione di dati dall' esterno (input) e l' emissione dei risultati dell' elaborazione (output) e di cui fanno parte anche le memorie di massa (dischi, nastri, ottici, ecc)
  4. Il BUS, ovvero il sistema di interconnessioni che unisce le varie parti

Questa architettura ha la caratteristica di immagazzinare all'interno dell'unità di memoria sia i dati sia il codice dei programmi in esecuzione.
Il fatto di dovere accedere alla memoria programma e a quella dati su un unico canale di interconnessione può costituire un collo di bottiglia: l' esecuzione di una istruzione richiede almeno due cicli macchina.

Questa schematizzazione è molto sintetica, in quanto il modello originale, risalente agli anni '30 è stato soggetto di ampi sviluppi: anche i moderni personal computer sono progettati secondo l'architettura Von Neumann.

Nei microcontrollori, e in particolare nei PIC, invece, è stata scelta una differente struttura, quella elaborata alla Harvard University.

 

L'architettura è di tipo Harvard dispone di bus separati per dati e periferiche e un' altro per le istruzioni.

Quindi, la gestione della memoria dati e delle istruzioni avviene su circuiti separati. L' unità centrale può effettuare un accesso ai due bus contemporaneamente e, sfruttando sistemi di pipeline, si può eseguire una istruzione per ogni ciclo macchina.

I due bus possono avere ampiezze diverse: ad esempio, nei PIC con bus dati a 8 bit, il bus istruzioni può essere ampio 12, 14 o 16 bit.

Questa struttura si presenta come la più adeguata a macchine RISC.

Però, l'aumento di velocità viene compensato dalla presenza di circuiti più complessi all'interno del processore. Risulta quindi adatta a sistemi embedded, dove le interconnessioni e le logiche di controllo fanno parte di un unico substrato, più che a sistemi a schede inseriti su bus esterni.

Una nota particolare va fatta a riguardo dell' architettura RISC: la struttura di una istruzione RISC contiene oltre al significato dell' istruzione stessa anche l'indirizzo di memorizzazione o di salto o il dato
In queste condizioni, onde non far crescere l'ampiezza del bus istruzioni (costo e complessità), la memoria può essere segmentata in pagine e banchi. Per cambiare segmento o banco in uso occorre agire su appositi registri, fatto che complica la programmazione dei PIC nell' uso di linguaggio Assembly.
Questo problema è meno sentito nel caso di impiego di linguaggi di alto livello, che possono integrare meccanismi automatici di gestione delle pagine e dei banchi, oppure di Macro Assembler che permettono di implementare meccanismi analoghi.

Questo problema pagine/banchi è presente nei PIC delle famigli Base-line e Mid-range, mentre è attenuato o irrilevante in quelle successive.
E questa è una ragione per cui consigliamo di iniziare la sperimentazione sui PIC partendo dai PIC18F e non dai PIC16F.


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 07/05/11.