Rio de Janeiro
27 Gennaio 2019DISCOVER LONDON
27 Gennaio 2019Relazione sul computer
Magni, Ghezzi, Paroni, Galli, Ceriani.
Nel più semplice schema che possiamo immaginare un computer può essere scomposto nei seguenti componenti: CPU (Central Processing Unit), RAM (Random Access Memory), BIOS (Basic Input Output System), I/O (Input/Output).
CPU LA CPU è il componente che svolge tutte le funzioni di controllo della macchina. La CPU si chiama anche processore e nel caso generale di computers anche molto grossi può essere composta anche di più chip (circuiti integrati). Nel caso dei personal computers la CPU è sempre contenuta in un solo chip e si chiama in tal caso anche microprocessore. Il chip su cui risiede il microprocessore può contenere centinaia di milioni di transistor come abbiamo visto illustrando la legge di Moore. La CPU contiene tutti i cricuiti logici che permettono di leggere dalla memoria le istruzioni con gli operandi, di decodificarle, di eseguirle e di trasferire i risultati verso la memoria o altri dispositivi.
RAM Nella macchina di Von Neumann le istruzioni del programma in esecuzione ed i dati in corso di elaborazione sono tutti memorizzati in una memoria che viene usualmente definita memoria centrale. Tale memoria è caratterizzata dal fatto di consentire un accesso molto veloce ma ha gli svantaggi di dovere essere sostenuta da un’alimentazione elettrica e di comportare dei costi elevati rispetto alla memoria di massa. Si può pensare alla memoria centrale come ad una serie di parole ognuna delle quali è designata da un indirizzo, un valore numerico progressivo che identifica inequivocabilmente ciascuna parola della memoria. Tramite l’indirizzo la CPU può accedere direttamente a ciascuna parola senza dovere scorrere tutte le precedenti (come accade per esempio nel caso dell’accesso ad un brano musicale su di un’audio cassetta). Questa caratteristica viene richiamata dal termine RAM usato molto spesso per la memoria centrale. Il termine memoria ad accesso casuale (Random Access Memory) si riferisce al fatto che si può accedere direttamente a qualsiasi parola di memoria in contrasto con il concetto di memoria ad accesso sequenziale dove per raggiungere una parola è necessario leggere tutte le precedenti. I tempi di accesso alla RAM sono attualmente molto veloci, dell’ordine di poche decine di nanosecondi (1 nanosecondo =
BIOS Il BIOS è un chip che contiene le istruzioni necessarie ad accedere ai vari dipositivi di input e output. Possiamo pensare al BIOS come ad una estensione della CPU alla quale vengono delegate le attività che sono strettamente connesse con l’impiego dei dispositivi esterni. Una funzione importante del BIOS è quella di contenere le istruzioni che devono essere eseguite quando il computer viene acceso, nella fase cioè di bootstrap. Infatti tali istruzioni non possono risiedere nella RAM perché questa si cancella ogni volta che il computer viene spento. Il BIOS contiene invece una memoria che si chiama ROM (Read Only Memory) che ha la caratteristica di essere scritta all’atto della sua costruzione e che non può più essere cancellata. Il BIOS è soggetto a continui miglioramenti come succede per la CPU ma questi sono molto frequenti perché il parco dei possibili dispositivi periferici è in continua e veloce espansione. Può infatti accadere che non si riesca ad utilizzare certi nuovi dispositivi perché si è in possesso di una versione non sufficientemente aggiornata del BIOS. In tal caso dovrebbe essere possibile far montare una versione più recente del BIOS rivolgendosi ad un rivenditore specializzato (il quale avrà comunque più voglia di farvi riaggiornare il computer intero …).
I/O Intendiamo con questo termine la miriade di dispositivi (spesso chiamati anche perifieriche) che possono essere impiegati nel computer. Citiamo qui solo quelli obbligatori: il disco rigido (HD:
Hard Disk), l’unità floppy disk (FD, capacità 1.44 Mbyte), l’unità CD-ROM, la tastiera, il mouse, il modem.
Per avere un’idea un pò più precisa di quello che succede nella CPU quando gira un programma, individuiamo due dei suoi componenti principali: l’unità di controllo e la ALU (Arithmetic Logical Unit). L’unità di controllo è la parte che legge le istruzioni dalla RAM e le esegue. E dotata di due registri di memoria che chiamiamo registro indirizzo e registro istruzione. Ogni registro non è altro che una parola analoga a quelle che costituiscono RAM eccetto che per una velocità di accesso maggiore. I registri di memoria sono composti da un numero di bits che dipende dall’architettura del computer. In realtà di registri ce ne sono molti nella CPU ma a questo livello di descrizione ci possiamo limitare registro indirizzo e registro istruzione. L’altro componente del CPU che evidenziamo è la ALU la quale esegue tutte le operazioni aritmetiche e logiche. Anche nella ALU possiamo riconoscere due registri principali che possiamo chiamare il registro A e registro B. Questi due registri sono impiegati per memorizzare gli operandi ed anche per ospitare i risultati delle operazioni. Con il termine istruzione in questo contesto ci riferiamo a quelle che fanno parte del linguaggio macchina. Tali istruzioni sono codificate in 0 ed 1 che l’unità è in grado di decodificare. A queste istruzioni, corrispondo dei codici mnemonici che facilitano il compito dei programmatori. Il linguaggio di programmazione che si avvale di questi codici prende il nome di assembler. Il linguaggio assembler è specifico di un computer perché è strettamente associato all’architettura di quel computer. In questo è diverso dai linguaggi di programmazione di livello elevato che presentano un livello di astrazine maggiore che gli rende sostanzialmente svincolati dall’architettura di uno specifico computer. Facciamo qui un esempio semplicissimo di un linguaggio assembler per un ipotetico computer basato su di un’architettura a soli 8 bits. è evidente che tale esempio ha valore puramente didattico. Nella seguente tabella riportiamo i valori numerici che contraddistinguono le singole istruzioni insieme ai corrispondenti codici mnemonici. L’istruzione che sta in 8 bits è specificata mediante i 3 bits più a sinistra. Il quarto bit specifica se l’istruzione coinvolgerà il registro A (valore 0) o B (valore 1) della ALU. I 4 bits più a destra specificano l’indirizzo nella RAM che serve all’istruzione. Abbiamo un numero molto limitato di istruzioni ma sono quelle che ci bastano per fare un esempio.
DMA: Lo standard DMA (Direct Memory Access) fa si che i dati provenienti dalle nostre periferiche (hd, cd-rom…) vadano direttamente alla RAM senza il passaggio obbligato dalla CPU, limitando così il carico elaborativo della stessa. Tutto questo grazie ai controller IDE delle più recenti Main-board, per intenderci, l’interfaccia che permette alle nostre periferiche (IDE, cd-rom, hd, etc) di colloquiare e scambiare dati ed informazioni con l’unita centrale.Oggi siamo a 100. Si, siamo arrivati a 100, dall’arcaico PIO Mode1, l’evoluzione di questi protocolli ha dunque portato alla nascita dell’UDMA100, e delle periferiche compatibili con questo standard. Direct Memory Access: metodo di comunicazione dei dati fra disco o scheda, che vede i dati arrivare direttamente alla memoria di sistema, senza passare attraverso il processore. Il chip DMA entra in azione quando una grossa quantità di dati deve transitare dal disco rigido alla memoria del computer, in modo tale da evitare il passaggio attraverso il processore, che rallenterebbe l’operazione. DMA (Direct Memory Access) il processo con il quale i dati vengono trasferiti tra un disco e la memoria centrale senza passare attraverso la CPU, consentendo così al sistema di continuare altre elaborazioni mentre i dati vengono ritrovati.
ROM: Una ROM normale è costruita da logica hard-wired, messa nel silicone in se, molto il senso che un processor è. E’ destinata per effettuare una funzione specifica e non può essere cambiata. Ciò è inflessibile ed in modo da le ROM normali sono utilizzate soltanto generalmente per i programmi che sono statici (non cambiando spesso) e mass-produced. Questo prodotto è analagous ad una Di copia più scura-ROM commerciale del software che comprate in un deposito.
ROM Programmabile (Prom): Ciò è un tipo di ROM che può essere programmato usando l’apparecchiatura speciale; può essere scritto, ma a soltanto una volta. Ciò è utile per le aziende che fanno le loro proprie ROM da software che scrivono, perché quando cambiano il loro codice possono generare i nuovi PROMs senza richiedere l’apparecchiatura costosa. Ciò è simile al senso impianti del registratore Di copia più scura-ROM lasciandoli “bruciare una volta” i programmi sugli spazii in bianco ed allora lasciandoli leggere da loro molte volte. Infatti, programmando un PROM inoltre è denominato bruciarsi , appena come bruciare un cd-r ed è paragonabile in termini di relativa flessibilità.
ROM Programmabile Cancellabile (EPROM): Un EPROM è una ROM che può essere cancellata e reprogrammed. Una poca finestra di vetro è installata nella parte superiore del pacchetto della ROM, attraverso cui potete realmente vedere il circuito integrato che tiene la memoria. La luce ultravioletta di una frequenza specifica può essere lucidata attraverso questa finestra per un periodo di tempo specificato, che cancellerà il EPROM e che permetterà che reprogrammed ancora. Questo è ovviamente molto più utile di un PROM normale, ma richiede la luce di cancellazione. Continuando l’analogia “DI COPIA PIÙ SCURA”, questa tecnologia è analoga ad un Di copia più scura-rw riutilizzabile .
ROM Programmabile Elettricamente Cancellabile (EEPROM): Il livello seguente di cancellabilità è il EEPROM , che può essere cancellato sotto controllo del software. Ciò è il tipo più flessibile di ROM ed ora comunemente è usata per tenere i programmi di ESSERE VIVENTE. A quando sentite il riferimento “un ESSERE VIVENTE istantaneo” o fare un aggiornamento di ESSERE VIVENTE “esponendo a flash“, questo si riferisce a reprogramming l’cEssere VIVENTE EEPROM con un programma speciale del software. Qui stiamo offuscando la linea una punta fra che cosa realmente i mezzi “passivi”, ma si ricordano di che questo che riscrive è fatto forse una volta all’anno o così, confrontato alla memoria lettura /scrittura reale (RAM) dove riscrivere è fatta spesso molte volte al secondo.
Il disco rigido
Il disco rigido Il disco rigido (Hard Disk) fa parte dei cosiddetti supporti di memoria di massa. La memoria di un computer si può distinguere in memoria centrale e memoria di massa. La memoria centrale è quella che viene usualmente chiamata RAM . Fra i dispositivi di memoria di massa si annoverano i dischi magnetici (cosiddetti dischi rigidi appunto), i dischi ottici (CD-ROM e DVD), nastri magnetici, cartucce magnetiche, memory cards. Le memory cards fanno eccezione fra i dispositivi di memoria di massa in quanto sono basate su tecnologie allo stato solido. L’importanza del disco rigido è dovuta al fatto che tutto viene memorizzato su di esso: il sistema operativo, la sua impostazione (come si presenta il desktop, cioè l’insieme delle icone e dei menu), tutti i programmi (talvolta chiamati applicativi) installati, lo stato dei programmi (i bookmarks memorizzati nel browser Netscape per esempio), tutti i documenti e dati da voi prodotti.
La memoria cache
La memoria cache di secondo livello è difficile da aggiornare, ma quando è troppo lenta compromette l’intero pc.La memoria cache di secondo livello è un componente essenziale delle schede madri per processori Pentium o 486.
Essenzialmente è una memoria di transito con accesso molto rapido e viene utilizzata per memorizzare i dati temporanei usati più frequentemente, rendendoli disponibili senza doverli prelevare ogni volta dalla memoria Ram che risulta decisamente meno veloce.
Grazie alla cache di secondo livello i lunghi tempi di accesso alla memoria vengono mascherati e la Cpu non è costretta a fermarsi per attendere nuovi dati da elaborare.
Solo K6-III, Pentium Il, Pentium III e i Celeron di nuova generazione (dal 300A in poi) contengono la cache L2 montata direttamente nel processore, per migliorare l’efficienza e la velocità delle operazioni; le Cpu di classe Pentium (tranne Amd K6-III) sono invece penalizzate dai limiti dello zoccolo Socket 7; lo standard Socket 7 prevede un bus di accesso unificato per la memoria Ram e la cache di secondo livello, che impedisce al Pentium di eseguire accessi simultanei alla memoria Ram di sistema e alla memoria cache. Nelle schede madri recenti la cache L2 non è espandibile: solo il costruttore potrebbe saldare sulle apposite piazzole i componenti aggiuntivi per raddoppiare o quadruplicare la dimensione della cache. Nelle schede madri meno recenti era invece disponibile uno slot dedicato, chiamato Coast, che accettava speciali moduli Dimm di memoria cache. L’espandibilità della cache L2 di queste schede è problematica, perché ogni modello di chipset esige un ben preciso tipo di modulo L2, con caratteristiche elettriche ottimizzate. Purtroppo i moduli Coast hanno tutti lo stesso connettore anche se le caratteristiche elettriche cambiano, e ciò può creare confusione.
L’espansione della cache risulta spesso problematica e sovente antieconomica, ragion per cui non ne consigliamo l’operazione.
Il modem
Il modem Il modem è particolarmente importante per il fatto che molto spesso rappresenta il mezzo attraverso il quale il vostro computer comunica con il mondo esterno. Più precisamente il modem consente di collegarsi ad un nodo della rete Internet attraverso la normale linea telefonica.
Il bus
Il bus è un canale sincrono attraverso cui diversi componenti elettronici (quali ad esempio le varie parti di un computer) dialogano fra loro.
Bus di sistema
Il bus di sistema, presente in tutti i microcalcolatori, è composto da 50 a 100 fili in rame incisi sulla scheda madre ed è dotato di connettori separati ad intervalli regolari per linnesto dei moduli di memoria e di I/O. Si tratta di una serie di connessioni elettriche ognuna delle quali può trasmettere cifre binarie (0 o 1) in successione, l’insieme delle quali è interpretato dai vari componenti del sistema secondo protocolli prestabiliti. Un bus che collega 2 componenti appartenenti alla stessa scheda integrata è detto bus interno (internal bus), se collega due componenti generici è detto bus esterno (external bus). Se c’è un solo bus esterno è detto bus di sistema (system bus).
Il bus di sistema si divide in tre bus minori:
- bus dati
- bus indirizzi
- bus controlli
Bus dati
E’ il bus sul quale transitano le informazioni. E’ usufruibile da tutti i componenti del sistema, sia in scrittura sia in lettura.
Bus indirizzi
E’ il bus attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a leggere informazioni; sia le celle di memoria (RAM) sia le preriferiche di I/O (Input/Output) sono infatti divise in zone, ognuna delle quali ha un dato indirizzo. Dopo aver comunicato l’indirizzo tramite questo bus, la scrittura o lettura avviene normalmente tramite il bus dati. Naturalmente questo bus è fruibile in scrittura solo dalla CPU ed in lettura dagli altri componenti, in quanto tramite questo bus viene dato solo l’indirizzo della cella, che è deciso dalla CPU.
Bus controlli
Il bus controlli è un insiemi di collegamenti il cui scopo è coordinare le attività del sistema; tramite esso, la CPU può decidere quale componente deve scrivere sul bus dati in un determinato momento, quale deve leggere l’indirizzo sul bus indirizzi, quali celle di memoria devono scrivere e quali invece leggere, etc. Infatti la memoria e tutti gli altri componenti comunicano con la CPU attraverso un unico bus condiviso; questo significa che senza un controllo da parte dalla CPU si verrebbero a creare dei conflitti e delle collisioni.
Il motivo per cui gli elaboratori dispongono in genere di un solo bus è semplice: l’architettura a più bus, proposta teoricamente agli albori dell’informatica da John von Neumann nel 1945, non è praticamente realizzabile, visto l’altissimo numero di connessioni che sarebbero necessarie.
Principi di funzionamento
Un bus trasmette sequenze di dati: la rapidità con cui si passa da un dato al successivo è detta ciclo di bus. Più alta è la frequenza, maggiori saranno le prestazioni del bus (banda passante). La massima banda passante teorica possiamo ricavarla da questa formula:
frequenza * numero di linee (bit/sec)
Le fasi di inattività e di scambio comandi riducono la banda passante reale.
I limiti fisici all’aumento della frequenza possono essere:
- alte frequenze creano disturbi
- ritardi del segnale
In ogni transazione sul bus:
- un dispositivo prende il controllo del bus
- invia una richiesta (I/O) ad un secondo dispositivo
- svolta la richiesta, il bus viene liberato per un’altra comunicazione.
Master: dispositivo che prende il controllo del bus, inizia l’interazione
Slave: dispositivo che risponde al master
Il ruolo di un dispositivo può cambiare nel tempo; un dispositivo può comportarsi da master o da slave in contesti differenti. Lo standard che definisce il bus deve fornire le regole per gestire tali condizioni o vietarle.
Esistono due diversi meccanismi di temporizzazione dei segnali:
- Protocollo Sincrono: E’ previsto un segnale di sincronizzazione (clock) che permette di gestire la temporizzazione delle comunicazioni.
- Protocollo Asincrono: Tutta la temporizzazione della comunicazione è gestita dal protocollo stesso attraverso lo scambio dei messaggi.
La scelta dipende da:
- Interfaccia del dispositivo
- Adattare interfacce con differenti velocità
- Tempo totale richiesto per il trasferimento
- Possibilità di rilevare errori
- Uno schema completamente asincrono è affidabile e flessibile ma le interfacce e la logica di controllo sono molto più complicate da realizzare.
Porte parallele
La porta parallela, nata inizialmente per connettere il PC con la stampante, si è sviluppata negli anni per garantire anche il collegamento di altre perferiche quali scanner, plotter, memorie di massa ed altro. Agli inizi degli anni 80 venne sviluppata una nuova connessione per permettere ai PC IBM di interfacciarsi con le stampanti del tipo CENTRONICS, molto in voga in quegli anni. In questo modo nasceva la porta parallela (chiamata inizialmente anche porta Centronics) che divenne di fatto lo standard per tutti i produttori di PC e di stampanti a seguire.
Nel corso degli anni si è sviluppata per garantire anche il collegamento di altre perferiche quali scanner, plotter e memorie di massa. Vista la semplicità con cui può essere programmata, è possibile usarla inoltre per controllare altre periferiche estranee all’ambito informatico quali lampade, motori, sensori ed altro.
La porta in questione è posta sempre nella parte posteriore di un PC ed è facilmente indiviuabile. Ha 25 piccoli fori (è quindi di tipo femmina) disposti su 2 file: 13 sulla prima fila e 12 sulla seconda.
Una porta parallela femmina nella parte posteriore di un PC
I 25 fori sono suddivisi nel modo seguente:
- 12 sono usati per inviare dati in uscita
- 5 sono usati per accogliere dati in ingresso
- 8 sono usati come massa
Ecco il dettaglio di ogni singolo PIN:
Pin 1 (STROBE) – Mantiene costantemente un voltaggio tra i 2.8 e 5 volts mentre c’è un invio dei dati da parte del computer. Quando il voltaggio cade (0.5 volts) la stampante capisce che i dati sono stati inviati.
Pin 2…9 (DATA) – Sono le 8 linee usate per trasmettere il singolo byte. Per indicare un 1 logico, il PIN viene settato con un voltaggio di 5 Volts. Per indicare uno 0 logico il voltaggio viene fatto cadere a 0.5 volts.
Pin 10 (ACKNOWLEDGE) – E’ l’opposto del PIN 1. Mantiene un voltaggio costante durante la ricezione dei dati. Ha un voltaggio di 0.5 quando i dati sono stati ricevuti dalla stampante.
Pin 11 (BUSY) – Indica quando la stampante è occupata (busy in inglese) con un voltaggio di 5 volts. Quando la stampante è libera, il voltaggio viene fatto cadere a 0.5 volts.
Pin 12 (PAPER END) – Indica la mancanza di carta nella stampante con un voltaggio di 5 volts. In caso contrario ovviamente il voltaggio è a 0.5 volts.
Pin 13 (SELECT) – Indica che la stampante è Online con un voltaggio di 5 volts. In caso contrario ovviamente il voltaggio è a 0.5 volts.
Pin 14 (AUTO FEED) – Indica la presenza o meno dell’ autofeed usando anche in questo caso un voltaggio di 5 volts o di 0.5 a seconda dei casi.
Pin 15 (ERROR) – Indica un errore generico della stampante. L’uso del voltaggio è identico ai casi precedenti.
Pin 16 (INIT) – Serve ad iniziliazzare la stampante in presenza di un nuovo Job. L’uso del voltaggio è identico ai casi precedenti.
Pin 17 (SELECT IN) – Imposta la stampante Offline da remoto (settando il voltaggio a 5 volts).
Pin 18…25 (GROUND) – Sono la massa e vengono usati come segnali di riferimenti per la caduta di tensione (circa 0.5 volts).
Esistono differenti tipologie di porte parallele che andremo di seguito a vedere.
SPP (Standard Parallel Port)
Le porte di questo tipo rispettano lo standard delle prime porte parallele create agli inizi degli anni 80 per i PC IBM e garantiscono quindi una compatibilità verso il basso che permette di usare anche periferiche “datate”.
In questo tipo di parallele, il flusso dei dati è rigidamente monodirezionale, dal PC alla periferica. Vista la velocità, si va da un minimo di 50Kb ad un massimo di 150 Kb al secondo, è possibile connettere solamente stampanti di vecchia generazione come quelle ad aghi ma non quelle laser più moderne che necessitano di prestazione maggiori.
Si hanno a disposizione in questo tipo di porte alcuni registri posti agli indirizzi 0378H e 0278H. Nonostante la rigidità di queste porte monodirezionali, è possibile con delle apposite gestioni software ottenere un flusso bidirezionale (anche se limitato a 4 bit) denominato Nibble mode.
Se questo tipo di porte andavano bene per le prime stampanti ad aghi degli anni 80, col passare del tempo le troppe limitazioni sono affiorate ed hanno portato ad una modifica sostanziale di questa porta che è stata adattata per un flusso di dati bidirezionale (standard IBM PS/2). In questo modo la connessione non è ristretta alle sole stampanti ma anche ad altre periferiche.
EPP – Enanched Parallele Port
Introdotta nel 1994 nei computer di tipo AT e ATX, mantiene la compatibilità con il vecchio standard SPP anche essendo di gran lunga differente. Può gestire dati in modo bidirezionale con una velocità che va da 500 Kbytes fino a 2 Mbytes al secondo ed è ideale per connettere periferiche esterne quali hard disk e cd-rom portatili (olte ovviamente a stampanti laser di ogni genere).
ECP – Extended Capabilities Port
Questo tipo di parallela è praticamente identico a quello EPP ma ne migliora alcune funzionalità olte ad introdurne di nuove quali ad esempio il RLE (Run lenght Encoding), ovvero la possibilità di codificare e comprimere i dati prima di trasferirli in modo da ottenere velocità di trasmissione dati maggiori. Ideale per scanner, fax e stampanti, può raggiungere livelli di compressione fino a 64:1!
Ricerca delle porte
Il sistema operativo che usiamo, sia DOS che Windows che Unix è sempre in grado di gestire le porte parallele ma può farlo solamente grazie al BIOS che preventivamente ha provveduto a verificarne l’esistenza sulla macchina.
All’avvio del PC, viene iniziata la procedura di POST (Power on Self Test) in cui il BIOS verifica lo stato dei componenti fondamentali del computer. Per verificare la presenza delle porte, il BIOS prova a scrivere nei loro registri che si trovano sempre ad indirizzi predefiniti:
03BCH – 03BFH – Porta parallela 1 (su scheda grafica)
0378H – 037FH – Porta parallela 2
0278H – 027FH – Porta parallela 3
Il BIOS prova a scrivere negli indirizzi in questione il byte 0AAH (10101010 in binario) e successivamente a rileggerlo. Se il valore letto è ancora 0AAH, la porta è presente nel sistema altrimenti no. Nel caso sia presente, il sistema gli assegna un numero partendo da 0 fino ad un massimo di 2 (infatti il massimo di porte possibili è 3). In seguito il DOS riconosce la porta 0 come LPT1, la 1 (se esiste) come LPT2 e la 2 (se esiste) come LPT3.
Nella maggior parte dei casi, la porta parallela su scheda grafica non esiste più visto che veniva utilizzata negli anni passata sulle vecchie schede MDA o Hercules. E’ quindi molto probabile che il PC riconosca solamente le porte parallele agli indirizzi 0378H – 037FH o 0278H – 027FH.
Il BIOS, alla fine del POST, scrive nella variabile di sistema 0000:0410H 2 bytes (410H e 411H) in cui elenca informazioni sulle periferiche quali porte parallele, seriali, joystick, floppy ed altro. Negli ultimi 2 bits (il 15 ed il 16) della locazione 411H possiamo trovare le informazioni sulle porte parallele installate:
00 – Nessuna porta
01 – Una porta
10 – Due porte
11 – Tre porte
Le porte seriali
Le porte seriali sono il mezzo tramite il quale un computer comunica con dei dispositivi “periferici” tra cui i modem. Una porta seriale è caratterizzata da un indirizzo e un IRQ. Sono utilizzabili due indirizzi e due IRQ che determinano quindi quattro possibili combinazioni per 4 possibili porte seriali denominate solitamente com1 com2 com3 e com4. Attenzione pero` perchè non è possibile utilizzare contemporaneamente lo stesso indirizzo o lo stesso IRQ; cosi` non è possibile utilizzare contemporaneamente la porta 1 e 3 o la porta 2 e 4 salvo effettuare configurazioni particolari. Alcuni programmi sono in gradi di indirizzare direttamente le porte seriali mentre altri si interfacciano al bios del computer. Si verifica cosi` che se su un computer vengono installate delle porte seriali non nell’ordine normale, ma ad esempio passando dalla 1 alla 4, i programmi che si interfacciano con bios possono essere confusi rilevando invece le porte 1 e 2. Alcune utilita` possono reimpostare il bios in modo corretto, ma è comunque sempre meglio installare prima la porta 1 poi la 2 e solo se strettamente necessario le successive.
Le differenze tra porta parallela e porta seriale
Le differenze più rilevanti di una porta parallela rispetto ad una seriale sono le seguenti:
- Trasmissione – Quando viene trasmesso un dato con la porta parallela, vengono inviati 8 bits alla volta contemporaneamente. Nella porta seriale vengono invece mandati 8 bits in fila uno dietro l’altro.
- Velocità di trasmissione – Nelle porte parallela è più alta e va dai 50 Kbytes al secondo (per i modelli SSP) ai 2 Mbytes al secondo (per i modelli EPP).
- La lunghezza del cavo – Nelle porte parallele, il cavo di connessione non può superare i 4-5 metri, pena la perdita dei dati. Nelle porte seriali questa lunghezza è maggiore.
- La programmazione della porta – Mentre la porta seriale viene controllata via hardware, quella parallela necessita di un software apposito che gestisca i registri interni.
Una porta seriale (cerchiata in rosso) ed una parallela (cerchiata in verde)
La porta USB
La porta USB rappresenta la soluzione ideale per chi vuole connettere istantaneamente una periferica al PC. Basta collegare la periferica in questione alla porta USB ed il gioco è fatto. La periferica viene riconosciuta in modo automatico dal sistema operativo, i driver vengono installati automaticamente (nel caso ce ne fosse bisogno) e dopo qualche secondo è possibile usare il componente installato senza bisogno nemmeno di riavviare il PC.
Tutto sembra semplice e funzionale ed è apprezzato ancora di più da chi possiede un computer da almeno 5 o 6 anni. A quei tempi infatti la connessione delle periferiche era a dir poco avventurosa ed impegnava a fondo l’utente senza nemmeno garantirgli il successo finale.
Vediamo come è possibile per la porta USB rendere tutto così semplice ed impariamo a conscere i differenti tipi di connessione. Il miglioramento più grande apportato dall’USB è la standardizzazione delle porte (USB sta infatti per Universal Serial Bus). Tutte o quasi le periferiche moderne hanno l’attacco USB, quindi un’unica connessione per tutte che evita confusione tra le varie porte usate in precedenza:
· Porte parallele per connettere stampanti, scanner, Zip drives ecc..
· Porte seriali per connettere Mouse, Fotocamere, Modem, Joystick ecc..
Porte proprietarie che prevedevano addirittura l’inserimento di una nuova scheda nel PC. Con la porta USB, tutte queste periferiche possono essere connesse alla stessa porta e riconosciute immediatamente dal sistema operativo che le rende subito attive ed utilizzabili. Ci sono 2 differenti tipi di connessione USB, quella di tipo A e quelli di tipo B che vengono illustrati nelle due figure seguenti:
Una USB con connettore A ed una con connettore B
Come abbiamo già detto, praticamente tutte le periferiche in circolazione oggi hanno una connessione USB. Se quindi al nostro PC dobbiamo collegare allo stesso tempo una stampante, uno scanner, un Joystick ed una Webcam dovremmo avere 4 porte USB. Non tutti i PC nascono con una dotazione così ampia di porte, per tale ragione è possibile usare degli HUB USB che funzionano esattamente come normali hub di rete e a cui possono essere connessi fino a 127 periferiche in cascata. Un cavo USB è formato al suo interno da 4 linee. Due sono dedicate all’alimentazione e due ai dati. Il fatto che la connessione USB trasporti anche l’alimentazione fa si che alcune periferiche ne possano beneficiare (ad esempio i mouse senza dover ricorrere ad alimentatori aggiuntivi (e quindi a nuovi cavi che l’utente deve sistemare sulla sua scrivania).
Quando il PC viene acceso, esso controlla tutti i device connessi al bus USB ed inizia il processo di enumerazione provvedendo ad assegnare ad ogni periferica un indirizzo univoco che gli permetterà di gestirla. Terminato il processo di enumerazione, il PC verifica il tipo di data transfer che la periferica userà e la quantità di banda che ogni periferica andrà ad occupare.
Lo standard 2.0
Mentre l’originale USB era stata disegnata solo come connessione univerale che avrebbe sostituito le porte parallele e seriali, la USB 2.0 è stata disegnata con uno scopo totalmente differente: competere con la connessione firewire. Agli inizi del 1999, la nuova connessione USB 2.0 ancora in fase di completamento poteva vantare performance 20 volte superiori allo standard 1.1 ma i progettisti continuarono gli studi e nella primavera del 2000 ottennero dei risultati ancora migliori. La nuova USB 2.0 poteva raggiungere una velocità circa 40 volte superiore al vecchio standard (480 MBits/s). Mentre la USB 1.1 può supportare periferiche con basse necessità di banda (stampanti, scanner, joystick ecc), il nuovo standard 2.0 è particolarmente adatto a periferiche esterne come masterizzatori di CD/DVD, Hard disk e connessioni con telecamere digitali. Questo nuovo standard è ovviamente compatibile con il vecchio e può operare in 3 differenti modalità: 480, 12 e 1.5 Megabits al secondo.
Struttura computer
Struttura Von Neumann
Fonti: