struttura dell'elaboratore (sample)

25

Upload: parco-nord

Post on 08-Jun-2015

309 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Struttura dell'elaboratore (sample)
Page 2: Struttura dell'elaboratore (sample)

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

Page 3: Struttura dell'elaboratore (sample)

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.

Page 4: Struttura dell'elaboratore (sample)

4

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.

Page 5: Struttura dell'elaboratore (sample)

5

CPU

UNITA’ CENTRALE DI

ELABORAZIONE

INPU

TO

UTPU

T

MEMORIA

DATI INFORMAZIONI

Page 6: Struttura dell'elaboratore (sample)

6

CPU VELOCITA’

MEMORIA

VELOCITA’

ECONOMICITA’

NON VOLATILITA’

CAPACITA’

TRASPORTABILITA’

Page 7: Struttura dell'elaboratore (sample)

7

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

RAMINFORMAZIONIDATI

MEMORIE DI MASSA

HARD-DISK

FLOPPY

Page 8: Struttura dell'elaboratore (sample)

8

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.

Page 9: Struttura dell'elaboratore (sample)

9

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 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.

CPUMEMORIA

RAM HARD-DISK

BUS DI SITEMA

INPUT/OUTPUT

TASTIERA VIDEO PRINTER

Page 10: Struttura dell'elaboratore (sample)

10

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 DATIDurante 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 DATISulle 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.

Page 11: Struttura dell'elaboratore (sample)

11

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.

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

Page 12: Struttura dell'elaboratore (sample)

12

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.

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.

La CPU è il dispositivo hardware in grado di:

leggere,decodificare,eseguire istruzioni prelevate dalle memoria

governare il funzionamento delle varie parti del computer

Page 13: Struttura dell'elaboratore (sample)

13

Il secondo importante elemento di valutazione è rappresentato dalla velocità con cui vengono eseguite le istruzioni.

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:

Page 14: Struttura dell'elaboratore (sample)

14

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.

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:

Page 15: Struttura dell'elaboratore (sample)

15

Elaborazioni di immagini CAD Videogiochi 3D.

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.

LA RAM PUO ESSERE PENSATA 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

Page 16: Struttura dell'elaboratore (sample)

16

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.

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

Page 17: Struttura dell'elaboratore (sample)

17

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.

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

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

Page 18: Struttura dell'elaboratore (sample)

18

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

Page 19: Struttura dell'elaboratore (sample)

19

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)

Page 20: Struttura dell'elaboratore (sample)

CPUCACHE LIV 1

CACHE LIV 2(SRAM)

MEMORIA CENTRALE

(DRAM)

20

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)

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

Page 21: Struttura dell'elaboratore (sample)

21

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

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

Page 22: Struttura dell'elaboratore (sample)

22

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

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.

Page 23: Struttura dell'elaboratore (sample)

23