FONDAMENTI DI INFORMATICA Lezione del 20/05/2014 GERARCHIA DI MEMORIA Size [Byte] TeraByte ON DEMAND PetaByte MEMORIA DI MASSA EptaByte ON LINE ms (millisecondi) GigaByte MEMORIA CENTRALE 5-10 ns (nanosecondi) MegaByte MEMORIA CACHE h-m (ore o minuti) Distanza dalla CPU [t] REGISTRI - Ciò che deve essere accessibile rapidamente alla CPU deve essere di dimensione piccola. Se un ciclo di Clock dura 1miliardesimo di secondo, un segnale in un ciclo riesce a percorrere circa 30cm. Più la memoria è grande - Più c’è spazio Più i segnali impiegano tempo per trovare un bit fra tanti. Per questo motivo vicino al processore vi è una memoria integrata molto veloce ma piccola e, man mano che ci si allontana dal processore la quantità di memoria aumenta. MEMORIE: Registri: costituiscono la CPU (Una CPU con 16 registri lavora meglio rispetto a una con solo 3 registri); Memoria Cache: è una memoria “nascosta”, che non è possibile vedere; Memoria Centrale: è una memoria abbastanza grande, la quale però per questo motivo è più lenta; Memorie di Massa: Si distinguono in: Memorie ON LINE -> Disco o SSD connessi a un computer in funzione 24/24h; Memorie ON DEMAND-> Sono memorie offline che quando servono sono prese e messe a disposizione del computer; USB DRIVE M P I/O DISKS TAPES Questa versione della macchina di Von Neumann non prevede un accesso diretto alle memorie cache, ma consente un accesso alle informazioni mediante un meccanismo di indirizzamento a PAROLE DI MEMORIA. Si identifica con i termini PAROLA DI MEMORIA o WORD la dimensione nativa dei dati usati da un computer. Una word è semplicemente un gruppo di bit di una determinata dimensione che sono gestiti come unità dalla CPU. La dimensione (o lunghezza) della word è un'importante caratteristica dell'architettura di un computer che dipende direttamente dalla dimensione del BUS. Tale metodo consente un accesso più rapido ed efficiente ai dati ma fa sorgere problemi di natura differenti relativi all’indicizzazione di grandi quantità di dati, le quali richiederebbero una elevata quantità di memoria per essere memorizzati con il conseguente esaurimento della stessa. Per ovviare a tale problema è stato introdotto un metodo di indirizzamento che prevede la suddivisione dei dati in GRANULI o BLOCCHI, insiemi di più parole di memorie accessibili allo stesso indirizzo. Il concetto di GRANULARITÀ DELLE INFORMAZIONI è direttamente legato al volume di dati memorizzati (information overload) e, di conseguenza, alle prestazioni del sistema e della memoria considerata (memorie più vicine alla CPU presentano una granularità inferiore). A sua volta questo metodo dà vita ad un processo definito frammentazione della memoria che si verifica quando si inseriscono e si rimuovono processi dalla memoria centrale, oppure file da una memoria di massa. Dato che la memoria è, a livello logico, una sequenza contigua di spazi (celle o settori) atti a contenere unità elementari di dati, e che normalmente un oggetto da memorizzare (un programma o un file) si compone di numerose unità elementari contigue, l'organizzazione di tali sequenze in memoria deve seguire una qualche regola che consenta di aggiungere e rimuovere tali oggetti con accesso casuale. Infatti, ripetute aggiunte o rimozioni di sequenze di dati di dimensioni eterogenee comportano una "frammentazione" dello spazio libero disponibile, che quindi non risulta più essere contiguo. In tal caso, in memorie secondarie come i dischi la ricostruzione della sequenza originale dei dati memorizzati è fatta in modo inefficiente, con cali di prestazioni; qualunque disco rigido, infatti, lavora alle massime prestazioni solo qualora debba scrivere o leggere dati memorizzati in posizioni contigue: il "salto" fisico della testina di lettura del disco da un settore ad un altro posto in diversi cilindri introduce dei rallentamenti che, in casi particolari, possono raggiungere livelli critici. CONTRO SIZE OF BLOCK BASSA VELOCITÀ 512 Byte : : ALTA VELOCITÀ 8192 Byte PRO BASSA FRAMMENTAZIONE : ALTA FRAMMENTAZIONE Esempio 1 2 : Generica quantità di dati di dimensione x : Generica quantità di dati di dimensione y : Celle di memoria libere o meno : Celle di memoria libere : Generica quantità di dati di dimensione z (con z<x) Si suppone di avere in memoria un blocco di dati di dimensione x. L’eventuale cancellazione di tale blocco di dati comporta la liberazione di una quantità di spazio pari ad x (Fase 1). L’inserimento di un blocco di dati di dimensione z (con z<x) fa sì che una piccola porzione di memoria (troppo piccola per essere occupata) resti libera (e non occupabile). La formattazione di una memoria prevede la suddivisione di questa in tracce e settori, utilizzati quali coppia di coordinate per definire un blocco di memoria. L’insieme di blocchi contigui o non forma un cluster. : Delimitatore Settore : Delimitatore Traccia : Blocco : Cluster (con blocchi contigui) : Cluster (con blocchi non contigui) Tale gestione della memoria organizzata da particolari meccanismi chiamati File System, memorizzati al centro del disco o all’esterno (per garantirne l’integrità). Tra i File System più noti vi sono: - FAT, la File Allocation Table. Il più grande problema del File System FAT è la frammentazione. Quando i file vengono eliminati, creati o spostati, le loro varie parti si disperdono sull'unità, rallentandone progressivamente la lettura e la scrittura. Una soluzione a questo inconveniente è la deframmentazione, un processo che riordina i file sull'unità. Questa operazione può durare anche diverse ore e deve essere eseguita periodicamente per mantenere le prestazioni dell'unità. Esistono varie versioni di questo file system, in base a quanti bit sono allocati per numerare i cluster del disco: FAT12, FAT16, FAT32. Esiste anche una versione del FAT16 detta VFAT, che è virtuale cioè non registrato fisicamente sull'hard disk, ma gestito da un software specifico. - NTFS (sigla di New Technology File System) Le performance di NTFS sono invece leggermente inferiori a quella di FAT e di FAT32. A partire da Windows 2000, è inoltre possibile montare un volume NTFS come sottodirectory di un altro volume NTFS. NTFS permette inoltre di utilizzare trasparentemente delle opzioni di compressione (il rapporto di compressione è mediocre, meno di ZIP, ma permette l'accesso immediato a qualunque punto del file) e di crittografia (chiamato anche EFS). In NTFS sono stati aggiunti i cosiddetti punti di reparse, ovvero dei meccanismi che consentono le giunzioni (junctions) tra directory, altrimenti impossibili per la struttura del file system. MAGGIO JACOPO NICOLAZZO JACOPO
© Copyright 2024 ExpyDoc