I componenti del computer: l’hardware - Dipartimento di ...guerrini/html/Hard_CNP.pdf · SPM...

39
Calcolo Numerico e Programmazione I componenti del computer: l’hardware Curtin et al., Informatica di base, cap. 3,4,5. Ceri, Mandrioli, Sbattella, Informatica: Arte e Mestiere, Mc Graw-Hill, 1999.

Transcript of I componenti del computer: l’hardware - Dipartimento di ...guerrini/html/Hard_CNP.pdf · SPM...

Calcolo Numerico e Programmazione

I componenti del computer: l’hardware

Curtin et al., Informatica di base, cap. 3,4,5.Ceri, Mandrioli, Sbattella, Informatica: Arte e Mestiere, Mc Graw-Hill, 1999.

Calcolo Numerico e Programmazione

Hardware e Software

Hardware: qualsiasi dispositivo fisico tangibile, in grado di eseguire una qualche attivita’ nell’elaborazione dell’informazione all’interno diun sistema informatico.

Software:sequenze di istruzioni che guidano l’hardware e definiscono con precisione l’esecuzione di un dato compito.

Calcolo Numerico e Programmazione

Tipi di elaboratore

Supercomputer: hanno elevatissime capacità di calcolo e di solito contengono piu’ unità di calcolo. Esempi: Cray, SPM (calcolatori paralleli), presso CINECA (Centro Interuniversitario di Calcolo, Bologna). www.cineca.itMainframe: potente elaboratore che svolge funzioni centralizzate, di solito di contabilità o amministrative.Server: e’ una denominazione della funzionalità del computer che gestisce altri computer connessi a lui in rete.Personal Computer (PC) : computer di basso costo che possono elaborare in modo autonomo. Esempi: desktop, workstation.

Calcolo Numerico e Programmazione

La macchina di Von Neumann

Calcolo Numerico e Programmazione

La macchina di Von Neumann

Componenti fondamentali:Unita’ di elaborazione (CPU): contiene I dispositivi elettronici in grado di acquisire, interpretare ed eseguire le istruzioni. E’ divisa in due parti: Unita’ di controllo (UC) e Unita’ Aritmetico –logica (ALU).Memoria centrale: contiene istruzioni e dati.Periferiche: permettono lo scambio di informazioni fra l’elaboratore e l’esterno. Le periferiche comprendono anche le memorie secondarie o memorie di massa.

Calcolo Numerico e Programmazione

L’interazione fra CPU e memoria:ciclo macchina

1. Caricamento (fetch): l’UC preleva l’istruzione successiva presente in memoria .

2. Decodifica (Decode):l’UC interpreta l’istruzione e trasferisce I dati a cui questa fa riferimento dalla memoria alla ALU.

3. Esecuzione (Execute): la ALU esegue l’operazione logica o aritmetica richiesta dall’istruzione.

4. Memorizzazione (Store):I risultati delle operazioni svolte sono memorizzati nella memoria.

Calcolo Numerico e Programmazione

L’interazione fra CPU e memoria:ciclo macchina

Nella macchina di Von Neumann le fasi di elaborazione si succedono in modo sincrono rispetto alla scansione temporale di un orologio di sistema (Clock).

Modelli evoluti di questa architettura prevedono di introdurre varie forme di parallelismo, cioe’ esecuzione contemporanea delle attivita’ di elaborazione.

Calcolo Numerico e Programmazione

La scheda madre

La scheda madre contiene quasi tutti i circuiti a cui sono collegati i dispositivi interni del calcolatore.

Calcolo Numerico e Programmazione

La memoria: BIT e BYTE

L’informazione viene codificata in modo binario, ossia in una sequenza finita di 1 e di 0.La più piccola unità di informazione memorizzabile o elaborabile è il bit (binary digit) che corrisponde allo stato di un dispositivo fisico che ha due possibili stati:differente tensione elettrica (alta o bassa in

memoria centrale), differente stato di polarizzazione magnetica (positiva o negativa nelle memorie secondarie), alternanza fra luce e buio nella trasmissione dati.

