mercoledì 23 maggio 2012

Processori

Il processore

CPU

L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue per sovrintendere tutte le funzionalità del computer digitale basato sull'architettura di von Neumann o sull'architettura Harvard. In particolare l'unità di elaborazione centrale è una tipologia di processore estremamente diffusa in quanto i moderni computer general purpose normalmente sono digitali e basati sull'architettura di von Neumann.
Il compito della CPU è quello di eseguire le istruzioni di un programma presente in memoria. Durante l'esecuzione del programma la CPU legge o scrive dati in memoria. Il risultato dell'esecuzione dipende dal dato su cui si opera e dallo stato interno in cui la CPU stessa si trova, e può mantenere la traccia delle operazioni passate.
Attualmente la CPU è tipicamente implementata come microprocessore.

Struttura della CPU

Una generica CPU contiene:
  • un'unità di controllo (anche nota con l'acronimo "CU") che legge dalla memoria le istruzioni, se occorre legge anche i dati per l'istruzione letta, esegue l'istruzione e memorizza il risultato se c'è, scrivendolo in memoria o in un registro della CPU.
  • un'unità aritmetica e logica (anche nota con l'acronimo "ALU") che si occupa di eseguire le operazioni logiche e aritmetiche;
  • dei registri, speciali locazioni di memoria interne alla CPU, molto veloci, a cui è possibile accedere molto più rapidamente che alla memoria: il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si trova attualmente. Due registri sempre presenti sono:
    • il registro IP (Instruction Pointer) o PC (Program Counter), che contiene l'indirizzo in memoria della prossima istruzione da eseguire;
    • il registro dei flag: questo registro non contiene valori numerici convenzionali, ma è piuttosto un insieme di bit, detti appunto flag, che segnalano stati particolari della CPU e alcune informazioni sul risultato dell'ultima operazione eseguita. I flag più importanti sono:
      • Flag di stato:
        • Overflow: indica se il risultato dell'operazione precedente era troppo grande per il campo risultato: 0 assenza di overflow, 1 overflow
        • Zero: vale 1 se l'ultima operazione ha avuto risultato zero, altrimenti vale 0.
        • Carry: vale 1 se l'ultima operazione ha ecceduto la capacità del registro che contiene il risultato, altrimenti vale 0 (esempio: in un registro a 8 bit, che può rappresentare solo numeri da 0 a 255, la somma 178+250 darebbe come risultato 172, cioè 428 - 256, e il carry verrebbe posto a 1 insieme al flag di overflow).
        • Segno: indica il segno del risultato dell'operazione precedente: 0 risultato positivo, 1 risultato negativo
      • Flag di controllo:
        • Interrupt: se a questo flag viene assegnato valore 1, la CPU smette di rispondere alle richieste di servizio esterne delle periferiche (i segnali delle linee IRQ) finché non viene ripristinato al valore 0, o finché non arriva dall'esterno un segnale di RESET.
Una generica CPU deve eseguire i suoi compiti sincronizzandoli con il resto del sistema: perciò è dotata, oltre a quanto sopra elencato, anche di uno o più bus interni che si occupano di collegare registri, ALU, unità di controllo e memoria: inoltre all'unità di controllo interna della CPU fanno capo una serie di segnali elettrici esterni che si occupano di tenere la CPU al corrente dello stato del resto del sistema e di agire su di esso. Il tipo e il numero di segnali esterni gestiti possono variare ma alcuni, come il RESET, le linee di IRQ e il CLOCK sono sempre presenti.
Per quanto riguarda i registri, le CPU possono gestirli in molti modi: i più comuni sono registri nominativi (CPU CISC classiche), file di registri (RISC) e stack di registri (Transputer e simili).
  • Stack di registri: i registri sono organizzati in una struttura a stack (pila); questa architettura ha il vantaggio di non dover specificare su quale registro interno operare (è sempre quello in cima allo stack) ottenendo istruzioni più corte e più semplici da decodificare. Il rovescio della medaglia è che nel caso sia necessario un dato "sepolto" in fondo allo stack, il suo recupero è un'operazione molto lenta.
  • Registri nominativi: ogni registro è identificato singolarmente e le istruzioni che usano registri specificano di volta in volta quale registro devono usare. Spesso alcuni registri sono dedicati a scopi particolari (registri indice, accumulatori, registri di segmento ecc.) imponendo la non ortogonalità del set di istruzioni (vedi oltre). La gran maggioranza delle CPU generiche degli anni '70 e '80 è di questo tipo.
  • File di registri: I registri sono organizzati come una memoria interna della CPU e indicizzati: la CPU "alloca" un certo numero di registri per ogni processo e/o subroutine in esecuzione, eliminando la necessità di accedere alla RAM per salvare gli stack di chiamata delle funzioni e i dati di task switching nei sistemi multitask.
Una CPU è un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo detto clock, che ne determina di conseguenza la velocità operativa, detta velocità di clock: quindi il tempo di esecuzione di una istruzione si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari perché la CPU la completi. In effetti, una parte importante e delicata di ogni CPU è il sistema di distribuzione che porta il segnale di clock alle varie unità e sottounità di cui è composta, per fare in modo che siano sempre in sincronia: tale sistema si dirama in una struttura ad albero con divisori e ripetitori che giunge ovunque nella CPU. Nei processori più moderni (Pentium, Athlon, PowerPC) questa "catena di ingranaggi" elettronica arriva ad impiegare circa il 30% di tutti i transistor disponibili. La velocità di questa distribuzione determina in maniera diretta la massima frequenza operativa di una CPU: nessuna CPU può essere più veloce del suo critical path, cioè del tempo che impiega il clock per percorrere il tratto più lungo in tutto l'albero di distribuzione del clock. Per esempio, se il segnale di clock di una data CPU impiega un nanosecondo per attraversare tutto il chip ed arrivare fino all'ultima sottounità, questa CPU potrà operare a non più di 1 GHz, perché altrimenti le sue componenti interne perderebbero la sincronizzazione, con risultati imprevedibili (per avere un margine di sicurezza, il limite pratico sarà anzi ben minore di 1GHz).


Ciclo del processore

Tipicamente la CPU è l'Interprete del linguaggio macchina. Come tutti gli interpreti, si basa sul seguente ciclo:
  • Acquisizione dell'istruzione (Instruction Fetch): il processore preleva l'istruzione dalla memoria, presente nell'indirizzo (tipicamente logico) specificato da un registro "speciale" ("speciale" opposto di "generico"), il PC
  • Decodifica (Operand Assembly): una volta che la word è stata prelevata, viene determinata quale operazione debba essere eseguita e come ottenere gli operandi, in base ad una funzione il cui dominio è costituito dai codici operativi (tipicamente i bit alti delle word) ed il codominio consiste nei brani di microprogramma da eseguire
  • Esecuzione (Execute): viene eseguita la computazione desiderata. Nell'ultimo passo dell'esecuzione viene incrementato il PC: tipicamente di uno se l'istruzione non era un salto condizionale, altrimenti l'incremento dipende dall'istruzione e dall'esito di questa
