Lezione 3.

Transcript

Lezione 3.
SISTEMI DI ELABORAZIONE DELLE
INFORMAZIONI
Prof. Andrea Borghesan
venus.unive.it/borg
[email protected]
Ricevimento:
martedì, 12.00-13.00. Dip. di Matematica
Modalità esame: scritto + tesina facoltativa
1
Hardware e Software
 Con HARDWARE si indicano tutte le componenti del pc
che hanno consistenza fisica, interne od esterne,
elettroniche o elettromeccaniche. Deriva da
 Hard = duro
 Ware = componente
 Con SOFTWARE si indica la parte “evanescente”
dell‟elaboratore, cioè l‟insieme dei programmi che
consentono all‟hardware di svolgere compiti utili
2
SOFTWARE
Programmi che vengono eseguiti dal sistema:
• Software di Base: funzionale all‟utilizzo dell‟elaboratore e
delle sue periferiche, comprende:
- Sistema operativo
- Programmi traduttori dei linguaggi di programmazione
• Software applicativo: mostra all‟utente il calcolatore
come una macchina virtuale utilizzabile per la risoluzione di
problemi specifici; comprende tutte le applicazioni adoperate
dagli utenti come, videoscrittura, foglio elettronico, ecc.
3
4
SOFTWARE E MACCHINE VIRTUALI
 L‟hardware è l‟unica macchina reale, mentre i vari strati
software corrispondono a macchine virtuali
 Le operazioni (chiamate istruzioni) che l‟hardware sa
eseguire costituiscono il linguaggio macchina del
calcolatore
 Le istruzioni del linguaggio macchina sono molto semplici
e il calcolatore le esegue in modo molto efficiente
 Il software ha lo scopo di mostrare ai suoi utenti il calcolatore
come una macchina virtuale (non esistente fisicamente),
più semplice da usare rispetto all‟hardware sottostante
5
SOFTWARE E MACCHINE VIRTUALI
 Macchine virtuali
 Semplificano la comunicazione fra uomo e hardware
 Le diverse macchine e i relativi insiemi di operazioni sono
via via più astratti: più ci si avvicina alla logica dell‟utente e
più ci si allontana dalla logica del calcolatore
 Alla fine, comunque, l‟unico responsabile dell‟esecuzione
del software è l‟hardware disponibile
6
IL LINGUAGGIO MACCHINA
Tutti i dispositivi elettronici sono predisposti al riconoscimento
di due stati fisici, rappresentati da un differente stato di
polarizzazione magnetica (positiva o negativa)
Sulla base di tale principio, il linguaggio macchina, che
consente il funzionamento di qualsiasi elaboratore, è basato
sulla codifica binaria delle informazioni: ciascuna unità
elementare dell‟informazione viene rappresentata da il bit
(binary digit) che corrisponde ad una cifra che può assumere
esclusivamente i valori 0 o 1
7
IL SISTEMA BINARIO
 Sistema di numerazione di tipo posizionale in base 2 cioè
caratterizzato dall‟utilizzo di due soli numeri, 0 e 1, invece dei
dieci previsti dal sistema decimale
 Inventato dal matematico tedesco Gottfried Wilhelm Leibniz,
e successivamente ripreso dal matematico inglese G. Boole
 E‟ utilizzato in informatica per la semplicità con cui
rappresentare un‟informazione ricorrendo a due soli stadi, ed
anche per la corrispondenza con i valori logiciVero/Falso
8
PASSAGGIO DAL SISTEMA DECIMALE AL SISTEMA
BINARIO
Per passare da decimale a binario si ricorre all‟algoritmo della
divisione:
- il numero viene diviso per 2
- il resto della prima divisione costituisce la cifra meno significativa
(l‟ultimo resto rappresenta la cifra più significativa)
- si procede sul quoziente fino a quando quest‟ultimo non si
annulla
9
PASSAGGIO DAL SISTEMA DECIMALE AL SISTEMA
BINARIO
- La sigla LSB sta per Least Significant Bit, mentre MSB sta per Most
Significant Bit
- La trasposizione da decimale a binario si effettua partendo
dall‟MSB all‟LSB, cioè dall‟ultimo al primo resto della successione
di divisioni effettuate
10
PASSAGGIO DAL SISTEMA BINARIO AL SISTEMA DECIMALE
Avendo un numero binario, per trasformarlo in numero decimale basta
moltiplicare ogni cifra per il rispettivo peso.
La cifra in posizione N si considera moltiplicata per 2^N. Esempio:
Numero binario
1
0
Peso
27
26 25 2 4 23 22 21 20
Valore decimale 128 0
0
1
1
0 16 8
0
0
1
2
1
1
Successivamente si sommano i risultati ottenuti per ottenere il numero
decimale
Il valore decimale corrispondente al numero binario 10011011 è
128+0+0+16+8+0+2+1=155
11
Archittetura di un elaboratore
La macchina di Von Neumann
 Il processore estrae le istruzioni dalla memoria e le esegue, le




