Vai alla Home Page About me Courseware Federica Virtual Campus 3D Gli eBook di Federica
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Valeria Vittorini » 2.Introduzione al modello di von Neumann


Fondamenti di informatica

Introduzione al modello di von Neumann

Sommario

  • Elaborazione
  • Algoritmo
  • Macchina
  • Modello architetturale
  • Il Modello di Von Neumann

Informatica

Dal Dizionario Garzanti della lingua Italiana:

  • Dal fr. informatique, tratto da infor(mation) (autom)atique “informazione automatica”
  • Definizione: s. f. scienza che studia l’informazione e, più specificamente, l’elaborazione dei dati e il loro trattamento automatico mediante elaboratori elettronici.

Siamo dunque interessati in questo corso a studiare l’elaborazione automatica delle informazioni:

  • Cosa si intende per Elaborazione?
  • Come è possibile automatizzarla? (e quindi quale macchina può eseguire automaticamente una elaborazione?)
  • Cosa si intende in questo contesto per Informazione e Dati?

Il concetto di “Elaborazione”

Y=F(X)

X: insieme dei dati iniziali
Y: insieme dei dati finali
F: regola di trasformazione dei dati (da X a Y)

  • F è un procedimento costituito da un insieme di azioni elaborative che vanno eseguite secondo un definito ordine per ottenere la trasformazione desiderata.
  • Un’azione elaborativa può essere semplice (atomica) o complessa (da decomporre in azioni elaborative più semplici).
  • La semplicità o la complessità di una azione elaborativa dipende dall’esecutore.

NOTA: In questo contesto una azione elaborativa è una attività che produce un effetto sui dati su cui opera. Una definizione più formale di azione elaborativa verrà introdotta nella prossima lezione mediante il concetto di stato.

Il concetto di algoritmo

Un algoritmo è una sequenza finita di azioni elaborative (o di “passi di elaborazione”) che risolve automaticamente un problema.

  • Sequenza: le azioni elaborative vengono eseguite una alla volta secondo un ordine stabilito
  • Finita: numero finito di azioni elaborative (passi) ciascuna delle quali si realizza in un tempo finito
  • Automaticamente: a) esiste una macchina che può eseguirlo e b) la macchina una volta avviata è in grado di evolvere da sola realizzando la elaborazione

Il procedimento descritto dall’algoritmo è deterministico: la sequenza è rigidamente fissata e niente è lasciato al caso.

NOTA: Quello qui introdotto è un concetto informale di algoritmo. Una definizione formale verrà data in seguito alla trattazione della macchina di Turing.

L’elaboratore

L’elaboratore: una macchina in grado di eseguire algoritmi.

  • Mark I: il primo calcolatore moderno della storia, realizzato ad Harvard negli anni 1937-1944.
  • Nel 1946 John Von Neumann terrà il primo corso internazionale sui calcolatori presso l’Università di Pennsylvania.

Modello Architetturale

  • Con il termine architettura si intende l’organizzazione dell’elaboratore in parti (o componenti, o unità) e l’interconnessione tra di esse.
  • Esistono diverse categorie di calcolatori che differiscono per dimensioni, potenza di calcolo, numero di utilizzatori, tipologia di utilizzo, costo…
  • Il modello (*) base per la maggior parte dei calcolatori (con alcune significative eccezioni) è quello di Von Neumann.

(*) Un modello è una rappresentazione astratta di una entità (oggetto, fenomeno, comportamento, sistema…) oggetto di studio e di analisi. Esistono diversi tipi di modelli, che si differenziano anche in base agli strumenti utilizzati per descriverli (ad esempio modelli matematici, modelli simulativi, modelli operazionali, …).

Il Modello di Von Neumann

Il Modello di macchina di Von Neumann

  • Unità di Ingresso per l’acquisizione dei dati e dei programmi(*) e per il loro trasferimento in memoria.
  • Unità di Memoria per la registrazione sia dei dati che delle istruzioni del programma.
  • Unità di Controllo che presiede a tutte le operazioni, interpreta le istruzioni prelevate dalla memoria e ne guida l’esecuzione inviando appositi segnali alle altre unità.
  • Unità Aritmetico-Logica (ALU), dedicata alla esecuzione delle operazioni aritmetiche e logiche.
  • Unità di Uscita per il trasferimento all’esterno dei risultati presenti in memoria.

(*) Un programma è una descrizione formalizzata dell’algoritmo da eseguire. Il concetto di programma verrà ripreso più avanti nel corso.

Esempio: Algoritmo ed Elaborazione

  • Realizzare un algoritmo che dati due numeri interi a e b, calcoli il loro prodotto (res = a * b).
  • I valori di a e b devono essere letti da tastiera e il risultato viene stampato a video.
  • Ipotizziamo inoltre che l’unica operazione che l’ALU esegue sia l’addizione.

L’elaborazione secondo il modello di Von Neumann

In linea di principio:

  • Il programma ed i dati su cui esso opera devono trovarsi in memoria.
  • Il programma viene prelevato dall’unità di ingresso e registrato in memoria (fase di caricamento o loading).
  • La lettura dei dati su cui opera è una delle operazioni prevista dal programma, pertanto la registrazione in memoria dei dati avviene nella fase successiva.
  • Le azioni elaborative descritte dal programma vengono eseguite dall’unità di controllo con l’ausilio delle altre unità (fase di esecuzione o running).

Lo schema descritto è estremamente sintetico e ad alto livello e verrà approfondito durante tutto il corso.

Macchina di Von Neumann


Materiali di studio

B. Fadini, C. Savy: Fondamenti di Informatica I, Liguori Editore: Parte1, Capitolo 1, par. 1, 2, 3, 12

I materiali di supporto della lezione

B. Fadini, C. Savy: Fondamenti di Informatica I, Liguori Editore: Parte1, Capitolo 1, par. 1, 2, 3, 12

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93