1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di...

46
PREREQUISITI Possedere una sufficiente conoscenza dei siste- mi di numerazione binario ed esadecimale Conoscere gli elementi di base di elettronica con particolare riferimento ai dispositivi logici OBIETTIVI Acquisire le conoscenze di base dell’hardware di un PC ed in particolare conoscere le caratte- ristiche fondamentali dei suoi principali compo- nenti (CPU, Bus di espansione, chipset, socket) Conoscere le caratteristiche delle fondamenta- li periferiche da connettere ad un PC (tastiera, video, stampante, dischi) Acquisire le informazioni fondamentali sui tipi di memoria in uso nei PC Conoscere le funzioni di base delle porte di I/O di un PC (Parrallela, seriale, USB) 1. I sistemi informatici UNITÀ 1. L’architettura hardware di un computer UNITÀ 2. Le periferiche del PC UNITÀ 3. La memoria centrale del PC UNITÀ 4. Le porte di comunicazione del PC Modulo

Transcript of 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di...

Page 1: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

PREREQUISITI

� Possedere una sufficiente conoscenza dei siste-mi di numerazione binario ed esadecimale

� Conoscere gli elementi di base di elettronicacon particolare riferimento ai dispositivi logici

OBIETTIVI

�Acquisire le conoscenze di base dell’hardwaredi un PC ed in particolare conoscere le caratte-ristiche fondamentali dei suoi principali compo-nenti (CPU, Bus di espansione, chipset, socket)

� Conoscere le caratteristiche delle fondamenta-li periferiche da connettere ad un PC (tastiera,video, stampante, dischi)

�Acquisire le informazioni fondamentali sui tipidi memoria in uso nei PC

� Conoscere le funzioni di base delle porte di I/Odi un PC (Parrallela, seriale, USB)

1. I sistemi informatici

� UNITÀ 1. L’architettura hardware di un computer� UNITÀ 2. Le periferiche del PC � UNITÀ 3. La memoria centrale del PC � UNITÀ 4. Le porte di comunicazione del PC

Mo

du

lo

apertura_m01.qxd 30-06-2004 11:03 Pagina 15

Page 2: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

16 MODULO 1 I SISTEMI INFORMATICI

1. L’architettura hardware diun computer

un

ità

La continua evoluzione del software (programmi e sistemi operativi) e dell’hardware(componenti elettronici ed elettromeccanici) dei sistemi informatici, rende difficileaggiornare e tenere aggiornate le caratteristiche dei moderni computer. Per questo inquesto modulo si cercherà di fornire le caratteristiche di base degli elaboratori per quan-to riguarda l’aspetto hardware.Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia8088/86 o di processori ad essi equivalenti.In questa unità viene effettuata un’analisi descrittiva delle parti elettroniche costituen-ti il computer (hardware) e delle fondamentali unità periferiche ad esso collegate.

Un elaboratore elettronico può essere definito, in modo semplice, come un sistema capa-ce di elaborare i dati immessi, seguendo opportunamente una serie di istruzioni, e didare in uscita i risultati dell’elaborazione.

L’insieme delle istruzioni, atte ad elaborare convenientemente i dati ed organizzate inmodo organico, viene normalmente definito programma.La struttura interna di un moderno calcolatore contiene come parti fondamentali:

• la CPU (Central Processing Unit ovvero Unità Centrale di Processo) o microprocessore,dispositivo elettronico che coordina tutte le funzioni che si svolgono all’interno delcomputer;

• la memoria centrale in cui risiedono programmi e dati;• le memorie di massa costituite da supporti magnetici, ottici o magneto-ottici, di for-

ma diversa come i dischi magnetici (hard disk o floppy disk), nastri magnetici, dischiottici (CD-ROM o DVD), dischi magneto-ottici;

• le unità di ingresso, ovvero quei dispositivi attraverso i quali l’operatore può immet-tere dati e programmi nella memoria;

• le unità di uscita, cioè dispositivi atti a presentare all’operatore i risultati delle ela-borazioni svolte.

La memoria centrale presente all’interno del sistema è di tipo elettronico (ovvero costi-tuita con dispositivi elettronici come BJT o MOSFET). Questa memoria è generalmente didue tipi base:

1. RAM, su cui è possibile sia scrivere che leggere i dati; questa memoria è di tipo vola-tile, ovvero perde i dati con lo spegnimento del sistema;

2. ROM, da cui è possibile solamente leggere i dati; è di tipo non volatile in quanto con-serva le informazioni anche con il sistema non alimentato.

Le memorie di massa, di grossa capacità, contengono spesso inizialmente i dati da ela-borare e i programmi, generalmente di dimensioni ragguardevoli. I programmi ed i dati,contenuti nelle memorie di massa, sono poi trasferiti, quando debbono essere elabora-ti, nella memoria centrale. Durante l’elaborazione dei dati, operata per mezzo dei pro-grammi, spesso viene richiesta l’immissione nel sistema di dati aggiuntivi che vengonoforniti all’elaboratore attraverso un’unità d’ingresso (normalmente una tastiera).

1.1 Struttura di un elaboratore�

m01ud01.qxd 30-06-2004 11:04 Pagina 16

Page 3: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Al termine dell’elaborazione, o a volte in fasi intermedie, i risultati dell’elaborazionevengono portati all’esterno su un’unità di uscita (normalmente il video o la stampante)o registrati sulle unità di massa.Nella figura 1.1 è raffigurato lo schema di principio di un elaboratore.

Si possono schematicamente raggruppare i sistemi dielaborazione nelle seguenti categorie in base alle pos-sibilità di utilizzazione:

– i mainframe sono grossi sistemi di elaborazione men-tre i minicomputer sistemi di capacità ridotta rispet-to ai mainframe;

– le workstation possono essere considerate sistemispecializzati per svolgere particolari funzioni (peresempio workstation per automazione della fase diprogetto detta CAD1, per grafica, per lo sviluppo delsoftware);

– i server sono sistemi (per lo più di tipo minicompu-ter ma anche personal con particolari caratteristi-che), che operano nell’ambito di un collegamento inrete tra computer e che forniscono ad altri sistemi adessi collegati, client, servizi specifici.

Accanto ai grossi sistemi di elaborazione dati si sono diffusi in maniera sempre più capil-lare i così detti Personal Computer, ovvero dei sistemi che pur essendo di minimo ingom-bro offrono al singolo utente notevoli possibilità di elaborazione, sicuramente uguali seaddirittura non superiori a quelle dei grossi elaboratori delle precedenti generazioni.

Il Personal Computer fa la sua prima apparizione intorno al 1975. Nel 1980 sono presentisul mercato alcuni tipi di PC dotati di memorie di massa costituite da dischi magneticiflessibili (floppy disk) e che usano come linguaggio di programmazione ad alto livello ilBASIC. Sono dotati di microprocessore, con bus dati a 8 bit2.Alla fine del 1981 compare sul mercato il primo PC, realizzato dalla IBM, dotato dellaCPU 8088, prodotta dall’INTEL, con bus esterno a 8 bit ed interno a 16 bit. Con tale even-to i PC subiscono un salto di qualità. Da questo momento si susseguono numerosi model-li con sempre maggiori potenzialità, prodotti oltre che dalla IBM anche da altre casecostruttrici, tutti basati sulla famiglia di processori 8088/86, denominata iAPXnn.Abbastanza diffusi sono anche i PC, con processori PowerPC G3 della MOTOROLA-IBM-APPLE, detti Power Macintosh prodotti dall’APPLE. Nel seguito, si farà riferimento, in particolare, ai PC che utilizzano processori del tipoiAPXnn (famiglia 8088/86).

In un Personal Computer possono distinguersi, in modo sintetico, le seguenti parti:

• CPU: denominata anche processore o microprocessore; presiede al controllo ed allosvolgimento di tutte le operazioni che avvengono all’interno del computer sotto lasupervisione di opportuni programmi. Il tipo di microprocessore presente in un com-puter determina la velocità e la potenza delle elaborazioni, e le istruzioni di base cheesso è in grado di riconoscere. I moderni microprocessori contengono al loro internoanche il coprocessore matematico che funziona in sincronismo con la CPU, specializ-zato nello svolgimento di operazioni matematiche, e un certo quantitativo di memo-ria che lavora con la stessa velocità del processore, detta cache di 1° livello.

• Circuiti d’interfaccia: collegano le unità di ingresso ed uscita con il BUS della CPU.

17 Unità 1 L’architettura hardware di un computer

1.2 Il Personal Computer

OUTPUTTASTIERA

INPUTSTAMPANTEVIDEO

OUTPUT

INGRESSO - USCITAINTERFACCIA

CPU ROMMEMORIA

PLOTTEROUTPUT

MASSA

IN / OUTMEMORIE

RAM

BUS CONTROLLI

BUS INDIRIZZI

MEMORIA

BUS DATI

Fig. 1.1

1 Per CAD (Computer Aided Design) si intende una progettazione assistita dal computer.2 Il bus dati di un processore è formato da un insieme di linee su cui transitano i dati ad esso diretti o cheescono da esso. Il numero di linee che compongono il bus dati viene normalmente assunto per definire il tipodi processore (a 8 bit, a 16 bit, a 32 bit....).

m01ud01.qxd 30-06-2004 11:04 Pagina 17

Page 4: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

• Dispositivi d’ingresso e uscita: nei casi più semplici sono costituiti dalla tastiera (input)e dal video (output). Essi trasferiscono i dati dal mondo esterno verso la CPU e dallaCPU verso il mondo esterno.

• Memoria centrale: in essa sono memorizzati i programmi, i dati intermedi delle ela-borazioni e i dati finali. In generale la memoria di un calcolatore è costituita damemorie RAM (Random Access Memory o memorie ad accesso casuale) a lettura escrittura, e da memorie ROM (Read Only Memory o memorie a sola lettura) che pos-sono essere solamente lette. La programmazione delle ROM avviene all’atto dellafabbricazione. Spesso le ROM sono sostituite con memorie di tipo EPROM (a sola let-tura ma cancellabili con raggi ultravioletti e riprogrammabili) o anche con memoriedi tipo flash (EEPROM cancellabili elettricamente) che possono essere riprogramma-te direttamente senza toglierle dal circuito in cui sono inserite. In genere nella ROMè memorizzato il BIOS (Basic Input Output System), ovvero una serie di programmi,scritti nel linguaggio base del processore (detto linguaggio macchina), che interagi-scono direttamente con l’hardware del sistema e che permettono l’avvio del compu-ter in fase di accensione. Il BIOS è scritto su ROM (o su EPROM o su memoria EEPROM),perché deve rimanere memorizzato anche quando il computer viene spento.

• Memorie di massa: costituite da unità con dischi magnetici detti hard disk (disco fis-so o rigido), drive per dischi flessibili (floppy disk) e ottici (CD-ROM) di diverso for-mato e con diversa capacità di memorizzazione. Le memorie di massa vengono nor-malmente utilizzate per memorizzare i programmi e grossi quantitativi di dati.

• Alimentatore: fornisce le tensioni necessarie per alimentare tutte le parti presentiall’interno del PC.

Attualmente il mercato dei PC è orientato verso sistemi aperti, cioè dotati di una sche-da interna, detta motherboard (piastra madre), che contiene i principali circuiti per ilfunzionamento del computer. Su tale scheda è presente anche una serie di connettori(detti slot di espansione) su cui vengono inseriti altri elementi necessari per ampliare lastruttura del PC. Con tale sistema è possibile aggiornare determinati elementi senza tut-tavia cambiare la piastra principale.Sulle moderne motherboard sono situati i seguenti dispositivi:

• la CPU, in cui è integrato sia il coprocessore matematico che la memoria cache di 1°livello e nei nuovi processori anche quella di 2° livello;

• un certo quantitativo (di solito 512 Kbyte) di memoria veloce di tipo SRAM (RAM sta-tica) detta cache di 2° livello;

• la memoria centrale di tipo SDRAM (RAM dinamica sincrona o nei sistemi più vecchiDRAM) con tempi di accesso maggiori della SRAM ma meno costosa. Attualmentesono utilizzate le memorie SDRAM dette DDR (Double Data Rate);

• la memoria o di tipo ROM o, come si è detto, di tipo flash EEPROM, che permette diaggiornare il BIOS via software senza togliere il chip dalla piastra madre;

• la memoria RAM C-MOS e il real time clock con una piccola batteria tampone. Nellamemoria C-MOS vengono memorizzate le informazioni di base del BIOS che possonoessere modificate con il BIOS setup. Il real time clock è un dispositivo che aggiorna incontinuazione, anche con il computer spento, la data e l’orario del sistema;

• gli integrati di interfaccia del microprocessore con la memoria centrale, con il bus diespansione e con alcune delle periferiche di I/O (denominati chipset). Nei chipset sonointegrate anche le funzioni di controllo dei drive (dispositivi elettronici-meccanici chepresiedono al funzionamento dei dischi magnetici e ottici) e il supporto alla nuovaporta denominata USB (Universal Serial Bus) alla quale possono essere collegati nume-rosi tipi di periferiche come la tastiera, le stampanti, ecc. L’USB dovrebbe sostituirenei nuovi sistemi sia le porte seriali standard che quelle parallele;

• un chip che contiene integrati i circuiti d’interfaccia di I/O (input/output) per la por-ta parallela (per il collegamento della stampante detta LPT1), le porte di comunica-zione seriali (COM1 e COM2)3. Nei sistemi più vecchi le funzioni del chip di I/O sono

18 MODULO 1 I SISTEMI INFORMATICI

3 Un dato, formato per esempio da un byte, è trasmesso serialmente quando i suoi 8 bit sono inviati su una cer-ta linea di trasmissione, uno dopo l’altro. Nella trasmissione in parallelo invece gli 8 bit sono inviati contem-poraneamente su altrettante linee.

m01ud01.qxd 30-06-2004 11:04 Pagina 18

Page 5: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

svolte da una scheda da inserire negli slot di espansione. Attualmente le funzioni diinterfaccia per le porte di comunicazione vengono integrate direttamente nel chipset.

La CPU comunica con tutti gli altri elementi presenti sulla motherboard, tramite unaserie di linee di collegamento che nel loro insieme prendono il nome di BUS. Tali linee,in base ai tipi di segnale che trasferiscono all’interno del PC, vengono suddivise in tregruppi distinti denominati: BUS dei DATI (DATA BUS), BUS degli INDIRIZZI (ADDRESS BUS)e BUS di CONTROLLO (CONTROL BUS). Ciascun tipo di BUS possiede caratteristiche bendistinte e svolge funzioni particolari. Il BUS DATI, bidirezionale, permette di inviare le informazioni da elaborare dai disposi-tivi d’ingresso e dalla memoria, alla CPU, e viceversa. Sulle linee del BUS DATI viaggianoinoltre i codici delle istruzioni, provenienti dalla memoria, che la CPU deve di volta involta eseguire.La CPU utilizza il BUS INDIRIZZI per indicare con quale dispositivo o con quale locazionedi memoria debbano essere scambiati i dati in un determinato istante.Sul BUS di CONTROLLO invece transitano dei segnali, che la CPU utilizza per trasmette-re particolari comandi ai vari dispositivi presenti nel sistema, o che le permettono diconoscere il loro stato.

Le linee dei BUS della CPU, opportunamente bufferizzate, insieme con altre linee speci-fiche per le richieste di interrupt e per il controllo del DMA, sono portate su una serie diconnettori, posti sulla piastra madre. I segnali presenti su questi connettori costituisco-no il così detto BUS di ESPANSIONE del PC.Nei PC particolare importanza rivestono le funzioni d’interrupt e di DMA.La richiesta d’interrupt è svolta dalle periferiche collegate al PC che, attraverso lineededicate del BUS di CONTROLLO, inviano un segnale alla CPU, interrompendo le nor-mali funzioni che essa sta in quel momento svolgendo, per richiedere uno scambio didati. Le linee di richiesta d’interrupt sono denominate IRQ0 ÷ IRQ15. Alcune di esse sonodedicate a particolari funzioni e quindi non sono disponibili per le periferiche.Normalmente ogni periferica deve utilizzare una linea d’interrupt diversa, per non crea-re conflitti nel sistema.

È denominata DMA la tecnica con cui alcune periferiche (per esempio l’hard disk) scam-biano direttamente i dati con la memoria senza farli transitare attraverso la CPU.Il BUS di ESPANSIONE permette di variare rapidamente la configurazione hardware delsistema, aggiungendo nuove schede. Tra queste si elencano quelle per il controllo delmonitor (video), e della gestione delle relative rappresentazioni grafiche (schede grafi-che), le schede audio, le veloci schede SCSI (leggere scasi) particolarmente indicate per ilcollegamento di hard disk veloci, di scanner (dispositivo per l’acquisizione di immagini etesto), di sistemi di masterizzazione per la scrittura di dischi ottici.

Ogni PC è dotato di un BUS di ESPANSIONE su cui l’utente può connettere liberamentele proprie schede (oltre che quelle precedentemente descritte). Il BUS di ESPANSIONE ha subito dalla sua nascita notevoli trasformazioni seguendo l’e-voluzione stessa dei Personal Computer. Si è passati così dal BUS tipo XT a quello AT (det-to anche ISA) e poi al VESA (denominato Local Bus) ed infine al BUS PCI (PeripheralComponent Interconnect). Le trasformazioni si sono rese necessarie al fine di rendere idoneo il BUS a nuove appli-cazioni sfruttando in modo più idoneo la crescente potenza e velocità dei processori uti-lizzati nei PC ed inoltre al trasferimento di dati con numero sempre maggiore di bit.Nei moderni PC anche se in essi è implementato il BUS PCI, sono sempre presenti un cer-to numero di connettori di tipo ISA in cui è possibile inserire anche schede di tipo XT.

19 Unità 1 L’architettura hardware di un computer

1.3 I BUS di ESPANSIONE

m01ud01.qxd 30-06-2004 11:04 Pagina 19

Page 6: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Il BUS XT fu realizzato per operare in sistemi in cui era presente il processore 8088. Si ricordache tale processore ha un BUS DATI esterno ad 8 bit (interno a 16 bit) ed è dotato di 20 lineed’indirizzo. Pertanto nel BUS XT sono presenti solo 8 linee dedicate ai dati e 20 per gli indirizzi.I segnali presenti sulle linee del BUS di espansione sono portate verso l’esterno attra-verso uno o più connettori (collegati in parallelo) a 62 contatti (31 per lato), nei qualivanno inserite le schede di espansione. Sul lato A del connettore va applicata la facciadella scheda che reca i componenti.Nella tabella 1.1 è riportata una descrizione funzionale di alcuni dei segnali del BUS.Le linee per la richiesta d’interrupt, anche se presenti sul BUS di espansione, in genere sonoutilizzate da periferiche standard (drive per dischi, stampanti, porte seriali) e pertanto, illoro uso è consentito solo sotto determinate condizioni per evitare problemi di conflitto.Nella tabella 1.2 si riporta il dispositivo che utilizza gli interrupt. Come è mostrato nella tabella 1.2, alcuni degli interrupt hanno subito variazioni tra il BUSdel tipo XT e quello ISA e PCI.

20 MODULO 1 I SISTEMI INFORMATICI

1.3.1 Il BUS XT

Interrupt Dispositivo utilizzatore

