Von Neumann Bottleneck

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Von Neumann Bottleneck"

Transcript

1 Von Neumann Bottleneck

2 Gerarchia di memoria

3 Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo gerarchia e delle politiche di gestione delle memorie è dare l illusione di avere a disposizione una memoria grande (come al livello n) e veloce (come al livello 1)

4 Esempio a 2 livelli

5 Gerarchia di memoria All inizio i nostri dati e i nostri programmi sono memorizzati nel livello n (memoria più capiente e lenta) I blocchi (linee) di memoria man mano riferiti vengono fatti fluire verso i livelli più alti (memorie più piccole e veloci), più vicini alla CPU Se il blocco richiesto è presente nel livello più alto Hit: l accesso soddisfatto dal livello più alto Hit rate: n. hit / n. accessi Se il blocco richiesto è assente nel livello più alto Miss: il blocco è copiato dal livello più basso Miss rate: n. miss / n. accessi = 1 hit ratio Miss penalty: tempo necessario per trasferire i dati e fornirli al processore Poi l accesso è garantito dal livello più alto

6 Problemi Problema 1: Cosa succede se un blocco riferito è già presente nel livello 1 (più alto)? La CPU può accedervi direttamente (hit), ma abbiamo bisogno di un meccanismo per individuare e indirizzare il blocco all interno del livello più alto! Problema 2: Cosa succede se il livello più alto è pieno? Dobbiamo implementare una politica di rimpiazzo dei blocchi!

7 Cache Cache: posto sicuro [nascosto] dove riporre le cose Nascosta perché il programmatore non la vede direttamente L uso gli è interamente trasparente L uso della cache fu sperimentato per la prima volta negli anni 70 e da allora è divenuto assolutamente prevalente in tutti i calcolatori

8 Cache

9 Esempio Partiamo da un semplice esempio in cui la i blocchi di cache siano costituiti da una sola word. Supponiamo che a un certo punto il processore richieda la parola X n che non e in cache Cache miss

10 Domande Come facciamo a capire se un dato richiesto è nella cache? Dove andiamo a cercare per sapere se c è? Cache ad accesso diretto: a ogni indirizzo in della memoria corrisponde una precisa locazione della cache Possibilità: indirizzo locazione dove un indirizzo è mappato = indirizzo blocco modulo numero di blocchi in cache Se il numero di elementi nella cache è potenza di 2, ci è sufficiente prendere i bit meno significativi dell indirizzo in numero pari al logaritmo in base 2 della dimensione della cache

11 Cache ad accesso diretto Ogni locazione di memoria è mappata direttamente in esattamente una locazione di cache (direct mapped cache) Soluzione più semplice cache block index memory block address block index = (block address) mod (block num)

12 Cache ad accesso diretto Un blocco di cache può contenere una copia dei dati di diverse locazioni di memoria. Come distinguerle? I bit più significativi dell indirizzo di memoria sono salvati in un campo tag tag bits tag blocco = (indirizzo blocco) modulo (numero di blocchi) un bit valid è usato per indicare che i dati del blocco sono validi

13 Esempio Accesso a (miss) Accesso a (miss) Accesso a (hit)

14 Esempio MIPS 32 bit Indirizzo su 32 byte Cache ad accesso diretto Dimensioni della cache 2 n blocchi, di cui n bit usati per l indice dimensione del blocco di cache 2 m parole ossia 2 m+2 byte In questo caso la dimensione del tag è data da 32 (n + m + 2) Numero totale bit nella cache: 2 n x (dim. blocco + dim. tag + valid bit) Per convenzione si considera solo la dimensione del blocco.

15 4KB Cache

16 Esercizio Si consideri una cache con 64 blocchi di 16 byte ciascuno. A quale numero di blocco corrisponde l indirizzo 1200 espresso in byte? Blocco identificato da: (indirizzo blocco) modulo (numero blocchi in cache) (indirizzo blocco) = (indirizzo dato in byte) / (byte per blocco) Quindi l indirizzo del blocco è 1200/16 = 75 Blocco contente il dato è 75 modulo 64 = 11

