• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
35
0
0

Testo completo

(1)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

La memoria centrale [Sez: da 2.8 a 2.10]

(2)

Riepilogo

• Complemento a 2

• Architettura di Von Neumann

• CPU (ALU, CU)

(3)

Verifica

• Verificare per k=5 che in complemento a

due siamo in grado di rappresentare i

valori da -16 fino a +15

• Come fare?

– Convertite in complemento a due su 5 bit 15 e

16

– Convertite in complemento a due su 5 bit -16

e verificate che è ottenibile come forse non ci

saremmo aspettati!

(4)

COMPLEMENTO A 2

NOTA

• Complemento a 2: dati 5 bit, rappresentare -20 in binario

1. Condizione imprescindibile: -20 è nell’intervallo di valori ammissibili per 5 bit, ossia [-24; +24-1] è [-16;+15]

2. -20 non è rappresentabile in 5 bit con il complemento a 2 perché non rientra nel range di valori ammissibili

• Complemento a 2: dati 5 bit, rappresentare +20 in binario

1. Condizione imprescindibile: -20 è nell’intervallo di valori ammissibili per 5 bit, ossia [-24; +24-1] è [-16;+15]

2. +20 non è rappresentabile in 5 bit con il complemento a 2 perché non rientra nel range di valori ammissibili

(5)
(6)

Unità Centrale di Elaborazione (Central Processing Unit, CPU) e collegamento

con le altre unità funzionali.

La CPU è fisicamente realizzata sotto forma di microprocessore. clock

(7)

Contenuti di Oggi

• Gerarchia delle Memorie

– Memoria Centrale

– Memoria Virtuale

– Memoria Cache

• Memorie di massa o memoria secondaria

(8)

Tipi di Memorie

• In un Computer esistono tre tipi di memoria:

• La memoria interna della CPU che serve per

– velocizzare l’elaborazione (cache)

– contenere i dati su cui il processore lavora

(registri)

• la memoria centrale (memoria principale o di

lavoro), che memorizza

– i programmi in esecuzione e i relativi documenti

• la memoria di massa (memoria secondaria ),

che memorizza

(9)
(10)

Obiettivo

• Migliorare le prestazioni di un calcolatore

attraverso il sistema di memoria in modo

da:

– fornire agli utenti l'illusione di poter usufruire

di una memoria contemporaneamente grande

e veloce;

– fornire al processore i dati alla velocità con cui

è in grado di elaborarli

(11)
(12)

Memorie disponibili

• Memorie veloci, integrate nello stesso chip della

CPU, ma costose:

– Chiamiamole MPV (per Memorie Piccole e Veloci).

• Memorie di grande capacità, relativamente lente,

economiche ed accessibili tramite il bus:

– Capacità circa 100 volte superiori;

– Tempi di accesso circa 10 volte superiori.

– Chiamiamole MGL (per Memorie Grandi e Lente).

• Vorremmo il meglio dei due mondi: una memoria