BUS XT BUS ISAIRQ0 TIMER DI SISTEMA - NON DISPONIBILE SUI BUS

IRQ1 TASTIERA - NON DISPONIBILE SUI BUS

IRQ2 REAL TIME CLOCK PIC - ND

IRQ3 COM2

IRQ4 COM1

IRQ5 HARD DISK LPT2

IRQ6 FLOPPY DISK

IRQ7 LPT1

IRQ8 REAL TIME CLOCK

IRQ9 INPUT DA IRQ2

IRQ10 LIBERO

IRQ11 LIBERO

IRQ12 MOUSE PS2

IRQ13 COPROCESSORE MAT. ND

IRQ14 HARD DISK

IRQ15 LIBERO

ND: non disponibile.

TAB. 1.2

TAB. 1.1

A19 – A0 Linee del BUS INDIRIZZI

D7 – D0 Linee del BUS DATI - bidirezionali

MEMW Attiva (a livello basso) per operazioni di scrittura su memoria

MEMR Attiva (a livello basso) per operazioni di lettura dalla memoria

IOW Attiva (a livello basso) per operazioni di scrittura su periferica

IOR Attiva (a livello basso) per operazioni di lettura da periferica

AEN Attiva (a livello alto) quando il DMA assume il controllo del BUS

IRQ7 - IRQ2 Linee per la richiesta di interrupt

DRQ3 - DRQ1 Linee per la richiesta del DMA

DACK3 - DACK1 Linee per il riconoscimento del DMA

ALE Abilitazione per la memorizzazione degli indirizzi

m01ud01.qxd 30-06-2004 11:04 Pagina 20

Page 7: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Si ricorda che, quando la CPU riceve un segnale di interrupt, interrompe l’esecuzione del pro-gramma che sta eseguendo e mette in esecuzione uno specifico programma (routine di ser-vizio dell’interrupt) che svolge particolari compiti relativi alla periferica che ha richiestol’interrupt. Al termine della routine di servizio dell’interrupt torna al programma principale.È necessario precisare che agli eventuali dispositivi realizzati dall’utente (utilizzando sche-de che vanno connesse sui connettori del BUS di ESPANSIONE), è stato assegnato un cam-po di indirizzamento ristretto: 300h-31Fh essendo riservati gli altri indirizzi alle periferichestandard presenti nel PC.

Il BUS ISA è costituito da due sezioni separate, di cui una fa capo ad un connettore a 31+31pin che implementa il BUS di espansione tipo XT (con la variazione di alcuni segnali), e l’al-tra ad un connettore a 18+18 pin con segnali propri del BUS ISA. Sulla espansione a 18+18 pin oltre alle linee di espansione dei dati (SD8 ÷ SD15) e degliindirizzi (LA17 ÷ LA23) sono riportate le nuove linee di controllo per la richiesta d’inter-rupt (IRQ10 ÷ IRQ14), per la richiesta di DMA (DRQ0, DRQ5, DRQ6 e DRQ7), le linee diriconoscimento di accoglimento delle richieste di DMA (DACK0, DACK5, DACK6 eDACK7).Quindi su tale tipo di BUS le linee dei dati sono diventate in totale 16 e quelle d’indiriz-zo 24.

Il BUS XT adatto alla CPU 8088, lavora con una frequenza uguale a quella della stessa CPU(4,77 Mhz). L’introduzione del BUS ISA è adatto ai processori più potenti (80286, 80386, 80486)che lavorano con frequenze più elevate (25 MHz per l’80286, fino a 133 MHz per 80486).Con i precedenti BUS di espansione si ha un rallentamento delle periferiche collegate alBUS in quanto il clock con cui essi lavorano ha una frequenza inferiore a quella del pro-cessore stesso. Con l’introduzione del nuovo BUS PCI si è almeno cercato di aumentare lafrequenza di funzionamento del BUS (75 MHz-133 MHz) anche se essa rimane ben al disotto di quella dei nuovi processori. Con tale BUS cambia fondamentalmente anche l’ar-chitettura del sistema. La CPU è interfacciata direttamente per mezzo di un BUS locale conla memoria centrale, con la cache di 2° livello e con lo stesso BUS PCI. Il sistema d’interfac-cia è denominato ponte. Esiste poi un altro ponte che realizza il collegamento tra il BUS PCIe il vecchio BUS ISA.Le funzioni di interfacciamento sono svolte da alcuni integrati (due o più) che nel loroinsieme vengono denominati chipset ed assolvono alle specifiche d’interfacciamento pro-prie dei due ponti (fig. 1.2).Il BUS PCI è disponibile sulla piastra madre per mezzo di alcuni connettori normalmen-te a 62+62 contatti (per un bus dati/indirizzi a 32 bit) che può anche essere esteso a94+94 pin (per un bus dati/indirizzi a 64 bit) disposti su due lati (lato A e lato B). È daosservare che sul connettore le linee relative ai dati ed agli indirizzi sono multiplexate.

Il BUS AGP (Accelerated Graphics Port) è un bus specifico per il collegamento al sistemadi una scheda grafica. Il BUS AGP, essendo direttamente collegato con il chipset che con-tiene il controllore della memoria di sistema, permette un più rapido scambio di dati trail controllore grafico, presente sulla scheda grafica, e la memoria rendendo possibili l’u-tilizzazione di applicazioni 3D in tempo reale.Nella figura 1.2 è rappresentato uno schema a blocchi di un personal computer che pos-siede gli slot di espansione per il BUS PCI, per il BUS ISA e per quello AGP. Il sistema, comeavviene nei moderni PC, ha la CPU collegata direttamente con la memoria e il BUS AGP.In questa maniera sia gli accessi alla memoria che alla scheda grafica collegata sul BUSAGP possono essere molto veloci. Il ponte fornisce poi l’interfacciamento della CPU con

21 Unità 1 L’architettura hardware di un computer

1.3.2 Il BUS ISA

1.3.3 Il BUS PCI

1.3.4 Il BUS AGP

m01ud01.qxd 30-06-2004 11:04 Pagina 21

Page 8: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

il BUS PCI. Un secondo ponte collega il BUS PCI con quello ISA, e fornisce il supporto peril BUS USB, con i canali IDE (Ultra DMA) per dischi rigidi e CD ROM. Il chipset di I/O col-lega le altre periferiche del sistema.

Sulla scheda madre sono presenti anche dei connettori per i dischi fissi, per i lettori DVD-CD ROM o per i masterizzatori CD e per i floppy disk. Questi connettori sono denominatiIDE (Integrated Device Electronics) o, con i nuovi computer EIDE (Enhanced IDE ovveroIDE migliorato). Normalmente sulle nuove schede sono installati 2 connettori a 40 pindenominati primary IDE e secondary IDE e uno a 34 pin riservato ai drive per floppy. Ilconnettore primary IDE corrisponde ad un canale primario a cui si connette il cavo deldisco fisso principale, contraddistinto con la lettera C: (normalmente è il disco da cui siavvia il sistema operativo) configurato come master. Allo stesso cavo può connettersianche un secondo disco fisso o un lettore di CD-DVD (o anche un masterizzatore) confi-gurati come slave. Al secondary IDE corrisponde un canale secondario a cui possono esse-re connessi altri dischi fissi o lettori CD rispettando sempre le configurazione dei dispo-sitivi l’uno come master e l’altro come slave. Al connettore floppy si connette un cavo acui si possono collegare uno o due drive per floppy (denominati A: e B:). I connettori deicanali primario e secondario normalmente supportano più modalità di trasferimento deidati. Gli standard creati per armonizzare l’utilizzazione dei connettori EIDE e delle rela-tive interfacce sono denominati ATA, ATA-2, ULTRA ATA/33, ULTRA ATA/66 e ULTRAATA/100. Esistono poi diverse modalità che, seguendo gli standard descritti, provvedonoal trasferimento dei dati tra disco e controllore presente sulla piastra madre attraverso

22 MODULO 1 I SISTEMI INFORMATICI

MEMORIA

CHIPSET

I/O BRIDGEPERIFERICHE USB

CD ROMHARD DISK

FAST IDE

SCHEDA GRAFICA AGP

USB

AGP

SLOT ESPANSIONE

ISA

CHIPSETI/O

BUS LOCALE

SLOT ESPANSIONE

PCI

COM2

LPT1

FLOPPY

COM1

CHIPSETPCI BRIDGE

CONTROLLER MEMORIA

CPU

ISA BUS

PCI BUS

1.3.5 I connettori IDE (EIDE)

Standard Modalità Velocità di trasferimento (teorico)

ATA-2 PIO MODE 3 11,1 Mbit/s

ATA-2 PIO MODE 4 16,6 Mbit/s

ATA-2 DMA MODE 2 16,6 Mbit/s

ULTRA ATA/33 Ultra DMA/33 33 Mbit/s

ULTRA ATA/66 Ultra DMA/66 66 Mbit/s

ULTRA ATA/100 Ultra DMA/100 100 Mbit/s

TAB. 1.3

Fig. 1.2

m01ud01.qxd 30-06-2004 11:04 Pagina 22

Page 9: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

i connettori EIDE e i cavi di collegamento con il disco stesso. Nella tabella 1.3 sono elen-cate alcune di queste modalità.

Un elemento che sulle piastre madri riveste grande importanza è lo zoccolo su cui vienemontata la CPU. È evidente che la struttura dello zoccolo e il numero di pin di cui esso ècomposto sono strettamente legati alla configurazione del BUS della CPU. Nelle ultimegenerazioni di PC si è avuta una certa diversificazione degli zoccoli in base ai tipi di pro-cessori da utilizzare sulla piastra madre. Si descrivono di seguito alcune delle configura-zioni possibili utilizzate nelle ultime versioni di motherboard:

– Socket 7: è usato per i PENTIUM di prima generazione, per i PENTIUM MMX dellaINTEL, per il K5 e il K6 della AMD;

– Super 7: socket adatto per frequenze di BUS di 100 MHz. È usato dal K6-2 e K6-III del-la AMD;

– Slot 1: è uno slot su cui inserire una piccola scheda contenente il processore e in gene-re la memoria cache di 2° livello. È utilizzato dai PENTIUM II e dal CELERON dellaINTEL.

– Socket 370: variante del Socket 7 adottato dalla INTEL per i CELERON di seconda gene-razione, INTEL PENTIUM III, VIA Cyrix III;

– Socket A (Socket 462) AMD Duron, AMD Athlon;– Socket 423 INTEL PENTIUM 4 (prima versione);– Socket 478 INTEL PENTIUM 4 (seconda versione).

Con la parola chipset si indica l’insieme dei circuiti integrati che sono di ausilio al pro-cessore per la gestione dei dispositivi presenti nella piastra madre: controllori del bus disistema e di espansione, controllori DMA e della memoria cache, gestione delle portaparallela e seriale, ecc.I chipset moderni svolgono molte funzioni aggiuntive rispetto a quelli meno recenti,come la gestione del risparmio energetico, inoltre sono in grado di gestire configura-zioni differenti in base al tipo di CPU installata.

Dalla loro origine (inizi anni ’70) i microprocessori sono diventati sempre più potentiessendo implementate in essi nuove funzioni e lavorando con frequenze di clock semprepiù elevate. In essi è aumentato poi sia il numero di linee del bus indirizzi che del busdati. Anche l’architettura dei microprocessori ha subito evoluzioni passando da disposi-tivi di tipo CISC (Complex Instruction Set Computing), a quelli CISC/RISC o completamenteRISC (Reduced Instruction Set Computing).L’architettura CISC è nata con la necessità di avere un gran numero di istruzioni (in codi-ce macchina), di tipo anche complesso, per semplificare il compito dei programmatori eper disporre di programmi più compatti che utilizzassero minore memoria. All’interno delle CPU realizzate secondo tale architettura (per esempio tutti i processo-ri prodotti dall’INTEL della serie 8086/88 fino all’80486 e i primi PENTIUM), è presenteuna memoria di tipo ROM che contiene una serie di codici (microcodici), ciascuno deiquali permette di eseguire all’interno del processore stesso un’azione elementare. Ogni istruzione in linguaggio macchina, per essere eseguita, viene prima trasformata inuna serie più o meno grande di istruzioni in microcodice. In questo modo le istruzionisemplici in linguaggio macchina possono essere convertite in una sola istruzione in micro-codice, mentre quelle più complesse richiedono l’esecuzione di un numero elevato diistruzioni in microcodice. L’architettura in microcodice permette, tra l’altro, di estendere facilmente il set d’istru-zioni in linguaggio macchina di un microprocessore semplicemente implementando in

23 Unità 1 L’architettura hardware di un computer

1.3.6 I socket dei processori

1.3.7 I chipset

1.4 Approfondimenti sui microprocessori

m01ud01.qxd 30-06-2004 11:04 Pagina 23

Page 10: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

24 MODULO 1 I SISTEMI INFORMATICI

esso la trasformazione delle nuove istruzioni in un set appropriato di quelle in microco-dice già presenti. L’architettura RISC è nata intorno agli anni ’80. Il principio base di questa architetturasta nel fatto che il microprocessore ha un set di istruzioni molto ridotto e per di più ditipo semplice. Quasi tutte le istruzioni, di lunghezza fissa, sono eseguite in un singolociclo di clock permettendo di adottare efficacemente la tecnica del pipelining.Attualmente l’architettura RISC è utilizzata per la realizzazione di un discreto numero diprocessori utilizzati soprattutto per applicazioni nelle workstation e nella costruzionedei microcontroller (➜ Modulo 11).È RISC il processore PowerPC 604 della IBM. L’architettura dei nuovi processori siadell’INTEL (PENTIUM di seconda generazione) che della AMD (dal K5) ha subito ancheun’evoluzione verso la tecnologia RISC. Infatti essi eseguono il set d’istruzioni CISC x86,ma posseggono al loro interno un’unità implementata di tipo RISC, che incrementa signi-ficativamente le prestazioni rispetto ai vecchi processori CISC. Ogni istruzione di tipo x86è decodificata e trasformata in una serie di micro operazioni che sono eseguite dal cuo-re del processore di tipo RISC.

Le fasi temporaliNell’esecuzione di un programma il microprocessore carica le istruzioni da eseguire dal-la memoria (con un ciclo di lettura) eseguendo una fase di fetch (ricerca codice operati-vo), una fase di decodifica del codice caricato ed infine una fase di esecuzione dell’i-struzione decodificata.

Durante la decodifica il BUS è posto in una fase di inattività denominata idle. Il ciclo poiricomincia con l’istruzione seguente e così via, istruzione dopo istruzione.

L’architettura che permette di sovrapporre nel tempo più istruzioni utilizzando un’uni-ca risorsa di esecuzione (suddivisa in più stadi), viene detta di tipo pipeline (catena perl’elaborazione dei dati). La tecnica del pipelining è quindi la tecnica che permette il cari-camento e l’esecuzione di una nuova istruzione prima che sia stata portata a terminequella precedente. Nell’esempio precedente la pipeline è a due stadi (ricerca del codiceoperativo, decodifica ed esecuzione).

Una pipeline può essere pensata come una catena di montaggio in cui la produzione diun oggetto segue le varie fasi del montaggio passando per vari reparti (gli stadi o le fasi)in ognuno dei quali subisce opportune trasformazioni da parte del personale addettoalla lavorazione in quel reparto. È chiaro che quando il primo reparto ha terminato lafase di lavorazione del primo oggetto, questo passa al secondo reparto ed il primo puòprendere in carico un nuovo oggetto.

Quando in un processore sono presenti più unità che operano in parallelo si dice che èutilizzata una tecnologia superscalare. Con la tecnica superscalare il processore può ope-rare quindi in parallelo su più istruzioni. A differenza della pipeline in cui l’esecuzione diuna istruzione viene suddivisa in tante fasi elementari che operano in successione, lasuperscalarità utilizza più unità identiche che svolgono in parallelo per l’esecuzione diistruzioni diverse.

Per aumentare l’efficienza dei microprocessori le architetture superscalari sono utilizza-te in unione con quelle pipelined. In questo caso ad ogni unità di lavoro viene associatauna pipeline.

Per minimizzare i blocchi delle pipeline dovute ai cambiamenti di flusso del program-ma, nei nuovi processori sono usate tecniche di predizione dei salti (condizionati) e l’e-secuzione speculativa. Un salto è detto condizionato quando la sua esecuzione avvienesolamente se si verificano particolari condizioni derivanti dall’esecuzione di precedentiistruzioni.

La tecnica di predizione dei salti permette di conoscere in anticipo il flusso del pro-gramma con una accuratezza molto elevata che può raggiungere il 98%.

m01ud01.qxd 30-06-2004 11:04 Pagina 24

Page 11: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

Questa tecnica quindi permette al dispositivo che effettua il fetch di tenere la coda riem-pita con istruzioni che hanno un’alta probabilità di essere eseguite per prime.L’esecuzione speculativa permette di eseguire istruzioni successive che hanno buona pro-babilità di dover essere svolte.

Nella figura 1.3 è riportata in modo schematico l’architettura denominata P5 utilizzatadalla INTEL nei primi processori di classe PENTIUM.È un’architettura di tipo superscalare in cui sono inserite due ALU per i calcoli con inumeri interi che possono operare indipendentemente l’una dall’altra. Le ALU sono pre-cedute da una pipeline (denominate dall’INTEL V-pipeline e U-pipeline) a 5 stadi. Nelloschema di figura 1.3 è messa in risalto anche l’unità di calcolo per i numeri in virgolamobile (FPU). Dopo il 2° stadio di decodifica l’esecuzione dei calcoli di numeri con virgolaè effettuata dalla FPU invece che dalle due ALU per numeri interi. Nello schema è visibile poi il buffer BTB (Branch Target Buffer) che memorizza una soladestinazione prevista per ciascun salto. In totale vengono memorizzate nel BTB 256 pre-visioni di salto.

25 Unità 1 L’architettura hardware di un computer

CACHE DEI DATI

REGISTRO INTERI

UNITA’ DI CONTROLLO

64

ALU

INDIRIZZI32

DATI64

DATI64

BIU

CONTROLLI

64

CACHE ISTRUZIONI

256

DECODIFICA ISTRUZIONI

PREFETCH

32

FPU

REGISTROFP

ALU

32 32

ROMMICROCODICE

BTB

Fig. 1.3

m01ud01.qxd 30-06-2004 11:04 Pagina 25

Page 12: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

26 MODULO 1 I SISTEMI INFORMATICI

2. Le periferiche del PC

un

ità

Nonostante la forte integrazione di funzioni presenti sulla scheda madre e nei chipset,è spesso necessario collegare al PC, negli slot di espansione previsti, schede che integra-no alcune funzioni specifiche.Tra le principali schede si citano:

• Scheda grafica: la scheda per il controllo del video; tale scheda gestisce le modalità discrittura e di grafica sul video ed è corredata con della memoria RAM ausiliaria. Leschede grafiche che supportano funzioni 3D sono definite anche acceleratori grafici.Queste schede sono dotate di potenti chip grafici e di memoria di tipo SDRAM oSGRAM (specifica per applicazioni grafiche). Il collegamento con le piastre madri direcente costruzione è ormai standardizzato ed avviene sull’apposito slot del BUS AGP.

