Componenti principali di un computer Processore Memoria principale Stampante Periferiche del calcolatore Tasteria e monitor Periferiche di input/output Unità centrale Memoria secondaria Componenti principali di un computer Processore Memoria principale Stampante Periferiche del calcolatore Tasteria e monitor Periferiche di input/output Unità centrale Memoria secondaria I programmi • I programmi: sequenze di istruzioni per l’elaborazione delle informazione • Istruzioni macchina – operazioni elementari (somma dei numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) – Le operazione più complesse: sequenze di operazioni elementari – Una sequenza di tali istruzioni: un programma in linguaggio macchina • Il processore: esegue programmi in linguaggio macchina Componenti principali di un computer Processore Bus Interno REGISTRI Unità di controllo … Unità aritmetico logica Memoria principale Unità centrale Program Counter Registro di Stato Registro Istruzioni Registri Generali 8 o 16 Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo Componenti del processore • Il bus permette la comunicazione tra i vari componenti dell’elaboratore • I registri sono usate per mantenere le informazioni di necessità immediata per il processore • L’Unità di controllo: – Esegue le istruzioni dei programmi – Coordina le attività del processore – Controlla il flusso delle istruzioni tra il processore e la memoria • L’Unità aritmetico logica si occupa di eseguire le operazioni di tipo aritmetico/logico – Somme, sottrazioni, …, confronti, … Clock • Abbiamo visto che il processore svolga la sua attività in modo ciclico – Ad ogni ciclo corrisponde l’esecuzione di un’operazione elementare (un’istruzione macchina) • Il clock fornisce una cadenza temporale per l’esecuzione delle operazioni elementari Clock • Consideriamo una ipotesi semplificata in cui ogni battito di clock corrisponde esattamente l’esecuzione di una sola istruzione macchina – La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo – Per tutti i computer del tipo PC, il clock ha circa 66 milione battiti per secondo – Nell’ipotesi simplificata: un PC può eseguire circa 66 milione operazioni per secondo Clock • In realtà, questa ipotesi non è sempre vero – L’esecuzione di una istruzione può richiedere più battiti di clock – Oppure nello stesso ciclo di clock si possono eseguire di istruzioni diverse Depende dal tipo di processore • Per esempio: – Il processore Intel 80286 rechiede 20 battiti del clock per calcolare la moltiplicazione di due numeri – Il processore Intel 80486 può calcolare la moltiplicazione di due numeri usando solo un battito del clock Clock • La frequenza del clock si misura in: – MHz (1 MHz corrisponde circa a un milione di istruzioni elementari/battiti al secondo) – GHz (1 GHz corrisponde circa a un miliardo di istruzioni elemntari/battiti al secondo) • Per esempio: se aquisate un calcolatore e vi dicono che ha un processore a 1 GHz – Vuol dire che il processore è in grado di eseguire (circa) 1 miliardo di istruzioni al secondo Componenti principali di un computer Processore Memoria principale Stampante Periferiche del calcolatore Tasteria e monitor Periferiche di input/output Unità centrale Memoria secondaria Componenti principali di un computer Processore 0 1 2 3 4 5 Memoria principale Unità centrale Sequenza di celle – Ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0) N Memoria principale (RAM) • Conserva i programmi e i dati usati dal processore • È possibile effettuare l’accesso diretto (si può accedere direttamente alle varie celle, una volta noto il loro indirizzo) – Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza Memoria principale (RAM) • Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit • Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura • Una cella può contenere un dato o un’istruzione 0 1 2 3 4 5 N 345 13.200.985 3.890 LOAD 3568 R1 LOAD 56 R1 ADD R1 R2 Memoria principale (RAM) • Le unità di misura della memoria RAM variano a seconda del tipo di calcolatore e vengono espresse in MB • Nei PC generalmente si va dai 128MB ai 512MB • Alcune server hanno 1-2 GB di RAM Memoria principale (RAM) • Alcune prioprietà della memoria principale – Veloce: per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10-9 sec.) – Volatile: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto – Costosa L’Unità centrale: altri tipi di memoria • Memoria di sola lettura (ROM) • Memoria cache • Buffer Memoria di sola lettura (ROM) • • • • Non può essere modificata A differenza della RAM non è volatile Veloce quasi come la RAM Contiene le informazioni di inializzazione usate ogni volta che si accende l’elaboratore (bootstrap) Memoria cache • Livello di memoria intermedio tra i registri e la RAM – Memorizza i dati usati più spesso senza doverli recuperare tutte le volte dalla RAM (che è più lenta) – Influisce moltissimo sulle prestazioni e sul costo della CPU (e quindi del computer) Memoria cache • In genere è interna al processore (cache L1) • Esiste anche una cache secondaria (L2) esterna al processore • È molto più costosa della RAM • Le sue dimensione tipiche vanno dai 256KB a 1MB Buffer • Piccole parti di RAM con funzioni di memoria temporanea • Usati per il passaggio delle informazioni da un programma o dispositivo ad un altro – In Windows si parla di Clipboard, memoria temporanea usata per esempio per le operazioni di Copia e Incolla Componenti principali di un computer Cache L2 Cache L1 Processore ROM Memoria principale Buffer Componenti principali di un computer Processore Memoria principale Stampante Periferiche del calcolatore Tasteria e monitor Periferiche di input/output Unità centrale Memoria secondaria L’uso dell’informazione • Un computer deve: – memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria – elaborare l’informazione • usando il processore (Central Processing Unit - CPU) – fare l’input/output dell’informazione • usando i dispositivi di input/output L’uso dell’informazione • Un computer deve: – memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria – elaborare l’informazione • usando il processore (Central Processing Unit - CPU) – fare l’input/output dell’informazione • usando i dispositivi di input/output Memoria secondaria • Più lenta e meno costosa che la memoria principale • In grado di memorizzare i programmi e i dati in modo permanente • Quando si “lancia” un programma questo viene copiato dalla memoria secondaria (di solito un hard disk) nella memoria principale: caricamento del programma Caricamento del programma • I programmi e i dati risiedono nel memoria secondaria Processore Stampante Memoria principale Memoria secondaria Caricamento del programma • I programmi e i dati risiedono nel memoria secondaria • Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Processore Stampante Memoria principale Memoria secondaria Caricamento del programma • I programmi e i dati risiedono nel memoria secondaria • Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale • Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Stampante Memoria principale Memoria secondaria Memoria secondaria • La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua si utilizzano tecnologie basate: – sul magnetismo • dischi magnetici (hard disk e floppy disk) • nastri magnetici – sull’uso dei raggi laser • dischi ottici (CD-ROM, DVD) Caratteristiche della memoria secondaria • Le dimensioni della memoria secondaria sono di solito molto maggiori di quelle della memoria principale • I supporti di memoria secondaria sono più lenti rispetto alla memoria principale (presenza di dispositivi meccanici) • Non tutti i supporti di memoria secondaria permettono l’accesso diretto ai dati – Alcuni permettono solo un acesso sequenziale (per esempio, nastri magnetici) Caratteristiche della memoria secondaria • La memoria principale permette di indirizzare ogni singolo byte Mentre nel caso della memoria secondaria le informazioni sono organizzate in blocchi di dimensioni più grandi (512 byte, 1 KB, 2 KB) • Si riducono le dimensioni degli indirizzi • Si velocizzano le operazioni di lettura e scrittura La memoria magnetica • Sfrutta il fenomeno fisico della polarizzazione • I due diversi tipi di magnetizzazione (positiva e negativa) corrispondono alle unità elementari di informazione (0 e 1) • La testina di lettura/scrittura cambia la polarizzazione I dischi magnetici • Sono i supporti di memoria secondaria più diffusi • Nel corso delle operazioni i dischi vengono mantenuti in rotazione a velocità costante e le informazioni vengono lette e scritte da testine del tutto simili a quelle utilizzate nelle cassette audio/video I dischi magnetici • I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una fetta di disco – I settori suddividono ogni traccia in porzioni dette blocchi Traccia Testina Blocco Settore I dischi magnetici • La suddivisione della superificie di un disco in tracce e settori viene detta formattazione • Il blocco è dunque la minima unità indirizzabile – Il suo indirizzo è dato da una coppia di numeri che rappresentano il numero della traccia e il numero del settore I dischi magnetici • I dischi magnetici consentono l’accesso diretto – È possibile posizionare direttamente la testina su un qualunque blocco – Per effettuare un’operazione di lettura/scrittura la testina deve “raggiungere” il blocco desiderato • Il disco gira; la testina sposta solo in senso radiale I dischi magnetici • Hard disk: sono dei dischi che vengono utilizzati come supporto di memoria secondaria fisso all’interno del computer – vari GB di memoria • Floppy disk: sono supporti rimovibili – Ogni computer è dotato di almeno una unità di lettura/scrittura – Oggi sono comuni floppy disk da 3,5 pollici di diametro, capacità 1,44 MB La memoria ottica • Usa il raggio laser e sfrutta la riflessione della luce – Il raggio laser viene riflesso in modo diverso da superfici diverse, e si può pensare di utilizzare delle superfici con dei piccolissimi forellini • Ogni unità di superficie può essere forata o non forata • L’informazione viene letta guardando la riflessione del raggio laser La memoria ottica 1 0 1 0 0 1 0 0 1 La memoria ottica 1 0 0 1 I dischi ottici • Quasi tutte le unità per dischi ottici consentono solamente operazioni di lettura (CD-ROM ovvero Compact Disk Read Only Memory) – Poiché la scrittura è un’operazione che richiede delle modifiche fisiche del disco – Quando le unità consentono la scrittura, i dischi ottichi generalmente possono essere scritti una sola volta I dischi ottici • Vengono usati solitamente per la distribuzione dei programmi e come archivi di informazioni che non devono essere modificate • Hanno un capacità di memorizzazione superiore rispetto ai dischi magnetici – Le dimensione tipiche per i dischi ottici utilizzati oggi vanno dai 500 MB in su, fino a uno o più GB – Hanno costo inferiore, sono più affidabili e difficili da rovinare Aumenta la capacità memorizzazione byte Registri KB Mem. cache MB Mem. centrale GB Dischi magnetici e/o ottici >10 GB Nastri magnetici 100*picosecondi nanosecondi 10*nanosecondi microsecondo/ millisecondi 10*millisecondi Aumenta la velocità di accesso L’uso dell’informazione • Un computer deve: – memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria – elaborare l’informazione • usando il processore (Central Processing Unit - CPU) – fare l’input/output dell’informazione • usando i dispositivi di input/output L’uso dell’informazione • Un computer deve: – memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria – elaborare l’informazione • usando il processore (Central Processing Unit - CPU) – fare l’input/output dell’informazione • usando i dispositivi di input/output Componenti principali di un computer Processore Memoria principale Stampante Periferiche del calcolatore Tasteria e monitor Periferiche di input/output Unità centrale Memoria secondaria I dispositivi di input/output • Per realizzare l’interazione uomomacchina, sono necessari i dispositivi di input/output • La loro funzione primaria è quella di consentire – l’immissione dei dati all’interno del computer (input) o – l’uscita dei dati dal computer (output) I dispositivi di input/output • Solitamente hanno limitato autonomia rispetto al processore centrale • Si collegano alle porte (o interfacce) del computer – Ad alto livello le porte sono le “prese” cui si connettono i dispositivi – Ne esistono di tipi diversi a seconda del tipo di collegamento e della velocità di trasmissione I dispositivi di input/output • Operano in modo asincrono rispetto al processore (ne sono “schiavi”) – (Input) Il processore non è in grado di prevedere e di controllare il momento in cui un dato di input sarà a disposizione – (Output) Il processore non può prevedere il momento in cui un dispositivo in output avrà terminato di produrre i dati in uscita I dispositivi di input/output • Un dispositivo di input deve avvertire il processore quando un dato di input è disponibile • Un dispositivo di output deve avvertire il processore quando ha terminato di produrre dati in uscita • Al termine di ogni operazione i dispositivi inviano al processore un segnale, detto interrupt I dispositivi di input/output • Ad ogni ciclo di clock, il processore verifica se sono arrivati dei segnali di interrupt da parte dei dispositivi – Se sono arrivati dei segnali, il processore va ad eseguire le operazioni di gestione dei dispositivi che hanno richiesto l’attenzione – Se non sono arrivati dei segnali, il processore continua ad eseguire il programma corrente I dispositivi di input • La tastiera: il principale strumento di input – Ogni volta che l’utente digita un tasto, la tastiera “avverte” il processore che un carattere è disponibile – Non ha capacità di elaborazione – Un dispositivo di input cieco, nel senso che l’utente non può vedere i dati immessi • La tastiera è utilizzata insieme ad un dispositivo di output su cui vengono visualizzate le informazioni fornite tramite tastiera • La tastiera e il dispositivo di output non sono direttamente collegati tra loro I dispositivi di input • Il mouse: un dispositivo di puntamento – Una freccia indica la posizione del mouse sul video e lo spostamento del mouse sul tavolo viene comunicato al processore, che produce lo spostamento corrispondente della freccia sul video – Una volta raggiunta la posizione desiderata, premendo uno dei pulsanti del mouse si genera un segnale in input che può corrispondere a diverse funzioni I dispositivi di input • Altri dispositivi di input: – Scanner – Lettori di codici a barre – Microfono – Macchina fotografica e telecamera digitale I dispositivi di output • Il video: visualizza i dati che l’utente inserisce in input e i risultati delle elaborazioni del calcolatore – Un video può essere visto come una matrice di punti (pixel) illuminati con diversa intensità – La dimensione del video viene misurata in pollici (lunghezza della diagonale del video) • Portatile: 12 ai 15 pollici • Desktop: 15 ai 17 pollici • Professionali: 17 ai 21 pollici I dispositivi di output • Il video:ci sono due tipi di monitor – Cathode ray tube – Liquid crystal display • L’immagine che vediamo sul video, opportunamente codificata, viene memorizzata in una memoria specializzata detta memoria video (VRAM) I dispositivi di output • Altri dispositivi di output – Stampante – Schede audio