17 Dimensione del blocco Dimensioni di linea di cache molto grandi esaltano la località spaziale e da questo punto di vista diminuiscono le probabilità di miss Tuttavia avere pochi blocchi diminuisce l efficacia nello sfruttamento della località temporale Inoltre avere dei miss con blocchi grandi porta a un costo di gestione alto (bisogna spostare molti byte) Quindi abbiamo un tradeoff

18 Tradeoff

19 Gestione delle miss La Parte di Controllo deve rilevare le miss e portare in cache i dati contenuti nella memoria indirizzata Hit in lettura (conseguenza di i-fetch e load) accesso alla memoria con il massimo della velocità Miss in lettura (conseguenza di i-fetch e load) La Parte di Controllo mette in stallo la CPU (cicli di attesa, con registri interni immutati), finché la lettura del blocco (dalla memoria in cache) viene completata Instruction cache miss: si ripete il fetch dell istruzione Data cache miss: si completa l accesso al dato dell istruzione (load)

20 Gestione delle miss Hit in scrittura (solo conseguenza di store) write-through: scrive sulla cache e in memoria (con buffer di scrittura) write-back: scrive solo sulla cache, e segnala che il blocco è stato modificato (setting del bit di Dirty) Miss in scrittura (solo conseguenza di store) con politica write-back, stallo della CPU (cicli di attesa), lettura del blocco dalla memoria in cache (write allocate), completamento dell istruzione di store in cache con politica write-through, solitamente non si ricopia il blocco in cache prima di effettuare la scrittura (no write allocate) che avviene in memoria

21 Esempio FastMATH Intrinsity Split cache 256 blocchi 16 word per blocco write-through e writeback I miss rate: 0.4 % D miss rate: 11.4 % Total miss rate: 3.2 %

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Struttura delle cache a indirizzamento diretto

Struttura delle cache a indirizzamento diretto Struttura delle cache a indirizzamento diretto Ogni posizione della cache include: Valid bit che indica se questa posizione contiene o meno dati validi. 0: posizione di cache non ancora utilizzata 1: posizione

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Criteri di caratterizzazione di una memoria

Criteri di caratterizzazione di una memoria La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità

Dettagli

Cache: 1 livello della gerarchia di memoria

Cache: 1 livello della gerarchia di memoria Cache: 1 livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale (DRAM) Memoria secondaria (Disco) 4 decisioni da prendere

Dettagli

La gerarchia di Memoria

La gerarchia di Memoria La gerarchia di Memoria Metodologie di progettazione Hw-Sw- LS. Ing. Informatica Gap delle prestazioni DRAM - CPU 000 CPU 00 0 DRAM 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997

Dettagli

Lezione 22 La Memoria Interna (1)

Lezione 22 La Memoria Interna (1) Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Memoria Virtuale e I/O

Memoria Virtuale e I/O Memoria Virtuale e I/O Paolo Baldan [email protected] Introduzione CPU - progettazione - prestazioni ideali Le prestazioni reali sono influenzate (pesantemente) da memoria e I/O. Memoria - gerarchie

Dettagli

SOLUZIONI: Memoria virtuale

SOLUZIONI: Memoria virtuale SOLUZIONI: Memoria virtuale INTRODUZIONE Memoria Virtuale: Si parla di memoria virtuale quando la memoria principale viene utilizzata come cache per la memoria di massa (dischi, nastri): - I programmi

Dettagli

Esercizi sulle prestazioni delle memorie cache

Esercizi sulle prestazioni delle memorie cache Esercizi sulle prestazioni delle memorie cache Prof. Alberto Borghese Dott. Massimo Marchi Dipartimento discienzedell Informazione dell [email protected] Università degli Studi di Milano A.A. 2012

Dettagli

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill // Copyright 7 The McGraw-Hill Companies srl Copyright 7 The McGraw-Hill Companies srl Supporto alla CPU: deve fornire alla CPU

Dettagli

Calcolo prestazioni cache (1)