• Scheda Audio: in grado di gestire complesse funzioni audio come la registrazione e lariproduzione di suoni e di brani musicali, la dettatura vocale (con particolari pro-grammi) e sono collegabili con casse acustiche, con microfono e con le cuffie.

• Schede SCSI per il collegamento di veloci hard-disk, scanner e sistemi di scrittura sudischi ottici (masterizzatori).

• Schede di rete per il collegamento in rete locale di più computer. Tra le più diffuse sicitano le schede per reti ETHERNET (per maggiori dettagli ➜ Modulo 14).

• Schede TV: integrano un convertitore TV e permettono di ricevere i canali televisivi sulmonitor del PC.

• Schede con funzioni di modem: contengono tutte le funzioni di una porta seriale e inpiù quelle proprie di un modem (in genere di tipo fonico, multistandard) idoneo peril collegamento del PC con la rete telefonica; il modem può essere utilizzato per ilcollegamento con INTERNET, per inviare FAX o, a volte, come segreteria telefonica.

• Scheda con porta IEEE 1348 (detta firewire).

La tastiera costituisce il dispositivo standard per l’immissione di dati in un computer.Tra i vari tipi disponibili in commercio è possibile individuare quattro zone principali diraggruppamento di tasti costituite da:

• Tasti funzione: indicati con F1, F2, F3 ... ; questi tasti svolgono azioni diverse a secon-da dell’ambiente di applicazione attivo. Normalmente sono disposti sulla parte altadella tastiera.

• Tasti numerici: posti sulla destra della tastiera svolgono in genere la duplice funzionedi tasti numerici, attivati quando viene premuto il tasto NUM-LOCK (blocca numero), otasti per lo spostamento del cursore.

• Tasti per il movimento del cursore: posti accanto al tastierino numerico svolgono lafunzione di spostamento del cursore sul video. Tra di essi sono posti anche i tasti INS

e CANC (o DEL). • Tasti alfanumerici comprensivi dei tasti speciali. I tasti alfanumerici contengono tut-

ti i caratteri alfabetici, quelli numerici e i più comuni segni di interpunzione.

2.1 Le schede di espansione

2.2 La tastiera

m01ud02.qxd 30-06-2004 11:06 Pagina 26

Page 13: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Il video è una periferica d’uscita che permette di visualizzare i risultati delle elaborazio-ni effettuate. Normalmente sul video compaiono anche i caratteri man mano che essivengono digitati da tastiera (eco della tastiera). Il video è costituito da un tubo a raggicatodici (CRT), simile a quello usato nei televisori.La visualizzazione è ottenuta mediante la scansione di un fascio di elettroni che, oppor-tunamente accelerati e concentrati in un minuscolo punto, colpiscono il rivestimento dimateriale a base di fosfori depositato sulla parte interna dello schermo. Il fosforo si illu-mina quando viene colpito dal fascio di elettroni e la luminosità persiste per un tempomolto breve. Il punto luminoso viene detto pixel. L’insieme di punti luminosi viene a formare, come in un mosaico, un’immagine. Se l’in-tera immagine viene ripetuta (scandita) abbastanza spesso, circa 50 volte al secondo,l’informazione presente sul video appare fissa e i caratteri o l’immagine grafica si osser-vano con facilità.L’immagine rappresentata è tanto più nitida quanto minore è la spaziatura tra i puntiche vengono illuminati. Tale caratteristica è legata alla qualità del video adottato ed èespressa in termini tecnici come dot pitch1. La qualità del CRT è tanto migliore quanto più è piccolo il dot pitch. La grandezza delvideo viene misurata in pollici e rappresenta la lunghezza della diagonale dello schermo.Misure standard sono 14 (attualmente poco utilizzati), 15, 17, 19 pollici ed oltre. Nellatabella 2.1 sono elencate alcune risoluzioni per la modalità Super VGA.

27 Unità 2 Le periferiche del PC

1 Nei video a colori, sono presenti gruppi di tre punti di colore diverso (rosso, verde e blu), che opportuna-mente illuminati creano una visione a colori. In tali monitor, il dot pitch è riferito alla distanza tra le triadi. 2 Le schede video Super VGA, oltre a supportare tutti i modi testo visti precedentemente, dispongono di altrinumerosi modi in genere dipendenti dalla scheda utilizzata.

2.3 Il video

2.4 Il mouse

Norme adattatore Risoluzione pixel

Super VGA (o VESA)2 640×480 800×600 1024×768 1280×1024

Parametro importante per la scelta del monitor è anche la conoscenza della massimafrequenza di scansione orizzontale e verticale. In genere le frequenze di scansione orizzontale aumenta con l’aumento delle risoluzionidei vari modi. Un buon monitor deve essere del tipo non interlacciato (NI), ovvero la scan-sione del video da parte del pennellino elettronico non deve avvenire a righe alterne.Un tipo di monitor che inizia a diffondersi è quello che utilizza una tecnologia a LCD(cristalli liquidi). Tali monitor offrono uno spessore molto ridotto rispetto ai tradiziona-li monitor con CRT (tubo a raggi catodici).

Il mouse è un dispositivo di puntamento che permette di spostare rapidamente il curso-re in ogni zona del video o di selezionare testo o immagini grafiche.Esso si rende indispensabile in quelle applicazioni in cui è utilizzato un software che ten-de ad associare a particolari immagini, dette icone, programmi che svolgono le funzionirichiamate dalle immagini stesse. Quando il mouse viene fatto scorrere su una superficiepiana, la pallina ruota, e speciali dispositivi foto-elettronici, posti al suo interno, rilevano lagrandezza del movimento e la direzione ed il verso in cui è avvenuto, e inviano le infor-mazioni all’elaboratore attraverso una interfaccia d’ingresso. Quindi ogni spostamento deldispositivo su un piano di lavoro è rappresentato sul video per mezzo di un particolarecursore. Il mouse normalmente viene collegato ad una delle porte seriali (serial mouse) oall’apposito connettore definito PS/2 (mouse tipo PS/2).

TAB. 2.1

m01ud02.qxd 30-06-2004 11:06 Pagina 27

Page 14: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

La stampante è una periferica d’uscita che permette di riportare su carta i risultati delleelaborazioni come dati, grafici, testi, ecc.Sul mercato sono presenti numerosi tipi di stampante che differiscono per la tecnologiadi costruzione, la velocità di stampa, le dimensioni del foglio di carta su cui operano lapossibilità di effettuare stampe a colori o meno ed altre caratteristiche.Di seguito sono brevemente descritti alcuni dei tipi più comuni di stampanti:

• la stampante a getto d’inchiostro (ink-jet) spruzza sulla carta gocce d’inchiostro attra-verso minuscoli ugelli. Sono presenti sul mercato stampanti con una risoluzione di300 punti per pollice (dpi) e anche con 600 o più dpi sia per la stampa monocromati-ca che per quella a colori. Le più comuni risoluzioni per le stampanti a colori utilizza-te per grafica o fotografia sono di 600 × 600 dpi, 1200 × 600 dpi 1440 × 720 dpi, 1200× 1200 dpi ed oltre.

• la stampante laser riproduce le immagini e i caratteri attraverso un sottile raggio laser.Con essa si ottiene una elevata qualità ed una buona velocità di stampa.

Come è facile intuire, la sola memoria centrale (RAM e ROM) interna al PC non è suffi-ciente né adatta a memorizzare i numerosi programmi e i dati che normalmente sonoutilizzati dall’utente. Infatti la RAM perde l’informazione ogni volta che viene spento ilcomputer mentre la ROM, essendo a sola lettura, non può essere alterata. Inoltre, anchese attualmente i PC possono disporre di notevole capacità di memorizzazione a costicontenuti, i nuovi programmi applicativi raggiungono ormai lunghezze ragguardevoli.Si rendono pertanto necessari altri tipi di memoria che permettano all’utente di conser-vare dati e programmi quando il computer è spento. I supporti utilizzati per conservarepermanentemente le informazioni sono i floppy disk, gli hard disk, i CD-ROM, i DVD edi dischi magneto-ottici.

I floppy disk, o dischi flessibili, sono dischi removibilicostituiti da un supporto in plastica ricoperto di ossidimagnetici.Attualmente i dischi utilizzati sono quelli da 3 pollici(3.5”) che hanno una capacità di 1.44 Mbyte. Per poteresser letti o scritti, i floppy disk debbono essere inseriti inappositi dispositivi, denominati drive, muniti di motoreper la rotazione del disco e di apposite testine, che sonomosse radialmente, per effettuare il prelievo o il deposi-to delle informazioni sulla superficie magnetica. I floppy sono messi in rotazione solo quando sono ese-guite su di essi operazioni di lettura o scrittura. Suldisco, durante il processo chiamato formattazione, ven-gono magneticamente contrassegnate, su ciascuna del-le due facce, un certo numero di tracce concentriche epoi, ogni traccia, viene suddivisa in un certo numero disettori (fig. 2.1).

Accanto ai floppy disk si sono diffusi altri tipi di dischi removibili che offrono all’utenteuna maggiore capacità di memorizzazione ed una maggiore velocità di accesso ai dati.

2.5 La stampante

2.6 Le memorie di massa

2.6.1 Floppy disk

ULTIMA TRACCIA

BORDO ESTERNOBORDO INTERNO

PRIMA TRACCIA

SETTORE

Fig. 2.1

28 MODULO 1 I SISTEMI INFORMATICI

2.6.2 Dischi removibili

m01ud02.qxd 30-06-2004 11:06 Pagina 28

Page 15: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Anche se non si è in presenza di uno standard, alcuni dispositivi hanno raggiunto unabuona diffusione. Si citano tra i modelli più utilizzati:

• Iomega Zip: dispone di dischi con capacità di 100 o 250 Mbyte o più. Non è compati-bile con i floppy standard. Il drive può essere interno o esterno. Esistono vari tipi chepossono essere collegati al PC per mezzo della porta parallela, con una scheda SCSI,alla porta USB o su un canale EIDE del controllore per dischi.

• Imation SuperDisk: i dischi hanno una capacità di 120 Mbyte ed il drive può gestireanche i normali floppy disk.

• Sony HiFD: i dischi hanno una capacità di 200 Mbyte ed il drive è compatibile con inormali floppy.

Il disco rigido, o hard disk, viene anche detto disco fisso, in quanto non è estraibile daldrive. In realtà esistono anche hard disk removibili posti all’interno di un cassetto, muni-to sul fondo di un connettore elettrico, che può essere estratto dal computer. Per memorizzare le informazioni, l’hard disk utilizza un supporto rigido, di forma circo-lare, realizzato con una lega di alluminio ricoperta da uno strato di materiale magneti-co. Normalmente per realizzare un disco rigido vengono adoperati più supporti, fissatisu un unico asse, solidali tra di loro, che ruotano tutti insieme. I piatti di un hard diskruotano a una velocità superiore a quella dei floppy, variabile a seconda del tipo da cir-ca 5200 a oltre 7200 giri al minuto. I drive degli hard disk sono mantenuti sempre in rotazione poiché, per il modo in cuisono realizzati, impiegano un certo tempo per raggiungere la velocità di regime. La rota-zione costante rende i dati disponibili in tempi molto minori, rispetto a quello dei floppy,e la maggiore velocità di rotazione permette anche una diminuzione dei tempi di scrit-tura e di lettura.Su ogni piatto, costituente il disco rigido, sono presenti due testine, una per faccia, chesi muovono radialmente su di esso. Tutte le testine sono poi collegate a un braccio mec-canico che ha la funzione di sostenere tutto l’insieme e, un dispositivo, detto attuatore,provvede poi a spostare le testine verso l’interno o l’esterno del disco lungo un suo rag-gio. Nella figura 2.2 è schematizzata la struttura di un disco rigido.

29 Unità 2 Le periferiche del PC

2.6.3 Hard disk

Altri dischi

Disco

Disco

Disco

Facce

Supporto unicoper tutte letestine

Braccio Testine

Motore per il trascinamentodei dischi

Testine

Fig. 2.2

Anche le superfici (superiore ed inferiore) di ciascun piatto del disco fisso sono suddivi-se in tracce. L’insieme di tutte le tracce descritte sulle superfici di tutti i piatti formanouna pila di tracce detta cilindro. Le tracce di ogni piatto sono normalmente divise in set-tori. Il raggruppamento di più settori contigui, utilizzati dal sistema operativo come bloc-co unico per la memorizzazione dei dati, è definito cluster.Le capacità di memoria di un hard disk sono molto varie e in continuo aumento.Quando vengono memorizzati dati o programmi sul disco inizialmente vengono occupati

m01ud02.qxd 30-06-2004 11:06 Pagina 29

Page 16: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

settori contigui. Poi con le continue cancellazioni di dati e programmi, o parti di essi, lenuove memorizzazioni sono fatte in settori non più contigui. Quindi uno stesso pro-gramma o una serie di dati, appartenenti allo stesso insieme, vengono ad essere memo-rizzati in diverse zone del disco. Con il passare del tempo la situazione diviene sempre piùcritica e la lettura o scrittura di dati diviene più lenta. Per ripristinare la situazione inizialesi ricorre alla defragmentazione del disco. Un’apposita utility, fornita con i sistemi ope-rativi, rimette in settori contigui i dati appartenenti alle stesse applicazioni.

Caratteristiche tecniche per la scelta dei dischi rigidi• Capacità di memorizzazione espressa in Gbyte. • Tempo di ricerca medio: tempo che impiega mediamente la testina per raggiungere

una traccia (8 ÷ 10 ms o anche meno).• Transfer rate: (in Mbyte/s) velocità con cui vengono trasferiti i dati dal disco; il trans-

fer rate esterno indica la velocità con cui vengono trasferite le informazioni dallamemoria cache contenuta nel disco; il transfer rate interno specifica invece la veloci-tà di trasferimento senza utilizzazione della cache interna.

• Velocità di rotazione (rpm: rotazioni per minuto – in genere a maggiore velocità cor-risponde un transfer rate interno maggiore).

• Disco di tipo EIDE collegabile direttamente al controller presente sulla scheda madreattraverso un connettore IDE.

• Disco di tipo SCSI (leggere scasi): sono dischi con caratteristiche più elevate; necessi-tano di una apposita scheda d’interfaccia.

I drive adatti alla lettura dei CD-ROM hanno un cassettino estraibile in cui si inserisce ildisco (normalmente con la superficie su cui si trovano i dati rivolta verso il fondo del cas-setto). Le informazioni sono incise sul disco, in formato binario, in forma ottica con piccole zoneriflettenti (land) e altre opache (pit), poste su un’unica traccia, a forma di spirale, cheparte dal centro del disco e va verso la superficie esterna. La traccia è incisa sul disco in fabbrica e possiede una larghezza di 0,6 µm ed un passo di1,6 µm. Il disco, in fase di lettura, viene posto in rotazione ed un sistema ottico, dotatodi un diodo laser, mosso su un braccetto lungo un raggio del disco, illumina la superficiee, il raggio laser, riflesso o meno a seconda che colpisca un land o un pit, viene inviato adun fotorivelatore, in grado di distinguere i punti opachi e quelli riflettenti. La successione di una zona opaca ed una riflettente viene interpretata come uno logico,mentre la successione di zone opache o zone riflettenti come zero logico. I lettori di CDutilizzano normalmente la tecnica CAV (Constant Angular Velocity) e meno frequente-mente la tecnica CLV (Constant Linear Velocity) e a volte ambedue. Con la CAV il disco ruota con velocità angolare costante. Quindi esso impiega sempre lostesso tempo per compiere una rotazione completa. Di conseguenza le tracce internepasseranno sotto la testina di lettura in modo più lento mentre quelle più esterne convelocità superiore. Per questo la velocità di trasferimento dei dati sarà più bassa sulletracce esterne e più elevata su quelle interne. La velocità di trasferimento dei dati, per un lettore CD, è indicata con un numero segui-to dalla X (per esempio 40X). Si tenga presente che il valore 1X corrisponde ad un tra-sferimento di dati pari a 150 kbyte/s. Quindi un lettore 40X trasferisce 40 × 150 kbyte/s= 6000 kbyte/s. Il valore indicato sul drive si riferisce alla lettura delle tracce più esterne.Per esempio, un lettore di CD 40X avrà per le tracce più interne una velocità di trasferi-mento pari a circa 18X. In un CD (definito normalmente CD-R) sono memorizzati normalmente 650 Mbyte o 700Mbyte di dati.Il DVD (Digital Video Disc) ha lo stesso formato del CD ma può contenere una quantitàdi dati di gran lunga superiore (4,7 Gbyte). Per ottenere questa maggiore capacità dimemorizzazione, nel DVD sono utilizzati pit e land di dimensioni ridotte rispetto al comu-ne CD-R. Inoltre il laser emettitore utilizza una lunghezza d’onda inferiore (650 nm) e lameccanica del drive è più precisa.

30 MODULO 1 I SISTEMI INFORMATICI

2.6.4 Drive per CD-ROM e DVD

m01ud02.qxd 30-06-2004 11:06 Pagina 30

Page 17: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

Un lettore DVD deve essere in grado di leggere anche un CD. Per la velocità di trasferi-mento dei dati per un lettore di DVD si considera l’unità base 1X = 1350 Kbyte/s. In gene-re in un lettore per DVD è indicata separatamente la velocità di trasferimento dei dati inmodalità lettore CD.

I masterizzatori sono utilizzati per incidere CD del tipo CD-R (Recordable), ovvero chepossono essere incisi una sola volta, o CD-RW (ReWritable), che possono essere riscrittipiù volte. Sui dischi è sempre incisa la capacità di memorizzazione del supporto (650 Mbyte o 700Mbyte) e la velocità con cui possono essere masterizzati (4X, 6X, 8X, 12X, 16X…). L’aspetto esteriore di un masterizzatore è simile a quello di un lettore. Normalmente undrive per la masterizzazione utilizza tre velocità distinte per la scrittura dei CD-R, per lascrittura dei CD-RW ed infine per la lettura (per esempio 24X-10X-40X). A corredo deimasterizzatori è spesso fornito un apposito software che serve per compiere tutti i pro-cessi di masterizzazione.La scrittura di un CD-R può essere eseguita tutta in una volta (in una sola sessione) o inpiù sessioni successive (CD multisessione). Al centro del disco, intorno al foro, c’è una zona definita PMA (Program Memory Area)che contiene informazioni sui dati registrati sul disco relativi alle varie sessioni. Per ognisessione, all’inizio della zona registrata con i dati, viene posta un’area detta lead-in checontiene la TOC (Table Of Contents) ovvero l’indice con le informazioni relative alla strut-tura delle tracce della sessione attuale. Al termine delle tracce incise, contenenti i dati,per ogni sessione, viene posto un lead-out.Le modalità principali con cui possono essere scritti i CD sono così definite:

– DAO (Disc At Once): scrittura del disco in un’unica sessione, utilizzata normalmenteper la copia di dati da un CD ad un altro. Questo metodo è utile per la produzione diCD audio, poiché non crea intervalli fra le tracce.

– TAO (Track At Once, ovvero traccia per traccia): quando si registra in modalità Trackat Once il processo di scrittura viene interrotto dopo ogni traccia. Ogni traccia regi-strata viene chiusa prima di iniziare la registrazione della successiva.

– SAO (Session At Once): viene registrata una sessione per volta, in tempi successivi,creando un disco multisessione. In questo modo al CD-R possono essere aggiunti datiin tempi diversi.

