Concetti di base della Tecnologia dell’Informazione prof. Matteo Zucchi versione 1.1 Settembre 2011 Definizioni iniziali Information (and Communication) Technology (Tecnologia dell’informazione, ICT): E’ un’estensione della definizione classica di Informatica che, alla capacità di un computer di elaborare dati (Tecnologia del computer), aggiunge quella di condividere, scambiare e reperire informazioni (Tecnologia delle comunicazioni). L’ICT include le nuove caratteristiche (multimedialità, capacità di calcolo, flessibilità di utilizzo, alta diffusione) e funzioni (strumento di comunicazione e di lavoro in ogni settore della società) della tecnologia dei moderni Computer e delle sue applicazioni (Internet). La definizione di ICT esprime il forte impatto dell’avanzamento tecnologico degli ultimi 20 anni sulla nostra società (dell’informazione) in termini di cambiamento (telelavoro, e-business, e-mail, e-banking, e-learning) e complessità (tutela della privacy, problemi di sicurezza delle informazioni, negli scambi economici), in ogni ambito della vita sociale. Calcolatore (o elaboratore): è costituito da componenti meccaniche (hardware) e basa il suo funzionamento su un insieme di istruzioni codificate in forma logica (programmi). Il calcolatore è una macchina in grado di eseguire i seguenti compiti: -Ricevere in ingresso i dati di un problema e l' algoritmo, cioè la sequenza delle operazioni da eseguire per risolverlo. -Eseguire operazioni aritmetiche e logiche sui dati di ingresso -Fornire in uscita i risultati Informatica: scienza che studia la gestione e l’elaborazione delle informazioni tramite l’utilizzo di calcolatori. Hardware: insieme delle componenti fisiche del calcolatore Software: insieme dei programmi, suddiviso in software di base (o di sistema, costituito dall’insieme dei programmi di servizio che consentono l’avviamento e il funzionamento del calcolatore) e in software applicativo, cioè insieme dei programmi per la gestione delle applicazioni). Programma: codifica di un algoritmo di risoluzione di un dato problema in una sequenza di comandi scritti in un linguaggio comprensibile all'elaboratore. Memorie: dispositivi atti a memorizzare informazioni: in particolare le memorie possono ricevere informazioni (fase di scrittura in memoria), conservarle o restituirle (fase di lettura da memoria). Esistono vari tipi di memorie: una prima distinzione logica è tra memoria centrale in cui vengono trasferiti dati e programmi durante la fase di elaborazione e le memorie periferiche o di massa (dischi, nastri, CD, DVD...) che svolgono la funzione di contenitori per la memorizzazione di dati e i programmi definiti dall'utente. Unità periferiche: tutto ciò che è esterno al contenitore a completamento della postazione di lavoro. Ad esempio: dischi, CD, tastiera, stampanti, video, microfono, casse acustiche, telecamera. Pagina 2 di 17 Hardware e architettura di un PC Schema e funzionamento di un piccolo elaboratore Nello schema disegnato da Von Neumann (1947) possiamo distinguere alcune tra le parti fondamentali che compongono un computer. Alcune di queste componenti come la CPU, la memoria centrale (RAM), la memoria di massa (il disco fisso o hard disk) sono interne al contenitore (case) e sono collegate tra loro attraverso dei canali chiamati bus, mentre altre come il monitor, la tastiera e la stampante vengono invece collegate al PC utilizzando dei cavi e apposite porte di comunicazione per lo scambio di dati. Lo schema di Von Neumann aiuta a descrivere una sessione tipica di utilizzo del PC. Un programma (ad es. Excel) viene caricato da una unità disco all’interno della memoria centrale o RAM. Vengono quindi inseriti via tastiera alcuni dati che vengono inviati alla CPU insieme alle istruzioni necessarie a svolgere una certa operazione (ad es. una funzione di somma). La CPU elabora il risultato e lo ritorna alla RAM. Dati e risultati possono essere visualizzati sul monitor o stampati, ma risiedono soltanto nella memoria di lavoro (RAM) fino a che l’utente non esprima attraverso un comando del programma la volontà di salvarli su un dispositivo di memoria di massa (cioè su uno dei dischi a disposizione). Utilizzando alcune immagini, lo schema di Von Neumann può essere reso in questo modo: Architettura di un PC Per Architettura (hardware) di un PC si intende il sistema costituito dall’insieme delle componenti hardware e della loro organizzazione. I componenti hardware possono essere raggruppati in sei categorie: • Porte di comunicazione di Input/Output • Dispositivi (devices, periferiche) di ingresso per inserire i dati • Dispositivi (devices, periferiche) di uscita per visualizzare i risultati • Componenti di gestione ed elaborazione di dati e istruzioni, tra cui: Pagina 3 di 17 – Motherboard – CPU (Central Processing Unit) – Chipsets • Memorie – Memorie interne (RAM e ROM) – Memorie esterne o di massa (HD,, CD, DVD, flash) • Insieme dei bus per veicolare le informazioni tra le diverse componenti del PC Dispositivi (periferiche, device) di ingresso e di uscita Sono dispositivi il cui nome deriva dalla collocazione periferica nell' ambito del sistema di calcolo (al centro si trovano la CPU, la memoria centrale e le altre componenti interne al case). Prima di introdurre le principali periferiche di I/O, occorre introdurre il concetto di porta. Porta di comunicazione di Input/Output: canale attraverso il quale i dati vengono trasferiti tra un dispositivo di Input ed il processore o tra il processore e un dispositivo di Output; la porta appare alla CPU come un insieme di indirizzi di memoria da utilizzare per inviare (o ricevere) dati. Pagina 4 di 17 Porta Caratteristiche Uso Velocità Seriale RS 232 Interfaccia tra la CPU ed una linea di Modem, mouse 115 Kbits/sec comunicazione dati che trasmette un singolo bit per volta su un unico filo di trasmissione a 9 o 25 pin. Viene utilizzato anche ad alte distanze. In Windows le porte seriali hanno i nomi COM1, COM2, COM3, COM4. Parallela Interfaccia tra la CPU ed una linea di Viene comunicazione dati che trasmette più bit per solo utilizzato 800 Kbits/sec per basse volta su tanti fili di trasmissione quanti sono i distanze Ps/2 bit trasmessi contemporaneamente. Stampante In Windows le porte parallele hanno i nomi: dispositivi LPT1, LPT2, LPT3. industriali Porta seriale rotonda introdotta con il PC IBM Tastiera, mouse 256 Kbits/sec PS/2 USB 1.0 Alta velocità e riconoscimento “plug & play” USB 2.0 Tutte le periferiche 12 Mbits/s di nuova 480 Mbits/s generazione IEEE 1394 Ampia larghezza di banda (Firewire) Standard utilizzato Apple 800 Mbits/s per trasmissione con le dati telecamere digitali Principali componenti di gestione ed elaborazione dati e istruzioni Motherboard (Scheda Madre) E’ il circuito principale di un computer che ospita e mette in comunicazione tra di loro le diverse componenti interne al PC e cioè CPU, memorie e Slot di espansione (slot audio e video, porte di rete e di comunicazione), recependo lo sviluppo tecnologico (e la crescente velocità) delle componenti ospitate. La Motherboard è costituita da una parte hardware formata da un insieme di chip di supporto denominato chipset e da una parte software (BIOS) contenuta in un chip di memoria di tipo (EEP)ROM. Comprende inoltre i canali di connessione alle periferiche (Bus) e le sedi (slot) di alloggiamento per le ulteriori componenti ospitate. Il circuito di una Motherboard determina le componenti che possono essere utilizzate e le caratteristiche funzionali del computer. L’attuale architettura ATX è stata modificata per lasciare più spazio alla CPU e incorpora componenti aggiuntive come ad esempio alcune porte I/O e le controller di connessione ai dischi. Pagina 5 di 17 Motherboard: hardware monitoring Il processore di sistema raggiunge, durante il funzionamento, temperature d'esercizio abbastanza elevate e per questo motivo si rende necessario l'impiego di dissipatori di calore e ventole. Le motherboard integrano al proprio interno funzioni di hardware monitoring. Attraverso queste è possibile monitorare le temperature di esercizio di processore e scheda madre, verificare i voltaggi di alimentazione di Core e I/O, controllare la velocità di rotazione delle ventole tachimetriche eventualmente collegate alla scheda madre. L'hardware monitor fornisce i valori di temperatura, voltaggi e velocità di rotazione direttamente in un menu del BIOS; è però anche possibile controllare questi valori direttamente dal sistema operativo, utilizzando un software proprietario del produttore della scheda madre oppure uno dei tanti software di hardware monitoring disponibili on line. Per poter correttamente monitorare la velocità di rotazione delle ventole è necessario che queste siano del tipo tachimetrico, cioè a tre fili invece di due (il terzo filo è quello che segnala alla scheda madre la velocità di rotazione della ventola) e che vengano collegate direttamente alla scheda madre. Inoltre, la scheda madre deve integrare funzioni di hardware monitoring altrimenti il segnale della velocità di rotazione viene inviato solo alla scheda madre senza poter essere letto. Chipset La CPU non dialoga direttamente con la RAM o con le schede montate sui bus di espansione. Per farlo necessita di un chip che si chiama bridge. L’insieme dei chip che governano la scheda madre e consentono la comunicazione tra la CPU e le altre componenti si chiama chipset, che può essere definito come il circuito di supporto alla scheda madre (glue logic) che gestisce tutti i processi tra le componenti del PC (sottosistema video, sistemi di memorizzazione, memoria di sistema, ecc..) e la CPU. Pagina 6 di 17 Così come la scheda madre, caratterizza il PC per limiti e possibilità (es. per utilizzare le RAM o un bus PCI Express più veloci, è necessaria una Motherboard che contenga connettori adeguati e un chipset in grado di gestire la maggior velocità) Svolge alcune funzioni particolari, tra cui: • Timing: controlla e coordina le operazioni del PC e la loro velocità • Interrupt control: governa il sistema di precedenze tra le applicazioni (o i comandi) e la CPU • Direct Memory Access (DMA): sistema di precedenza tra dati e memorie • Gestione dei BUS: collega e permette lo scambio di informazioni tra le componenti del PC • Controllo delle memorie: gestisce il flusso da e verso le memorie interne del PC • Controllo dei Dischi: assicura lo scambio da e verso le memorie esterne del PC • Controllo della tastiera e delle porte di comunicazione Chipset North and South Le funzioni di un chipset sono divise in due gruppi, solitamente svolte da due diversi chips (Northbridge and Southbridge), rispettivamente adiacenti alla CPU e alle periferiche. Entrambi i chips forniscono le linee di comunicazione tra le periferiche. Nel chipset Intel si può osservare come il Northbridge gestisca i flussi maggiori di dati come ad esempio quelli da e verso la RAM e i bus grafici, mentre il Southbridge le connessioni secondarie verso i drive ATA/SATA e le periferiche USB. In alternativa, altri produttori come SiS hanno creato un singolo chip che incorpora tutte le funzioni in un unico chip. Pagina 7 di 17 CPU (Central Processing Unit) Il microprocessore o CPU gestisce le operazione richieste dal sistema operativo e dalle applicazioni, determina quale sistema operativo può essere utilizzato, quali software, quanta energia consuma e quanto è stabile l’intero sistema. La CPU esegue le operazioni di calcolo attraverso la sua componente ALU (Arithmetic Logic Unit) che consente di eseguire, oltre ad operazioni aritmetiche, anche operazioni logiche di vario tipo; ad esempio, il confronto tra due valori numerici od alfabetici e le operazioni AND e OR dell'algebra di Boole. All’interno della CPU risiede l’Unità di controllo che controlla le operazioni di ingresso e uscita dei dati. Mentre esegue le operazioni richieste o alla richiesta di esecuzione di un programma, l’unità di controllo trasferisce l’istruzione dalla memoria in aree interne di memoria temporanea, denominate Registri. Le CPU moderne hanno 32 registri a 64 bit. Affinché il trasferimento delle informazioni (dati e istruzioni) tra le varie componenti del calcolatore possa avvenire correttamente, occorre che queste siano tra loro sincronizzate; ad esempio, l'Unitá Centrale deve conoscere l'esatto istante in cui la memoria ha trasferito nel "data bus" il dato richiesto. A tale scopo é stato introdotto nel calcolatore un segnale di sincronizzazione generato da un dispositivo hardware, denominato Clock o Cronometro. Grazie al segnale di clock è possibile sincronizzare tutte le funzioni del processore. Il valore della frequenza delle oscillazioni del clock degli attuali microprocessori è compreso tra 2000 MHz e 3200 MHz (Milioni di Hertz), dove un hertz corrisponde ad una oscillazione al secondo. Nonostante sia esterno alla CPU, il Clock ne fa parte da un punto di vista logico e la sua funzione è appunto quella di temporizzare la frequenza delle operazioni della CPU, in milioni (miliardi) di istruzioni al secondo (MHz o GHz). Poiché le istruzioni dei linguaggi di programmazione richiedono uno o più cicli di clock per essere eseguite, in generale più piccolo è il ciclo di clock, perciò più alta è la frequenza di lavoro, più veloce é il calcolatore. In realtà la frequenza del clock non è l’unico dato per valutare la velocità di un PC, che dipende da molti altri parametri, come esempio la portata dei bus, il tempo di accesso alle memorie, l'eventuale presenza di memoria cache e le caratteristiche del bus di dati. Pagina 8 di 17 Bus (canali di comunicazione dati e indirizzi): Sono le vie di comunicazione che trasportano dati o segnali ad alta velocità condivise da unità diverse del calcolatore (unità di controllo, unità aritmetico-logica, memoria centrale, unità periferiche). Si distinguono diversi tipi di bus, a seconda della loro funzione e caratteristiche di velocità e portata: Bus interni alla CPU: trasferiscono dati all’interno della CPU (unità di controllo, unità aritmeticologica, registri, cache L1). Bus di sistema (o Front Side Bus FSB): canale di comunicazione tra memoria di sistema (RAM e cache L2), chipset, scheda video e processore. Bus (dati) di espansione: connette le schede di espansione interne al PC. L’ampiezza di un bus viene misurata in bit (dove bit = binary digit = 0-1 e dice quante cifre in formato binario vengono trasportate in un’unità di tempo) e la sua velocità in Mhz. Un bus dati a n bit trasporta quindi contemporaneamente n bit; normalmente si hanno bus dati a 16 (Industry Standard Architecture ISA), 32 (Enhanced ISA, EISA) e a 32/64 bit (Peripheral Component Interconnect PCI, PCI Express). L’efficienza di una certa architettura si esprime invece in Mbyte/sec e si ottiene aggregando le due caratteristiche di ampiezza e velocità per calcolare la portata del volume di dati trasferito per unità di tempo (transfer rate). Per calcolare il transfer rate di un bus è sufficiente dividere l’ampiezza del bus (che è espresso in bit) per un byte (8 bit) e moltiplicarlo per la velocità di clock es. uno slot PCI a 32 bit e 33 Mhz di velocità ha un transfer rate di 32/8*33=132 MB/sec EISA PCI AGP PCI Express 1x PCI Express 16x 32 32 32 1 16 Velocità di trasferimento dati (MHz) 8,33 33 66 100 100 Volume dati trasferito (Mb/sec) 132 266 266 /532 4000 /8000 Ampiezza del bus (bit) 33 Un’importanza particolare è data dal bus di sistema o FSB (front side bus), cioè dal bus che collega la CPU alla memoria RAM e allo slot PCI Express. La velocità del FSB è regolata dal chipset ed è caratteristica di quel particolare tipo di Motherboard. Nel tempo è aumentata dai 66 o 133 MHz tipici dell’architettura PIII ai 3 GHz ed oltre dell’architettura Core. Dalla velocità del FSB è possibile risalire alla velocità del clock del processore, utilizzando un fattore moltiplicativo, visibile dal BIOS. Pagina 9 di 17 Calcolatore a 8, 16, 32, 64, n bit Si può pensare che la memoria centrale di un calcolatore sia suddivisa in celle, ciascuna delle quali contiene un'informazione (dato o istruzione o parte di un'istruzione). Allo scopo di identificare ogni singola informazione, ad ogni cella è associato un indirizzo che serve ad individuarla ed un contenuto della cella stessa. Prende il nome di parola (word), il numero massimo di bit della memoria cui è possibile associare un indirizzo. Le informazioni memorizzate in una parola sono sequenze di cifre binarie o bit; la parola può essere di 1 byte, 4 byte, 8 byte; si parla di calcolatore ad n bit quando sia le dimensioni della parola che il numero di bit trasferiti contemporaneamente sul bus dati è n. Valori usuali nei PC sono 8, 16 e 32 bit; i PC Pentium sono a 32-64 bit. Il tipo di BUS normalmente adottato nelle Motherboard di ultima generazione è di tipo PCI (Peripheral Component Interconnect). La tecnologia PCI ha trovato la sua prima implementazione nel 1993 con le prime versioni di microprocessore Intel Pentium; l’architettura PCI è a 32 o a 64 bit, ma viene solitamente utilizzata nella versione a 32. Lo Standard PCI Express è un formato di interfaccia seriale/parallelo. Questo standard in grado di avere un transfer rate pari a 250 MB/s in ogni direzione per ogni canale. Con un massimo di 32 canali riusciamo quindi a raggiungere un transfer rate di ben 8GB/s in ogni direzione; significa che una scheda PCI Express con il canale le a x16 è capace (teoricamente) di un trasnfer rate di ben 250 x 16 = 4GB/s in ogni direzione. Memorie Con il termine generico memorie si intendono dispositivi elettronici o elettromagnetici atti a memorizzare informazioni codificate con la numerazione binaria. Le memorie possono ricevere informazioni (fase di scrittura in memoria), conservarle o restituirle (fase di lettura da memoria). I vari tipi di memoria Una prima distinzione funzionale è tra memoria interna o centrale RAM (primaria, di lavoro, di sistema…) in cui vengono trasferiti dati e programmi durante la fase di elaborazione e le memorie esterne o di massa (secondarie, periferiche) costituiti da nastri, dischi FD e HD, CD, DVD, etc...) che svolgono la funzione di contenitori per la memorizzazione di dati e i programmi definiti dall'utente. Un secondo tipo di memoria interna, ma con funzioni completamente differenti, è data dalla memoria ROM (ed estensioni di questa). Proprietà delle Memorie Tempo di accesso: tempo necessario per trasferire informazioni dalla CPU ad un sistema di memoria o viceversa. In dettaglio occorre distinguere tra tempi di lettura e scrittura. Tempo di lettura (in memoria): tempo che intercorre tra l'istante in cui l'unità di controllo fornisce l'indirizzo I di una unità di memoria che deve essere "letta" e l'istante in cui il contenuto della memoria di indirizzo I è disponibile nella CPU. Tempo di scrittura (in memoria): tempo che intercorre tra l'istante in cui l'unità di controllo fornisce l'indirizzo I di una unità di memoria dove si vuole "scrivere" un dato e l'istante in cui il dato Pagina 10 di 17 viene effettivamente memorizzato. I tempi di accesso si misurano in millisecondi (msec), milionesimi di secondo (microsecondi o μsec) o miliardesimi di secondo (nanosecondi o hsec). Capacità delle memorie: viene misurata in byte e multipli : Kilobyte (Kb)=1024 bytes, Megabyte (Mb)=1024 Kb, Gigabyte (Gb)=1024 Mb. Le memorie possono essere distinte anche a seconda delle loro caratteristiche fisiche. In questo caso si hanno: Memorie a semiconduttore Le memorie a semiconduttore si basano sulla caratteristica fisica di certi materiali di mantenere uno stato (aperto o chiuso) per un certo periodo di tempo (millisecondi). Il tempo di accesso è indipendente dalla posizione dove è memorizzato (o si vuole memorizzare) il dato. Memorie volatili RAM La sigla RAM (Random Access Memory) non significa che “cerca le istruzioni a caso”, ma che, non essendo disposte in modo sequenziale, le informazioni localizzate in punti diversi richiedono lo stesso tempo per essere raggiunte e recuperate. Le memorie volatili possono essere sia "lette" che "scritte"; perdono l'informazione quando cade l'alimentazione; inoltre devono essere "rinfrescate" ogni pochi millisecondi. Sono normalmente transistor MOS (Metal Oxide Semiconductor). La memoria centrale di un calcolatore è costituita da milioni di memorie elementari a semiconduttore di tipo DRAM (dynamic RAM), ciascuna delle quali memorizza un bit; un byte è memorizzato per mezzo di otto memorie elementari adiacenti. Poiché tale memoria ha bisogno della corrente elettrica per rappresentare le informazioni e poiché quando si spegne il calcolatore le informazioni non sono più disponibili (i circuiti si portano nello stato di riposo che corrisponde a cifre binarie tutte nulle), prima di spegnere il calcolatore l'utente deve memorizzare le informazioni che gli interessano in una memoria non volatile, cioè che mantiene permanentemente le informazioni; tale memoria prende anche il nome di memoria periferica ed è normalmente una memoria magnetica (disco o CD). Le capacità tipiche della memoria RAM di un PC vanno dai 640 Kb del primo PC ai moduli attuali da 1GB, fino ad una memoria totale di 4GB. Le schede madri possono montare differenti tipi di memoria di sistema, a seconda del chipset e del processore utilizzato. Dal 2000 in poi sono state introdotte due nuove tecnologie concorrenti, le DDR e DRambus che consentono velocità superiori. In particolare la RAM di tipo DDR è in grado di utilizzare il segnale di clock sia sul fronte ascendente che su quello discendente e ha quindi velocità doppia rispetto a quella sincronizzata per un bus di sistema a 133 Mhz. La RAM Rambus invece è più veloce (fino a 800 Mhz) ma usa un bus più piccolo della DDR (16 anziché 32 bit). Ecco una breve “storia” dell’evoluzione e delle caratteristiche delle diverse tecnologie di RAM. Pagina 11 di 17 Moduli SIMM (single inline memory module): è il tipo di memoria di più vecchia concezione e, ovviamente, quella con le prestazioni inferiori; al momento attuale nessun sistema di recente progettazione utilizza questo genere di moduli memoria. Ne esistono due varianti: Simm a 30 pin e Simm (o Dimm, dual inline memory module) a 72 pin; la prima è stata utilizzata con le schede madri per processori 286, 386 e 486 mentre i moduli Simm a 72 pin sono stati introdotti in seguito con alcune schede madri 486 e quelle per CPU Pentium e simili. Nelle versioni EDO o Fpm le Simm (Dimm) utilizzano un proprio clock (RAM) e velocità di accesso espressa i nanosecondi. SDRAM PC66: è il primo tipo di memoria SDRAM (Synchronous dram) originariamente introdotto in commercio con le schede madri Socket 7; pensato per la frequenza di lavoro di 66 Mhz, permette prestazioni superiori rispetto ai moduli memoria SIMM da 70 pin utilizzati sempre con questo genere di schede madri. Memorizza le richieste della CPU in un proprio registro e usa linee differenti per riferimenti di riga, di colonna e di dati. Tutte le RAM di tipo sincronizzato usano l’ampiezza e il segnale di clock (demoltiplicato) del Front Side Bus (Fsb) (64 bit di bus, RAM a 66100-133 Mhz). SDRAM PC100: è il tipo di memoria più noto e diffuso fino ai processori di tipo Pentium III ed è pensata per un impiego alla frequenza di 100 Mhz (da questo la sigla PC100), in genere vede l'impiego di moduli memoria da 10 oppure 8 ns. SDRAM PC133: evoluzione della memoria PC133, come il nome suggerisce facilmente è pensata per il supporto ufficiale alla frequenza di 133 Mhz. Questo tipo di memoria utilizza chip da 7.5 oppure 7 ns (in alcuni casi anche con tempi d'accesso inferiori) ed è supportata dai chipset Via Apollo PRO 133, Via Apollo PRO 133A e Intel i815E. DDR: le memorie SDRAM sono disponibili anche in versione DDR (Double Data Rate); questa tecnologia, introdotta per la prima volta nelle memorie delle schede video, permette di raddoppiare la bandwidth della memoria a disposizione in quanto vengono utilizzati entrambi i fronti di clock (ascendente e discendente). All'atto pratico, si può dire che la memoria DDR operante ad una certa frequenza ha bandwidth doppia rispetto a quella della memoria SDRAM operante alla stessa frequenza. Nelle DDR3 il tranfer rate dovrebbe variare tra gli 800 Mbits/s e gli 1,5 Gbits/s. Memoria Cache e RAM statica (SRAM) La memoria cache è una memoria volatile in cui vengono depositati dati in attesa di elaborazione per fornire al dispositivo che li utilizzerà un flusso di dati costante e senza interruzioni. Viene utilizzata come memoria tampone (buffer) per contenere le istruzioni e i dati che saranno elaborati dal processore eliminando tempi morti della CPU in attesa. Pagina 12 di 17 Quando viene richiesto al processore di elaborare una particolare operazione (ad esempio, effettuare il rendering di un'immagine), quest'ultimo richiama i dati necessari e li memorizza all'interno della memoria di sistema, dalla quale li preleverà nel momento in cui dovrà rielaborarli. La velocità alla quale il processore elabora i dati è quella di clock (ad esempio, 3000 Mhz), mentre quella alla quale la memoria di sistema sposta i dati è quella di bus, decisamente più ridotta (es. 133-800 Mhz, a seconda del FSB); si deduce abbastanza chiaramente che la frequenza di lavoro della memoria di sistema rappresenta un collo di bottiglia alle prestazioni complessive, in quanto il processore è costretto ad "aspettare" che i dati vengano a lui forniti dalla più lenta memoria di sistema. Questo fenomeno viene denominato latenza. Per ovviare a questo inconveniente è stata introdotta la memoria cache (di tipo SRAM), un particolare tipo di memoria di dimensioni molto ridotte che lavora non alla frequenza di bus ma ad una frequenza più elevata e che serve per velocizzare le transazioni dei dati tra memoria di sistema e processore. In dettaglio, esistono due tipi di memorie cache: - cache L1 o di 1° livello: è in genere contenuta all'interno del Core del processore e opera alla frequenza di clock. La dimensione varia tra 8 e 256 Kbyte - cache L2 o di 2° livello: a seconda del tipo di architettura è posta o all'interno del Core del processore oppure sulla motherboard; opera a frequenze differenti, variabili tra la frequenza di bus e quella di clock. La dimensione della cache L2 varia tra 256 Kbyte e 2 Mbyte ed utilizza moduli di RAM statica. In sintesi le Memorie Cache e le memorie SRAM • Consentono di sincronizzare memorie con velocità diverse, in quanto le memorie vengono interrogate dalla CPU nell’ordine L1, L2, RAM, cache HD, HD • Memorizzano l’indirizzo delle ultime informazioni richieste al livello di memoria successivo • Hanno costo proporzionate alla velocità Memorie a semiconduttore (interne) non volatili Non perdono l'informazione quando cade l'alimentazione; sono normalmente matrici di diodi. Le più importanti sono le memorie ROM ed RMM. ROM (Read Only Memory) e BIOS: LA ROM è una memoria che può solo essere letta (con un tempo di lettura molto piccolo). Contiene programmi di grande importanza già installati dal costruttore (Firmware), ad esempio l’insieme dei programmi BIOS (Basic Input Output Subsystem) che controlla le funzioni di base di Input/Output del calcolatore (gestione di tastiera, schermo, stampante, disco,...), la sequenza di lettura dei dischi in avvio, permette di riconoscere l'hardware installato e contiene inoltre i programmi di accensione (BOOTSTRAP) che caricano da Hard Disk o da pen drive a memoria centrale il sistema operativo che consente l’avviamento e il funzionamento del calcolatore. Per eseguire le sue funzioni, il BIOS ha bisogno di conoscere e conservare in memoria le caratteristiche dell'hardware presente nel computer. Pagina 13 di 17 Tali parametri sono permanentemente salvati in una memoria di 64 byte chiamata CMOS RAM, grazie all'impiego di una piccola batteria che, anche a computer spento, permette di non perderne le informazioni. Per modificare o accedere ai parametri memorizzati il BIOS può essere configurato attraverso un procedura (di Setup) da eseguire durante la fase di avviamento (o POST, Power On Self Test). Il BIOS presente su un certo PC dipende dal particolare tipo di chipset utilizzato dalla Motherboard di quel PC ed è il software che permette che la scheda madre e il chipset eseguano correttamente le loro funzioni. Può essere considerato come il sistema operativo della Motherboard. RMM (Read Mostly Memory): memoria di prevalente lettura; tra le più importanti citiamo le: - EPROM (Eraseable PROgramming ROM): può essere cancellata e riprogrammata (però solo con un'apposita attrezzatura hardware); maggior tempo di lettura di quello della ROM. - FlashROM: può essere cancellata e riprogrammata facilmente dall'utente (senza un'apposita attrezzatura hardware). Nelle schede madri di ultima generazione il BIOS è posizionato su questo tipo di memoria consentendo un facile upgrade. Memorie di massa Memorie atte alla memorizzazione permanente di grandi quantità di dati. Non perdono le informazioni contenute quando viene interrotta l’alimentazione. Sono di due tipi: sequenziali e semirandom. Memorie sequenziali (in disuso) Così dette poiché i dati vengono scritti uno dopo l’altro, generalmente su nastro magnetico (ad esempio cassette). Memorie semirandom Sono normalmente dischi magnetici e dischi ottici. I dati non sono scritti in maniera sequenziale e ogni punto del disco è accessibile in qualsiasi momento. • Dischi fissi: consente di memorizzare 40-200 miliardi di caratteri (Gbyte) su un disco non rimovibile • Cd Rom (compact disk): tecnologia laser per la lettura (CD-Recordable) - scrittura (CDReWritable) di dischi magneto-ottici. Capacità di circa 640-700 Mbyte. E’ stato introdotto come supporto standard per i file audio (CD musicali) • Dvd (digital versatile disk): il codice digitale e le tracce presenti sul disco ottico sono miniaturizzate. Consente di memorizzare da 4,7 a 17 Gbyte di dati. E’ stato introdotto come supporto standard per i file video • Zip, Jaz: dischi fissi rimovibili con capacità da 100 Mb (Zip) a 2 Gb (Jaz) • Flash (Pen) drive: dischi fissi rimovibili a basso costo, di ridotte dimensioni e con capacità ragguardevoli. Pagina 14 di 17 Dischi magnetici: si basano sulle caratteristiche di mantenimento nel tempo della polarizzazione magnetica data ad un materiale adatto. Sono ad esempio il disco fisso (HD), unità zip e flash. Per poter accedere ai dati i dischi devono essere mappati tramite la formattazione. Con questa operazione la superficie viene suddivisa in tracce (concentriche) e settori (spicchi). Le zone ottenute vengono identificate da un numero e chiamate cluster. Hard disk: sono dischi generalmente fissi all’interno del computer (ne esistono comunque di estraibili). Il normale standard per PC prevede dimensioni tra gli 250 e i 1000GB. • Sono costituiti da 4 dischi da 3,5 pollici fissati insieme e sigillati all’interno di un supporto di metallo. • I dischi sono fissati ad un motore e vengono letti/scritti da una testina fissata su un braccio mobile. • Hanno (tipicamente) velocità di rotazione di 7200 giri al minuto. • La velocità di accesso ai dati si misura in millisecondi. • Vengono controllati da una scheda (controller) che posiziona la testina sul disco e gestisce il flusso di dati da e verso il disco. Caratteristiche delle Controller tipiche (standard di trasferimento dati e connessione dei dispositivi): • IDE (Integrated Drive electronic), 16 bit e 1 disco; • EIDE (Enhanced ide), 32 bit, 2 dischi, permette di pilotare non solo gli hard disk ma anche altri dispositivi di memorizzazione come lettori CD o magneto-ottici. • Ultra ATA, ATA 100, ATA 133, SerialATA (Advanced Technlogy Attachment), 32-64 bit, 2 dischi a connessione. E’ un’evoluzione del sistema EIDE. • SCSI (Small Computer System Interface), 64 bit, 7 dischi. Può pilotare fino a 14 dispositivi anche differenti (scanner, hard disk, masterizzatori, lettori CD DVD). Da molti anni sulle motherboard sono presenti i connettori Parallel ATA EIDE, che permettono il collegamento di hard disk, lettori CD ROM e tutto quello che è dotato di tale interfaccia. Questa realtà ha subito negli anni diversi aggiornamenti: attualmente le motherboard integrano connettori ATA100 oppure ATA133, che permettono fino a un massimo, rispettivamente, di 100 e 133MB per secondo di transfer rate teorico. Lo standard però comincia ad accusare alcuni limiti, non solo a livello prestazionale. L'interfaccia EIDE prevede il collegamento fino a due periferiche per ogni connettore, ad esempio hard disk e masterizzatore, ma prevede anche la comunicazione di una singola periferica alla volta, cosa che di fatto rende impossibile la comunicazione delle due periferiche contemporaneamente. Lo standard SATA risolve alcuni di questi problemi. Nato da una collaborazione fra i colossi dell'hardware e del software, promette molte novità fra le quali la connessione di una singola Pagina 15 di 17 periferica ad un singolo slot, eliminando quindi i problemi che possono insorgere nel flusso di dati e nella configurazione di master, slave o cable select e quelli dovuti alla comunicazione con altre periferiche. Il cavo di collegamento, molto sottile, adotta solo 4 fili contro i 40-80 dell'attuale standard. Un’altra caratteristica importante è la possibilità di collegare o scollegare "a caldo" le unità (hot swap), rendendo così disponibili funzionalità finora precluse all'utente che non utilizzi controller adatte allo scopo. I vantaggi offerti da questa interfaccia si esprimono anche in termini di maggiori prestazioni (transfer rate). Attualmente l'interfaccia ATA 133 permette un transfer rate massimo teorico di 133 MB per secondo, mentre il Serial ATA 300 MB per secondo. Testina di lettura/scrittura (una per superficie) Superficie 7 Superficie 6 Superficie 5 Superficie 4 Superficie 3 Superficie 2 Superficie 1 Direzione del movimento Superficie 0 Memorie di massa: partizioni e formattazione Un hard disk nuovo è pre-formattato, cioè incorpora le informazioni su cilindri, tracce e settori. Per poterlo utilizzare è necessario formattarlo, ma in precedenza è indispensabile partizionarlo in una o più unità e scrivere su esso le informazioni della(e) partizione(i) e del boot sector. Il risultato di queste operazioni permette la creazione del file system, cioè del sistema attraverso il quale i dati vengono memorizzati, organizzati e recuperati dal disco. Il file system è diverso in base al tipo di sistema operativo che viene utilizzato; al sistema FAT 12/16bit (per MS-Dos fino alla versione 7.0 e per Windows 95 release B esclusa) si è aggiunto il sistema FAT a 32bit (per Windows 95 Release B (4.00.950 B)) ed NTFS per Windows XP, Vista, Seven. Dischi ottici sono dispositivi di memorizzazione basati sulle proprietà ottiche di alcuni materiali (alluminio, silicio, oro, amorfo). Si dividono in due categorie: Write once e rescrivibili. Le memorie Write once sono ad esempio i CD-Rom, i CD-R (CD registrabili con normale masterizzatore), i CD audio, i DVD. Una volta scritti non possono essere cancellati e riscritti. Non vengono formattati, i dati sono scritti a spirale dall’interno verso l’esterno. La velocità di lettura varia da lettore a lettore; i più vecchi (derivati da modelli audio) leggevano a 1X cioè 150 Kb/s; ora sono usciti i primi modelli a 50X cioè 7500 Kb/s. Pagina 16 di 17 I supporti rescrivibili sono CD-RW e dischi magneto-ottici; possono essere scritti più volte con hardware apposito. La capacità dei CD è circa 650 Mb; per i DVD fino a 17 Gb su due facce. Per i magneto-ottici varia da modello a modello. Risoluzione e scheda video Una risoluzione, o meglio modo video, è caratterizzata da due dimensioni (larghezza e altezza) e da un numero di colori. Le dimensioni indicano il numero di colonne e righe in cui viene diviso il monitor; il loro prodotto dà il numero di pixel (ossia, puntini elementari) sullo schermo: maggiore è il numero di pixel, migliore sarà l'immagine, in quanto essa sarà composta da puntini di dimensioni minori, mentre se il numero di pixel è basso si avrà l'effetto "quadratoso" tipico dei computer di qualche anno fa. Il numero di colori è il massimo numero di colori diversi che possono essere mostrati contemporaneamente sullo schermo, e viene talvolta dato sotto forma di numero di bit, nel qual caso il numero dei colori è pari a 2 elevato al numero di bit. Le modalità a 16 milioni di colori (24 bit) vengono indicate come truecolor. Ad esempio, alla risoluzione 800x600 in 256 colori (o anche 800x600x8 bit, visto che 256 = 2^8) lo schermo viene diviso in 800 colonne e 600 righe (ossia in 480.000 puntini) e vengono visualizzati al più 256 colori. Le risoluzioni visualizzabili sono limitate dalla memoria disponibile sulla scheda video (e non dalla RAM del computer; ciascuna scheda attinge dalla propria memoria video (VRAM)). Ad esempio, nella risoluzione 800x600x8 bit (256 colori), ciascun pixel può assumere 256 valori diversi a seconda del suo colore, per cui per ciascun pixel sono necessari 8 bit per memorizzare il suo colore, ossia un byte. Essendoci 480.000 puntini sullo schermo, saranno necessari 480.000 byte per poter memorizzare l'intera schermata, per cui la scheda dovrà disporre di una propria memoria di almeno 480.000 byte per poter funzionare a quella risoluzione. Pagina 17 di 17