Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore e la memoria principale costituiscono l unità centrale
Componenti principali di un computer Processore Controller Memoria principale (centrale) Bus Stampante Video/display Periferiche di input/output Memorie di massa (secondarie)
Organizzazione fisica attuale Periferiche per l input Unità centrale e memorie Periferiche per l output Tastiera e mouse Scanner CPU + HD, CD, Floppy
Hard Disk Lettore CD Floppy Disk RAM CPU
Architettura dei computer Le varie componenti comunicano attraverso uno o più insiemi di collegamenti detti bus Nei computer moderni: c e un collegamento dedicato detto bus di sistema per la comunicazione tra cpu e memoria principale ci sono collegamenti per le altre periferiche detti bus locali con i loro adattatori (memorie secondarie, dispositivi di I/O e di rete)
Le idee ed i pionieri Babbage Turing von Neuman Il computer è un calcolatore digitale programmabile dotato di memoria dati e programmi risiedono in memoria
La memoria principale Fornisce la capacità di memorizzare le informazioni (i dati e i programmi) Può essere vista come una lunga sequenza di componenti elementari, ognuna delle quali può contenere un unità di informazione (un bit)
Le componenti elementari della memoria sono aggregate tra di loro e formano strutture complesse dette celle che possono contenere otto bit (un byte) La memoria può essere vista come una sequenza di celle
La memoria principale 0 1 2 3 4 Ciascuna cella è caratterizzata da un indirizzo Gli indirizzi corrispondono all ordinamento delle celle nella sequenza Gli indirizzi sono numeri interi (partono da 0) Gli indirizzi non sono scritti da nessuna parte, sono determinati dall ordinamento consecutivo N
Un altro nome con cui viene indicata la memoria principale è memoria RAM (Random Access Memory) Questa definizione indica che il tempo di accesso ad una cella è lo stesso indipendentemente dalla posizione della cella Le operazioni che un Processore può effettuare sulla memoria sono le operazioni di lettura e scrittura di informazioni nelle celle
L indirizzo di una cella è un numero intero e quindi lo si può codificare in binario Il numero di celle di memoria determina il numero di bit necessari a rappresentare l indirizzo Viceversa il numero di bit destinati all indirizzo determina il numero di celle indirizzabili questo numero viene chiamato Spazio di indirizzamento
Dimensioni della Memoria Le dimensioni della memoria principale variano a seconda del tipo di computer Nei computer attuali le dimensioni tipiche della memoria principale vanno da 128MB a 2GB (1MB = 2 20 byte ~ 1.000.000 byte, 1GB = 2 30 byte ~ 1.000.000.000 byte)
Spazio di indirizzamento Nei computer attuali lo spazio di indirizzamento è di almeno 32 bit, con cui si possono indirizzare 2 32 byte = 4GB Lo spazio di indirizzamento è maggiore della memoria esistente
Parola di memoria Una parola di memoria è, a seconda del tipo di computer, un aggregato di (due) quattro o otto byte, sul quale si può operare (leggere e scrivere) come su un blocco unico Per eseguire le operazioni di lettura e scrittura sulla memoria, si deve specificare l indirizzo della parola su cui si vuole operare Gli indirizzi delle parole devono essere multipli del numero di celle (byte) che le compongono
Indirizzamento La cella è l unità minima di memoria indirizzabile, non sono indirizzabili i singoli bit La parola è l unità massima di memoria che è possibile leggere e scrivere in un colpo solo (mediante un unica istruzione)
La memoria è caratterizzata dal tempo di accesso (tempo necessario per leggere o scrivere un informazione in una parola) Le memorie principali dei computer attuali sono molto veloci e i loro tempi di accesso sono di pochi nanosecondi (1 nanosecondo= 10-9 sec, un miliardesimo di secondo) Le memorie principali sono relativamente costose, (128MB costano qualche decina di euro)
La memoria principale perde ogni suo contenuto quando si interrompe l alimentazione elettrica. Questa caratteristica viene chiamata volatilità È quindi necessario per conservare le informazioni (programmi e dati) avere altri tipi di memoria (memoria secondaria) che conservano il contenuto anche senza alimentazione elettrica
Tipi di RAM DRAM (Dynamic RAM): il tipo più diffuso, economica, tempo di accesso 40-60 ns SRAM (Static RAM): molto più veloce e costosa della DRAM, viene utilizzata per realizzare la memoria cache, tempo di accesso < 10ns VRAM (Video RAM): ha caratteristiche particolari ed e utilizzata per la gestione delle immagini Moduli di memoria RAM: DIMM (chip di memoria montati su due lati) SIMM (chip di memoria montati su un lato solo)
Memoria Cache Memoria molto veloce intermedia tra RAM e CPU i dati di uso piu frequente sono mantenuti nella memoria Cache per minimizzare i trasferimenti tra RAM e CPU Principio di Localita alla base dell architettura con cache: Localita spaziale: il processore utilizza con alta probabilita dati che risiedono in locazioni di memoria contigue Localita temporale: se il processore utilizza un dato in memoria, e altamente probabile che lo riutilizzi nuovamente in breve tempo
Memoria Cache Ci sono due tipi di Cache: interna al processore (~256KB) esterna al processore (~2MB) realizzata con chip di memoria SRAM
Memoria RAM-ROM Tutti i computer contengono un chip di memoria elettronica permanente non modificabile (ROM=Read Only Memory) Il più comune è chiamato EPROM Contiene un programma (detto Basic Input Output System) per l avviamento del computer e per altre operazioni fondamentali
Riassunto caratteristiche Memoria RAM La memoria RAM è: veloce (accesso nell ordine dei nanosecondi) relativamente costosa ha dimensioni limitate è volatile (non può mantenere dati permanenti è ad accesso diretto (si può accedere a qualsiasi cella senza accedere alle altre)