Questo ciclo elementare può essere migliorato in vari modi: per esempio, la decodifica di una istruzione può essere fatta contemporaneamente all'esecuzione della precedente e alla lettura dalla memoria della prossima (instruction prefetch) e lo stesso può essere fatto con i dati che si prevede saranno necessari alle istruzioni (data prefetch). La stessa esecuzione delle istruzioni può essere suddivisa in passi più semplici, da eseguire in stadi successivi, organizzando la unità di controllo e la ALU in stadi consecutivi, come delle catene di montaggio (pipeline''): in questo modo più istruzioni possono essere eseguite "quasi contemporaneamente", ciascuna occupando ad un certo istante uno stadio diverso della pipeline.
Il problema di questo approccio sono le istruzioni di salto condizionato: la CPU non può sapere a priori se dovrà eseguire o no il salto prima di aver eseguito quelle precedenti, così deve decidere se impostare la pipeline tenendo conto del salto o no: e in caso di previsione errata la pipeline va svuotata completamente e le istruzioni in corso di decodifica rilette da capo, perdendo un numero di cicli di clock direttamente proporzionale al numero di stadi della pipeline. Per evitare questo i processori moderni hanno unità interne (“Branch prediction unit”) il cui scopo è tentare di prevedere se, data una istruzione di salto condizionato e quelle eseguite in precedenza, il salto dovrà essere eseguito o no.
Inoltre i processori possono implementare al loro interno più unità di esecuzione per eseguire più operazioni contemporaneamente. Questo approccio incrementa le prestazioni delle CPU ma ne complica notevolmente l'esecuzione, dato che per poter eseguire in modo efficiente più operazioni in parallelo la CPU deve poter organizzare le istruzioni in modo diverso da come sono organizzate dal programmatore (esecuzione fuori ordine). Una ulteriore evoluzione di questo concetto è stata implementata nei processori multicore Itanium, che implementano delle istruzioni predicative che possono o meno essere eseguite a seconda del risultato di altre, eseguite in precedenza o contemporaneamente.




Architettura di von Neumann e architettura Harvard

In base all'organizzazione della memoria si possono distinguere le seguenti due famiglie di CPU:
  • con architettura di von Neumann, in cui i dati e le istruzioni risiedono nella stessa memoria (è dunque possibile avere codice automodificante). Questa architettura è la più comune, perché è molto semplice e flessibile.
  • con architettura Harvard, in cui i dati e le istruzioni risiedono in due memorie separate. Questa architettura può garantire prestazioni migliori poiché le due memorie possono lavorare in parallelo riducendo le alee strutturali, ma è ovviamente molto più complessa da gestire. È tipicamente utilizzata nei DSP.
Entrambe le architetture sono architetture basate sui registri generali.

Il BIOS

Esempio di un'interfaccia BIOS
Il BIOS(Basic Input-Output System) è un insieme di routine software, generalmente scritte su ROM, FLASH o altra memoria non volatile, che fornisce una serie di funzioni di base per l'accesso all'hardware e alle periferiche integrate nella scheda madre da parte del sistema operativo e dei programmi.
La ROM del BIOS contiene anche il POST(Power On Self Test), il primo programma che viene eseguito dopo l'accensione;e che testa l'hard ware o ne verifica il funzionamnto
Nei primi PC IBM il BIOS supportava tutte le periferiche e il DOS faceva completo affidamento su di esso per le operazioni a basso livello, ma con l'evoluzione tecnologica successiva le capacità offerte dalle routine di gestione del BIOS (all'epoca non aggiornabili, perché scritte in ROM) divennero rapidamente insufficienti.
A partire dall'introduzione dei primi PC, è il BIOS che ha il compito di dare i primi comandi al sistema durante la fase di avvio, detta boot process. In questa fase, dopo i controlli preliminari sulla funzionalità dei componenti fondamentali per sapere come inizializzare correttamente le periferiche presenti il BIOS legge alcuni parametri da una piccola memoria RAM, mantenuta alimentata anche a PC spento da una batteria, del tutto separata dalla RAM principale del computer.
Il BIOS è il firmware del computer, dal momento che è una parte integrante dell'hardware, pur essendo composto da istruzioni software.
In passato il BIOS veniva memorizzato su una o più ROM, non riprogrammabili. Man mano che la complessità è aumentata, di pari passo con la necessità di aggiornamenti, si è diffusa la memorizzazione del firmware BIOS su flash memory così da permettere un rapido aggiornamento anche da parte dell'utente finale.
L'accesso al menu del BIOS avviene premendo un tasto o una combinazione di tasti, che variano da produttore a produttore o da modello a modello, durante la fase di POST. Alcune combinazioni utilizzate sono:
  • tasto del/canc
  • F2
  • esc
  • F11
  • F1
  • ctrl+alt
  • ctrl+esc
La navigazione fra le varie schede e funzionalità dell'interfaccia del BIOS avviene quasi esclusivamente da tastiera.

Presentazione del bus USB


Presentazione del bus USB

Il bus USB (Universal Serial Bus, in italiano Bus seriale universale) è, come indicato dal suo nome, basato su un'architettura di tipo seriale. Si tratta tuttavia di un'interfaccia entrata-uscita molto più rapida rispetto alle porte seriali standard. L'architettura che è stata scelta per questo tipo di porta è in serie per due ragioni principali :

