martedì 29 marzo 2011

Interfacce e Controllori

Seguiamo il percorso di una informazione dalla CPU allo schermo

Il processore è la mente, le periferiche il braccio. Ora dobbiamo metterli in comunicazione tra loro. Cercheremo di seguire con ordine il viaggio di una informazione dall’avvio del computer alla comparsa in forma visibile nello schermo del PC. Per rendere il compito meno incomprensibile vi consiglio di aprire in una nuova scheda la foto del post a “grandezza naturale.” La direzione delle frecce è puramente casuale. I processi che vengono eseguiti da un computer durante la fase di avvio, dall’accensione fino al completato caricamento del Sistema Operativo costituiscono la procedura detta Bootstrap, più comunemente nota come Boot. Inizialmente la CPU è in uno stato di Reset. Quando le tensioni di alimentazione si stabilizzano la CPU passa dal Reset al caricamento della sua prima istruzione presa dalla ROM o altra memoria non volatile.
Bootstrap di un PC

Il POST (Power On Self Test), si tratta di una serie di test diagnostici. Se tutti i dispositivi sono in regola si sentirà “beep,” altrimenti sentirete una serie di beep; come fosse un codice morse, in base alla serie di beep lunghi e corti sarà possibile capire quale periferica presenta problemi. Molto importante per la diagnostica.
Ricerca della scheda video, esegue quindi (se la scheda è riconosciuta) il POST video che si trova nella ROM interna della stessa scheda. Se questo non avviene abbiamo capito che qualcosa non va nella nostra scheda video.
Ricerca altre ROM, di altri dispositivi installati e ne esegue le Routine POST. Non è la fine del mondo se non ci sono.
Test vari eventuali, (conteggio della memoria, stato della tastiera, ecc.) se trova errori mostra un messaggio nel monitor, così sappiamo cosa non sta andando come dovrebbe.
Schermata di presentazione, con alcuni dati sull’hardware del nostro computer.
Compila l’inventario completo del nostro hardware: di ogni aspetto fisico mostrerà su schermo i singoli dati. Pensate che in questo momento siamo ancora nella fase in cui vediamo tutte quelle scritte in campo nero.
Interfaccia con la CMOS, contenente vari parametri importanti come la data e l’ora corrente.
Sistema Operativo avviato. Tutte le operazioni successive dipendono dal tipo di Software installato; immaginate le differenze che possono esserci tra Windows, Linux e Mac. Oggi è possibile anche il Dualboot, ovvero la possibilità di avviare in uno stesso computer, (non contemporaneamente!) due sistemi operativi. Esistono anche software che simulano l’hardware detti “virtual machine” i quali permettono di usare due sistemi operativi contemporaneamente, ovviamente il Sistema installato virtualmente non lavorerà al pieno delle sue potenzialità.

La ROM mette in moto il BIOS che dice alla CPU di svegliarsi dialogando con la RAM: «bisogna avviare il sistema operativo», dice la CPU. Inoltre il monitor deve farci vedere come procedono i lavori. La RAM attraverso appositi slot comunica attraverso la Mother Board (la Scheda Madre) e trasmette l’ordine all’Hard Disk dove è in memoria il software del Sistema Operativo. Ha a disposizione per questo diversi tipi di Bus, per trasferire ordini e ricevere risposte, attraverso gli Slot PCI, ISA, AGP; supponiamo che questa Scheda li comprenda tutti. Ogni dispositivo hardware è fatto a modo suo e parla un certo linguaggio standard, per tanto bisogna che le periferiche possano farsi capire, in modo che i Bus riportino una comunicazione corretta.

Dalla ROM al CMOS

Oggi non si parla più di ROM, infatti il CMOS ne ha totalmente assorbito le funzioni. «Il termine CMOS indica i chip fisici della motherboard che memorizzano le informazioni sulla configurazione dell’hardware del computer, tra cui anche l’ora e la data del sistema … All’interno di questi chip risiede il firmware, chiamato BIOS … firmware … perché di fatto non è né hardware, né software, ma qualcosa di intermedio». (cfr. Mark Minasi, The Complete PC Upgrade & Maintenance Guide., SYBEX Inc., 2004)

Controllori e Interfacce

Prima di continuare approfondiamo un attimo il concetto di “Bus”. Quando apriamo il Case del PC (il contenitore metallico dei principali componenti hardware) e andiamo a localizzare i Bus, in realtà quel che vediamo sono i loro Slot, ovvero la loro parte dove si inseriscono. I Bus non sono una esclusiva della scheda madre, anche la USB è un tipo di Bus. Si tratta di canali che permettono il dialogo tra periferiche, dando per scontato che Controllori/Adattatori (i butta fuori all’ingresso) e le Interfacce (i butta fuori all’uscita) siano compatibili tra loro. Le connessioni del Bus possono essere su circuito stampato (la Mother Board) oppure tramite un apposito cavo (USB, FireWire, ecc.) Concludo questa digressione dicendo che a puro titolo di esempio si è citato il Bus AGP, consigliato un tempo per comunicare con la scheda video; oggi è stato ampiamente sostituito dal PCI Express.
Ogni Mother Board possiede dei Controllori come quello EIDE (Ultra ATA) il SCSI (compatibile con tutti i tipi di Bus, fatta eccezione per l’AGP) e il SATA (Serial ATA). Così, per esempio, un Hard Disk di Interfaccia EIDE comunicherà agevolmente col controllore omonimo; troviamo dischi in commercio di Interfaccia EIDE (Ultra ATA) e Serial ATA (SATA). Questo fa si che prima di acquistare un disco bisogna assicurarsi che la sua interfaccia sia compatibile col controllore della Scheda Madre: «ATA o SATA

Bene, l’Hard Disk ha ricevuto l’ordine e sta inviando i dati necessari all’avvio del Sistema Operativo alla CPU, seguendo un certo percorso:
Hard Disk/Interfaccia SATA/Bus SATA/Controllore SATA/Bus PCI/RAM/CPU/.

Perfetto, il PC lavora, ma noi dobbiamo anche vedere sullo schermo cosa “combina”; così tutti i dati attraverso il Bus AGP (consigliato per le schede video) vengono resi noti al controllore VGA del monitor, ed ecco che vediamo la collinetta erbosa di Windows, piuttosto che il simbolo afro di Ubuntu.

Nessun commento:

Posta un commento