# L'Architettura dei Computer e il Modello di Von Neumann Lo schema detto di von Neumann prende nome dal matematico e informatico John von Neumann. Elaborato inizialmente negli anni '40, esso rappresenta ancora oggi lo schema di riferimento per descrivere l'architettura generale interna di un computer (o più precisamente e in modo più generale di un microcalcolatore). Nella sua forma più semplice lo schema di von Neumann può essere così rappresentato: ![](/resources/funzionamento-del-computer//immagini/von-neumann.png) In sintesi, lo schema di von Neumann si basa sui seguenti concetti fondamentali: * I dati e i programmi **condividono** lo stesso sistema di **memoria**; * È presente **una sola unità di elaborazione**; * È eseguita **una sola istruzione per volta**. ## Componenti dell'Architettura Lo schema si compone delle seguenti unità: ### Processore ![CPU ++>](/resources/funzionamento-del-computer//immagini/cpu.png) È la parte del computer dedicata all’elaborazione dei dati, ed è coinvolto in tutte le attività del sistema ed è costituito da tre componenti: * **ALU** (Unità Aritmetico Logica): esegue le operazioni matematiche e logiche (addizione binaria, AND e OR) richieste dalle istruzioni; * **CU** (Control Unit): legge le istruzioni, le decodifica e prepara tutto il necessario per svolgerle. Si occupa dell’interazione con la memoria. * **Registri**: sono delle memorie molto veloci e con una capacità ridotta, costituiscono una memoria speciale (di supporto) per l’ALU poiché contengono le istruzioni di controllo necessarie per il suo funzionamento e i risultati temporanei delle elaborazioni. ### La Memoria di Lavoro (RAM) ![](/resources/funzionamento-del-computer//immagini/ram.png) La Memoria contiene i **dati** usati durante l’elaborazione e i **programmi** (istruzioni) e la sua capacità è espressa in multipli del Byte (vedremo bene cosa vuol dire). È chiamata Random Access Memory (Memoria ad accesso casuale) perché si può accedere a qualsiasi elemento in memoria in modo diretto (o casuale), cioè in qualsiasi ordine, senza dover scorrere tutti gli elementi precedenti. Questo a differenza delle memorie ad accesso sequenziale come Cassette, CD o Hard Disk. ### Bus di Sistema Serve per collegare processore e memoria per lo scambio di informazioni e dati e diverse periferiche possono essere collegate ad un computer attraverso il bus