1. 2013
STRUTTURA
DELL’ELABORATORE
classe 1 C
Soad
Hassan
04/02/2013
2. 2
INDICE:
L’elaboratore
IL CALCOLATORE IDEALE: UNO SCHEMA FUNZIONALE. Pag.3
Più livelli di memoria Pag.3
Il computer reale Pag.6
Il personal computer Pag.7
Il bus di sistema. Pag.7
aspetti e caratteristiche del bus di sistema
L’unità di elaborazione. (CPU) Pag.11
la tecnologia
caratteristiche della CPU
l’architettura interna della CPU Pag.12
aspetti che determinano le prestazioni della CPU
La memoria centrale. Pag.13
caratteristiche della memoria centrale Pag.15
le tecnologie costruttive della RAM Pag.16
read only memory Pag.17
superare i limiti del bus:il bus locale Pag.18
la cache Pag.19
Approfondimento sul funzionamento della CPU e della memoria.
operazione di lettura dato:’read’ Pag.20
operazione di scrittura dato:’write’ Pag.20
struttura della CPU Pag.20
il pc all’interno Pag.21
3. 3
L’ELABORATORE
IL CALCOLATORE IDEALE:UNO SCHEMA FUNZIONALE
L’elaboratore è una macchina elettronica su cui si codificano e si elaborano le informazioni. Nel 1945,Von
Neumann ha ideato uno schema dove dice cosa fa l’elaboratore.Nello schema possiamo vedere i 4 blocchi
funzionali del modello,ovvero:
MEMORIA che indica il componente che ha il compito di memorizzare i dati.
UNITA’ CENTRALE DI ELABORAZIONE chiamata anche PROCESSORE o CPU ( Central Processing
Unit)che elabora i dati.Oltre ad elaborare dati,la CPU ha il compito di controllare il
funzionamento di tutti gli altri componenti dell’elaboratore .
INGRESSO/USCITA(INPUT/OUTPUT) individua i dispositivi attraverso cui vengono immessi dati e
programmi (input) e mediante i quali il computer può comunicare all’esterno i risultati di una
elaborazione (output).
BUS è quel componente che connette tutti gli altri elementi,consentendo loro di ricevere o
trasmettere dati e permettendo alla CPU di controllare tutti i componenti.
PIU LIVELLI DI MEMORIA
Il computer è formato da due elementi principali:
La CPU che,con una elevata velocità è in grado di accedere ai dati contenuti nella memoria e di
elaborarli sulla base delle istruzioni contenute nei programmi.
Una MEMORIA in cui sono memorizzate i dati ed i programmi.In particolare la memoria dovrebbe
avere questi cinque requisiti:
VELOCITA nel memorizzare o reperire dati.
CAPACITA deve poter memorizzare grosse quantità di dati.
ECONOMICITA dovrebbe costare poco.
NON VOLATILITA dovrebbe mantenere in memoria i dati anche se non in alimentazione.
TRASPORTABILITA nel senso di permettere il trasferimento dei dati da computer a computer.
Tuttavia l’attuale tecnologia,mentre a reso a disposizione una CPU,non è riuscita a fornire una
memoria dotata dei requisiti richiesti.Questo fatto ha ‘costretto’ i progettisti a realizzare un
computer organizzando un’architettura con più livelli di memoria:
una MEMORIA CENTRALE ossia la RAM,realizzata con una tecnologia elettronica che garantisce
una elevata velocità ma,costosa e non in grado di mantenere i dati memorizzati quando il
computer si spegne.La RAM è una memoria di lavoro o volatile.
Più tipologie di MEMORIE SECONDARIE O DI MASSA (HARD-DISK) realizzate con la tecnologia
magnetica o ottica,poco costose,capaci di mantenere i dati anche in assenza di alimentazione,con
una capacità centinaia di volte di volte maggiore a quella della RAM;inoltre alcuni tipi di
memoria di massa sono trasportabili.
4. 4
CPU
UNITA’
CENTRALE DI
ELABORAZIONE
OUTPUT
INPUT
MEMORIA
DATI INFORMAZIONI
5. 5
CPU VELOCITA’
MEMORIA
VELOCITA’
ECONOMICITA’
NON VOLATILITA’
CAPACITA’
TRASPORTABILITA’
6. 6
IL COMPUTER REALE
La RAM,seppure molto veloce,è VOLATILE e quindi anche disponendo di una grande quantità di
memoria,ne perderemmo il contenuto nel momento il computer venisse spento.
Inoltre tale memoria è molto costosa:quindi non si può pensare di utilizzarla per conservare nel
tempo grosse quantità di dati e di programmi.
Le memorie di massa sono enormemente più lente rispetto alla memoria centrale:tale lentezza è
dovuta al fatto che mentre la memoria centrale è di tipo elettronico(con i tempi di accesso
dell’ordine dei nanosecondi),le memorie di massa utilizzano dei componenti elettromeccanici(in
cui i tempi di accesso dell’ordine dei millisecondi,ovvero mille volte più lenti).
Se vogliamo garantire una elaborazione efficiente tra la CPU e la memoria,dobbiamo realizzare
uno schema di funzionamento in cui:
Il processore accede solo alla RAM,l’unica ad avere una velocità paragonabile alla CPU;
Il processore non accede mai direttamente ai dati memorizzati sulle memorie di massa
ma,prima di essere elaborati,tali dati devono essere trasferiti dalle memorie di massa alla
memoria centrale;
poichè la memoria centrale è volatile,i dati presenti nella RAM,per la conservazione nel
tempo,devono essere trasferite nelle memorie di massa.
In altre parole,dopo aver acceso il computer i dati ed i programmi da elaborare saranno
‘caricati’ nella memorie centrale.
Al termine dell’elaborazione,i dati saranno ‘salvati’ sulla memoria di massa per la loro
conservazione.
CPU
RAM
DATI INFORMAZIONI
MEMORIE DI MASSA
FLOPPY
HARD-DISK
7. 7
IL PERSONAL COMPUTER
Nelle pagine seguenti affronteremo lo studio di uno speciale elaboratore,il PERSONAL
COMPUTER(PC) che,grazie al fatto di avere un costo basso,è diventato il tipo di elaboratore più
usato.
I componenti che costituiscono l’UNITA CENTRALE di un generico personal computer sono:
il BUS DI SISTEMA
la CPU
la RAM
le MEMORIE DI MASSA
I dispositivi INPUT/OUTPUT ne permettono l’utilizzo e sono:
il MONITOR
la TASTIERA
il MOUSE
la STAMPANTE
lo SCANNER
il PLOTTER
il DIGITIZER
il LETTORE BAR CODE
le SCHEDE PCMCIA
il MODEM
IL BUS DI SISTEMA
Uno dei problemi che i progettisti hanno incontrato durante la costruzione del personal
computer,è stato quello di trovare un sistema per interconnettere le varie parti del computer,in
modo che potessero comunicare tra di loro.
Una prima soluzione ipotizzata è stata quella di realizzare dei singoli collegamenti elettrici per
connettere tra di loro i diversi componenti.I progettisti per fare in modo che i componenti
potessero ‘parlare’ tra di loro,hanno messo a punto una soluzione chiamata
ARCHITETTURA DEI BUS
In questo modello tutti i componenti del computer NON sono collegati tra di loro come nel prima
caso,ma si interfacciano verso il bus di sistema,in base a regole ben definite.In questo modo è
possibile aggiungere,anche in un momento successivo,una nuova scheda:
purchè dotata di un’opportuna interfaccia fisica che si adatti al bus;
e purchè rispetti le regole di colloquio utilizza teda tutti di altri sistemi connessi al bus.
Una volta che la scheda è stata inserita nei connettori del bus stesso,può comunicare con gli altri
componenti del personal computer,inclusa la memoria e il processore.
La scelta di utilizzare sul personal computer una ‘architettura a bus’,è stata proposta dall’IBM sul
suo primo personal computer.
L’importanza del costruttore ed il fatto che l’IBM abbia reso pubbliche le specifiche tecniche del
bus utilizzato,ha fatto si che in breve tempo questo bus diventasse uno standard di mercato.In un
secondo momento,basandosi su questo standard,altre società hanno avuto la possibilità di
8. 8
produrre dispositivi aggiuntivi,che si potevano connettere con molta facilità.Tutto questa ha
permesso di ampliare il mercato stesso,creando quella situazione di concorrenza che tanto ha
contribuito al successivo abbassamento dei prezzi e alla diffusione del personal computer che oggi
conosciamo.
Nello scema vediamo lo schema semplificato di un personal computer,in cui tutti i principali
componenti sono collegati al bus,e attraverso si scambiano segnali.
MEMORIA
CPU
RAM HARD-
DISK
BUS DI SITEMA
TASTIERA VIDEO PRINTER
INPUT/OUTPUT
9. 9
ASPETTI CARATTERISTICI DEL BUS DI SISTEMA
Il bus di sistema è sempre sotto il controllo del processore che detta le regole di base alle
quali,tutti gli altri dispositivi connessi,possono utilizzare il bus stesso.Si dice che il processore
esercita il ruolo di ‘master’ e le altre unità funzionali il ruolo di ‘slave’.
Fisicamente il bus è costituito da un’insieme di connessioni elettriche lungo le quali vengono
trasferiti i dati.
A secondo del tipo di segnale trasportato,le linee del bus vengono suddivise in tre categorie:
linee per il trasporto dei dati (DATA BUS): sono bidirezionali,nel senso che i dati che
passano attraverso queste linee possono andare dal ‘master’ allo ‘slave’ e viceversa;inoltre
la presenza di piu linee consente il trasferimento dei dati ‘in parallelo’
linee per il trasporto degli indirizzi(ADDRES BUS):questo gruppo di linee(unidirezionali)
permettono alla CPU di selezionare una specifica locazione di memoria per un’operazione
di lettura o scrittura
linee per il trasporto dei segnali di controllo(CONTROL BUS):permettono di trasferire i
segnali di controllo dal ‘master’ allo ‘slave’ e viceversa
Nel valutare gli aspetti caratteristici di un bus,gli elementi da evidenziare sono:
LA VELOCITA CON CUI RIESCE A TRASMETTERE I DATI
Durante ogni operazione di trasferimento dati,è necessario che il bus sia dedicato a quel
collegamento,per tutto il tempo necessario a completare il trasferimento.Tanto minore è
questo tempo,tanto è maggiore sarà la velocità del bus.
IL NUMERO DI LINEE UTILIZZATE PER I DATI
Sulle linee per i dati transitano le informazioni tra il processore l’unità collegata in quel
momento;questo significa che il numero di linee utilizzate ci dà una misura della capacità
di trasferimento di dati da parte del bus.Maggiore è il numero di linee e ,maggiore sarà la
quantità di dati che potranno fluire verso il processore per essere elaborati.
IL NUMERO DI LINEE UTILIZZATE PER GLI INDIRIZZI
In questo caso ad un maggior numero di linee corrisponderà una maggiore capacità di
indirizzamento e quindi la possibilità di poter indirizzare una maggiore quantità di
memoria.
Il fatto di essere standard ha dei pro e dei contro.
L’architettura a bus,rappresenta uno ‘standard de facto’ riconosciuto dal mercato,ha
avuto il grosso merito di permettere l’installazione di una scheda aggiuntiva. in modo
semplice
anche in tempi successivi all’acquisto
Per contro,nel momento in cui l’evoluzione tecnologica ha portato alle necessità di utilizzare
nuovi bus in grado di supportare componenti con velocità sempre maggiori,il fatto di avere uno
standard accettato e diffuso,ha rischiato di diventare un grosso vincolo per l’evoluzione
tecnologica.
I principali bus che negli anni sono stati utilizzati sui personal computer:Tra questi,i bus che
hanno rappresentato un effettivo standard sul mercato sono stati i bus ISA e PCI.
10. 10
S100: utilizzato da uno dei primi personal,l’Atair
PC-XT-81:è il bus che l’IBM progettò per il suo primo personal computer
PC-AT-85: chiamato anche ISA,è stato un’evoluzione del precedente ed è il bus che ancora
oggi troviamo nei nostri pc
MCA-87:questo sarebbe dovuto essere il successore del bus ISA.Benchè presentasse
miglioramenti,la non compatibilità con il bus ISA,e soprattutto la richiesta di pagamento
da parte di IBM,ne limitarono moltissimo la diffusione
EISA-88
PCI-91
ELEMENTI DI VALUTAZIONE DEI BUS:
LA VELOCITA CON CUI RIESCE A
TRASMETTERE I DATI
IL NUMERO DI LINEE UTILIZZATE PER I
DATI
IL NUMERO DI LINEE UTILIZZATE PER GLI
INDIRIZZI
IL FATTO DI ESSERE ‘STANDARD’
11. 11
L’UNITA DI ELABORAZIONE:LA CPU
La CPU Central Prosessing Unit o processore,è il componente che più di tutti gli altri caratterizza
meglio il pc,sia sotto l’aspetto delle prestazioni che della capacità elaborativa.
La CPU è il dispositivo hardware in grado di:
leggere,decodificare,eseguire
istruzioni prelevate dalle memoria
governare il funzionamento delle
varie parti del computer
Ogni CPU è strutturata per eseguire un programma sulla base dei seguenti principi:
le istruzioni vengono eseguite in modo sequenziale
le istruzioni ed i dati che la CPU elabora vengono prelevati dalla RAM,l’unico livello di
memoria a cui può accedere.
Inoltre la CPU ha il compito di sincronizzare il compito del bus e di tutti gli altri dispositivi in
modo da garantire un corretto funzionamento.
TECNOLOGIA
In passato la CPU era composta da circuiti integrati,ognuno capace di svolgere una funzione,oggi è
realizzata con le più sofisticate tecnologie elettroniche ed è costituita da un unico circuito
integrato chiamato anche
Microprocessore
Il microprocessore
sia per il progetto dell’architettura interna
sia per i livelli di integrazione raggiunta
rappresenta quanto di piu avanzato l’uomo ha prodotto nel settore della microelettronica.
CARATTERISTICHE DELLA CPU
Nella valutazione della CPU dobbiamo tener conto di due aspetti fondamentali.
Il primo è legato all’architettura interna,che caratterizza in maniera precisa ogni CPU e in
particolare:
definisce il set di istruzioni che è in grado di decodificare ed eseguire
rappresenta il primo parametro da prendere in esame per valutarne la ‘potenza di
calcolo’.
Date due diverse CPU,la seconda viene definita compatibile con la prima,se la seconda è in grado
di leggere il set di istruzioni della prima.
Il secondo importante elemento di valutazione è rappresentato dalla velocità con cui vengono
eseguite le istruzioni.
12. 12
Maggiore è il numero degli impulsi per secondo,maggiore è il numero di istruzioni eseguite quindi
la velocità con cui la CPU esegue.
Ad esempio: una CPU funzionante a 1,6 GHz effettuerà le elaborazioni il doppio più veloci di una
CPU a 800 MHz
MHz = 1 milione di cicli al secondo
GHz = 1 miliardo di cicli al secondo
L’ARCHITETTURA INTERNA DELLA CPU
La CPU è composta da:
CONTROL UNIT: è il componente che coordina le altre unità della CPU,ha il compito di
decodificare le istruzione e garantirne l’esecuzione.
ALU(Unità Aritmetica e Logica):è il componente della CPU specializzato nell’esecuzione
di calcoli.
REGISTRI: sono delle locazioni di memoria.Tipicamente hanno una dimensione di pochi
byte e vengono usati per mantenere dati su cui sta operando la CPU e per trasferire i dati
attraverso i bus.I registri piu importanti sono:
INSTRUCTION REGISTRER(IC) dove viene caricata l’istruzione prelevata dalla memoria:qui
i circuiti della control unit provvedono a decodificarla.
PROGRAM COUNTER(PC) dove viene salvato l’indirizzo della successiva istruzione che deve
essere prelevata dalla memoria per essere eseguita.
ACCOMULATORE:è un registro di lavoro attraverso cui transitano i dati provenienti dalla
memoria.
LE FASI DEL PROCESSO DI ELABORAZIONE
RICERCA(FEACHING):la CPU preleva dalla memoria l’istruzione che deve essere
eseguita e la carica sull’instruction registrer
DECODIFICA(DECODING):i circuiti della control unit decodificano l’istruzione e
le mettono nella giusta sequenza
ESECUZIONE(EXECUTING):
l’istruzione viene eseguita.
ASPETTI CHE DETERMINANO LE PRESTAZIONI
Il primo aspetto da tener conto è il set di istruzioni che la CPU è in gradi di eseguire.In genere si
può dire che maggiore è il numero di istruzioni,maggiore è la potenza di elaborazione;ovviamente
non conta la quantità di istruzioni ma è importante valutare come queste istruzioni possono
migliorare le capacità della CPU.
Di norma le istruzioni più complesse hanno tempi di esecuzioni più lunghi,e questo ha fatto
nascere due filosofie progettuali:
Ina CISC che privilegia CPU dotate di istruzioni più complesse anche se meno veloci.
L’altra RISC che privilegia la CPU dotate di istruzioni veloci anche se meno potenti.
13. 13
Il secondo aspetto il grado di parallelismo della CPU,ovvero la quantità di informazione (=numero
di bit) che è in grado di elaborare nell’unità di tempo.Più precisamente si parla:
PARALLELISMO INTERNO per indicare il numero di bit che i registri interni e l’ALU sono in
grado di elaborare
PARALLELISMO ESTERNO per indicare il numero delle linee con cui la CPU si collega al
data bus che coincide al numero di bit che la CPU è in grado di trasferire nell’unità di
tempo attraverso il bus di sistema
E’ abbastanza evidente che,tanto maggiore è il grado di parallelismo,tanto più numerosi sono i bit
‘manipolati’ nell’unità di tempo,tanto più è potente è la CPU.
La situazione ottimale sarebbe quella di un sistema in cui il numero di bit che la CPU trasferisce
attraverso il bus,sia anche quello che riesce ad elaborare interamente.Ed in effetti questa è stata
la situazione di partenza:
ad esempio il primo processore utilizzato è stato l’intel 8080 che aveva sia i registri interni che il
data bus da 8 bit.L’evuluzione della tecnologia mise a disposizione un nuovo processore,l’intel
8086,con una capacità di trattamento dei dati doppia,quindi a 16 bit.Per sfruttare appieno le
nuove caratteristiche della CPU,i tecnici avrebbero dovuto riprogettare tutti i circuiti della scheda
madre per farla funzionare a 16 bit.
Per evitare questo,l’intel presentò un altro processore,l’8088,in cui internamente la capacità di
trattamento dei dati raddoppiava,mentre verso il data bus manteneva lo stesso numero di linee.
Questa situazione rappresenta uno dei tanti esempi di compromessi,tra prestazioni ed
economicità del progetto.
Il terzo aspetto è connesso con la capacità di calcolo dell’ALU,ovvero il componente che si occupa
dell’esecuzione delle operazioni matematiche e logiche.
Nelle CPU di prima generazione il numero di operazioni che l’ALU era in grado di fare era
abbastanza limitato(si limitava a fare una semplice addizione .-. ).
Per potenziare questa capacità di calcolo,in passato si usava affiancare all’ALU una particolare
circuiteria chiamata :
floating pouint unit(FPU) o coprocessore matematico
in grado di eseguire numerose e complesse operazioni matematiche,direttamente via hardware e
in parallelo rispetto alla CPU stessa.
Mente in passato il coprocessore matematico era un ‘optional’ che bisognava acquistare a parte
(intel 386) oppure era l’elemento che differenziava due CPU,sulle ultime la FPU è diventata un
elemento integrato all’interno della CPU stessa.
Questo terzo aspetto è rilevante laddove si utilizzino applicazioni che richiedono l’esecuzione di
complessi calcoli matematici,tipo:
Elaborazioni di immagini
CAD
Videogiochi 3D.
14. LA RAM PUO ESSERE PENSATA 14
COME UNA TABELLA LE CUI
RIGHE SONO CELLE O
LOCAZIONI
TUTTE LE CELLE HANNO LA
STESSA CAPACITA(8 BIT)
OGNI LOCAZIONE E’
CARATTERIZZATA DA UN
INDIRIZZO E DAL DATO
CONTENUTO
L’ACCESSO AL DATO DI UNA
CELLA AVVIENE TRAMITE
L’INDIRIZZO IN MANIERA
INDIPENDENTE (ACCESSO
DIRETTO)
SI MISURA CON I MULTIPLI
DEL BYTE
LA MEMORIA CENTRALE.
La RAM(Random Access Memory) è utilizzata per memorizzare sia i dati,sia i programmi.
La memoria centrale rappresenta anche un ‘passaggio obbligato’,in quanto è l’unico tipo di
memoria a cui il processore può accedere;in altre parole significa che,per poter essere
elaborati,tutti i dati e tutti i programmi devono prima essere caricati sulla memoria centrale.In
questo senso la RAM rappresenta uno degli elementi più importanti tra quelli che contribuiscono
alla a definire la potenza elaborativa di un computer.
Tanto maggiore è la disponibilità della RAM,tanto più numerosi saranno i dati che potranno essere
elaborati.A livello strutturale,la RAM può essere vista come una tabella,le cui righe sono ‘celle’ o
‘locazioni’ di memoria,ognuna delle quali è caratterizzata:
da un indirizzo che la identifica
dal dato che ogni cella è in grado di contenere
Tutte le celle di memoria hanno la stessa capacità(di norma un byte) e l’accesso ai dati contenuto
nella cella avviene in modo diretto,tramite l’indirizzo.Gli indirizzi sono espressi con numeri
interi.La prima cella ha indirizzo 1,la seconda 2 e cosi via fino all’ultima,il cui indirizzo dipende
dalla dimensione della memoria installate sull’elaboratore.Quindi l’indirizzo coincide con
l’ordinamento delle celle all’interno della memoria stessa.
Sarà poi compito della circuiteria della RAM tradurre l’indirizzo passato dal processore nel
corrispondete accesso alla cella fisica.
Il fatto di permettere un accesso diretto ai dati tramite l’indirizzo è una delle caratteristiche più
importanti della RAM;questo significa che il tempo di accesso ad un dato è indipendente dalla sua
posizione all’interno della memoria.
si definisce accesso diretto,una memoria che permette di accedere direttamente ad un blocco
dati.
15. 15
CARATTERISTICHE DELLA RAM
Dal punto di vista fisico,la RAM è realizzata mediante circuiti integrati,ovvero componenti
elettronici ad altissima integrazione al cui interno sono riprodotti gli schemi circuitali in grado di
assumere due diversi stati di funzionamento a cui vengono a cui poi vengono associati i due
valore (0 e 1) che il bit può assumere.
Un aspetto rilevante della memoria centrale è la sua velocità che,come ordine di grandezza,può
essere paragonabile alla velocità del processore.Per ‘velocità di una memoria’ s’intende il tempo
necessario affinchè il processore possa accedere al dato contenuto nella corrispondente
cella:Nella RAM attualmente installata nei nostri personal computer questo tempo è dell’ordine
dei 70 nanosecondi .
Una seconda caratteristica della RAM è che deve essere mantenuta alimentata
elettronicamente,affinchè le informazioni vengano conservate all’interno della memoria.In altre
parole la RAM è VOLATILE ,ovvero perde tutti i dati quando il personal computer si spegne.
La RAM viene utilizzata per la memorizzazione dei dati a ‘breve termine’,quelli necessari al
processore per l’elaborazione in corso.
Per tutti questi motivi,i dati non in uso da parte del processore andranno memorizzati sulle
memorie di massa,che hanno un costo per byte memorizzato molto più basso e che mantengono i
dati anche quando non sono alimentate.
La dimensioni della RAM si misura in byte,o meglio nei suoi multipli:
1 KB = 1024 BYTE
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
CARATTERISTICHE DELLE RAM
CIRCUITI INTEGRATI
FISICAMENTE LA MEMORIA CENTRALE E’ COSTITUITA DALL’INSIEME DI PIU’ CIRCUITI
INTEGRATI ED E’ ANCHE CHIAMATA:
VELOCITA’
L’ACCESSO ALLE INFORMAZIONI CONTENUTE NELLA RAM E’ MOLTO RAPIDO,E QUINDI
PAROGONABILE AI TEMPI DEL PROCESSORE
VOLATILITA’
MANTIENE FINCHE’ IL COMPUTER NON SI SPEGNE
16. 16
LE TECNOLOGIE COSTRUTTIVE DELLA RAM
La RAM può essere realizzata utilizzando due schemi circuitali,ognuno dei quali presenta dei pro e
dei contro:
RAM DINAMICHE(DRAM): in genere è realizzata con uno schema circuitale che prevede
l’utilizzo di due transistor e 1 condensatore per ciascun bit di dati;l’informazione è legata
alla carica del condensatore e per questo motivo una RAM dinamica perde l’informazione
memorizzata in un tempo brevissimo.Allora com’è possibile utilizzare questa RAM?I
progettisti hanno pensato ad una circuiteria autonoma,che continuamente legge la
memoria e la riscrive,effettuando quello che si chiama ‘rinfresco dei dati’ (refresh).Il
refresh introduce un minimo fattore di rallentamento:se in passato era un fatto
trascurabile,oggi,stante la crescita della CPU,è l’elemento di critictà.
RAM STATICHE(SRAM):sono costituite da 4 transistor connessi in modo da non richiedere il
condensatore.Con questo diverso schema,la
RAM conserva i propri dati senza usare il refresh dei dati.Le SRAM richiedono molto più
silicio e quindi sono molto più costose e ingombranti delle DRAM,però sono molto più
veloci.
La memoria RAM,costituita da singoli chip già montati su piccolo schede,appositamente
progettate,chiamate:
SIMM(Single In line Memory Module) oppure
DIMM(Double In line Memory Module)
Queste schede,si inseriscono perpendicolarmente negli slot della scheda madre.Le SIMM/DIMM
richiedono meno spazio rispetto al tradizionale montaggio dei chip direttamente sulla scheda e
sono più facili da montare e smontare.
Le SIMM e le DIMM si differiscono per la capacità,per i diversi tipi di piedinatura e per i differenti
tempi di accesso.
RAM DINAMICHE (DRAM)
Necessità del refresh
Tempi di risposta in 70 nanosecondi
Economiche
RAM STATICHE (SDRAM)
Nessun refresh
Tempi di risposta 35 nanoscondi
Maggior ingombro
Costose
SIMM/DIMM
Piccola scheda progettata per mantenere i singoli chip di memoria RAM
Si usano perché richiedono meno spazio e sono più facili da montare
NE ESISTONO DI 3 TIPI
Di diverse capacità
Di diverse piedinature
Di diverso tempo
17. 17
READ ONLY MEMORY
La RAM e di gran lunga il tipo di memoria più utilizzato all’interno dell’elaboratore.Tuttavia
all’interno dell’elaboratore sono presenti anche ‘memorie elettroniche’ di tipo diverso.Queste
memorie sono caratterizzate dal fatto di essere in grado di mantenere i dati memorizzati anche in
assenza di alimentazione,ma si possono solo leggere.Queste ‘memore a sola lettura’,si
differenziano per la diversa tecnologia elettronica con cui sono realizzate:
ROM(Read Only Memory):Le ROM vengono prodotte con il loro contenuto informatico già
inserito.Vengono utilizzate su tutti i personal computer per contenere i programmi
necessari alla partenza della macchina (FIRMWARE)
PROM(Programmable ROM):Le PROM hanno caratteristiche e modalità simili alla
ROM,rispetto alle quali però si differenziano per il fatto di essere programmabili
dall’utente.La programmazione non viene fatta sul computer ma attraverso un
programmatore PROM:una volta programmate non sono piu cancellabili.
EPROM(Erasable PROM):Le EPROM hanno tutte le caratteristiche delle PROM dalle quali si
differenziano per il fatto di essere cancellabili mediante l’utilizzo di una lampada a raggi
UV.Vengono spesso utilizzate per codificare i programmi di controllo di macchina
industriali.
Normalmente su computer coesistono entrambe le teconologie:
La normale memoria è di tipo RAM,una
memoria di lettura/scrittura che però non è in grado di conservare il suo contenuto
una piccola parte della RAM è costituito dalla ROM che,a differenza della RAM,è una
memoria di sola lettura,ma in grado di mantenere l’informazione contenuta.
ROM
memorie a sola lettura
i dati vengono memorizzati anche senza alimentazione
sono programmate dal programmatore
contengono il firmware
PROM
memoria a solo lettura
i dati vengono memorizzati anche senza alimentazione
sono programmate dall’utente
una volta programmate non sono più cancellabili
EPROM
memoria a sola lettura
i dati vengono memorizzati anche senza alimentazione
sono programmate dall’utente
sono cancellabili con i raggi UV
18. 18
SUPERARE I LIMITI DEL BUS LOCALE
Verso la fine degli anni ’80,l’affermazione del sistema operativo WINDOWS metteva sempre più in
evidenza i limiti del bus,soprattutto con la velocità di trasferimento dati.
Era in grado di trasferire grosse quantità di dati tra il processore e le altre periferiche.Invece da
questo punto di vista,il bus ISA rappresentava un grosso collo di bottiglia e la velocità cresciuta
del processore peggiorava le cose.
Per superare questo collo di bottiglia,c’erano due alternative:
progettare un nuovo bus di sistema più veloce con cui sostituire il bus ISA
realizzare un bus piu veloce da affiancare al bus standard
La scelta,è stata indirizzata verso la seconda soluzione e hanno messo sul mercato un bus
aggiuntivo chiamato anche LOCAL BUS.
Questo bus aggiuntivo ha permesso di:
realizzare un collegamento efficienti delle componenti critiche,senza comportare
modifiche all’hadware di base del PC (scheda madre)
ottenere miglioramenti delle performance del sistema
mantenere la compatibilità con tutte le schede realizzate per lo standard ISA
oggi esistono diversi bus aggiuntivi specializzate per il collegamento della CPU con altri
componenti come il
BUS PIC (INTEL) CHE SUPPORTA UN PERCORSO DI DATI A 32/64 BIT E’ IN GRADO DI TRASFERIRE AD
UNA VELOCITA’DI 132/264 MB AL SECONDO
BUS AGP AGGIUNTIVO DEDICATO AL COLLEGAMENTO TRA LA CPU E LA SCHEDA VIDEO
1° PROBLEMA
NECESSITA’ DI REALIZZARE UN COLLEGAMENTO PIU’
VELOCE
TRA I COMPONENTI DEL PC CHE SONO PIU’ CRITICI DAL
PUNTO DI VISTA DELLA QUANTITA’ DEI DATI SCAMBIATI
SOLUZIONE
BUS AGGIUNTIVI SPECIALIZZATI PER REALIZZARE UN
COLLEGAMENTO VELOCE TRA IL PROCESSORE E LA
RAM,VIDEO,HARD DISK (IN AGGIUNTA AL BUS ISA)
COME AD ESEMPIO IL PCI(INTEL)
19. 19
LA CACHE:ACCELLERARE L’ACCESSO ALLA MEMORIA
Per i primi processori il tempo di accesso alla memoria(DRAM) non rappresentava un problema,in
quanto la velocità con cui il processore elaborava le singole istruzioni era molto
modesta.Poi,grazie all’evoluzione tecnologica,la velocità delle moderne CPU è arrivata ad essere
superiore alla velocità con cui normalmente le istruzioni e i dati possono essere prelevati dalla
RAM dinamica.Tradotto in altri termini,questo significa avere a disposizione una enorme potenza
di elaborazione.
Basterebbe sostituire la lenta DRAM con la veloce SRAM,per aver un miglioramento delle
prestazioni.
La soluzione dei progettisti è stata quella di:
UTILIZZARE UNA PICCOLA QUANTITA’ DI MEMORIA VELOCE REALIZZATA CON TECNOLGIA
SRAM,POSTA TRA IL PROCESSORE E LA MEMORIA CENTRALE.QUESTA MEMORIA VELOCE VIENE
CHIAMATA MEMORIA CACHE.
Questo è il funzionamento della cache:tutti i dati letti dalla memoria centrale transitano
attraverso la cache:in questo modo,mantiene il dati in uso più frequente evitando al processore
successimi accessi alla memoria centrale,quando il dato da leggere si trova già nella cache.
Poiché statisticamente c’è una elevatissima
probabilità che il processore abbia bisogno dell’istruzione successiva a quella letta,la circuiteria
di controllo della memoria cache fa si che,durante il tempo di elaborazione del processore,venga
caricata la locazione di memoria successiva:in questo modo il processore,trovando l’istruzione
successiva già nella cache,può velocizzare la fase di caricamento.
Questa memoria veloce,posta tra la CPU e la memoria centrale,viene chiamata ‘cache di secondo
livello’,in quanto questa non è l’unico tipo di memoria cache presente;a partire dai processori
Intel 486,una cache,ancora più veloce, è la ‘cache di primo livello’ che è stata incorporata
direttamente all’interno della CPU (8KB per i dati e 8KB per le istruzioni PENTIUM)
CPU CACHE LIV 2 MEMORIA
CENTRALE
CACHE LIV 1 (SRAM) (DRAM)
2° PROBLEMA
I MODERNI PROCESSORI OPERANO A VELOCITA’ DI POCHI NONOSECONDI
LA RAM DINAMICA UTILIZZATA PER LA MEMORIA CENTRALE,HA UN TEMPO DI ACCESSO PARI A CIRCA 70
NANOSECONDI
COSA FARE?LA SOLUZIONE E’ UNA MEMORIA CACHE
I DATI LETTI DALLA MEMORIA CENTRALE VENGONO RICOPIATI NELLA CACHE GARANTENDO COSI ALLA
CPU UN ACCESSO MOLTO PIU’ RAPIDO DI QUELLO CHE SI AVREBBE ACCEDENDO OGNI VOLTA ALLA
MEMORIA CENTRALE
VENGONO INTRODOTTI DUE LIVELLI DI CACHE:
CACHE DI PRIMO LIVELLO INTEGRATA NEL MICROPROCESSORE
CACHE DI SECONDO LIVELLO AGGIUNTA ALLA MEMORIA CENTRALE
20. 20
APPROFONDIMENTO SUL FUNZIONAMENTO DELLA CPU E DELLA MEMORIA
OPERAZIONE DI LETTURA DEL DATO ‘READ’
La lettera di un dato dalla memoria e la corrispondente scrittura sono due operazioni
fondamentali,alla base di tutta la fase elaborativa del processore.
il processore scrive l’indirizzo nella cella,di cui vuole leggere il contenuto,nel registro
indirizzi
attiva un segnale di controllo,chiamato read,che,attraverso il bus,giunge alle memoria
l’elettronica di gestione della memoria,sentendo il segnale read,ricerca la cella,il cui
indirizzo è indicato nel registro indirizzi e ne copia il contenuto in un altro
registro,chiamato registro dati,accessibile al processore
OPERAZIONE DI SCRITTORA DEL DATO ‘WRITE’
Dopo aver visto come avviene la lettura di un dato,analizziamo come avviene la scrittura:
il processore scrive l’indirizzo nella cella,in cui vuole scrivere un dato,nel registro indirizzi
quindi inserisce il dato da scrivere in un altro registro,il registro dati
attiva un segnale di controllo,chiamato write,che attraverso il bus raggiunge la memoria
l’elettronica di gestione della memoria,sentendo il segnale write,prende il dato dal
registro dati e lo memorizza nella cella il cui indirizzo è segnato nel registro indirizzi
Al termine di questa operazione di scrittura,la cella conterrà il nuovo dato e non sarà piu possibile
il precedente valore.
STRUTTURA DELLA CPU
Esaminiamo come avviene l’esecuzione di un programma che ha il compiti di sommare due
numeri.
Supponiamo di aver caricato in memoria centrale il programma da eseguire
LOAD 200 LEGGE IL DATO CONTENUTO NELLA CELLA 200 E LA CARICA SULL’ACCUMULATORE
ADD 201 AL DATO VIENE SOMMATO IL DATO CONTENUTO NELLA CELLA 201,IL RISULTATO
VIENE MESSO NELL’ACCOMULATORE
STORE 202 MEMORIZZA IL DATO CONTENUTO NELL’ACCOMULATORE NELLA CELLA 202
e all’indirizzo 201 e 202,i due dati da sommare,10 e 4.Al termine dell’elaborazione il risultato
sarà messo nella cella 202.
All’avvio del programma il ‘program counter’ conterrà 100.
per prima cosa viene caricate nel registro IR l’istruzione contenuta all’indirizzo 100: ‘LOAD
200’.La control unit la decodifica e la esegue.L’effetto è caricare nell’accomulatore il
contenuto della cella avente l’indirizzo 200(ovvero 10).Al termine dell’esecuzione di
questa prima istruzione il program counter (PC) viene incrementato di uno
si legge allora in cui l’indirizzo (101) è contenuto nel PC e cioè ‘ADD 21’.L’esecuzione di
questa seconda istruzione attiva l’ALU che provvede a sommare l’accomulatore della
locazione avente l’indirizzo 201:il risultato viene posto nell’accomulatore che a questo
punto contiene 14.Al termine dell’esecuzione di questa seconda istruzione il PC viene
ancora incrementato di uno e quindi va nella cella 102
21. 21
l’elaborazione continua leggendo l’istruzione contenuta all’indirizzo 103, ‘STORE
202’.Quest’ultima istruzione indica che il valore contenuto nell’accomulatore deve essere
memorizzato nella cella di memoria che ha l’indirizzo 202.Il programma è finito e nella
cella 202 troviamo la somma dei due numeri.
IL PC ALL’INTERNO
Se sul piano dell’architettura il PC utilizza lo schema strutturale visto,fisicamente l’interno
dell’unità centrale ha tutt’altro aspetto.
il componente più importante è la SCHEDA MADRE o MOTHERBOARD,su cui sono montati i
componenti più importanti dell’elaboratore;il processore,la memoria e tutti i componenti
necessari per il loro funzionamento
la scheda madre presenta degli SLOT DI ESPANSIONE a cui si possono connettere delle
SCHEDE AGGIUTIVE:GLI SLOT DI ESPANSIONE NON SONO ALTRO CHE I PUNTI DI
COLLEGAMENTO AL BUS DI SISTEMA
si individuano le unità di memorizzazione di massa,hard-disk e floppy-disk
infine l’alimentatore,la cui potenza deve essere sufficiente per alimentare tutti i
componenti.