Calcolo Numerico e Programmazione

La memoria: BIT e BYTE

L’unita’ minima del linguaggio digitale e’ il bit.1 byte= 8bit2 10 byte= 1 Kilobyte (1KB)2 10 KB=1 Megabyte (1MB)2 10 MB= 1 Gigabyte (1GB)2 10 GB= 1 Terabyte (1 TB)

Calcolo Numerico e Programmazione

La memoria centrale

Concettualmente e’ una sequenza di celle, ciscuna delle quali contiene una parola (word).Le parole di uno stesso elaboratore hanno tuttela stessa lunghezza (32 o 64 bit di solito).Ciascuna cella di memoria puo’ essere indirizzata, cioe’ viene associata in modo univoco ad un indirizzo.L’indirizzamento della memoria avviene tramiteun registro, detto registro degli indirizzi.

Calcolo Numerico e Programmazione

La memoria centrale :schema di funzionamento

Calcolo Numerico e Programmazione

La memoria centrale

RAM (Random Access Memory): memoriavolatile, modificabile. Mantiene memorizzati I programmi che si stanno utilizzando e I dati in fase di elaborazione.La RAM e’ organizzata in moduli (SIMM o

DIMM)

ROM (Read Only Memory): memoria non volatile. Contiene le istruzioni dette firmware.

Calcolo Numerico e Programmazione

L’Unita’ centrale di elaborazione(CPU)

La CPU contiene : Unita’ di controllo (UC), Unita’ Aritmetico Logica(ALU),Clock di sistemaREGISTRI:Registro: piccola porzione di memoria capace di memorizzare una sequenza di bit (di solito 1 o piu’parole)Registro dati (DR)Registro indirizzi (AR)

Calcolo Numerico e Programmazione

L’Unita’ centrale di elaborazione(CPU)

Registro istruzione corrente (CIR). Contiene, istanteper istante, l’istruzione in esecuzione.Contatore di programma (Program Counter PC). Contiene, istante per istante, l’indirizzo della prossima istruzione che deve essere eseguita.Registro contatore di programma (Program Counter PC). Contiene, istante per istante, l’indirizzo della prossima istruzione che deve essere eseguita.Registro interruzioni (Interrupt register INTR). Contiene informazioni sullo stato delle periferiche.Registri contenenti operandi e risultati delle ultime operazioni fatte.Registri di lavoro.

Calcolo Numerico e Programmazione

L’Unita’ centrale di elaborazione(CPU)

La velocita’della CPU viene misurata in Megahertz (milioni di cicli al secondo, misuraticon il clock del processore).N.B. Processori di tipo diverso non vanno confrontati sulla base del ciclo di clock.MIPS (milioni di istruzioni per secondo)Legge di Joy: MIPS=2(anno-1984)

Calcolo Numerico e Programmazione

I bus

I bus sono collegamenti che permettono la trasmissione delle informazioni tra I vari componenti del sistema. Numero di linee determina l’ampiezza del bus. 32 o 64 bit.

Bus di sistema. Collega la CPU ad altri dispositividel computer, fra cui la memoria. In ogni istante di tempo il bus collega due unita’ funzionali: una trasmette I dati e l’altra li riceve,questo processo viene controllato dall’unita’ centrale di elaborazione.

Calcolo Numerico e Programmazione

I bus

Le linee del bus vengono suddivise in tre categorie:Bus dati: Trasferisce dati Bus indirizzi: trasferisce indirizzi; per esempio contenuto del registro indirizzi dall’unita’ di elaborazione centrale alla memoria.Bus controlli: trasferisce un codice corrispondente all’istruzione da eseguire.

Calcolo Numerico e Programmazione

Esempio: operazione di lettura

La CPU:1. Carica l’indirizzo della parola da leggere nel

registro indirizzi e lo trasmette alla RAM tramite il bus indirizzi.

2. Richiede un’operazione di lettura inviando il codice del comando tramite bus controlli.