– PACKET WRITING (scrittura a pacchetto): il CD è utilizzato come un comune disco rigi-do. Dopo una particolare formattazione si possono trasferire sul disco file e cartelle.Normalmente, fin quando il disco non viene finalizzato, la sua lettura è possibile soloper i PC che hanno lo stesso software di packet writing.

Normalmente per incidere un CD viene utilizzato il file system denominato ISO-9660.Con tale standard i nomi dei file e delle directory seguono le caratteristiche del DOS(massima lunghezza del nome 8 caratteri). Nuove specifiche di masterizzazione per il filesystem dei CD-ROM, introdotte dalla Microsoft, dette Joliet, sono estensioni dello stan-dard ISO 9660, che permettono di usare nomi di file fino a 64 caratteri.

Nei vecchi masterizzatori si presentava spesso, durante l’incisione di un disco, il così det-to buffer underrun, che rendeva il disco non più utilizzabile. Il buffer underrun è dovu-to allo svuotamento del buffer di memoria presente nel masterizzatore in cui sono con-tenuti i dati che debbono essere incisi sul disco, a causa di una bassa velocità di trasferi-mento dati dal PC verso il masterizzatore. Per minimizzare l’errore di svuotamento ènecessario che il drive abbia un buffer abbastanza capace (di solito 2 o 4 Mbyte). Attualmente esistono varie tecniche che permettono di superare il buffer underrun e tratutte si cita il Burn-Proof.

31 Unità 2 Le periferiche del PC

2.6.5 Masterizzatori per CD

m01ud02.qxd 30-06-2004 11:06 Pagina 31

Page 18: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

32 MODULO 1 I SISTEMI INFORMATICI

3. La memoriacentrale del PC

un

ità

Un calcolatore deve necessariamente essere fornito di memoria di tipo ROM (a sola let-tura, non volatile) e RAM (lettura e scrittura di tipo volatile). Nella ROM, si trova il BIOS, il programma che gestisce l’avvio del sistema ed effettua itest necessari per verificare il corretto funzionamento dei componenti base del PC.Nella RAM, vengono memorizzate le informazioni durante le varie fasi di elaborazione.Inoltre, i programmi, prima di essere eseguiti, vengono caricati dalla memoria di massa,floppy disk o hard disk, nella RAM. Con programmi estesi e complessi ed in particolare con applicazioni di grafica è richie-sta l’installazione di grossi quantitativi di RAM.La memoria complessiva che può essere installata all’interno di un PC è strettamentecorrelata con il tipo di CPU presente nel sistema ed alla particolare motherboard (pia-stra madre) presente nel PC che fissa la quantità massima di memoria installabile. La memoria di tipo RAM presente nei PC è costituita da chip, di diversa capacità, raggruppatiin moduli già pronti. I moduli vengono alloggiati in appositi slot presenti sulla piastra madre. Nel tempo i moduli hanno subito una certa evoluzione contenendo quantitativi dimemoria sempre più elevati con conseguente aumento di pin necessari per il collega-mento con la scheda madre. Si è passato così dai moduli di tipo SIMM (Single In-lineMemory Module) a 30 pin, ai SIMM a 72 pin, ai DIMM a 168 pin ed infine a quelli 184pin per le memorie DDR. Sono presenti sul mercato moduli da 32, 64, 128 e 256 Mbyte.Le memorie attualmente installate nei PC sono SDRAM (Synchronous Dynamic RAMcioè delle DRAM di tipo sincrono) o SDRAM del tipo DDR.Nella memoria possono essere immagazzinati dati, in formato binario. Normalmenteogni dato si considera formato da 1 byte (8 bit). È per questo che la quantità di memoria si misura in byte o nei relativi multipli (1 Kbyte= 1024 byte, 1 Mbyte = 1048576 byte, 1 Gbyte = 1073741824 byte). Il numero di byte, e quindi di dati, che la CPU può indirizzare è legato al numero di lineepresenti nel suo bus indirizzi. Infatti, considerando che su tali linee si possono trovare sololivelli binari (uno o zero), si ha che il numero di indirizzi diversi che si possono avere, ognu-no dei quali è adatto alla identificazione univoca di un byte, è dato dalla relazione:

num_byte = 2num_lin_ind

dove il numero due rappresenta la base dei numeri binari e num_lin_ind il numero dellelinee di indirizzo della CPU e quindi del bus indirizzi stesso. Le singole posizioni dimemoria, nella quale vengono caricate informazioni in forma binaria, sono denomina-te comunemente locazioni.

Il sistema operativo MS-DOS fu creato inizialmente per operare con la CPU 8088 dellaINTEL. Tale processore ha un BUS INDIRIZZI formato da 20 linee. Pertanto esso è ingrado di gestire un quantitativo massimo di dati pari a 1 Mbyte (220 = 1048576). Perquesto la stesura della prima versione del DOS, e poi anche delle successive, sono stret-tamente legate a tale caratteristica.

3.1 La memoria centrale

3.1.1 La memoria centrale con MS-DOS

m01ud03.qxd 30-06-2004 11:08 Pagina 32

Page 19: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Con il sistema operativo MS-DOS la divisione dello spazio di memoria indirizzabile, divi-so in 16 blocchi di 64 Kbyte ciascuno, è così ripartito:

• i primi 640 Kbyte (10 blocchi) sono destinati ad essere occupati da memorie di tipoRAM, atte a contenere sia i programmi di sistema (prima parte) che programmi e datidell’utente;

• i successivi 128 Kbyte (due blocchi) destinati alla gestione del video;• i rimanenti 256 Kbyte (quattro blocchi) destinati a contenere memorie, generalmen-

te di tipo ROM, con il ROM-BIOS (posto nell’ultimo blocco) o con estensioni del BIOSstesso.

I primi 640 Kbyte di memoria RAM sono detti normalmente memoria convenzionale,mentre la parte restante, pari a 384 Kbyte, viene chiamata memoria superiore. Non necessariamente, in un PC, la memoria superiore risulta tutta fisicamente occupata(perché questo succeda debbono essere installati nel sistema i necessari integrati di memo-ria). Le parti di tale memoria non utilizzate vengono chiamate blocchi di memoria supe-riore (UMB), e sono adoperati per particolari funzioni di estensione della memoria. È datenere presente che in un PC, con il sistema operativo MS-DOS, senza particolari accorgi-menti, la sola memoria che possono sfruttare i programmi è quella convenzionale.La distribuzione della memoria può essere osservata con il comando del DOS MEM/C.Con l’utilizzazione successiva nei PC di processori con numero di linee di indirizzo superio-ri a 20 si è reso possibile adoperare una quantità di memoria superiore ad 1 Mbyte. Però ivincoli imposti dal sistema operativo MS-DOS, per conservare la compatibilità con le prece-denti versioni hanno reso necessario utilizzare particolari sistemi per sfruttare quantitatividi memoria più elevati, necessari per estendere i 640 Kbyte della memoria convenzionale. La Memoria estesa o XMS (eXtended Memory Specification), è la parte di memoria pre-sente nei PC con estensione al di sopra del Mbyte. Con l’introduzione del sistema operativo WINDOWS 95 e poi WINDOWS 98 non esistepiù la distinzione tra memoria convenzionale e memoria estesa. Il processore in tal casolavora in modalità protetta e la memoria viene vista come un unico blocco. Tuttavia sesi usa il sistema operativo MS-DOS, e programmi che lavorano con tale sistema operati-vo, la precedente suddivisione rimane ancora valida.

Le memorie RAM installate in un PC, per motivi di costo, sono del tipo dinamico(SDRAM). Poiché il sistema è dotato di una CPU che lavora con frequenze di clock alte,queste memorie, per la tecnologia costruttiva e per il modo di funzionamento, costrin-gono la CPU stessa, durante le operazioni di lettura e di scrittura, a stati di attesa (waitstate), rallentando pertanto il funzionamento del sistema.Per eliminare in parte tale inconveniente, vengono inserite nel PC delle memorie di tipostatico (SRAM), molto più veloci delle DRAM, ma anche più costose, che costituisconola così detta memoria cache. Tale memoria, posta tra la memoria DRAM ed il processore, è quindi quella a cui essoaccede direttamente. Utilizzata come memoria di transito, vengono memorizzati in essadati e parti di programma, prelevati dalla memoria SDRAM. I processori dispongonoanche di un certo quantitativo di memoria cache interna (detta cache di primo livello). I nuovi processori implementano nel chip, o in piastre direttamente collegate ad esso,anche un quantitativo di memoria cache di 2° livello che lavora con frequenze prossi-me a quelle del processore stesso.

La memoria cache per disco non è da confondere con la precedente memoria cache,costituita da RAM di tipo statico; è infatti una memoria costituita semplicemente daalcune zone della RAM dinamica, che vengono destinate, gestendole con opportuniprogrammi, a buffer per i dati del disco.

33 Unità 3 La memoria centrale del PC

3.1.2 Memoria cache

3.1.3 Memoria cache per disco (o memoria di scambio o memoria virtuale)

m01ud03.qxd 30-06-2004 11:08 Pagina 33

Page 20: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

Per rendere più veloci le operazioni di lettura o scrittura su disco, per evitare continuiaccessi su di esso, che sono abbastanza lenti, di volta in volta un certo numero di dati,vengono copiati sulla memoria, e, il sistema, accede in tal modo non al disco, ma allamemoria operando in tal modo più velocemente. Naturalmente quando si deve acce-dere a zone diverse di disco, la memoria cache va caricata con i nuovi dati.

È una memoria realizzata in tecnologia C-MOS (Complementary Metal Oxide Semiconductor),quindi a basso assorbimento di corrente, mantenuta sempre in funzione, anche con ilPC spento, per mezzo di una piccola batteria. Su di essa è memorizzata la configura-zione del sistema. Nei nuovi PC è possibile accedervi lanciando il programma di setup,contenuto anch’esso nella ROM-BIOS, all’avvio del sistema. Tra le funzioni fondamen-tali del programma di setup, si evidenziano le seguenti:

• attribuzione delle caratteristiche dei dischi utilizzati;• assegnazione del numero e dei tipi dei driver per floppy presenti;• configurazione dei dispositivi di boot;• impostazioni del modo di operare della porta parallela;• abilitazione o meno di alcuni test da effettuare all’avvio;• operazioni sulla configurazione della memoria;• altre funzioni particolari.

Una memoria è un dispositivo elettronico in grado di memorizzare dati in binario, perpoi fornirli al momento opportuno, quando richiesti. Un dispositivo elettronico, in grado di memorizzare un solo bit (zero o uno), viene defi-nito come cella elementare di memoria.

Normalmente una memoria è formata da numerose celle, che permettono la memoriz-zazione di grossi quantitativi di dati. Dal punto di vista elettronico una cella può esse-re costituita in modo diverso a seconda della tecnologia con cui si realizza il dispositivodi memoria1.In riferimento alla tecnologia costruttiva di base si possono suddividere le memorie indue grosse categorie: quelle con tecnologia bipolare e quelle con tecnologia di tipoMOS (N-MOS o CMOS).Nella figura 3.1 sono rappresentate alcune celle elementari per particolari tipi di memo-ria e per le tecnologie di base bipolare e MOS:

A) cella di tipo PROM con tecnologia bipolare;B) cella di tipo PROM con tecnologia MOS;C) cella di RAM STATICA in tecnologia MOS;D) cella di RAM DINAMICA in tecnologia MOS.

34 MODULO 1 I SISTEMI INFORMATICI

3.1.4 Memoria CMOS

3.2 Caratteristiche delle memorie

( D )( A ) ( B ) ( C )

1 Per una più ampia descrizione della costituzione delle celle di memoria, vedasi il testo Elettronica - La logi-ca di Giometti-Frascari, cap. 12, edizioni Calderini.

Fig. 3.1

m01ud03.qxd 30-06-2004 11:08 Pagina 34

Page 21: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Le celle elementari di una memoria sono in generedisposte in modo da formare una matrice come èrappresentato nella figura 3.2.In tale matrice ogni singola cella è univocamenteindividuata da un numero ri di riga (r1, r2, r3, r4) e daun numero cj di colonna (c1, c2, c3, c4).Per accedere alle singole celle, bisogna selezionarela riga e la colonna che la individuano. La cella posta sulla terza riga e sulla secondacolonna, ad esempio, viene selezionata attivandole linee r3 c2. Con tale modo di procedere, la sele-zione sarebbe troppo onerosa, in termini diimpiego di linee, per effettuare la scelta della sin-gola cella. Per una memoria di sole 16 celle disposte a matricecon 4 righe e 4 colonne, occorrerebbero infatti benotto linee, 4 per le righe e 4 per le colonne, per indi-viduare ciascuna cella.Se invece si utilizzano due decodificatori, uno perle righe e un altro per le colonne, sempre riferen-dosi alla memoria con 16 celle, queste si possonoindividuare con solo 4 linee, come illustrato nellafigura 3.3. Due di queste, poste in ingresso aldecodificatore delle righe (A3 e A2), permetteran-no di scegliere con i quattro codici binari diversi(002, 012, 102, 112), le quattro righe e le altre duelinee (A1 e A0), permetteranno la scelta di unadelle 4 colonne.Tale procedimento è sintetizzato nella tabella 3.1.

35 Unità 3 La memoria centrale del PC

c1 c2 c3 c4

rm

r4

r3

r2

r1

RIGHE

COLONNEcn( 1 BIT )

CELLA ELEMENTARE

Fig. 3.2

c1

DECODER

A3

A2

RIGHE

c2 c3 c4

r4

r3

r2

DECODER COLONNE

r1

A0A1

Fig. 3.3

A3 A2 Selez. riga

0

0

1

1

0

1

0

1

r1

r2

r3

r4

A1 A0 Selez. colon.

0

0

1

1

0

1

0

1

c1

c2

c3

c4

Con tale procedimento se r rappresenta il numero delle linee in ingresso al decoderdelle righe, e c il numero delle linee in ingresso al decoder delle colonne, il numero Ndi celle selezionabili è:

N = 2r+c

Infatti nel caso precedente essendo r = 2 e c = 2 si avrà N = 22+2 = 24 = 16.Se si considerano, complessivamente, il codice a due bit inviato al decoder delle righe equello, sempre a due bit, inviato al decoder delle colonne, si ottiene un nuovo codice,a quattro bit, che permette di selezionare, con ognuna delle 16 combinazioni possibili,ciascuna delle celle elementari. Tali 16 combinazioni possono essere considerate gli indirizzi delle singole celle. Ognunodei 16 indirizzi seleziona una riga ed un colonna che individuano poi la cella posta alloro incrocio. Si veda a tale proposito la tabella 3.2.

TAB. 3.1

m01ud03.qxd 30-06-2004 11:08 Pagina 35

Page 22: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Si ha quindi che con codici di n bit (dis-tribuiti tra le righe e le colonne), posso-no essere individuate 2n celle diverse dimemoria.Si definisce capacità C di una memoria ilnumero di bit che possono essere memo-rizzati nella memoria stessa.Nelle memorie commerciali, spesso siraggruppano le celle elementari di ogniriga, in modo da formare strutture con 4o 8 celle e a volte anche con 16, 24 o 32.In tale maniera ad ogni accesso allamemoria possono essere individuateparole di 4 o 8 bit o 16 o più bit. Le più diffuse memorie presentano quin-di un’organizzazione interna di 1 bit, 4bit o 8 o più bit. Si parla in tal caso di memorie con orga-nizzazione in parole (word) di:

n word × 1 bit n word × 4 bit n word × 8 bit

dove con n si è indicato il numero di rag-gruppamenti di celle elementari presen-ti nella memoria.

Nel caso di raggruppamenti a 4 o 8 bit, dovendosi selezionare gruppi, e non più sin-gole celle, occorrono meno linee d’indirizzo per la selezione delle parole contenutenella memoria, in quanto celle elementari di ogni gruppo sono selezionate contempo-raneamente. Quanto detto è chiarito nella figura 3.4, ove è presa in considerazioneuna matrice di celle di formato 64 × 64. La memoria in totale può memorizzare 4096bit (64 × 64 = 4096). Se si considera la memoria con organizzazione interna di 4096 paro-le × 1 bit, occorrono 6 linee d’indirizzo per le righe ed altrettante per le colonne. Infatticon 6 bit si possono ottenere, attraverso i decoder, 64 combinazioni diverse (26 = 64) perle righe e 64 per le colonne.Se invece la stessa matrice di 4096 bit è organizzata in 1024 parole × 4 bit, occorronosempre 6 linee di indirizzo da inviare al decoder delle righe, ma solo 4 linee per il deco-der delle colonne. Infatti in tal caso ogni riga può essere pensata formata da 16 rag-gruppamenti di 4 celle elementari ognuno. E, per selezionare 16 raggruppamenti, sononecessarie 4 linee in ingresso al decoder.In realtà all’utente non interessa come siano distribuite le linee d’indirizzo, all’internodella memoria, tra le righe e le colonne, ma solo conoscere il numero totale delle lineeper selezionare tutti i possibili raggruppamenti di celle all’interno della memoria stessa.

36 MODULO 1 I SISTEMI INFORMATICI

A3 A2 A1 A0 Riga Colon.

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0011001100110011

0101010101010101

r1

r1

r1

r1

r2

r2

r2

r2

r3

r3

r3

r3

r4

r4

r4

r4

c1

c2

c3

c4

c1

c2

c3

c4

c1

c2

c3

c4

c1

c2

c3

c4

DECODERr1

A10A11 r64

RIGHE

DECODERA8A9

A7

r3r2

A10A11

A8A9

A7

A4

DECODER COLONNE

A6 c1

A5

c64c3c2 A6

A0A1A3 A2

r1MATRICE

r64

RIGHE

DECODER COLONNE

A6

4 CELLE

c1

A7A8A9

OGNI RIGA16 GRUPPI DI 4 CELLE

4 CELLE

c16

4 CELLE4 CELLE 4 CELLE

64 x 6464 x 64

MATRICE

TAB. 3.2

Fig. 3.4

m01ud03.qxd 30-06-2004 11:08 Pagina 36

Page 23: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

Si definisce locazione di memoria un raggruppamento di celle elementari a cui si può acce-dere con un’unica combinazione delle linee d’indirizzo, in generale si può dire che, con nlinee d’indirizzo, possono essere indirizzate 2n locazioni distinte di memoria.

Spesso, con memorie di grossa capacità, si considerano i seguenti multipli dei bit:

1024 bit = 1 Kbit 1024 Kbit = 1 Mbit = 1048576 bit

o, in caso di organizzazione ad 8 bit (1 byte):

1024 byte = 1 Kbyte 1024 Kbyte = 1 Mbyte = 1048576 byte

È chiaro che una memoria con capacità di 1 Mbyte contiene al suo interno 8388608 celleelementari (1048576 × 8 = 8388608).

Altro parametro caratteristico delle memorie è il tempo di accesso, ovvero il tempo cheintercorre dal momento in cui viene indirizzata una locazione di memoria a quello incui si rende disponibile il dato all’esterno del dispositivo, in caso di lettura, o a quellonecessario per depositare il dato nella locazione selezionata, in caso di scrittura.

La prima classificazione che può essere effettuata con le memorie è relativa al tipo ditecnologia con cui sono realizzate le singole celle elementari. Si hanno pertanto:

