Architetture di Calcolatori - Ingegneria elettrica ed elettronica

Università degli Studi di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
ARCHITETTURE DEI CALCOLATORI
Sommario
Ø
Ø
Breve storia dei calcolatori elettronici
Architettura di Von Neumann
n
n
n
Ø
Ø
Ø
Ø
La memoria centrale
L’unità centrale di elaborazione
I dispositivi di ingresso e uscita
Il sistema operativo
Reti di calcolatori
Internet
Basi di dati
Giuliano Armano
2
Breve storia dei sistemi di elaborazione
Ø
Primi sistemi: meccanici
n
n
Ø
Nuove idee solo 150 anni più tardi!
n
Ø
Pascal (1642): addizione e sottrazione
Leibniz (1700): le 4 operazioni fondamentali
Babbage (1834): “motore analitico”, un calcolatore
programmabile. Il calcolatore era capace di eseguire istruzioni
elementari per mezzo delle quali era possibile risolvere diversi
problemi.
Inizia era calcolatori general purpose
n
Uno stesso calcolatore può essere programmato per svolgere
compiti diversi (es. elaborazione testo, calcoli scientifici, posta
elettronica, ecc.)
Giuliano Armano
3
Breve storia dei sistemi di elaborazione
(cont.)
Data Nome
Realizzato da
Commento
1834 Motore Analitico Babbage
1936 Z1
1943 COLOSSUS
1944 Mark I
1946 ENIAC I
1949 EDSAC
1951 Whirlwind I
1952 IAS
1960 PDP-1
1961 1401
1962 7094
Primo tentativo di calcolatore "digitale"
(meccanico)
Zuse
Primo calcolatore funzionante con relé
(elettromeccanico)
Governo GB
Primo calcolatore elettronico
Aiken
Primo calcolatore americano generalpurpose
Eckert/Mauchley Inizia La storia dei calcolatori moderni
Wilkes
Primo calcolatore con programma in
memoria
M.I.T.
Primo calcolatore real-time
Von Neumann
La maggior parte dei calcolatori oggi
usa la stessa architettura
DEC
Primo minicalcolatore (venduti 50)
IBM
Piccolo calcolatore che diventò popolare
nelle piccole imprese
IBM
Posizione dominante nel calcolo
scientifico nei primi anni '60.
Giuliano Armano
4
Breve storia dei sistemi di elaborazione
(cont.)
Data Nome
Realizzato da Commento
1963 B5000
Burroughs
1964 360
1964 6600
1965 PDP-8
IBM
CDC
DEC
1970 PDP-11
DEC
1974 8080
Intel
1974
1978
1981
1985
1987
Cray
DEC
IBM
MIPS
Sun
CRAY-1
VAX
IBM PC
MIPS
SPARC
1990 RS6000
?
?
IBM
?
Primo calcolatore progettato per un linguaggio
di alto livello
Primo progetto di una famiglia di prodotti
Primo supercomputer scientifico
Primo minicomputer per il mercato di massa
(venduti 50.000 esemplari)
Posizione dominante nel mercato dei
minico mputer negli anni '70
Primo calcolatore general -purpose a 8 bit su un
unico chip
Primo supercomputer vettoria le
Primo superminicomputer a 32 bit
Inizia l'era del personal computer
Primo calcolatore RISC commerciale
Prima workstation RISC basata su processore
SPARC
Primo calcolatore su perscalare
Il calcolatore… invisibile!
Giuliano Armano
5
Breve storia dei sistemi di elaborazione
(cont.)
Ø
Futuro: il calcolatore invisibile
n
n
n
n
Calcolatore dedicato a specifiche funzioni
L’utente non deve preoccuparsi dell’hardware, del sistema
operativo ecc.
Interconnessione fra diversi sistemi dedicati per scambio
informazioni (es. elaboratore testi con agenda, e-mail, ecc.)
Esempi in commercio (embedded): telefoni cellulari, impianto
iniezione auto, elettrodomestici “intelligenti”, macchina
fotografica digitale, ecc.
Giuliano Armano
6
Architettura di Von Neumann
Dispositivi di Ingresso
(dischi, tastiera,
mouse, microfono,
ecc.)
Memoria
centrale
Processore
Dispositivi di Uscita
(dischi, monitor,
stampante, cuffia,
ecc.)
Unità di Controllo
Unità
Aritmetico-Logica
Giuliano Armano
7
Architettura di Von Neumann
(variante)
Address Bus
Memory
CPU
I/O
Data Bus
Control Bus
Giuliano Armano
8
La Memoria Centrale (Central Memory)
Ø
Ø
È il dispositivo che conserva le istruzioni e i dati dei
programmi in esecuzione. Questa unità è collegata
direttamente al processore.
Caratteristiche:
n
n
n
n
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
Giuliano Armano
9
La Memoria Centrale (cont.)
Ø
Dati memorizzati in bit (binary digit): ogni unità
elementare di memoria contiene una informazione di
tipo binario: 1 oppure 0.
n
Ø
Memoria organizzata in:
n
n
Ø
Realizzazione mediante dispositivi fisici a due stati
Byte: insieme di 8 bit
Parola: insieme di più byte contenuto in una cella di memoria
Indirizzo:
n
Un numero che individua univocamente una cella come
posizione relativa rispetto alla prima cella, che ha posizione 0.
Giuliano Armano
10
La Memoria Centrale (cont.)
Ø
Un valore può essere memorizzato/recuperato
dalla memoria specificando l’indirizzo.
n
Ø
Il tempo di accesso è indipendente dall’indirizzo (ecco
perché il nome di RAM)
Memorie ROM (Read Only Memory)
n
n
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
Giuliano Armano
11
La Memoria Centrale (cont.)
indirizzi
dati
S = scrittura
L = lettura
Giuliano Armano
12
Il Processore (CPU)
Ø
Il Processore (CPU, Central Processing Unit)
contiene due elementi funzionali:
n
Unità di controllo:
n
n
n
n
n
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)
n
Modulo capace di eseguire un certo numero di operazioni
aritmetiche e logiche
Giuliano Armano
13
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:
nProgram Counter (PC): indirizzo della istruzione successiva
nCurrent Instruction Register (CIR): Istruzione che deve
essere eseguita
nProgram Status Word (PSW): informazioni sull’ultima
istruzione eseguita (ad es. risultato zero, segno risultato, riporto
di una somma, ecc.)
nGeneral Purpose (GPR): utilizzati per memorizzare dati e
risultati intermedi
Ø
Giuliano Armano
14
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
Giuliano Armano
15
Funzionamento elementare (cont.)
PC = Program
Counter
DR = Data
Register
AR = Address
Register
CIR = Current Instruction
Register
Giuliano Armano
16
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
Giuliano Armano
17
Funzionamento elementare (cont.)
PDR = Peripheral Data
Register
Giuliano Armano
18
Unità di Ingresso e Uscita (I/O)
Ø
Prendono anche il nome di unità periferiche per
sottolineare il loro ruolo di completamento delle
funzioni di base della CPU.
n
n
n
n
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.)
Giuliano Armano
19
Unità di Memorizzazione Secondaria
Ø
Servono per archiviare in modo permanente
programmi e dati
n
n
Ø
Dischi Magnetici, Ottici (CD-ROM) e Magneto-Ottici
Nastri magnetici
Sono caratterizzati da elevata capacità di
memorizzazione e bassa velocità di accesso
n
n
n
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
Giuliano Armano
20
Interfacciamento di unità periferiche
Ø
Il trasferimento di dati e istruzioni fra CPU e
periferiche avviene per mezzo di interfacce
n
Ad esempio se l’istruzione di CPU è del tipo
scrivi(testo,periferica)
n
n
n
n
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
Giuliano Armano
21
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
Giuliano Armano
22
Il Bus di sistema (cont.)
Ø
Tre linee funzionalmente distinte:
n
n
n
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.)
Giuliano Armano
23
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
n
Ø
Ø
memorie caratterizzate da costi e prestazioni crescenti (e
dimensioni decrescenti). Ad es. disco, memoria centrale,
cache
Processori per operazioni di I/O
Architetture multiprocessore
Giuliano Armano
24
La Memoria cache
Ø
Sono memorie più veloci della memoria centrale,
più piccole e più costose
n
n
n
Ø
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
n
Il tempo medio di accesso a queste istruzioni e dati è inferiore
a quello di accesso alla memoria centrale
Giuliano Armano
25
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
Ø
n
n
n
n
Ø
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 l’interprete dei comandi
Giuliano Armano
26
Collegamento di elaboratori in rete
Ø
Ø
Tecnologia informatica = sistemi per la raccolta,
memorizzazione, elaborazione, distribuzione
dell’informazioni.
Oggi questi quattro aspetti stanno convergendo.
n
Ø
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
Giuliano Armano
27
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
n
Ø
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
Giuliano Armano
28
Servizi di rete
Ø
Reti per le aziende
n
n
n
n
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
Giuliano Armano
29
Servizi di rete(cont.)
Ø
Reti per le persone
n
n
n
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
Giuliano Armano
30
Reti geografiche e reti locali
Ø
Ø
Rete locale (LAN, Local Area Network): una rete
privata che collega elaboratori appartenenti a uno
stesso ufficio, dipartimento, azienda.
Rete metropolitana (MAN): versione della LAN
ingrandita
n
Ø
Ø
Esempio: rete locale del DIEE fa parte della rete di ateneo.
Rete geografica (WAN): copre una nazione o un
continente
Connessione fra diverse reti: internetwork
Giuliano Armano
31
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
Giuliano Armano
32
Il protocollo di connessione
Ø
TCP: Transmission Control Protocol
n
n
n
n
Ha il compito di controllare la trasmissione dei dati
Ogni comunicazione fra due calcolatori viene divisa in
pacchetti di identica lunghezza inviati separatamente
attraverso la rete
Ogni pacchetto può seguire un percorso diverso per
arrivare a destinazione (alta affidabilità ai guasti)
La comunicazione viene ricostruita a partire dai vari
pacchetti dal calcolatore destinatario
Giuliano Armano
33
Il protocollo di connessione (cont.)
Ø
IP: Internet Protocol
n
n
Ogni nodo (elaboratore) della rete ha un proprio indirizzo IP
IP lunghezza 4 byte (4 numeri, ciascuno fra 0 e 255, separati
da un punto)
Ad esempio il nostro server ftp (ftp-cs.diee.unica.it) ha
indirizzo 192.167.131.60
I primi due numeri indicano una rete (nel ns. caso la rete
dell’Università di Cagliari), il terzo numero indica una
sottorete (il DIEE), il quarto numero identifica l’elaboratore
all’interno della sottorete
Giuliano Armano
34
Il protocollo di connessione (cont.)
Ø
Normalmente a ciascun indirizzo numerico è
associato un nome simbolico
n
n
n
Ø
Nome simbolico: più parti separate da un punto.
L’ultima parte identifica la tipologia o la localizzazione
geografica (it = italia, com = commerciale, edu = istruzione,
ecc.)
Spostandoci più a sinistra l’indirizzo diventa più specifico per
indicare la rete (es. unica), la sottorete (es. diee), l’elaboratore
La trasformazione da simbolico a numerico e vv.
avviene a mezzo di DNS (Domain Name Server), un
elaboratore che contiene la tabella di conversione
Giuliano Armano
35
Protocolli basati su TCP/IP
Ø
telnet: per la connessione di un nodo generico
alla rete
Ø
ftp: file transfer protocol
Ø
smtp: simple mail transfer protocol
Ø
http: hypertext transfer protocol
Ø
pop: post office protocol
Ø
ecc.
Giuliano Armano
36
Basi di dati
Ø
Ø
La memorizzazione e gestione dei dati è
un’applicazione fondamentale dell’informatica
DBMS (DataBase Management System): programmi
per la gestione di grosse quantità di dati (ad es.
sistema segreterie studenti università)
n
n
n
Informazione memorizzata secondo un modello dei dati
Consentono di accedere e manipolare l’informazione in modo
da garantire coerenza, riservatezza, integrità
Interrogazione: individuare tutti i dati memorizzati che
presentano determinate caratteristiche
Giuliano Armano
37