Architettura del calcolatore L’ Hardware A.A. 2013-14 Informatica 56 L’Hardware Insieme di componenti elettronici e meccanici del computer Tutto quello che è materiale “pesante” Processore Memorie Periferiche Monitor Tastiera Lettore di dischi Stampante, … Informatica 57 Architettura di Von Neumann Memoria Hardware 00123 Unità 7 8 9 4 5 6 + aritmetica Procedimento Software Input 1) ..... 1) ..... 2) ..... 2) ..... 3) ..... 3) ..... 4) ..... 4) ..... ..... ..... 1 2 3 0 / * Output Unità di controllo Informatica 58 Architettura del calcolatore... Processore; Memoria: Principale; Secondaria; Dispositivi di I/O (Input/Output) Le varie componenti sono collegate tra loro mediante dei canali di comunicazione chiamati bus. Informatica 59 La Memoria principale Anche detta memoria centrale Fornisce la capacità di memorizzare/ricordare le informazioni Una lunga sequenza di componenti elementari ognuna delle quali può mantenere un’unità di informazione (byte) Informatica 60 La Memoria principale Possiamo pensarla come una tabella; Le componenti elementari sono aggregate per formare elementi più complessi, detti celle di memoria; Ogni cella: Viene individuata, univocamente, da un indirizzo; Contiene una sequenza di bit (16bit, 32bit, 64bit) L’insieme delle celle indirizzabili si chiama Spazio d’Indirizzamento. È una memoria RAM (Random Access Memory) Informatica 61 Unità di misura 1 byte = 8 bit; 1 Kilobyte (KB) = 1024 byte 1 Megabyte (MB) = 1024 KB 1 Gigabyte (GB) = 1024 MB Oggi giorno un computer medio ha 4GB di memoria RAM Relativamente costosa Informatica 62 Perché 1024? Siamo in un sistema binario Quindi usiamo le potenze di 2: 1024 = 210 Informatica 63 Indirizzi di memoria Sono espressi tramite numeri interi Maggiore è il numero di bit utilizzato per rappresentare un indirizzo maggiore sarà lo spazio di indirizzamento: 16 bit: si possono indirizzare 64KB di memoria 32 bit: si possono indirizzare 4GB di memoria (quindi con 32 bit non si riescono ad usare più di 4 GB di memoria) La prima cella è all’indirizzo 0 Corrispondono all’ordinamento delle celle in sequenza Informatica 64 Caratteristiche della RAM... Random Access Memory: “Memoria ad accesso casuale” Accesso casuale: Il tempo di accesso ad una cella è lo stesso indipendentemente dal suo indirizzo Tempo di accesso: Le operazioni di accesso alla RAM sono veloci (si parla di nanosecondi, cioè miliardesimi di secondo) Informatica 65 Memoria “volatile” È veloce perché basata su tecnologie di tipo elettronico Per poter funzionare deve essere costantemente alimentata elettricamente Volatile: perde le informazioni se manca l’alimentazione Informatica 66 Memoria R.O.M. Read Only Memory “Memoria a sola lettura” Contiene informazioni per l'avvio del computer Scrivibili solo una volta (tipicamente durante la fabbricazione) PROM, EPROM, memoria ROM programmabili e cancellabili Informatica 67 Il processore È la componente che fornisce la capacità di elaborazione delle informazioni contenute in memoria Il processore è in grado di eseguire una serie di istruzioni dette istruzioni macchina; L’insieme delle istruzioni macchina costituisce il linguaggio macchina; Ogni programma eseguito sul calcolatore viene rappresentato per mezzo di una sequenza di istruzioni macchina. Informatica 68 Il processore (CPU) Central Processing Unit “Unità di elaborazione centrale” Il processore è composto: Unità di controllo; Unità aritmetico logica (ALU); Una serie di registri: Celle di memoria ad accesso diretto Contengono informazioni da utilizzare immediatamente Molto veloci e contenuti direttamente nel processore Bus Interno Informatica 69 Il processore (lo schema) Unità di controllo ALU Unità aritmetico-logica BUS INTERNO PC PS RI R1...Rg RIM RDM RC registri Informatica 70 L’unità di controllo... Svolge il ruolo di coordinamento delle diverse componenti del processore L’attività viene svolta in modo ciclico seguendo il seguente schema: Si legge dalla memoria la prossima istruzione da eseguire; Si esegue l’istruzione. Informatica 71 I cicli di clock... I cicli di esecuzione vengono scanditi da un clock che genera degli impulsi ad intervallo di tempo costante; Ad ogni impulso l’Unità di Controllo esegue un ciclo Il numero degli impulsi generati per secondo (frequenza) determina la velocità del processore. Informatica 72 Gli Hertz... La frequenza viene misurata in Hertz: 1 Hz = 1 ciclo per secondo 1 MHz (MegaHertz) = 1000000 di Hz (un ciclo avviene un milione di volte al secondo) 1 GHz (GigaHertz) = 1000 MHz Velocità tipiche dei processori attuali: > 1 GHz Informatica 73 Dual/Quad Core Invece di aumentare la frequenza (che comporta maggiori consumi e surriscaldamento) Si aumenta il numero dei core (processori) Si ottengono migliori prestazioni col parallalismo: Si aumenta il numero di operazioni eseguibili in un unico ciclo di clock Informatica 74 I registri... I registri sono unità di memoria estremamente veloci; Vengono utilizzati per diversi scopi: Mantenere informazioni d’uso frequente (Program Counter) Memorizzare dati temporanei Contenere gli elementi su cui effettuare operazioni aritmetiche/logiche Informatica 75 I Registri... Il Program Counter: Il Registro Istruzioni: Memorizza l’istruzione attualmente in esecuzione; Il Registro di Stato: Indica il punto di esecuzione del programma; Memorizza informazioni sullo stato d’esecuzione del programma (es. si sono verificati errori); I Registri generali: Contengono dati temporanei da elaborare. Informatica 76 Unità Aritmetico Logica... È costituita da una serie di circuiti in grado di eseguire le operazioni di tipo aritmetico e logico. Legge e scrive i dati dai registri generali Esempi: Esegue la somma di due numeri contenuti in due registri Deposita il risultato in un altro registro Confronta due numeri memorizzati nei registri Informatica 77 Il codice macchina... Vari tipi di istruzioni: Leggere dalla memoria; Scrivere sulla memoria; Istruzioni aritmetiche; Istruzioni logiche; Istruzioni di spostamento da una cella di memoria all’altra; Istruzioni di salto. Informatica 78 Memoria cache I registri hanno tempo di accesso molto più veloce rispetto alla memoria Sono piccoli e limitati in numero Sono una caratteristica del processore Vi si mantengono solo i dati necessari per un’operazione Memoria cache Intermedio fra i registri e la memoria Meno veloce dei registri, più veloce della memoria Vi si mantiene i dati utilizzati di “recente” Di qualche centinaio di KB (costosa) Informatica 79 Memoria cache Si basa sul Principio di Località: Se la CPU ha utilizzato una certa parte di memoria è molto probabile la utilizzerà nuovamente Salvare le informazioni di memoria usate potrebbe quindi aumentare le prestazioni Statisticamente, la CPU passa molto tempo accedendo a zone di memoria ristrette Informatica 80 La memoria secondaria... Alta capacità (Ordine dei GB e TeraByte) Basso costo (tipicamente hard disk da 500GB, 1TB) E’ più lenta della memoria principale (anche più di mille volte) Si basa su principi “meccanici” E’ permanente (non volatile) Viene utilizzata per memorizzare permanentemente dati e programmi, che vengono caricati (ovvero letti e ricopiati) nella memoria principale prima di essere utilizzati Informatica 81 Tipologie... Dispositivi magnetici: sostanze magnetizzabili che assumono due possibili stati (polarizzazione positiva e negativa) utilizzabili per rappresentare un bit Dispositivi ottici: raggio laser (luce coerente, fascio ridottissimo) superfici con piccolissimi forellini (in cui passa/non passa la luce, non viene/viene riflessa: due stati...) scrittura difficile Informatica 82 Dischi magnetici... settore traccia testina blocco Informatica 83 Dischi magnetici... In plastica/vinile, ricoperti di materiale magnetizzabile Durante lettura/scrittura: i dischi ruotano; le informazioni vengono lette/scritte da testine usuali in un formato a tracce concentriche e settori (che intersecandosi danno i blocchi), impostato con l’operazione di formattazione (processo di suddivisione in tracce e settori) La testina si sposta longitudinalmente lungo le tracce. I dati sono scritti occupando posizioni successive lungo le tracce Un disco nuovo non è suddiviso in tracce e settori, perché diversi sistemi operativi possono richiedere il loro tipo particolare di suddivisione Informatica 84 Accesso ai dati Operazioni meccaniche necessarie: Spostamento della testina in senso radiale fino a raggiungere la traccia desiderata (seek time) Attesa che il settore desiderato passi sotto la testina (latency time) Tempo di lettura/scrittura dell’informazione Il tempo di accesso dipende dalla posizione dell'informazione (non come con la RAM) Informatica 85 Hard-Disk... Tecnologia che utilizza superficie magnetica su supporto circolare rotante non rimovibile Anche più di una superficie rotante e di una testina di lettura, il tutto chiuso così da evitare contaminazione delle superfici magnetiche Informatica 86 Accesso ai dati Il tempo di accesso dipende dalla posizione dei dati, quindi Per l'efficienza è necessario che i file siano memorizzati in modo consecutivo nel disco Col tempo il disco si frammenta (i dati sono memorizzati in modo sparso) Questo diminuisce l'efficienza Si rende necessaria la deframmentazione (utility di sistema) Informatica 87 Nastri magnetici Il meno sofisticato Unico accesso possibile: sequenziale (quindi molto lento ed inefficiente) Costi bassi ed affidabili Grande capacità (ordine dei GB e TB) Utilizzati per il backup dei dati Informatica 88 Supporti ottici... Disco molto sottile racchiuso tra due superfici trasparenti Principio per scrivere informazioni: Fascio laser incide su un punto della superficie fotosensibile del disco, ne fa evaporare una piccola porzione surriscaldandola, lasciando un foro La lettura da parte del lettore avviene con lo stesso laser ma di intensità minore Informatica 89 “Dischi” a stato solido (SSD) tipologia di dispositivo di memoria di massa che utilizza memoria a stato solido (in particolare memoria flash), L'importante differenza: non utilizza organi meccanici (piatti, testine, motori etc.) come invece fanno gli hard disk tradizionali. Non usano un vero e proprio disco Ma ne svolge la stessa funzione E quindi vengono comunque chiamati hard-disk Informatica 90 Dischi a stato solido, vantaggi rumorosità assente, (non essendo presente alcun motore di rotazione) minore possibilità di rottura minori consumi durante le operazioni di lettura e scrittura tempi di accesso e archiviazione ridotti (oltre 50 volte minore dei normali hard disk) non necessitano inoltre di deframmentazione; minore produzione di calore. Informatica 91 ...e svantaggi Costano di più degli hard disk tradizionali Tendono a durare di meno, a causa del limite di riscritture delle memorie flash. Informatica 92 Memorie a stato solido Memorie USB Basate su principi simili Informatica 93 Riassumendo… Informatica 94 I dispositivi di I/O... Dispositivi di Input: Trasferiscono “informazione” dal mondo esterno al Calcolatore Tastiera, Mouse, Scanner, Fotocamera Digitale, Etc... Dispositivi di Output: Trasferiscono “informazione” dal Calcolatore al mondo esterno Video, Stampante, etc... Informatica 95