• memorie di tipo bipolare realizzate con transistor di tipo BJT. Tali tipi di memoriepermettono tempi molto brevi per l’accesso ai dati, ma non offrono la possibilità diottenere chip con grandi capacità di memorizzazione;

• memorie con celle realizzate con transistor di tipo MOS. In base al tipo di transistoreusato si distinguono in N-MOS (a canale N), C-MOS (complementari, con canale N e P).Permettono di ottenere grosse capacità di integrazione, ma sono meno veloci rispet-to al tipo bipolare. Tuttavia le nuove tecnologie hanno permesso di realizzare memo-rie di tipo MOS sempre più veloci, e con elevatissima scala di integrazione. Pertantotali tipi di memoria possono considerarsi attualmente i più diffusi.

Una classificazione delle memorie in base alle loro caratteristiche funzionali può esserepoi fatta secondo le modalità con cui si può accedere al dispositivo: si avranno pertan-to memorie a sola lettura e memorie a lettura e scrittura.

37 Unità 3 La memoria centrale del PC

3.3 Classificazione delle memorie

Memorie di lettura e lettura-scrittura

sola lettura Memorie in cui è possibile effettuare la sola lettura dei dati memorizzati,senza possibilità di scrivere in esse nuove informazioni.

lettura e scrittura Memorie in cui è possibile memorizzare dati e poi rileggerli senza alcunalimitazione.

Memorie volatili e non volatili

volatili Memorie che perdono il loro contenuto una volta che sono disconnesseda una sorgente di alimentazione. Le RAM sono memorie volatili.

non volatili Memorie che mantengono le informazioni in esse memorizzate anchequando non sono più alimentate. A tale tipo appartengono le ROM, lePROM, le EPROM, le EEPROM.

In base poi alla modalità con cui rimangono memorizzati i dati nelle memorie si hannomemorie volatili e non volatili.

m01ud03.qxd 30-06-2004 11:08 Pagina 37

Page 24: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Le memorie non volatili hanno nomi e caratteristiche diverse; esse sono le ROM, leEPROM, le EEPROM, e sono tutte memorie, come detto, a sola lettura. I vari tipi si dif-ferenziano per le caratteristiche costruttive e per il modo di programmazione, ovveroper come vengono scritti in essi i dati che poi conserveranno anche in assenza di ali-mentazione:

• ROM (Read Only Memory): le memorie ROM sono programmate in sede di fabbrica-zione ponendo a livello logico alto o basso le singole celle. La loro programmazioneè commissionata direttamente dall’utente secondo contenuti specifici. È evidenteche i dati contenuti nelle memorie ROM, una volta fabbricate, non sono in alcunmodo modificabili. Le memorie ROM sono caratterizzate da un basso costo, ma soloper produzione di grandi quantità, e hanno una buona facilità d’impiego. Talimemorie sono utilizzate per realizzare decodifiche veloci, per contenere programminon soggetti a modifiche e in applicazioni specifiche quali la costruzione di stru-menti elettronici programmabili. Sono realizzate sia in tecnologia bipolare che inquella MOS (C-MOS e N-MOS).

• PROM (Programmable ROM): per superare le limitazioni delle memorie ROM, sonostate introdotte le memorie PROM. Queste memorie sono, a differenza delle ROM,programmabili dall’utente ed escono dalla fabbrica con tutte le celle allo stato logi-co alto. Con un apposito strumento, detto programmatore di PROM, l’utente puòcambiare lo stato delle singole celle bruciando alcuni collegamenti interni con appo-siti impulsi di tensione. La memoria PROM può essere programmata una sola voltain quanto non è possibile ripristinare i collegamenti bruciati. Le memorie PROMhanno una buona facilità d’impiego. Possono avere gli stessi campi di applicazionedelle ROM. In tal caso non occorre la produzione di grossi quantitativi per abbassa-re il costo di produzione.

• EPROM (Erasable Programmable ROM): le memorie EPROM sono memorie pro-grammabili ma anche cancellabili, per poter essere di nuovo riprogrammate. La can-cellazione è ottenuta esponendo la memoria a raggi ultravioletti di particolare lun-ghezza d’onda (non inferiore a 2537 A) per circa 20 minuti; a tal fine esiste sul cir-cuito integrato una apertura o finestra protetta da un materiale trasparente ai raggiultravioletti. Tuttavia è da aggiungere che anche raggi ultravioletti con maggiorelunghezza d’onda effettuano la cancellazione della memoria, anche se in tempi piùlunghi. La permanenza dei dati in una EPROM, in genere, è garantita per una deci-na di anni. La programmazione delle EPROM è fatta con un programmatore, cheinvia impulsi di tensione sugli appositi pin del chip. Le memorie EPROM hanno uncosto contenuto e buona facilità d’impiego.

• EEPROM (Electrical Erasable Programmable ROM): le EEPROM sono cancellabili elet-tricamente senza dover far ricorso ai raggi ultravioletti. Il numero dei cicli di cancel-lazione è limitato a 10000 per i primi tipi prodotti, e arriva fino a 100000 per i chipdelle ultime generazioni. Le EEPROM hanno avuto negli ultimi tempi una grandediffusione in quanto utilizzate per memorizzare il firmware di vari tipi di dispositivi(per esempio dei modem) per permetterne poi l’aggiornamento in circuit, ovverosenza togliere il chip di memoria dall’apparecchiatura. Sono poi utilizzate anche neiPC, sulle motherboard, per contenere la parte del sistema operativo (ROM-BIOS) resi-dente nella macchina che provvede all’accensione, all’avvio del sistema. In tal modoè possibile aggiornare facilmente il BIOS senza aprire il computer. Altra applicazio-ne recente delle EEPROM è legata alle nuove tecnologie costruttive dei microcon-troller (➜ Modulo 11). In questi dispositivi essa costituisce a volte sia la memoria diprogramma che quella dati o solo quella per i dati.

Le memorie RAM (Random Access Memory) volatili possono essere scritte e lette incontinuazione. Quando viene tolta l’alimentazione le RAM perdono il loro conte-nuto.

38 MODULO 1 I SISTEMI INFORMATICI

3.3.1 Memorie non volatili

3.3.2 Memorie volatili

m01ud03.qxd 30-06-2004 11:08 Pagina 38

Page 25: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

• SRAM (Static RAM): le memorie SRAM sono costruite attualmente quasi esclusiva-mente in tecnologia MOS e sono caratterizzate da velocità anche molto elevate, contempi di accesso di poche decine di nanosecondi; la loro capacità è inferiore a quel-la delle memorie dinamiche. L’impiego delle SRAM risulta molto facilitato e trovanoapplicazione nei sistemi di memoria di tipo cache (➜ Modulo 2, unità 1), ovveromemorie di transito interposte tra microprocessore e memorie dinamiche.

• DRAM (Dynamic RAM): le DRAM sono costruite in tecnologia MOS. Il funzionamen-to delle DRAM si basa sullo stato di carica di un condensatore, collegato con il trans-istore di tipo MOS, che costituisce la singola cella (vedere fig. 3.1D). Una tensione ai capi del condensatore è interpretata come livello logico alto, men-tre una tensione nulla è interpretata come livello logico basso. L’informazione memorizzata sul condensatore tende tuttavia a degradarsi in untempo abbastanza breve a causa della scarica del condensatore dovuta alle correntidi fuga per le impedenze alte ma non infinite del transistore MOS. Per mantenere l’informazione delle memorie dinamiche si ricorre ad appositi circui-ti detti di rinfresco. Il rinfresco delle celle di memoria si realizza con una successionedi cicli di lettura che interessano via via tutte le celle della memoria e con il con-temporaneo ripristino dei valori letti. L’operazione di rinfresco deve svolgersi in un tempo massimo, variabile a secondadel tipo di DRAM, entro il quale devono essere ripristinate le informazioni imma-gazzinate pena la perdita delle stesse. L’operazione di rinfresco può essere eseguitadirettamente da appositi segnali della CPU o, nei casi più complessi, attraverso appo-siti circuiti supplementari. Nelle nuove memorie DRAM sono previsti anche circuitiinterni al dispositivo per l’auto-refresh. Le memorie DRAM sono caratterizzate da valori di capacità molto superiori a quel-le delle SRAM, hanno buona velocità e sono poi caratterizzate da basso consumo. Lememorie DRAM sono utilizzate per creare grossi banchi di memoria nei personalcomputer e in stazioni per la gestione di elaborazioni grafiche.

La struttura interna delle memorie dinamiche è realizzata come una matrice di celle ele-mentari e l’accesso alle singole celle è fatto selezionando le righe e le colonne con spe-cifici segnali denominati RAS

____(Row Address Strobe) e CAS

____(Column Address Strobe) che

permettono di selezionare le singole righe e le singole colonne della matrice di cellecostituenti la memoria, quando sulle linee d’indirizzo viene posto l’indirizzo di una rigao quello di una colonna. In questo modo, le linee d’indirizzo che sono collegate al chipcontengono o l’indirizzo di una riga o quello di una colonna. I segnali CAS

____e RAS

____indi-

cano al chip di memoria rispettivamente se l’indirizzo è quello di una linea o di unacolonna. Solo dopo che sul chip sono poste successivamente tutte e due le parti d’indi-rizzo relative alla riga e alla colonna, il bit (dato) contenuto nella cella indirizzata vieneposto sulla linea dati collegata con la cella indirizzata.

39 Unità 3 La memoria centrale del PC

Tipi di RAM

RAM statiche o SRAM Realizzate sia in tecnologia bipolare che in tecnologia MOS.Mantengono le informazioni in esse memorizzate, fino a quandorimangono connesse ad una sorgente di alimentazione, senza neces-sità di particolari operazioni. L’elemento di base per la memorizza-zione per questo tipo di memorie è costituito da un flip-flop.

RAM dinamiche o DRAM Realizzate in tecnologia MOS. Necessitano di un ripristino, ad interval-li di tempo prefissati, dei dati in esse memorizzati. Le memorie RAMdinamiche offrono la possibilità di integrare su un unico chip un ele-vatissimo numero di celle elementari.

3.4 Approfondimenti sulle memorie

m01ud03.qxd 30-06-2004 11:08 Pagina 39

Page 26: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

La tecnologia costruttiva e le modalità di funzionamento e quindi i metodi d’interfac-ciamento delle memorie dinamiche alla CPU hanno seguito nel tempo notevoli varia-zioni. Si esaminano qui brevemente le caratteristiche dei vari tipi di RAM dinamiche. Un tipico ciclo di lettura di un dato singolo per una memoria DRAM con tempo di acces-so di 60 ns e con frequenza del clock del BUS di 66 MHz è riportato in figura 3.5. Come si vede dal diagramma delle temporizzazioni:

– con la discesa del segnale RAS____

deve essere presente sul bus indirizzi l’indirizzo di unariga e con la discesa CAS

____quello di una colonna;

– con il fronte di salita di OE___

avviene la lettura del dato. I tempi di accesso al dato rela-tivamente ai segnali CAS

____e RAS

____sono detti tcac e trac e indicano la disponibilità del

dato dal momento in cui diventano attivi i segnali CAS____

e RAS____

;– alla lettura del dato segue un ciclo di refresh della memoria.

Come si vede dalla temporizzazione, per poter accedere ad un nuovo dato prima chepossa essere riportato basso il segnale RAS

____ debbono trascorrere almeno 110 ns (più di

7 cicli di clock del bus).Le modalità esposte per la lettura e scrittura di dati nelle memorie dinamiche con acces-so di volta in volta alla riga e poi alla colonna, può essere migliorato utilizzando chipdi memoria che supportano modalità diverse per l’accesso ai dati.Si utilizza normalmente un trasferimento di tipo burst (a raffica) in cui i dati vengonotrasferiti una serie per volta, leggendo locazioni di memoria consecutive. In genere idati letti dalla DRAM sono trasferiti nella cache. Normalmente in un ciclo di burst (burst cycle) vengono letti dalla memoria DRAM 4 daticonsecutivi per volta. La grandezza dei dati letti (2, 4, 8 byte) dipende dal numero dilinee del bus DATI.

Per esempio: con un processore con bus dati da 32 bit, debbono essere effettuate inun ciclo di burst 4 letture consecutive trasferendo in ognuna di esse 4 byte (32 bitquante sono le linee del bus dati). Questi 4 dati da 32 bit sono posti in una linea dellamemoria cache. Per eseguire un ciclo di burst occorre un certo numero di cicli diclock del bus. Il bus ha un clock, BCK, con frequenza inferiore a quello della CPU. Nei PC esso può avere la frequenza di 66, 100 o 133 MHz. Il numero totale di cicli di clock che occorrono per effettuare la lettura dei 4 datidipende quindi sia dalla frequenza del clock del bus sia dal tipo di memoria utiliz-zato.

La tecnologia costruttiva delle DRAM ha subito notevoli variazioni nel corso degli anni pertenere il passo con le CPU sempre più veloci: si è così passati dalle DRAM tradizionali alleDRAM FPM (Fast Page Mode), alle EDO (Extended Data Out) e BEDO (Burst EDO). Anche per i sistemi grafici sono state realizzate DRAM di tipo specifico: SGRAM(Synchronous Graphics RAM), VRAM (Video RAM), WRAM (Window RAM):

• SDRAM (Synchronous DRAM). La struttura interna di queste memorie è simile alleDRAM tradizionali. In esse è stato introdotto un registro per memorizzare l’indiriz-

40 MODULO 1 I SISTEMI INFORMATICI

trac 60 ns

COLONNARIGA

RAS

T2T1 T3

DATO

tcac

OE

T6

110 ns min

CAS

T4 T5 T7

Fig. 3.5

m01ud03.qxd 30-06-2004 11:08 Pagina 40

Page 27: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

zo di riga e di colonna; in tale maniera la CPU, una volta fornito l’indirizzo, puòseguitare a svolgere i suoi compiti in attesa che la memoria fornisca i dati indirizza-ti. Per queste memorie vengono forniti i tempi di ciclo (invece dei tempi di accesso)per specificare la frequenza del bus del PC con cui possono lavorare. Per le SDRAM si hanno le PC66 con tempi di ciclo di 15 ns e frequenza del bus a 66MHz, le PC100 con tempi di ciclo di 10 ns e frequenza del bus a 100 MHz, e infine lePC133 con tempi di ciclo di 7,5 ns e frequenza del bus a 133 MHz. Le memorie SDRAM permettono di sincronizzare le loro temporizzazioni con quelledella CPU. Con una memoria con frequenza del clock del bus a 66 MHz, dopo l’accesso al primodato (che avviene in 5 cicli di clock) la lettura dei dati successivi avviene con un solociclo di clock (5-1-1-1).Le memorie SDRAM internamente sono strutturate in banchi e ciascun banco poi èorganizzato in righe e colonne come gli altri tipi di DRAM.Il modo di operare di una SDRAM deve essere preventivamente programmato pro-cedendo ad una inizializzazione del dispositivo. Le inizializzazioni possibili sono:

1. Lunghezza della serie dei dati da leggere (burst length) programmabile in gene-re in 1, 2, 4, 8 o tutta la pagina. Quindi la lunghezza del burst indica il numeromassimo delle colonne a cui si può accedere con una data operazione di letturao scrittura in memoria.

2. Modalità con cui effettuare la lettura (burst type), in genere del tipo sequenzia-le o interleaved (ovvero con possibilità di scambio tra i vari banchi).

3. Latenza del CAS____

(latency CAS____

) ovvero il numero di cicli di clock di ritardo con cuidopo un comando di lettura di un dato esso è reso disponibile.

4. Modalità con cui eseguire le operazioni di lettura o scrittura (burst mode), ovve-ro se si deve accedere ad una singola locazione oppure se si deve operare attra-verso la modalità burst length programmata (serie di colonne da leggere).

41 Unità 3 La memoria centrale del PC

ACTIVE

RIGAINDIRIZZO

COMMAND

COLONNA

READ

CAS LATENCY = 2

BURST LENGTH = 4

DATO 1 DATO 2 DATO 4DATO 3

Nella figura 3.6 è riprodotto un ciclo di lettura di tipo burst in cui è programmatoun burst length = 4 (lettura di 4 colonne) e un latency CAS

____= 2 (2 cicli di ritardo prima

della disponibilità del primo dato).

• SDRAM DDR (SDRAM Double Data Rate). Lavorano in modo simile alle SDRAM tra-dizionali ma per il trasferimento delle informazioni utilizzano sia il fronte di salitache quello di discesa del clock. I moduli disponibili sono PC1600 (per frequenza dibus a 200 MHz), PC2100 (per 266 MHz), PC2700 (per 333 MHz) e PC3200 (per 400MHz).

• DR DRAM (Direct Rambus™ DRAM). In queste memorie la tecnologia di trasferi-mento dei dati è diversa. Nelle DDR si utilizza un bus di trasferimento a 64 bit confrequenza pari a quella specifica del modulo. Nelle DR DRAM invece si ha un busdi trasferimento a 16 bit con frequenza di 400 MHz (per il modulo PC800), fre-quenza che diviene 800 MHz se si considera che vengono utilizzati ambedue i fron-ti del clock.

Fig. 3.6

m01ud03.qxd 30-06-2004 11:08 Pagina 41

Page 28: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

42 MODULO 1 I SISTEMI INFORMATICI

4. Le porte dicomunicazionedel PC

un

ità

Il computer può essere collegato verso alcune periferiche per mezzo di porte standard.Generalmente, come affermato in precedenza, nei nuovi sistemi le interfacce relativealle varie porte di comunicazione sono integrate o in apposito chip presente sulla piastramadre o direttamente nei chipset. Normalmente sono presenti in un PC almeno una por-ta parallela per la stampante, una o più spesso due porte per le comunicazioni seriali, edue o più porte USB.

La porta parallela, denominata comunemente Centronics, mette in comunicazione il PCcon la periferica stampante, utilizzata sia per la scrittura su carta di testi che per presta-zioni di grafica.

Essa è accessibile all’esterno del computer attraverso un connettore del tipo D a vaschet-ta a 25 poli femmina. Sono disponibili 8 linee per i dati, 9 per segnali, di ingresso o diuscita, di vario tipo, che permettono il colloquio tra la stampante e il computer, e piùlinee, collegate a massa. Nei PC è possibile utilizzare fino a tre porte parallele. Ad ognuna di esse è riservato uninsieme di tre indirizzi contigui nel campo dell’indirizzamento delle periferiche I/O(input/output) del computer. L’indirizzo base è riservato all’output dei dati verso la stam-pante, il successivo per l’input dei segnali di stato provenienti dalla stampante e direttiverso il PC, ed infine, il terzo, per alcuni segnali di controllo diretti alla stampante:

– la porta primaria, definita anche LPT1, ha come indirizzo base 378h (esadecimale) o888 (decimale);

– la porta LPT2 ha l’indirizzo base 278h (632 decimale);– la porta LPT3 ha l’indirizzo 3bch (956 decimale).

Alla porta LPT1 è riservato l’interrupt IRQ7, alla LPT2 l’interrupt IRQ5 (dal PC AT in poi).Non è previsto un interrupt specifico per la LPT3. Nei PC di più recente generazione la porta parallela può essere abilitata, per mezzo delsoftware (in genere attraverso il BIOS), per ottenere modalità diverse di funzionamento.Con lo standard IEEE 1284-1994 sono stati definiti cinque modi diversi per il trasferi-mento dati dalla porta parallela.Essi sono:

