teoria dei sistemi operativi - Istituto Paritario Michelangelo

TEORIA DEI SISTEMI OPERATIVI
Architettura del calcolatore
1
ARCHITETTURA DEL CALCOLATORE
• L’architettura dell’hardware di un calcolatore reale è
molto complessa
• La macchina di Von Neumann è un modello
semplificato dei calcolatori moderni
– Von Neumann progettò, verso il 1945, il primo
calcolatore con programmi memorizzabili anziché
codificati mediante cavi e interruttori
2
MACCHINA DI VON NEUMANN
Con il termine “Macchina di von Neumann” si intende la particolare
architettura di calcolatori elettronici ideata dal matematico americano
John von Neumann; essa è costituita da quattro elementi
fondamentali:
• Unità di elaborazione ( CPU, Central Processing Unit ): Insieme di
dispositivi elettronici capaci leggere, interpretare ed eseguire le
istruzioni contenute nei programmi.
• Memoria centrale (MM, Main Memory): memorizza e fornisce
l’accesso a dati e programmi (informazioni ed istruzioni).
• BUS di sistema: canale di comunicazione, svolge la funzionalità di
trasferimento di dati e di informazioni di controllo tra le varie
componenti
• Interfacce delle periferiche: componenti di collegamento con le
periferiche del calcolatore
3
MACCHINA DI VON NEUMANN
4
MACCHINA DI VON NEUMANN - CARATTERISTICHE
• Le periferiche vere e proprie come stampanti, monitor,
tastiera ecc… sono considerati elementi esterni al calcolatore,
in particolare nell’architettura di von Neumann, le memorie di
massa (Hard Disk, CD-Rom ecc) sono considerate come
periferiche.
• Anche se questa è una semplificazione dei calcolatori
moderni, che possono contenere altre componenti, il
concetto di base è molto vicino alla realtà e dà una ottima
rappresentazione delle funzionalità dei calcolatori.
5
MACCHINA DI VON NEUMANN – FUNZIONAMENTO
• Il funzionamento di un calcolatore è descrivibile in termini di
poche componenti (macro-unità) funzionali
• ogni macro-unità è specializzata nello svolgimento di una
tipologia omogenea di funzionalità
• Eccezione: l’unità centrale di elaborazione, che svolge sia
funzionalità di elaborazione che di controllo
6
MACCHINA DI VON NEUMANN – FUNZIONAMENTO
7
MEMORIZZAZIONE
• Un calcolatore memorizza :
– i dati, che rappresentano informazioni di interesse
– i programmi per l’elaborazione dei dati
• La memoria è l’unità responsabile della
memorizzazione dei dati
• Una unità di memoria fornisce due sole operazioni:
– memorizzazione di un valore (scrittura)
– accesso al valore memorizzato (lettura)
8
ELABORAZIONE
• Le istruzioni di un programma corrispondono ad operazioni
elementari di elaborazione
–
–
–
–
operazioni aritmetiche
operazioni relazionali (confronto tra dati)
operazioni su caratteri e valori di verità
altre operazioni numeriche
• Un calcolatore sa svolgere poche tipologie di operazioni
elementari ma in modo molto efficiente
– un calcolatore può eseguire decine o centinaia di milioni di
istruzioni al secondo
• L’elaborazione dei dati viene svolta
– dall’unità aritmetico-logica, che è un componente
dell’unità centrale di elaborazione
9
TRASFERIMENTO
• Obiettivo: permettere lo scambio di informazioni tra le varie
componenti funzionali del calcolatore
– trasferimento dei dati e delle informazioni di controllo
• Due possibili soluzioni
– collegare ciascun componente con ogni altro componente
– collegare tutti i componenti a un unico canale (bus)
• L’utilizzo di un bus favorisce la modularità e l’espandibilità del
calcolatore
10
CONTROLLO
• Il coordinamento tra le varie parti del calcolatore è svolto
dall’unità di controllo
– è un componente dell’unità centrale di elaborazione
– ogni componente dal calcolatore esegue solo le azioni che gli
vengono richieste dall’unità di controllo
• il controllo consiste nel coordinamento dell’esecuzione
temporale delle operazioni
– sia internamente all’unità di elaborazione sia
– negli altri elementi funzionali
11
MACCHINA DI VON NEUMANN (in sintesi)
• La CPU (Central Processing Unit) interpreta ed esegue le istruzioni,
elabora i dati e coordina il lavoro delle periferiche. Il processore in
definitiva è il motore di un computer, oltre ad essere il suo cervello.
•
Si compone al suo interno di tre compartimenti:
– una ALU (unità aritmetico-logica) che esegue tutte le operazioni di calcolo;
– una Unità di Controllo, che smista i dati da e per la memoria centrale e
– i Registri, che servono a compensare la differenza di velocità di
elaborazione tra CPU e Memoria Centrale: si tratta di celle di memoria
interna dove i dati vengono temporaneamente archiviati.
12
CPU : SCHEMA
Ad ogni ciclo (clock)
l’unità di controllo:
1. prende una
istruzione dalla
RAM, (principale
elemento della
Memoria Centrale)
2. la copia nei registri,
la interpreta e
3. fa eseguire alla ALU
tutti i calcoli previsti,
4. poi il risultato viene
memorizzato di
nuovo nei registri e
la risposta torna alla
Memoria Centrale.
13
MEMORIE CACHE
• La CPU può comunicare con la Memoria Centrale grazie ai
Bus, detti anche “collegamenti di controllo,” e per agevolare
un maggiore coordinamento tra le differenti velocità dei
componenti si possono trovare anche memorie cache di due
tipi: L1 (interne alla CPU) ed L2 (esterne alla CPU).
• Il processore non è tuttavia dotato di autocoscienza, serve che
qualcosa lo “svegli” e gli dia le istruzioni iniziali all’avvio del
computer.
14
ROM
• La ROM (Read Only Memory) i cui dati non possono essere
modificati, salvo alcuni particolari modelli, contiene il
software denominato BIOS, che rappresenta le istruzioni
necessarie all’avvio del sistema. (se la CPU è il motore del
computer, il BIOS è la chiave di accensione).
• La CMOS (Complementary Metal-Oxide Semiconductor) è
alimentato da una batteria. Si tratta di un chip, come la ROM,
che contiene costantemente aggiornate, delle informazioni
basilari quali l’ora e la data corrente.
15