A cura di: Giulia Bonacina e Fabiana Motteran Prof: Claudio Cancelli Informatica - 3^C_Liceo_Tecnologico A.S. 2005-2006 JOB TITLE Le Grandezze Binarie Il Bit ed il Byte Il Microprocessore I Bus di Sistema La Memoria Centrale LE GRANDEZZE BINARIE Alcune grandezze sono già per loro natura discrete (per esempio numeri interi), tuttavia i valori che possono assumere sono infiniti, mentre nella realtà il numero è finito. Altre grandezze sono continue (ad esempio numeri reali); in questo caso per renderle discrete necessitano di una approssimazione. Le grandezze binarie sono delle grandezze che possono essere espresse tramite solamente due valori: 0 e 1, detti valori logici. ESEMPI: “zero”→0 “uno”→1 “dieci”→ 0 “venti”→ 1 pixel “colore bianco”→ 0 pixel “colore nero” → 1 Per rappresentare più di due valori usiamo una sequenza/(vettore) di bit: “zero”→ “uno”→ “due”→ “tre”→ 00 01 10 11 “da zero a dieci eluso” “da dieci a venti eluso” “da venti a trenta eluso” “da trenta a quaranta eluso” → → → → 00 01 10 11 1 I calcolatori elettronici sono in grado solo di utilizzare grandezze binarie (bit): un “bit” può quindi assumere due valori logici, indicati convenzionalmente mediante 0 ed 1. IL BIT ED IL BYTE Nel sistema di numerazione binario ciascuna cifra prende il nome di BIT. Il “bit” è la forma contratta di Binary Digit (cifra binaria), e può assumere due valori convenzionalmente indicati con 0 e 1. Il “bit” è la più piccola unità di informazione che un computer può elaborare o memorizzare ed è utilizzato per la codifica dei dati e delle informazioni in tutti i sistemi di elaborazione digitali. Fisicamente consiste in un impulso inviato a un circuito o nella magnetizzazione di una piccola porzione di un disco o di un nastro,o di un foro presente sulle superfici dei CD. Un gruppo di otto “bit” costituisce il BYTE, che codificano informazioni elementari quali le lettere dell'alfabeto e le cifre numeriche. Nel sistema di codifica “ASCII-8 o ASCII esteso” a ciascun carattere alfanumerico corrisponde un Byte, potendo così rappresentare fino a 256 caratteri. 0 1 0 0 1 0 1 0 J Un BYTE La codifica dei dati binari fa uso dei seguenti multipli: 1 kilobyte (KB) 1 megabyte (MG) 1 gigabyte (GB) 1 terabyte (TB) → corrisponde a 1024 byte → corrisponde a 1.048.576 byte → corrisponde a 1.073.741.824 byte → corrisponde a 1.099.511.627.116 byte Poiché nei sistemi che operano in base binaria le quantità vengono solitamente espresse in termini di potenze di 2, vale la seguente corrispondenza: 1 KB → equivale a 210 byte = 1024 byte 1 MB → equivale a 220 = 210× 210 = 1024 × 1024 byte 30 10 10 10 1 GB → equivale a 2 = 2 × 2 × 2 = 1024 × 1024 × 1024 byte 2 Il sistema binario svolge un ruolo importante nella tecnologia dei computer. I primi 20 numeri della notazione binaria sono 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011, 10100, dove, procedendo da destra verso sinistra, i singoli simboli rappresentano i coefficienti delle potenze successive di due. Ad esempio, cominciando da destra, 10101101 equivale a (1 × 20) + (0 × 21) + (1 × 22) + (1 × 23) + (0 × 24) + (1 × 25) + (0 × 26) + (1 × 27). Poiché sono coinvolti solo due valori per ciascun “bit”, il sistema binario è particolarmente utile; infatti ogni combinazione binaria può essere rappresentato, ad esempio, dalla posizione di una serie di interruttori. La posizione on corrisponde a 1, la posizione off a 0. Anziché interruttori, si possono anche usare dei punti magnetizzati su un nastro o un disco magnetico: un punto magnetizzato rappresenta la cifra 1, l'assenza di un punto magnetizzato è invece la cifra 0. I flip-flop sono dei dispositivi elettronici che consentono di memorizzare le informazioni binarie con due livelli di tensione. I circuiti logici dei computer eseguono le diverse operazioni elaborando i dati codificati in binario e l’interfaccia verso le unità analogiche esterne, avviene tramite opportune conversioni: ANALOGICO DIGITALE → → DIGITALE ANALOGICO IL MICROPROCESSORE I tre elementi concettuali che distinguono un calcolatore risultano l’elaborazione, la memorizzazione e la comunicazione. L’elaborazione è affidata al microprocessore che risulta l’ Unità Centrale di Elaborazione (CPU- Central Processing Unit) con il compito di realizzare tutte le operazioni di calcolo e di controllo delle unità periferiche esterne (Memoria e Registri): tali compiti vengono eseguiti tramite programmi memorizzati nella memoria 2. Memoria Memorizzazione Memoria 1. Elaborazione Unità Centrale di Elaborazione Centrale di Massa Interconnessione Collegamenti (BUS/Cavi) 3. Comunicazione (interfaccia) Periferiche 3 centrale. Il microprocessore è quindi la parte centrale di una infrastruttura hardware in un sistema informatico. I microprocessori trovano comunissimo impiego in tutte le applicazioni che fanno uso dei calcolatori ed è impiegato quindi nei sistemi di elaborazione delle informazioni per varie applicazioni, dalla didattica all'elaborazione di testi, dal controllo di macchine utensili o di processi industriali, al monitoraggio di degenti in ospedale, o ancora nelle calcolatrici tascabili. I microprocessori, per il controllo di particolari processi industriali, sono impiegati nei microcontrollori, provvisti di memorie di sola lettura (ROM – Read Only Memory) che opportunamente programmate forniscono una sequenza permanente di opportune istruzioni che il microprocessore esegue; il contenuto di tali memorie può essere letto più volte, ma non modificato. I microcontrollori dispongono anche di un’estensione ad accesso casuale (RAM- Random Access Memory) per contenere dati transitori. Un microprocessore è realizzato su una singola lastrina di silicio, detta wafer o chip, di solito non più lunga di 0,5 cm per lato e di spessore non superiore a 0,5 mm. In grado di contenere 300 milioni di transistor in un solo chip. La dimensione dei transistor è di 65 nanometri, ma nel 2007 sono previsti microprocessori a 45 nm, con fili di rame dallo spessore inferiore a 1/800 di un capello umano. Per avere un’idea di tale dimensione basti pensare che le dimensioni del virus HIV è di circa 120 nm, quelle di un globulo rosso dell’uomo è di circa 6000-8000 nm. In un’architettura orientata al collegamento tramite bus, il microprocessore dialoga con la Memoria Centrale (detta anche elettronica), con la Memoria di Massa (detta anche Memoria Magnetica) e con le Periferiche di Ingresso e di Uscita, compiendo una operazione all’interno di un ciclo di tempo chiamato Bus Cycle. La CPU è composta da tre blocchi: L’ Unità di Controllo preposta a leggere le istruzioni e comprenderne il tipo, l’ Unità AritmeticoLogica (ALU) che esegue le operazioni necessarie per eseguire le istruzioni ed i Registri, necessari a memorizzare risultati temporanei, a dichiarare l’istruzione in corso Instruction Register (IR), a 4 dichiarare l’istruzione successiva Program Counter (PC), e svolgere altre funzioni specifiche del tipo di microprocessore. I microprocessori sono classificati in funzione del numero di “bit” di informazione che possono essere trasferiti "in parallelo" (cioè contemporaneamente) sul Bus che contiene i Dati (DATA BUS). Questo numero è costantemente cresciuto con lo sviluppo della tecnologia dei circuiti, e attualmente dopo i microprocessori a 8, 16 e 32 bit, sono in commercio a 64 bit. IBM e MOTOROLA stanno comunque mettendo a punto un processore a 128 bit. Poiché il microprocessore esegue le operazioni in modo sincronizzato, necessita di un orologio esterno che ha il compito di fornire un segnale rettangolare (Clock) la cui frequenza per i moderni microprocessori è dell’ordine di 3 GHz. Nel 2007 si prevede di utilizzare Clock di 104 Hz. Oltre al Clock un importante elemento che evidenzia la potenza di un microprocessore è il MIPS (Milioni di istruzioni al secondo). Il processore AMD Athlon FX-60 (Dual Core) Tipi di chip esegue 22.150 MIPS con un clock di 2,6 GHz. Ed infine, in riferimento al FLOPS (FLoating point Operations Per Second), ossia il numero di operazioni in virgola mobile al secondo, esistono oggi elaboratori, nei centri di ricerca, che hanno rendimenti di 70 Teraflops, mentre in commercio l’ordine di grandezza è di 0,5-1,5 Teraflops. Nel 2010, è previsto un elaboratore con una potenza di 330 Teraflops. I BUS DI SISTEMA E’ il mezzo fisico che consente la comunicazione tra di l’ unità di elaborazione,la memoria e le varie interfacce di ingresso/uscita. Dispositivi di Input/Output CPU Memoria principale I/O I/O I/O BUS Indirizzi Dati Controllo 5 I trasferimenti sono gestiti dalla CPU e le singole operazioni vengono gestite all’interno del Bus Cycle. Vi sono tre tipi di bus: • BUS INDIRIZZI = o Address Bus, è il bus che consente al microprocessore di selezionare la cella specifica di memoria od il registro con cui comunicare. La comunicazione avviene in un intervallo temporale successivo che vede coinvolto il bus dati per trasmettere o ricevere i dati dall’unità periferica precedentemente indirizzata. Il bus indirizzi è monodirezionale: ossia l’origine è sempre il microprocessore e l’indirizzo è sempre nella direzione microprocessore unità periferica. Un microprocessore con 32 BIT di indirizzo consente una capacità di indirizzamento diretto pari a 232 locazioni. • BUS DATI = Data Bus, è il bus destinato al trasporto dei dati per le operazioni di scrittura (dal microprocessore all’ unità indirizzata) e per le operazioni di lettura (dall’unità indirizzata al microprocessore). Il bus dati per questi motivi è bidirezionale. Un microprocessore a 64 bit denota che il BUS DATI è composto da 64 bit. • BUS di CONTROLLO = Control Bus, è il bus che contiene i segnali di controllo necessari alle corrette abilitazioni, al dialogo con le periferiche ed al corretto funzionamento delle diverse parti del sistema. In un Bus Cycle il microprocessore effettua una operazione, sincronizzata dal clock, per interfacciare in modo diretto memoria oppure registri. La durata del Bus Cycle varia in funzione del tipo di unità indirizzata (per i registri è di circa 1 nsec, per la memoria cache di circa 10 nsec, per la RAM di circa 100 nsec, e per la memoria di massa di circa 10 msec). LA MEMORIA CENTRALE (elettronica) • • • • • • • • • • Contiene i dati e i programmi di dimensioni ridotte(all’ ordine di Megabyte) Tempi di accesso: dell’ ordine di decine di nanosecondi L’ informazione prima di essere elaborata deve essere acquisita dalla memoria centrale e caricata in uno dei registri della CPU Può essere definita come un insieme di ordinato di celle contenenti istruzioni e dati Una parola = è una stringa costituita da 0, 8, 16, 32, o 64 bit. La posizione di ogni parola è identificata da un indirizzo Normalmente l’accesso da parte del microprocessore è diretto (una sola operazione) La capacità di indirizzamento in memoria è definita dalle dimensioni del bus indirizzi e del registro indirizzi L’ unità minima di indirizzamento è il BYTE (8 Bit) L’ unità massima di indirizzamento è la WORD composta da tanti “bit” quanti ne può contenere il bus dati (8-16-32-64 Bit) Esempi: 1) uP a 8 bit: D.B composto da 8 Bit A.B composto da 8 Bit (28 indirizzi) 6 Calcolare il numero di Byte accessibili in modo diretto. 28 = 256 indirizzi 256 × 8 Bit → 256 Byte = 0,25 KByte 2) uP a 16 bit: D.B composto da 16 Bit A.B composto da 20 Bit (220 indirizzi) Calcolare il numero di Byte accessibili in modo diretto. 220 = 1M indirizzi (1.048.576 indirizzi) 1M × 8 bit = 1 MB = 0,5 MWord 1 W = 2 Byte 3) uP a 32 bit: D.B composto da 32 BIT A.B composto da 32 Bit (232 indirizzi) Calcolare il numero di Byte accessibili in modo diretto. 232 = 22 × 230 = 4 × 1.073.741.824 = = 4 G indirizzi (4.073.741.824) 4 G × 8 bit = 4 GB = 1 GWord 1 W = 4 Byte Struttura della memoria 0 Indirizzi 1 cella 2 bit X 0 1 1 0 1 0 0 1 parola N Dati 7 LE PERIFERICHE DI UN SISTEMA DI ELABORAZIONE Monitor Output Stampante Output Tastiera Input Mouse Input Modem Input/Output Floppy disk Input/Output Hard disk Input/Output 8