Calcolo prestazioni cache (1) Calcolo prestazioni cache (1) Consideriamo gcc: miss rate x istruzioni = 2% miss rate x dati = 4% frequenza di letture e scritture=36% Consideriamo inoltre un sistema con: CPU: Clock=3Ghz, CPI ideale =1

Dettagli

Esercizi svolti sulle cache - Soluzioni

Esercizi svolti sulle cache - Soluzioni Esercizi svolti sulle cache - Soluzioni 1. Si progetti una cache di 16K a 8 vie per un sistema con indirizzamento al byte di 32bit, bus dati a 32 bit, bus indirizzi a 30bit, e word di 4 byte. In quale

Dettagli

Prestazioni & Co: CPU, Memoria, I/O

Prestazioni & Co: CPU, Memoria, I/O Prestazioni & Co: CPU, Memoria, I/O CPU - progettazione - prestazioni ideali Panoramica Memoria - gerarchie di memoria: cache, memoria principale, etc. - organizzazione, dimensionamento, indirizzamento,

Dettagli

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può

Dettagli

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria La gerarchig erarchia di memorie e (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Divario delle prestazioni processore- memoria 100.000 Soluzione: memorie cache più piccole e veloci tra processore

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1 Esercizio 1 Sia data una memoria cache di tipo a indirizzamento diretto (direct-mapped), con blocchi di dimensioni pari a una sola parola per blocco, e contenente. La parola è lunga 16 bit, e la memoria

Dettagli

Memoria Cache. La memoria cache

Memoria Cache. La memoria cache Testo di rif.to: [Congiu] 6.1 (pg. 193 199) Memoria Cache 06.a Memoria associativa Cache completamente associativa Cache a mappatura diretta Cache set-associativa a n-vien Cache nell Xscale PXA-255 La

Dettagli

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini La memoria Architetture Avanzate dei Calcolatori Valeria Cardellini Nelle lezioni precedenti { Memoria La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi L2 Cache Blocchi Memoria Pagine

Dettagli

PRESTAZIONI. senza e con memoria cache

PRESTAZIONI. senza e con memoria cache PRESTAZIONI del processore MIPS pipeline senza e con memoria cache Prestazioni del processore GENERICO (P&H pp 29 31) Definizioni dei parametri di prestazione fondamentali del processore: sia P una prova,

Dettagli

MEMORIA GERARCHIE DI MEMORIA

MEMORIA GERARCHIE DI MEMORIA MEMORIA GERARCHIE DI MEMORIA La memoria è divisa in più livelli che sono dal più vicino al più distante al CPU, per tempi di accesso: memoria cache, SRAM, capienza (MB), più veloce (decimi di ns), costosa

Dettagli

Memoria cache, interrupt e DMA

Memoria cache, interrupt e DMA FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Cache e gerarchia di memoria

Cache e gerarchia di memoria Cache e gerarchia di memoria Cache e gerarchia di memoria Gerarchia di Memoria: motivazioni tecnologiche per caching. Località: perché il caching funziona Processor Input Control Memory Datapath Output

Dettagli

SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI

SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI ESERCIZIO 1 (10 Punti) Si implementi una rete sequenziale la cui uscita valga Z=1 solo quando viene riconosciuta la sequenza in ingresso

Dettagli

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a) Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

Dettagli

Sommario. Indirizzamento della memoria cache. Indirizzamento della memoria cache. Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis

Sommario. Indirizzamento della memoria cache. Indirizzamento della memoria cache. Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Esercitazione 2 (Capitolo 3) Memoria Cache Memoria Disco Codice di Hamming Sommario Memoria

Dettagli

La gerarchia delle memorie. Sommario

La gerarchia delle memorie. Sommario La gerarchia delle memorie Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimento Patterson: Sezioni 5.1, 5.2 1/37 http:\\homes.dsi.unimi.it\

Dettagli

Architettura di un calcolatore: Introduzione parte 2

Architettura di un calcolatore: Introduzione parte 2 Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer? Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare

Dettagli