Swappa : Uni / Architettura di Von Neumann, Programmabilità, Indirizzamento
Creative Commons License

Torna alla pagina di Architettura degli elaboratori


Questa pagina è stata aggiornata GRAZIE agli appunti che AVETE INVIATO nel periodo di chiusura della sezione UniCrema!! È SERVITA A QUALCOSA, NO?! ;)

 :: Architettura di Von Neumann, Programmabilità, Indirizzamento ::

Architettura di Von Neumann

Con l'espressione architettura di von Neumann (o macchina di von Neumann) ci si riferisce a uno schema di progettazione di calcolatori elettronici che prende nome dal matematico John von Neumann.
Il modello di Von Neumann è quanto di più prossimo alla reale struttura di un calcolatore; può essere considerato (in via esemplificativa) il modello base di tutti i moderni calcolatori.
Lo schema si basa su quattro componenti fondamentali:

  1. CPU, che gestisce in modo sequenziale il sistema, coordina le attività degli altri dispositivi e preleva istruzioni di un programma dalla memoria, le decodifica e le esegue. Si divide a sua volta in:
    • Unità operativa, nella quale uno dei sottosistemi più rilevanti è l'ALU (Arithmetic Logic Unit)
    • Unità di controllo
  2. Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory). Contiene istruzioni e dati necessari per l’esecuzione del programma;
  3. interfaccia di I/O, consente alla cpu di dialogare con la periferica (mondo esterno), trasferendo informazioni;
  4. Bus, un canale che collega tutti i componenti fra loro.

Il funzionamento in sequenza della macchina di Von Neuman segue i seguenti passi:

Programmabilità

Per essere programmabile, la CPU deve scoprire i propri "compiti" volta per volta in modo tale da poter variare il proprio risultato sulle esigenze esterne. I "compiti":

Il contenitore che ci consente di scambiare le informazioni con la CPU di tante stringhe di bit che possa rispettandone i tempi di lavoro molto brevi è la cosiddetta MEMORIA DI LAVORO, un array di "celle" contenenti ciascuna una parola. La singola cella è individuata dal proprio indirizzo.

La CPU segnala alla memoria:

CPU e memoria si scambiano il contenuto della cella, secondo la direzione richiesta della CPU. La CPU svolge il ruolo Master, cioè decide quando e cosa fare e che tipo di trasferimento; la memoria subisce avendo un ruolo Slave, cioè deve rispondere alle richieste della CPU.
La CPU interagisce con il resto del mondo elettronico (memoria e interfacce) mediante una serie di linee parallele (BUS). Tipi di linee:

I numeri di linee (dimensioni del bus) sono correlati alle prestazioni della CPU.

Indirizzamento

I modi di indirizzamento sono le diverse modalità disponibili nel linguaggio macchina per recuperare i dati necessari all'esecuzione delle istruzioni macchina. Di seguito vedremo l'approccio adottato dalle macchine RISC.

La CPU LC-2 è una macchina RISC: il suo ISA (Instruction Set Architecture) è infatti costituito da istruzioni macchina che occupano ciascuna una sola cella di memoria (istruzioni a 16 bit, da cui la dimensione del registro IR: Instruction Register) e con codice operativo (opcode) di soli 4 bit. Ciò consente dunque di codificare solo 2^4=16 diverse istruzioni macchina.
L’approccio RISC è evidente anche nell’adozione di un numero limitato di modi di indirizzamento:

In base ai numeri di accessi alla memoria effettuati per recuperare i dati viene scelto un modo da utilizzare:


Torna alla pagina di Architettura degli elaboratori

(Printable View of http://www.swappa.it/wiki/Uni/ArchitetturaDiVonNeumannProgrammabilit%e0Indirizzamento)