La RAM:3. Sposta tramite bus dati il contenuto della parola

indirizzata nel registro dati.4. Segnala alla CPU tramite bus controlli, che

l’operazione e’ terminata.

Calcolo Numerico e Programmazione

Slot di espansione

Agli slot di espansione presenti sulla scheda madre si possono inserire le schede degli adattatori.Le schede degli adattatori sono collegate al bus di sistema.Possono avere diverse funzioni: collegarsi a Internet (modem), utilizzare fax, scanner, audio ecc.

Calcolo Numerico e Programmazione

Le memorie secondarie

Sono costituite da due elementi distinti:1. Il dispositivo di memorizzazione: ha la funzione

di scrivere/leggere I dati sul supporto.2. Il supporto di memorizzazione: e’ il

componente fisico su cui vengono memorizzati I dati.Tipi di supporto:memoria magnetica (nastri, dischi)Memoria ottica (compact disc, DVD)

Memoria magneto-ottica(dischi magneto-ottici)

Calcolo Numerico e Programmazione

Le memorie secondarie

Le memorie secondarie presenti in un PC sono:disco fisso (possono essercene piu’ di uno)Floppy diskCompact Disk e/o DVDUnità nastro per il backup (opzionale)

Calcolo Numerico e Programmazione

Le memorie secondarie

Caratteristiche della memoria:1. Accesso: Sequenziale (nastro), diretto (dischi o

cd)2. Formattazione: suddivisione del disco in tracce e

settori3. Velocita’: velocita’ di accesso (ai dati sul supporto)

+ velocita’ di trasferimento (dei dati dalla memoria secondaria alla memoria centrale RAM).I dischi fissi (HD) offrono la velocita’ piu’ alta di solito.

4. Capacita’ di memorizzazione: quantita’ di dati che un supporto e’ in grado di memorizzare. HD >10 GB,CD <1GB,floppy 1,4MB.

Calcolo Numerico e Programmazione

Le memorie secondarie:il disco fisso

Controller del disco fisso: interfaccia per comunicare con l’elaboratore. Esempi: IDE (piu’ vecchia), EIDE, SCSI (piu’ veloce).

Calcolo Numerico e Programmazione

IL backup dei dati

Backup: copia di tutti I dati (o almeno dei piu’ importanti) .Perche’? Si possono verificare frequentemente incidenti che causano la perdita dei dati sul disco fisso.Dove? Floppy disk, per limitate quantita’ di dati (poco sicuro); CD , dischi fissi removibili oppure unita’ nastro (maggiore capacita’ di memorizzazione).

Calcolo Numerico e Programmazione

Le periferiche di input/output La comunicazione con le periferiche avviene tramite porte.Le porte sono degli alloggiamenti, di solito posti sulretro, in cui vengono inseriti I cavi delle periferiche.Porte seriali (porte di comunicazione asincrona): Due linee per inviare e ricevere dati; un bit per volta.Porte parallele (interfacce centronics): 8 bit per volta.Porte SCSI (Small Computer System interface): permettono di collegare più dispositivi alla stessa porta .Porte USB (Universal Serial Bus): più veloci; possono collegare fino a 127 dispositivi ad una sola porta.Porte Firewire (IEEE 1394): tecnologia più potente di USB.

Calcolo Numerico e Programmazione

Le periferiche di input

Input di testo: Tastiera (par. 4.2)Scanner (riconoscimento ottico dei caratteriOCR). Il testo viene convertito dalla forma stampata a quella elettronica (par. 4.3)

Calcolo Numerico e Programmazione

Le periferiche di input

Input di dati (par. 4.2)1. Lettore di codici a barre.2. Riconoscimento vocale.

Input di grafica (par. 4.3)1. Scanner grafico (scanner piano oppure a

tamburo). Per le immagini a colori sono necessari tre filtri per leggere verde,rosso e blu(scala RGB).

Calcolo Numerico e Programmazione

Le periferiche di input

