Memoria - Google Sites

annuncio pubblicitario
Università degli studi della
Tuscia
Corso di Laurea in
SCIENZE ORGANIZZATIVE E GESTIONALI
CORSO DI INFORMATICA
ARCHITETTURA HARDWARE
[email protected]
ARCHITETTURA CONCETTUALE ELABORATORE
Lo schema concettuale di funzionamento di un elaboratore si basa sul
modello concettuale progetto da Von Neumann e si chiama “macchina di
Von Neumann”
La macchina di Von Neumann è basata su un’unità di
elaborazione centrale (CPU) in grado di eseguire una
dopo l’altra (sequenzialmente) le istruzioni di un
programma, e di inviare e ricevere dati da e verso un
deposito di memoria (RAM)
Funzionamento della macchina di Von
Neumann
Il processore estrae le istruzioni dalla memoria e le esegue, le
istruzioni possono comportare:
– operazioni di manipolazione dei dati
– operazioni di trasferimento dei dati
I trasferimenti di dati attraverso elementi funzionali diversi
avvengono attraverso il bus di sistema
Le fasi di elaborazione si susseguono in modo sincrono rispetto ad
un orologio di sistema
Durante ogni intervallo di tempo l’unità di controllo (parte del
processore) stabilisce la funzione da svolgere
L’intera macchina opera in maniera sequenziale tutte le diverse
tipologie di calcolatori sono accomunati dalla medesima architettura
logica, schematizzata dal modello di Von Neumann del calcolatore.
STRUTTURA DI UN CALCOLATORE
MEMORIA
MEMORIA
USCITA
USCITA
(Output)
(Output)
INGRESSO
INGRESSO
(Input)
(Input)
UNITA’
UNITA’
DI
DI
CONTROLLO
CONTROLLO
UNITA’
UNITA’
LOGICO
LOGICO
ARITMETICO
ARITMETICO
(A.L.U.)
(A.L.U.)
UNITA’ CENTRALE DI ELABORAZIONE
(C.P.U.)
Unità Aritmetico-Logica, detta ALU (Aritmetic Logic Unit) esegue tutte le
operazioni logiche e di calcolo sui dati che le sono inviati;
Unità di Controllo/governo, detta CU/UG (Control Unit) svolge le funzioni
decisionali e di coordinamento del flusso dei dati;
Memoria contiene le istruzioni, i dati ed i risultati dell'elaborazione;
Unità di ingresso/uscita I/O.
BUS di collegamento, linee di collegamento per il flusso dei dati
5 e delle
istruzioni
BUS DI COLLEGAMENTO
UNITA’ I/O
MEMORIA
C.P.U. (ALU+UG)
(Microprocessore)
DATI
INDIRIZZI
CONTROLLI
SISTEMA A BUS
Bus Indirizzi: è utilizzata dal processore per selezionare una specifica
locazione di memoria sia nella RAM/ROM che nelle periferiche esterne.
Bus Dati:
è utilizzata per trasferire dati/istruzioni tra il microprocessore
e la memoria principale o le periferiche esterne.
Bus Controlli: serve per inviare i segnali di controllo necessari per
sincronizzare i flussi di dati tra le varie parti del sistema.
6
Sia l’unità di governo che la ALU colloquiano con una
memoria locale formata da alcuni dispositivi di
memorizzazione detti registri:
accumulatori, supportano il flusso di informazioni da e
verso la memoria esterna e sono il riferimento per tutte
le operazioni eseguite dalla ALU;
un registro istruzioni (IR – Instruction Register), che
contiene il codice dell’operazione da eseguire;
un contatore di programma (PC – Program Counter),
che punta all’istruzione successiva da eseguire;
un registro di stato (SR – Status Register), contenente
informazioni sullo stato in cui la CPU si viene a trovare
dopo l’esecuzione dell’istruzione.
IL CLOCK
Tutte le attività del sistema, inoltre, sono regolate da
un cadenzatore (clock) che fornisce la
temporizzazione di base per la generazione di
comandi e l’intervallo tra due segnali successivi del
clock definisce la velocità di esecuzione di un passo
elementare di funzionamento (ciclo di macchina).
ARCHITETTURA FISICA
Struttura di un tipico sistema di calcolo: la CPU, memoria e i
dispositivi si “affacciano” sul bus. Il bus viene utilizzato per
trasferire i dati da CPU a Memoria e viceversa, e i dati e i comandi
dalla CPU ai controller dei dispositivi, e viceversa.
Schema Hardware
Tastiera
Monitor
Mouse
Unità di
input
Modem
Unità di controllo
Scanner
Unità centrale (C P U)
Unità di
output
Monitor
Stampante
Modem
Memoria
centrale
Unità di
elaborazione
Memoria RAM (Random
Access Memory)
Memoria ROM (Read
Only Memory)
ALTRE ARCHITETTURE
Multiprocessori
Sono elaboratori con un numero di U.G. maggiore di uno e con
un’architettura complessa. Un mainfraime è di solito un
multiprocessore.
Elaboratori paralleli
Possiedono microprocessori in grado di operare simultaneamente. I
supercomputer sono elaboratori paralleli.
MICROPROCESSORE
E’ un chip che contiene circuito e registri finalizzati alla
realizzazione delle funzioni aritmetico-logiche (ALU) e di
governo (UG) per il trattamento delle istruzioni
Un microprocessore, anche abbreviato in µP, è
un'implementazione fisica della CPU (ALU+UG) in un
singolo circuito integrato.
ELABORAZIONE ALL'INTERNO DELLA CPU
(CICLO MACCHINA)
L'elaborazione avviene con il reperimento da parte della Control Unit
dell'istruzione da eseguire dalla memoria centrale all'indirizzo
contenuto dal registro Program Counter.
L'istruzione viene trasferita nel registro Instruction Register e il Program
Counter viene incrementato in modo da puntare all'istruzione
successiva;
La CPU, dopo aver interpretato l'istruzione, emette segnali che
producono la sua esecuzione e se sono necessari calcoli, interviene
l'ALU.
FASI DI ELABORAZIONE
fase di fetch nella quale la Control Unit reperisce l'istruzione dalla
memoria e viene incrementato il valore del Program Counter in modo
da puntare all'istruzione successiva;
fase di decode nella quale l'istruzione viene interpretata:
l'interpretazione può avvenire attraverso circuiti logici già predisposti
al momento di costruzione del processore (logica cablata), oppure
attraverso microistruzioni contenute in una apposita parte della ROM
(logica microprogrammata). Nel primo caso, le funzioni eseguibili sono
prefissate fisicamente e il sistema comporta una certa rigidità; nel
secondo caso, l'interpretazione avviene cercando nella ROM la
sequenza di passi elementari di cui l'istruzione da interpretare è a sua
volta composta.
FASI DI ELABORAZIONE
fase di execute durante la quale la Control Unit invia segnali che
rappresentano opportuni comandi per l'esecuzione.
Il ciclo macchina è scandito da un temporizzatore o clock: un oscillatore al
quarzo che emette segnali a intervalli di tempo regolari, all'interno di
ciascuno del quale si svolge un passo elementare di funzionamento.
La frequenza di oscillazione del clock determina la velocità della macchina,
tale velocità è misurata in megahertz, ovvero milioni di oscillazioni al
secondo.
PRESTAZIONI DI UN PROCESSORE
Gli elementi per valutare le prestazioni di un microprocessore sono:
Il numero di bit che vengono elaborati contemporaneamente determina a capacità
elaborativa. Generalmente stabilito dal numero di bits dei registri interni della ALU e
della CPU
GHz (Gigahertz) (ciclo di clock) indica solamente il ritmo interno di lavoro e quindi
la velocità di elaborazione (caricamento ed esecuzione) anche se non specifica
quanti cicli occorrono per eseguire le varie istruzioni;
MIPS (Million Instructions Per Second) indicano il numero di istruzioni al secondo
che il microprocessore è in grado di eseguire;
MFLOPS (Million Floating point Operations Per Second) come MIPS ma con
operazioni su floating point;
Benchmark (banco di lavoro): per avere una valutazione attendibile. Programmi che
fanno eseguire al sistema tutti i tipi di istruzioni del set: meno tempo un sistema
impiega a eseguire il banchmark, migliore è la prestazione. Quindi con il
banchmark si misurano le prestazioni di un sistema, mentre gli altri parametri
misurano le prestazioni del solo microprocessore.
PRINCIPALI ARCHITETTURE DEL
MICROPROCESSORE
architettura CISC (Complete Instruction Set
Computers)
architettura RISC (Reduced Instruction Set
Computer)
architettura ZISC (Zero Instruction Set
Computers) ancora poco utilizzata basata
sull’utilizzo di reti neutrali e non più su istruzioni
assembler.
PRINCIPALI ARCHITETTURE DEL
MICROPROCESSORE
I processori CISC hanno un linguaggio macchina
formato da un numero elevato di istruzioni, anche
complesse.
I processori RISC hanno un numero ridotto di
istruzioni e queste ultime sono più semplici
Nei processori di tipo RISC, nati negli anni ottanta,
l’insieme di istruzioni macchina è ridotto al minimo e
le istruzioni, molto semplici, vengono eseguite in un
unico ciclo di clock
RISC
I processori di ultima generazione sono realizzati seguendo
l’architettura RISC per consentire:
la scalabilità o pipeline, ovvero la capacità di eseguire in rapida
sequenza più istruzioni in simultanea;
L'elaborazione di un'istruzione da parte di un processore si
compone di cinque passaggi fondamentali:
– IF (Instruction Fetch): Lettura dell'istruzione da memoria
– ID (Instruction Decode): Decodifica istruzione e lettura operandi
da registri
– EX (Execution): Esecuzione dell'istruzione
– MEM (Memory): Attivazione della memoria (solo per certe
istruzioni)
– WB (Write Back): Scrittura del risultato nel registro opportuno
PIPELINE
Senza pipeline i cicli sono in sequenza
Con pipeline si possono su un ciclo di clock
effettuare più operazioni
PARALLELISMO
il parallelismo capacità di processare più
istruzioni contemporaneamente
Il parallelismo si ottiene attraverso il
raddoppio del core interno (processori dual
core, quad core..) permettendo
l’elaborazione di più istruzioni su core
differenti con un sensibile miglioramento
delle prestazioni senza la necessità di clock
con velocità elevata
EVOLUZIONE TECNOLOGICA PROCESSORI
I microprocessori prima generazione tecnologia PMOS (MOS tipo
p) ;
1971 Intel commercializzò il primo microprocessore, il “4004”,
realizzato riprendendo parte del progetto di una calcolatrice
tascabile, esso aveva una capacità di indirizzamento molto
limitata ed era piuttosto lento.
La prima generazione di microprocessori commercializzata tra il
1971 e il 1973 e tra questi va citato l' “8080”, il primo a 8 bit
realizzato dalla Intel.
EVOLUZIONE TECNOLOGICA PROCESSORI
dal 1973 comparve la seconda generazione di microprocessori, prodotti
con le più avanzate tecnologie NMOS (MOS di tipo n); i circuiti NMOS
sono più veloci dei PMOS, hanno un livello di integrazione maggiore,
e inoltre sono compatibili con i circuiti TLL: “Z80” della Zilog, i “6800”
e “6809” della Motorola e l'alternativa Intel costituita dall' “8085”.
Nel 1978 sono apparsi i microprocessori a 16 bit, che costituiscono la
terza generazione “8086” Intel (1978), lo “Z8000” Zilog (1979) e l'
“MC68000”
Motorola
(1980);
quest'ultimo
microprocessore,
considerato a 16 bit, presenta un'architettura interna e alcune
prestazioni da 32 bit.
EVOLUZIONE TECNOLOGICA PROCESSORI
nel 1978 la Intel ha immesso sul mercato il microprocessore “8086” a
16 bit nel nel 1979 “8088” che, con lo stesso insieme di istruzioni e
la medesima architettura interna a 16 bit dell'8086, aveva però un
bus di dati esterni a 8 bit;
IBM utilizza l’8088 per i suoi PC; il successo di vendita dei PC portò
allo sviluppo di software con molteplici applicazioni in molti campi
EVOLUZIONE TECNOLOGICA PROCESSORI
quarta generazione di microprocessori: nel 1985, con la
comparsa degli “MC68020” e “MC68030” Motorola e dei
“80386” e “80486” Intel, che si cominciò a parlare di. Tali
circuiti, realizzati con tecnologie CMOS (MOS complementare)
consentono di lavorare a frequenze superiori a 50 MHz, con un
consumo di energia molto ridotto.
FAMIGLIE DI PROCESSORI
Anni 1980-81 primi modelli i8086, i 8088 della Intel,
insieme a Motorola pari a 3 e 5 Mhz e un bus dati da 16
bit (20 negli ultimi modelli)
Intel esce con i modelli i80186 e i 80286 ( impiegato nei
pc AT IBM) con frequenze di clock sempre crescenti
(8,10,12 MHz) e bus dati e indirizzi a 24 bit
Nella seconda metà degli anni 80’ il modello i80286 viene
sostituito dai processori della famiglia i80386 nuova
tecnologia a bassi consumi implementata con materiali
CMOS
1989 Intel commercializza la serie i80486 a 25 MHz. Il 486
è il primo processore che introduce la memoria cache di
primo livello
FAMIGLIE DI PROCESSORI
1992 esce il primo processore Pentium con un bus
indirizzi a 32 bit e un bus dati a 64 bit. I primi Pentium
lavoravano a 60 MHz di clock ed erano in grado di
elaborare più istruzioni macchina in un unico ciclo di clock
Evoluzioni importanti del primo pentium portano alla serie
PRO e MMX Questa serie lavorava già alla velocità di 200
MHz
La produzione del Pentium II consiste in un processore
che fonde le potenzialità dei processori PRO e MMX
portando il clock fino a 300, 350 MHz
1999 esce il Pentium III, con frequenze di clock fino a
1GHz, una cache L1 da 32KB e una cache L2 da 512 KB
FAMIGLIE DI PROCESSORI
Successivamente Pentium IV con frequenze di
clock fino a 3GHz e bus interno di 500MH. La
particolarità del Pentium IV sta nell’impiego di RAM
speciali chiamare RDRAM o DDR a doppio canale
che permettono un bus con una frequenza fino a
266 MHz. Per i PC portatili, inoltre, è disponibile il
processore Centrino che ottimizza il consumo di
energia garantendo maggiore autonomia con
elevate prestazioni. Vengono quindi prodotte
versioni più semplici ed economiche come i Celeron
(Intel) e i Sempron (AMD).
FAMIGLIE DI PROCESSORI PER I MAC
I personal Macintosh hanno invece utilizzato
processori CISC Motorola della serie 68000, usati
in passato anche sulle prime workstation
scientifiche. Anche per questi processori ci sono
state varie versioni, note con i numeri di serie
68010, 68020, 68030, fino alla più recente 68040.
successivamente la Apple ha lanciato sul mercato
elaboratori personal con architettura di tipo RISC,
che utilizzano il processore PowerPC, prodotto in
seguito ad un accordo tra Apple, IBM e Motorola. I
Macintosh di generazione successiva passarono
ai processori G3 e G4 con alte potenzialità per la
multimedialità. Oggi anche Apple usa gli stessi
processori Intel usati dagli altri produttori.
ARCHITETTURE PER TABLET E SMARTPHONE
Nvidia: “Tegra 2”, che verrà utilizzato da una gran parte dei modelli
dotati del sistema operativo Android 3.0, e con il tegra3 su
architettura ARM QuadCortex A-9, avrà ben 4 core, 1.5 ghz di
frequenza
L'architettura ARM (precedentemente Advanced RISC Machine,
prima ancora Acorn RISC Machine) indica una famiglia di
microprocessori RISC a 32-bit sviluppata da ARM Holdings e
utilizzata in una moltitudine di sistemi . Grazie alle sue
caratteristiche di basso consumo (rapportato alle prestazioni)
l'architettura ARM domina il settore dei dispositivi mobili dove il
risparmio energetico delle batterie è fondamentale.
ARCHITETTURE PER TABLET E SMARTPHONE
Qualcomm: processori “Snapdragon” (il nuovo Galaxy 2 utilizzerà
sono il microprocessore Snapdragon a 1 GHz).
Qualcomm I nuovi processori sono i modelli “MSM8930” (single core),
“MSM8960” (dual core) e “APQ8064” (quad core), tutti integrano una
componente video basata sulla GPU “Adeno” e sono costruiti con il
processo produttivo a 28 nanometri.
iPhone 3G: il processore è basato sulle tecnologie dei chip ARM1179JFS 667 MHz
BlakBerry 8700 PXA900 architettura ARM
Maggiori informazioni su ARM:
http://it.wikipedia.org/wiki/Architettura_ARM
PROCESSORE A4 A5
http://www.melablog.it/tag/apple%20a5
Le Memorie
Memoria RAM
E’ anche detta memoria volatile, perde, infatti, il
materiale non salvato quando si spegne
l’elaboratore.
Memoria Centrale
o principale
Memoria ROM
dischi
magnetici
Memorie di massa
Consente di leggere, modificare e cancellare le
informazioni che contiene o aggiungerne altre.
In essa sono contenuti i programmi di “servizio”,
immessi dalla ditta costruttrice ed essenziali per il
funzionamento della macchina: perciò il suo
contenuto non può essere manomesso.
Hard Disk
Ha una capacità compresa tra
decine di Mb e svariati Gb.
Floppy Disk
Transistor
Memorie Flash
Solidi
dischi
ottici
capacità di 720 Kb o di 1,44 Mb
capacità da 128Mb a vari Gb
Memorie ROM o W o RW col
Masterizzatore (CD – DVD – Blu Ray)
LE MEMORIE
In rapporto alla funzione svolta , le memorie si possono invece classificare
in:
registri, con accesso casuale e dimensioni piuttosto ridotte, presentano
una velocità di accesso maggiore degli altri organi di memorizzazione e
vengono usati per le elaborazioni interne alla CPU;
memoria centrale, con accesso casuale e dimensioni piuttosto ampie,
viene usata per la registrazione di dati e programmi;
memorie di massa, con accesso sequenziale o semicasuale che,
nonostante i tempi d’accesso relativamente lunghi, esplicano la
funzione fondamentale di conservare in modo permanente nel tempo
grosse quantità di dati.
ORGANIZZAZIONE MEMORIA PRINCIPALE
AREA DI PROGRAMMA
(istruzioni)
AREA
DI
AREA
DI
OUTPUT
INPUT
AREA DEI DATI
(dati)
STRUTTURA MEMORIA PRINCIPALE
La memoria del sistema di elaborazione è costituita da
tanti contenitori a ciascuno dei quali corrisponde un
unico indirizzo.
000
001
002
998
999
36
LA “LOCAZIONE” DI MEMORIA
L’indirizzo permette l’identificazione
della posizione all’interno della
RAM/ROM della locazione di
memoria.
La locazione di memoria contiene
indifferentemente :
Dati
Istruzioni.
Indirizzo
0001
0002
0003
1022
1023
1024
Locazione
0 1 1 0 1 1 1
0 0 0 0 1 1 1
0 0 1 0 1 1 1
……..
……..
……..
0 0 1 0 1 1 1
0 0 1 0 1 1 1
0 0 1 0 1 1 1
37
0
0
0
0
0
0
ESEMPIO LOCAZIONE
Una memoria è costituita da 1024 LOCAZIONI differenti in
ogni locazione sono memorizzati 8 bit;
Ogni parola è lunga 8 bit.
La Capacità è pari 8096 bit.
Le linee di indirizzo sono 10.
La capacità (di memorizzare caratteri, numeri, informazioni
ecc.) delle locazioni di memoria viene definita in fase di
progettazione e di costruzione del sistema di elaborazione,
così come l’indirizzabilità
ESEMPIO
In un calcolatore abbiamo locazioni di memoria di 16 bit
con relativi indirizzi di 16 bit. Quanta memoria riusciamo
complessivamente ad indirizzare?
Soluzione. Le celle di memoria sono composte da 16 bit =
2 bytes, mentre lo spazio di
indirizzamento è di 2^16 celle. Pertanto la memoria che
riusciamo ad indirizzare è (al massimo):
2 bytes × 2^16 = 2^17 bytes = 2^7 Kbytes = 128 Kbytes.
OPERAZIONI
LETTURA: di un dato o di una istruzione in una locazione di
memoria è una operazione non distruttiva
SCRITTURA: di un dato o di una istruzione in una locazione di
memoria è una operazione distruttiva (viene cancellato il dato
precedente)
ELEMENTI DELLE MEMORIE
CAPACITA’ : indica il numero di celle che la memoria contiene; il suo valore
è sempre pari ad una potenza di 2 si misura in bit.
PAROLA/LOCAZIONE: è l’insieme di bit che formano l’elemento unitario
della memoria.
ORGANIZZAZIONE:è costituita da una coppia di numeri che indicano il
numero di parole e la lunghezza delle stesse
LINEE DI INDIRIZZO: ingressi della memoria necessari ad individuare la
locazione di memoria
41
PARAMETRI CARATTERISTICI DELLE MEMORIE
•Velocità di risposta
(lettura/scrittura);
•Capacità;
•Organizzazione della Memoria;
•Potenza dissipata;
•Alimentazione;
•Numero di pin;
•Costo per bit.
FASI DI ESECUZIONE DI UN’ISTRUZIONE
1) Fase di caricamento (FETCH) delle istruzioni di programma dalla
memoria principale nel registro di istruzione
2) Fase di lettura e decodifica (DECODE) dell'istruzione Il sistema si prepara
all’esecuzione dell’istruzione
3) Fase di esecuzione (EXECUTE), l’UG dà alla UAL l’ordine di esecuzione
dell’istruzione. L’UAL esegue.
MEMORIA AD ACCESSO SEQUENZIALE
IN
Buffer di
ingresso
Q1
Q2
Q3
Qi
Buffer
di
uscita
Qn
OUT
sono essenzialmente costituite da uno o più registri a
scorrimento, dotati di terminali per la scrittura e la lettura ed
eventualmente di un anello per la ricircolazione dei dati
44
MEMORIA AD ACCESSO CASUALE
per un’operazione di lettura, occorre far scorrere tutti i bit fino a
che esso non viene a trovarsi sull’uscita OUT. Questa tecnica
ovviamente comporta una certa lentezza nel funzionamento e
viene quindi adottata solo in alcuni tipi di memorie.
45
MEMORIA AD ACCESSO CASUALE
Nelle memorie ad accesso casuale è invece possibile accedere
direttamente a qualsiasi dato indipendentemente dalla posizione
in cui esso si trova. Le celle di memoria sono infatti disposte in
strutture a matrice, unidimensionale o più spessobidimensionale.
La posizione di ogni cella è definita dalle sue coordinate ovvero
dai numeri della riga e della colonna che in essa si intersecano.
Se ad esempio vengono attivate la riga R1 e la colonna C1, risulta selezionata la
cella X5. Per selezionare una delle 16 celle sono dunque necessarie otto linee,
quattro orizzontali e quattro verticali.
46
MEMORIA AD ACCESSO CASUALE
Cella
selezionata
A0
A1
Decodi
ficatore
di riga
Colonna
selezionata
X0
X1
X2
X3
X4
X5
X6
X7
X8
X9
X 10
X 11
X12
X13
X 14
X 15
A2
A3
Decodificatore
di colonna
Riga
selezionata
MEMORIA INTERNA
Registri
Componenti circuitali che consentono un accesso
molto rapido ma possono memorizzare al loro
interno un numero molto limitato di byte.
Memorie RAM (Random Access Memory) e ROM
Supporti ad accesso casuale utilizzati per realizzare
la memoria centrale del calcolatore e consentono
all’utente di effettuare sulle singole celle entrambe
le operazioni di lettura e scrittura.
I REGISTRI
Il registro istruzioni
Si tratta di un registro in cui ogni istruzione di un programma , dopo essere
stata letta dalla memoria, rimane depositata per il tempo necessario alla
sua esecuzione.
Registro contatore di programma
Il processore, nel corso dell’esecuzione di un programma, deve essere in
grado di reperire e prelevare dalla memoria, di volta in volta, la singola
istruzione da eseguire.
Il registro dati e il registro indirizzi
Si tratta di registri che hanno il compito di collegare la CPU con i bus esterni
e sono spesso indicati come buffer di ingresso/uscita e buffer degli
indirizzi.
I REGISTRI
Il registro stack pointer
In generale i calcolatori dispongono in memoria di una particolare area,
detta pila di sistema, che viene usata in situazioni particolari, come la
chiamata a un sottoprogramma, per conservare lo stato del processore e
dei registri.
Il registro di stato
È un registro in cui ogni bit rappresenta logicamente un indicatore (flag) che
consente di conservare particolari informazioni relative alle condizioni
verificatesi nel corso dell’ultima operazione eseguita.
CLASSIFICAZIONE DELLA MEMORIA PRINCIPALE
LA RAM
RAM (Random Access Memory): è possibile accedere ad ogni locazione in
modo casuale. Puà essere utilizzata sia per leggere che per memorizzare
dati e/o istruzioni. è una memoria volatile, che si svuota appena finito l’uso di
un’applicazione.
RAM statica: (SRAM: static RAM) la cella elementare che memorizza un bit è
costituita da un latch; durante l’operazione di scrittura esso viene portato in stato di
set o di reset e vi rimane indefinitivamente fino a quando non viene eseguita un’altra
operazione di scrittura o non viene a mancare l’alimentazione
RAM dinamica: (DRAM) la cella elementare che memorizza un bit è formata
essenzialmente da un condensatore; la scrittura di un bit di valore 1 consiste
nell’immagazzinamento di una certa quantità di carica sull’elemento capacitativi
mentre l’assenza di carica corrisponde ad un bit di valore 0. il vantaggio di
consentire una più alta densità di integrazione
CLASSIFICAZIONE DELLA MEMORIA PRINCIPALE
LA ROM
ROM (Read Only Memory): è una memoria a sola lettura. E’
generalmente utilizzata per memorizzare programmi non modificabili e le
operazionid i governo dell’unità centrale (microprogrammi). E’ non
volatile.
PROM (Programmable ROM): è una ROM senza dati memorizzati. Può
essere scritta una sola volta attraverso particolari circuiti ed è utilizzata
come supporto per la memorizzazione di microprogrammi e di segmenti
critici del software di base (per le operazioni più ricorrenti) al fine di
velocizzare l’esecuzioni di alcune operazioni
CLASSIFICAZIONE DELLA MEMORIA PRINCIPALE
Tipologie di PROM
EPROM (erasable PROM): variante che rendi più veloce la
memoria di tipo PROM. Se viene esposta ai raggi ultravioletti può
essere totalmente cancellata.
EEPROM (Electrically Erasable ROM): variante della memoria
EPROM, riprogrammabile con particolari impulsi elettrici. Sono in
generale memoria di sola lettura. Vengono scritte una volta e lette
e tante volte
LA MEMORIA INTERNA AL SISTEMA DI
ELABORAZIONE
La RAM, Random Access Memory, è una memoria volatile, che si
svuota appena finito l’uso di un’applicazione. Si misura in Mega Byte:
64,128, 256, 512 Mb
Il BIOS, Basic input-output system, è una memoria non volatile, che
contiene le informazioni base del sistema e dell’interazione con le
periferiche, detta ROM (Read only memory) o attualmente Flash
memory, che può essere aggiornata
Cache Memory: è una memoria ad alta velocità che si interfaccia tra il
processore e la memoria di sistema
BIOS E LO START-UP DEL PC
Il BIOS e' un chip ROM che e' specifico di una data piastra madre. Le
istruzioni e dati in esso contenuti rimangono praticamente fisse per tutto il
ciclo di vita del PC e sono utilizzate dalla CPU all'accensione del PC. Il
programma nella ROM contiene in primo luogo le istruzioni per la
partenza (start-up) del PC che si possono dividere in:
POST (Power On Self Test)
Istruzioni per il controllo del funzionamento
elettronico dei dispositivi all'accensione del PC
SETUP
Istruzioni per la configurazione dei dispositivi dopo
l'accensione e il POST
BIOS E LO START-UP DEL PC
BIOS
Istruzioni per la configurazione dei dispositivi verso il
sistema operativo (CMOS)
BOOT
Istruzioni per la partenza del Sistema Operativo (DOS, OS/2, WINDOWS)
In pratica l'hardware viene configurato con i dati presenti nella RAM
CMOS i quali vengono definiti nel BIOS attraverso il suo programma di
setup.
CACHE MEMORY
La memoria CACHE è una memoria ad alta velocità che si interfaccia tra il
processore e la memoria di sistema
Dispositivo utilizzato per la memorizzazione temporanea di dati e/o
istruzioni al fine di aumentare la velocità di elaborazione del sistema. L’UG
e l’UAL recuperano i dati e/o le istruzioni direttamente da questa memoria.
Il funzionamento consiste nel leggere e trasferire dalla memoria principale
nella cache sia il contenuto della locazione che deve essere eseguita che quello
delle locazioni adiacenti.
Il dispositivo è caratterizzato da una alta velocità di lettura/scrittura ed da
un alto costo per bit.
57
TIPOLOGIE DI CACHE
cache L1 o primaria, chiamata cache interna, realizzata all’interno del
circuito della CPU.
Cache L2 o secondaria, chiamata cache esterna, situata sulla scheda
madre(più lenta ma espandibile) oppure all’interno del processore.
Cache L3 o di comunicazione, situata all’interno dei nuovi processori
multicore.
58
Evoluzione delle componenti
della memoria principale
1940
ENIAC (primo computer) utilizzo di valvole termoioniche
1950
Calcolatori commerciali (IBM mod. 650 - 610) utilizzo di
memoria magnetica a tamburo rotante
1960 - 1975
Anelli di ferrite (materiale facilmente magnetizzabile)
1975
Memorie a semiconduttori
La gerarchia della memoria
La filosofia della gerarchia della memoria consiste nel portare
verso il vertice della piramide le informazioni più utilizzate dalla
porzione di programma in esecuzione (che possono cambiare
nel tempo) così che nella maggior parte dei casi il tempo di
accesso coincide con quello delle memorie più rapide.
Per questo motivo sono state inventate le cache, che sono
memorie molto veloci, inserite fra la CPU e la memoria centrale.
La memoria ESTERNA al sistema
La memoria ESTERNA ha lo scopo di memorizzare (e conservare) le
informazioni nel tempo.
Caratteristiche:
Capacità di memorizzazione;
velocità di accesso ai dati;
Costo per bit
I DISPOSITIVI DI MEMORIA DI MASSA
Fra i dispositivi di memoria di massa, ricordiamo disco rigido (hard
disk), dischetti (floppy), nastri e cartucce magnetiche, magneto-ottiche
e ottiche, CD-ROM, DVD..
I dispositivi ESTERNI di memoria
HARD DISK: costituisce la memoria ausiliaria dell’elaboratore, un’estensione
della memoria centrale, dove vengono “appoggiati” dati e programmi;
Floppy disk: dischetti che contengono circa 1,44 Mb (ormai fuori commercio);
CD-ROM : contiene fino 750 MB di dati;
DVD a singolo strato contiene 4,7 Gb a doppio strato 8 GB;
BLU-REY DISC: può contenere fino a 54 Gb di dati grazie all’utilizzo di un lase a
luce, appunto, blu. (ormai standard per l’alata definizione video);
FLASH MEMORY: le “pennette USB”, le memorie per le macchine fotografiche,
ormai siamo con l’ipod a 180 Gb.
Tecnologia utilizzata
Elettronica a
transistor
Elettronica a
condensatori
Magnetica
Nome dispositivo
Registri CPU
Cache
RAM
Hard Disk
Floppy Disk
Ottica
Compact Disk
Digital Versatile DIsk
Velocità di accesso
< 10 × 10–9 sec
(miliardesimi)
< 20 × 10–9 sec
< 1000 × 10–9 sec
< 10 × 10–3 sec
(millisecondi)
Costo per milione di
byte
Dimensioni
Volatile
100 €
< 1 Kb
SI
100 €
0 - 512/1024 Kb
SI
10 €
4 - 256/512 Mb
SI
0,30 €
8 - 32 Gb
NO
0,25 €
1,4 Mb
NO
< 100 × 10–3 sec
0,01 €
650 Mb
NO
< 100 × 10–3 sec
0,05 €
4,7 - 18 Gb
NO
100 × 10–3 sec
LA MEMORIA “FLASH”
La memoria flash, anche chiamata flash memory, è una
tipologia di EEPROM quindi di memoria virtuale, che per
le sue prestazioni può anche essere usata come memoria
a lettura scrittura. Quando viene utilizzata come ROM
viene anche chiamata flash ROM.
La memoria flash, trattandosi di memoria a stato solido,
non presenta alcuna parte mobile quindi è piuttosto
resistente alle sollecitazioni e agli urti, inoltre è
estremamente leggera e di dimensioni ridotte.
Memoria FLASH
In una memoria flash le informazioni vengono registrate in un array di
Floating Gate MOSFET, una tipologia di transistor ad effetto di campo
in grado di mantenere carica elettrica per un tempo lungo. Ogni
transistor costituisce una "cella di memoria" che conserva il valore di
un bit. Le nuove flash utilizzano delle celle multilivello che permettono
di registrare il valore di più bit attraverso un solo transistor.
CompactFlash
SmartMedia
MultiMediaCard
Memory Stick PRO
Secure Digital
MicroSD
xD-Picture Card
chiave USB
Scarica