Sistemi, automazione e organizzazione della produzione

annuncio pubblicitario
apertura_m01.qxd
30-06-2004
11:03
Pagina 15
Modulo
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
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 caratteristiche fondamentali dei suoi principali componenti (CPU, Bus di espansione, chipset, socket)
‹ Conoscere le caratteristiche delle fondamentali 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)
m01ud01.qxd
30-06-2004
11:04
Pagina 16
unità
1. L’architettura
hardware di
un computer
1.1
© RCS LIBRI EDUCATION SPA
La continua evoluzione del software (programmi e sistemi operativi) e dell’hardware
(componenti elettronici ed elettromeccanici) dei sistemi informatici, rende difficile
aggiornare e tenere aggiornate le caratteristiche dei moderni computer. Per questo in
questo modulo si cercherà di fornire le caratteristiche di base degli elaboratori per quanto riguarda l’aspetto hardware.
Di seguito sono analizzati i Personal Computer, dotati di microprocessori della famiglia
8088/86 o di processori ad essi equivalenti.
In questa unità viene effettuata un’analisi descrittiva delle parti elettroniche costituenti il computer (hardware) e delle fondamentali unità periferiche ad esso collegate.
Struttura di un elaboratore
‹ 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 di
dare in uscita i risultati dell’elaborazione.
L’insieme delle istruzioni, atte ad elaborare convenientemente i dati ed organizzate in
modo 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 del
computer;
• la memoria centrale in cui risiedono programmi e dati;
• le memorie di massa costituite da supporti magnetici, ottici o magneto-ottici, di forma diversa come i dischi magnetici (hard disk o floppy disk), nastri magnetici, dischi
ottici (CD-ROM o DVD), dischi magneto-ottici;
• le unità di ingresso, ovvero quei dispositivi attraverso i quali l’operatore può immettere dati e programmi nella memoria;
• le unità di uscita, cioè dispositivi atti a presentare all’operatore i risultati delle elaborazioni svolte.
La memoria centrale presente all’interno del sistema è di tipo elettronico (ovvero costituita con dispositivi elettronici come BJT o MOSFET). Questa memoria è generalmente di
due tipi base:
1. RAM, su cui è possibile sia scrivere che leggere i dati; questa memoria è di tipo volatile, ovvero perde i dati con lo spegnimento del sistema;
2. ROM, da cui è possibile solamente leggere i dati; è di tipo non volatile in quanto conserva le informazioni anche con il sistema non alimentato.
Le memorie di massa, di grossa capacità, contengono spesso inizialmente i dati da elaborare e i programmi, generalmente di dimensioni ragguardevoli. I programmi ed i dati,
contenuti nelle memorie di massa, sono poi trasferiti, quando debbono essere elaborati, nella memoria centrale. Durante l’elaborazione dei dati, operata per mezzo dei programmi, spesso viene richiesta l’immissione nel sistema di dati aggiuntivi che vengono
forniti all’elaboratore attraverso un’unità d’ingresso (normalmente una tastiera).
16
MODULO 1
I SISTEMI
INFORMATICI
m01ud01.qxd
30-06-2004
11:04
Pagina 17
Al termine dell’elaborazione, o a volte in fasi intermedie, i risultati dell’elaborazione
vengono 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 di
elaborazione nelle seguenti categorie in base alle posBUS DATI
sibilità di utilizzazione:
MEMORIA
ROM
CPU
MEMORIA
RAM
BUS INDIRIZZI
BUS CONTROLLI
INTERFACCIA
INGRESSO - USCITA
INPUT
OUTPUT
OUTPUT
OUTPUT
TASTIERA
VIDEO
STAMPANTE
PLOTTER
Fig. 1.1
IN / OUT
MEMORIE
MASSA
– i mainframe sono grossi sistemi di elaborazione mentre i minicomputer sistemi di capacità ridotta rispetto ai mainframe;
– le workstation possono essere considerate sistemi
specializzati per svolgere particolari funzioni (per
esempio workstation per automazione della fase di
progetto detta CAD1, per grafica, per lo sviluppo del
software);
– i server sono sistemi (per lo più di tipo minicomputer ma anche personal con particolari caratteristiche), che operano nell’ambito di un collegamento in
rete tra computer e che forniscono ad altri sistemi ad
essi collegati, client, servizi specifici.
Accanto ai grossi sistemi di elaborazione dati si sono diffusi in maniera sempre più capillare i così detti Personal Computer, ovvero dei sistemi che pur essendo di minimo ingombro offrono al singolo utente notevoli possibilità di elaborazione, sicuramente uguali se
addirittura non superiori a quelle dei grossi elaboratori delle precedenti generazioni.
1.2
Il Personal Computer
Il Personal Computer fa la sua prima apparizione intorno al 1975. Nel 1980 sono presenti
sul mercato alcuni tipi di PC dotati di memorie di massa costituite da dischi magnetici
flessibili (floppy disk) e che usano come linguaggio di programmazione ad alto livello il
BASIC. Sono dotati di microprocessore, con bus dati a 8 bit2.
Alla fine del 1981 compare sul mercato il primo PC, realizzato dalla IBM, dotato della
CPU 8088, prodotta dall’INTEL, con bus esterno a 8 bit ed interno a 16 bit. Con tale evento i PC subiscono un salto di qualità. Da questo momento si susseguono numerosi modelli con sempre maggiori potenzialità, prodotti oltre che dalla IBM anche da altre case
costruttrici, tutti basati sulla famiglia di processori 8088/86, denominata iAPXnn.
Abbastanza diffusi sono anche i PC, con processori PowerPC G3 della MOTOROLA-IBMAPPLE, detti Power Macintosh prodotti dall’APPLE.
Nel seguito, si farà riferimento, in particolare, ai PC che utilizzano processori del tipo
iAPXnn (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 allo
svolgimento di tutte le operazioni che avvengono all’interno del computer sotto la
supervisione di opportuni programmi. Il tipo di microprocessore presente in un computer determina la velocità e la potenza delle elaborazioni, e le istruzioni di base che
esso è in grado di riconoscere. I moderni microprocessori contengono al loro interno
anche il coprocessore matematico che funziona in sincronismo con la CPU, specializzato nello svolgimento di operazioni matematiche, e un certo quantitativo di memoria 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.
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 che
escono da esso. Il numero di linee che compongono il bus dati viene normalmente assunto per definire il tipo
di processore (a 8 bit, a 16 bit, a 32 bit....).
17
Unità 1
L’architettura hardware di un computer
m01ud01.qxd
30-06-2004
11:04
Pagina 18
• 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 dalla
CPU verso il mondo esterno.
• Memoria centrale: in essa sono memorizzati i programmi, i dati intermedi delle elaborazioni e i dati finali. In generale la memoria di un calcolatore è costituita da
memorie RAM (Random Access Memory o memorie ad accesso casuale) a lettura e
scrittura, e da memorie ROM (Read Only Memory o memorie a sola lettura) che possono essere solamente lette. La programmazione delle ROM avviene all’atto della
fabbricazione. Spesso le ROM sono sostituite con memorie di tipo EPROM (a sola lettura ma cancellabili con raggi ultravioletti e riprogrammabili) o anche con memorie
di tipo flash (EEPROM cancellabili elettricamente) che possono essere riprogrammate 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 interagiscono direttamente con l’hardware del sistema e che permettono l’avvio del computer 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 fisso o rigido), drive per dischi flessibili (floppy disk) e ottici (CD-ROM) di diverso formato e con diversa capacità di memorizzazione. Le memorie di massa vengono normalmente utilizzate per memorizzare i programmi e grossi quantitativi di dati.
• Alimentatore: fornisce le tensioni necessarie per alimentare tutte le parti presenti
all’interno del PC.
Attualmente il mercato dei PC è orientato verso sistemi aperti, cioè dotati di una scheda interna, detta motherboard (piastra madre), che contiene i principali circuiti per il
funzionamento del computer. Su tale scheda è presente anche una serie di connettori
(detti slot di espansione) su cui vengono inseriti altri elementi necessari per ampliare la
struttura del PC. Con tale sistema è possibile aggiornare determinati elementi senza tuttavia 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 statica) detta cache di 2° livello;
• la memoria centrale di tipo SDRAM (RAM dinamica sincrona o nei sistemi più vecchi
DRAM) con tempi di accesso maggiori della SRAM ma meno costosa. Attualmente
sono 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 di
aggiornare 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. Nella
memoria C-MOS vengono memorizzate le informazioni di base del BIOS che possono
essere modificate con il BIOS setup. Il real time clock è un dispositivo che aggiorna in
continuazione, 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 di
espansione e con alcune delle periferiche di I/O (denominati chipset). Nei chipset sono
integrate anche le funzioni di controllo dei drive (dispositivi elettronici-meccanici che
presiedono al funzionamento dei dischi magnetici e ottici) e il supporto alla nuova
porta denominata USB (Universal Serial Bus) alla quale possono essere collegati numerosi tipi di periferiche come la tastiera, le stampanti, ecc. L’USB dovrebbe sostituire
nei 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 porta parallela (per il collegamento della stampante detta LPT1), le porte di comunicazione seriali (COM1 e COM2)3. Nei sistemi più vecchi le funzioni del chip di I/O sono
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 contemporaneamente su altrettante linee.
18
MODULO 1
I SISTEMI
INFORMATICI
m01ud01.qxd
30-06-2004
11:04
Pagina 19
svolte da una scheda da inserire negli slot di espansione. Attualmente le funzioni di
interfaccia per le porte di comunicazione vengono integrate direttamente nel chipset.
La CPU comunica con tutti gli altri elementi presenti sulla motherboard, tramite una
serie 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 tre
gruppi distinti denominati: BUS dei DATI (DATA BUS), BUS degli INDIRIZZI (ADDRESS BUS)
e BUS di CONTROLLO (CONTROL BUS). Ciascun tipo di BUS possiede caratteristiche ben
distinte e svolge funzioni particolari.
Il BUS DATI, bidirezionale, permette di inviare le informazioni da elaborare dai dispositivi d’ingresso e dalla memoria, alla CPU, e viceversa. Sulle linee del BUS DATI viaggiano
inoltre i codici delle istruzioni, provenienti dalla memoria, che la CPU deve di volta in
volta eseguire.
La CPU utilizza il BUS INDIRIZZI per indicare con quale dispositivo o con quale locazione
di memoria debbano essere scambiati i dati in un determinato istante.
Sul BUS di CONTROLLO invece transitano dei segnali, che la CPU utilizza per trasmettere particolari comandi ai vari dispositivi presenti nel sistema, o che le permettono di
conoscere il loro stato.
© RCS LIBRI EDUCATION SPA
Le linee dei BUS della CPU, opportunamente bufferizzate, insieme con altre linee specifiche per le richieste di interrupt e per il controllo del DMA, sono portate su una serie di
connettori, posti sulla piastra madre. I segnali presenti su questi connettori costituiscono 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 linee
dedicate del BUS di CONTROLLO, inviano un segnale alla CPU, interrompendo le normali funzioni che essa sta in quel momento svolgendo, per richiedere uno scambio di
dati. Le linee di richiesta d’interrupt sono denominate IRQ0 ÷ IRQ15. Alcune di esse sono
dedicate a particolari funzioni e quindi non sono disponibili per le periferiche.
Normalmente ogni periferica deve utilizzare una linea d’interrupt diversa, per non creare conflitti nel sistema.
È denominata DMA la tecnica con cui alcune periferiche (per esempio l’hard disk) scambiano direttamente i dati con la memoria senza farli transitare attraverso la CPU.
Il BUS di ESPANSIONE permette di variare rapidamente la configurazione hardware del
sistema, aggiungendo nuove schede. Tra queste si elencano quelle per il controllo del
monitor (video), e della gestione delle relative rappresentazioni grafiche (schede grafiche), le schede audio, le veloci schede SCSI (leggere scasi) particolarmente indicate per il
collegamento di hard disk veloci, di scanner (dispositivo per l’acquisizione di immagini e
testo), di sistemi di masterizzazione per la scrittura di dischi ottici.
1.3
I BUS di ESPANSIONE
Ogni PC è dotato di un BUS di ESPANSIONE su cui l’utente può connettere liberamente
le proprie schede (oltre che quelle precedentemente descritte).
Il BUS di ESPANSIONE ha subito dalla sua nascita notevoli trasformazioni seguendo l’evoluzione stessa dei Personal Computer. Si è passati così dal BUS tipo XT a quello AT (detto anche ISA) e poi al VESA (denominato Local Bus) ed infine al BUS PCI (Peripheral
Component Interconnect).
Le trasformazioni si sono rese necessarie al fine di rendere idoneo il BUS a nuove applicazioni sfruttando in modo più idoneo la crescente potenza e velocità dei processori utilizzati 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 certo numero di connettori di tipo ISA in cui è possibile inserire anche schede di tipo XT.
19
Unità 1
L’architettura hardware di un computer
m01ud01.qxd
30-06-2004
1.3.1
11:04
Pagina 20
Il BUS XT
Il BUS XT fu realizzato per operare in sistemi in cui era presente il processore 8088. Si ricorda
che tale processore ha un BUS DATI esterno ad 8 bit (interno a 16 bit) ed è dotato di 20 linee
d’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 attraverso uno o più connettori (collegati in parallelo) a 62 contatti (31 per lato), nei quali
vanno inserite le schede di espansione. Sul lato A del connettore va applicata la faccia
della 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 sono
utilizzate da periferiche standard (drive per dischi, stampanti, porte seriali) e pertanto, il
loro 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 BUS
del tipo XT e quello ISA e PCI.
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
TAB. 1.2
Interrupt
Dispositivo utilizzatore
IRQ0
BUS XT
BUS ISA
TIMER DI SISTEMA - NON DISPONIBILE SUI BUS
IRQ1
TASTIERA - NON DISPONIBILE SUI BUS
IRQ2
REAL TIME CLOCK
IRQ3
COM2
IRQ4
COM1
IRQ5
HARD DISK
IRQ6
FLOPPY DISK
IRQ7
LPT1
PIC - ND
LPT2
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.
20
MODULO 1
I SISTEMI
INFORMATICI
m01ud01.qxd
30-06-2004
11:04
Pagina 21
Si ricorda che, quando la CPU riceve un segnale di interrupt, interrompe l’esecuzione del programma che sta eseguendo e mette in esecuzione uno specifico programma (routine di servizio dell’interrupt) che svolge particolari compiti relativi alla periferica che ha richiesto
l’interrupt. Al termine della routine di servizio dell’interrupt torna al programma principale.
È necessario precisare che agli eventuali dispositivi realizzati dall’utente (utilizzando schede che vanno connesse sui connettori del BUS di ESPANSIONE), è stato assegnato un campo di indirizzamento ristretto: 300h-31Fh essendo riservati gli altri indirizzi alle periferiche
standard presenti nel PC.
1.3.2
Il BUS ISA
Il BUS ISA è costituito da due sezioni separate, di cui una fa capo ad un connettore a 31+31
pin che implementa il BUS di espansione tipo XT (con la variazione di alcuni segnali), e l’altra 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 degli
indirizzi (LA17 ÷ LA23) sono riportate le nuove linee di controllo per la richiesta d’interrupt (IRQ10 ÷ IRQ14), per la richiesta di DMA (DRQ0, DRQ5, DRQ6 e DRQ7), le linee di
riconoscimento di accoglimento delle richieste di DMA (DACK0, DACK5, DACK6 e
DACK7).
Quindi su tale tipo di BUS le linee dei dati sono diventate in totale 16 e quelle d’indirizzo 24.
1.3.3
Il BUS PCI
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 al
BUS in quanto il clock con cui essi lavorano ha una frequenza inferiore a quella del processore stesso. Con l’introduzione del nuovo BUS PCI si è almeno cercato di aumentare la
frequenza di funzionamento del BUS (75 MHz-133 MHz) anche se essa rimane ben al di
sotto di quella dei nuovi processori. Con tale BUS cambia fondamentalmente anche l’architettura del sistema. La CPU è interfacciata direttamente per mezzo di un BUS locale con
la memoria centrale, con la cache di 2° livello e con lo stesso BUS PCI. Il sistema d’interfaccia è denominato ponte. Esiste poi un altro ponte che realizza il collegamento tra il BUS PCI
e il vecchio BUS ISA.
Le funzioni di interfacciamento sono svolte da alcuni integrati (due o più) che nel loro
insieme vengono denominati chipset ed assolvono alle specifiche d’interfacciamento proprie dei due ponti (fig. 1.2).
Il BUS PCI è disponibile sulla piastra madre per mezzo di alcuni connettori normalmente a 62 + 62 contatti (per un bus dati/indirizzi a 32 bit) che può anche essere esteso a
94 +94 pin (per un bus dati/indirizzi a 64 bit) disposti su due lati (lato A e lato B). È da
osservare che sul connettore le linee relative ai dati ed agli indirizzi sono multiplexate.
1.3.4
Il BUS AGP
Il BUS AGP (Accelerated Graphics Port) è un bus specifico per il collegamento al sistema
di una scheda grafica. Il BUS AGP, essendo direttamente collegato con il chipset che contiene il controllore della memoria di sistema, permette un più rapido scambio di dati tra
il controllore grafico, presente sulla scheda grafica, e la memoria rendendo possibili l’utilizzazione di applicazioni 3D in tempo reale.
Nella figura 1.2 è rappresentato uno schema a blocchi di un personal computer che possiede gli slot di espansione per il BUS PCI, per il BUS ISA e per quello AGP. Il sistema, come
avviene 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 BUS
AGP possono essere molto veloci. Il ponte fornisce poi l’interfacciamento della CPU con
21
Unità 1
L’architettura hardware di un computer
m01ud01.qxd
30-06-2004
11:04
Pagina 22
CPU
BUS LOCALE
AGP
SCHEDA
GRAFICA AGP
CHIPSET
MEMORIA
PCI BRIDGE
CONTROLLER
MEMORIA
SLOT
ESPANSIONE
PCI
PCI BUS
COM1
USB
PERIFERICHE USB
FAST IDE
CHIPSET
I/O BRIDGE
CHIPSET
I/O
COM2
LPT1
FLOPPY
HARD DISK
CD ROM
ISA BUS
SLOT
ESPANSIONE
ISA
© RCS LIBRI EDUCATION SPA
Fig. 1.2
il BUS PCI. Un secondo ponte collega il BUS PCI con quello ISA, e fornisce il supporto per
il BUS USB, con i canali IDE (Ultra DMA) per dischi rigidi e CD ROM. Il chipset di I/O collega le altre periferiche del sistema.
1.3.5
I connettori IDE (EIDE)
Sulla scheda madre sono presenti anche dei connettori per i dischi fissi, per i lettori DVDCD ROM o per i masterizzatori CD e per i floppy disk. Questi connettori sono denominati
IDE (Integrated Device Electronics) o, con i nuovi computer EIDE (Enhanced IDE ovvero
IDE migliorato). Normalmente sulle nuove schede sono installati 2 connettori a 40 pin
denominati primary IDE e secondary IDE e uno a 34 pin riservato ai drive per floppy. Il
connettore primary IDE corrisponde ad un canale primario a cui si connette il cavo del
disco fisso principale, contraddistinto con la lettera C: (normalmente è il disco da cui si
avvia il sistema operativo) configurato come master. Allo stesso cavo può connettersi
anche un secondo disco fisso o un lettore di CD-DVD (o anche un masterizzatore) configurati come slave. Al secondary IDE corrisponde un canale secondario a cui possono essere connessi altri dischi fissi o lettori CD rispettando sempre le configurazione dei dispositivi l’uno come master e l’altro come slave. Al connettore floppy si connette un cavo a
cui si possono collegare uno o due drive per floppy (denominati A: e B:). I connettori dei
canali primario e secondario normalmente supportano più modalità di trasferimento dei
dati. Gli standard creati per armonizzare l’utilizzazione dei connettori EIDE e delle relative interfacce sono denominati ATA, ATA-2, ULTRA ATA/33, ULTRA ATA/66 e ULTRA
ATA/100. Esistono poi diverse modalità che, seguendo gli standard descritti, provvedono
al trasferimento dei dati tra disco e controllore presente sulla piastra madre attraverso
TAB. 1.3
Standard
22
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
MODULO 1
I SISTEMI
INFORMATICI
m01ud01.qxd
30-06-2004
11:04
Pagina 23
i connettori EIDE e i cavi di collegamento con il disco stesso. Nella tabella 1.3 sono elencate alcune di queste modalità.
1.3.6
I socket dei processori
Un elemento che sulle piastre madri riveste grande importanza è lo zoccolo su cui viene
montata 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 ultime
generazioni di PC si è avuta una certa diversificazione degli zoccoli in base ai tipi di processori da utilizzare sulla piastra madre. Si descrivono di seguito alcune delle configurazioni possibili utilizzate nelle ultime versioni di motherboard:
– Socket 7: è usato per i PENTIUM di prima generazione, per i PENTIUM MMX della
INTEL, 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 della AMD;
– Slot 1: è uno slot su cui inserire una piccola scheda contenente il processore e in genere la memoria cache di 2° livello. È utilizzato dai PENTIUM II e dal CELERON della
INTEL.
– Socket 370: variante del Socket 7 adottato dalla INTEL per i CELERON di seconda generazione, 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).
1.3.7
I chipset
Con la parola chipset si indica l’insieme dei circuiti integrati che sono di ausilio al processore per la gestione dei dispositivi presenti nella piastra madre: controllori del bus di
sistema e di espansione, controllori DMA e della memoria cache, gestione delle porta
parallela 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 configurazioni differenti in base al tipo di CPU installata.
1.4
Approfondimenti sui microprocessori
Dalla loro origine (inizi anni ’70) i microprocessori sono diventati sempre più potenti
essendo implementate in essi nuove funzioni e lavorando con frequenze di clock sempre
più elevate. In essi è aumentato poi sia il numero di linee del bus indirizzi che del bus
dati. Anche l’architettura dei microprocessori ha subito evoluzioni passando da dispositivi di tipo CISC (Complex Instruction Set Computing), a quelli CISC/RISC o completamente
RISC (Reduced Instruction Set Computing).
L’architettura CISC è nata con la necessità di avere un gran numero di istruzioni (in codice macchina), di tipo anche complesso, per semplificare il compito dei programmatori e
per disporre di programmi più compatti che utilizzassero minore memoria.
All’interno delle CPU realizzate secondo tale architettura (per esempio tutti i processori prodotti dall’INTEL della serie 8086/88 fino all’80486 e i primi PENTIUM), è presente
una memoria di tipo ROM che contiene una serie di codici (microcodici), ciascuno dei
quali permette di eseguire all’interno del processore stesso un’azione elementare.
Ogni istruzione in linguaggio macchina, per essere eseguita, viene prima trasformata in
una serie più o meno grande di istruzioni in microcodice. In questo modo le istruzioni
semplici in linguaggio macchina possono essere convertite in una sola istruzione in microcodice, mentre quelle più complesse richiedono l’esecuzione di un numero elevato di
istruzioni in microcodice.
L’architettura in microcodice permette, tra l’altro, di estendere facilmente il set d’istruzioni in linguaggio macchina di un microprocessore semplicemente implementando in
23
Unità 1
L’architettura hardware di un computer
m01ud01.qxd
30-06-2004
11:04
Pagina 24
esso la trasformazione delle nuove istruzioni in un set appropriato di quelle in microcodice già presenti.
L’architettura RISC è nata intorno agli anni ’80. Il principio base di questa architettura
sta nel fatto che il microprocessore ha un set di istruzioni molto ridotto e per di più di
tipo semplice. Quasi tutte le istruzioni, di lunghezza fissa, sono eseguite in un singolo
ciclo di clock permettendo di adottare efficacemente la tecnica del pipelining.
Attualmente l’architettura RISC è utilizzata per la realizzazione di un discreto numero di
processori utilizzati soprattutto per applicazioni nelle workstation e nella costruzione
dei microcontroller (➜ Modulo 11).
È RISC il processore PowerPC 604 della IBM. L’architettura dei nuovi processori sia
dell’INTEL (PENTIUM di seconda generazione) che della AMD (dal K5) ha subito anche
un’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 significativamente 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 cuore del processore di tipo RISC.
Le fasi temporali
Nell’esecuzione di un programma il microprocessore carica le istruzioni da eseguire dalla memoria (con un ciclo di lettura) eseguendo una fase di fetch (ricerca codice operativo), una fase di decodifica del codice caricato ed infine una fase di esecuzione dell’istruzione decodificata.
Durante la decodifica il BUS è posto in una fase di inattività denominata idle. Il ciclo poi
ricomincia con l’istruzione seguente e così via, istruzione dopo istruzione.
L’architettura che permette di sovrapporre nel tempo più istruzioni utilizzando un’unica risorsa di esecuzione (suddivisa in più stadi), viene detta di tipo pipeline (catena per
l’elaborazione dei dati). La tecnica del pipelining è quindi la tecnica che permette il caricamento e l’esecuzione di una nuova istruzione prima che sia stata portata a termine
quella precedente. Nell’esempio precedente la pipeline è a due stadi (ricerca del codice
operativo, decodifica ed esecuzione).
Una pipeline può essere pensata come una catena di montaggio in cui la produzione di
un 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 addetto
alla lavorazione in quel reparto. È chiaro che quando il primo reparto ha terminato la
fase 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ò operare quindi in parallelo su più istruzioni. A differenza della pipeline in cui l’esecuzione di
una istruzione viene suddivisa in tante fasi elementari che operano in successione, la
superscalarità utilizza più unità identiche che svolgono in parallelo per l’esecuzione di
istruzioni diverse.
Per aumentare l’efficienza dei microprocessori le architetture superscalari sono utilizzate in unione con quelle pipelined. In questo caso ad ogni unità di lavoro viene associata
una pipeline.
Per minimizzare i blocchi delle pipeline dovute ai cambiamenti di flusso del programma, nei nuovi processori sono usate tecniche di predizione dei salti (condizionati) e l’esecuzione speculativa. Un salto è detto condizionato quando la sua esecuzione avviene
solamente se si verificano particolari condizioni derivanti dall’esecuzione di precedenti
istruzioni.
La tecnica di predizione dei salti permette di conoscere in anticipo il flusso del programma con una accuratezza molto elevata che può raggiungere il 98%.
24
MODULO 1
I SISTEMI
INFORMATICI
30-06-2004
11:04
Pagina 25
Questa tecnica quindi permette al dispositivo che effettua il fetch di tenere la coda riempita con istruzioni che hanno un’alta probabilità di essere eseguite per prime.
L’esecuzione speculativa permette di eseguire istruzioni successive che hanno buona probabilità di dover essere svolte.
Nella figura 1.3 è riportata in modo schematico l’architettura denominata P5 utilizzata
dalla INTEL nei primi processori di classe PENTIUM.
È un’architettura di tipo superscalare in cui sono inserite due ALU per i calcoli con i
numeri interi che possono operare indipendentemente l’una dall’altra. Le ALU sono precedute da una pipeline (denominate dall’INTEL V-pipeline e U-pipeline) a 5 stadi. Nello
schema di figura 1.3 è messa in risalto anche l’unità di calcolo per i numeri in virgola
mobile (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 sola
destinazione prevista per ciascun salto. In totale vengono memorizzate nel BTB 256 previsioni di salto.
BTB
CACHE ISTRUZIONI
256
PREFETCH
ROM
MICROCODICE
DECODIFICA ISTRUZIONI
UNITA’ DI CONTROLLO
64 32
REGISTRO INTERI
REGISTRO
FP
FPU
ALU
ALU
32
32
64
BIU
Fig. 1.3
25
DATI
64
CACHE DEI DATI
© RCS LIBRI EDUCATION SPA
m01ud01.qxd
INDIRIZZI CONTROLLI
32
Unità 1
L’architettura hardware di un computer
m01ud02.qxd
30-06-2004
11:06
Pagina 26
unità
2. Le periferiche
del PC
2.1
Le schede di espansione
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 integrano alcune funzioni specifiche.
Tra le principali schede si citano:
• Scheda grafica: la scheda per il controllo del video; tale scheda gestisce le modalità di
scrittura e di grafica sul video ed è corredata con della memoria RAM ausiliaria. Le
schede grafiche che supportano funzioni 3D sono definite anche acceleratori grafici.
Queste schede sono dotate di potenti chip grafici e di memoria di tipo SDRAM o
SGRAM (specifica per applicazioni grafiche). Il collegamento con le piastre madri di
recente costruzione è ormai standardizzato ed avviene sull’apposito slot del BUS AGP.
• Scheda Audio: in grado di gestire complesse funzioni audio come la registrazione e la
riproduzione di suoni e di brani musicali, la dettatura vocale (con particolari programmi) 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 su
dischi ottici (masterizzatori).
• Schede di rete per il collegamento in rete locale di più computer. Tra le più diffuse si
citano le schede per reti ETHERNET (per maggiori dettagli ➜ Modulo 14).
• Schede TV: integrano un convertitore TV e permettono di ricevere i canali televisivi sul
monitor del PC.
• Schede con funzioni di modem: contengono tutte le funzioni di una porta seriale e in
più quelle proprie di un modem (in genere di tipo fonico, multistandard) idoneo per
il collegamento del PC con la rete telefonica; il modem può essere utilizzato per il
collegamento con INTERNET, per inviare FAX o, a volte, come segreteria telefonica.
• Scheda con porta IEEE 1348 (detta firewire).
2.2
La tastiera
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 di
raggruppamento di tasti costituite da:
• Tasti funzione: indicati con F1, F2, F3 ... ; questi tasti svolgono azioni diverse a seconda dell’ambiente di applicazione attivo. Normalmente sono disposti sulla parte alta
della tastiera.
• Tasti numerici: posti sulla destra della tastiera svolgono in genere la duplice funzione
di tasti numerici, attivati quando viene premuto il tasto NUM-LOCK (blocca numero), o
tasti per lo spostamento del cursore.
• Tasti per il movimento del cursore: posti accanto al tastierino numerico svolgono la
funzione 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 tutti i caratteri alfabetici, quelli numerici e i più comuni segni di interpunzione.
26
MODULO 1
I SISTEMI
INFORMATICI
m01ud02.qxd
30-06-2004
2.3
11:06
Pagina 27
Il video
Il video è una periferica d’uscita che permette di visualizzare i risultati delle elaborazioni effettuate. Normalmente sul video compaiono anche i caratteri man mano che essi
vengono digitati da tastiera (eco della tastiera). Il video è costituito da un tubo a raggi
catodici (CRT), simile a quello usato nei televisori.
La visualizzazione è ottenuta mediante la scansione di un fascio di elettroni che, opportunamente accelerati e concentrati in un minuscolo punto, colpiscono il rivestimento di
materiale a base di fosfori depositato sulla parte interna dello schermo. Il fosforo si illumina quando viene colpito dal fascio di elettroni e la luminosità persiste per un tempo
molto breve. Il punto luminoso viene detto pixel.
L’insieme di punti luminosi viene a formare, come in un mosaico, un’immagine. Se l’intera 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 osservano con facilità.
L’immagine rappresentata è tanto più nitida quanto minore è la spaziatura tra i punti
che 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 del
video 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. Nella
tabella 2.1 sono elencate alcune risoluzioni per la modalità Super VGA.
TAB. 2.1
Norme adattatore
Super VGA (o
VESA)2
Risoluzione pixel
640 ×480
800 × 600
1024 × 768
1280 × 1024
Parametro importante per la scelta del monitor è anche la conoscenza della massima
frequenza di scansione orizzontale e verticale.
In genere le frequenze di scansione orizzontale aumenta con l’aumento delle risoluzioni
dei vari modi. Un buon monitor deve essere del tipo non interlacciato (NI), ovvero la scansione 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 tradizionali monitor con CRT (tubo a raggi catodici).
2.4
Il mouse
Il mouse è un dispositivo di puntamento che permette di spostare rapidamente il cursore 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 tende ad associare a particolari immagini, dette icone, programmi che svolgono le funzioni
richiamate dalle immagini stesse. Quando il mouse viene fatto scorrere su una superficie
piana, la pallina ruota, e speciali dispositivi foto-elettronici, posti al suo interno, rilevano la
grandezza del movimento e la direzione ed il verso in cui è avvenuto, e inviano le informazioni all’elaboratore attraverso una interfaccia d’ingresso. Quindi ogni spostamento del
dispositivo su un piano di lavoro è rappresentato sul video per mezzo di un particolare
cursore. Il mouse normalmente viene collegato ad una delle porte seriali (serial mouse) o
all’apposito connettore definito PS/2 (mouse tipo PS/2).
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 altri
numerosi modi in genere dipendenti dalla scheda utilizzata.
27
Unità 2
Le periferiche del PC
m01ud02.qxd
30-06-2004
2.5
11:06
Pagina 28
La stampante
La stampante è una periferica d’uscita che permette di riportare su carta i risultati delle
elaborazioni come dati, grafici, testi, ecc.
Sul mercato sono presenti numerosi tipi di stampante che differiscono per la tecnologia
di costruzione, la velocità di stampa, le dimensioni del foglio di carta su cui operano la
possibilità 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 attraverso minuscoli ugelli. Sono presenti sul mercato stampanti con una risoluzione di
300 punti per pollice (dpi) e anche con 600 o più dpi sia per la stampa monocromatica che per quella a colori. Le più comuni risoluzioni per le stampanti a colori utilizzate 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.
Le memorie di massa
© RCS LIBRI EDUCATION SPA
2.6
Come è facile intuire, la sola memoria centrale (RAM e ROM) interna al PC non è sufficiente né adatta a memorizzare i numerosi programmi e i dati che normalmente sono
utilizzati dall’utente. Infatti la RAM perde l’informazione ogni volta che viene spento il
computer mentre la ROM, essendo a sola lettura, non può essere alterata. Inoltre, anche
se attualmente i PC possono disporre di notevole capacità di memorizzazione a costi
contenuti, i nuovi programmi applicativi raggiungono ormai lunghezze ragguardevoli.
Si rendono pertanto necessari altri tipi di memoria che permettano all’utente di conservare dati e programmi quando il computer è spento. I supporti utilizzati per conservare
permanentemente le informazioni sono i floppy disk, gli hard disk, i CD-ROM, i DVD ed
i dischi magneto-ottici.
2.6.1
Floppy disk
BORDO ESTERNO
BORDO INTERNO
SETTORE
PRIMA TRACCIA
ULTIMA TRACCIA
Fig. 2.1
2.6.2
I floppy disk, o dischi flessibili, sono dischi removibili
costituiti da un supporto in plastica ricoperto di ossidi
magnetici.
Attualmente i dischi utilizzati sono quelli da 3 pollici
(3.5”) che hanno una capacità di 1.44 Mbyte. Per poter
esser letti o scritti, i floppy disk debbono essere inseriti in
appositi dispositivi, denominati drive, muniti di motore
per la rotazione del disco e di apposite testine, che sono
mosse radialmente, per effettuare il prelievo o il deposito delle informazioni sulla superficie magnetica.
I floppy sono messi in rotazione solo quando sono eseguite su di essi operazioni di lettura o scrittura. Sul
disco, durante il processo chiamato formattazione, vengono magneticamente contrassegnate, su ciascuna delle due facce, un certo numero di tracce concentriche e
poi, ogni traccia, viene suddivisa in un certo numero di
settori (fig. 2.1).
Dischi removibili
Accanto ai floppy disk si sono diffusi altri tipi di dischi removibili che offrono all’utente
una maggiore capacità di memorizzazione ed una maggiore velocità di accesso ai dati.
28
MODULO 1
I SISTEMI
INFORMATICI
m01ud02.qxd
30-06-2004
11:06
Pagina 29
Anche se non si è in presenza di uno standard, alcuni dispositivi hanno raggiunto una
buona diffusione. Si citano tra i modelli più utilizzati:
• Iomega Zip: dispone di dischi con capacità di 100 o 250 Mbyte o più. Non è compatibile con i floppy standard. Il drive può essere interno o esterno. Esistono vari tipi che
possono 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ò gestire
anche i normali floppy disk.
• Sony HiFD: i dischi hanno una capacità di 200 Mbyte ed il drive è compatibile con i
normali floppy.
2.6.3
Hard disk
Il disco rigido, o hard disk, viene anche detto disco fisso, in quanto non è estraibile dal
drive. In realtà esistono anche hard disk removibili posti all’interno di un cassetto, munito 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 circolare, realizzato con una lega di alluminio ricoperta da uno strato di materiale magnetico. Normalmente per realizzare un disco rigido vengono adoperati più supporti, fissati
su un unico asse, solidali tra di loro, che ruotano tutti insieme. I piatti di un hard disk
ruotano a una velocità superiore a quella dei floppy, variabile a seconda del tipo da circa 5200 a oltre 7200 giri al minuto.
I drive degli hard disk sono mantenuti sempre in rotazione poiché, per il modo in cui
sono realizzati, impiegano un certo tempo per raggiungere la velocità di regime. La rotazione 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 scrittura e di lettura.
Su ogni piatto, costituente il disco rigido, sono presenti due testine, una per faccia, che
si muovono radialmente su di esso. Tutte le testine sono poi collegate a un braccio meccanico 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 raggio. Nella figura 2.2 è schematizzata la struttura di un disco rigido.
Braccio Testine
Disco
Altri dischi
Supporto unico
per tutte le
testine
Disco
Facce
Disco
Testine
Fig. 2.2
Motore per il trascinamento
dei dischi
Anche le superfici (superiore ed inferiore) di ciascun piatto del disco fisso sono suddivise in tracce. L’insieme di tutte le tracce descritte sulle superfici di tutti i piatti formano
una pila di tracce detta cilindro. Le tracce di ogni piatto sono normalmente divise in settori. Il raggruppamento di più settori contigui, utilizzati dal sistema operativo come blocco 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
29
Unità 2
Le periferiche del PC
m01ud02.qxd
30-06-2004
11:06
Pagina 30
settori contigui. Poi con le continue cancellazioni di dati e programmi, o parti di essi, le
nuove memorizzazioni sono fatte in settori non più contigui. Quindi uno stesso programma o una serie di dati, appartenenti allo stesso insieme, vengono ad essere memorizzati 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 iniziale
si ricorre alla defragmentazione del disco. Un’apposita utility, fornita con i sistemi operativi, 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 transfer rate esterno indica la velocità con cui vengono trasferite le informazioni dalla
memoria cache contenuta nel disco; il transfer rate interno specifica invece la velocità di trasferimento senza utilizzazione della cache interna.
• Velocità di rotazione (rpm: rotazioni per minuto – in genere a maggiore velocità corrisponde un transfer rate interno maggiore).
• Disco di tipo EIDE collegabile direttamente al controller presente sulla scheda madre
attraverso un connettore IDE.
• Disco di tipo SCSI (leggere scasi): sono dischi con caratteristiche più elevate; necessitano di una apposita scheda d’interfaccia.
2.6.4
Drive per CD-ROM e DVD
I drive adatti alla lettura dei CD-ROM hanno un cassettino estraibile in cui si inserisce il
disco (normalmente con la superficie su cui si trovano i dati rivolta verso il fondo del cassetto).
Le informazioni sono incise sul disco, in formato binario, in forma ottica con piccole zone
riflettenti (land) e altre opache (pit), poste su un’unica traccia, a forma di spirale, che
parte 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 di
1,6 µm. Il disco, in fase di lettura, viene posto in rotazione ed un sistema ottico, dotato
di un diodo laser, mosso su un braccetto lungo un raggio del disco, illumina la superficie
e, il raggio laser, riflesso o meno a seconda che colpisca un land o un pit, viene inviato ad
un 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 CD
utilizzano normalmente la tecnica CAV (Constant Angular Velocity) e meno frequentemente la tecnica CLV (Constant Linear Velocity) e a volte ambedue.
Con la CAV il disco ruota con velocità angolare costante. Quindi esso impiega sempre lo
stesso tempo per compiere una rotazione completa. Di conseguenza le tracce interne
passeranno sotto la testina di lettura in modo più lento mentre quelle più esterne con
velocità superiore. Per questo la velocità di trasferimento dei dati sarà più bassa sulle
tracce esterne e più elevata su quelle interne.
La velocità di trasferimento dei dati, per un lettore CD, è indicata con un numero seguito dalla X (per esempio 40X). Si tenga presente che il valore 1X corrisponde ad un trasferimento 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 trasferimento pari a circa 18X.
In un CD (definito normalmente CD-R) sono memorizzati normalmente 650 Mbyte o 700
Mbyte 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à di
memorizzazione, nel DVD sono utilizzati pit e land di dimensioni ridotte rispetto al comune CD-R. Inoltre il laser emettitore utilizza una lunghezza d’onda inferiore (650 nm) e la
meccanica del drive è più precisa.
30
MODULO 1
I SISTEMI
INFORMATICI
m01ud02.qxd
30-06-2004
11:06
Pagina 31
Un lettore DVD deve essere in grado di leggere anche un CD. Per la velocità di trasferimento dei dati per un lettore di DVD si considera l’unità base 1X = 1350 Kbyte/s. In genere in un lettore per DVD è indicata separatamente la velocità di trasferimento dei dati in
modalità lettore CD.
2.6.5
Masterizzatori per CD
© RCS LIBRI EDUCATION SPA
I masterizzatori sono utilizzati per incidere CD del tipo CD-R (Recordable), ovvero che
possono essere incisi una sola volta, o CD-RW (ReWritable), che possono essere riscritti
più volte.
Sui dischi è sempre incisa la capacità di memorizzazione del supporto (650 Mbyte o 700
Mbyte) 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 un
drive per la masterizzazione utilizza tre velocità distinte per la scrittura dei CD-R, per la
scrittura dei CD-RW ed infine per la lettura (per esempio 24X-10X-40X). A corredo dei
masterizzatori è spesso fornito un apposito software che serve per compiere tutti i processi di masterizzazione.
La scrittura di un CD-R può essere eseguita tutta in una volta (in una sola sessione) o in
più 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 ogni
sessione, all’inizio della zona registrata con i dati, viene posta un’area detta lead-in che
contiene la TOC (Table Of Contents) ovvero l’indice con le informazioni relative alla struttura 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 normalmente
per la copia di dati da un CD ad un altro. Questo metodo è utile per la produzione di
CD audio, poiché non crea intervalli fra le tracce.
– TAO (Track At Once, ovvero traccia per traccia): quando si registra in modalità Track
at Once il processo di scrittura viene interrotto dopo ogni traccia. Ogni traccia registrata 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 dati
in tempi diversi.
– PACKET WRITING (scrittura a pacchetto): il CD è utilizzato come un comune disco rigido. Dopo una particolare formattazione si possono trasferire sul disco file e cartelle.
Normalmente, fin quando il disco non viene finalizzato, la sua lettura è possibile solo
per 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 file
system dei CD-ROM, introdotte dalla Microsoft, dette Joliet, sono estensioni dello standard 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ì detto buffer underrun, che rendeva il disco non più utilizzabile. Il buffer underrun è dovuto allo svuotamento del buffer di memoria presente nel masterizzatore in cui sono contenuti i dati che debbono essere incisi sul disco, a causa di una bassa velocità di trasferimento 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 tra
tutte si cita il Burn-Proof.
31
Unità 2
Le periferiche del PC
m01ud03.qxd
30-06-2004
11:08
Pagina 32
unità
3. La memoria
centrale del PC
3.1
La memoria centrale
Un calcolatore deve necessariamente essere fornito di memoria di tipo ROM (a sola lettura, 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 i
test 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 è richiesta l’installazione di grossi quantitativi di RAM.
La memoria complessiva che può essere installata all’interno di un PC è strettamente
correlata con il tipo di CPU presente nel sistema ed alla particolare motherboard (piastra 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à, raggruppati
in 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 di
memoria sempre più elevati con conseguente aumento di pin necessari per il collegamento con la scheda madre. Si è passato così dai moduli di tipo SIMM (Single In-line
Memory Module) a 30 pin, ai SIMM a 72 pin, ai DIMM a 168 pin ed infine a quelli 184
pin 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 RAM
cioè delle DRAM di tipo sincrono) o SDRAM del tipo DDR.
Nella memoria possono essere immagazzinati dati, in formato binario. Normalmente
ogni 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 linee
presenti nel suo bus indirizzi. Infatti, considerando che su tali linee si possono trovare solo
livelli binari (uno o zero), si ha che il numero di indirizzi diversi che si possono avere, ognuno 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 delle
linee di indirizzo della CPU e quindi del bus indirizzi stesso. Le singole posizioni di
memoria, nella quale vengono caricate informazioni in forma binaria, sono denominate comunemente locazioni.
3.1.1
La memoria centrale con MS-DOS
Il sistema operativo MS-DOS fu creato inizialmente per operare con la CPU 8088 della
INTEL. Tale processore ha un BUS INDIRIZZI formato da 20 linee. Pertanto esso è in
grado di gestire un quantitativo massimo di dati pari a 1 Mbyte (220 = 1048576). Per
questo la stesura della prima versione del DOS, e poi anche delle successive, sono strettamente legate a tale caratteristica.
32
MODULO 1
I SISTEMI
INFORMATICI
m01ud03.qxd
30-06-2004
11:08
Pagina 33
Con il sistema operativo MS-DOS la divisione dello spazio di memoria indirizzabile, diviso in 16 blocchi di 64 Kbyte ciascuno, è così ripartito:
• i primi 640 Kbyte (10 blocchi) sono destinati ad essere occupati da memorie di tipo
RAM, atte a contenere sia i programmi di sistema (prima parte) che programmi e dati
dell’utente;
• i successivi 128 Kbyte (due blocchi) destinati alla gestione del video;
• i rimanenti 256 Kbyte (quattro blocchi) destinati a contenere memorie, generalmente di tipo ROM, con il ROM-BIOS (posto nell’ultimo blocco) o con estensioni del BIOS
stesso.
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 memoria). Le parti di tale memoria non utilizzate vengono chiamate blocchi di memoria superiore (UMB), e sono adoperati per particolari funzioni di estensione della memoria. È da
tenere presente che in un PC, con il sistema operativo MS-DOS, senza particolari accorgimenti, 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 superiori a 20 si è reso possibile adoperare una quantità di memoria superiore ad 1 Mbyte. Però i
vincoli imposti dal sistema operativo MS-DOS, per conservare la compatibilità con le precedenti versioni hanno reso necessario utilizzare particolari sistemi per sfruttare quantitativi
di memoria più elevati, necessari per estendere i 640 Kbyte della memoria convenzionale.
La Memoria estesa o XMS (eXtended Memory Specification), è la parte di memoria presente nei PC con estensione al di sopra del Mbyte.
Con l’introduzione del sistema operativo WINDOWS 95 e poi WINDOWS 98 non esiste
più la distinzione tra memoria convenzionale e memoria estesa. Il processore in tal caso
lavora in modalità protetta e la memoria viene vista come un unico blocco. Tuttavia se
si usa il sistema operativo MS-DOS, e programmi che lavorano con tale sistema operativo, la precedente suddivisione rimane ancora valida.
3.1.2
Memoria cache
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, costringono la CPU stessa, durante le operazioni di lettura e di scrittura, a stati di attesa (wait
state), rallentando pertanto il funzionamento del sistema.
Per eliminare in parte tale inconveniente, vengono inserite nel PC delle memorie di tipo
statico (SRAM), molto più veloci delle DRAM, ma anche più costose, che costituiscono
la così detta memoria cache.
Tale memoria, posta tra la memoria DRAM ed il processore, è quindi quella a cui esso
accede direttamente. Utilizzata come memoria di transito, vengono memorizzati in essa
dati e parti di programma, prelevati dalla memoria SDRAM. I processori dispongono
anche 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 prossime a quelle del processore stesso.
3.1.3
Memoria cache per disco (o memoria di scambio o
memoria virtuale)
La memoria cache per disco non è da confondere con la precedente memoria cache,
costituita da RAM di tipo statico; è infatti una memoria costituita semplicemente da
alcune zone della RAM dinamica, che vengono destinate, gestendole con opportuni
programmi, a buffer per i dati del disco.
33
Unità 3
La memoria centrale del PC
m01ud03.qxd
30-06-2004
11:08
Pagina 34
Per rendere più veloci le operazioni di lettura o scrittura su disco, per evitare continui
accessi 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 alla
memoria operando in tal modo più velocemente. Naturalmente quando si deve accedere a zone diverse di disco, la memoria cache va caricata con i nuovi dati.
3.1.4
Memoria CMOS
•
•
•
•
•
•
•
3.2
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.
Caratteristiche delle memorie
© RCS LIBRI EDUCATION SPA
È una memoria realizzata in tecnologia C-MOS (Complementary Metal Oxide Semiconductor),
quindi a basso assorbimento di corrente, mantenuta sempre in funzione, anche con il
PC spento, per mezzo di una piccola batteria. Su di essa è memorizzata la configurazione 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 fondamentali del programma di setup, si evidenziano le seguenti:
‹ Una memoria è un dispositivo elettronico in grado di memorizzare dati in binario, per
poi fornirli al momento opportuno, quando richiesti.
Un dispositivo elettronico, in grado di memorizzare un solo bit (zero o uno), viene definito come cella elementare di memoria.
Normalmente una memoria è formata da numerose celle, che permettono la memorizzazione di grossi quantitativi di dati. Dal punto di vista elettronico una cella può essere costituita in modo diverso a seconda della tecnologia con cui si realizza il dispositivo
di memoria1.
In riferimento alla tecnologia costruttiva di base si possono suddividere le memorie in
due grosse categorie: quelle con tecnologia bipolare e quelle con tecnologia di tipo
MOS (N-MOS o CMOS).
Nella figura 3.1 sono rappresentate alcune celle elementari per particolari tipi di memoria e per le tecnologie di base bipolare e MOS:
A)
B)
C)
D)
cella
cella
cella
cella
Fig. 3.1
di
di
di
di
tipo PROM con tecnologia bipolare;
tipo PROM con tecnologia MOS;
RAM STATICA in tecnologia MOS;
RAM DINAMICA in tecnologia MOS.
(A)
(B)
( C)
( D)
1 Per una più ampia descrizione della costituzione delle celle di memoria, vedasi il testo Elettronica - La logica di Giometti-Frascari, cap. 12, edizioni Calderini.
34
MODULO 1
I SISTEMI
INFORMATICI
m01ud03.qxd
30-06-2004
11:08
CELLA ELEMENTARE
c1
( 1 BIT )
Pagina 35
COLONNE
c2
c3
c4
Le celle elementari di una memoria sono in genere
disposte in modo da formare una matrice come è
rappresentato nella figura 3.2.
In tale matrice ogni singola cella è univocamente
individuata da un numero ri di riga (r1, r2, r3, r4) e da
un numero cj di colonna (c1, c2, c3, c4).
Per accedere alle singole celle, bisogna selezionare
la riga e la colonna che la individuano.
La cella posta sulla terza riga e sulla seconda
colonna, ad esempio, viene selezionata attivando
le linee r3 c2. Con tale modo di procedere, la selezione sarebbe troppo onerosa, in termini di
impiego di linee, per effettuare la scelta della singola cella.
Per una memoria di sole 16 celle disposte a matrice
con 4 righe e 4 colonne, occorrerebbero infatti ben
otto linee, 4 per le righe e 4 per le colonne, per individuare ciascuna cella.
Se invece si utilizzano due decodificatori, uno per
le righe e un altro per le colonne, sempre riferendosi alla memoria con 16 celle, queste si possono
individuare con solo 4 linee, come illustrato nella
figura 3.3. Due di queste, poste in ingresso al
decodificatore delle righe (A3 e A2), permetteranno di scegliere con i quattro codici binari diversi
(002, 012, 102, 112), le quattro righe e le altre due
linee (A1 e A0), permetteranno la scelta di una
delle 4 colonne.
Tale procedimento è sintetizzato nella tabella 3.1.
cn
r1
r2
RIGHE r3
r4
rm
Fig. 3.2
A1
A0
DECODER COLONNE
r1
A2
DECODER
r2
RIGHE
r3
A3
r4
c1
c2
c3
c4
Fig. 3.3
TAB. 3.1
A3
A2
Selez. riga
A1
A0
Selez. colon.
0
0
0
0
0
1
0
1
1
0
1
0
1
1
r1
r2
r3
r4
1
1
c1
c2
c3
c4
Con tale procedimento se r rappresenta il numero delle linee in ingresso al decoder
delle righe, e c il numero delle linee in ingresso al decoder delle colonne, il numero N
di 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 e
quello, 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. Ognuno
dei 16 indirizzi seleziona una riga ed un colonna che individuano poi la cella posta al
loro incrocio. Si veda a tale proposito la tabella 3.2.
35
Unità 3
La memoria centrale del PC
m01ud03.qxd
30-06-2004
11:08
Pagina 36
Si ha quindi che con codici di n bit (distribuiti tra le righe e le colonne), possono essere individuate 2n celle diverse di
memoria.
Si definisce capacità C di una memoria il
numero di bit che possono essere memorizzati nella memoria stessa.
Nelle memorie commerciali, spesso si
raggruppano le celle elementari di ogni
riga, in modo da formare strutture con 4
o 8 celle e a volte anche con 16, 24 o 32.
In tale maniera ad ogni accesso alla
memoria possono essere individuate
parole di 4 o 8 bit o 16 o più bit.
Le più diffuse memorie presentano quindi un’organizzazione interna di 1 bit, 4
bit o 8 o più bit.
Si parla in tal caso di memorie con organizzazione in parole (word) di:
TAB. 3.2
A3
A2
A1
A0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Riga Colon.
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
n word × 1 bit
n word × 4 bit
n word × 8 bit
dove con n si è indicato il numero di raggruppamenti di celle elementari presenti nella memoria.
Nel caso di raggruppamenti a 4 o 8 bit, dovendosi selezionare gruppi, e non più singole celle, occorrono meno linee d’indirizzo per la selezione delle parole contenute
nella memoria, in quanto celle elementari di ogni gruppo sono selezionate contemporaneamente. Quanto detto è chiarito nella figura 3.4, ove è presa in considerazione
una matrice di celle di formato 64 × 64. La memoria in totale può memorizzare 4096
bit (64 × 64 = 4096). Se si considera la memoria con organizzazione interna di 4096 parole × 1 bit, occorrono 6 linee d’indirizzo per le righe ed altrettante per le colonne. Infatti
con 6 bit si possono ottenere, attraverso i decoder, 64 combinazioni diverse (26 = 64) per
le righe e 64 per le colonne.
Se invece la stessa matrice di 4096 bit è organizzata in 1024 parole × 4 bit, occorrono
sempre 6 linee di indirizzo da inviare al decoder delle righe, ma solo 4 linee per il decoder delle colonne. Infatti in tal caso ogni riga può essere pensata formata da 16 raggruppamenti di 4 celle elementari ognuno. E, per selezionare 16 raggruppamenti, sono
necessarie 4 linee in ingresso al decoder.
In realtà all’utente non interessa come siano distribuite le linee d’indirizzo, all’interno
della memoria, tra le righe e le colonne, ma solo conoscere il numero totale delle linee
per selezionare tutti i possibili raggruppamenti di celle all’interno della memoria stessa.
A5 A4 A3 A2 A1 A0
A9 A8 A7 A6
OGNI RIGA
16 GRUPPI DI 4 CELLE
DECODER COLONNE
DECODER COLONNE
c1
c1 c2 c3
A6
r1
A7
A8
A9
DECODER
RIGHE
r2
MATRICE
r3
64 x 64
36
A11
4 CELLE 4 CELLE
A6
4 CELLE
r1
A7
A8
DECODER
A9
RIGHE
MATRICE
64 x 64
A10
A10
Fig. 3.4
c64
c16
r64
A11
r64
MODULO 1
I SISTEMI
INFORMATICI
m01ud03.qxd
30-06-2004
11:08
Pagina 37
‹ Si definisce locazione di memoria un raggruppamento di celle elementari a cui si può accedere con un’unica combinazione delle linee d’indirizzo, in generale si può dire che, con n
linee 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 celle
elementari (1048576 × 8 = 8388608).
3.3
Classificazione delle memorie
© RCS LIBRI EDUCATION SPA
Altro parametro caratteristico delle memorie è il tempo di accesso, ovvero il tempo che
intercorre dal momento in cui viene indirizzata una locazione di memoria a quello in
cui si rende disponibile il dato all’esterno del dispositivo, in caso di lettura, o a quello
necessario per depositare il dato nella locazione selezionata, in caso di scrittura.
La prima classificazione che può essere effettuata con le memorie è relativa al tipo di
tecnologia con cui sono realizzate le singole celle elementari. Si hanno pertanto:
• memorie di tipo bipolare realizzate con transistor di tipo BJT. Tali tipi di memorie
permettono tempi molto brevi per l’accesso ai dati, ma non offrono la possibilità di
ottenere chip con grandi capacità di memorizzazione;
• memorie con celle realizzate con transistor di tipo MOS. In base al tipo di transistore
usato 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 rispetto al tipo bipolare. Tuttavia le nuove tecnologie hanno permesso di realizzare memorie di tipo MOS sempre più veloci, e con elevatissima scala di integrazione. Pertanto
tali tipi di memoria possono considerarsi attualmente i più diffusi.
Una classificazione delle memorie in base alle loro caratteristiche funzionali può essere
poi fatta secondo le modalità con cui si può accedere al dispositivo: si avranno pertanto memorie a sola lettura e memorie a lettura e scrittura.
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 alcuna
limitazione.
In base poi alla modalità con cui rimangono memorizzati i dati nelle memorie si hanno
memorie volatili e non volatili.
Memorie volatili e non volatili
37
volatili
Memorie che perdono il loro contenuto una volta che sono disconnesse
da una sorgente di alimentazione. Le RAM sono memorie volatili.
non volatili
Memorie che mantengono le informazioni in esse memorizzate anche
quando non sono più alimentate. A tale tipo appartengono le ROM, le
PROM, le EPROM, le EEPROM.
Unità 3
La memoria centrale del PC
m01ud03.qxd
30-06-2004
3.3.1
11:08
Pagina 38
Memorie non volatili
Le memorie non volatili hanno nomi e caratteristiche diverse; esse sono le ROM, le
EPROM, le EEPROM, e sono tutte memorie, come detto, a sola lettura. I vari tipi si differenziano per le caratteristiche costruttive e per il modo di programmazione, ovvero
per come vengono scritti in essi i dati che poi conserveranno anche in assenza di alimentazione:
• ROM (Read Only Memory): le memorie ROM sono programmate in sede di fabbricazione ponendo a livello logico alto o basso le singole celle. La loro programmazione
è commissionata direttamente dall’utente secondo contenuti specifici. È evidente
che i dati contenuti nelle memorie ROM, una volta fabbricate, non sono in alcun
modo modificabili. Le memorie ROM sono caratterizzate da un basso costo, ma solo
per produzione di grandi quantità, e hanno una buona facilità d’impiego. Tali
memorie sono utilizzate per realizzare decodifiche veloci, per contenere programmi
non soggetti a modifiche e in applicazioni specifiche quali la costruzione di strumenti elettronici programmabili. Sono realizzate sia in tecnologia bipolare che in
quella MOS (C-MOS e N-MOS).
• PROM (Programmable ROM): per superare le limitazioni delle memorie ROM, sono
state introdotte le memorie PROM. Queste memorie sono, a differenza delle ROM,
programmabili dall’utente ed escono dalla fabbrica con tutte le celle allo stato logico alto. Con un apposito strumento, detto programmatore di PROM, l’utente può
cambiare lo stato delle singole celle bruciando alcuni collegamenti interni con appositi impulsi di tensione. La memoria PROM può essere programmata una sola volta
in quanto non è possibile ripristinare i collegamenti bruciati. Le memorie PROM
hanno una buona facilità d’impiego. Possono avere gli stessi campi di applicazione
delle ROM. In tal caso non occorre la produzione di grossi quantitativi per abbassare il costo di produzione.
• EPROM (Erasable Programmable ROM): le memorie EPROM sono memorie programmabili ma anche cancellabili, per poter essere di nuovo riprogrammate. La cancellazione è ottenuta esponendo la memoria a raggi ultravioletti di particolare lunghezza d’onda (non inferiore a 2537 A) per circa 20 minuti; a tal fine esiste sul circuito integrato una apertura o finestra protetta da un materiale trasparente ai raggi
ultravioletti. Tuttavia è da aggiungere che anche raggi ultravioletti con maggiore
lunghezza 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 decina di anni. La programmazione delle EPROM è fatta con un programmatore, che
invia impulsi di tensione sugli appositi pin del chip. Le memorie EPROM hanno un
costo contenuto e buona facilità d’impiego.
• EEPROM (Electrical Erasable Programmable ROM): le EEPROM sono cancellabili elettricamente senza dover far ricorso ai raggi ultravioletti. Il numero dei cicli di cancellazione è limitato a 10000 per i primi tipi prodotti, e arriva fino a 100000 per i chip
delle ultime generazioni. Le EEPROM hanno avuto negli ultimi tempi una grande
diffusione in quanto utilizzate per memorizzare il firmware di vari tipi di dispositivi
(per esempio dei modem) per permetterne poi l’aggiornamento in circuit, ovvero
senza togliere il chip di memoria dall’apparecchiatura. Sono poi utilizzate anche nei
PC, sulle motherboard, per contenere la parte del sistema operativo (ROM-BIOS) residente nella macchina che provvede all’accensione, all’avvio del sistema. In tal modo
è possibile aggiornare facilmente il BIOS senza aprire il computer. Altra applicazione recente delle EEPROM è legata alle nuove tecnologie costruttive dei microcontroller (➜ Modulo 11). In questi dispositivi essa costituisce a volte sia la memoria di
programma che quella dati o solo quella per i dati.
3.3.2
Memorie volatili
Le memorie RAM (Random Access Memory) volatili possono essere scritte e lette in
continuazione. Quando viene tolta l’alimentazione le RAM perdono il loro contenuto.
38
MODULO 1
I SISTEMI
INFORMATICI
m01ud03.qxd
30-06-2004
11:08
Pagina 39
Tipi di RAM
RAM statiche o SRAM
Realizzate sia in tecnologia bipolare che in tecnologia MOS.
Mantengono le informazioni in esse memorizzate, fino a quando
rimangono connesse ad una sorgente di alimentazione, senza necessità di particolari operazioni. L’elemento di base per la memorizzazione per questo tipo di memorie è costituito da un flip-flop.
RAM dinamiche o DRAM Realizzate in tecnologia MOS. Necessitano di un ripristino, ad intervalli di tempo prefissati, dei dati in esse memorizzati. Le memorie RAM
dinamiche offrono la possibilità di integrare su un unico chip un elevatissimo numero di celle elementari.
• SRAM (Static RAM): le memorie SRAM sono costruite attualmente quasi esclusivamente in tecnologia MOS e sono caratterizzate da velocità anche molto elevate, con
tempi di accesso di poche decine di nanosecondi; la loro capacità è inferiore a quella delle memorie dinamiche. L’impiego delle SRAM risulta molto facilitato e trovano
applicazione nei sistemi di memoria di tipo cache (➜ Modulo 2, unità 1), ovvero
memorie di transito interposte tra microprocessore e memorie dinamiche.
• DRAM (Dynamic RAM): le DRAM sono costruite in tecnologia MOS. Il funzionamento delle DRAM si basa sullo stato di carica di un condensatore, collegato con il transistore di tipo MOS, che costituisce la singola cella (vedere fig. 3.1D).
Una tensione ai capi del condensatore è interpretata come livello logico alto, mentre una tensione nulla è interpretata come livello logico basso.
L’informazione memorizzata sul condensatore tende tuttavia a degradarsi in un
tempo abbastanza breve a causa della scarica del condensatore dovuta alle correnti
di fuga per le impedenze alte ma non infinite del transistore MOS.
Per mantenere l’informazione delle memorie dinamiche si ricorre ad appositi circuiti detti di rinfresco. Il rinfresco delle celle di memoria si realizza con una successione
di cicli di lettura che interessano via via tutte le celle della memoria e con il contemporaneo ripristino dei valori letti.
L’operazione di rinfresco deve svolgersi in un tempo massimo, variabile a seconda
del tipo di DRAM, entro il quale devono essere ripristinate le informazioni immagazzinate pena la perdita delle stesse. L’operazione di rinfresco può essere eseguita
direttamente da appositi segnali della CPU o, nei casi più complessi, attraverso appositi circuiti supplementari. Nelle nuove memorie DRAM sono previsti anche circuiti
interni al dispositivo per l’auto-refresh.
Le memorie DRAM sono caratterizzate da valori di capacità molto superiori a quelle delle SRAM, hanno buona velocità e sono poi caratterizzate da basso consumo. Le
memorie DRAM sono utilizzate per creare grossi banchi di memoria nei personal
computer e in stazioni per la gestione di elaborazioni grafiche.
3.4
Approfondimenti sulle memorie
La struttura interna delle memorie dinamiche è realizzata come una matrice di celle elementari e l’accesso alle singole
____ le righe e le colonne con spe____ celle è fatto selezionando
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 celle
costituenti la memoria, quando sulle linee d’indirizzo viene posto l’indirizzo di una riga
o quello di una colonna. In questo modo, le linee d’indirizzo che sono collegate
al chip
____ ____
contengono o l’indirizzo di una riga o quello di una colonna. I segnali CAS e RAS indicano al chip di memoria rispettivamente se l’indirizzo è quello di una linea o di una
colonna. Solo dopo che sul chip sono poste successivamente tutte e due le parti d’indirizzo relative alla riga e alla colonna, il bit (dato) contenuto nella cella indirizzata viene
posto sulla linea dati collegata con la cella indirizzata.
39
Unità 3
La memoria centrale del PC
30-06-2004
11:08
Pagina 40
T1
T2
T3
T4
T5
T6
T7
110 ns min
RAS
RIGA
COLONNA
CAS
OE
DATO
tcac
Fig. 3.5
trac 60 ns
La tecnologia costruttiva e le modalità di funzionamento e quindi i metodi d’interfacciamento delle memorie dinamiche alla CPU hanno seguito nel tempo notevoli variazioni. 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 accesso 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 una
riga 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 relativamente ai segnali CAS e RAS sono detti tcac e__trac
indicano
la disponibilità del
__ e__
__
dato dal momento in cui diventano attivi i segnali CAS e RAS;
– alla lettura del dato segue un ciclo di refresh della memoria.
© RCS LIBRI EDUCATION SPA
m01ud03.qxd
Come si vede dalla temporizzazione, per
poter accedere ad un nuovo dato prima che
____
possa 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 accesso di volta in volta alla riga e poi alla colonna, può essere migliorato utilizzando chip
di memoria che supportano modalità diverse per l’accesso ai dati.
Si utilizza normalmente un trasferimento di tipo burst (a raffica) in cui i dati vengono
trasferiti una serie per volta, leggendo locazioni di memoria consecutive. In genere i
dati letti dalla DRAM sono trasferiti nella cache.
Normalmente in un ciclo di burst (burst cycle) vengono letti dalla memoria DRAM 4 dati
consecutivi per volta. La grandezza dei dati letti (2, 4, 8 byte) dipende dal numero di
linee del bus DATI.
Per esempio: con un processore con bus dati da 32 bit, debbono essere effettuate in
un ciclo di burst 4 letture consecutive trasferendo in ognuna di esse 4 byte (32 bit
quante sono le linee del bus dati). Questi 4 dati da 32 bit sono posti in una linea della
memoria cache. Per eseguire un ciclo di burst occorre un certo numero di cicli di
clock 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 dati
dipende quindi sia dalla frequenza del clock del bus sia dal tipo di memoria utilizzato.
La tecnologia costruttiva delle DRAM ha subito notevoli variazioni nel corso degli anni per
tenere il passo con le CPU sempre più veloci: si è così passati dalle DRAM tradizionali alle
DRAM 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 alle
DRAM tradizionali. In esse è stato introdotto un registro per memorizzare l’indiriz40
MODULO 1
I SISTEMI
INFORMATICI
m01ud03.qxd
30-06-2004
11:08
Pagina 41
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 indirizzati. 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 66
MHz, le PC100 con tempi di ciclo di 10 ns e frequenza del bus a 100 MHz, e infine le
PC133 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 quelle
della CPU.
Con una memoria con frequenza del clock del bus a 66 MHz, dopo l’accesso al primo
dato (che avviene in 5 cicli di clock) la lettura dei dati successivi avviene con un solo
ciclo 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 procedendo ad una inizializzazione del dispositivo. Le inizializzazioni possibili sono:
1. Lunghezza della serie dei dati da leggere (burst length) programmabile in genere in 1, 2, 4, 8 o tutta la pagina. Quindi la lunghezza del burst indica il numero
massimo delle colonne a cui si può accedere con una data operazione di lettura
o scrittura in memoria.
2. Modalità con cui effettuare la lettura (burst type), in genere del tipo sequenziale 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 cui
dopo un comando di lettura di un dato esso è reso disponibile.
4. Modalità con cui eseguire le operazioni di lettura o scrittura (burst mode), ovvero se si deve accedere ad una singola locazione oppure se si deve operare attraverso la modalità burst length programmata (serie di colonne da leggere).
CAS LATENCY = 2
COMMAND
ACTIVE
READ
INDIRIZZO
RIGA
COLONNA
DATO 1
DATO 2
Fig. 3.6
DATO 3
DATO 4
BURST LENGTH = 4
Nella figura 3.6 è riprodotto un ciclo di lettura di tipo
burst in cui è programmato
____
un 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 tradizionali ma per il trasferimento delle informazioni utilizzano sia il fronte di salita
che quello di discesa del clock. I moduli disponibili sono PC1600 (per frequenza di
bus a 200 MHz), PC2100 (per 266 MHz), PC2700 (per 333 MHz) e PC3200 (per 400
MHz).
• DR DRAM (Direct Rambus™ DRAM). In queste memorie la tecnologia di trasferimento dei dati è diversa. Nelle DDR si utilizza un bus di trasferimento a 64 bit con
frequenza pari a quella specifica del modulo. Nelle DR DRAM invece si ha un bus
di trasferimento a 16 bit con frequenza di 400 MHz (per il modulo PC800), frequenza che diviene 800 MHz se si considera che vengono utilizzati ambedue i fronti del clock.
41
Unità 3
La memoria centrale del PC
m01ud04.qxd
30-06-2004
11:11
Pagina 42
unità
4. Le porte di
comunicazione
del PC
4.1
Le porte di comunicazione del PC
Il computer può essere collegato verso alcune periferiche per mezzo di porte standard.
Generalmente, come affermato in precedenza, nei nuovi sistemi le interfacce relative
alle varie porte di comunicazione sono integrate o in apposito chip presente sulla piastra
madre o direttamente nei chipset. Normalmente sono presenti in un PC almeno una porta parallela per la stampante, una o più spesso due porte per le comunicazioni seriali, e
due o più porte USB.
4.1.1
La porta parallela
‹ La porta parallela, denominata comunemente Centronics, mette in comunicazione il PC
con la periferica stampante, utilizzata sia per la scrittura su carta di testi che per prestazioni di grafica.
Essa è accessibile all’esterno del computer attraverso un connettore del tipo D a vaschetta a 25 poli femmina. Sono disponibili 8 linee per i dati, 9 per segnali, di ingresso o di
uscita, 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 un
insieme 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 stampante, il successivo per l’input dei segnali di stato provenienti dalla stampante e diretti
verso 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) o
888 (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 del
software (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 trasferimento dati dalla porta parallela.
Essi sono:
• Modalità standard (o Centronics o Compatibility mode), denominata SPP (Standard
Printer Port). In tale modalità si ha trasferimento con le 8 linee dei dati D0-D7 solamente dal PC alla periferica.
• Trasferimento Nibble Mode. I dati sono trasferiti in modo diretto dal PC alla periferica 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 è usata
inoltre dalla periferica per comunicare al PC che è pronto un dato da ricevere.
• Trasferimento Byte Mode. Rappresenta un metodo di trasferimento dati bidirezionale. Le 8 linee dei dati D0-D7 possono trasferire i dati sia dal PC alla periferica che in
42
MODULO 1
I SISTEMI
INFORMATICI
30-06-2004
11:11
Pagina 43
modo inverso. Per il trasferimento dati viene implementato un protocollo, utilizzando alcune delle linee di controllo e di stato, che permette uno scambio ordinato di
dati tra PC e periferica.
• Trasferimento bidirezionale EPP (Enhanced Parallel Port). Le 8 linee dei dati D0-D7
possono 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’acquisizione dati e da periferiche come dischi rigidi, CD-ROM, unità a dischi removibili
e anche per il trasferimento di dati tra due PC.
• Trasferimento bidirezionale ECP (Extended Capabilitie Port) anche in questo caso le 8
linee dei dati D0-D7 possono trasferire i dati sia dal PC alla periferica che in modo
inverso. La modalità ECP è utilizzata soprattutto dalle moderne stampanti e dagli
scanner.
Nello standard IEEE 1248-1994 sono definite le caratteristiche elettriche e meccaniche e
il 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 riferimento alla modalità SPP (i nomi dei segnali cambiano nelle modalità nibble mode, byte
mode, EPP e ECP).
TAB. 4.1
Pin
Segnale SSP
Bit
In Out
Registro
1
D0
I/O
CONTROL
2
STROBE
D0
OUT
DATA
3
D1
OUT
DATA
4
D2
OUT
DATA
5
D2
OUT
DATA
6
D4
OUT
DATA
7
D5
OUT
DATA
8
D6
OUT
DATA
Indirizzo
LPT1
LPT2
37Ah
27Ah
378h
278h
9
D7
OUT
DATA
10
D6
IN
STATUS
379h
279h
11
ACK
BUSY
D7
IN
STATUS
379h
279h
12
Paper End
D5
IN
STATUS
379h
279h
13
Select
D4
IN
STATUS
379h
279h
14
AutoLinefeed
D1
I/O
CONTROL
37Ah
27Ah
15
Error
Inizialize
D3
IN
STATUS
379h
279h
D2
I/O
CONTROL
37Ah
27Ah
I/O
CONTROL
37Ah
27Ah
16
17
18-25
SelectIn
Ground
D3
© RCS LIBRI EDUCATION SPA
m01ud04.qxd
GND
Nota: le linee con casella grigia sono invertite via hardware all’interno del PC. Quelle sopralineate sono attive a livello basso. Si definisce indirizzo base per LPT1 378h e per LPT2 278h. Quindi per la LPT1 il registro di
stato si trova all’indirizzo base + 1 e quello di controllo all’indirizzo base + 2.
Due delle linee del registro di controllo, non riportate nella tabella 4.1, sono utilizzate
per scopi particolari come indicato nella tabella 4.2.
43
Unità 4
Le porte di comunicazione del PC
m01ud04.qxd
30-06-2004
11:11
Pagina 44
TAB. 4.2
Indirizzo
37Ah (LPT1)
37Ah (LPT1)
Bit
Funzione
D5
D4
,
D5 = H abilita funzionamento
bidirezionale sulle linee dati.
D4 = H abilita interrupt. La richiesta si effettua attraverso la linea ACK.
Nota: l’abilitazione del funzionamento bidirezionale è valida solo per quei sistemi in cui è implementata tale
funzione.
4.1.2
Le porte seriali
Nei PC è prevista la possibilità di implementare fino a quattro porte seriali denominate
comunemente COM1, COM2, COM3 e COM4. Ogni porta seriale nello spazio indirizzabile di I/O occupa una serie di 8 indirizzi contigui e predeterminati. Questi otto indirizzi sono poi diversi per ognuna delle COMn installate.
– Alla COM1 sono riservati gli indirizzi 3F8h ÷ 3FFh (1016 ÷1023 in decimale) e la linea
di richiesta d’interrupt IRQ4 del BUS del PC;
– alla COM2 gli indirizzi 2F8H ÷ 2FFH (760 ÷ 767 in decimale) e la linea d’interrupt
IRQ3.
Le porte COM1 e COM2 sono accessibili all’esterno del computer attraverso connettori
del tipo D a vaschetta a 25 o a 9 poli maschio. I livelli dei segnali di uscita non sono TTL
compatibili ma seguono lo standard RS-232/C. Nel PC si ha normalmente per i segnali
d’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 a
115200 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 collegamento del computer con la linea telefonica. Altre periferiche che vengono connesse alle porte seriali sono il mouse, il plotter (strumento per riproduzione di disegni), la
tavoletta 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 poli
o a 25 poli (maschi). Non c’è corrispondenza tra il numero di pin ed i segnali nei due
casi.
TAB. 4.3
Descrizione
9 poli
I/O
2
3
OUT
Sigla
25 poli
Terra di protezione
Protective Ground
FG
1
Dati trasmessi
Trasmitted Data
TD
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
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.
44
MODULO 1
I SISTEMI
INFORMATICI
m01ud04.qxd
30-06-2004
4.1.3
11:11
Pagina 45
La porta USB
La porta USB (Universal Serial Bus) è una porta di tipo
seriale collegata alla periferica con un cavo a quattro
poli. Due dei conduttori del cavo portano fuori del computer una tensione di alimentazione (+5 V) mentre altri
due servono per il trasferimento dati e lavorano in modo
differenziale. Nella figura 4.1 è rappresentato schematicamente un connettore USB.
Normalmente sul PC sono implementati due o più connettori ai quali possono essere connesse altrettante periferiche
di tipo USB. Utilizzando i connettori del PC è possibile fornire anche l’alimentazione alle periferiche connesse.
4
3
2
1
1
2
3
4
GND
DATI ( + )
DATI ( - )
+5 V
Fig. 4.1
4.2
Approfondimento sulle funzioni della porta parallela
4.2.1
Modalità Standard (SPP)
In questa modalità esiste un protocollo di comunicazione per lo scambio dei dati. Le
temporizzazioni 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
STROBE .
3.
Il
PC rialza la linea STROBE . Normalmente la stamPC → STAMPANTE
pante legge il dato con il fronte di salita di questo
STAMPANTE → PC
segnale.
STAMPANTE → PC
4. La stampante riabbassa la linea BUSY e segnala con
PC → STAMPANTE
un impulso su ACK l’accoglimento del dato.
STROBE
BUSY
ACK
DATO
Fig. 4.2
La velocità del trasferimento dati nella modalità SPP è
compresa tra i 50 e 100 Kbyte/s.
4.2.2
Modalità Nibble
In questa modalità sono utilizzate quattro delle cinque linee di stato per inviare al PC
un semi-byte per volta.
Le linee utilizzate per il trasferimento dati in questa modalità sono indicate nella tabella 4.4.
TAB. 4.4
Segnale
SPP
NIBBLE
Registro
Bit
AutoLinefeed
HostBusy
CONTROL
D1
SelectIn
1284Active
CONTROL
D3
ACK
PtrClk
Funzione
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
Nota: le linee con casella scura sono invertite via hardware.
45
Unità 4
Le porte di comunicazione del PC
m01ud04.qxd
30-06-2004
11:11
Q
HostBusy
Pagina 46
T
S
PC → Perif.
U
Perif. → PC
PtrClk
Dato
D0 - D3
R
Fig. 4.3
3.
4.
5.
6.
Perif. → PC
D4 - D7
Le altre linee del registro control non sono
usate. Nella figura 4.3 sono rappresentate le
temporizzazioni per la lettura di un byte.
Le operazioni che vengono compiute per l’acquisizione di un byte sono:
1. Il PC segnala la disponibilità ad accettare
il dato ponendo bassa la linea HostBusy
( AutoLinefeed ).
2. La periferica pone il byte basso sulle linee di
stato.
La periferica comunica che sulle linee c’è un dato valido ponendo basso PtrClk ( ACK ).
Il PC segnala che ha ricevuto il dato ponendo alta la linea HostBusy.
La periferica riporta alta la linea PtrClk.
Si ripetono di nuovo le temporizzazioni per il nuovo semi-byte.
4.2.3
Byte Mode
© RCS LIBRI EDUCATION SPA
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 dati
bidirezionale con le otto linee dati.
I segnali della porta usati in byte mode sono descritti nella tabella 4.5.
TAB. 4.5
Segnale
SPP
BYTE MODE
STROBE
HostClk
Registro
Bit
Funzione
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
CONTROL
D2
Non usata
STATUS
D6
Alto indica dato valido sulle linee dati
Inizialize
ACK
PtrClk
BUSY
PtrBusy
STATUS
D7
Segnala lo stato di occupato sul canale diretto
Paper End
AckDataReq
STATUS
D5
Segue DataAvail
STATUS
D4
Non usata
STATUS
D3
Basso indica che è disponibile un dato per PC
Select
Error
DataAvail
Nota: le linee con casella scura sono invertite via hardware.
Il protocollo tra PC e periferica è riportato nella figura 4.4.
Le azioni svolte per lo scambio di un dato in modo inverso sono:
HostBusy
Q
PtrClk
S
R
Dato
HostClk
T
D0 - D7
U
PC → Perif.
Perif. → PC
Perif. → PC
PC → Perif.
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 accettato 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 riconoscimento per la periferica.
Fig. 4.4
46
MODULO 1
I SISTEMI
INFORMATICI
m01ud04.qxd
30-06-2004
4.2.4
11:11
Pagina 47
Modalità EPP e ECP
Nelle modalità EPP e ECP si ha un notevole incremento della velocità di trasferimento
dati in quanto il colloquio tra PC e periferica avviene a livello hardware e non per
mezzo di un protocollo software. L’invio di un byte dal PC alla periferica avviene con
una semplice istruzione di output, mentre il trasferimento del byte dalla periferica al
PC con un’istruzione di input. Occorre però hardware aggiuntivo per operare in questa
modalità.
Nella modalità EPP il protocollo di comunicazione prevede quattro tipi di trasferimento
dati:
1.
2.
3.
4.
ciclo
ciclo
ciclo
ciclo
di
di
di
di
scrittura dati;
lettura dati;
scrittura di un indirizzo;
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 controllo, selezione di dispositivi diversi connessi sulla stessa porta o invio di comandi.
I segnali utilizzati nella modalità EPP sono descritti nella tabella 4.6.
TAB. 4.6
Segnale
SPP
EPP
STROBE
Write
Bit
In Out
Registro
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
Nota: le linee con casella scura sono invertite via hardware.
Nella modalità EPP si può raggiungere una velocità di trasferimento dati compresa tra
500 Kbyte/s e 2 Mbyte/s.
Quando il PC lavora in modalità EPP ai registri presenti nella modalità SPP ne sono
aggiunti degli altri come riportato nella tabella 4.7.
TAB. 4.7
Registri
47
Indirizzi
DATI (SPP)
BASE + 0
LPT1
LPT2
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
Unità 4
Le porte di comunicazione del PC
m01ud04.qxd
30-06-2004
11:11
Pagina 48
Per eseguire un ciclo di scrittura dati su periferica si deve effettuare semplicemente
un’istruzione di out su periferica scrivendo il dato che deve essere posto in uscita sul
registro con indirizzo BASE+4 (37Ch). Per leggere invece un dato dalla periferica deve
essere 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 ciclo
di scrittura o lettura di tipo EPP.
Le stesse operazioni possono effettuarsi per inviare o ricevere indirizzi. In questo caso
deve essere usato però l’indirizzo BASE+3 (37Bh).
Protocollo ciclo di scrittura dati
Un ciclo di scrittura dati dura esattamente come un ciclo del BUS del PC per la scrittura
dati 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 dati
Un ciclo di lettura dati dura esattamente come un ciclo del BUS del PC per la lettura di
un dato da una periferica. Le fasi del protocollo sono le seguenti:
1. il programma esegue un’istruzione di input da periferica per leggere il registro
BASE+4;
2. il PC pone alta la linea Write per indicare che è in corso un’operazione di lettura da
periferica;
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 linee
per il controllo del trasferimento dati è affidata ad hardware aggiuntivo sia a livello di
PC sia a livello di periferica.
Q
Write
Data Strobe
Q
S U
T
Wait
Dato
R
D0 - D7
V
PC → Perif.
Write
PC → Perif.
Data Strobe
Perif. → PC
Wait
PC → Perif.
Dato
R
S
U
T
D0 - D7
PC → Perif.
PC → Perif.
Perif. → PC
Perif. → PC
Fig. 4.5
48
MODULO 1
I SISTEMI
INFORMATICI
apertuta_m02.qxd
30-06-2004
11:12
Pagina 49
UNITÀ 1. Architettura software di un elaboratore
UNITÀ 2. I sistemi operativi
PREREQUISITI
© RCS LIBRI EDUCATION SPA
Modulo
2. Il software del PC
‹ Possedere le informazioni di base sull’hardwa-
re di un elaboratore
‹ Avere la conoscenza di base della numerazione
binaria 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 preliminare
dei sistemi operativi precedenti con Interfaccia
Grafica (Windows 95/98) o le nozioni di base di
Windows XP stesso
OBIETTIVI
‹ Acquisire le informazioni di base sui file system
e sulle partizioni del disco rigido
‹ Conoscere i concetti fondamentali relativi
all’architettura software di un elaboratore ed
in particolare quelli inerenti le funzioni svolte
dal BIOS, dal Sistema Operativo e dal software
applicativo
‹ Conoscere gli aspetti più significativi di un sistema operativo con interfaccia grafica e saperlo utilizzare opportunamente
m02ud01.qxd
30-06-2004
11:13
Pagina 50
unità
1. Architettura
software di un
elaboratore
Un elaboratore, essendo un sistema programmabile, per poter funzionare ha bisogno
del software, ovvero di programmi che ne permettano prima l’avvio all’atto dell’accensione (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 software
dividendolo in software di sistema e software applicativo.
• Il software di sistema che ha il compito di effettuare il collegamento tra i programmi
applicativi e l’hardware del computer, può essere suddiviso in:
1. ROM BIOS memorizzato su una memoria non volatile (EEPROM) inserita sulla piastra 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 le
funzioni necessarie per un corretto avvio del sistema e poi al caricamento del sistema
operativo dal disco. Il sistema operativo poi presiede a tutte le fondamentali operazioni che riguardano il trattamento dei file su disco, la gestione del video, della tastiera, della stampante e delle altre periferiche presenti nel sistema.
• Il software applicativo è costituito invece dai linguaggi di programmazione e da particolari programmi applicativi come per esempio gli editori di testo o i fogli elettronici o
i data base o altri tipi di programmi necessari per svolgere particolari elaborazioni.
Il software applicativo è quindi costituito dai programmi utilizzati sia per la programmazione di base (linguaggi di programmazione), che per lo svolgimento di particolari compiti di diversa natura.
Esempi di software applicativo, oltre ai linguaggi di programmazione, sono i vari programmi noti col nome di Word processor che permettono di scrivere, correggere e
archiviare testi, i data base specifici per la creazione e gestione di archivi, i fogli elettronici che permettono di manipolare tabelle di dati per ottenere grafici di varia natura, risolvere equazioni e svolgere altre funzioni statistiche e matematiche, programmi di grafica adoperati per il disegno tecnico o per il fotoritocco, editori di testi multimediali per creare testi che possono richiamare immagini, filmati, suoni e che hanno 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.
1.1
Le partizioni del disco rigido
I moderni dischi rigidi in cui sono memorizzati sia il sistema operativo che i vari tipi di
programmi e i dati, hanno ormai raggiunto capacità di memorizzazione molto elevate e
pertanto spesso è necessario procedere alla loro suddivisione in unità con capacità di
memorizzazione più piccole, dette partizioni.
I tipi di partizioni possibili sono:
• Partizione primaria. Su un disco non possono essere create più di quattro partizioni
primarie. Ogni partizione primaria può eventualmente essere formattata in modo
diverso dalle altre per contenere un determinato sistema operativo. Su un disco, se
esistono più partizioni primarie, ne può essere attiva una sola per volta; il sistema
50
MODULO 2
IL
SOFTWARE DEL
PC
m02ud01.qxd
30-06-2004
11:13
Pagina 51
operativo presente sulla partizione attiva è quello che viene avviato. Le altre partizioni possono essere nascoste (ovvero rese non visibili dal sistema operativo avviato)
e pertanto i dati presenti su di esse non sono accessibili. È possibile anche rendere
visibili le altre partizioni, fermo restando il fatto che una sola deve essere quella attiva, in modo da rendere accessibili i dati presenti su di esse.
• Partizione estesa. Una delle quattro partizioni primarie può divenire partizione estesa 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 solamente da una partizione primaria (attiva) presente sul primo disco rigido.
La creazione e manutenzione delle partizioni può essere eseguita (in modo limitato) con
il comando FDISK del DOS o con programmi specifici (per esempio Partition Magic o
Ranish Partition Manager).
Dopo la creazione di una partizione questa deve essere formattata in modo logico in
base al file system relativo al sistema operativo che dovrà essere installato in essa. Il sistema operativo Windows 2000 permette di effettuare con proprie utilità, la formattazione delle partizioni presenti sul disco. Anche il sistema operativo LINUX ha una sua utility
di formattazione.
Si ricordi che la formattazione di una partizione distrugge tutti i dati e i programmi in
essa memorizzati.
1.1.1
Il file system
Il file system rappresenta la modalità con cui un sistema operativo organizza i file sul
disco rigido. Il file system tiene conto dei nomi delle directory e dei nomi dei file, della
allocazione 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 settori. 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 allocazione
file (FAT) a 32 bit.
• NTFS (New Tecnology File System). È il file system proprio di Windows NT e di
Windows 2000 e di Windows XP. Tiene traccia della allocazione dei file usando una
MTF (Master Table File). I file sono memorizzati nei cluster che però hanno una
dimensione indipendente dalle dimensioni del disco e possono essere grandi anche
come un solo settore (512 byte).
WINME 8 Gbyte
FAT32 PRIMARIA
MASTER BOOT RECORD
DATI 3 Gbyte
FAT32 ESTESA
WINXP 5 Gbyte
NTFS PRIMARIA
LINUX 3 Gbyte
EXT2 PRIMARIA
D: 2 Gbyte
FAT32 LOGICA
E: 1 Gbyte
FAT32 LOGICA
SPAZIO NON
UTILIZZATO
Fig. 1.1
51
Unità 1
Architettura software di un elaboratore
m02ud01.qxd
30-06-2004
11:13
Pagina 52
• 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ù sistemi
operativi.
1.2
Il ROM-BIOS
Il BIOS (Basic Input Output System), come si è precedentemente detto, è un programma
memorizzato in una ROM (nei moderni sistemi in una memoria riscrivibile per poter essere aggiornato senza cambiare il chip di memoria, in tal caso è detto FLASH BIOS), serve
per 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 computer sono le seguenti:
• test dei componenti hardware fondamentali del sistema;
• caricamento in memoria RAM del sistema operativo prelevato dal disco.
1.2.1
© RCS LIBRI EDUCATION SPA
Il BIOS acquisisce le informazioni di base relative alla configurazione hardware del sistema (tipi e numero di floppy installati, tipo di disco rigido, disco da cui caricare il sistema
operativo, data ed ora ed altro) da una piccola memoria RAM di tipo CMOS che mantiene le informazioni rimanendo sempre alimentata, anche a computer spento, per mezzo di una batteria in tampone.
L’azione svolta dal BIOS inizia nella prima fase di messa in servizio del PC. Quando esso
viene acceso (power-up), la CPU legge il contenuto della ROM (o della EEPROM), a partire da una locazione ben precisa (locazione di reset), eseguendo le istruzioni contenute in essa e nelle successive locazioni.
Le prime operazioni eseguite sono relative ad un test di funzionalità della memoria, delle periferiche di base e di particolari circuiti del calcolatore; questo test è denominato
POST (Power On Self Test). Se vengono riscontrate anomalie di funzionamento sono
emessi 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 inizia la fase di bootstrap, ovvero di lettura e caricamento dal disco del sistema operativo,
nella RAM.
Il BIOS SETUP
In genere prima di attivare per la prima volta un computer è fondamentale eseguire il
programma di setup del BIOS in modo da fissare i parametri fondamentali che regolano
il funzionamento della macchina memorizzandoli nella memoria CMOS.
È possibile accedere al programma di setup del BIOS premendo un apposito tasto indicato in un messaggio visualizzato sul video durante la fase di POST (in genere il tasto
CANC o la barra spaziatrice).
Debbono essere eseguite con attenzione le regolazioni secondo quanto esposto nel
manuale di sistema (è sempre possibile comunque effettuare un caricamento di default
dei parametri del BIOS).
Essendo presenti sul mercato diversi tipi di programmi di setup e subendo essi continue
evoluzioni, vengono esposte sinteticamente solo alcune delle specifiche che vengono
impostate 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 di
tipo CMOS tenuta attiva, anche con il computer spento, per mezzo di una piccola batteria al litio (o a volte al Ni-Cd ricaricabile). Tra le altre cose sono memorizzate in tale
memoria 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 impostare
la data e l’orario corrente.
52
MODULO 2
IL
SOFTWARE DEL
PC
m02ud01.qxd
30-06-2004
11:13
Pagina 53
• Setup delle caratteristiche del BIOS: serve per abilitare o meno la cache di primo livello (interna al processore) e quella di secondo livello (esterna); per l’impostazione della sequenza con cui viene effettuato l’avvio del sistema (disco A poi C, C e poi A, solo
C, ecc.) (Boot Sequence); per scambiare la sequenza di avvio tra A: e B: (Swap Floppy
Drive); per l’abilitazione del tasto BLOC-NUM (Boot Up Num Loch Status).
• Setup delle caratteristiche del chipset1: permette di impostare diversi parametri relativi alle temporizzazioni delle DRAM.
• Setup per la configurazione PNP/PCI: il PNP (Plug and Play) è una caratteristica posseduta
da alcuni recenti sistemi che operano con Windows 95 che permette il riconoscimento automatico dei dispositivi hardware presenti nel computer. È chiaro che i dispositivi per essere
individuati debbono essere essi stessi del tipo PNP. Con questa opzione del setup si assegnano in particolare i vari livelli di interrupt e i canali di DMA alle periferiche.
• Setup delle periferiche integrate: permette di selezionare alcune delle caratteristiche
e alcuni indirizzi delle periferiche integrate sulla piastra come la porta parallela della stampante, le porte seriali, il controllore dei dischi, la USB (Universal Serial Bus). In
particolare per la porta parallela possono essere scelti vari modi di funzionamento,
che come noto sono denominati: SPP (Standard Printer Port), EPP (Enhanced Parallel
Port); ECP (Extended Capabilities Port).
1.2.2
Il bootstrap da disco rigido (C:)
Eseguito il POST, il BIOS si predispone al caricamento del sistema operativo. Il disco da cui
deve avvenire il caricamento è indicato nella CMOS con la Boot Sequence (nei nuovi PC
può 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 particolare
settore denominato Master Boot Record (MBR) che contiene informazioni sulle partizioni del disco ed un piccolo programma (Master Boot Program).
Il BIOS cede quindi il controllo al Master Boot Program che controlla se sul disco sono
presenti partizioni primarie avviabili (cioè contenenti un sistema operativo) e nel caso
ce ne sia più di una quale di esse sia attiva.
Ogni partizione primaria avviabile ha un proprio settore di avviamento (bootstrap sector) che contiene un piccolo programma, specifico per il sistema operativo contenuto
nella partizione.
Quindi il controllo viene ceduto al programma di caricamento (loader) della partizione
avviabile attiva che procede al caricamento del sistema operativo in memoria. Dopo di
che il controllo viene ceduto al sistema operativo stesso.
1.3
I sistemi operativi
Come precedentemente detto, per ottenere una gestione migliore delle risorse hardware del computer (ovvero la parte elettronica comprendente anche la memoria centrale 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 risorse
hardware della macchina, con particolare riferimento alle unità di ingresso e di uscita
dati, e alla gestione dei dispositivi di memorizzazione di massa (dischi magnetici, ottici
o magneto-ottici).
I primi PC, con processori della famiglia 8088/86, furono dotati del sistema operativo
denominato MS-DOS (MicroSoft Disk Operating System). Sono disponibili per i PC anche
altri sistemi operativi tra cui si citano le varie implementazioni di UNIX e un sistema operativo simile a UNIX, denominato LINUX.
La struttura iniziale di LINUX fu realizzata nel 1991 da Linus Torvalds e distribuita gratuitamente su INTERNET perché venisse ampliata da altri programmatori.
1 Per la definizione di chipset ➜ Modulo 1, unità 1 § 1.3.
53
Unità 1
Architettura software di un elaboratore
m02ud01.qxd
30-06-2004
11:13
Pagina 54
Attualmente esistono diverse distribuzioni di LINUX realizzate da diverse software-house; 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-DOS
denominato Windows 1.0. Nel 1990 ne ha rilasciato poi la versione 3.0, ed infine nel 1992
l’ultima versione 3.11. L’ambiente grafico di Windows 3.x, pur lavorando ancora sotto il
sistema operativo MS-DOS, permette di eseguire numerose funzioni servendosi di particolari piccole immagini, presenti sul video, denominate icone.
Nel 1995 la Microsoft ha immesso sul mercato il sistema operativo che utilizza un
ambiente grafico, denominato Windows 95. Esso, a differenza delle precedenti versioni
di Windows, opera senza la presenza dell’MS-DOS. Nel 1998 è stato poi presentato
Windows 98 e dopo qualche tempo Windows ME. L’ultima versione è stata messa in commercio alla fine del 2002, ed è denominata Windows XP.
Il sistema operativo Windows XP è presente sul mercato nella versione Home, destinata
prevalentemente ai PC che operano nell’ambiente domestico, ed una versione
Professional per l’ambito aziendale.
1.3.1
Struttura del sistema operativo MS-DOS
Nel caso del sistema operativo MS-DOS esso è presente sul disco ed è memorizzato in
tre file distinti; il primo è chiamato command.com e costituisce il così detto interprete dei
comandi; gli altri, che sono due file nascosti, assumono nomi diversi a seconda delle
implementazioni del DOS. Durante la fase di bootstrap vengono quindi caricati in memoria 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 ed
eseguito (sempre se presente) il file autoexec.bat. Al termine del caricamento, viene
visualizzato sul video il prompt di sistema, rappresentato, nel caso più semplice, dalla
lettera 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 command.com, che rimane in attesa che venga digitato un comando da tastiera. Il file command.com è denominato interprete dei comandi, in quanto analizza i comandi digitati
da tastiera e passa, se validi, alla loro esecuzione.
Come già esposto nel ➜ Modulo 1 i programmi che lavorano sotto il sistema operativo
MS-DOS possono utilizzare solamente i primi 640 kByte di RAM (dall’indirizzo fisico
00000h a 9FFFFh) ovvero la così detta memoria convenzionale. Il ROM BIOS risiede invece in una memoria a sola lettura negli ultimi 128 kByte, nell’area d’indirizzamento totale di 1 Mbyte (dall’indirizzo fisico D0000h a FFFFFh).
1.3.2
Struttura del sistema operativo WINDOWS 98
Il sistema operativo Windows 98 (l’ultima versione è denominata Windows ME) è definito un sistema a 32 bit (Windows 3.1 è a 16 bit), in quanto usa un’organizzazione dei
dati e del codice a 32 bit; tuttavia per compatibilità con i precedenti sistemi può utilizzare anche codice a 16 bit.
Il passaggio dei sistemi operativi da 16 a 32 bit è legato strettamente alle funzioni della
CPU 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 ed
interno a 16 bit e i registri interni a 16 bit. I registri della CPU sono memorie interne
che il processore utilizza per svolgere le elaborazioni dei dati provenienti dalla memoria. Ricordando che attraverso il bus dati nel processore confluiscono sia i codici delle istruzioni che i dati, la CPU 8088 acquisisce dalla memoria un byte alla volta che
poi internamente compone formando una word (2 byte = 16 bit).
• Con la CPU 80286 vengono introdotte due nuove funzioni fondamentali: la possibilità di gestire l’esecuzione di più applicazioni contemporaneamente (multitasking) e
la funzione di macchina a memoria virtuale ovvero un sistema in grado di gestire (virtualmente) un quantitativo di memoria molto più grande di quella indirizzabile fisicamente (1 Gbyte di memoria virtuale contro i 16 Mbyte fisici).
54
MODULO 2
IL
SOFTWARE DEL
PC
m02ud01.qxd
30-06-2004
11:13
Pagina 55
• Con la CPU 80386 (versione DX) si ha un bus dati e i registri interni a 32 bit. Anche le
linee d’indirizzo dell’80386 diventano 32 e quindi l’area di memoria indirizzabile va
dall’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 tipo
multitasking.
Il sistema operativo Windows 98 è quindi un sistema multitasking, in quanto può lavorare con più applicazioni contemporaneamente, a 32 bit.
1.3.3
Struttura del sistema operativo WINDOWS XP
1.4
Linguaggi a basso ed alto livello
© RCS LIBRI EDUCATION SPA
Pur conservando molte delle caratteristiche dei precedenti sistemi, Windows XP ha subito una profonda trasformazione nella sua architettura interna che lo ha reso certamente più stabile introducendo anche un certo controllo sulle intrusioni indesiderate
nei collegamenti con INTERNET. Le due versioni (Home e Professional) sono basate sullo stesso nucleo centrale (kernel). È possibile installare Windows XP utilizzando lo stesso 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 che
ne impedisce l’accesso, senza opportuna autorizzazione, e la loro cancellazione non
voluta.
Nelle prime macchine i programmi dovevano necessariamente essere scritti utilizzando
particolari codici facilmente interpretabili dalla macchina (linguaggio macchina), ma alla
portata di soli tecnici specializzati.
I codici del linguaggio macchina direttamente interpretabili dalla CPU debbono essere
espressi sotto forma di numeri binari.
Questi codici in binario vengono introdotti nel microprocessore attraverso le linee del
bus dati. Combinando in modo diverso i singoli bit, si ottiene un insieme di codici diversi, ognuno dei quali può rappresentare un’istruzione del microprocessore.
È evidente che solo aumentando il numero di linee del bus dati si può aumentare il
numero di codici ottenibili.
Con 8 bit si possono avere, per esempio, 256 codici diversi (28 = 256), con 16 bit 65536
codici (216 = 65536).
Per questo nei primi processori, essendo il numero delle linee del bus dati limitato ad
otto (anzi nei primissimi processori tali linee erano solo quattro), per ottenere un numero 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 i
vecchi processori, pur essendo aumentato il numero di linee del bus dati, i codici del set
di istruzioni di base sono formati da uno o più byte.
È quello che succede nella famiglia di processori utilizzati sui PC che discendono dalla
vecchia 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 di
istruzioni di base è stato ampliato. Per esempio un PENTIUM o un K6 sono in grado di
riconoscere tutto il set d’istruzioni della CPU 8088, ma nel loro set di istruzioni ne sono
presenti altre non implementate nel processore 8088.
Nello sviluppo dei vari tipi di processori sono andate confermandosi due modalità diverse di implementare in essi il set di istruzioni di base. I microprocessori che riconoscono un
ridotto numero di codici di base e che per eseguire funzioni più complesse utilizzano
solo 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 detti CISC (Complex Instruction Set Computing). I processori della famiglia 8088 sono di questo secondo tipo (➜ Modulo 1, unità 1, § 1.4).
55
Unità 1
Architettura software di un elaboratore
m02ud01.qxd
30-06-2004
11:13
Pagina 56
I codici macchina del set d’istruzioni scritti in binario sono per i programmatori di difficile utilizzazione. Un primo passo per semplificare il compito di programmazione è stato fatto utilizzando al posto di codici binari, codici scritti in esadecimale.
I codici scritti in esadecimale non sono però direttamente interpretabili dal microprocessore. Già questo piccolo passo di semplificazione per la scrittura di un programma
comporta la presenza di un qualche metodo che provveda a tradurre i codici esadecimali in codici binari.
La traslazione potrebbe essere effettuata via software usando un apposito programma
in grado di effettuare direttamente la traslazione esadecimale-binario o per mezzo di
hardware utilizzando appositi circuiti.
Si tenga comunque presente che un processore preleva sempre i codici in binario del
programma da svolgere dalla memoria ad esso collegata. È per questo che ogni programma da eseguire, comunque codificato, deve sempre essere prima posto in memoria
in formato binario.
Per poter semplificare ulteriormente il compito dei programmatori sono stati sviluppati dei linguaggi che associano ai codici esadecimali, di difficile memorizzazione da parte del programmatore, 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 mnemonici
uguali sono in genere diversi per i vari tipi di processori.
I linguaggi assembly sono linguaggi di basso livello in quanto associano ad ogni loro singola istruzione una sola istruzione corrispondente scritta in linguaggio macchina. Ovvero
esiste un rapporto uno ad uno tra un’istruzione in assembly ed un’istruzione in codice
macchina.
Le istruzioni scritte in linguaggio assembly non sono direttamente interpretabili dal processore, occorre quindi effettuare una traslazione del programma in istruzioni eseguibili in codice macchina. La traslazione viene operata con particolari programmi detti assemblatori.
Anche i linguaggi assembly sono di difficile utilizzazione perché richiedono una profonda conoscenza delle risorse del processore.
Per permettere una più semplice possibilità di utilizzazione degli elaboratori sono stati
sviluppati i linguaggi ad alto livello, più facilmente utilizzabili dai programmatori, anche
senza una profonda conoscenza dell’hardware del sistema; per utilizzare questi linguaggi sono però necessari particolari programmi, detti compilatori, per effettuare la
traslazione dei linguaggi ad alto livello nel linguaggio macchina relativo all’elaboratore utilizzato.
56
MODULO 2
IL
SOFTWARE DEL
PC
30-06-2004
18:21
Pagina 57
2. I sistemi
operativi
unità
m02ud02.qxd
Verranno prese in considerazione di seguito le caratteristiche di base dei sistemi operativi:
– MS-DOS (cenni);
– Windows 95/98;
– Windows XP.
Il § 2.1 è dedicato a MS-DOS e contiene nozioni di carattere generale che è bene conoscere.
Il sistema operativo WINDOWS XP, pur con una veste grafica del tutto rinnovata, conserva molte delle funzioni presenti nei precedenti sistemi, offrendo al tempo stesso
molte nuove particolarità.
Si tenga ben presente che Windows XP esercita un controllo rigoroso sull’accesso alle
periferiche di sistema e, per questo, i programmi di gestione delle schede e delle interfacce presentate in questo volume non funzionano correttamente con questo sistema
operativo.
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 con
un 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 parallela
con i programmi scritti in Visual Basic presenti nei ➜ Moduli 9 e 15. Si consiglia pertanto di installare sul disco un doppio sistema operativo (Windows 98 e Windows XP) usando 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) da
ricercare in www.driverlinx.com o il driver userport presente in diversi siti (effettuare
una ricerca) che permettono di utilizzare la parallela con le stesse modalità di Windows
98 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 XP
Usando un programma per eseguire partizioni sul disco, per esempio Partition Magic o
Ranish 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 le
applicazioni da installare. Sulla prima partizione verrà installato Windows 98 e sulla
seconda Windows XP.
Formattare la prima partizione con FAT32 utilizzando lo stesso programma con cui sono
state 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 partizione 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.
57
Unità 2
I sistemi operativi
m02ud02.qxd
30-06-2004
18:21
Pagina 58
Dopo l’installazione si può accedere alla configurazione di boot manager di Windows
XP (per eventuali modifiche) nel seguente modo: PANNELLO DI CONTROLLO ⇒ PRESTAZIONI E
MANUTENZIONE ⇒ VISUALIZZARE INFORM. DI BASE; scegliere la cartella AVANZATE e fare clic sul
pulsante IMPOSTAZIONI DI AVVIO E RIPRISTINO.
Un’alternativa diversa è quella di usare un programma boot manager esterno come per
esempio BOOT MAGIC o XOSL (freeware: www.xosl.org). In questo caso prima dell’installazione 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 MAGIC
o XOSL).
Installazione di Windows XP in un sistema con Windows 98 già
installato
© RCS LIBRI EDUCATION SPA
Si fa l’ipotesi che si voglia installare il nuovo sistema operativo lasciando inalterato
Windows 98. È necessario che sul disco rigido ci sia abbastanza spazio per installare il
secondo sistema operativo e le eventuali applicazioni (almeno 1 117 Mbyte per XP). È
possibile installare Windows XP anche su un secondo hard disk, cosa non ammessa per
Windows 98.
Nel caso si utilizzi un unico disco è necessario creare su di esso una seconda partizione
primaria. Se il disco è occupato tutto da Windows 98 è necessario ridimensionare la partizione e poi crearne una seconda. Si proceda come segue:
1. Usando un programma per ridimensionare le partizioni senza perdita dei dati (per
esempio Partition Magic) ridimensionare la partizione su cui è installato Windows
98. 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 (tutte
queste operazioni possono essere effettuate direttamente durante l’installazione).
4. Windows XP al termine dell’installazione creerà un semplice boot manager che permetterà di scegliere il sistema operativo di avvio.
2.1
Il sistema operativo MS-DOS
Anche se i nuovi sistemi operativi che utilizzano un ambiente grafico hanno di molto
diminuito l’importanza del DOS, si ritiene che le conoscenze di alcuni elementi di questo sistema operativo siano in talune circostanze necessarie per risolvere particolari problemi legati ai nuovi sistemi operativi, in particolare con i dischetti di ripristino che lavorano 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 sue
periferiche operando direttamente con istruzioni di I/O.
Nell’esame delle caratteristiche dei dischi è ricorsa più volte la parola drive, ovvero quei
dispositivi in cui viene introdotto il disco e ne permettono la lettura e scrittura. Essi, in
ambiente DOS (ma anche con Windows), sono individuati con delle lettere maiuscole
seguite 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 la
lettera 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 è presente un drive per CD-ROM esso prende la prima lettera libera dopo quelle occupate
dal disco rigido.
58
MODULO 2
IL
SOFTWARE DEL
PC
m02ud02.qxd
30-06-2004
2.1.1
18:21
Pagina 59
File e directory in MS-DOS
Tutte le informazioni presenti su un disco sono memorizzate in particolari strutture
denominate file. Il file rappresenta quindi una raccolta ordinata di informazioni memorizzate 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 tre
caratteri, e separata dal nome da un punto (tab. 2.1). Alcune estensioni identificano in
modo univoco alcuni tipi di file e possono pertanto essere usate solo per quei particolari file.
TAB. 2.1
Alcune estensioni dei file di uso comune
.COM
File eseguibile (file che contiene un programma che può essere posto in esecuzione digitando il
nome del file e dando invio).
.EXE
È ancora un file eseguibile (file di programma), con caratteristiche leggermente diverse dal precedente.
.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 esempio
caratteri corsivi, colorati, tabelle, ecc.).
.TXT
File di testo non formattato.
.ZIP
File compattati in modo che occupino meno spazio.
.BMP
File grafici.
Per poter usare in modo più semplice i file, è possibile creare sul disco delle suddivisioni, dette subdirectory (in Windows sono denominate cartelle); ognuna di esse è contraddistinta da un proprio nome e può contenere un certo numero di file, per lo più di
tipo omogeneo.
Con questo sistema è possibile accedere ai file di una certa subdirectory ignorando
quelli presenti nelle altre. Il disco intero è considerato come una directory a cui è assegnato il nome di directory principale o radice. Si possono, inoltre, creare all’interno di
una certa directory, altre subdirectory.
2.1.2
Avvio del DOS
Quando si inizia a lavorare con il DOS, dopo un riuscito bootstrap, sul video viene visualizzato il prompt del sistema operativo (A:\ > _ con avvio dal drive A o C:\ > _ con avvio
dall’hard disk). Dopo di che il computer rimane in attesa dei comandi digitati sulla
tastiera 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 trattino lampeggiante dopo il segno di maggiore ( > ) rappresenta il cursore, ovvero il punto
in 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 prima
distinzione può essere effettuata dividendoli in comandi interni ed esterni.
59
Unità 2
I sistemi operativi
m02ud02.qxd
30-06-2004
18:21
Pagina 60
Sono comandi interni quelli che sono contenuti nel file COMMAND.COM e vengono caricati in memoria insieme con tale file. Essi sono immediatamente disponibili per l’utente 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 forma
di file eseguibili, con estensione .COM o .EXE. Per questo, per essere eseguiti debbono
effettivamente 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:.
2.1.3
Analisi di alcuni comandi interni del DOS
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 presenza
del disco di sistema.
Caratteri speciali
Al fine di rendere più efficace l’utilizzazione dei comandi rivolti ai file, il DOS permette di adoperare due caratteri jolly, l’asterisco (*) e il punto interrogativo (?), che, inseriti opportunamente nei nomi dei file, possono sostituire parti del nome o dell’estensione o i singoli caratteri del nome stesso.
La parte del nome del file o dell’estensione al cui posto viene inserito l’asterisco può assumere 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.
TAB. 2.2
Applicazione di alcuni comandi interni del DOS
DIR
C:\> DIR ↵
C:\> DIR/p ↵
C:\> DIR >PRN ↵
A:\> DIR ∗.EXE ↵
REN
C:\> REN file1
file2 ↵
C:\> REN *.txt *.old ↵
COPY
C:\> COPY sorgente destinazione
A:\> COPY 32IOF.DLL C:\Windows\SYSTEM
DEL
A:\> DEL *.*
C:\TEMP> DEL *.DOC
MD
CD
RD
A:\> MD copie
A:\> CD copie
A:\> RD copie
60
Visualizza i file e le direttrici contenuti nel drive o nella direttrice da cui si impartisce il comando.
Visualizza una pagina per volta.
Invia alla stampante il contenuto del drive o della direttrice da
cui si impartisce il comando (questa operazione non può essere
eseguita direttamente da Windows).
Visualizza tutti i file presenti sul disco A: con nome qualsiasi ed
estensione .exe.
Cambia il nome di file1 assegnandogli il nuovo nome file2.
Assegna a tutti i file che hanno estensione .txt la nuova estensione .old. Non è possibile eseguire l’operazione direttamente con
Windows.
Permette di copiare un file, da un disco all’altro o da una subdirectory ad un’altra o anche nella stessa subdirectory in cui si
trova, cambiandovi però il nome. La sorgente deve contenere il
nome del file che si vuole copiare preceduto dal percorso completo per raggiungerlo, mentre nella destinazione deve esserci
il nome che deve essere attribuito al file da copiare e il percorso completo di dove esso deve essere copiato.
Copia il file 32IO.DLL contenuto in A: nella cartella SYSTEM di
Windows.
Cancella tutti i file contenuti sul disco A:.
Cancella tutti i file con nome qualsiasi e con estensione .DOC
contenuti nella sottodirettrice TEMP di C:.
Crea una sottodirettrice in A: con il nome copie.
Cambia direttrice (accede alla sottodirettrice copie).
Rimuove la sottodirettrice copie se non contiene file o altre sottodirettrici.
MODULO 2
IL
SOFTWARE DEL
PC
Scarica