Appunti di Teoria dell`Informazione

Transcript

Appunti di Teoria dell`Informazione
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