Concetti Chiave
- Il calcolatore esegue programmi tramite hardware, strutture fisiche elettroniche, e software, che gestisce le operazioni utili. Entrambi sono organizzati in livelli, con l'hardware come unica macchina reale.
- Il modello di Von Neumann integra CPU, memoria centrale, interfacce I/O e bus, permettendo di memorizzare programmi e dati per l'elaborazione e coordinamento sincronizzato tramite un clock di sistema.
- La CPU si compone di unità di controllo, ALU, bus interno e registri, eseguendo istruzioni tramite lettura, decodifica ed esecuzione, con operazioni classificate in aritmetiche-logiche, di salto e trasferimento dati.
- Il bus di sistema facilita il trasferimento dati tra componenti tramite bus dati, indirizzi e controllo, vantando semplicità e estendibilità ma soffrendo di lentezza e capacità limitata.
- Le memorie includono memoria centrale per l'accesso rapido a programmi e dati, memoria cache per velocizzare l'accesso e memoria di massa e secondaria per archiviazione permanente e grande capacità.
Indice
Architettura dei calcolatori
Il calcolatore è un esecutore di programmi. L’utente interagisce con esso attraverso una o più applicazioni; queste vengono utilizzate tramite la loro interfaccia, il mezzo di interazione tra l’utente e il calcolatore.
Hardware e software
Un calcolatore è composta da:
•Hardware: la struttura fisica del calcolatore, costituita da componenti elettronici;
•Software: insieme dei programmi che consentono all’hardware di svolgere i compiti utili.
Hardware e software sono organizzati in livelli (o strati). Nell’organizzazione a livelli, l’hardware è l’unica macchina reale, le istruzioni che esso sa eseguire sono dette linguaggio macchina del calcolatore.
I vari tipi di calcolatore sono: personal computer (PC), notebook (portatile), smartphone, workstation (più potente del PC), sensori intelligenti, mainframe e minicomputer (hanno una elevata potenza di calcolo e memorizzazione), cluster (sistemi di calcolo basati sull’aggregazione di più macchine).
Il modello di Von Neumann
Il modello di Von Neumann è un modello semplificato di calcolo.
Von Neumann è stato il progettista del primo calcolatore in cui i programmi potevano essere memorizzati anziché codificati. La sua macchina è costituita da:
•Unità centrale di elaborazione (CPU): esegue istruzioni per l’elaborazione dei dati, svolge funzioni di controllo e coordinamento delle altre componenti;
•Memoria centrale: memorizza e fornisce l’accesso a dati e programmi;
•Interfacce di ingresso e uscita (I/O): componenti di collegamento con le periferiche del calcolatore, consentono lo scambio di dati tra calcolatore e utente;
•Bus: trasferisce dati e informazioni di controllo tra le varie componenti funzionali.
Questo modello segue delle fasi, che si susseguono in modo sincrono rispetto ad un orologio di sistema detto ‘clock’:
•Elaborazione: l’elaborazione dei dati è svolta dalla ALU (componente della CPU);
•Memorizzazione: una unità di memoria è organizzata in celle, a ognuna è associata un indirizzo che la identifica, ciascuna cella memorizza solo un dato. Essa fornisce due operazioni: memorizzazione di un valore in una cella (scrittura), e accesso al valore memorizzato in una cella (lettura);
•Trasferimento: un insieme di componenti possono essere collegati in due modi: collegare ciascun componente con ogni altro componente, e collegare tutti i componenti a un unico insieme di linee (il bus);
•Controllo: il coordinamento tra le varie parti del calcolatore è svolto dall’unità di controllo.
Unità centrale di elaborazione(CPU)
La CPU è formata da:
•Unità di controllo (UC);
•Unità aritmetico-logica (ALU);
•Bus interno;
•Registri:
- Registro di indirizzamento memoria (MAR): contiene l’indirizzo della cella di memoria da memorizzare;
- Registro dati di memoria (MDR): contiene il dato da memorizzare;
- Registro di stato (o dei flag) (PSW): contiene informazioni sull’esito delle operazioni eseguite;
- Registri generici: per la memorizzazione degli operandi o del risultato di una operazione.
La CPU esegue un’ istruzione svolgendo tre operazioni di base:
•Lettura: legge dalla memoria la prossima istruzione da eseguire;
•Decodifica: decodifica l’istruzione da eseguire;
•Esecuzione: esegue l’istruzione. E poi si ricomincia da capo.
Le istruzioni eseguite dal processore possono essere classificate in 3 categorie principali: istruzioni aritmetiche-logiche, di salto (condizionale), di trasferimento dei dati da un registro all’altro.
Il bus di sistema
Il bus di sistema collega tra loro i vari elementi del calcolatore, collega due unità: una trasmette e una riceve. Si suddivide in:
•Bus dati: utilizzato per trasferire dati;
•Bus indirizzi: identifica la posizione delle celle di memoria in cui la CPU va a scrivere o leggere;
•Bus di controllo: in cui transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati.
I vantaggi del bus sono: semplicità, infatti vi è una sola linea di connessione per qualunque numero di dispositivi; ed estendibilità, nuovi dispositivi possono essere aggiunti tramite un’interfaccia al bus.
Gli svantaggi sono: lentezza, limitata capacità, e sovraccarico della CPU.
La memoria centrale
La memoria centrale è la componente del calcolatore in cui vengono immagazzinati e da cui vengono acceduti i dati e i programmi. È composta da una sequenze di celle, in grado di memorizzare una parola di memoria (sequenza di bit); ogni cella è caratterizzata da un indirizzo, un numero che identifica la cella e ne consente l’accesso; e da un valore, che è la sequenza di bit memorizzata dalla cella. La memoria fornisce le operazioni di lettura e scrittura.
Le sue caratteristiche principali sono: capacità, ovvero il numero di bit che possono essere memorizzati; velocità di accesso; organizzazione e lunghezza parola; volatilità, capacità di mantenere le informazioni memorizzate in mancanza di alimentazione elettrica.
Le memorie si possono classificare in:
•MGL (memoria grossa e lenta): sono memorie di gran capacità, lente, economiche ed accessibili tramite il bus;
•MPV (memoria piccola e veloce): sono integrate nello stesso chip della CPU, sono costose.
La memoria centrale memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione.
Memoria cache
La memoria cache è una memoria veloce, piccola, non visibile all’hardware e gestita dal software. Velocizza gli accessi alla memoria principale aumentando le prestazioni del sistema. Memorizza dati temporanei in modo silenzioso.
Si definiscono due tipi di principi di località:
•Località spaziale: quando si accede ad un indirizzo A, è probabile che gli accessi successivi richiedano celle vicine ad A;
•Località temporale: quando si accede all’indirizzo A, è probabile che negli accessi successivi si richieda nuovamente la cella A.
Memoria di massa
La memoria di massa è un dispositivo di memorizzazione permanente capace di contenere grosse quantità di dati. È non volatile, infatti i dati memorizzati non vengono persi allo spegnimento del calcolatore; hanno una grande capacità, bassi costi e basse velocità di accesso.
Memoria secondaria
La memoria secondaria memorizza tutti i programmi e i dati del calcolatore; i suoi dati, per essere acceduti dal processore, devono transitare nella memoria centrale. Tipi di memoria secondaria sono: dispositivi ad accesso sequenziale o casuale, dispositivi in sola lettura, dispositivi magnetici (hard disk).
L’hard disk è un disco magnetico fisso composto da piatti di alluminio rotanti, ricoperti di materiale magnetico e da un gruppo di testine; essi permettono la scrittura e la lettura di bit su un disco. È formato da: un piatto composto da due facce (superfici), ogni faccia è suddivisa in tracce circolari e settori (o spicchi), i settori sono le unità logiche di memorizzazione (la loro capacità è di 512 byte). L’indirizzo di un settore è dato da: cilindro, superficie e settore.
Nell’hard disk si distinguono quattro tempi principali:
•Tempo di posizionamento: necessario a posizionare le testine sulla traccia richiesta;
•Tempo di latenza (o rotazione): affinché il settore richiesto passi sotto la testina;
•Tempo di trasferimento: per trasferire i dati dal disco alla memoria;
•Tempo di accesso: la somma dei tre tempi precedenti.
Codifica dei dati
I dati vengono rappresentati, nel calcolatore, attraverso codifiche binarie, sotto forma di sequenze di bit.
Il bit è la più piccola unità di informazione in un calcolatore; può essere: 0, corrente che non passa; e 1, corrente che passa.
L’unità fondamentale è il byte.
•8 bit = 1 byte;
•1024 byte = 1 Kilobyte;
•1024 Kilobyte = 1 Megabyte;
•1024 Megabyte = 1 Giga;
•1024 Giga = 1 Tera
Domande da interrogazione
- Qual è la funzione principale di un calcolatore secondo l'architettura descritta?
- In cosa consiste il modello di Von Neumann?
- Quali sono le componenti principali della CPU?
- Quali sono i vantaggi e gli svantaggi del bus di sistema?
- Come si classificano le memorie in base alla loro velocità e capacità?
Un calcolatore è un esecutore di programmi che interagisce con l'utente attraverso applicazioni, utilizzando hardware e software organizzati in livelli.
Il modello di Von Neumann è un modello di calcolo che prevede la memorizzazione dei programmi e include componenti come la CPU, la memoria centrale, le interfacce I/O e il bus.
La CPU è composta dall'unità di controllo, dall'unità aritmetico-logica, dal bus interno e dai registri, tra cui MAR, MDR, PSW e registri generici.
I vantaggi del bus di sistema includono semplicità ed estendibilità, mentre gli svantaggi sono lentezza, capacità limitata e sovraccarico della CPU.
Le memorie si classificano in MGL (memoria grossa e lenta) e MPV (memoria piccola e veloce), con differenze in capacità, velocità e costo.