LABORATORIO di INFORMATICA - Ingegneria elettrica ed elettronica

annuncio pubblicitario
Università degli Studi di Cagliari
Corso di Laurea Magistrale in Ingegneria per l’Ambiente ed il Territorio
LABORATORIO
di INFORMATICA
A.A. 2010/2011
Prof. Giorgio Giacinto
ARCHITETTURA DEI
CALCOLATORI
http://www.diee.unica.it/giacinto/Lab
Sommario
!
Architettura di Von Neumann
!
!
!
!
!
!
!
La memoria centrale
L’unità centrale di elaborazione
I dispositivi di ingresso e uscita
Il sistema operativo
Reti di calcolatori
Internet
Basi di dati
Giorgio Giacinto 2010
Laboratorio di Informatica
2
Architettura di Von Neumann
Dispositivi di Ingresso
(dischi, tastiera, mouse,
microfono, ecc.)
Memoria
centrale
Dispositivi di Uscita
(dischi, video, stampante,
cuffia, ecc.)
Processore
Unità di Controllo
Unità
Aritmetico-Logica
Giorgio Giacinto 2010
Laboratorio di Informatica
3
La Memoria Centrale
!
!
È il dispositivo che conserva le istruzioni e i dati dei
programmi in esecuzione. Questa unità è collegata
direttamente al processore.
Caratteristiche
!
!
!
!
Velocità di accesso elevata (poche decine di ns)
Tempo di accesso indipendente dalla posizione del dato
nella memoria (RAM: Random Access Memory)
Dimensione limitata (oggi max pochi GB)
L’informazione viene persa se si interrompe l’alimentazione
elettrica
Giorgio Giacinto 2010
Laboratorio di Informatica
4
La Memoria Centrale (cont.)
!
Dati memorizzati in bit (binary digit): ogni unità
elementare di memoria contiene una informazione di
tipo binario: 1 oppure 0.
!
!
Memoria organizzata in
!
!
!
Realizzazione mediante dispositivi fisici a due stati
Byte: insieme di 8 bit
Parola: insieme di più byte contenuto in una cella di
memoria
Indirizzo
!
Un numero che individua univocamente una cella come
posizione relativa rispetto alla prima cella, che ha
posizione 0.
Giorgio Giacinto 2010
Laboratorio di Informatica
5
La Memoria Centrale (cont.)
!
Un valore può essere memorizzato/recuperato dalla
memoria specificando l’indirizzo.
!
!
Il tempo di accesso è indipendente dall’indirizzo (ecco
perché il nome di RAM)
Memorie ROM (Read Only Memory)
!
!
Sono memorie di sola lettura. Vengono pre-impostate dal
fabbricante.
Organizzate come le memorie RAM (ROM e RAM non
sono termini contrapposti!) ma il contenuto permane anche
se si interrompe l’alimentazione elettrica
Giorgio Giacinto 2010
Laboratorio di Informatica
6
Il Processore
!
Il Processore (CPU, Central Processing Unit)
contiene due elementi funzionali
!
!
Unità di controllo
! recupera le istruzioni dalla memoria centrale
! decodifica le istruzioni
! invia gli opportuni comandi di esecuzione alle unità indicate
nell’istruzione
! preleva i dati necessari all’esecuzione e li trasferisce
all’unità di esecuzione
Unità Aritmetico-Logica (ALU, Arithmetic and Logic
Unit)
! Modulo capace di eseguire un certo numero di operazioni
aritmetiche e logiche
Giorgio Giacinto 2010
Laboratorio di Informatica
7
Il Processore (cont.)
!
!
Nel processore vi sono alcune celle di memoria molto
veloce, dette registri, per memorizzazione dati intermedi e
stato della CPU.
Registri principali
! Program Counter (PC): indirizzo della istruzione
successiva
! Current Instruction Register (CIR): Istruzione che deve
essere eseguita
! Program Status Word (PSW): informazioni sull’ultima
istruzione eseguita (risultato zero, segno risultato, riporto di
una somma, ecc.)
! General Purpose (GPR): utilizzati per memorizzare dati e
risultati intermedi
Giorgio Giacinto 2010
Laboratorio di Informatica
8
Funzionamento elementare
!
Caricamento in memoria centrale del
programma in codice binario
!
Caricamento dell’indirizzo della prima
istruzione nel registro PC del processore
!
Caricamento (fetch) della prima istruzione nel
registro CIR del processore e incremento di
PC di 1
!
Decodifica (decode) del codice operativo per
determinare l’operazione da eseguire
Giorgio Giacinto 2010
9
Laboratorio di Informatica
Funzionamento elementare
(cont.)
PC = Program Counter
DR = Data Register
AR = Address Register
CIR = Current Instruction Register
Giorgio Giacinto 2010
Laboratorio di Informatica
10
Funzionamento elementare
(cont.)
!
!
!
!
!
Trasferimento degli operandi (operand fetch)
nei registri del processore
Esecuzione (execute) dell’istruzione
Trasferimento (store) dei risultati in memoria
A questo punto l’elaborazione prosegue
trasferendo nel processore l’istruzione
successiva.
L’ultima istruzione termina il programma
Giorgio Giacinto 2010
11
Laboratorio di Informatica
Funzionamento elementare
(cont.)
PDR = Peripheral Data Register
Giorgio Giacinto 2010
Laboratorio di Informatica
12
Unità di Ingresso e Uscita
!
Prendono anche il nome di unità periferiche per
sottolineare il loro ruolo di completamento delle
funzioni di base della CPU.
!
!
!
!
Unità di memorizzazione secondaria (dischi, nastri)
Unità per l’inserimento di dati (tastiera, mouse, schede di
acquisizione dati, microfono, telecamera, ecc.)
Unità per il recupero dei risultati (video, stampante, plotter,
dispositivi audio, ecc.)
Unità per il collegamento ad altri calcolatori (scheda di rete,
modem, ecc.)
Giorgio Giacinto 2010
Laboratorio di Informatica
13
Unità di Memorizzazione
Secondaria
!
Servono per archiviare in modo permanente
programmi e dati
!
!
!
Dischi Magnetici, Ottici (CD, DVD) e Magneto-Ottici
Nastri magnetici
Sono caratterizzati da elevata capacità di
memorizzazione e bassa velocità di accesso
!
!
!
L’accesso avviene per mezzo di organi meccanici
Tempo di accesso a un disco dell’ordine dei ms (tempo
d’accesso memoria centrale dell’ordine dei ns!)
Il tempo d’accesso varia a seconda della posizione del
dato nel dispositivo di memorizzazione
Giorgio Giacinto 2010
Laboratorio di Informatica
14
Interfacciamento di unità
periferiche
!
Il trasferimento di dati e istruzioni fra CPU e
periferiche avviene per mezzo di interfacce
!
!
!
Ad esempio se l’istruzione di CPU è del tipo
scrivi(testo,periferica)
! se la periferica è un monitor, l’istruzione si traduce in
comandi specifici per la scheda video
! se la periferica è una stampante, l’istruzione si traduce in
comandi specifici per la stampante
Il collegamento è governato da una unità di controllo locale.
Dati e istruzioni vengono scambiati in un’area di memoria
riservata detta porta
Giorgio Giacinto 2010
Laboratorio di Informatica
15
Il Bus di sistema
!
Un insieme di connessioni elementari lungo
le quali viene trasferita l’informazione
!
Collega fra di loro il processore, la memoria e
le periferiche di I/O.
!
In ogni istante di tempo il bus è dedicato a
collegare due unità: una trasmette, l’altra
riceve.
!
Necessità di gestire le connessioni sul bus
Giorgio Giacinto 2010
Laboratorio di Informatica
16
Il Bus di sistema (cont.)
!
Tre linee funzionalmente distinte:
!
!
!
Bus dati l’insieme di linee impiegate per trasmettere i dati
fra mittente e ricevente (ad es. 32, 64 bit)
Bus indirizzi l’insieme di linee impiegate per trasmettere
l’indirizzo del dato che si deve trasferire (ad es. indirizzo
della cella di memoria che contiene l’istruzione da trasferire
al processore, ecc.)
Bus controllo l’insieme di linee impiegate per trasmettere i
codici di controllo della trasmissione (ad es.: istruzione di
lettura/scrittura, esito positivo/negativo della trasmissione,
ecc.)
Giorgio Giacinto 2010
Laboratorio di Informatica
17
Estensione architettura di von
Neumann
!
!
!
Presenza di più processori dedicati ad es.
per presentazione grafica su video
Esecuzione in parallelo delle diverse fasi di
una istruzione (pipelining)
Uso di gerarchie di memoria
!
!
!
memorie caratterizzate da costi e prestazioni
crescenti (e dimensioni decrescenti). Ad es. disco,
memoria centrale, cache
Processori per operazioni di I/O
Architetture multiprocessore/multicore
Giorgio Giacinto 2010
Laboratorio di Informatica
18
La Memoria cache
!
Sono memorie più veloci della memoria centrale,
più piccole e più costose
!
!
!
!
Si trovano sullo stesso chip del processore (cache di primo
livello, L1) o fuori del processore, fra la memoria e il
processore (cache di secondo livello, L2).
Dimensioni L1: dell’ordine di 32 KB
Dimensioni L2: da poche centinaia di KB a qualche MB
La cache contiene le istruzioni e i dati usati più di
frequente
!
Il tempo medio di accesso a queste istruzioni e dati è
inferiore a quello di accesso alla memoria centrale
Giorgio Giacinto 2010
Laboratorio di Informatica
19
Il Sistema Operativo
! E’
il programma di base che consente l’utilizzo
efficiente ed efficace del calcolatore elettronico
! Rende trasparenti agli utenti le operazioni di
! Gestione
dei processi, cioè la gestione dei programmi in
esecuzione (soprattutto sistemi multitasking e
multiutente)
! Gestione della memoria per consentire
multiprogrammazione e multitasking
! Gestione dei driver di periferiche (contengono le
specifiche di funzionamento delle periferiche)
! Gestione del file system (gestione degli archivi:
programmi, dati, ecc.)
! Contiene
Giorgio Giacinto 2010
l’interprete dei comandi
Laboratorio di Informatica
20
Collegamento di elaboratori in
rete
!
!
Tecnologia informatica = sistemi per la raccolta,
memorizzazione, elaborazione, distribuzione
dell’informazioni.
Oggi questi quattro aspetti stanno convergendo.
!
!
Anni ‘50: si parlava di “centro di calcolo”, cioè la stanza di
un’azienda, università ecc., dove si trovava il/i calcolatori
deputati a soddisfare tutte le esigenze di calcolo...
Oggi: un gran numero di calcolatori indipendenti e
interconnessi eseguono il lavoro.
Si parla di reti di calcolatori
Giorgio Giacinto 2010
Laboratorio di Informatica
21
Collegamento di elaboratori in
rete (cont.)
!
!
Le reti di calcolatori collegano elaboratori a diversa
distanza fra loro fornendo a ciascuno servizi di rete
(accesso a programmi, archivi, ecc.)
La comunicazione avviene tramite scambio di
messaggi in formato di pacchetti
!
!
I pacchetti contengono sequenze di byte in genere di
uguale lunghezza
Il messaggio comprende alcuni byte di controllo
all’inizio e alla fine che include la parte del
messaggio che contiene l’informazione
Giorgio Giacinto 2010
Laboratorio di Informatica
22
Servizi di rete
!
Reti per le aziende
!
!
!
!
Condivisione risorse fra sedi lontane geograficamente
e fra diverse divisioni dell’azienda (magazzino,
produzione, amministrazione, ecc.)
Affidabilità: stessi dati presenti su più elaboratori per
evitare che il guasto ad un elaboratore renda qui dati
indisponibilI.
Risparmio di denaro: molti piccoli elaboratori con risorse
condivise in rete hanno un rapporto costo/prestazioni
migliore di un unico grosso elaboratore
Mezzo di comunicazione fra diverse sedi
Giorgio Giacinto 2010
Laboratorio di Informatica
23
Servizi di rete (cont.)
!
Reti per le persone
!
!
!
Accesso a informazioni remote: servizi bancari,
assicurativi, commerciali, quotidiani
personalizzati, informazioni varie, ecc. disponibili
sull’elaboratore di casa (accesso a basi di dati)
Comunicazione uomo-a-uomo: posta
elettronica, chat videoconferenze, gruppi di
discussione
Intrattenimento: video a richiesta (film,
programma televisivo, ecc.), giochi
Giorgio Giacinto 2010
Laboratorio di Informatica
24
Internet
!
Anni ‘ 70 ARPANET: rete nazionale USA dedicata
alla ricerca con una dozzina di nodi
(ARPA = Advanced Research Projects Agency)
!
!
!
!
Anni ‘80: ARPANET si divise in MILNET
(applicazioni militari) e CSNET (ricerche in ambito
informatico)
CSNET collegò tutte le facoltà universitarie USA
In Italia rete universitaria: GARR
Fine anni ‘80 CSNET si aprì ad applicazioni
commerciali. Primi provider: CompuServe e MCI
Giorgio Giacinto 2010
Laboratorio di Informatica
25
Struttura di una applicazione
!
Architettura logica a tre livelli
!
Logica dei dati
!
!
Strutturazione dei dati, relazioni, metodi di accesso,
ecc.
Logica della applicazione (business logic)
!
Le elaborazioni dei dati per una particolare finalità
"
!
Ad es., pagamento tasse universitarie, carriera accademica
Logica di presentazione
!
L’interfaccia con l’utente
"
Giorgio Giacinto 2010
Grafica, pulsanti, menù, ecc.
Laboratorio di Informatica
26
Struttura di una applicazione
!
Architettura three-tier
Client
DBMS
Rete
Logica
dell’Applicazione
Rete
Client
!
!
!
I dati vengono gestiti da un DBMS
I programmi (logica applicazione) accedono ai dati e
foniscono i risultati agli utenti
I client sono in genere realizzati in tecnologia web
Giorgio Giacinto 2010
Laboratorio di Informatica
27
Scarica