
|
| Bits & Bytes | ||||||||||||
| Per motivi legati alla tecnologia, i sistemi digitali rappresentano i dati utilizzando solo due stati fisici, cui si possono associare due simboli "1" oppure "0", detti anche cifre binarie (due soli possibili valori 0 ed 1). Le persone usano invece per lo più cifre decimali (dieci possibili valori, da 0 a 9), ma i principi computazionali restano invariati, dato che le operazioni si basano sulla notazione posizionale. Ciò significa che un dato numero decimale, ad esempio 255, è da intendere come: | ||||||||||||
5 * 10^0 + 5 * 10^1 + 2 * 10^2 = 5 * 1 + 5 * 10 + 2 * 100 |
||||||||||||
| Allo stesso modo il numero binario 11010011 è da intendere come: | ||||||||||||
1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 1 * 2^6 + 1 * 2^7 = |
||||||||||||
= 1 * 1 + 1 * 2 + 0 * 4 + 0 * 8 + 1 * 16 + 0 * 32 + 1 * 64 + 1 * 128 = 211 |
||||||||||||
| In sostanza quindi la notazione posizionale implica che l'importanza relativa di una cifra facente parte di un dato numero dipende dalla posizione nel numero stesso; una cifra più a sinistra nel numero ha un "peso" maggiore (concorre maggiormente) nel determinare il valore del numero rispetto alle cifre più a destra. | ||||||||||||
| Inoltre le stesse regole per le operazioni valide con il sistema decimale valgono per il sistema binario. Ad esempio: | ||||||||||||
27 + |
||||||||||||
35 = |
||||||||||||
-------- |
||||||||||||
62 |
||||||||||||
| in cui l'ordine delle operazioni elementari è "7 + 5 = 2 con riporto di un'unità di ordine successivo, con valore 10^1=10; 2 + 3 = 5 da sommare al riporto". Analogamente: | ||||||||||||
101+ |
||||||||||||
011= |
||||||||||||
--------- |
||||||||||||
1000 |
||||||||||||
| perchè "1 + 1 = 0 con riporto di un'unità di ordine successivo, con valore 2^1=2; 0 + 1 = 1 da sommare ad 1, quindi ancora 0 con riporto di 1 (valore 1 * 2^2 = 4); 1 + 0 = 1 da sommare al riporto, quindi si scrive 0 alla terza posizione ed 1 alla quarta, con valore 1 * 2^3 = 8". | ||||||||||||
In binario si possono eseguire tutte le operazioni
aritmetiche elementari, ed in base ad esse costruire un sistema di calcolo ed elaborazione
dati completo. In particolare:
|
||||||||||||
| con 8 bits (byte) si possono rappresentare numeri decimali da 0 a 255 (=2^8 - 1) (in tutto 256 valori compreso lo zero); | ||||||||||||
| con 16 bits (word) da 0 a 65535 (=2^16 - 1) (in tutto 65536 valori); | ||||||||||||
| con 24 bits da 0 a 16777215 (=2^24 -1) (in tutto 16777216 valori); | ||||||||||||
| con 32 bits (longword) si possono rappresentare oltre 4 miliardi di valori. | ||||||||||||
| Inoltre occorre tenere presente che: | ||||||||||||
| 1 Kilobyte = 1 KB = 1024 Bytes = 1024*8 bits = 8192 b; | ||||||||||||
| 1 Megabyte = 1 MB = 1024 KBytes = 1024 * 1024 Bytes; | ||||||||||||
| 1 Gigabyte = 1 GB = 1024 MBytes = 1024 * 1024 * 1024 Bytes. | ||||||||||||
Il sistema binario si presta particolarmente
all'immagazzinamento di dati in forma digitale (cioè numerica) su sistemi digitali.
|
| Componenti della Motherboard |
| I "componenti vitali" del computer risiedono sulla scheda madre o motherboard, una scheda elettronica che permette ai singoli sottosistemi di mettersi in comunicazione per scambiare ed elaborare dati. I collegamenti elettrici (fisicamente linee di rame) che interconnettono i vari componenti vengono chiamati "bus". Lo schema più frequente di una moderna motherboard è il seguente: |

