Dr. Francesco Fabozzi Corso di Informatica Hardware Dr. Francesco Fabozzi Corso di Informatica
Architettura degli elaboratori Un computer è un sistema Cioè un oggetto costituito da molte parti (componenti) che interagiscono tra di loro Studiare l’architettura di un sistema significa: Individuare le varie componenti Comprenderne i principi di funzionamento Comprendere le loro interazioni
La macchina di Von Neumann L’architettura dell’hardware di un elaboratore può essere molto complessa Nel seguito illustreremo un modello semplificato di elaboratore: la macchina di Von Neumann Von Neumann: progettista ungherese del primo elaboratore dove i programmi potevano essere memorizzati
Funzionalità in un elaboratore Nella macchina di Von Neumann un elaboratore è descritto in termini di componenti funzionali, ciascuna preposta a una certa attività Elaborazione Unità di elaborazione Controllo Memorizzazione Memoria Trasferimento Bus di sistema Scambio dati con l’utente Periferiche
Schema della macchina di Von N. 4 componenti funzionali Memoria Unità di Elaborazione Periferiche Bus di sistema Nella macchina di Von Neumann le fasi di elaborazione si susseguono in sincronismo con una scansione temporale (presenza di un orologio interno detto “clock”)
Schema della macchina di Von N. Unità di elaborazione Insieme di dispositivi elettronici per acquisire, interpretare, eseguire istruzioni Controllo delle altre componenti funzionali Memoria Contiene dati e istruzioni relative ai programmi Periferiche Dispositivi che permettono lo scambio di informazioni tra l’elaboratore e l’esterno Bus di sistema Consente il collegamento tra i vari elementi funzionali della macchina
Evoluzione della macchina di Von N. Limite della macchina di Von Neumann Stretta sequenzialità delle operazioni Modifiche allo schema Aggiunta di processori dedicati Coprocessore matematico Processore grafico Diversificazione della memoria
Elementi di un computer Processore (Central Processor Unit - CPU) Svolge le elaborazioni (“esegue i programmi”) Coordina flusso di dati Memoria centrale Memorizza i programmi in esecuzione e i dati relativi Limitata e volatile Tempi di accesso ridotti (“veloce”)
Elementi di un computer Memoria secondaria (“di massa”) Memorizza grosse quantità di dati in modo permanente Tecnologia basata su fenomeni magnetici e ottici Tempi di accesso maggiori
Elementi di un computer Unità periferiche Dispositivi di interfaccia tra elaboratore e ambiente esterno Forniscono dati in ingresso (input) Tastiera, mouse, sensori Presentano dati in uscita (output) Monitor, stampante, altoparlanti
La CPU Circuito elettronico con milioni di transistor che sfrutta tecnologia a semiconduttore “Circuito integrato” Si presenta come singolo “chip” di pochi cm2 Microprocessore La frequenza di lavoro di una CPU è la frequenza degli impulsi di clock. La frequenza si misura in GHz 1GHz = 1 miliardo di impulsi al secondo Un Pentium 4 arriva a frequenze di circa 3 GHz
Schema funzionale di una CPU BUS Dati in ingresso/uscita registri PC Program Counter IR Instruction Register CU ALU CPU Clock
Schema funzionale di una CPU Unità logico-aritmetica (ALU, Arithmetic and Logic Unit) Esegue le operazioni aritmetiche e logiche Registri Elementi di memoria interni alla CPU Immagazzinano temporaneamente istruzioni (IR), risultati parziali, indirizzo della istruzione successiva (PC), informazioni di controllo
Schema funzionale di una CPU Unità di controllo (CU, Control Unit) Cura acquisizione (fetch) delle istruzioni in memoria e loro interpretazione Gestisce acquisizione dati dall’input Gestisce le operazioni della ALU (e quindi l’elaborazione) Orologio interno (clock) Genera un segnale periodico (segnale di clock) A ogni impulso del segnale di clock corrisponde l’esecuzione di un’istruzione
Prestazioni di una CPU L’indicatore delle prestazioni di una CPU è rappresentato dalla velocità di esecuzione delle istruzioni Si misura in Milioni di Istruzioni al Secondo (MIPS) NOTA: la velocità di un processore non è l’unico parametro a determinare le prestazioni complessive di un computer
Prestazioni di una CPU Fattori che determinano la velocità di esecuzione delle istruzioni Frequenza di clock Dimensioni dei registri Registri più grandi una singola istruzione può operare su dati più grandi Insieme delle istruzioni che possono essere eseguite (instruction set) La CPU può eseguire solo istruzioni semplici (ex. addizione) o anche istruzioni complesse (ex. moltiplicazione)? Processori RISC e CISC
RISC e CISC Processori RISC Processori CISC Reduced Instruction Set Computer Svolgono solo istruzioni semplici che terminano in un ciclo di clock Ex.: processori della AMD Processori CISC Complex instruction Set Computer Possiedono istruzioni complesse eseguite in più cicli di clock Ex.: processori della famiglia Intel
La memoria Rappresenta il “deposito” di istruzioni e dati Soluzione ideale per velocità di accesso e ingombro: Implementare la memoria come registri interni al processore e con tecnologie a semiconduttore MA soluzione costosa! Soluzione di compromesso: Gerarchie di memoria (escludendo i registri interni della CPU): Memoria cache Memoria centrale Memoria secondaria
Memoria cache Ad altissima velocità, di piccole dimensioni, costosa Contiene dati più frequentemente usati dalla CPU Un dato viene prima cercato nella cache Se si trova nella cache viene velocemente caricato nei registri del processore Se non è trovato viene preso dalla memoria centrale, con tempi di accesso più lenti, e viene aggiornato il contenuto della cache
Memoria centrale Contiene istruzioni da eseguire e dati Memoria veloce e di piccolo ingombro Tecnologia a semiconduttore Ogni dato si trova in una cella detta locazione di memoria Ogni locazione è individuata da un indirizzo Tempo di accesso: tempo per leggere un dato in una qualsiasi locazione (circa decine di ns) Due tipi: RAM e ROM locazione 1 locazione 2 locazione 3 indirizzo 1 indirizzo 2 indirizzo 3
Memoria RAM Random Access Memory Cancellabile e riscrivibile Volatile (perde il contenuto se il computer viene spento) Random = accesso ai dati è diretto e non sequenziale Contiene i programmi in esecuzione e i dati su cui operano La sua capacità influenza la grandezza e la complessità dei programmi che possono girare sulla macchina
Capacità della memoria Una cifra si dice binaria (bit) quando può assumere solo due valori: 0 oppure 1 In un elaboratore un dato o un’istruzione è rappresentato mediante una sequenza di n cifre binarie Il contenuto di una locazione di memoria è pertanto una sequenza di 0 e 1 Tipicamente n =8, 16, 32, 64 Esempio: memoria contenente dati a 16 bit 1 locazione 1 1 locazione 2 1 locazione 3 16 bit
Capacità della memoria La capacità di una memoria esprime il massimo numero di bit che può contenere La capacità si misura in byte 1 byte = 8 bit In genere si usano i seguenti multipli Kbyte (KB) = 1024 byte Mbyte (MB) = 1024 Kbyte Gbyte (GB) = 1024 Mbyte TByte (TB) = 1024 Gbyte Esempio: Una memoria con 512 locazioni che immagazzina dati a 16 bit possiede una capacità di: 512 x16 bit = 1024 x 8 bit = 1024 byte = 1Kbyte
Memoria ROM Read Only Memory Viene scritta all’atto della costruzione Non è modificabile, può essere solo letta Non volatile Tipicamente contiene i programmi usati frequentemente dal computer (firmware) Ex.: Programma di inizializzazione (bootstrap) che parte quando il computer viene acceso
Memoria secondaria Detta anche “memoria di massa” Registra dati e programmi in modo permanente Si differenziano per capacità, velocità, costo Due tipologie: Dischi Dati registrati su piste ottiche o magnetiche concentriche disposte sulla superficie di piatti Accesso random Nastri magnetici Dati registrati lungo una fettuccia magnetizzata Accesso sequenziale
Hard disk o disco rigido Principale sistema di memorizzazione di massa Non estraibile All’interno del “case” del computer, ma anche unità periferica esterna
Hard disk o disco rigido Costituito da una pila di dischi Entrambi i lati di ogni disco sono ricoperti da un sottile strato di materiale magnetico A computer acceso i dischi girano ad alta velocità Migliaia di giri al minuto (Round Per Minute - RPM) Per ogni superficie di un disco c’e’ una testina magnetica che scrive/legge i dati Tutte le testine magnetiche sono montate su un unico braccio e si muovono in maniera solidale
Hard disk o disco fisso Pila di dischi tracce Ogni superficie è divisa in una serie di tracce concentriche I piatti sono alloggiati in un involucro chiuso e sottovuoto Dischi rigidi con capacità di 40 GB sono molto comuni Sono in commercio anche dischi con capacità di 200 GB Confronta con capacità di una RAM ~ 512 MB
Memoria virtuale Tutti i dati e i programmi sono memorizzati in modo permanente nel disco rigido Viene caricato nella RAM solo il programma da eseguirsi e i dati corrispondenti Se un programma ha bisogno di una RAM molto grande rispetto a quella a disposizione, allora una parte del disco rigido viene usata come RAM (memoria virtuale)
Floppy disk o dischetto Il più semplice dispositivo di memoria secondaria Costituito da un solo disco magnetico chiuso da una custodia quadrata in plastica con portellino scorrevole Il disco ruota sotto una coppia di testine magnetiche per lettura/scrittura
Floppy disk o dischetto Dispositivo estraibile Il disco viene inserito in apposita unità di lettura e scrittura (unità floppy) Basso costo ma… … lento e di capacità limitata (1.44 MB) Usato per trasferire dati da un PC a un altro
CD-ROM Compact Disk – Read Only Memory Dispositivi che consentono di immagazzinare dati attraverso la registrazione ottica Un raggio laser crea sottili scanalature sulla superficie del disco creando un’alternanza di zone chiare (riflettono la luce) e scure (assorbono la luce) che sono fatte corrispondere ai bit 0 e 1
CD-ROM Il dispositivo periferico per scrivere un CD-ROM si chiama masterizzatore CD-R (possono essere scritti una sola volta) CD-WR (possono essere scritti più volte) I dati sono registrati lungo una singola traccia a spirale dall’esterno verso l’interno La lettura è fatta tramite un raggio laser inviato sul disco in rotazione e decodificando la luce riflessa
CD-ROM Capacità fino a 870 MB Usato per memorizzare il sistema operativo o programmi applicativi di grandi dimensioni Usato per immagazzinare e distribuire grossi quantitativi di informazioni (enciclopedie, elenchi telefonici) La velocità di accesso ai dati non è alta
DVD Digital Versatile Disk Simile a un CD-ROM (sempre tecnologia ottica) ma di maggiore capacità Può contenere da 4 a 17 GB di dati Utilizzato per contenere film digitali Può memorizzare un intero film compresso + 3 canali audio alta qualità + 4 canali per sottotitoli Necessita di un’apposito lettore Il lettore DVD può leggere i CD-ROM ma non viceversa
Nastri magnetici Usati nei grossi sistemi di elaborazione per fare copie di sicurezza (backup) del contenuto degli hard disk Per evitare di perdere dati in caso di guasti Elevata capacità (alcune decine di GB) Riscrivibili, portatili, economici Ma bassa velocità in lettura/scrittura Nota: l’accesso ai dati in lettura è sequenziale
Il bus di sistema Collegamento tra la CPU e le altre componenti funzionali di un elaboratore Fisicamente un bus è costituito da una serie di connessioni elettriche lungo le quali è trasferita l’informazione Tre tipi di bus Bus dati Bus indirizzi Bus controlli
Il bus di sistema Bus dati Bus indirizzi Bus controlli Per il trasferimento bidirezionale dei dati dalla CPU alla memoria centrale o alle periferiche Bus indirizzi Bus unidirezionale, per la trasmissione degli indirizzi dalla CPU alla memoria centrale Bus controlli Bus bidirezionale, per il trasferimento dalla CPU a una certa unità dell’istruzione da eseguire e per la trasmissione alla CPU del segnale di compiuta operazione
La scheda madre I principali componenti di un computer sono collocati su una scheda elettronica detta scheda madre (mother board) Microprocessore, memoria centrale, cache, altri microcircuiti Sono previsti connettori per l’inserzione di schede di interfaccia con dispositivi interni o esterni (schede di espansione) E’ dotata di una serie di bus per lo scambio di dati con le periferiche Ad ex. bus PCI
La scheda madre Porte di I/O Attacchi per schede PCI Zoccolo per il microprocessore Prese per l’alimentazione Prese per i cavi dei dischi Zoccoli per la RAM
Il bus PCI Periferal Component Interconnect Bus sviluppato dall’Intel per velocizzare il trasferimento dei dati alle periferiche Reso necessario in seguito all’aumento della velocità delle CPU Velocità di trasferimento dei dati = 256MBps MBps = MegaByte per second
Schede di espansione Espandono le funzioni della scheda madre e permettono di pilotare dispositivi interni o esterni Scheda video Pilota il monitor e determina risoluzione, numero di colori, velocità grafica Dotata di memoria locale per accelerare la ricostruzione delle immagini Scheda audio Pilota dispositivi audio (ad ex. casse acustiche) Scheda di rete Permette l’accesso diretto alla rete (senza modem)
Periferiche di ingresso Consentono di acquisire dati dal mondo esterno Diversi dispositivi a seconda del tipo di dato da inserire Tastiera, mouse, joystick, touchpad, scanner, telecamera, microfono, …
La tastiera Consente l’immissione di stringhe di caratteri Deriva dalla macchina da scrivere e ne conserva la forma E’ dotata di tasti speciali (F1, …, F12) la cui funzione dipende dal sistema operativo o può essere programmata dall’utente E’ dotata di un tastierino numerico e di tasti per il controllo del cursore sul lato destro
Periferiche di uscita Dispositivi per ottenere all’esterno i risultati delle elaborazioni Si distinguono a seconda del supporto fisico su cui sono forniti i risultati Monitor, stampanti, casse acustiche, macchine a controllo numerico…
Il monitor Visualizza il risultato delle elaborazioni e i dati immessi dalla tastiera Per creare un’immagine lo schermo viene diviso in una griglia di piccoli elementi di immagine detti pixel Fino a 800000 pixels La dimensione di un monitor è misurata in pollici come per i televisori
Il monitor Tubo a raggi catodici (CRT) Cristalli liquidi (LCD) Tecnologia simile a quella di una TV ma con risoluzione molto più alta Per generare i colori ogni pixel viene diviso in 3 punti di diverso colore (rosso, verde, blu); il colore è determinato dalla diversa luminosità dei punti La dimensione dei punti si chiama dot pitch (0.26 mm) Cristalli liquidi (LCD) I colori sono generati da un sottile strato di fosfori rossi, verdi e blu investito da una luce proveniente dal fondo dello schermo Profondità dello schermo < 10 cm Plasma (PDP) Tecnologia basata sulle proprietà dei gas nobili Permettono di realizzare monitor di ampie dimensioni e sottili (profondità circa 6 mm)
Il monitor Risoluzione Altre caratteristiche dei monitor Indica la qualità dell’immagine visualizzata E’ data dalla quantità di pixel espressa come prodotto dei pixel su una riga per i pixel su una colonna dello schermo Ex. 800 x 600, 1024 x 768 Altre caratteristiche dei monitor Gamma di colori rappresentati (fino a qualche milione) Frequenza di scansione (quante volte in un secondo l’immagine sullo schermo viene rinnovata)
La stampante Consente di stampare su carta l’output di un’elaborazione La risoluzione è data dal massimo numero di punti stampabili per pollice (dot per inch, dpi) Risoluzioni tipiche circa 1200 dpi A getto di inchiostro (inkjet) Creano i caratteri come una serie di punti di inchiostro Risoluzione max circa 1200 dpi Piccola, economica ma stampe di qualità non elevata Laser Stampa una pagina per volta Funzionamento simile a quello di una fotocopiatrice Stampe di elevata qualità, ma costose e non piccole
Il modem Modulatore-demodulatore Consente il collegamento in rete attraverso la linea telefonica Dispositivo di ingresso e uscita In ingresso: trasforma impulsi elettrici provenienti dalla linea telefonica in dati digitali, trattabili da un elaboratore In uscita: trasforma dati digitali in impulsi elettrici e li invia sulla linea telefonica La velocità di trasferimento dati si misura in Kbit per secondo (Kbps)
Il modem Standard ISDN (Integrated Services Digital Network) Per la connessione a una normale linea telefonica (56 Kbps) ISDN (Integrated Services Digital Network) Per la connessione a una linea ISDN La tecnologia ISDN è sempre basata sulle linee telefoniche ma consente la trasmissione di dati in forma digitale sulla linea (64 Kbps per canale) Offre tre canali di trasmissione Consente l’uso contemporaneo del telefono
Il modem ADSL (Asymmetrical Digital Subscriber Line) GPRS La tecnologia ADSL utilizza la normale linea telefonica ma sfruttandone tutte le potenzialità Consente una velocità di trasmissione 640 Kbps L’utente è permanentemente connesso in rete GPRS Per collegamento tramite cellulare GPRS (115 Kbps)
Le porte di I/O Prese per la comunicazione con dispositivi esterni Localizzate sul lato posteriore del computer Ciascuna ha un proprio protocollo e velocità di trasmissione
Le porte di I/O Porte PS/2 Porta seriale Porta parallela Per il collegamento del mouse e della tastiera Porta seriale Per il collegamento del modem o dispositivi che non richiedono un flusso di dati molto veloce Porta parallela Per il collegamento di stampante, scanner o dispositivi che richiedono una velocità maggiore della porta seriale
Le porte di I/O Porta SCSI Porta USB (Universal Serial Bus) Più veloce (40 MBps) di una porta parallela Usata per collegare hard disk esterni Porta USB (Universal Serial Bus) Per il collegamento di dispositivi USB Su una sola porta USB possono essere collegati fino a 127 dispositivi in cascata Consente il collegamento a computer acceso del dispositivo
Prestazioni del computer Le prestazioni di un elaboratore sono determinate da diversi fattori Velocità della CPU MIPS Dimensione della memoria centrale Possibilità di caricare tutto il programma e i dati corrispondenti in una memoria ad accesso rapido Velocità delle memorie di massa Quando i dati sono scritti/letti su memorie esterne Presenza di dispositivi per accelerare particolari tipi di operazioni Acceleratori grafici o per il calcolo scientifico Utilizzo contemporaneo di più programmi