grande e veloce (capacità MGL e prestazioni

(13)

Gerarchia a due livelli

• Memoria formata da una MPV e una MGL:

– MPV contiene una copia di alcune celle della

MGL;

– quando la CPU chiede una cella di memoria,

la richiesta viene intercettata dalla MPV:

• Se il dato si trova nella MPV, viene

passato direttamente alla CPU;

• Altrimenti, il dato si ottiene dalla MGL, e

viene anche caricato nella MPV.

(14)

Principio di Località

• Località spaziale: quando si accede all’indirizzo A,

è molto probabile che gli accessi successivi

richiedano celle vicine ad A.

– le istruzioni vengono in genere lette da locazioni consecutive della memoria;

– gli accessi a vettori o a strutture dati sono “vicini”.

• Località temporale: quando si accede all’indirizzo

A, è molto probabile che negli accessi successivi si

richieda di nuovo la cella A.

– cicli di istruzioni accedono ripetutamente alle stesse locazioni di memoria;

– istruzioni vicine tendono ad utilizzare le stesse variabili.

(15)

Come sfruttare la località

• Località temporale: i dati prelevati dalla

MGL dovrebbero essere conservati nella

MPV il più a lungo possibile;

• Località spaziale: quando si copia un dato

dalla MGL alla MPV, dovremmo copiare

anche i dati vicini

• Necessità contrastanti:

– per la località spaziale servirebbero blocchi

grandi

– per la località temporale servirebbero blocchi

piccoli

(16)

Hit Ratio

• Se gli accessi in memoria rispettano i

principi di località

• Se il sistema MPV/MGL è ben

proporzionato

– dimensione dei blocchi e numero dei blocchi

nella MPV

• Allora la frequenza di successo (hit ratio)

può superare il 90%

(17)

17

(18)
(19)

Tipi di Memoria Centrale

ROM = memoria non volatile, in cui è memorizzato il

firmware.

RAM = memoria volatile, random (accesso libero a

qualunque sua parte), in cui si memorizza il software.

(20)
(21)

Memoria ROM

• La ROM (Read Only Memory) è un tipo di memoria a

sola lettura contenente dati e istruzioni che non

possono essere modificati, come per esempio alcune parti dei sistema operativo.

ü Il computer può soltanto leggere informazioni e istruzioni dalla ROM, ma non può scrivervi alcunché.

ü Non perde il contenuto allo spegnimento della macchina (non volatile)

• Dati e programmi memorizzati in una ROM prendono il nome di FIRMWARE

(22)

La Memoria Centrale

• Un computer ha bisogno di spazio per contenere

– I programmi che sta utilizzando e

– I dati che sta elaborando

• Tale spazio è la Memoria Centrale

– Suddivisa in celle (locazioni)

– Ogni cella ha un indirizzo

• La memoria centrale è,

– Ad accesso casuale, cioè occorre lo stesso

tempo per accedere ad un qualsiasi punto di essa

– L’accesso è dell’ordine dei nano-secondi, cioè

(23)

Memoria RAM

• Memoria centrale o memoria dell’utente

ü La RAM è un importante indicatore della capacità del computer, essendo la memoria di sistema dove vengono immagazzinati i dati sui quali il computer sta eseguendo le proprie elaborazioni.

ü La grandezza della RAM viene misurata in megabyte; maggiore è la dimensione della RAM, più grande è il numero di dati sui quali può operare la CPU per l'elaborazione.

• Memoria volatile • Ad accesso random • Primi PC: 128 KB • Oggi: almeno 2 GB

(24)
(25)

Memoria Cache

• Per eseguire un’istruzione, il processore deve copiarla,

assieme ai dati, nei suoi registri

– L’operazione di copiatura, da farsi per ogni singola

istruzione, è costosa rispetto al tempo che il processore

impiega ad eseguire l’istruzione stessa

– Si corre il rischio quindi di avere una CPU che

• Può eseguire molto velocemente le istruzioni …

• ... ma che passa quasi tutto il tempo in attesa che

l’istruzione e i dati su cui essa opera vengano copiati

dalla RAM nei registri

(26)

Memoria Cache

• Per velocizzare il sistema, esiste una Memoria (tampone)

detta memoria

Cache

:

– una memoria di tipo RAM, in piccola quantità

(128-256 KB),

– strettamente connessa alla CPU

– migliora la performance del sistema

• Nella Cache vengono memorizzati

– Una parte dei dati contenuti nella RAM

(27)

Memoria Cache

• Procedimento:

– Si cerca se il dato /istruzione è presente nella cache e se c’è lo si usa (Cache Hit)

– Se invece non c’è (Cache Miss) lo si prende dalla RAM e lo si copia nella cache: la prossima volta verrà ritrovato nella cache

(28)

Memoria Cache: livelli

• Livello 1

– Cache interna o primaria o L1

– è interna al processore

• Livello 2

– Cache esterna o secondaria o L2

– è esterna al processore

– costituita da chip di memoria istallati in

(29)

Funzionamento del buffer (clipboard)

• Piccola zona di RAM riservata a operazioni varie

– Utilizzato per scaricare o caricare i dati su/da disco – Contiene gli ultimi dati immessi da tastiera

– Contiene gli ultimi comandi usati da un programma con I relativi dati coinvolti

(30)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Le Memorie Secondarie

(31)

Necessità della Memoria di Massa

• La RAM

– Ha dimensioni finite e prima o poi si satura

– è una memoria volatile, cioè si svuota non

appena il computer viene spento.

• E’ necessario disporre di supporti che

consentano

• di memorizzare grandi quantità di byte

• e che li conservino quando il computer è spento

• Tali supporti sono le memorie di massa

(dette anche ausiliarie, esterne,

(32)

Interazione tra RAM e Memoria di Massa

• Quando si utilizza un programma per il

trattamento di un documento (ad esempio un file

di testo) bisogna

– Caricare in RAM il documento già esistente e

presente su memoria di massa (in alternativa creare un nuovo documento vuoto)

– Aggiornarlo, apportando tutte le modifiche

necessarie, e questo avviene in RAM utilizzando il programma

– Salvare il documento modificato, cioè memorizzare

su memoria di massa (eventualmente differente da quella di origine) il documento modificato.

(33)

Memoria Virtuale e Swapping

• La RAM può saturarsi, soprattutto se sono – in esecuzione molti programmi

– aperti documenti molto grandi

• Quando la RAM è satura e l’utente vuole aprire un nuovo programma o un nuovo documento

– Il SO può:

• Impedire l’apertura del documento o del programma • Fare spazio in memoria

– I SO

• Di vecchia generazione adottavano la prima soluzione

(34)

Funzionamento

della Memoria Virtuale

• Il SO per fare spazio all’interno della RAM sposta dati e/o programmi

– dalla RAM – al Disco Fisso

• Questa zona del disco è detta “area di SWAP”, o file di swapping

• La memoria virtuale rallenta l'esecuzione dei programmi, ma

(35)

Funzionamento

della Memoria Virtuale

• Il SO sceglie ciò che va spostato nell’area di swap utilizzando varie strategie

– Ad esempio sposta ciò che in RAM è inutilizzato da più tempo

• L’uso combinato di RAM e di Hard Disk prende il nome di Memoria Virtuale

• L’operazione di Spostamento è un’operazione

– necessaria (soprattuto se il computere ha poca RAM)

Riferimenti

Documenti correlati

L’obiettivo del corso è quello di formare esperti nella gestione di tutti gli aspetti legati alla sicurezza informatica, in grado di ricoprire il ruolo di

iii) il terzo, nel caso emerga la predetta vulnerabilità, la comunicazione al produttore o all’utilizzatore dell’esistenza della fragilità, con l’intento di solle-

Durante il viaggio avete ascoltato un po’ di musica nel formato compresso Mp3 e, siccome la canzone (in inglese) vi è piaciuta moltissimo, ne avete tradotto il testo con

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

Il circuito elettronico è realizzato su un substrato di materiale semiconduttore (in genere silicio ma anche arseniuro di gallio o altro) chiamato DIE e può essere costituito da

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

I computer di questa generazione, come quelli della prima, erano ancora riservati solo ai laboratori militari e scientifici sia per la difficoltà di utilizzo (linguaggi

Dunque con la realizzazione di processori su Circuiti Integrati Dunque con la realizzazione di processori su Circuiti Integrati viene evidenziata agli inizi degli anni ’80