•    l'architettura seriale permette di utilizzare una cadenza di orologio molto più elevata rispetto ad un'interfaccia parallela, dato che questa non supporta delle frequenze troppo elevate (in un'architettura ad alte capacità di banda, i bit circolanti su ogni filo arrivano con dei ritardi, provocando degli errori);
•    i cavi seriali costano molto meno che i cavi paralleli.

Le norme USB

Così, dal 1995, lo standard USB è stato elaborato per la connessione di una grande varietà di periferiche.
Lo standard USB 1.0 propone due modalità di comunicazione :
•    12 Mb/s in modalità alta velocità,
•    1.5 Mb/a a bassa velocità.

Lo standard USB 1.1 apporta qualche chiarimento ai costruttori di periferiche USB ma non modifica niente rispetto alla banda. Le periferiche certificate USB 1.1 hanno il seguente logo :
La norma USB 2.2 permette di ottenere delle capacità di banda che possono raggiungere 480 Mbit/s. Le periferiche certificate USB 2.0 hanno il seguente logo :

In assenza di loghi il modo migliore per determinare se si tratta di periferiche USB a bassa o alta velocità è quello di consultare la documentazione del prodotto dato che i connettori sono gli stessi.
La compatibilità tra periferiche US 1.0, 1.1 e 2.0 è assicurata. Tuttavia l'utilizzazione di una periferica USB 2.0 su una porta USB a bassa velocità (es. 1.0 o 1.1) limiterà la capacità della banda a 12 Mbit/s massimo. Inoltre, il sistema operativo visualizzerà un messaggio indicante l'abbassamento della banda.

Tipi di connettori

Esistono due tipi di connettori USB :
•    I connettori detti di tipo A, la cui forma è rettangolare e servono generalmente per delle periferiche che richiedono poca banda passante (tastiera, mouse, webcam, ecc.);
•    I connettori detti di tipo B, la cui forma è quadrata e utilizzati principalmente per delle periferiche ad alta capacità di banda (dischi rigidi esterni, ecc.)

1.    Alimentazione +5V (VBUS) 100mA massimo
2.    Dati (D-)
3.    Dati (D+)
4.    Massa (GND)

Funzionamento del bus USB

L'architettura USB ha come caratteristica di fornire l'alimentazione elettrica alle periferiche che collega, limitato a 15 W massimo per periferica. Essa utilizza per questo un cavo composto da quattro fili (la massa GND, l'alimentazione VBUS e due fili di dati detti D- e D+).

La norma USB permette di concatenare delle periferiche, utilizzando una topologia in bus o a stella. Le periferiche possono allora essere sia connesse le une presso le altre, ossia ramificate.
La ramificazione si fa attraverso dei case detti « hub » (in italiano concentratori), con una sola entrata e più uscite. Alcuni sono attivi (fornendo energie elettrica) altri passivi (alimentati dal computer).
La comunicazione tra l'host (il computer) e le periferiche si fanno seguendo un protocollo(linguaggio di comunicazione) basato sul principio dell'anello a gettone (token ring). Questo significa che la banda passante è condivisa temporaneamente tra tutte le periferiche connesse. 
L'host (il computer) emette un segnale di inizio sequenza ogni millisecondo (ms), intervallo di tempo durante il quale darà simultaneamente la "parola" a ciascuno di essi. Quando l'host vuole comunicare con una periferica, emette un gettone (pacchetto di dati, contenente l'indirizzo della periferica, codificato a 7 bit) che designa una periferica, ed è quindi l'host che decide il "dialogo" con le periferiche. 
Se la periferica riconosce il proprio indirizzo nel gettone, invia un pacchetto di dati (da 8 a 255 byte) in risposta, altrimenti fa passare il pacchetto alle altre periferiche connesse. I dati così scambiati sono codificati secondo la codifica NRZI.
Dato che l'indirizzo è codificato a 7 bit, a questo tipo di porta possono essere connesse simultaneamente 128 periferiche (2^7). In realtà bisogna portare questa cifra a 127 dato che l'indirizzo 0 è un indirizzo riservato. (cfr successivamente).
Se consideriamo una lughezza massima di 5 metri per un cavo fra due periferiche e al massimo 5 hub (alimentati), è possibile creare una catena lunga 25 metri!
Le porte USB supportano l' Hot plug and play, quindi le periferiche possono essere collegate senza spegnere il computer (collegamento a caldo, in inglese hot plug ). 

Quando si connette la periferica all'host, quest'ultimo individua l'aggiunta di un nuovo elemento grazie al cambiamento della tensione tra i fili D+ e D-. In quel momento, il computer invia un segnale di inizializzazione alla perifericha per 10 ms, poi gli fornisce corrente mediante i fili GND e 'VBUS (fino a 100mA).

La periferica è quindi alimentata elettricamente e recupera temporaneamente l'indirizzo di default (l'indirizzo 0). La tappa successiva consiste nel fornirgli un suo indirizzo definitivo (procedura di numerazione). Per far questo, il computer interroga le periferiche già collegate per conoscere il loro e attribuirne uno nuovo, che viene così identificato. L'host, disponendo di tutte le caratteristiche necessarie è quindi capace di caricare il driver appropriato.

 Il sistema USB è asimmetrico, consiste in un singolo gestore e molte periferiche collegate da una struttura ad albero attraverso dei dispositivi chiamati hub (concentratori). Supporta fino ad un massimo di 127 periferiche per gestore: nel computo vanno però inclusi anche gli hub e il gestore stesso, quindi, in realtà, il numero totale di dispositivi collegabili è sensibilmente inferiore. La lunghezza massima che può avere il cavo senza che il segnale diventi troppo debole è pari a 5 m; oltre questo limite è necessario ricorrere ad uno o più hub attivi che amplifichino il segnale. Le specifiche prevedono il collegamento consecutivo al massimo di 5 hub.

Lo standard prevede che il connettore porti anche un cavo (chiamato VBUS) per alimentare le periferiche a basso consumo. Le periferiche che hanno richieste energetiche elevate vanno alimentate a parte. I limiti energetici dello standard vanno seguiti scrupolosamente pena il probabile danneggiamento del gestore, dato che lo standard USB non prevede nelle specifiche minime la sconnessione in caso di sovraccarico.

Il disegno dell'USB è stato pensato per consentire un semplice inserimento e rimozione. Lo standard è stato progettato in modo da consentire un semplice aggiornamento dei sistemi sprovvisti di USB attraverso una scheda PCI, ISA o PC Card. Le porte USB sono dotate del supporto del Plug and Play e supportano i dispositivi hot swap quindi se il sistema operativo lo consente supportano la rimozione a caldo e il reinserimento delle periferiche senza dover riavviare il computer (questo per i dispositivi a basso consumo: verificare sul manuale della periferica che si desidera collegare se è consentito l'hot swap).

USB può collegare periferiche quali mouse, tastiere, memoria di massa a stato solido e a disco rigido, scanner d'immagini, macchine fotografiche digitali, stampanti, casse acustiche, microfoni e altro ancora. Per i componenti multimediali ormai lo standard USB è il metodo di collegamento più utilizzato mentre nelle stampanti sopravvivono ancora molti modelli dotati anche di porta parallela per questioni di compatibilità.

All'interno del computer, l'USB non ha rimpiazzato gli standard ATA o SCSI per via della sua lentezza. Il nuovo standard serial ATA per esempio consente trasferimenti dell'ordine di 150 Mbyte per secondo, una velocità molto più elevata dello standard USB, che nella versione 2.0 raggiunge un massimo di 60 Mbyte per secondo (480 Mbits/s). L'USB viene molto usato negli hard disk esterni dove si preferisce privilegiare la praticità di poter collegare e scollegare a caldo il componente rispetto alla velocità di una connessione tipo ATA. La versione 3.0 raggiunge la velocità di 4800 Mbits/s.

USB non ha ancora totalmente rimpiazzato il connettore PS/2 della tastiera, molti costruttori preferiscono mantenerlo per consentire agli utenti di poter utilizzare le economiche tastiere PS/2.

Lo standard 1.0 dell'USB (gennaio 1996) supporta collegamenti a solo 1,5 Mbit/s, velocità adeguata per mouse, tastiere e dispositivi lenti.
La versione 1.1 (settembre 1998) aggiunge la modalità full speed, che innalza la velocità a 12 Mbit/s.

La maggior novità dello standard USB versione 2.0 (aprile 2000) è l'innalzamento della velocità di trasferimento a 480 Mbit/s. Questa velocità consente all'USB di essere, teoricamente, competitivo con lo standard Firewire 400 (IEEE 1394) che ha una velocità di trasferimento di 400 Mbits/s, benché agli effetti pratici quest'ultimo risulti più veloce del primo. Lo standard USB ha tuttavia delle limitazioni di carattere tecnico che ne sconsigliano l'utilizzo su telecamere e dispositivi che manipolano flussi video.

Le specifiche dell'USB stabiliscono due tipi di connettori per collegare i dispositivi, il connettore A e B. Negli ultimi anni alcuni produttori hanno introdotto delle varianti del connettore per i loro dispositivi miniaturizzati. 
Molti produttori cercando di ridurre le dimensioni dei dispositivi hanno deciso di creare connettori più piccoli di quelli standard. Questi dispositivi rispettano lo standard di comunicazione USB a tutti gli effetti, l'unica differenza è il connettore che è fisicamente diverso, sono chiamati: micro-USB, mini USB di tipo A e B.

Una estensione del USB chiamata USB-On-The-Go consente ad una singola porta di fungere sia da dispositivo che da controllore. Ciò consente una più semplice connessione di dispositivi tipo i PDA che a volte devono fare da dispositivo ed a volte devono comandare dei dispositivi. Per evitare una proliferazione dei connettori proprietari, USB-On-The-Go ha definito anche due connettori chiamati mini-A e mini-B, che sono connettori molto più piccoli dei connettori precedenti; questo rimuove la principale motivazione dei produttori ad ignorare lo standard e cioè risparmiare spazio.

L'USB è una porta facilmente installabile anche nei computer di vecchia generazione che ne sono sprovvisti: una scheda USB 2.0 per slot PCI, da installare all'interno del case nella scheda madre, può costare dai 10 ai 30 €.

Tipi di connettori USB
Connettore maschio micro USB

Riassumendo vi sono attualmente 6 tipi di connettori USB ufficiali:
•    USB di tipo A
•    USB di tipo B
•    Mini USB di tipo A
•    Mini USB di tipo B
•    Micro USB di tipo A
•    Micro USB di tipo B
In realtà esistono altre versioni di connettori non standard per il collegamento USB di dispositivi con presa "proprietaria" di vario tipo (ad esempio lettori mp3, modem UMTS, telefoni cellulari, macchine fotografiche digitali, videocamere ecc.).

Caricabatterie universale per cellulari

Un caricabatterie micro USB per un cellulare Nokia. Dal 2011 questo connettore è utilizzato su tutti i telefoni cellulari.
Il connettore micro USB è stato scelto da alcune delle maggiori aziende di telefonia cellulare del mondo (Nokia, LG, Motorola, Samsung, RIM, Sony Ericsson, NEC, Qualcomm, Texas Instruments) per diventare il connettore standard che dal 2011 sarà presente su tutti i telefoni cellulari del mondo. È stata l'Unione europea a chiederlo al fine di ridurre l'inquinamento elettronico (l'esistenza di decine di caricatori diversi obbliga chi intende cambiare cellulare a buttare via anche il relativo caricabatterie, essendo nella maggior parte dei casi incompatibile con il nuovo telefono)[1][2], senza contare però che ogni caricabatteria dà tensioni ed amperaggi differenti in uscita. Apple inizialmente era restia all'introduzione del nuovo connettore, in quanto quello in uso con l'iPod e l'iPhone è protetto da brevetti e l'uso da parte di altre aziende comporta il pagamento ad Apple di salati costi di licenza.[3][4] Il telefono cellulare iPhone 4 e iPhone 4S di Apple (uscito sul mercato nel 2010 e 2011) lascia intendere che Apple, malgrado avesse dichiarato il contrario, abbia deciso per il momento di non introdurre sui suoi prodotti il connettore micro-usb (infatti l'iPhone 4 ne è privo e mantiene la classica presa "Apple" per la ricarica e la connessione al computer). Il cavo dato in dotazione al telefono ne permette comunque la ricarica tramite una qualsiasi presa USB, senza necessità di connettori ulteriori.

Piedinatura 
Rappresentazione schematica dei connettori USB di tipo A e B

•    Piedinatura del connettore USB:

Pin    Nome segnale    Colore filo
1             VBUS               ROSSO
2                D-                   BIANCO
3                D+                  VERDE
4             GND                   NERO

•    Pinout dei connettori mini USB:

Pin    Nome segnale    Colore filo       Note
1             VBUS               ROSSO        + 5 V
2                D-                   BIANCO       Data −
3                D+                  VERDE        Data +
4                ID                    FUCSIA       Interconnessione Mini/Micro A e B (Tipo A connesso a GND, tipo B non connesso)
5             GND                    NERO         GND

Il livello di tensione per il VBUS è di circa +5 V con una corrente massima di 500 mA. Con i segnali D+ e D- si intendono le due linee di comunicazione dati (pseudo) differenziali. Per tutti i connettori la protezione metallica esterna è connessa a terra.

USB 3.0
Connettore maschio di tipo B (3.0)

Il 18 settembre 2007 la nuova versione viene presentata al pubblico ed ai media da Pat Gelsinger, CEO della Intel, che effettua una prima dimostrazione di funzionamento di USB 3.0 all'Intel Developer Forum. USB 3.0 è in grado di trasferire dati dieci volte più velocemente di USB 2.0 con una velocità di trasferimento di 4,8 Gb/s (l'equivalente di circa 600 MB/s, contro gli attuali 480 Mb/s - 60 MB/s - dell'USB 2.0) utilizzando due coppie intrecciate ad alta velocità per la modalità "Superspeed" e il supporto di connessioni ottiche.

Le specifiche USB 3.0 sono state rese note il 13 agosto 2008 mentre i primi prodotti commerciali sono usciti a cavallo tra il 2009 e il 2010. Come avvenuto in precedenza, la versione 3.0 ha mantenuto la retrocompatibilità con USB 2.0 e 1.0. Infatti i nuovi connettori (con un maggior numero di piedini) permettono l'inserzione in una parte dei suoi piedini dei connettori USB 2.

Nella prima metà di ottobre 2008 Intel, una delle aziende che ha definito il protocollo USB, ha fornito le specifiche tecniche per la nuova interfaccia USB 3.0, retrocompatibile con l'USB 2.0.
Una nuova caratteristica è il bus "SuperSpeed", che fornisce una quarta modalità di trasferimento dati a 4,8 Gb/s.
La velocità teorica è di 4 Gb/s e la specifica ritiene ragionevole ottenere 3,2 Gb/s (ovvero 0,4 GB/s o 400 MB/s) o più al netto dell'overhead di protocollo. 
Per ospitare i piedini supplementari per la modalità SuperSpeed, i fattori di forma fisica per USB 3.0 spine e i contenitori sono stati modificati. Il contatto femmina standard-A è più profondo per accettare questi nuovi connettori. 
Un cavo standard legacy di A-a-B lavorerà come progettato e non entrerà mai in contatto con i connettori SuperSpeed, garantendo la compatibilità con le versioni precedenti.
La spina SuperSpeed standard A si adatterà correttamente alle prese, ma il SuperSpeed standard B non è adatto alle prese B standard vecchio stile (quindi un nuovo cavo può essere utilizzato per la connessione di un nuovo dispositivo a un vecchio host, ma non per collegare un nuovo host in un vecchio dispositivo, e sarà necessario un cavo standard legacy A-a-B). USB 3.0 estende il tipo di trasferimento di massa in SuperSpeed. 
Questa estensione consente a un host e a un dispositivo di creare e trasferire più flussi di dati attraverso un singolo supporto. Nuove funzioni di gestione dell'alimentazione includono il supporto di inattività, stand by e sospensione dello stato. USB 3.0 non definisce le lunghezze dei cavi, in teoria può essere usata qualsiasi lunghezza, purché soddisfi tutti i requisiti definiti nella specifica. Tuttavia alcune stime indicano una limitazione di 3 m usando SuperSpeed.

   Tipo                   Prestazioni
USB 1.0         1,5 Mbit/s (0,1875 MB/s)
USB 1.1         12 Mbit/s (1,5 MB/s)
USB 2.0         480 Mbit/s (60 MB/s)
USB 3.0         4,8 Gbit/s (600 MB/s)

Evoluzioni future

L'evoluzione dello standard USB si concentra su due strade, la prima prevede un innalzamento della velocità massima di trasferimento mentre la seconda strada chiamata wireless USB prevede l'abbandono dei cavi per la comunicazione tramite onde radio. Una prima specifica wireless USB è già stata standardizzata e alcuni dispositivi sono in commercio. Attualmente, nel 2012, la versione principalmente in uso è la 2.0, ma i nuovi dispositivi in commercio sono dotati per la maggior parte della versione 3.0

Il processore

Il processore unità di elaborazione è una tipologia di dispositivo hardware del computer che si contraddistingue per essere dedicata all'esecuzione di istruzioni. E' quindi il dispositivo che nel computer esegue materialmente l'elaborazione dati.
Un computer può essere dotato anche di più processori che collaborano tra loro. In tal caso si parla di "computer multiprocessore" e l'elaborazione dati viene anche chiamata "multiprocessing".
Un processore
 In base alle funzioni che svolgono, attualmente si possono distinguere le seguenti tre principali tipologie di processori:
  • Unità di elaborazione centrale
  • Coprocessore
  • Processore di segnale digitale
L'unità di elaborazione centrale (CPU) è il processore che sovraintende tutte le funzionalità del computer digitale basato sull'architettura di von Neumann.
 Attualmente invece la tipica implementazione dell'unità di elaborazione centrale è il microprocessore. L'unità di elaborazione centrale è quindi contenuta nello spazio di pochi centimetri quadrati.
Un computer multiprocessore può avere anche più unità di elaborazione centrale che collaborano tra loro.

 Il coprocessore è un processore ausiliario ad un altro processore. La funzione del coprocessore è quella di alleggerire il carico di lavoro del processore di cui è ausiliario. Spesso il coprocessore è un processore ottimizzato e specializzato nell'esecuzione di particolari elaborazioni in modo da risultare più efficiente nei compiti a lui affidati.

Il processore di segnale digitale (DSP) è un processore specializzato nell'elaborazione numerica dei segnali. Il processore di segnale digitale può essere utilizzato come processore principale in particolari computer dedicati esclusivamente all'elaborazione numerica dei segnali, per esempio nei computer integrati nei riproduttori di CD audio.
In oltre può essere utilizzato come coprocessore della CPU in computer sia general purpose (per esempio nel personal computer) che special purpose (per esempio nelle moderne console per videogiochi).

 Standard USB (universal Serial Bus)

In elettronica l'Universal Serial Bus (USB) è uno standard di comunicazione seriale che consente di collegare diverse periferiche ad un computer.
Le caratteristiche dello standard USB sono:
  • la facilità di connessione e sconnessione
  • il basso costo
  • la velocità di trasferimento dati abbastanza elevata (480 mbit/s)
  • il supporto dei software real time per la trasmissione di audio o video
  • la possibilità di collegare fino a 127 dispositivi



Protocollo di comunicazione USB:
  1. Il controller USB invia un token packet indicando l'indirizzo del dispositivo e la direzione della comunicazione
  2. il dispositivo indirizzato,  una volta ricevuto il pacchetto  lo decodifica per capire che tipo di comunicazione il controller chiede (trasmissione o ricezione di dati).
  3. se si tratta di una trasmissione il dispositivo li trasmette, se si tratta di una ricezione il controller li riceve.
  4. quando l'operazione è finita il controller USB invia un altro token ad un altro dispositivo
E' un protocollo di tipo deterministico cioè il controller assegna a turno, scegliendo da una lista, la possibilità di comunicare ad ogni dispositivo.
Con tale protocollo si conosce a priori il tempo di attesa di ogni dipositivo.
Vi sono attualmente 6 tipi di connettori USB ufficiali:
  • USB di tipo A
  • USB di tipo B
  • Mini USB di tipo A
  • Mini USB di tipo B
  • Micro USB di tipo A
  • Micro USB di tipo B
In realtà esistono altre versioni di connettori non standard per il collegamento USB di dispositivi con presa "proprietaria" di vario tipo (ad esempio lettori mp3, modem UMTS, telefoni cellulari, macchine fotografiche digitali, videocamere ecc.).

BUS

BUS
Componente molto importante del microprocessore sono i BUS, i quali trasportano informazioni, in codice binario, tra la memoria e il processore.
I Bus sono memorizzati sulla scheda madre, possono essere considerati come la scheda madre. I bus trasportano informazioni tra la memoria e il processore. 


I BUS si dividono in 3 gruppi:
- Bus per gli indirizzi
Bus per i dati
- Bus di controllo


Bus per gli indirizzi: vi si trasmettono le informazioni relative all'indirizzo della locazione di memoria dove si trova l'informazione da leggere o scrivere.
Bus per i dati: vi si trasmettono le istruzioni dei programmi, formate da un codice operativo insieme a un dato operando.
Bus di controllo: vi si trasportano le informazioni per comandare quale operazione occorre eseguire. Può essere un'operazione di lettura/scrittura della memoria, oppure di interruzione del processore per poter eseguire un'operazione da una periferica.

Sul bus dati si trasmettono le istruzioni dei programmi. Un’istruzione è formata da un codice operativo  operando.
Il parallelismo del bus è il numero di bit che possono essere trasmesse contemporaneamente.

I protocolli sono programmi codificati, insiemi di regole che permettono la comunicazione tra mittente e destinatario.
Esempio di protocollo:
1.    la periferica attiva la linea INTR.
2.    il microprocessore attende di terminare l'istruzione in corso.
3.    il microprocessore attiva la linea INTA.
4.    la periferica si identifica.
5.    la periferica trasmette o riceve il dato.
6.    il microprocessore riprende l'esecuzione del programma dei punti i cui era stato interrotto.

Si trasmettono le richieste di voler dialogare con il processore da parte di una periferica, e poi le informazioni di disponibilità a dialogare con la periferica.












1


Le periferiche


LE PERIFERICHE

PERIFERICA:
L'unità periferica è una tipologia di dispositivo hardware del computer la quale si contraddistingue per implementare interfacce di input e/o output e per non appartenere all'unità di elaborazione che sovraintende tutte le funzionalità del computer (nei moderni computer digitali general purpose, tale unità di elaborazione è la CPU).
DESCRIZIONE:
La periferica è collegata con gli altri componenti hardware del computer via cavo o via radio ed è controllata dal sistema operativo attraverso un driver. Può anche avere un proprio microprocessore.
FUNZIONAMENTO E GESTIONE:
Ogni volta che si collega una periferica ad un PC con S. O. Windows di Microsoft, il sistema operativo assegna ad essa una lettera corrispondente a un'unità disco rimovibile. Ogni periferica è visibile fra le risorse del computer, identificata con una lettera differente.
La prima volta che si collega una periferica al PC, bisogna in generale seguire alcuni passi per l'installazione. Il CD spesso è autoinstallante, ossia dispone di una funzione, detta di autorun, disattivabile, per cui appena inserito avvia la procedura di installazione.
Le periferiche con collegamento USB sono le uniche che non richiedono un CD di installazione. I driver sono presenti in una memoria della periferica e scaricati tramite il cavo USB. Fino a Windows '98, anche per queste periferiche doveva essere installato un CD. Il CD-Rom di installazione contiene i driver della periferica, scaricabili gratuitamente dal sito del produttore, con i relativi aggiornamenti.
TIPOLOGIE:
Molte sono le tipologie di periferiche ma tutte rientrano nei seguenti tre principali gruppi di tipologie:
-periferica di input, periferica di output e periferica di input/output;
-periferica interna e periferica esterna;
-periferica locale e periferica remota.
PERIFERICA DI INPUT, PERIFERICA DI OUTPUT E PERIFERICA DI INPUT/OUTPUT:
La periferica di input (anche chiamata periferica di ingresso) è una periferica che immette dati nella memoria centrale del computer. Un esempio di periferica di input è la tastiera.
La periferica di output (anche chiamata periferica di uscita) è una periferica che riceve dati dalla memoria centrale del computer. Un esempio di periferica di output è la stampante.



 


La periferica di input/output (anche chiamata periferica di ingresso/uscita) è una periferica che immette dati nella memoria centrale del computer e riceve da essa dati. Un esempio di periferica di input/output è il modem

Queste tre tipologie di periferiche sono mutuamente esclusive: una periferica rientra sempre e soltanto in una delle tre tipologie sopra citate.
PERIFERICA INTERNA E PERIFERICA ESTERNA:
La periferica interna è una periferica che risiede all'interno del case del computer assieme ad altre componenti del computer. Un esempio di periferica interna è la scheda video.
La periferica esterna è una periferica che non risiede all'interno del case del computer assieme ad altre componenti del computer. Un esempio di periferica esterna è il mouse.
Queste due tipologie di periferiche non sono mutuamente esclusive. Esistono infatti tipologie di periferiche che vengono realizzate sia come periferiche interne che come periferiche esterne. Un esempio di tali tipologie di periferiche è l'hard disk.
TIPOLOGIE PARTICOLARI:Di seguito sono elencate le più comuni tipologie particolari di periferiche:

--Dispositivi di puntamento:
        -mouse
        -mouse ottico
        -trackball
        -penna ottica
        -tavoletta grafica
        -Touch screen

--Controller
        -Gamepad
        -Paddle
        -Joystick
        -Volante
        -Cloche
        -Pedale
        -Sensore di movimento
        -Pistola laser
        -Tastierino per giochi programmabile
--Memorie di massa:
        -disco rigido
        -floppy disk drive
        -lettori di dischi ottici (CD, DVD, Blu-ray Disc)
        -lettori di schede di memoria e chiavi USB
        -microdrive
        -nuclei di ferrite
        -unità a nastro
        -unità a dischi removibili
            -unità Iomega
                -unità a dischi Bernoulli
                -unità a dischi Zip
                -unità a dischi Jaz
                -unità a dischi Rev
--Monitor:
        -monitor CRT (a tubo catodico)
        -monitor LCD (a cristalli liquidi)
        -monitor al plasma
--Stampanti:
       -plotter
       -stampante ad aghi
       -stampante a getto d'inchiostro
       -stampante a margherita
       -stampante laser
       -stampante termica

Le ROM, memorie di sola lettura



Le memorie ROM (Read Only Memory) sono memorie di sola lettura, ovvero la memorizzazione avviene permanentemente nella fase di costruzione: l'informazione può solo essere letta, e mai modificata, tranne nel caso delle memorie programmabili o riprogrammabili.


Le memorie ROM permettono generalmente di memorizzare il firmware dei dispositivi, come il BIOS del sistema di elaborazione, e contengono la logica di funzionamento dei dispositivi in programmi binari. La logica di indirizzamento è analoga a quella delle RAM, ma con possibilità di sola lettura.



L'architettura delle memorie ROM è una matrice in cui ad ogni intersezione di riga e colonna vi è una cella di memoria, e può essere schematizzata come un decodificatore di indirizzo e un codificatore, realizzato a matrice di diodi o transistor, che possono essere sia a giunzione bipolare che ad effetto di campo. Ad ogni cella della matrice corrisponde una locazione di memoria in cui viene scritto il bit in fase di costruzione.
La lettura avviene tramite l'invio delle linee di indirizzo al decodificatore: esso ha il ruolo di attivare una riga della matrice del codificatore, la quale restituisce l'informazione contenuta nelle memorie allocate nelle intersezioni della riga selezionata e le colonne.


Esistono diversi tipi di ROM:


PROM: sono ROM programmabili (Programmable ROM). Permettono la programmazione dei contenuti binari da parte dell'utente, una sola volta.



EPROM (Erasable Programmable ROM): sono memorie ROM che permettono di rimuovere la programmazione tramite l'esposizione ai raggi ultravioletti: a tale scopo il chip presenta una piccola finestra di quarzo trasparente alle radiazioni ultraviolette. In seguito è possibile riprogrammare la memoria.





EEROM E²ROM (Electrically Erased ROM, anche dette Flash ROM): memorie di tipo programmabile e cancellabile come le EPROM. Il processo di cancellazione però avviene online: la memoria non si stacca dalla scheda madre dove si trova alloggiata, quindi non viene disinstallata; la cancellazione si effettua collegandosi ad un particolare sito WEB di aggiornamento del firmware. Offrono alcuni vantaggi, ad esempio:

  • i tempi di cancellazione sono molto più brevi;
  • la cancellazione richiede tensioni molto più basse, quindi il processo di cancellazione può essere realizzato senza disinstallare il dispositivo dal suo alloggio;

  • la cancellazione può riguardare anche una singola cella, e in questo caso le memorie sono indicate come EAROM.



I Dischi Ottici

 

 

Emanuele Tomaello

 

I DISCHI OTTICI



INTRODUZIONE

Il disco ottico è una tipologia di supporto di memoria. È costituito da un disco piatto e sottile in genere di policarbonato trasparente. Al suo interno è inserito un sottile foglio metallico, in genere di alluminio, su cui vengono registrate e lette le informazioni tramite un raggio laser.

 LE ORIGINI 

David Paul Gregg sviluppò un disco ottico analogico per registrare i video e lo brevettò nel 1961 e nel 1969 (brevetto US 3430966). Il brevetto US 4,893,297, fu archiviato nel 1968 e pubblicato nel 1990, così potrà essere una sorgente di royalty per il DVA della Pioneer fino al 2007. La società di Gregg, Gauss Electrophysics, fu acquisita assieme ai brevetti di Gregg dalla MCA nei primi anni 1960.
Parallelamente, e probabilmente ispirato dagli sviluppi in USA, un piccolo gruppo di fisici iniziarono nel 1969 una serie di esperimenti su videodischi ottici nel centro di ricerca della Philips in Eindhoven, Olanda. Nel 1975, la Philips e la MCA decisero di unire le forze. Nel 1978, molto più tardi, il tanto atteso LaserDisc fu introdotto in Atlanta. La MCA distribuì i dischi e la Philips i riproduttori. Si dimostrò un completo fallimento tecnico e commerciale, e ben presto la cooperazione Philips/MCA terminò. In Giappone e in USA la Pioneer ha avuto successo con il videodisco fino all'avvento dei DVD.

La Philips e la Sony formarono un consorzio nel 1979 per lo sviluppo di un disco audio digitale, che portò all'introduzione del compact disc nel 1983.

LE CARATTERISTICHE
 
 
L'informazione su un disco ottico è memorizzata sequenzialmente in una traccia continua a spirale, dalla traccia più interna a quella più esterna. I dischi ottici sono particolarmente resistenti agli agenti atmosferici, e hanno una grande capacità di memorizzazione. L'informazione viene letta a seconda dell'angolo che occupa.

LE TIPOLOGIE

Esistono diverse tipologie di disco ottico: 
  • LASER DISC
  • CD
  • DVD
  • DUAL DISC
  • HD DVD
  • BLU-RAY DISC (recentissimi, permettono la riproduzione di contenuti in alta definizione)
  • Digital Multilayer Disk
  • Enhanced Versatile Disc
  • Fluorescent Multilayer Disc
  • Holographic Versatile Disc
  • Universal Media Disc
  • Versatile Multilayer Disc
  • Microholas (progetto europeo di disco olografico)

Immagini computer

Questo è un computer portatile come quello che uso a scuola per esercitarmi, per scrivere, per fare relazioni in power point
L'HARD DISK o disco rigido

Un disco rigido o disco fisso, anche chiamato hard disk drive (abbreviazioni comuni: "hard disk", "HDD" ) o fixed disk drive (abbreviazioni comuni: "fixed disk", "FDD"), è un dispositivo di memoria di massa che utilizza uno o più dischi magnetici per l'archiviazione dei dati.
Il disco rigido è uno dei tipi di dispositivi di memoria di massa attualmente più utilizzati. È infatti presente nella maggior parte dei computer e anche in altri dispositivi elettronici, come ad esempio il PVR. Il disco rigido ha da poco tempo un serio concorrente, l'unità a stato solido, destinata probabilmente in futuro a soppiantarlo.

 
In generale su disco rigido sono possibili le seguenti operazioni:
  •     lettura-scrittura dati
  •     pulitura disco
  •     scandisk
  •     deframmentazione
  •     backup
  •     formattazione
  •     partizionamento

Il disco rigido è costituito fondamentalmente da uno o più piatti in rapida rotazione, realizzati in alluminio o vetro, rivestiti di materiale ferromagnetico e da due testine per ogni disco (una per lato), le quali, durante il funzionamento "volano" alla distanza di poche decine di nanometri dalla superficie del disco leggendo e scrivendo i dati. La testina è tenuta sollevata dall'aria mossa dalla rotazione stessa dei dischi che può superare i 15.000 giri al minuto; attualmente i valori standard di rotazione sono 4.200, 5.400, 7.200, 10.000 e 15.000 giri al minuto.
Le testine induttive sono componenti fondamentali del disco rigido ed utilizzate per la lettura e scrittura sulla superficie del disco, dei dati elaborati da un computer.

Sono costituite da avvolgimenti di rame miniaturizzati, in grado di rilevare la variazione del flusso del campo magnetico statico tra un bit ed il successivo, secondo il principio di induzione magnetica, durante il veloce transito sotto la testina, della traccia contenente i bit.

 


CARATTERISTICHE E PRESTAZIONI

I dischi rigidi moderni hanno capacità e prestazioni enormemente superiori a quelle dei primi modelli, ma poiché nel frattempo la velocità e le prestazioni delle memorie ad accesso casuale (RAM e ROM) sono aumentate molto di più, la loro velocità nella lettura e scrittura dei dati restano comunque di diversi ordini di grandezza al di sotto delle prestazioni della RAM e della componentistica a stato solido che equipaggia un computer. Per questo motivo il disco rigido è spesso la causa principale del rallentamento di un computer soprattutto quando, a causa di una memoria RAM inferiore alla memoria virtuale richiesta dai programmi in esecuzione, il sistema operativo è costretto ad effettuare un gran numero di operazioni di swap tra il disco e la memoria centrale.

Le caratteristiche principali di un disco rigido sono:
  •     la capacità
  •     il tempo di accesso
  •     la velocità di trasferimento

La capacità è in genere espressa in gigabyte (GB). I produttori usano i gigabyte decimali, invece delle approssimazioni per potenze di due usate per la memoria. Questo significa che la capacità di un disco rigido è in realtà un poco più piccola di quella di un modulo di memoria con la stessa capacità, e lo scarto aumenta all'aumentare delle dimensioni. Quando la capacità è espressa in GB, il fattore di correzione è di (1000/1024)3, pari a circa 0,93, per cui un disco rigido da 320 GB ha una capacità effettiva di circa 298 GB. Attualmente (ottobre 2010) i dischi rigidi si trovano in vendita con capacità fino a 4 TB. Alcune aziende accorpano più dischi in un unico box per arrivare a capacità di 7,5 TB, si tratta di un espediente per poter offrire la massima capacità di archiviazione nel minimo spazio, ad es: Lacie Big Disk, Maxtor Shared Storage, ecc. La capacità può essere aumentata incrementando la densità con cui le informazioni vengono memorizzate sui piattelli che compongono il disco rigido o impiegandone un numero maggiore.

Il tempo di accesso è la variabile più importante nel determinare le prestazioni di un disco rigido, conoscendo il modello, facilmente si può risalire ai dati tecnici dell'unità, compreso il tempo di accesso, purtroppo molti produttori di computer non menzionano questo dato, e a volte nemmeno la marca né il modello. Si tratta del tempo medio necessario perché un dato, residente in un punto casuale del disco, possa essere reperito. Il tempo impiegato dipende dalla velocità della testina a spostarsi sulla traccia dove risiede il dato e dalla velocità di rotazione del disco; maggiore è la velocità e più breve è il tempo impiegato dal dato a ripassare sotto la testina nel caso questa non fosse arrivata in tempo sul dato, durante la rotazione precedente (latenza rotazionale). I produttori cercano perciò di realizzare testine sempre più leggere (che possono spostarsi più in fretta perché dotate di minore inerzia) e dischi che girano più velocemente. Il tempo di accesso tipico per un disco rigido da 7200 rpm è di circa 9 millisecondi. Per uno da 15.000 rpm è inferiore a 4 ms.

La velocità di trasferimento è la quantità di dati fornita dal disco rigido in un determinato tempo (in genere si prende 1 secondo come riferimento). Usare dischi che ruotino più velocemente o incrementare la densità di memorizzazione porta ad un miglioramento diretto della velocità di trasferimento. Va ricordato che la velocità di trasferimento cala in modo proporzionale al numero di discontinuità nei settori che compongono il file ricercato (vedi frammentazione).

Oltre alle tre viste sopra, altre caratteristiche influenzano in misura minore le prestazioni di un disco rigido. Tra queste:
  •     il buffer di memoria
  •     la velocità dell'interfaccia

Il buffer è una piccola memoria cache (in genere di alcuni megabyte) posta a bordo del disco rigido, che ha il compito di memorizzare gli ultimi dati letti o scritti dal disco. Nel caso in cui un programma legga ripetutamente le stesse informazioni, queste possono essere reperite nel buffer invece che sul disco. Essendo il buffer un componente elettronico e non meccanico, la velocità di trasferimento è molto maggiore, nel tempo, la capacità di questa memoria è andata sempre aumentando, attualmente (ottobre 2010) 32 MB o anche 64MB sono una dimensione abbastanza usuale.

L' interfaccia di collegamento tra il disco rigido e la scheda madre (o, più specificatamente, il controller) può influenzare le prestazioni perché specifica la velocità massima alla quale le informazioni possono essere trasferite da o per il disco. Le moderne interfacce tipo ATA133, Serial ATA o SCSI possono trasferire centinaia di megabyte per secondo, molto più di quanto qualunque singolo disco fisso possa fare, e quindi l'interfaccia non è in genere un fattore limitante. Il discorso può cambiare nell'utilizzo di più dischi in configurazione RAID, nel qual caso è importante utilizzare l'interfaccia più veloce possibile, come per esempio la Fibre Channel da 2 Gb/s.

I dischi rigidi sono prodotti in 7 dimensioni standardizzate chiamati "fattore di forma", e si riferisce al diametro del disco espresso in pollici: 8 - 5,25 - 3,5 - 2,5 - 1,8 - 1 - 0,85. I primi sono utilizzati nei personal computer chiamati desktop, nei server, e nelle unità NAS, unità remote di memorizzazione in reti di calcolatori e ultimamente disponibili anche per uso casalingo. I secondi nei computer portatili e dovunque ci sia poco spazio e/o potenza di alimentazione, i più piccoli nei dispositivi tascabili. Tutti i formati sono utilizzati anche per realizzare memorie di massa esterne ai computer, collegabili tramite un cavo USB o FireWire, adottate quando sia necessario ampliare la capacità di memorizzazione del computer o quando occorra trasportare agevolmente grandi quantità di dati. Nel formato maggiore l'alimentazione avviene tramite un alimentatore collegato alla rete elettrica, il formato 2,5 solitamente è alimentato direttamente dal cavo dell'interfaccia, i più piccoli dalla batteria del dispositivo in cui risiedono. Attualmente (ottobre 2010), la capacità massima di archiviazione di questi dispositivi è di 3 terabyte. Il miglior rapporto tra capacità e prezzo sono i dispositivi da 1 terabyte, due costruttori, Seagate Technology e Western Digital forniscono queste periferiche differenziandone i modelli in base alle prestazioni, velocità e consumo di corrente, le unità destinate ai RAID hanno un MTBF di 1.200.000 ore (100 anni). I dischi rigidi da 2,5" sono infatti più piccoli e meno esigenti, ma al prezzo di capacità e prestazioni sensibilmente minori e costi maggiori (ad esempio, una velocità di rotazione di 4200 o 5400 rpm, invece dei 7200 rpm o più dei dischi da 3,5). Il disco rigido della dimensione di un pollice è il più recente immesso sul mercato e corrisponde al formato compact flash di tipo II, grandi solo due o tre centimetri e spessi quanto una carta di credito, ma capaci di memorizzare comunque alcuni gigabyte di dati (vedi IBM Microdrive). L'ideazione da parte di Hitachi nel 2005 del cosiddetto metodo di "registrazione perpendicolare" ha aperto la strada ad una nuova generazione di dischi rigidi, con capacità dieci volte maggiori a parità di dimensioni (o, parallelamente, dimensioni 10 volte minori a parità di capacità), grazie ad una maggiore densità con cui le informazioni vengono memorizzate nel materiale magnetizzato che costituisce i piatti del disco. Un'ulteriore incremento della densità di bit per unità di superficie è prevedibile con l'impiego di un diodo laser che riscaldi la zona di posizionamento del bit da registrare; questa tecnica in via di sviluppo porta a prevedere come massimo impaccamento, un terabit per pollice quadrato.

I dischi rigidi più veloci, avendo motori più potenti, sviluppano molto calore. Alcuni devono addirittura essere raffreddati con ventole apposite.
Il suono emesso da un disco è composto da un sibilo continuo, generato dalla rotazione dei dischi e da un crepitio intermittente, di cui ogni clic corrisponde ad un movimento della testina. In molti casi il rumore generato può risultare fastidioso, pertanto i produttori tendono ad adottare soluzioni tecniche per ridurlo al minimo, inevitabilmente però, un disco veloce risulta più rumoroso di uno lento; tra i vari dati forniti dal costruttore per un dato modello, compare anche il valore di rumore espresso in dB. Per maggiore flessibilità, in alcuni dischi la velocità di spostamento della testina è impostabile via software; alcuni produttori, per ridurre di qualche decibel il rumore, adottano la bronzina come supporto dell'albero rotante al posto del cuscinetto. Anomalie nei suoni emessi dal disco rigido sono indicativi di severi danni meccanici, i quali rendono i dati inaccessibili e solo attraverso sofisticate tecniche di recupero dati, questi possono essere in alcuni casi resi nuovamente disponibili. Un significativo miglioramento si registra anche nei consumi di energia elettrica (Wh), sempre in diminuzione grazie al sempre più sofisticato controllo delle parti meccaniche in movimento, come ad esempio la gestione della velocità di spostamento delle testine proporzionale al tempo che impiegheranno ad arrivare sul punto in cui passerà il dato, è inutile arrivare prima sul posto e poi dover aspettare, meglio arrivare giusto in tempo con velocità più lenta, significa meno corrente consumata e minor rumore.

TEMPI DI ACCESSO

Il tempo di accesso a disco è influenzato da cinque fattori:
  • Controller Overhead (overhead del controllore): è il tempo necessario alla gestione dei dati e l'invio dell'opportuno interrupt; è il tempo in assoluto minore;
  • Seek time (tempo di ricerca): è il tempo necessario a spostare la testina sulla traccia; è il fattore più critico poiché si tratta di un movimento meccanico e non di un impulso elettrico; questo fa sì che non si possa scendere al di sotto di qualche decina di millisecondo;
  • Assessment time (tempo di assestamento): è il tempo necessario all'assestamento della testina sulla traccia dopo lo spostamento; spesso viene inglobato nel 'Seek time;
  • Latency time (tempo di latenza): (anche rotational latency) è il tempo necessario perché, a causa della rotazione del disco, l'inizio del settore desiderato arrivi a trovarsi sotto la testina; ovviamente dipende dalla velocità dello spindle; per esempio con una velocità (tipica) di 5400 rpm, il tempo di latenza massimo è di circa 11 millisecondi;
  • Rotational time (tempo di rotazione): è il tempo necessario al settore per passare sotto la testina, tempo durante il quale il settore viene letto o scritto.
Tempo di accesso: ControllerOverhead + SeekTime + Latency + RotationalTime

MEMORIZZAZIONE DATI

I dati sono generalmente memorizzati su disco seguendo uno schema di allocazione fisica ben definito in base al quale si può raggiungere la zona dove leggere/scrivere i dati sul disco. Uno dei più diffusi è il cosiddetto CHS acronimo per il termine inglese Cylinder/Head/Sector (Cilindro/Testina/Settore); in questa struttura i dati sono memorizzati avendo come indirizzo fisico un numero per ciascuna delle seguenti entità fisiche:
  • Piatto
    Un disco rigido si compone di uno o più dischi paralleli, di cui ogni superficie, detta "piatto" e identificata da un numero univoco, è destinata alla memorizzazione dei dati.
  • Traccia
    Ogni piatto si compone di numerosi anelli concentrici numerati, detti tracce, ciascuna identificata da un numero univoco.
  • Cilindro
    L'insieme di tracce alla stessa distanza dal centro presenti su tutti i dischi è detto cilindro. Corrisponde a tutte le tracce aventi il medesimo numero, ma diverso piatto.
  • Settore
    Ogni piatto è suddiviso in settori circolari, ovvero in "spicchi" radiali uguali ciascuno identificato da un numero univoco.
  • Blocco
    L'insieme di settori posti nella stessa posizione in tutti i piatti.
  • Testina
    Su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati memorizzati sul piatto; la posizione di tale testina è solidale con tutte le altre sugli altri piatti. In altre parole, se una testina è posizionata sopra una traccia, tutte le testine saranno posizionate nel cilindro a cui la traccia appartiene.
  • Cluster
    Raggruppamento di settori contigui
A) Traccia
B) Settore
C) Settore di una traccia (o anche traccia di un settore)
D) Cluster, insieme di settori contigui
Questa struttura introduce una geometria fisica del disco che consta in una serie di "coordinate" CHS, esprimibili indicando cilindro, testina, settore. In questo modo è possibile indirizzare univocamente ciascun blocco di dati presente sul disco. Ad esempio, se un disco rigido si compone di 2 dischi (o equivalentemente 4 piatti), 16384 cilindri (o equivalentemente 16.384 tracce per piatto) e 16 settori, e ciascun settore di una traccia ha una capacità di 4096 byte, allora la capacità del disco sarà di 4 × 16384 × 16 × 4096 byte, ovvero 4 GiB.

Il fattore di interleaving è il numero dei settori del disco rigido che si deve saltare per leggere consecutivamente tutti quelli della traccia. Ciò dipende strettamente dalle caratteristiche prestazionali del disco rigido stesso, cioè dalla velocità di rotazione del disco, dal movimento dei seeker con le relative testine e dalla velocità di lettura-scrittura della stessa testina.

Tale processo è stato introdotto poiché inizialmente le CPU, che ricevevano e rielaboravano i dati letti, compivano queste azione ad una velocità inferiore della velocità di lettura/scrittura sul disco rigido, quindi, una volta rielaborati i dati provenienti da un settore, la testina si troverebbe già oltre l'inizio del settore successivo. Alternando i settori in modo regolare e leggendoli secondo lo specifico interleaving factor, si velocizzava il disco rigido e il calcolatore. I moderni dischi rigidi non necessitano di interleaving.


Post su blog personale : Click per essere reindirizzati