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
Stampante
Processore Memoria
(centrale) Bus principale
Controller
CPU + HD, CD, Floppy Unità centrale e
memorie Periferiche per l’output Periferiche
per l’input
Scanner Tastiera e mouse
Organizzazione fisica attuale
Hard Disk Lettore CD
Floppy Disk
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
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 celleche possono
contenere otto bit (un byte)
• La memoria può essere vista comeuna sequenza di celle
La memoria principale
• 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
01 23 4
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
• 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 = 220byte ~ 1.000.000 byte, 1GB = 230
Dimensioni della Memoria
Spazio di indirizzamento
• Nei computer attuali lo spazio di indirizzamento è di almeno 32 bit, con cui si possono indirizzare
232 byte = 4GB
• Lo spazio di indirizzamento è maggiore della memoria esistente
• 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
Parola di memoria
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-9sec, 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
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)
Il Processore
• Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale
• L’elaborazione avviene eseguedo sequenze di istruzioni (istruzioni macchina)
• Il linguaggio in cui si scrivono queste istruzioni viene chiamato linguaggio macchina
• Il ruolo del processore è quindi quello di eseguire programmi in linguaggio macchina
Componenti di un processore
Unità di Controllo
Unità Aritmetico-
Logica
REGISTRI
Program Counter (PC) Registro di Stato (PS) Registro Istruzioni (RI)
Registro Indirizzi Memoria (RIM) Registri Generali (16 o 64)
Registro Dati Memoria (RDM) Registro di Controllo (RC) Bus
Interno
L’unità di controllo
• L’Unità di Controllo (UC) si occupa di coordinare le diverse attività che vengono svolte all’interno del processore
• Il processore svolge la sua attività in modo ciclico: ad ogni ciclo corrisponde generalmente l’esecuzione di una istruzione macchina
• Ad ogni ciclo vengono svolte diverse attività controllate e coordinate dalla UC
nsi legge dalla memoria principale la prossima istruzione da eseguire osi decodifica l’istruzione letta
• La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una
componente detta clock
• Ad ogni impulso di clock la UC esegue una istruzione macchina
• La velocità di elaborazione di un processore dipende dalla frequenza del suo clock
• I processori attuali hanno frequenze di clock dell’ordine di 1-3 GHerz (1-3 miliardi di
impulsi al secondo)
Il Processore: i registri
• Il processore contiene al suo interno un certo numero di registri: unità di memoria
estremamente veloci per memorizzare i dati di uso immediato
• Le dimensioni di un registro sono tipicamente quelle di una parola di memoria (ad esempio 4 o 8 byte)
Esistono due tipi di registri:
– i registri speciali utilizzati dalla UC per scopi particolari:
• controllo dell’esecuzione del programma
• scambio di dati con la memoria centrale – i registri generaliutilizzati per contenere
dati e risultati di operazioni aritmetiche o logiche
L’Unità Aritmetico-Logica
• L'Unità Aritmetico-Logica (ALU) è costituita da un insieme di circuiti in grado di svolgere le operazioni di tipo aritmetico e logico
• La ALU legge i dati contenuti all'interno dei registri generali, esegue le operazioni e memorizza il risultato in uno dei registri generali
• Esempi di operazioni sono:
– Aritmetiche
– Logiche (AND, OR, NOT…) – Confronti (=, <, >…)
1:ISA slot 2:PCI slot 3:AGP slot
4:ATX power connector 5:Chipset
6:CPU socket 7:RAM slot 8:IDE connector
9:Floppy disk connector 10:Batteria
11:BIOS chip
Esempio di Motherboard (Scheda Madre)
La memoria secondaria (memoria di massa)
• Lamemoria principalenon può essere molto grande per il suo costo elevato. Inoltre non consente la memorizzazione
permanente dei dati Per questi motivi nell’architettura di un calcolatore è presente un altro tipo di memoria:
Memoria periferica o secondaria, è – molto più lenta
– più economica
– con capacità di memorizzazione maggiore
– in grado di memorizzare i dati in forma permanente
• Il processore non può utilizzare direttamente la memoria di massa per l'elaborazione dei dati
• Il programma in esecuzione deve essere in memoria centrale e quindi le informazioni devono essere trasferite dalla memoria periferica a quella centrale ogni volta che servono
• Quando si vuole eseguire un programma, questo deve essere copiato dalla memoria periferica a quella centrale (caricamento)
Esempio: programma di elaborazione testi
• lanciare (aprire) il programma vuol dire copiarlo dalla memoria secondaria alla memoria principale
• aprire un documento vuol dire copiarlo dalla memoria secondaria alla memoria principale
• salvare un documento vuol dire copiarlo dalla memoria principale alla memoria secondaria
• I supporti di memoria di massa sono molto più lenti rispetto alla memoria centrale, ciò è dovuto all’uso di dispositivi meccanici
• Le memorie di massa hanno capacità di
memorizzazione (dimensioni) molto maggioridi quelle delle tipiche memorie principali
• I dispositivi di memoria secondaria sono dotati di un loro controller e comunicano con la memoria
principale e il processore mediante il bus
Caratteristiche generali della memoria periferica:
• Nel caso della memoria centrale si ha sempre l'accesso diretto ai dati, nel caso della memoria periferica solo alcuni supporti consentono l'accesso diretto mentre altri supporti permettonosolo l'accesso sequenziale
• La memoria centrale consente di indirizzareil singolo byte di informazione, nelle memorie di massa le informazioni sono organizzate inblocchi di dimensioni più grandi
Accesso ai dati in memoria secondaria
Il motivo è:
• per minimizzare le operazioni di lettura e scrittura, visto che sono operazioni molto piu’
lente che nel caso della memoria principale
• per minimizzare lo spazio di indirizzamento;
con molti blocchi di dimensione ridotta si dovrebbero utilizzare troppi indirizzi e quindi indirizzi troppo lunghi
Il blocco è l’unità minima indirizzabile
I supporti fisici della memoria periferica:
• La memoria periferica deve avere capacità di memorizzazione permanente
• Per la sua realizzazione si utilizzano principalmente tecnologie:
– magnetiche (dischi e nastri magnetici)
– basate sul laser (dischi ottici, cioe’ CD e DVD)
• Si utilizzano anche marginalmente tecnologie
I dischi magnetici
• Tecnologia basata sulla magnetizzazione: la
magnetizzazione è permanente fino a quando non viene modificata per effetto di un agente esterno
• I due diversi stati di polarizzazione di particelle di una sostanza magnetizzabile corrispondono alle due unità fondamentali di informazione (bit)
• I dischi magnetici sono i dispositivi di memoria periferica più diffusi
• Sono costituiti da uno o più supporti di plastica, vinile o metallo, su cui è depositato del materiale magnetizzabile
• Nel corso delle operazioni i dischi vengono mantenuti inrotazione a velocità costante e le informazioni vengono lette e scritte da testine (simili a quelle utilizzate nelle cassette
audio/video, ma molto piu’ piccole)
• Entrambi ilati di un disco possono essere
i dischi magnetici
• I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una “fetta” di disco. I settori suddividono ogni traccia in porzioni di circonferenza dette blocchi (o record fisici)
Traccia
Settore Blocco
Testina
• La suddivisione della superficie di un disco in tracce e settori viene detta formattazione
• Ilbloccoè la minima unità indirizzabile in un disco
magnetico e il suo indirizzo è dato da una coppia di numeri (t, s) che rappresentano il numero della traccia (t) e il numero del settore (s)
• I dischi magnetici consentono l'accesso direttoin quanto è possibile posizionare direttamente la testina su un qualunque blocco senza dover leggere quelli precedenti
• Per effettuare un'operazione di lettura (scrittura) su un blocco è necessario che la testina raggiunga l'indirizzo desiderato
• Il tempo di accessoalle informazioni sul disco è dato dalla somma di tre tempi dovuti a:
• spostamento della testina in senso radialefino a raggiungere la traccia desiderata (seek time ~5msec);
• attesa che il settore desiderato passi sotto la testina; tale tempo dipende dalla velocità di rotazione del disco (latency time);
• tempo di lettura/scritturavero e proprio dell'informazione Il tempo di accesso ad un disco è dell’ordine dei
millisecondi (10-3)
Dischi fissi (hard disk)
• Glihard disk (dischi rigidi) sono i dischi magnetici che vengono utilizzati come memoria di massa principale all'interno del computer
• Sono generalmente racchiusi in contenitori sigillati in modo da evitare qualunque contatto con la polvere (la testina è a distanza minima dal disco e il disco può girare fino a 10000 giri al minuto)
• I dischi rigidi hanno capacità di memorizzazione
Sovente gli hard-disk sono formati da una pila di dischi magnetici a due lati.
Cilindri
• Negli Hard Disk con più dischi l’insieme delle tracce coallineate si chiama cilindro
• I cilindri sono indirizzati con un altro parametro
• Il braccio con le testine è in grado di accedere rapidamente a tutte le tracce presenti nello stesso cilindro
• Un blocco sarà quindi indirizzato con una
I floppy disk
• I floppy disk (dischetti flessibili) sono supporti rimovibili
• Ogni computer è dotato in genere di una unità di lettura-scrittura dettadrive, all'interno della quale si inseriscono i dischetti
• I floppy disk sono fatti di materiale plastico e ricoperti da un piccolo strato di sostanza magnetizzabile
• I tempi di accesso sono molto più alti di quelli dei dischi rigidi (c.a. 500 giri al minuto)
I floppy disk
• Oggi sono comuni floppy disk da 3.5" hanno una capacità di memorizzazione dai 500 KByte ai due Mbyte, a seconda della densità (standard è 1,44MB, 80 tracce e 18 settori)
• A differenza degli hard disk i floppy disk sono mantenuti fermi fino a quando non si deve
La memoria periferica:i dischi ottici (CD)
• Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser
• Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che può essere emesso in fasci di dimensioni molto ridotte
• Il raggio laser viene riflesso in modo diverso da superfici diverse, e si può pensare di utilizzare delle superfici con dei piccolissimi forellini per
immagazzinare informazione
Ogni unità di superficie può essere forata o non forata e questo corrisponde ai due diversi tipi di informazione elementare (bit)
L'informazione contenuta su un'unità di superficie può essere letta guardando la riflessione del raggio laser proiettato sulla superficie stessa
Aggregazioni di informazioni possono essere ottenute dividendo una superficie di grandi dimensioni in molte unità elementari, ognuna delle quali rappresenta un singolo bit
0 1 1 1 0 FONTE LUMINOSA
La letturaè un’operazione facile e avviene mediante un raggio laser
La scritturaè un'operazione complicata, che richiede una modifica fisica del disco
Ci sono vari tipi di CD:
• I CD ROMovvero Compact Disk Read Only Memory:
consentono solamente operazioni di lettura
• I CD R: possono essere anche scritti, ma una sola volta perché le modifiche fisiche che avvengono durante la fase di scrittura sono irreversibili. Si usa un masterizzatore.
• I dischi ottici vengono usati solitamente per – la distribuzione di programmi e dati
– archiviazione di informazioni che non devono essere modificate
• I dischi ottici hanno una capacità di memorizzazione inferiore (anche se di poco) dei dischi magnetici e sono più lenti dei dischi magnetici (velocita’ circa 500 giri al minuto)
• Le dimensioni tipiche per i dischi ottici utilizzati oggi vanno dai 500 MByte in su, fino a uno o più GByte
• I dischi ottici hanno costo inferiore, sono molto più affidabili e difficili da rovinare
Uso e caratteristiche dei CD-DVD
Modalità di accesso ad un CD
• Nei CD di uso comune le informazioni sono
memorizzate lungo un’unica traccia a spirale che parte dal centro del disco e viene segmentata in blocchi separati da spazi vuoti (gap) quindi consentono solo un accesso sequenziale
• E` facile pero’ realizzare delle tabelle di accesso con chiave: ad ogni chiave è associato l’indirizzo del blocco in cui si trova la chiave (perche’ l’informazione non cambia)
Velocita’ di lettura
• La velocita’ di lettura dei dati per un lettore di CD si misura in N X (es 48 X) dove: X e’ l’unita’ di misura e indica la velocita’ per riprodurre un secondo di suono in un CD musicale
• In un masterizzatore si usa la tripla S*R*L dove
• S= velocita’ di scrittura
• R= velocita’ di scrittura su CD RW
• L= velocita’ di lettura
• DVD(Digital Versatile Disk) o (Digital Video Disk)
– Capacità attuale fino a 9 GB
– Velocita di trasferimento molto superiore ai CD
• DVD-Rscrivibili solo una volta
• DVD-RAM leggibili e riscrivibili
I DVD
Nastri magnetici
• Simili ai nastri per le video/audiocassette
• Consentono solo accesso sequenziale
• estremamente economici
• molto lenti
• usati per back-up periodico o archiviazione
• essendo tenuti off-line hanno una capacità di memorizzazione molto grande
Prestazioni memoria
Tipo Dimensioni T. accesso MB/sec
Registro < 1KB < 0,5ns < 100 000
RAM < 4GB < 100ns < 5000
HD < 50GB < 10ms < 20
CD (DVD) < 50GB <100ms < 2
Le unità di ingresso/uscita (Input/Output)
• Le unità di ingresso/uscita (anche dette periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina
• La loro funzione primaria è quella di consentire l'immissione dei dati all'interno dell'elaboratore (ingresso), o l'uscita dei dati dall'elaboratore (uscita)
• Solitamente hanno limitata autonomia rispetto al processore centrale (sono completamente gestiti, controllati e coordinati dal processore)
Unità di I/O
Unità di ingresso (input)
• tastiera
• mouse (dispositivi di puntamento)
• scanner (OCR riconoscitori di caratteri)
• altri (fotocamere, sensori, lettori di codice a barre, microfono)
Unità di uscita (output)
• video
Meccanismo di Interrupt (per periferiche di I/O)
Le unità che hanno terminato un'operazione inviano al processore un segnale, dettointerrupt, per richiedere l'attenzione del processore stesso
Ad ogni ciclo di clock il processore controlla se prima di iniziare l’esecuzione della prossima istruzione del
programma in corso è arrivato un segnale di interrupt da qualche dispositivo
• in caso affermativo esegue un programma di risposta al segnale arrivato e poi riprende quello sospeso
• altrimenti prosegue normalmente con l’esecuzione del programma in corso