Seleziona il capitolo della lezione

gli appunti a cura di Nosari Roberto

Le origini dell'informaticaPrincipi di funzionamentoIl computer le basiI componenti principaliIl cabinetLe interfacce di comunicazioneMonitor e schede videoAltre perifericheLe memorie di massaLa multimedialita' e schede audio

INFORMATICA DI BASE

Capitolo 4: I componenti principali

      LA SCHEDA MADRE

La scheda madre, è una scheda composta di circuiti integrati (chip) e che collega tutti i componenti dell'elaboratore. I componenti fondamentali di una scheda madre sono, a grandi linee, il microprocessore, la memoria e gli alloggiamenti di espansione.

La scheda madre, in inglese motherboard, rappresenta il vero cervello dei computer. Coordina l'afflusso delle informazioni, gestisce le periferiche, esegue i controlli sul funzionamento, interagendo con tutte le componenti presenti all’interno dei computer.

Attorno ad essa vengono quindi installati i vari componenti della macchina. Questi possono essere divisi in componenti principali (quali ad esempio il processore, la scheda grafica per il video, la memoria RAM) ed i componenti aggiuntivi, dispositivi in grado cioè di migliorare le prestazioni di base dei computer.

Gli alloggiamenti delle schede di espansione vengono definite slot (connettori) o pettini e possono essere di tipo ISA (a 16 bit, solitamente di colore nero) o PCI (a 32 bit, in genere di colore bianco per le schede più veloci e moderne). Le ultime arrivate sono le AGP (Accelerated Graphics Port) dedicate al solo mondo grafico. Sulle schede madri più recenti è installato direttamente anche il chip di controllo dei dischi fissi ed alcune periferiche come il CD-ROM, mentre in passato questa gestione era demandata ad apposite schede aggiuntive.

Attenti alle sigle...

Socket 7 – E’ lo zoccolo su cui  inserire i processori  x86 di quinta generazione: Intel Pentium, Cyrix 5x86 e 6x86, AMD K5 e K6.

Socket 8: Sviluppato da Intel appositamente per il Pentium Pro; difficilmente sarà utilizzato per altre CPU dato l'alto costo del processo produttivo.

Slot 1: Il più recente dei sistemi di assemblaggio di CPU sviluppato da Intel per il Pentium 2: su una scheda sono saldati il processore e la memoria cache di secondo livello. Il tutto è inserito in un contenitore plastico con un dissipatore termico integrato; si installa sulla scheda madre per mezzo di un contatto a pettine.

Slot di espansione: Accolgono la scheda grafica, il controller SCSI, l'adattatore di rete, la scheda audio e ogni altro tipo di scheda di espansione. Sono di tipo PCI (32 bit a 33 Mhz) e ISA (16 bit a 8 Mhz) a seconda del bus a cui si interfacciano. Alcuni modelli dispongono già anche di uno slot AGP (Accelerated Graphic Port) ad alta velocità, destinato espressamente alle schede grafiche (32 bit a 66 o 133 Mhz).

Scheda madre ATX: E’ il nuovo formato che sta gradualmente sostituendo la classica “Baby AT”. La piastra é stata ruotata di 90° (ora si sviluppa in verticale anzichè in orizzontale); lo zoccolo del processore è stato spostato al di sopra degli slot di espansione così da permettere l'utilizzo di schede a lun­ghezza intera; ancora più in alto ci sono i connettori per la memoria. Diverso è il connettore di alimentazione ed anche il meccanismo di accensione (il PC, è sempre sotto tensione, pronto ad entrare in funzione al verificarsi di specifici eventi, per esempio alla ricezione di un fax o di posta elettronica).

Scheda madre NLX: Un nuovo formato di scheda madre progettato appositamente per i desktop compatti a basso profilo; la disposizione dei componenti facilita l'accesso alle zone destinate all'espansione. Gli slot PCI e ISA sono presenti in numero limitato su di un raiser, cioè una scheda montata alla piastra madre che permette di installare le schede di espansione ruotate di 90° per risparmiare spazio.

 

      IL MICROPROCESSORE

                                           