Strumenti di puntamento (par. 4.6)1. Mouse2. Puntatori di gomma3. Joystick ecc.

Calcolo Numerico e Programmazione

Le periferiche di output

1. Schermo o monitor (par. 4.10)con tubo a raggi catodici (CRT);a schermo piatto. 4 princiapli tipi di tecnologie: display a cristalli liquidi, a plasma a colori, elettroluminescenti, a emissione di campo.

2. Stampante (4.12-4.14)LaserA getto d’inchiostroA matrice di punti

3. Plotter

Calcolo Numerico e Programmazione

Output di testo: I font

Font: tipo di carattere con uno stile e una forma propri.Caratteristiche: Tipo :esempi più comuni: Courier, Times Nedw Roman, Arial, Franklin, Bookman ….Stile: Normale, Grassetto, Corsivo,…

Dimensione: 24 punti, 14 punti, 40 punti ….

Calcolo Numerico e Programmazione

Output grafico: la risoluzione

Risoluzione: indica la qualita’ di un’immagine visualizzata sullo schermo o stampata.Pixel (picture element): lo schermo e’ diviso in pixel.Risoluzione di 640x480 (VGA), 800x600 (SVGA) , 1280x960 . . .Il numero totale di pixel nello schermo dipende dalla risoluzione utilizzata. Ad ogni pixel viene assegnato un indirizzo (bit mapping)Punti per pollice (dots per inch (DPI)): misura la risoluzione di una stampante.Risoluzione 600dpi, 1200 dpi . . .

Calcolo Numerico e Programmazione

Output grafico: la risoluzioneRapporto fra risoluzione e grandezza dell’immagine:

Calcolo Numerico e Programmazione

Output grafico: I colori

Gamma dei colori: a ciascun pixel viene assegnato un colore o una gradazione di grigio.Corrispondenza biunivoca fra pixel e numero del colore assegnato in una tavolozza di colori disponbili nella scheda video (fino a 16 milioni) (settings schermo impostazioni).Profondita’ di colore: e’ la gamma di colori disponibile. Dipende da quanti bit sono usati per memorizzare I dati di ogni pixel.(1bit = 2 colori; 8 bit=256 colori; 24 bit=16 milioni di colori). Memoria video disponibile.(par. 4.9)

Calcolo Numerico e Programmazione

Output grafico: I colori

Sullo schermo ogni colore e’ rappresentatocome sovrapposizione di 3 colori nelle scale rosso, verde, blu (RGB) (colori primari).

Le stampanti a colori utilizzano cartucce dei colori Cyano, Magenta e Giallo (CMY) (colori sottrattivi) ed eventualmente nero per creare tonalita’ piu scure.

Calcolo Numerico e Programmazione

Estensione alla macchina di Von Neumann

Uso di processori dedicati (coprocessori) che eseguono in “parallelo” compiti specifici.Modifica della struttura del processore, in modo da poter eseguire in parallelo le varie fasi di una istruzione (pipelining).Uso di gerarchie di memorie. Es. Memoriacache, caratterizzata da alta velocita’, in cui vengono trasferite le informazioni di uso piu’ recente o piu’ comune.

Calcolo Numerico e Programmazione

Estensione alla macchina di Von Neumann

Uso di processori dedicati (canali di ingresso-uscita) per trasferire grandi quantita’ di dati dalla memoria secondaria a quella centrale senza interferire con la CPU.

Architetture multiprocessore: sono dotate di molteplici processori indipendenti, collegati fra loro da diversi schemi di interconnessione.

Calcolo Numerico e Programmazione

Conclusioni

La macchina di Von Neumann come modello per il funzionamento di un elaboratore e sue estensioni.

Caratteristiche delle diverse componentihardware di un elaboratore (PC in particolare).

Alcune caratteristiche dell’output grafico in particolare.

Calcolo Numerico e Programmazione

Esercizi

CD Curtin: sezione 3,4,5.Utilizzare il menu SETTING Control Panel diWindows per controllare le caratteristichehardware dei computer del laboratorio.