• Modalità standard (o Centronics o Compatibility mode), denominata SPP (StandardPrinter Port). In tale modalità si ha trasferimento con le 8 linee dei dati D0-D7 sola-mente dal PC alla periferica.

• Trasferimento Nibble Mode. I dati sono trasferiti in modo diretto dal PC alla periferi-ca usando le otto linee dei dati D0-D7. Sono utilizzate invece 4 linee di stato (BUSY, PE,SE, ER) per trasferire i dati dalla periferica al computer. La linea di stato ACK è usatainoltre dalla periferica per comunicare al PC che è pronto un dato da ricevere.

• Trasferimento Byte Mode. Rappresenta un metodo di trasferimento dati bidirezio-nale. Le 8 linee dei dati D0-D7 possono trasferire i dati sia dal PC alla periferica che in

4.1 Le porte di comunicazione del PC

4.1.1 La porta parallela

m01ud04.qxd 30-06-2004 11:11 Pagina 42

Page 29: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

modo inverso. Per il trasferimento dati viene implementato un protocollo, utilizzan-do alcune delle linee di controllo e di stato, che permette uno scambio ordinato didati tra PC e periferica.

• Trasferimento bidirezionale EPP (Enhanced Parallel Port). Le 8 linee dei dati D0-D7possono trasferire i dati sia dal PC alla periferica che in modo inverso. La modalitàEPP permette un trasferimento dati ad alta velocità e può essere utilizzata per l’ac-quisizione dati e da periferiche come dischi rigidi, CD-ROM, unità a dischi removibilie anche per il trasferimento di dati tra due PC.

• Trasferimento bidirezionale ECP (Extended Capabilitie Port) anche in questo caso le 8linee dei dati D0-D7 possono trasferire i dati sia dal PC alla periferica che in modoinverso. La modalità ECP è utilizzata soprattutto dalle moderne stampanti e dagliscanner.

Nello standard IEEE 1248-1994 sono definite le caratteristiche elettriche e meccaniche eil modo di operare per le cinque modalità di funzionamento previste (SSP, nibble mode,byte mode, EPP e ECP).Nella tabella 4.1 sono riportati i segnali presenti sul connettore della parallela con rife-rimento alla modalità SPP (i nomi dei segnali cambiano nelle modalità nibble mode, bytemode, EPP e ECP).

43 Unità 4 Le porte di comunicazione del PC

1 D0 I/O CONTROL 37Ah 27Ah

2 D0 OUT DATA

3 D1 OUT DATA

4 D2 OUT DATA

5 D2 OUT DATA 378h 278h

6 D4 OUT DATA

7 D5 OUT DATA

8 D6 OUT DATA

9 D7 OUT DATA

10 D6 IN STATUS 379h 279h

11 BUSY D7 IN STATUS 379h 279h

12 Paper End D5 IN STATUS 379h 279h

13 Select D4 IN STATUS 379h 279h

14 D1 I/O CONTROL 37Ah 27Ah

15 D3 IN STATUS 379h 279h

16 D2 I/O CONTROL 37Ah 27Ah

17 D3 I/O CONTROL 37Ah 27Ah

18-25 Ground GNDSelectIn

Inizialize

Error

AutoLinefeed

ACK

STROBE

Pin Segnale SSP Bit In Out RegistroIndirizzo

LPT1 LPT2

Due delle linee del registro di controllo, non riportate nella tabella 4.1, sono utilizzateper scopi particolari come indicato nella tabella 4.2.

TAB. 4.1

Nota: le linee con casella grigia sono invertite via hardware all’interno del PC. Quelle sopralineate sono atti-ve a livello basso. Si definisce indirizzo base per LPT1 378h e per LPT2 278h. Quindi per la LPT1 il registro distato si trova all’indirizzo base + 1 e quello di controllo all’indirizzo base + 2.

m01ud04.qxd 30-06-2004 11:11 Pagina 43

Page 30: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Nei PC è prevista la possibilità di implementare fino a quattro porte seriali denominatecomunemente COM1, COM2, COM3 e COM4. Ogni porta seriale nello spazio indirizza-bile di I/O occupa una serie di 8 indirizzi contigui e predeterminati. Questi otto indiriz-zi sono poi diversi per ognuna delle COMn installate.

– Alla COM1 sono riservati gli indirizzi 3F8h ÷ 3FFh (1016 ÷1023 in decimale) e la lineadi richiesta d’interrupt IRQ4 del BUS del PC;

– alla COM2 gli indirizzi 2F8H ÷ 2FFH (760 ÷ 767 in decimale) e la linea d’interruptIRQ3.

Le porte COM1 e COM2 sono accessibili all’esterno del computer attraverso connettoridel tipo D a vaschetta a 25 o a 9 poli maschio. I livelli dei segnali di uscita non sono TTLcompatibili ma seguono lo standard RS-232/C. Nel PC si ha normalmente per i segnalid’uscita una tensione +12 V per il livello basso e −12 V per quello alto (logica negativa). La velocità massima di trasferimento dati per una porta seriale (per i nuovi PC) è pari a115200 bit/s (bit al secondo). Nei vecchi sistemi si raggiungevano i 19200 bit/s.Ad una delle porte seriali viene collegato normalmente il modem utilizzato per il col-legamento del computer con la linea telefonica. Altre periferiche che vengono connes-se alle porte seriali sono il mouse, il plotter (strumento per riproduzione di disegni), latavoletta grafica.Nella tabella 4.3 sono riportati i segnali presenti sul connettore per le porte seriali.Questi segnali sono presenti su connettori a vaschetta tipo D che possono essere a 9 polio a 25 poli (maschi). Non c’è corrispondenza tra il numero di pin ed i segnali nei duecasi.

44 MODULO 1 I SISTEMI INFORMATICI

Indirizzo Bit Funzione

37Ah (LPT1) D5 D5 = H abilita funzionamento bidirezionale sulle linee dati.37Ah (LPT1) D4 D4 = H abilita interrupt. La richiesta si effettua attraverso la linea ACK.

4.1.2 Le porte seriali

Descrizione Sigla 25 poli 9 poli I/O

Si ricorda che i segnali presenti sulle porte seriali non sono TTL compatibili.Uno studio più approfondito per l’utilizzazione della porta seriale verrà fatto nel➜ Modulo 14.

TAB. 4.2

TAB. 4.3

,

Nota: l’abilitazione del funzionamento bidirezionale è valida solo per quei sistemi in cui è implementata talefunzione.

Terra di protezione Protective Ground FG 1

Dati trasmessi Trasmitted Data TD 2 3 OUT

Dati ricevuti Received Data RD 3 2 IN

Richiesta a trasmettere Request To Send RTS 4 7 OUT

Pronto a trasmettere Clear To Send CTS 5 8 IN

Modem pronto Data Set Ready DSR 6 6 IN

Massa dei segnali Signal Ground SG 7 5

Rilevazione portante dei dati Data Carrier Detect DCD 8 1 IN

Terminale dati pronto Data Terminal Ready DTR 20 4 OUT

Indicatore di chiamata Ring Indicator RI 22 9 IN

m01ud04.qxd 30-06-2004 11:11 Pagina 44

Page 31: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

La porta USB (Universal Serial Bus) è una porta di tiposeriale collegata alla periferica con un cavo a quattropoli. Due dei conduttori del cavo portano fuori del com-puter una tensione di alimentazione (+5 V) mentre altridue servono per il trasferimento dati e lavorano in mododifferenziale. Nella figura 4.1 è rappresentato schemati-camente un connettore USB. Normalmente sul PC sono implementati due o più connet-tori ai quali possono essere connesse altrettante periferichedi tipo USB. Utilizzando i connettori del PC è possibile for-nire anche l’alimentazione alle periferiche connesse.

In questa modalità esiste un protocollo di comunicazione per lo scambio dei dati. Letemporizzazioni sono riportate in figura 4.2:

1. Il PC legge la linea BUSY per vedere se la stampante è pronta (BUSY a livello basso).2. Il PC pone il dato sulle linee D0-D7 e abbassa la linea

.3. Il PC rialza la linea . Normalmente la stam-

pante legge il dato con il fronte di salita di questosegnale.

4. La stampante riabbassa la linea BUSY e segnala conun impulso su l’accoglimento del dato.

La velocità del trasferimento dati nella modalità SPP ècompresa tra i 50 e 100 Kbyte/s.

In questa modalità sono utilizzate quattro delle cinque linee di stato per inviare al PCun semi-byte per volta.Le linee utilizzate per il trasferimento dati in questa modalità sono indicate nella tabel-la 4.4.

ACK

STROBESTROBE

45 Unità 4 Le porte di comunicazione del PC

3

1 GND2 DATI ( + )3 DATI ( - )4 + 5 V

2

1

4

Fig. 4.1

4.2 Approfondimento sulle funzioni della porta parallela

4.2.1 Modalità Standard (SPP)

STROBE

DATO

BUSY

ACK

PC STAMPANTE→

PC STAMPANTE

STAMPANTE PC

STAMPANTE PC

Fig. 4.2

4.2.2 Modalità Nibble

AutoLinefeed HostBusy CONTROL D1

SelectIn 1284Active CONTROL D3

ACK PtrClk STATUS D6

BUSY STATUS D7 Trasferisce bit D7 o D3

Paper End STATUS D5 Trasferisce bit D6 o D2

Select STATUS D4 Trasferisce bit D5 o D1

Error STATUS D3 Trasferisce bit D4 o D0

SegnaleRegistro

SPP NIBBLEBit Funzione

Nota: le linee con casella scura sono invertite via hardware.

TAB. 4.4

4.1.3 La porta USB

m01ud04.qxd 30-06-2004 11:11 Pagina 45

Page 32: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

Le altre linee del registro control non sonousate. Nella figura 4.3 sono rappresentate letemporizzazioni per la lettura di un byte.Le operazioni che vengono compiute per l’ac-quisizione di un byte sono:

1. Il PC segnala la disponibilità ad accettareil dato ponendo bassa la linea HostBusy( ).

2. La periferica pone il byte basso sulle linee distato.

3. La periferica comunica che sulle linee c’è un dato valido ponendo basso PtrClk ( ).4. Il PC segnala che ha ricevuto il dato ponendo alta la linea HostBusy.5. La periferica riporta alta la linea PtrClk.6. Si ripetono di nuovo le temporizzazioni per il nuovo semi-byte.

La velocità di trasferimento dati nella modalità Nibble non supera i 50 Kbyte/s.

Per i PC che sono dotati dell’hardware adatto è possibile effettuare uno scambio di datibidirezionale con le otto linee dati.I segnali della porta usati in byte mode sono descritti nella tabella 4.5.

ACK

AutoLinefeed

46 MODULO 1 I SISTEMI INFORMATICI

D0 - D3

HostBusy

PtrClk

Dato

� �

→PC Perif.

Perif. PC

Perif. PCD4 - D7

Fig. 4.3

4.2.3 Byte Mode

TAB. 4.5

STROBE HostClk CONTROL D0 Indica che il byte è stato ricevuto

AutoLinefeed HostBusy CONTROL D1 Indica che il PC è pronto per ricevere il byte

SelectIn 1284Active CONTROL D3 Alto quando il PC è in modalità 1284

Inizialize CONTROL D2 Non usata

ACK PtrClk STATUS D6 Alto indica dato valido sulle linee dati

BUSY PtrBusy STATUS D7 Segnala lo stato di occupato sul canale diretto

Paper End AckDataReq STATUS D5 Segue DataAvail

Select STATUS D4 Non usata

Error DataAvail STATUS D3 Basso indica che è disponibile un dato per PC

SegnaleRegistro

SPP BYTE MODEBit Funzione

Il protocollo tra PC e periferica è riportato nella figura 4.4. Le azioni svolte per lo scambio di un dato in modo inverso sono:

1. il PC pone bassa la linea HostBusy per indicare che èpronto a ricevere un dato;

2. la periferica pone il dato sulle linee dati;3. la periferica pone PtrClk basso per indicare che sulle

linee c’è un dato valido;4. il PC pone alto HostBusy per indicare che ha accetta-

to il dato e non è pronto per riceverne un altro;5. la periferica riporta alto PtrClk;6. il PC invia un impulso basso con HostClk come rico-

noscimento per la periferica.

D0 - D7

HostBusy

PtrClk

Dato

HostClk

→PC Perif.

Perif. PC

Perif. PC

PC Perif.

Fig. 4.4

Nota: le linee con casella scura sono invertite via hardware.

m01ud04.qxd 30-06-2004 11:11 Pagina 46

Page 33: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Nelle modalità EPP e ECP si ha un notevole incremento della velocità di trasferimentodati in quanto il colloquio tra PC e periferica avviene a livello hardware e non permezzo di un protocollo software. L’invio di un byte dal PC alla periferica avviene conuna semplice istruzione di output, mentre il trasferimento del byte dalla periferica alPC con un’istruzione di input. Occorre però hardware aggiuntivo per operare in questamodalità.Nella modalità EPP il protocollo di comunicazione prevede quattro tipi di trasferimentodati:

1. ciclo di scrittura dati;2. ciclo di lettura dati;3. ciclo di scrittura di un indirizzo;4. ciclo di lettura di un indirizzo.

I cicli di lettura e scrittura dati sono utilizzati per lo scambio di dati tra PC e periferica,mentre i cicli lettura e scrittura d’indirizzi servono per scambiare informazioni di con-trollo, selezione di dispositivi diversi connessi sulla stessa porta o invio di comandi.I segnali utilizzati nella modalità EPP sono descritti nella tabella 4.6.

47 Unità 4 Le porte di comunicazione del PC

4.2.4 Modalità EPP e ECP

STROBE Write D0 OUT CONTROL

AutoLinefeed DataStrobe D1 OUT CONTROL

SelectIn AddrStrobe D3 OUT CONTROL

Inizialize Reset D2 OUT CONTROL

ACK Intr D6 IN STATUS

BUSY Wait D7 IN STATUS

Paper End Non definito D5 IN STATUS

Select Non definito D4 IN STATUS

Error Non definito D3 IN STATUS

SegnaleBit

SPP EPPIn Out Registro

Nella modalità EPP si può raggiungere una velocità di trasferimento dati compresa tra500 Kbyte/s e 2 Mbyte/s. Quando il PC lavora in modalità EPP ai registri presenti nella modalità SPP ne sonoaggiunti degli altri come riportato nella tabella 4.7.

IndirizziRegistri

LPT2LPT1

DATI (SPP) BASE + 0 378h 278h

STATO (SPP) BASE + 1 379h 279h

CONTROLLO (SPP) BASE + 2 37Ah 27Ah

INDIRIZZI (EPP) BASE + 3 37Bh 27Bh

DATI (EPP) BASE + 4 37Ch 27Ch

TAB. 4.6

TAB. 4.7

Nota: le linee con casella scura sono invertite via hardware.

m01ud04.qxd 30-06-2004 11:11 Pagina 47

Page 34: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

Per eseguire un ciclo di scrittura dati su periferica si deve effettuare semplicementeun’istruzione di out su periferica scrivendo il dato che deve essere posto in uscita sulregistro con indirizzo BASE+4 (37Ch). Per leggere invece un dato dalla periferica deveessere effettuata un’istruzione di input da periferica con indirizzo BASE+4 (37Ch).Quindi effettuando un out o un input su periferica si attiva automaticamente un ciclodi scrittura o lettura di tipo EPP.Le stesse operazioni possono effettuarsi per inviare o ricevere indirizzi. In questo casodeve essere usato però l’indirizzo BASE+3 (37Bh).

Protocollo ciclo di scrittura datiUn ciclo di scrittura dati dura esattamente come un ciclo del BUS del PC per la scritturadati su periferica. Le fasi del protocollo sono le seguenti:

1. il programma scrive il dato nel registro BASE+4;2. il PC pone bassa la linea Write per indicare che è in corso un’operazione di scrittura

su periferica;3. il dato è posto sulle linee dati;4. il PC controlla la linea Wait, se bassa pone basso Data Strobe;5. la periferica pone alta la linea Wait per segnalare al PC l’accoglimento del dato (fine

del ciclo);6. il PC rialza la linea Data Strobe.

Protocollo ciclo di lettura datiUn ciclo di lettura dati dura esattamente come un ciclo del BUS del PC per la lettura diun dato da una periferica. Le fasi del protocollo sono le seguenti:

1. il programma esegue un’istruzione di input da periferica per leggere il registroBASE+4;

2. il PC pone alta la linea Write per indicare che è in corso un’operazione di lettura daperiferica;

3. il PC controlla la linea Wait e se bassa pone basso Data Strobe;4. la periferica pone il dato sulle linee D0-D7 e pone alta la linea Wait per segnalare al

PC la disponibilità del dato;5. il dato è letto dalle linee D0-D7;6. il PC rialza la linea Data Strobe ed il ciclo di lettura è terminato.

Nella figura 4.5 sono riportati i cicli di scrittura e lettura dati.Come è possibile osservare da quanto esposto precedentemente, la gestione delle lineeper il controllo del trasferimento dati è affidata ad hardware aggiuntivo sia a livello diPC sia a livello di periferica.

48 MODULO 1 I SISTEMI INFORMATICI

D0 - D7

Dato�

Data Strobe

Write

Wait�

PC Perif.

Perif. PC

PC Perif.

PC Perif.→

D0 - D7Dato

Data Strobe

Write

Wait

PC Perif.

PC Perif.→

Perif. PC→

Perif. PC→

� �

Fig. 4.5

m01ud04.qxd 30-06-2004 11:11 Pagina 48

Page 35: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

PREREQUISITI

� Possedere le informazioni di base sull’hardwa-re di un elaboratore

�Avere la conoscenza di base della numerazionebinaria ed esadecimale

� Sapere adoperare in modo corretto la tastiera,il mouse e le unità di memorizzazione di massa

� Le nozioni su Windows XP, illustrate nell’unità2, presuppongono una conoscenza preliminaredei sistemi operativi precedenti con InterfacciaGrafica (Windows 95/98) o le nozioni di base diWindows XP stesso

OBIETTIVI

�Acquisire le informazioni di base sui file systeme sulle partizioni del disco rigido

� Conoscere i concetti fondamentali relativiall’architettura software di un elaboratore edin particolare quelli inerenti le funzioni svoltedal BIOS, dal Sistema Operativo e dal softwareapplicativo

� Conoscere gli aspetti più significativi di un si-stema operativo con interfaccia grafica e saper-lo utilizzare opportunamente

2. Il software del PC

� UNITÀ 1. Architettura software di un elaboratore� UNITÀ 2. I sistemi operativi

Mo

du

lo

apertuta_m02.qxd 30-06-2004 11:12 Pagina 49

Page 36: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

50 MODULO 2 IL SOFTWARE DEL PC

1. Architettura software di unelaboratore

un

ità

Un elaboratore, essendo un sistema programmabile, per poter funzionare ha bisognodel software, ovvero di programmi che ne permettano prima l’avvio all’atto dell’accen-sione (BIOS), e che poi, siano in grado di utilizzare la macchina, in modo appropriato,per ottenere le volute elaborazioni. Si può fare una prima classificazione del softwaredividendolo in software di sistema e software applicativo.