Il microprocessore (indicato spesso con la sigla CPU, dall'inglese Central Process Unit, ossia Unità Centrale di Elaborazione), costituisce il vero e proprio cervello del computer, in quanto tutti i dati immessi devono passare obbligatoriamente per il microprocessore in modo da essere elaborati: esso è composto da una unità di controllo che si occupa di  eseguire passo per passo le istruzioni dei programmi, ovvero le singole direttive di cui si compongono i software; una unità aritmetico-logica che esegue le operazioni matematiche o logiche e una zona di immagazzinamento dove vengono custoditi i dati in fase di elaborazione.

Esistono diversi tipi di microprocessore, ciascuno caratterizzato da una potenza diversa e da una maggiore o minore velocità di esecuzione: se l'utente desidera aumentare la velocità del proprio computer non è costretto a cambiare tutta la scheda madre, basta che tolga il microprocessore dallo zoccolo nel quale è inserito e ne metta un altro più potente in uno zoccolo extra chiamato Overdrive.

Una delle caratteristiche principali che caratterizza un microprocessore è la quantità di bit che ad ogni singolo step (passo), possono essere presi in considerazione. Più è elevato il numero di bit che un processore può trattare in ogni singola operazione, maggiore è la velocità di elaborazione di un computer. In questo campo sono stati compiuti enormi progressi. Basti pensare che soltanto qualche anno fa i Personal Computer erano dotati di microprocessori a 8 bit. Oggi, il processore Pentium, il più potente processore della fascia PC ha una capacità di ben 64 bit.

Il processore è montato su di uno speciale zoccolo presente sulla scheda madre detto socket.  I processori per PC sono definiti genericamente X86, dal nome dell'architettura originaria sviluppata da Intel.

I primi erano infatti chiamati con sigle numeriche: 80.86,80.286, 80.386, 80.486.

Gli ultimi usciti, la quinta generazione, è invece denominata Pentium. La frequenza con la quale il processore esegue ogni singola operazione in un intervallo regolare e costante di tempo è detta clock della macchina. Si tratta in pratica di una oscillazione elet­trica ad intervalli regolari misurata in Megahertz (Mhz). A parità di processore, più elevato è il clock, più veloce risulteranno le prestazioni del computer.

La potenza del Processore non dipende però solo dalla sua velocità: un Pentium Pro a 180 Mhz ad esempio, è molto più veloce di un Pentium a 200 Mhz.

I più recenti Pentium (Pentium MMX e Pentium ll) dispongono della tecnologia MMX che consente maggiori prestazioni in campo multimediale.

 

 

486 sx (25 Mhz): Prodotti da Intel. Sono processori in grado di supportare la maggior parte delle applicazioni Windows ma sono più lenti rispetto a quelli DX.

486 ds (25-33-50 Mhz): Prodotti da Intel ed Sgs. Si tratta di processori a 32 bit dotati di un coprocessore matematico (un processore dedicato alla velocizzazione dei calcoli matematici)

486 dx (50-66 Mhz): Prodotti da Intel ed Sgs. Derivano dal 486 sx ma sono ancora più veloci nell’esecuzione delle istruzioni.

486 dx4 (100 Mhz): Prodotti da Intel ed Amd. Stessa famiglia e caratteristiche dei precedenti ma con una velocità di esecuzione quadrupla.

Pentium – Pentium MMX – Pentium ll: Prodotti da Intel. E’ l’ultima creazione per la famiglia degli IBM e compatibili. Offrono maggiori  prestazioni ed una velocità di esecuzione ancora più elevata.

Power PC: Prodotti da IBM, Apple, Motorola. Sono i corrispondenti del Pentium per i personal computer della Apple.               

 

Note: MMX

 

La tecnologia MMX di Intel consiste, fondamentalmente, in 57 nuove istruzioni aggiunte al set standard del processore Pentium. Queste nuove istruzioni provengono dal mondo dei DSP, i processori usati per trattare audio e video, e permettono di accelerare significativamente i programmi che fanno uso di grafica animata, filmati, suono stereo. Grazie a queste istruzioni, i processori Pentium hanno potuto ridurre lo svantaggio di prestazioni nei confronti di CHIP in tecnologia RISC, come i PowerPC, che da sempre possiedono istruzioni di questo tipo.

      LA MEMORIA

                                             

Solitamente espandibile in particolari slot di cui è dotata la macchina, serve per contenere i dati elaborati dai programmi e le linee di istruzione che compongono il software. Il proliferare di applicativi sempre più sofisticati e di interfacce grafiche come Windows, ha fatto crescere rapidamente l'esigenza di memoria. Oggi i personal computer sono venduti con almeno 16 Mb di RAM, ma già questa dotazione (minima) appare insufficiente per programmi quali Windows 95, per il quale si consiglia una dotazione di almeno 32 Mb.

Il tipo tradizionale di memoria è detto DRAM (Dynamic RAM); ci sono poi le più veloci RAM di tipo EDO (Extended Data Output),e quelle destinate ad applicazione professionale con correzione automatica di errore, le ECC (Error Correcting Code). Per velocizzare l'esecuzione dei calcoli del processore, inoltre, si utilizza una particolare memoria super veloce (cache memory) destinata a contenere i dati utilizzati con più frequenza (più è grande e più migliorano le prestazioni del computer).

La memoria cache può essere gestita in due modi diversi: il write back e il write through. Il primo, più efficiente, consente di leggere e scrivere i dati; il secondo, consente la sola lettura.

La quantità e la velocità della memoria installata, influenzano il livello generale delle prestazioni della macchina.

 

Il concetto di memoria è semplice: un microprocessore non riceve i dati direttamente dalla tastiera, né li invia direttamente sullo schermo, ma esiste una zona di immagazzinamento temporaneo, la memoria RAM, che serve come luogo di passaggio obbligatorio per accedere al microprocessore. In realtà, quando si parla di memoria occorre fare riferimento a due tipi di memoria, la memoria RAM e la memoria ROM.

La RAM (Random Access Memory, memoria ad accesso casuale) è un tipo di memoria volatile di lettura e di scrittura: "volatile" significa che il suo contenuto si perde non appena si spegne il computer; l'espressione "di lettura e scrittura" indica che l'utente può leggervi e può scrivervi (cioè caricarvi dati) quante volte vuole. La RAM è in altre parole una memoria di lavoro: tutte le volte che si esegue un programma, il sistema operativo carica il suo contenuto dal disco nella memoria RAM, e da quel momento in poi si può lavorare con quel programma. Prima di spegnere il computer occorre naturalmente "salvare" il lavoro, cioè copiarlo su un disco, se non si vuole perderne il contenuto.

La ROM (Read-Only Memory, memoria di sola lettura) è una memoria non volatile di sola lettura. Dunque si tratta di memoria non volatile, in quanto i programmi non si perdono a computer spento ma restano impressi nei chip ROM per sempre (tranne che non li si cancelli deliberatamente); inoltre le informazioni in essa contenute sono immodificabili da parte dell'utente, il quale può soltanto leggere (ed eseguire) i programmi, ma non può scriverci sopra.

La memoria RAM viene utilizzata per eseguire i programmi applicativi, poiché l'utente "scrive" (cioè carica) il programma che desidera utilizzare in memoria tutte le volte che si rende necessario. La memoria ROM invece è ideale per memorizzare le routine di base a livello di hardware, per esempio il programma di inizializzazione che fa partire il computer e gestisce il controllo della memoria e dei dispositivi presenti: quando si accende un computer, questo programma è il primo che si avvia e cerca subito un sistema operativo nel disco fisso, cedendogli il controllo appena lo trova. È evidente il disastro causato da un caricamento di un simile programma sulla memoria RAM: allo spegnimento del computer, il programma di inizializzazione andrebbe perso e alla successiva accensione nessun programma sarebbe in grado di far partire l'elaboratore.

A questo punto possiamo descrivere lo schema generale di funzionamento di un computer: la tastiera e il mouse sono dispositivi di input, servono cioè ad introdurre dati; il monitor e la stampante sono dispositivi di output, presentano all'utente i risultati generati dal computer; la memoria RAM e i dischi hanno il compito di conservare i dati, in forma temporanea o permanente; il microprocessore, infine, è il cervello che coordina e controlla tutte le operazioni. Il flusso di dati è unidirezionale dalla tastiera alla memoria RAM e da quest'ultima al monitor, mentre è bidirezionale tra RAM e dischi e tra microprocessore e RAM: in ogni caso è importante notare come qualsiasi flusso di dati passi per la memoria RAM affinché, da lì, possa essere letto ed elaborato dal microprocessore.

Riteniamo opportuno, adesso, chiarire alcuni aspetti relativi al funzionamento della memoria e alla sua interazione col microprocessore. La memoria RAM è formata da migliaia e migliaia di piccole celle di memoria, ciascuna con capacità di un byte, ossia, come si è detto, una sequenza di 8 bit che, opportunamente combinati tra loro, possono rappresentare uno qualsiasi dei 256 caratteri ASCII. Ogni cella di memoria si identifica tramite un indirizzo, allo stesso modo in cui ogni casa in cui abitiamo è identificata in maniera univoca da un indirizzo e da un numero. Il numero di celle che esistono in un computer dipende ovviamente dal numero di chip installati, ma la capacità complessiva dipende anche dal numero di indirizzi di celle che il computer riesce a definire.

Per definire gli indirizzi delle celle il computer utilizza il bus di indirizzi: questo è costituito da un certo numero di linee di 1 bit ognuna, attraverso le quali viaggiano in parallelo gli indirizzi di memoria. Per specificare un indirizzo di memoria si invia 1 bit alla volta per tutte le linee e il numero che ne risulta è l'indirizzo di memoria.

Una delle principali differenze tra i microprocessori riguarda proprio il numero di linee del bus di indirizzi, e l'evoluzione dei microprocessori ha riguardato in primo luogo il bus di indirizzi.

Il microprocessore 8086 (ed anche l'8088) aveva un bus di indirizzi di 20 bit (20 linee di 1 bit), sicché il numero massimo di indirizzi che si potevano identificare era 1.048.576 (220), vale a dire 1024K (1MB, se si preferisce). Si può dire, grosso modo, che i 1024K si dividono in due blocchi: i primi 640K - da 0 a 640K - si chiamano memoria convenzionale e i rimanenti 384K - da 640K a 1024K - si chiamano memoria superiore (vedremo più avanti il significato di questi diversi tipi di memoria).

La seconda generazione di microprocessori, i 286, hanno un bus di indirizzi di 24 bit, il che permette di gestire 16MB di memoria (224 = 16.777.216): i primi 1024K si suddividono come sopra; la memoria tra 1024K e i 16MB viene denominata memoria estesa (vedi lo schema alla pagina seguente).

Il microprocessore 386DX ha un bus di indirizzi di 32 bit, con il quale si possono indirizzare fino a 4096MB di memoria (232). Anche in questo caso la memoria che eccede i 1024K è detta memoria estesa. Il 386SX è pensato come soluzione intermedia tra il 286 e il 386DX: dal punto di vista delle applicazioni eseguibili è del tutto uguale al 386DX, solo ha una velocità inferiore ed una memoria massima indirizzabile di 16MB: da quest'ultimo punto di vista è assimilabile al 286.

Il 486, presentato nel 1991, è anch'esso un microprocessore a 32 bit, ma ha una velocità e una potenza notevolmente maggiori rispetto al 386 in quanto incorpora un coprocessore matematico, cioè uno speciale chip che si occupa di svolgere ad alta velocità le operazioni matematiche, alleggerendo il lavoro del microprocessore centrale.

Anche il Pentium, la quinta generazione dei microprocessori, è a 32 bit; anch'esso incorpora un coprocessore matematico, ma integra più di 3 milioni di transistor, contro il milione e mezzo circa del 486 e i 28.000 dell'8086.

Abbiamo visto che la memoria si classifica in tipi diversi secondo il suo posizionamento nella mappa generale della memoria:

Memoria convenzionale: la divisione dei primi 1024K di memoria in m. convenzionale e m. superiore si deve ai progettisti del microprocessore 8086, i quali, non immaginando che 1024K sarebbero ben presto diventati insufficienti, decisero di dedicare il primo blocco di memoria (da 0K a 640K) all'esecuzione dei programmi dell'utente, destinando il rimanente blocco di 384K ai dati del sistema necessari per il suo corretto funzionamento. Tutti i dati del DOS si eseguono sempre in memoria convenzionale (DOS sta per Disk Operative System, ed è uno dei più utilizzati sistemi operativi; se ne parlerà più avanti a proposito di software).

Memoria superiore: è compresa tra 640K e 1024K, e include le routine di base del sistema, per esempio il programma che prende il controllo all'accensione del computer oppure la memoria video. Tuttavia queste routine non occupano completamente la memoria superiore, in quanto esistono blocchi di memoria liberi chiamati UMB (Upper memory blocks, blocchi di memoria superiore). Si consiglia di utilizzare questi blocchi per caricarvi programmi residenti o controllori di dispositivo: infatti, gli applicativi "girano" nella memoria convenzionale e, dunque, quanto maggiore è il numero di programmi caricati nei blocchi UBM, tanto maggiore è lo spazio disponibile nella memoria convenzionale per eseguire le applicazioni dell'utente.

Memoria espansa: è un trucco per aumentare le prestazioni del sistema operativo che, come si è detto, è nato col microprocessore 8086 in grado di gestire non più di 1024K di memoria. La soluzione si basa sull'utilizzazione di un blocco di 64K, chiamato page frame, situato all'interno della memoria superiore, dunque entro i 1024K cui può accedere il DOS. In realtà la memoria espansa è situata fuori della page frame, e il trucco consiste nel copiare il contenuto della memoria espansa nella page frame nella misura in cui ve ne sia bisogno, e compatibilmente con lo spazio di 64K disponibile. La tecnica è detta "commutazione di banchi di prova" e consiste nell'utilizzo di un contenitore fisso (la page frame) in cui si registrano dati differenti secondo le necessità. Supponiamo che si debba accedere a 100K di dati situati nella memoria espansa; in un primo momento verranno copiati nella page frame 64K, che è la sua dimensione massima; in seguito, una volta letti tali 64K, si copiano dalla memoria espansa alla page frame i rimanenti 34K perché possano essere elaborati. In pratica la page frame funge da "ponte" tra la memoria convenzionale e la memoria espansa.

Memoria estesa: è la memoria sopra i 1024K, ed ha dimensione diversa secondo il tipo di microprocessore: per il 286 arriva a 16MB, mentre nei 386 e superiori raggiunge i 4096MB. L'MS-DOS non può accedere alla memoria estesa, tuttavia la maggior parte dei programmi DOS utilizza risorse e tecniche che consentono loro l'accesso. Per esempio,  Windows e tutte le applicazioni Windows, utilizzano memoria estesa malgrado siano programmi che lavorano in DOS.

Memoria alta: è una piccola zona di memoria, della dimensione di 64K, compresa tra 1024K e 1088K, ed esiste solo nei 286 e superiori. Questa memoria è caratterizzata dal fatto che può essere raggiunta dal DOS malgrado sia posta oltre i 1024K, ed infatti viene utilizzata per caricarvi il nucleo del DOS, ossia le principali routine del sistema operativo che si incaricano di elaborare gli ordini introdotti dall'utente: il grosso vantaggio procurato dalla memoria alta è la liberazione di memoria convenzionale. Naturalmente, quando esiste memoria alta, la memoria estesa inizia a partire da 1088K, e non più da 1024K, e viene detta memoria estesa XMS.

 

Memoria per  Windows

Per eseguire Windows 95 occorrono almeno 8 MB di RAM (meglio 16 MB). Le applicazioni multimediali, specialmente quelle con animazione video, divorano infatti la memoria. Inoltre, se prevedete di sfruttare le capacità multitasking  del microprocessore (esecuzione di più applicazioni contemporaneamente), il PC dovrà avere una grande quantità di memoria. E’ possibile espandere la memoria aggiungendo altri CHIP di RAM. Quando acquistate un PC quindi, verificate che la memoria possa essere espansa il più possibile (minimo 32 MB ma per avere un minimo di prestazioni occorrono 64 MB).