Upload
camillo-di-stefano
View
212
Download
0
Embed Size (px)
Citation preview
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
Video/display
Periferiche di input/output
Stampante
(secondarie)Memorie di massa
ProcessoreMemoria
(centrale)
Bus
principale
Controller
CPU + HD, CD, Floppy
Unità centrale e memorie Periferiche
per l’outputPeriferiche per l’input
Scanner
Tastiera e mouse
Organizzazione fisica attuale
Hard Disk
RAM CPU
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
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
• 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
01234
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 = 220 byte ~ 1.000.000 byte, 1GB = 230 byte ~ 1.000.000.000 byte)
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-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
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)
BusInterno
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 si legge dalla memoria principale la
prossima istruzione da eseguire si decodifica l’istruzione letta si esegue l’istruzione
• 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 generali utilizzati 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 slot2:PCI slot3:AGP slot4:ATX power connector5:Chipset6:CPU socket7:RAM slot8:IDE connector9:Floppy disk connector10:Batteria11:BIOS chip
Esempio di Motherboard (Scheda Madre)
La memoria secondaria(memoria di massa)
• La memoria principale non 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
• La memoria secondaria viene utilizzata per mantenere tutti i programmi e tutti i dati che possono essere utilizzati dal computer
• 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 maggiori di 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 permettono solo l'accesso sequenziale
• La memoria centrale consente di indirizzare il singolo byte di informazione, nelle memorie di massa le informazioni sono organizzate in blocchi di dimensioni più grandi
(in genere di dimensione compresa tra 512Byte e 4KB)
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 elettroniche (memorie flash, memory cards)
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 in rotazione 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 i lati di un disco possono essere sfruttati per memorizzare le informazioni
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
BloccoTestina
• La suddivisione della superficie di un disco in tracce e settori viene detta formattazione
• Il blocco è 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 diretto in 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 accesso alle informazioni sul disco è dato dalla somma di tre tempi dovuti a:
• spostamento della testina in senso radiale fino 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/scrittura vero e proprio dell'informazione
Il tempo di accesso ad un disco è dell’ordine dei millisecondi (10-3)
Dischi fissi (hard disk)
• Gli hard 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 elevata, oggi sono comuni hard disk con una capienza di diverse decine di GByte
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 terna di numeri (c,t,s)
I floppy disk
• I floppy disk (dischetti flessibili) sono supporti rimovibili
• Ogni computer è dotato in genere di una unità di lettura-scrittura detta drive, 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 accedere ad essi
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 ROM ovvero 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 CD RW possono essere riscritti
•I DVD: piu’ capienti dei CD
• 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)• Ad esempio, nei CD musicali è possibile accedere direttamente al brano a cui siamo interessati (senza leggere il contenuto dei blocchi precedenti)
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-R scrivibili 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 memoriaTipo Dimensioni T. accesso MB/sec
Registro < 1KB < 0,5ns < 100 000
RAM < 4GB < 100ns < 5000
HD < 50GB < 10ms < 20
CD (DVD) < 50GB <100ms < 2
Nastri off-line~ 100ms < 1
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/OUnità 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• stampante• casse• Schede audio (Sound blaster)
Meccanismo di Interrupt (per periferiche di I/O)
Le unità che hanno terminato un'operazione inviano al processore un segnale, detto interrupt, 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