• Il software di sistema che ha il compito di effettuare il collegamento tra i programmiapplicativi e l’hardware del computer, può essere suddiviso in:1. ROM BIOS memorizzato su una memoria non volatile (EEPROM) inserita sulla pia-

stra madre;2. Sistema Operativo vero e proprio presente invece su un disco (in genere il disco

fisso C: o, a volte, altro supporto). Nel momento della messa in funzione del computer, il ROM BIOS provvede a tutte lefunzioni necessarie per un corretto avvio del sistema e poi al caricamento del sistemaoperativo dal disco. Il sistema operativo poi presiede a tutte le fondamentali opera-zioni che riguardano il trattamento dei file su disco, la gestione del video, della tastie-ra, della stampante e delle altre periferiche presenti nel sistema.

• Il software applicativo è costituito invece dai linguaggi di programmazione e da parti-colari programmi applicativi come per esempio gli editori di testo o i fogli elettronici oi data base o altri tipi di programmi necessari per svolgere particolari elaborazioni.Il software applicativo è quindi costituito dai programmi utilizzati sia per la pro-grammazione di base (linguaggi di programmazione), che per lo svolgimento di par-ticolari compiti di diversa natura. Esempi di software applicativo, oltre ai linguaggi di programmazione, sono i vari pro-grammi noti col nome di Word processor che permettono di scrivere, correggere earchiviare testi, i data base specifici per la creazione e gestione di archivi, i fogli elet-tronici che permettono di manipolare tabelle di dati per ottenere grafici di varia natu-ra, risolvere equazioni e svolgere altre funzioni statistiche e matematiche, program-mi di grafica adoperati per il disegno tecnico o per il fotoritocco, editori di testi mul-timediali per creare testi che possono richiamare immagini, filmati, suoni e che han-no una struttura per la lettura non sequenziale.Esempi di linguaggi di programmazione sono: BASIC, PASCAL, C, C++, VISUAL BASIC,C#, VISUAL C++, DELPHI, JAVA, C++ BUILDER ed altri.

I moderni dischi rigidi in cui sono memorizzati sia il sistema operativo che i vari tipi diprogrammi e i dati, hanno ormai raggiunto capacità di memorizzazione molto elevate epertanto spesso è necessario procedere alla loro suddivisione in unità con capacità dimemorizzazione più piccole, dette partizioni.I tipi di partizioni possibili sono:

• Partizione primaria. Su un disco non possono essere create più di quattro partizioniprimarie. Ogni partizione primaria può eventualmente essere formattata in mododiverso dalle altre per contenere un determinato sistema operativo. Su un disco, seesistono più partizioni primarie, ne può essere attiva una sola per volta; il sistema

1.1 Le partizioni del disco rigido

m02ud01.qxd 30-06-2004 11:13 Pagina 50

Page 37: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

operativo presente sulla partizione attiva è quello che viene avviato. Le altre parti-zioni possono essere nascoste (ovvero rese non visibili dal sistema operativo avviato)e pertanto i dati presenti su di esse non sono accessibili. È possibile anche renderevisibili le altre partizioni, fermo restando il fatto che una sola deve essere quella atti-va, in modo da rendere accessibili i dati presenti su di esse.

• Partizione estesa. Una delle quattro partizioni primarie può divenire partizione este-sa suddividendola in partizioni logiche (senza limite di numero).

• Partizione logica. Le partizioni logiche sono le suddivisioni di una partizione estesa.Le partizioni logiche sono visibili tutte contemporaneamente.

Alcuni sistemi operativi (come MS-DOS, WINDOWS 95/98) possono essere avviati sola-mente da una partizione primaria (attiva) presente sul primo disco rigido. La creazione e manutenzione delle partizioni può essere eseguita (in modo limitato) conil comando FDISK del DOS o con programmi specifici (per esempio Partition Magic oRanish Partition Manager). Dopo la creazione di una partizione questa deve essere formattata in modo logico inbase al file system relativo al sistema operativo che dovrà essere installato in essa. Il siste-ma operativo Windows 2000 permette di effettuare con proprie utilità, la formattazio-ne delle partizioni presenti sul disco. Anche il sistema operativo LINUX ha una sua utilitydi formattazione. Si ricordi che la formattazione di una partizione distrugge tutti i dati e i programmi inessa memorizzati.

Il file system rappresenta la modalità con cui un sistema operativo organizza i file suldisco rigido. Il file system tiene conto dei nomi delle directory e dei nomi dei file, dellaallocazione dei file nei diversi cluster (per la definizione di cluster ➜ Modulo 1, unità 2,§ 2.6.3 Hard disk), e dello spazio occupato sul disco.Alcuni dei principali file system sono:

• FAT (File Allocation Table). È il file system proprio del DOS e di Windows 3.x e puòessere utilizzato anche da Windows 95/98. Usa tabelle di allocazione file (FAT) a 16 bit.I file vengono memorizzati in cluster che costituiscono un raggruppamento di setto-ri. La dimensione dei cluster è legata alle dimensioni del disco (o della partizione).

• FAT32 (FAT a 32 bit). È il file system di Windows 95/98/ME. Usa tabelle di allocazionefile (FAT) a 32 bit.

• NTFS (New Tecnology File System). È il file system proprio di Windows NT e diWindows 2000 e di Windows XP. Tiene traccia della allocazione dei file usando unaMTF (Master Table File). I file sono memorizzati nei cluster che però hanno unadimensione indipendente dalle dimensioni del disco e possono essere grandi anchecome un solo settore (512 byte).

51 Unità 1 Architettura software di un elaboratore

1.1.1 Il file system

WINME 8 GbyteFAT32 PRIMARIA

WINXP 5 GbyteNTFS PRIMARIA

LINUX 3 GbyteEXT2 PRIMARIA

DATI 3 GbyteFAT32 ESTESA

D: 2 GbyteFAT32 LOGICAE: 1 GbyteFAT32 LOGICA

MASTER BOOT RECORD

SPAZIO NONUTILIZZATO

Fig. 1.1

m02ud01.qxd 30-06-2004 11:13 Pagina 51

Page 38: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

• LINUX EXT2. È il file system di LINUX.• HPFS (High Performance File System). È il file system utilizzato da OS/2.

Nella figura 1.1 è rappresentato schematicamente un disco partizionato con più sistemioperativi.

Il BIOS (Basic Input Output System), come si è precedentemente detto, è un programmamemorizzato in una ROM (nei moderni sistemi in una memoria riscrivibile per poter esse-re aggiornato senza cambiare il chip di memoria, in tal caso è detto FLASH BIOS), serveper la gestione a più basso livello dei dispositivi di ingresso e d’uscita del sistema. Le funzioni fondamentali del BIOS che sono eseguite nella prima fase di avvio di un com-puter sono le seguenti:

• test dei componenti hardware fondamentali del sistema;• caricamento in memoria RAM del sistema operativo prelevato dal disco.

Il BIOS acquisisce le informazioni di base relative alla configurazione hardware del siste-ma (tipi e numero di floppy installati, tipo di disco rigido, disco da cui caricare il sistemaoperativo, data ed ora ed altro) da una piccola memoria RAM di tipo CMOS che man-tiene le informazioni rimanendo sempre alimentata, anche a computer spento, per mez-zo di una batteria in tampone.L’azione svolta dal BIOS inizia nella prima fase di messa in servizio del PC. Quando essoviene acceso (power-up), la CPU legge il contenuto della ROM (o della EEPROM), a par-tire da una locazione ben precisa (locazione di reset), eseguendo le istruzioni contenu-te in essa e nelle successive locazioni.Le prime operazioni eseguite sono relative ad un test di funzionalità della memoria, del-le periferiche di base e di particolari circuiti del calcolatore; questo test è denominatoPOST (Power On Self Test). Se vengono riscontrate anomalie di funzionamento sonoemessi sul video messaggi di errore o, a seconda della circostanza, attivati dei suoni(beep). Se la procedura di self-test viene superata senza rilevamento di errori, il BIOS ini-zia la fase di bootstrap, ovvero di lettura e caricamento dal disco del sistema operativo,nella RAM.

In genere prima di attivare per la prima volta un computer è fondamentale eseguire ilprogramma di setup del BIOS in modo da fissare i parametri fondamentali che regolanoil funzionamento della macchina memorizzandoli nella memoria CMOS.È possibile accedere al programma di setup del BIOS premendo un apposito tasto indi-cato in un messaggio visualizzato sul video durante la fase di POST (in genere il tastoCANC o la barra spaziatrice). Debbono essere eseguite con attenzione le regolazioni secondo quanto esposto nelmanuale di sistema (è sempre possibile comunque effettuare un caricamento di defaultdei parametri del BIOS).Essendo presenti sul mercato diversi tipi di programmi di setup e subendo essi continueevoluzioni, vengono esposte sinteticamente solo alcune delle specifiche che vengonoimpostate con tale programma chiarendone il significato.Quanto segue fa riferimento ad una piastra madre con slot di espansione di tipo PCI/ISA.Si tenga presente che i parametri impostati vengono memorizzati in una memoria ditipo CMOS tenuta attiva, anche con il computer spento, per mezzo di una piccola bat-teria al litio (o a volte al Ni-Cd ricaricabile). Tra le altre cose sono memorizzate in talememoria anche l’orario e la data attuale.Normalmente si identificano nel programma di setup le seguenti parti:

• Setup di tipo standard: serve per selezionare i parametri relativi alle unità a disco,quali sono le unità a disco attive, il tipo di disco (o dischi) rigido presente ed impostarela data e l’orario corrente.

52 MODULO 2 IL SOFTWARE DEL PC

1.2.1 Il BIOS SETUP

1.2 Il ROM-BIOS

m02ud01.qxd 30-06-2004 11:13 Pagina 52

Page 39: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

• Setup delle caratteristiche del BIOS: serve per abilitare o meno la cache di primo livel-lo (interna al processore) e quella di secondo livello (esterna); per l’impostazione del-la sequenza con cui viene effettuato l’avvio del sistema (disco A poi C, C e poi A, soloC, ecc.) (Boot Sequence); per scambiare la sequenza di avvio tra A: e B: (Swap FloppyDrive); per l’abilitazione del tasto BLOC-NUM (Boot Up Num Loch Status).

• Setup delle caratteristiche del chipset1: permette di impostare diversi parametri rela-tivi alle temporizzazioni delle DRAM.

• Setup per la configurazione PNP/PCI: il PNP (Plug and Play) è una caratteristica possedutada alcuni recenti sistemi che operano con Windows 95 che permette il riconoscimento auto-matico dei dispositivi hardware presenti nel computer. È chiaro che i dispositivi per essereindividuati debbono essere essi stessi del tipo PNP. Con questa opzione del setup si asse-gnano in particolare i vari livelli di interrupt e i canali di DMA alle periferiche.

• Setup delle periferiche integrate: permette di selezionare alcune delle caratteristichee alcuni indirizzi delle periferiche integrate sulla piastra come la porta parallela del-la stampante, le porte seriali, il controllore dei dischi, la USB (Universal Serial Bus). Inparticolare per la porta parallela possono essere scelti vari modi di funzionamento,che come noto sono denominati: SPP (Standard Printer Port), EPP (Enhanced ParallelPort); ECP (Extended Capabilities Port).

Eseguito il POST, il BIOS si predispone al caricamento del sistema operativo. Il disco da cuideve avvenire il caricamento è indicato nella CMOS con la Boot Sequence (nei nuovi PCpuò essere anche un drive per i CD-ROM, il floppy A: o un disco removibile).Nella fase di bootstrap la CPU, seguendo il programma del BIOS, legge un particolaresettore denominato Master Boot Record (MBR) che contiene informazioni sulle parti-zioni del disco ed un piccolo programma (Master Boot Program). Il BIOS cede quindi il controllo al Master Boot Program che controlla se sul disco sonopresenti partizioni primarie avviabili (cioè contenenti un sistema operativo) e nel casoce ne sia più di una quale di esse sia attiva. Ogni partizione primaria avviabile ha un proprio settore di avviamento (bootstrap sec-tor) che contiene un piccolo programma, specifico per il sistema operativo contenutonella partizione. Quindi il controllo viene ceduto al programma di caricamento (loader) della partizioneavviabile attiva che procede al caricamento del sistema operativo in memoria. Dopo diche il controllo viene ceduto al sistema operativo stesso.

Come precedentemente detto, per ottenere una gestione migliore delle risorse hard-ware del computer (ovvero la parte elettronica comprendente anche la memoria cen-trale e quella di massa), sono usati i sistemi operativi, ovvero un insieme di programmi,normalmente scritti in linguaggio macchina, e più recentemente in linguaggio “C” o“C++”. I sistemi operativi quindi permettono ai programmatori un più facile accesso alle risorsehardware della macchina, con particolare riferimento alle unità di ingresso e di uscitadati, e alla gestione dei dispositivi di memorizzazione di massa (dischi magnetici, otticio magneto-ottici). I primi PC, con processori della famiglia 8088/86, furono dotati del sistema operativodenominato MS-DOS (MicroSoft Disk Operating System). Sono disponibili per i PC anchealtri sistemi operativi tra cui si citano le varie implementazioni di UNIX e un sistema ope-rativo simile a UNIX, denominato LINUX. La struttura iniziale di LINUX fu realizzata nel 1991 da Linus Torvalds e distribuita gra-tuitamente su INTERNET perché venisse ampliata da altri programmatori.

53 Unità 1 Architettura software di un elaboratore

1.2.2 Il bootstrap da disco rigido (C:)

1 Per la definizione di chipset ➜ Modulo 1, unità 1 § 1.3.

1.3 I sistemi operativi

m02ud01.qxd 30-06-2004 11:13 Pagina 53

Page 40: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

54 MODULO 2 IL SOFTWARE DEL PC

1.3.1 Struttura del sistema operativo MS-DOS

1.3.2 Struttura del sistema operativo WINDOWS 98

Attualmente esistono diverse distribuzioni di LINUX realizzate da diverse software-hou-se; tra le più note si citano Mandrake Linux, Caldera Open Linux, Red Hat, SuSE Linux,Debian Gnu/Linux. Intorno al 1985 la Microsoft ha introdotto un ambiente grafico che opera sotto MS-DOSdenominato Windows 1.0. Nel 1990 ne ha rilasciato poi la versione 3.0, ed infine nel 1992l’ultima versione 3.11. L’ambiente grafico di Windows 3.x, pur lavorando ancora sotto ilsistema operativo MS-DOS, permette di eseguire numerose funzioni servendosi di parti-colari piccole immagini, presenti sul video, denominate icone.Nel 1995 la Microsoft ha immesso sul mercato il sistema operativo che utilizza unambiente grafico, denominato Windows 95. Esso, a differenza delle precedenti versionidi Windows, opera senza la presenza dell’MS-DOS. Nel 1998 è stato poi presentatoWindows 98 e dopo qualche tempo Windows ME. L’ultima versione è stata messa in com-mercio alla fine del 2002, ed è denominata Windows XP. Il sistema operativo Windows XP è presente sul mercato nella versione Home, destinataprevalentemente ai PC che operano nell’ambiente domestico, ed una versioneProfessional per l’ambito aziendale.

Nel caso del sistema operativo MS-DOS esso è presente sul disco ed è memorizzato intre file distinti; il primo è chiamato command.com e costituisce il così detto interprete deicomandi; gli altri, che sono due file nascosti, assumono nomi diversi a seconda delleimplementazioni del DOS. Durante la fase di bootstrap vengono quindi caricati in memo-ria i due file nascosti IBMBIO.SYS e IBMDOS.SYS ed eseguito, se presente, il file config.sys.Subito dopo è caricato in memoria il file COMMAND.COM ed infine viene ricercato edeseguito (sempre se presente) il file autoexec.bat. Al termine del caricamento, vienevisualizzato sul video il prompt di sistema, rappresentato, nel caso più semplice, dallalettera C: (se il bootstrap è stato eseguito da C:) o A: (se il bootstrap è avvenuto da A:)seguite dal segno di maggiore (C:> o A:>) ed il controllo passa al programma com-mand.com, che rimane in attesa che venga digitato un comando da tastiera. Il file com-mand.com è denominato interprete dei comandi, in quanto analizza i comandi digitatida tastiera e passa, se validi, alla loro esecuzione.Come già esposto nel ➜ Modulo 1 i programmi che lavorano sotto il sistema operativoMS-DOS possono utilizzare solamente i primi 640 kByte di RAM (dall’indirizzo fisico00000h a 9FFFFh) ovvero la così detta memoria convenzionale. Il ROM BIOS risiede inve-ce in una memoria a sola lettura negli ultimi 128 kByte, nell’area d’indirizzamento tota-le di 1 Mbyte (dall’indirizzo fisico D0000h a FFFFFh).

Il sistema operativo Windows 98 (l’ultima versione è denominata Windows ME) è defi-nito un sistema a 32 bit (Windows 3.1 è a 16 bit), in quanto usa un’organizzazione deidati e del codice a 32 bit; tuttavia per compatibilità con i precedenti sistemi può utiliz-zare anche codice a 16 bit.Il passaggio dei sistemi operativi da 16 a 32 bit è legato strettamente alle funzioni dellaCPU montata sui computer su cui tali sistemi operativi debbono lavorare.

• La prima CPU 8088 che lavorava con il DOS aveva un bus dati esterno ad 8 bit edinterno a 16 bit e i registri interni a 16 bit. I registri della CPU sono memorie interneche il processore utilizza per svolgere le elaborazioni dei dati provenienti dalla memo-ria. Ricordando che attraverso il bus dati nel processore confluiscono sia i codici del-le istruzioni che i dati, la CPU 8088 acquisisce dalla memoria un byte alla volta chepoi internamente compone formando una word (2 byte = 16 bit).

• Con la CPU 80286 vengono introdotte due nuove funzioni fondamentali: la possibili-tà di gestire l’esecuzione di più applicazioni contemporaneamente (multitasking) ela funzione di macchina a memoria virtuale ovvero un sistema in grado di gestire (vir-tualmente) un quantitativo di memoria molto più grande di quella indirizzabile fisi-camente (1 Gbyte di memoria virtuale contro i 16 Mbyte fisici).

m02ud01.qxd 30-06-2004 11:13 Pagina 54

Page 41: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

• Con la CPU 80386 (versione DX) si ha un bus dati e i registri interni a 32 bit. Anche lelinee d’indirizzo dell’80386 diventano 32 e quindi l’area di memoria indirizzabile vadall’indirizzo 00000000h all’indirizzo FFFFFFFFh ed è uguale a 4 Gbyte (232 =4.295.000.000 = 4 Gbyte).Quindi a partire dalla CPU 80386 si possono avere sistemi operativi a 32 bit di tipomultitasking.

Il sistema operativo Windows 98 è quindi un sistema multitasking, in quanto può lavo-rare con più applicazioni contemporaneamente, a 32 bit.

Pur conservando molte delle caratteristiche dei precedenti sistemi, Windows XP ha subi-to una profonda trasformazione nella sua architettura interna che lo ha reso certa-mente più stabile introducendo anche un certo controllo sulle intrusioni indesideratenei collegamenti con INTERNET. Le due versioni (Home e Professional) sono basate sul-lo stesso nucleo centrale (kernel). È possibile installare Windows XP utilizzando lo stes-so file system delle precedenti versioni (FAT 32) oppure il file system di Windows 2000(NTFS). Solo scegliendo l’NTFS è possibile utilizzare una robusta protezione dei file chene impedisce l’accesso, senza opportuna autorizzazione, e la loro cancellazione nonvoluta.

