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