12
istruzioni comportano:
 Operazioni di manipolazione dei dati
 Operazioni di trasferimento dei dati
I trasferimenti di dati attraverso elementi funzionali diversi
avvengono attraverso il bus di sistema
Le fasi di elaborazione si susseguono in modo sincrono rispetto
ad un orologio di sistema (clock)
Durante ogni intervallo di tempo la Cpu stabilisce la funzione da
svolgere
L‟intera macchina opera in maniera sequenziale
ARCHITETTURA DI UN ELABORATORE
L‟elaboratore può essere rappresentato dallo schema logico
definito da Von Neumann negli anni „40
Memoria centrale
13
ESTENSIONE DELL’ARCHITETTURA DI VON
NEUMANN E CALCOLO PARALLELO 1/3
 Ad oggi gli elaboratori seguono i principi fondamentali
dell‟architettura di Von Neumann, con l‟aggiunta di
nuove soluzioni per migliorare le prestazioni:
- Processori dedicati per l‟esecuzione di operazioni
specifiche in parallelo alla CPU in modo efficiente
- Macchine parallele o multiprocessore in grado di
effettuare calcoli complicati con notevole velocità
14
ESTENSIONE DELL’ARCHITETTURA DI VON
NEUMANN E CALCOLO PARALLELO 2/3
 Il Calcolo Parallelo consiste in un‟evoluzione del calcolo
seriale, e consente l‟esecuzione simultanea di un operazione
su più CPU dello stesso elaboratore, al fine di velocizzare le
prestazioni complessive del sistema
 Alcune applicazioni di tali sistemi sono utilizzate per:
- Previsioni del tempo
- Simulazioni reazioni chimiche
- Applicazioni commerciali
 Il Calcolo Parallelo è funzionale alla risoluzione di problemi