Nelle prime macchine i programmi dovevano necessariamente essere scritti utilizzandoparticolari codici facilmente interpretabili dalla macchina (linguaggio macchina), ma allaportata di soli tecnici specializzati. I codici del linguaggio macchina direttamente interpretabili dalla CPU debbono essereespressi sotto forma di numeri binari. Questi codici in binario vengono introdotti nel microprocessore attraverso le linee delbus dati. Combinando in modo diverso i singoli bit, si ottiene un insieme di codici diver-si, ognuno dei quali può rappresentare un’istruzione del microprocessore. È evidente che solo aumentando il numero di linee del bus dati si può aumentare ilnumero di codici ottenibili. Con 8 bit si possono avere, per esempio, 256 codici diversi (28 = 256), con 16 bit 65536codici (216 = 65536). Per questo nei primi processori, essendo il numero delle linee del bus dati limitato adotto (anzi nei primissimi processori tali linee erano solo quattro), per ottenere un nume-ro più elevato di codici disponibili si formavano alcuni codici utilizzando due o più byte(1 byte = 8 bit). È per tale motivo che nei nuovi processori in cui il set di istruzioni è compatibile con ivecchi processori, pur essendo aumentato il numero di linee del bus dati, i codici del setdi istruzioni di base sono formati da uno o più byte. È quello che succede nella famiglia di processori utilizzati sui PC che discendono dallavecchia CPU 8088 che aveva un bus dati formato da solo 8 linee. È da tenere tuttavia presente che nei nuovi processori della famiglia 8088/86 il set diistruzioni di base è stato ampliato. Per esempio un PENTIUM o un K6 sono in grado diriconoscere tutto il set d’istruzioni della CPU 8088, ma nel loro set di istruzioni ne sonopresenti altre non implementate nel processore 8088.Nello sviluppo dei vari tipi di processori sono andate confermandosi due modalità diver-se di implementare in essi il set di istruzioni di base. I microprocessori che riconoscono unridotto numero di codici di base e che per eseguire funzioni più complesse utilizzanosolo tali codici, sono detti RISC (Reduced Instruction Set Computing). I processori in grado invece di lavorare con un esteso numero di codici di base sono det-ti CISC (Complex Instruction Set Computing). I processori della famiglia 8088 sono di que-sto secondo tipo (➜ Modulo 1, unità 1, § 1.4).

55 Unità 1 Architettura software di un elaboratore

1.3.3 Struttura del sistema operativo WINDOWS XP

1.4 Linguaggi a basso ed alto livello

m02ud01.qxd 30-06-2004 11:13 Pagina 55

Page 42: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

I codici macchina del set d’istruzioni scritti in binario sono per i programmatori di diffi-cile utilizzazione. Un primo passo per semplificare il compito di programmazione è sta-to fatto utilizzando al posto di codici binari, codici scritti in esadecimale. I codici scritti in esadecimale non sono però direttamente interpretabili dal micropro-cessore. Già questo piccolo passo di semplificazione per la scrittura di un programmacomporta la presenza di un qualche metodo che provveda a tradurre i codici esadeci-mali in codici binari. La traslazione potrebbe essere effettuata via software usando un apposito programmain grado di effettuare direttamente la traslazione esadecimale-binario o per mezzo dihardware utilizzando appositi circuiti.Si tenga comunque presente che un processore preleva sempre i codici in binario delprogramma da svolgere dalla memoria ad esso collegata. È per questo che ogni pro-gramma da eseguire, comunque codificato, deve sempre essere prima posto in memoriain formato binario.Per poter semplificare ulteriormente il compito dei programmatori sono stati sviluppati dei lin-guaggi che associano ai codici esadecimali, di difficile memorizzazione da parte del program-matore, dei mnemonici ovvero delle sigle abbreviate che indicano un’azione da svolgere.I linguaggi che utilizzano questi mnemonici sono detti linguaggi assembly. Questi linguaggi pur avendo caratteristiche simili e pur utilizzando a volte mnemoniciuguali sono in genere diversi per i vari tipi di processori.I linguaggi assembly sono linguaggi di basso livello in quanto associano ad ogni loro sin-gola istruzione una sola istruzione corrispondente scritta in linguaggio macchina. Ovveroesiste un rapporto uno ad uno tra un’istruzione in assembly ed un’istruzione in codicemacchina.Le istruzioni scritte in linguaggio assembly non sono direttamente interpretabili dal proces-sore, occorre quindi effettuare una traslazione del programma in istruzioni eseguibili in codi-ce macchina. La traslazione viene operata con particolari programmi detti assemblatori.Anche i linguaggi assembly sono di difficile utilizzazione perché richiedono una pro-fonda conoscenza delle risorse del processore.Per permettere una più semplice possibilità di utilizzazione degli elaboratori sono statisviluppati i linguaggi ad alto livello, più facilmente utilizzabili dai programmatori, anchesenza una profonda conoscenza dell’hardware del sistema; per utilizzare questi lin-guaggi sono però necessari particolari programmi, detti compilatori, per effettuare latraslazione dei linguaggi ad alto livello nel linguaggio macchina relativo all’elaborato-re utilizzato.

56 MODULO 2 IL SOFTWARE DEL PC

m02ud01.qxd 30-06-2004 11:13 Pagina 56

Page 43: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

57 Unità 2 I sistemi operativi

Verranno prese in considerazione di seguito le caratteristiche di base dei sistemi opera-tivi:

– MS-DOS (cenni);– Windows 95/98;– Windows XP.

Il § 2.1 è dedicato a MS-DOS e contiene nozioni di carattere generale che è bene cono-scere. Il sistema operativo WINDOWS XP, pur con una veste grafica del tutto rinnovata, con-serva molte delle funzioni presenti nei precedenti sistemi, offrendo al tempo stessomolte nuove particolarità. Si tenga ben presente che Windows XP esercita un controllo rigoroso sull’accesso alleperiferiche di sistema e, per questo, i programmi di gestione delle schede e delle inter-facce presentate in questo volume non funzionano correttamente con questo sistemaoperativo. Pertanto quando si deve operare con programmi scritti con linguaggi a basso livello(assembly) o in QBASIC (o altri linguaggi ad alto livello), si deve avviare il sistema conun dischetto in MS-DOS o utilizzare una finestra MS-DOS di Windows 98. In particolare, con Windows XP, non è possibile utilizzare l’accesso alla porta parallelacon i programmi scritti in Visual Basic presenti nei ➜ Moduli 9 e 15. Si consiglia pertan-to di installare sul disco un doppio sistema operativo (Windows 98 e Windows XP) usan-do due partizioni distinte (vedere nozioni sulle partizioni del disco nel ➜ Modulo 2,unità 1, § 1.1). Si fa presente che su INTERNET sono reperibili driver speciali (in genere freeware) daricercare in www.driverlinx.com o il driver userport presente in diversi siti (effettuareuna ricerca) che permettono di utilizzare la parallela con le stesse modalità di Windows98 anche con Windows XP o 2000. Si indicano di seguito le modalità di installazioni di un doppio sistema operativo.

Nuova installazione di Windows 98 e Windows XPUsando un programma per eseguire partizioni sul disco, per esempio Partition Magic oRanish Partition Manager (più difficile da utilizzare ma freeware: www.ranish.com/part/),creare due partizioni primarie sull’unità C:\ capaci di contenere i sistemi operativi e leapplicazioni da installare. Sulla prima partizione verrà installato Windows 98 e sullaseconda Windows XP. Formattare la prima partizione con FAT32 utilizzando lo stesso programma con cui sonostate create le partizioni. Nascondere la seconda partizione e rendere attiva la prima.Uscire dal programma.

1. Installare da CD-ROM Windows 98. 2. Installare Windows XP da CD-ROM. Durante l’installazione il sistema individuerà le

due partizioni e chiederà ove installare il sistema operativo. Scegliere la seconda par-tizione e scegliere di formattarla con NTFS.

3. Procedere nell’installazione di Windows XP.4. Windows XP creerà il sistema di dual boot e ogni volta che si avvierà il computer

verrà proposta all’utente la scelta di quale sistema avviare per primo.

2. I sistemi operativi

un

ità

m02ud02.qxd 30-06-2004 18:21 Pagina 57

Page 44: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

© R

CS

LIB

RI

ED

UC

AT

ION

SP

A

58 MODULO 2 IL SOFTWARE DEL PC

Dopo l’installazione si può accedere alla configurazione di boot manager di WindowsXP (per eventuali modifiche) nel seguente modo: PANNELLO DI CONTROLLO ⇒ PRESTAZIONI E

MANUTENZIONE ⇒ VISUALIZZARE INFORM. DI BASE; scegliere la cartella AVANZATE e fare clic sulpulsante IMPOSTAZIONI DI AVVIO E RIPRISTINO.

Un’alternativa diversa è quella di usare un programma boot manager esterno come peresempio BOOT MAGIC o XOSL (freeware: www.xosl.org). In questo caso prima dell’in-stallazione di Windows XP (punto 2) si deve inserire il seguente punto:2’. Usando ancora il programma per creare le partizioni, nascondere la partizione con

Windows 98 e rendere attiva la seconda partizione. Uscire dal programma.

Al termine delle due installazioni deve essere installato il boot manager (BOOT MAGICo XOSL).

Installazione di Windows XP in un sistema con Windows 98 già installatoSi fa l’ipotesi che si voglia installare il nuovo sistema operativo lasciando inalteratoWindows 98. È necessario che sul disco rigido ci sia abbastanza spazio per installare ilsecondo sistema operativo e le eventuali applicazioni (almeno 1117 Mbyte per XP). Èpossibile installare Windows XP anche su un secondo hard disk, cosa non ammessa perWindows 98.Nel caso si utilizzi un unico disco è necessario creare su di esso una seconda partizioneprimaria. Se il disco è occupato tutto da Windows 98 è necessario ridimensionare la par-tizione e poi crearne una seconda. Si proceda come segue:

1. Usando un programma per ridimensionare le partizioni senza perdita dei dati (peresempio Partition Magic) ridimensionare la partizione su cui è installato Windows98. Si crea in questo modo uno spazio libero dopo la prima partizione.

2. Procedere all’installazione di Windows XP facendo il boot dal CD-ROM. 3. Durante l’installazione il sistema operativo chiederà dove dovrà essere installato;

scegliere lo spazio libero e procedere alla sua formattazione in formato NTFS (tuttequeste operazioni possono essere effettuate direttamente durante l’installazione).

4. Windows XP al termine dell’installazione creerà un semplice boot manager che per-metterà di scegliere il sistema operativo di avvio.

Anche se i nuovi sistemi operativi che utilizzano un ambiente grafico hanno di moltodiminuito l’importanza del DOS, si ritiene che le conoscenze di alcuni elementi di que-sto sistema operativo siano in talune circostanze necessarie per risolvere particolari pro-blemi legati ai nuovi sistemi operativi, in particolare con i dischetti di ripristino che lavo-rano con linea di comando. Si tenga presente poi che con il DOS, attraverso la programmazione a basso livello, èpossibile ottenere un completo ed incondizionato controllo del sistema e di tutte le sueperiferiche operando direttamente con istruzioni di I/O. Nell’esame delle caratteristiche dei dischi è ricorsa più volte la parola drive, ovvero queidispositivi in cui viene introdotto il disco e ne permettono la lettura e scrittura. Essi, inambiente DOS (ma anche con Windows), sono individuati con delle lettere maiuscoleseguite dai due punti (A:, B:, C:, D:, E: ...). In genere il primo drive dei floppy disk è indicato con la lettera A: ed il secondo con lalettera B:. Il disco fisso (hard disk) è invece indicato con la lettera C:. Se è presente un secondo hard disk (o se il disco fisso è suddiviso in partizioni), esso ècontraddistinto dalla lettera D: e così in successione per gli altri. Se nel sistema è pre-sente un drive per CD-ROM esso prende la prima lettera libera dopo quelle occupatedal disco rigido.

2.1 Il sistema operativo MS-DOS

m02ud02.qxd 30-06-2004 18:21 Pagina 58

Page 45: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

59 Unità 2 I sistemi operativi

Tutte le informazioni presenti su un disco sono memorizzate in particolari strutturedenominate file. Il file rappresenta quindi una raccolta ordinata di informazioni memo-rizzate sul disco. Un file può contenere quindi sia programmi che un insieme di dati di diversa natura.Esso deve avere un nome di identificazione costituito da un massimo di otto caratteri.Il DOS non fa distinzione tra caratteri maiuscoli e minuscoli.Non si possono usare, per i nomi, i seguenti caratteri:< > + = / \ [ ] “ : , . ? * spazio.

I nomi dei file possono essere completati con una estensione, formata al massimo da trecaratteri, e separata dal nome da un punto (tab. 2.1). Alcune estensioni identificano inmodo univoco alcuni tipi di file e possono pertanto essere usate solo per quei partico-lari file.

2.1.1 File e directory in MS-DOS

Per poter usare in modo più semplice i file, è possibile creare sul disco delle suddivisio-ni, dette subdirectory (in Windows sono denominate cartelle); ognuna di esse è con-traddistinta da un proprio nome e può contenere un certo numero di file, per lo più ditipo omogeneo. Con questo sistema è possibile accedere ai file di una certa subdirectory ignorandoquelli presenti nelle altre. Il disco intero è considerato come una directory a cui è asse-gnato il nome di directory principale o radice. Si possono, inoltre, creare all’interno diuna certa directory, altre subdirectory.

Quando si inizia a lavorare con il DOS, dopo un riuscito bootstrap, sul video viene visua-lizzato il prompt del sistema operativo (A:\ > _ con avvio dal drive A o C:\ > _ con avviodall’hard disk). Dopo di che il computer rimane in attesa dei comandi digitati sullatastiera e chiusi con il tasto INVIO.La lettera seguita dai due punti ( : ) indica l’unità a disco da cui è stato operato l’avvio,la barra retroversa ( \ detta back slesh), che ci si trova nella direttrice radice e il tratti-no lampeggiante dopo il segno di maggiore ( > ) rappresenta il cursore, ovvero il puntoin cui verranno inseriti eventuali caratteri digitati da tastiera. La riga del video su cui èvisualizzato il prompt viene definita riga di comando.I comandi che possono essere digitati su tale riga sono di diversa natura, ed una primadistinzione può essere effettuata dividendoli in comandi interni ed esterni.

Alcune estensioni dei file di uso comune

.COM File eseguibile (file che contiene un programma che può essere posto in esecuzione digitando ilnome del file e dando invio).

.EXE È ancora un file eseguibile (file di programma), con caratteristiche leggermente diverse dal prece-dente.

.SYS Sono file di sistema.

.BAT Particolari file, detti file batch, che contengono un insieme di comandi del DOS.

.HLP File che forniscono aiuto.

.DOC File di testo formattato (contenenti informazioni sulla formattazione del testo, come per esempiocaratteri corsivi, colorati, tabelle, ecc.).

.TXT File di testo non formattato.

.ZIP File compattati in modo che occupino meno spazio.

.BMP File grafici.

2.1.2 Avvio del DOS

TAB. 2.1

m02ud02.qxd 30-06-2004 18:21 Pagina 59

Page 46: 1.I sistemi informatici Modulo · Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia ... (Central Processing Unit ovvero Unità Centrale di Processo)

60 MODULO 2 IL SOFTWARE DEL PC

Sono comandi interni quelli che sono contenuti nel file COMMAND.COM e vengono cari-cati in memoria insieme con tale file. Essi sono immediatamente disponibili per l’uten-te e sono riconosciuti dal DOS anche se viene tolto il disco di avvio. I comandi esterni non sono contenuti in memoria, ma si trovano sul disco sotto formadi file eseguibili, con estensione .COM o .EXE. Per questo, per essere eseguiti debbonoeffettivamente trovarsi su un disco inserito in uno dei drive. Per cambiare drive si deve digitare (si supponga di trovarsi in C:):C:\ > A: ↵↵Con tale comando si seleziona il drive A: e il nuovo prompt diventa: A:\ > _

Dopo il cambio di unità i comandi digitati si riferiranno al drive A:.

Verrà ora effettuata una breve analisi dei fondamentali comandi interni del DOS (tab.2.2). Essi sono tutti disponibili immediatamente e per eseguirli non occorre la presenzadel disco di sistema.

Caratteri specialiAl fine di rendere più efficace l’utilizzazione dei comandi rivolti ai file, il DOS permet-te di adoperare due caratteri jolly, l’asterisco (*) e il punto interrogativo (?), che, inse-riti opportunamente nei nomi dei file, possono sostituire parti del nome o dell’esten-sione o i singoli caratteri del nome stesso. La parte del nome del file o dell’estensione al cui posto viene inserito l’asterisco può assu-mere un valore qualsiasi. Il punto interrogativo invece può sostituire i singoli caratteri.Gli esempi che seguono chiariranno il metodo di utilizzazione di tali caratteri jolly.

2.1.3 Analisi di alcuni comandi interni del DOS

Applicazione di alcuni comandi interni del DOS

DIR C:\> DIR ↵ Visualizza i file e le direttrici contenuti nel drive o nella direttri-ce da cui si impartisce il comando.

C:\> DIR/p ↵ Visualizza una pagina per volta.C:\> DIR >PRN ↵ Invia alla stampante il contenuto del drive o della direttrice da

cui si impartisce il comando (questa operazione non può essereeseguita direttamente da Windows).

A:\> DIR ∗.EXE ↵ Visualizza tutti i file presenti sul disco A: con nome qualsiasi edestensione .exe.

REN C:\> REN file1 file2 ↵ Cambia il nome di file1 assegnandogli il nuovo nome file2.C:\> REN *.txt *.old ↵ Assegna a tutti i file che hanno estensione .txt la nuova esten-

sione .old. Non è possibile eseguire l’operazione direttamente conWindows.

COPY C:\> COPY sorgente destinazione Permette di copiare un file, da un disco all’altro o da una subdi-rectory ad un’altra o anche nella stessa subdirectory in cui sitrova, cambiandovi però il nome. La sorgente deve contenere ilnome del file che si vuole copiare preceduto dal percorso com-pleto per raggiungerlo, mentre nella destinazione deve esserciil nome che deve essere attribuito al file da copiare e il percor-so completo di dove esso deve essere copiato.

A:\> COPY 32IOF.DLL C:\Windows\SYSTEM Copia il file 32IO.DLL contenuto in A: nella cartella SYSTEM diWindows.

DEL A:\> DEL *.* Cancella tutti i file contenuti sul disco A:.C:\TEMP> DEL *.DOC Cancella tutti i file con nome qualsiasi e con estensione .DOC

contenuti nella sottodirettrice TEMP di C:.MD A:\> MD copie Crea una sottodirettrice in A: con il nome copie.CD A:\> CD copie Cambia direttrice (accede alla sottodirettrice copie).RD A:\> RD copie Rimuove la sottodirettrice copie se non contiene file o altre sot-

todirettrici.

TAB. 2.2

m02ud02.qxd 30-06-2004 18:21 Pagina 60