| Il componente chiave dell'intera scheda è il microprocessore principale. Il processore si occupa di eseguire le istruzioni dei programmi software, coordinando le azioni dei diversi sottosistemi. Il coordinamento delle singole operazioni avviene tramite un segnale di sincronismo, detto clock, che determina la cadenza (misurata in Hertz, cioè numero di cicli al secondo) delle esecuzioni delle funzioni di ciascun componente (come il metronomo in campo musicale). All'interno del contenitore del microprocessore è montata anche una memoria ad alta velocità, detta cache di secondo livello, con la funzione di contenere una coda di istruzioni scelte opportunamente per minimizzare gli accessi del processore verso l'esterno nel caso di richieste di istruzioni da eseguire. Gli accessi verso l'esterno avvengono infatti sempre più lentamente rispetto al ritmo delle operazioni interne al processore. La cpu (la parte logica del microprocessore, ovvero il microprocessore vero e proprio) comunica con la cache L2 mediante un bus ad alta velocità detto backside bus (BSB in fig). Le comunicazioni verso l'esterno avvengono invece a velocità ridotta attraverso il frontside bus (FSB in fig). |
| Esempio: Intel Pentium II Deschutes microprocessor, 350 MHz, 512KB cache L2 via Backside Bus 175MHz, Frontside bus 64 bits 66 and 100 MHz. |
| A fare da tramite tra il microprocessore ed il resto del sistema è il chipset, un sistema integrato di controllers che gestisce l'interazione con la memoria di sistema, con i dispositivi di input / output e con i sistemi disco. Il chipset comunica col processore tramite il system bus (SYSB in fig). Tra le molte funzioni del chipset è il caso di sottolineare: |
| Esempio: Intel 440BX chipset, System Bus 64 bits 66 and 100 MHz. |
| Tramite il memory bus (MEMB in fig) il chipset comunica con la memoria Ram di sistema. La memoria è un componente essenziale che influisce criticamente sulle prestazioni del computer; sua funzione è di contenere istruzioni e dati da sottoporre al processore. Un programma sul disco fisso dev'essere caricato in memoria prima di essere eseguito. Per consentire l'esecuzione efficiente di più applicazioni contemporaneamente, il caricamento di applicazioni e dati avviene solo quando richiesto. Quando viene richiesta dal processore la lettura di ulteriori dati non presenti in memoria, allora avvengono nuovi accessi ai sistemi disco, con un trasferimento di dati molto più lento. Pertanto una maggiore quantità di memoria limita il numero degli accessi ai dischi, ed aumenta le prestazioni globali del computer. |
| Esempio: Ram sincrona SDRAM, 64 bits - 100 MHz Memory Bus. |
| Esempio: Ram asincrona EDORAM, 64 bits - 66 MHz Memory Bus. |
| L' expansion bus (EXPB in fig) interconnette il chipset con dispositivi di espansione come schede audio, video, controllers vari. Il tipo di bus di espansione più diffuso per PC è il bus PCI (Periferal Component Interconnect), che nella versione 2.1 funziona a 32 bits e 33 MHz, e può trasferire sino a 132 MB di dati al secondo. Per le funzioni video è invece più conveniente usare, quando disponibile, la più avanzata porta AGP (Advanced Graphic Port), che utilizza un bus proprietario più veloce. Un altro tipo di bus in passato molto usato (oggi in via d'estinzione) è l'ISA (Industry Standard Architecture), funzionante a 16 bits ed 8 MHz, molto più lento e critico da gestire rispetto al PCI. |
| Il PCI, l'AGP, l'ISA vengono normalmente considerati tipi di bus "interni" rispetto ai bus di interfaccia "esterni" che collegano le porte parallele e seriali e le unità disco. Segue una descrizione essenziale dei principali tipi di interfacce esterne. |
| L'interfaccia EIDE è la più diffusa ed economica, ed è praticamente un compromesso tra costo e prestazioni (anche se con la versione Ultra DMA 33 è possibile ottenere una discreta velocità massima di trasferimento di 33 MB al secondo). L'EIDE consente la connessione di 4 dispositivi al massimo, gestiti tramite due porte (Primary IDE e Secondary IDE) che a loro volta gestiscono due periferiche differenti (Master e Slave). Il controller EIDE è normalmente integrato nel chipset, cosa che normalmente non avviene per l'interfaccia SCSI. |
| L'interfaccia SCSI è nata come un sistema ad alte prestazioni, e solitamente richiede un controller a parte (alcuni produttori invece integrano sulla motherboard controller e connettori). Oltre a prevedere una elevata velocità di trasferimento dati (fino ad 80 MB al secondo nella versione Ultra Wide SCSI III), consente la connessione in cascata ed il controllo di un elevato numero di periferiche (fino a 21 per lo SCSI III). Inoltre integra una serie di caratteristiche avanzate (ad esempio, a titolo puramente indicativo, bus mastering, dma, alti valori MTBF) che la rendono nettamente superiore allo standard EIDE. |
| La disposizione dei componenti sulla motherboard dovrebbe rispettare uno schema standard raccomandato, frutto dell'esperienza di anni di sperimentazione tecnologica; si tratta del cosiddetto fattore di forma atx. I computers costruiti secondo questo standard abbinano ordine della geometria dei circuiti alla facilità di accesso per le connessioni. A livello elementare inoltre il funzionamento del complesso computer system è supervisionato da un componente detto bios (Basic Input Output System), che fornisce anche un'interfaccia di base per l'interazione con l'utente prescindente dal sistema operativo utilizzato. All'accensione del computer il bios avvia una procedura detta POST (Power On Self Test), che investiga i sottosistemi installati predisponendoli al corretto funzionamento. Le informazioni basilari sull'hardware a bordo della motherboard (compresa la data e l'ora corrente) vengono memorizzate su una memoria di tipo cmos a basso consumo, affiancata da una speciale batteria; le impostazioni della cmos possono essere modificate (si presume con cognizione di causa) accedendo al setup durante la fase di avvio della macchina. |
![]() |
| Per ulteriori approfondimenti: note di pc hardware. |