• Non ci sono risultati.

Architettura dei computer

N/A
N/A
Protected

Academic year: 2022

Condividi "Architettura dei computer"

Copied!
29
0
0

Testo completo

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

• 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

(7)

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

(8)

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)

(9)

• 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

(10)

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

(11)

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

(12)

• 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)

(13)

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 (=, <, >…)

(14)

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

(15)

• 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

(16)

• 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

(17)

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

(18)

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

(19)

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

(20)

• 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

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

• 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)

(26)

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

(27)

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

(28)

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

(29)

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

Riferimenti

Documenti correlati

Le memorie di massa servono per immagazzinare dati e programmi e si dividono in hard disk (dischi rigidi o fissi), floppy disk (dischi flessibili e rimovibili), CD ROM (compact

Questa è una configurazione comune per sistemi che utilizzano SIMM a 30 contatti. La configurazione di memoria per tale sistema è tipica- mente divisa in due banchi di memoria:

Nel caso di dispositivi magnetici (nastri o dischi) l’informazione è presente in memoria come stato di magnetizzazione, che può essere positivo o negativo

 Numero di pagina (p) – usato come indice nella tabella delle pagine che contiene l’indirizzo di base di ogni frame nella memoria fisica.  Spiazzamento nella pagina (d) –

O., individua una area della memoria centrale che può contenere in locazioni consecutive la sequenza di istruzioni e dati del programma da caricare e fissa in K il primo indirizzo

• Quando si legge nella page table l'indirizzo della pagina, questo può essere marcato invalido (bit aggiuntivi oltra all’indirizzo di pagina in memoria fisica). • Ciò significa

Nel caso di dispositivi magnetici (nastri o dischi) l’informazione è presente in memoria come stato di magnetizzazione, che può essere positivo o negativo (codifica binaria).. Nel

Inoltre, quando l’unità centrale richiede l’accesso a una locazione di memoria virtuale non presente in una cella di memoria reale, si rende necessario effettuare