1
Una prima classificazione in base all'uso distingue tra computer general purpose ovvero
riprogrammabili per svariate applicazioni dall'utente e computer special purpose ovvero
sistemi embedded dedicati ad una sola applicazione specifica come ad esempio i
microcontrollori. Ci limitiamo ad osservare che i computer presenti sui diversi dispositivi
(ad esempio un telefonino, un videogioco o un personal computer) sono molto simili tra
loro e si differenziano essenzialmente per dimensioni, velocità, potenza di elaborazione, e
prezzo ma sono molto simili per quanto riguarda le tecnologie e i criteri di progettazione e
i linguaggi di programmazione utilizzabili.
1) Computer dedicati: Sono realizzati per specifiche applicazioni, quali possono essere le
console per i videogiochi o i dispositivi utilizzati nell’automazione industriale.
2
4) Mainframe: realizzano lo schema di elaborazione centralizzato, secondo il quale a un
elaboratore centralizzato, secondo il quale a un elaboratore centrale sono collegati un
grande numero di terminali (postazioni che hanno solamente monitor e tastiera e mouse),
500 e oltre, non dotati di capacità di calcolo autonoma, che devono interagire con la
macchina centrale per l’esecuzione dei programmi e la fruizione delle risorse.
Il più potente SuperComputer di oggi Tianhe-2 in Cina SuperComputer Cray-2 degli anni ‘80
Tianhe-2 è formato da 16.000 nodi, ognuno dei quali con due processori Intel Xeon basati su architettura
Ivy Bridge e tre coprocessori Xeon Phi per un totale di 48.000 coprocessori matematici Xeon Phi e 32.000
processori Intel Xeon E5-2600 v2 a 12 core. Complessivamente abbiamo 3.12 milioni di core, collegati tra
loro da un'interconnessione TH Express-2 realizzata dai tecnici cinesi. A bordo anche 1 petabyte di
memoria e il sistema operativo Kylin Linux. Potenza di calcolo 33 petaflops (cioè 33 mila miliardi di
operazioni al secondo).
3
LA MACCHINA DI VON NEUMANN
1) Unità centrale di elaborazione (CPU – Central Processing Unit). Esegue istruzioni per
l’elaborazione dei dati e svolge anche funzioni di controllo.
2) Memoria centrale. Memorizza e fornisce l’accesso a dati e programmi in esecuzione.
3) Periferiche di ingresso e uscita.
4) Bus. Svolge funzioni di trasferimento di dati e di informazioni di controllo tra le varie
componenti funzionali.
(1) CPU
4
Struttura della CPU
La CPU è il “cervello” del sistema ed in generale svolge le seguenti azioni:
Esegue in sequenza le istruzioni del programma in corso di esecuzione
Esegue i calcoli
Coordina e sincronizza tutte le attività dei dispositivi che costituiscono il computer e
che sono a essa collegati tramite BUS.
L’esecuzione di un’istruzione in linguaggio macchina avviene in una serie di passi nota come ciclo
di fetch-decode-execute che si compone delle seguenti fasi:
fase di fetch (prelievo dell’istruzione): l’istruzione in linguaggio macchina viene trasferito dalla RAM
all’interno della CPU
fase di decode (decodifica del codice operativo): attraverso il codice operativo dell’istruzione, che è una
sequenza di bit che indicano un’azione da seguire, la CU attiva i dispositivi coinvolti dall’istruzione
fase di execute (esecuzione dell’istruzione): la CPU preleva gli operandi (se ci sono), la ALU esegue i calcoli e
la CU memorizza l’eventuale risultato, se previsto.
L’orologio interno (clock) del microprocessore emette un segnale di sincronizzazione per tutto il
sistema e si misura in periodi al secondo (Hz). Ad esempio il ciclo di fetch dura 4 periodi di clock.
Caratteristiche di ogni µprocessore: Frequenza del clock: esempio 2,3 GHz. Ampiezza del
bus dati: 32 o 64 bit. Dimensione Memoria Cache.
5
Microprocessori AMD e Intel Intel 80286 dei primi anni ‘80
Esistono diverse tipologie di memoria centrale che differiscono per velocità e modalità di
accesso: la cache, la RAM e la ROM.
Caratteristiche:
possono essere accedute sia in lettura che in scrittura, infatti la denominazione più
corretta sarebbe RWM (Read-Write Memory)
sono volatili, cioè i dati memorizzati vengono persi allo spegnimento del calcolatore o
quando la RAM non è alimentata da corrente elettrica
Le DDR per il desktop sono a 240 pin, mentre le so-dimm per i notebook sono a 144 o 200 pin.
EPROM. Evoluzione della PROM ossia Erasable Programmable ROM. Può essere scritta e
riscritta dall'utente successivamente alla sua costruzione. La cancellazione dei dati per
l'operazione di riscrittura avviene mediante esposizione ai raggi UV.
EEPROM. Evoluzione della EPROM ossia Electrically EPROM. Può essere scritta e riscritta
dall'utente successivamente alla sua costruzione. La cancellazione dei dati per l'operazione
7
di riscrittura avviene elettricamente mediante tensioni più elevate (20-30 volt) rispetto a
quelle di funzionamento normale.
Flash ROM. Chiamata anche flash-memory è un tipo di eeprom che per le sue prestazioni
può essere usata anche come memoria di lettura-scrittura. La memoria flash visto che è
una memoria a stato solido, non presenta delle parti mobili, quindi è resistente agli urti ed
è estremamente leggera e piccola. La memoria flash è indicata per la sua trasportabilità
perché non richiede l'alimentazione elettrica per mantenere i dati. La memoria flash è
usata nelle pendrive e nei computer portatili o desktop al posto delle memorie di massa
(hard disk).
- La memoria cache (memoria ripostiglio) è una memoria più veloce della RAM, ma con una
capacità di memorizzazione molto più bassa. La memoria cache si trova tra la memoria
centrale e il microprocessore. Nella memoria cache viene mantenuta una copia delle
informazioni più richieste della memoria centrale. La gestione della memoria è trasparente
all'utente, cioè l'utente opera come se la memoria cache non ci fosse.
Si distinguono in:
(1) BUS Dati: È il bus sul quale transitano le informazioni. È usufruibile da tutti i
componenti del sistema, sia in scrittura sia in lettura. È bidirezionale (permette il
passaggio dati in più direzioni contemporaneamente).
(2) BUS Indirizzi: È il bus (unidirezionale) attraverso il quale la CPU decide in quale
indirizzo andare a scrivere o a leggere informazioni; sia le celle di memoria
(RAM) sia le periferiche di I/O (Input/Output) sono infatti divise in zone, ognuna
delle quali ha un dato indirizzo. Dopo aver comunicato l'indirizzo tramite questo
bus, la scrittura o lettura avviene normalmente tramite il bus dati. Naturalmente
questo bus è fruibile in scrittura solo dalla CPU ed in lettura dagli altri
componenti, in quanto tramite questo bus viene dato solo l'indirizzo della cella,
che è deciso dalla CPU.
(3) BUS Controlli: Il bus controlli (unidirezionale) è un insieme di collegamenti il cui
scopo è coordinare le attività del sistema; tramite esso, la CPU può decidere
quale componente deve scrivere sul bus dati in un determinato momento, quale
indirizzo leggere sul bus indirizzi, quali celle di memoria devono scrivere e quali
invece leggere, etc. Infatti la memoria e tutti gli altri componenti comunicano
con la CPU attraverso un unico bus condiviso; questo significa che senza un
controllo da parte della CPU si verrebbero a creare dei conflitti e delle collisioni.
8
Tipi di bus dati più importanti
PCI (Peripheral Component Interconnect Bus) - Bus di sistema PC, (ma anche Apple)
USB (Universal Serial Bus) - Bus per il collegamento di periferiche (lente)
PCI Express - è il successore (seriale) del bus di espansione PCI (parallelo) e ha sostituito il
bus AGP precedentemente in uso per le schede grafiche.
Le periferiche di output
Le memorie di massa
10