La macchina di von Neumann Nella seconda metà degli anni ’40, un grande matematico, John von Neumann realizzò il primo calcolatore digitale programmabile. Egli lo costruì su un modello architetturale che ancora oggi rimane nella costruzione dei moderni elaboratori. Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro locazione, la definizione dei compiti delle parti e la descrizione delle relazioni tra di esse. Il modello architetturale si divide in tre principali blocchi: il primo è definito dalle periferiche di input, il secondo si divide in due altri blocchi (la memoria centrale e la CPU, costituita a sua volta dalla ALU e dalla CU), mentre il terzo è definito dalle periferiche di output. ALU PERIFERICHE DI INPUT CU CPU MEMORIA CENTRALE PERIFERICHE DI OUTPUT La memoria centrale All’ interno del microprocessore sono presenti tre livelli di dispositivi di memoria: -i registri della CPU, dotati di grande velocità ma di limitata capacità -la memoria centrale, dotata di una media velocità e discreta capacità -le memorie di massa, dotate di una velocità molto bassa unita a una grande capacità. Cache La cache è una memoria di piccole dimensione ed è molto veloce; essa è collocata tra la CPU e la memoria centrale o è installata all’interno del microprocessore. In essa sono contenuti i programmi che si prevede debbano essere utilizzati, così da velocizzare l’esecuzione dei programmi. La RAM La memoria RAM contiene il programma in esecuzione e i dati sui quali esso opera. RAM indica “memoria ad accesso casuale”, perché il tempo di accesso a qualsiasi parte della memoria è indipendente dalla posizione di essa. La RAM è contraddistinta da due caratteristiche: la volatilità, ovvero la perdita di memoria se viene meno l’alimentazione, e la possibilità di leggere e scrivere le locazioni di memoria. Affinchè la CPU possa lavorare sulla RAM, ogni byte è individuato da un indirizzo. La memoria è collegata alla CPU tramite il bus dati, che trasmette dati e istruzioni, il bus degli indirizzi, che comunica l’indirizzo della memoria sulla quale la CPU vuole lavorare, il bus di controllo che raggruppa i segnali di sincronizzazione e di controllo. 1 BYTE KILOBYTE MEGABYTE GIGABYTE TERABYTE 1024 BYTE 1.048.576 BYTE 1.073.741.824 BYTE 1.099.511.627.776 BYTE La ROM ROM sta per memoria di sola lettura. Questa memoria è permanente, infatti contiene il BIOS (Basic Input Output System). Esso è il software che costituisce il programma per utilizzare le risorse dell’elaboratore. Le attuali ROM non sono di sola lettura, infatti possono essere modificate quando sono necessari aggiornamenti al BIOS (Flash ROM) La CPU La CPU (Unità Centrale di Processo) è individuata dal microprocessore. Questo dispositivo esegue le istruzioni del programma in esecuzione, esegue calcoli, coordina e sincronizza i dispositivi ad esso collegati tramite i bus. La CPU è costituita da: ALU, CU e registri della CPU. I componenti della CPU L’ALU (Unità Aritmetico Logica) esegue i calcoli matematici e logici, che permettono l’esecuzione di operazioni complesse. La CU (Unità di Controllo), dopo aver lanciato il programma, reperisce nella memoria centrale l’istruzione corrente, la manda in esecuzione e attiva i segnali di controllo e di sincronismo verso i dispositivi coinvolti nell’operazione. L’esecuzione di un’istruzione in linguaggio macchina avviene attraverso il ciclo di fetch-decode-execute. I registri interni della CPU hanno la funzione di memorizzare i dati riguardanti gli operandi e i risultati delle istruzioni e i riferimenti alle locazioni di memoria centrale in cui si trovano gli operandi e i risultati.