complessi e/o per risparmiare tempo
15
ESTENSIONE DELL’ARCHITETTURA DI VON
NEUMANN E CALCOLO PARALLELO 3/3
ATTENZIONE!!!
Il computer, seppur dotato di più microprocessori (come
ad esempio i sistemi dotati di tecnologia Dual Core o
Quad Core) funzionano sempre e comunque in modo
sequenziale e mai simultaneo!
La sfida futura su cui lavorano le aziende informatiche è
quella di riuscire a progettare dei microprocessori in
grado di eseguire più operazioni differenti
contemporaneamente
16
HARDWARE: LA CPU
L‟unità Centrale di Elaborazione CPU (Central Processing
Unit) è il microchip presente sulla scheda madre
(Motherboard) del computer, elabora i dati in ingresso e
fornisce una risposta in uscita.
La CPU ha il compito di eseguire le istruzioni fornite dal
programma in quel momento residente in memoria
centrale e di sovrintendere alle operazioni di
trasferimento dei dati tra quest‟ultima e le periferiche. La
CPU raggruppa le funzioni di calcolo, controllo e di
supervisione.
17
HARDWARE: LA CPU
All‟interno della CPU si possono distinguere tre parti
funzionali:
•Unità di Controllo (UC): controlla le operazioni di ingresso
e uscita dei dati. Si occupa del controllo e
dell‟organizzazione delle attività svolte dai dispositivi
collegati al computer.
•ALU (Arithmetic Logic Unit): esegue le istruzioni di
calcolo e di confronto tra dati;
•Registri: sono aree di memoria temporanee di limitata
capacità, che contengono quei dati ed istruzioni da elaborare
in tempi immediati
18
HARDWARE: LA CPU
Ai/dai bus esterni
REGISTRI
CU
Ai/dai bus esterni
ALU
CPU
19
HARDWARE: LA CPU
• La potenza di calcolo delle istruzioni della CPU è misurata in
MIPS (Milioni di Istruzioni per Secondo) mentre la sua
velocità è misurata in Megahertz (MHz) o Gigahertz (GHz)
• Il microprocessore va raffreddato perché il trasferimento
delle informazioni è fisico
Grazie agli sviluppi tecnologici si riesce a ridurre
costantemente le dimensioni della CPU: in questo modo
aumenta la frequenza (circuiteria più compatta)
Maggiore è la frequenza, più si produce calore e tanto
maggiore è il raffreddamento necessario
20
Evoluzione delle Cpu
21
CPU
Anno
Frequenza
MHz
Dimensione
registri – bus dati
Numero
transistor
8086
1978
4.77 – 12
8 -16
29‟000
80286
1982
8 – 16
16 – 16
134‟000
80386
1986
16 – 33
32 - 32
275‟000
80486
1989
33 – 50
32 – 32
1‟200‟000
Pentium
1993
60 – 200
32 -64
3‟100‟000
Pentium II
1997
233 – 400
32 -64
7‟500‟000
Pentium III
1999
450 – 1133
32 -64
24‟000‟000
Pentium IV
2000
1600 - 2000
32 -64
42‟000‟000
HARDWARE: IL BUS
Il BUS è il componente del calcolatore dedicato al
trasferimento dei dati e delle informazioni di controllo tra le
varie parti del calcolatore
L‟idea alla base del BUS è la seguente:
• nel calcolatore è necessario collegare tutti i componenti
tra di loro (per permettere lo scambio di dati tra
componenti)
• ci sono due modalità per collegare un insieme di
componenti; collegare ciascun componente con ogni
altro componente o collegare tutti i componenti a un
unico insieme di linee (il BUS, appunto)
22
HARDWARE: IL BUS
A seconda delle funzioni esercitate, si individuano:
- Data Bus, che funziona in modo bi-direzionale e
trasferisce i dati da una componente all‟altra del sistema
- Address Bus, che serve per trasmettere l‟indirizzo che
individua in modo univoco una cella di memoria ai fini di
un‟operazione di scrittura o di lettura; opera in modo
unidirezionale
- Control Bus, utilizzato dal microprocessore per inviare al
dispositivo collegato il codice dell‟operazione da svolgere;
anche quest‟ultimo opera in modo unidirezionale
23
HARDWARE: IL BUS
Pregi:
-Semplicità, esiste una singola linea di connessione
utilizzata per collegare i diversi dispositivi alla CPU o fra di
loro
-Estendibilità, nuovi dispositivi possono essere aggiunti in
modo semplice con modifiche marginali all‟intero sistema
-Standardizzazione, possono essere definite delle
normative grazie alle quali, periferiche di costruttori diversi,
interagiscano correttamente
24
HARDWARE: IL BUS
Limiti:
-Lentezza e limitata capacità, il bus rappresenta il collo
di bottiglia del sistema in quanto può trasportare 64bit per
volta; il bus può svolgere migliaia di operazioni al secondo
quando invece la CPU è in grado di svolgerne milioni
-Sovraccarico della CPU, il microprocessore viene
coinvolto in tutte le operazioni di trasferimento dati, anche
in quelle fra due periferiche; sono necessari quindi ulteriori
dispositivi in grado di pilotare il bus senza l‟intervento della
CPU
25
HARDWARE: UNITA’ DI INPUT
•Tastiera;
•Mouse:
•Trackball;
•Touch pad;
•Joystick;
•Scanner (spesso usato con un OCR – Optical Character Recognition);
•Penna ottica;
•Fotocamera digitale/web cam;
•Microfono;
26
HARDWARE: UNITA’ DI OUTPUT
•Schermo;
•Stampante
•Plotter;
•Casse acustiche e cuffie;
•Videoproiettore.
27
CONNETTORI E CONNESSIONI 1/2
Il collegamento delle apparecchiature hardware di input e di output
con il computer avviene tramite apposite porte di connessione. Ad
esempio:
• La porta seriale usata di solito da mouse e modem. È identificata
dalla sigla COM (COM1,COM2,ecc..). Trasporta 1 bit per
volta, ha una velocità massima = 115 Kbps
• La porta parallela usata dalla stampante e scanner, è identificata
dalla sigla LPT1. Trasporta 8 bit alla volta, velocità massima
= 150 Kb/sec
Evoluzione
28
CONNETTORI E CONNESSIONI 2/2
• La
porta
USB (Universal Serial Bus) nata come
evoluzione/sostituzione della porta seriale/parallela.
• velocità = 12 Mbit/sec, collega fino a 127 periferiche in
cascata
• alimenta direttamente le periferiche
• è plug & play
•La USB 2.0 del 1999 ha una velocità massima = 480 Mbps
• La porta PS/2 presente sul retro di ogni PC. Espressamente
dedicata a mouse e tastiera.
29
CONNETTORI E CONNESSIONI
Immagine
30