Come aumentare le prestazioni Cenni alle architetture avanzate

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Come aumentare le prestazioni Cenni alle architetture avanzate"

Transcript

1 Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture avanzate Mariagiovanna Sami

2 Richiamo: CPI CPI = (cicli di clock della CPU richiesti dall esecuzione di un programma)/ numero di istruzioni nel programma dinamico tempo di CPU = numero istruzioni * CPI * durata del ciclo di clock = (numero istruzioni * CPI) /f ck Introducendo nella prima formula le unità di misura, si può notare in che relazione stiano le varie componenti istruzioni programma cicli clock istruzione secondi ciclo di clock = secondi programma = tempo di CPU

3 Fattori che influenzano il tempo di CPU ciclo di clock (o frequenza) tecnologia hardware e organizzazione cicli di clock per istruzione organizzazione e architettura set istruzioni numero istruzioni architettura set istruzioni e tecnologia dei compilatori Non è possibile modificare separatamente i vari termini poiché le tecnologie di base da cui dipendono le singole caratteristiche sono interdipendenti

4 Prospettiva storica Fino agli anni 70: si è lavorato principalmente migliorando le tecnologie elettroniche; Dopo gli anni si è rivisitato il progetto dell insieme di istruzioni (passando in molti casi alla soluzione load/store) abbinato all uso esteso del pipelining; Anni 90: si è introdotto massicciamente il Parallelismo a livello istruzione (architetture superscalari e VLIW ); Dopo il 2005: architetture multi-core e many-core, altre forme di parallelismo

5 Il parallelismo a livello di istruzione: concetti fondamentali Si possono distinguere flussi di operazioni differenti per diverse classi di istruzioni: Un flusso per l accesso alla memoria (Load/Store) Uno per le operazioni aritmetiche in virgola fissa Uno per le operazioni aritmetiche in virgola mobile È ragionevole pensare a una CPU in cui a ogni flusso corrisponde una diversa pipeline, a valle della lettura e decodifica delle istruzioni;

6 Il parallelismo a livello di istruzione: concetti fondamentali Si supponga di potere leggere e decodificare più istruzioni simultaneamente: si supponga inoltre che l unità di controllo sia in grado di verificare se fra tali istruzioni non esistono dipendenze (né esistono dipendenze con le istruzioni già avviate attraverso le pipeline: diventa possibile avviare in esecuzione simultaneamente in parallelo - più istruzioni;

7 Il parallelismo a livello di istruzione: concetti fondamentali Le architetture in cui identificazione del potenziale parallelismo e conseguente gestione delle istruzioni vengono compiute dall unità di controllo durante l esecuzione (in modo dinamico) sono dette superscalari. Una CPU superscalare è dotata di parallelismo a livello di istruzione (ILP) più istruzioni appartenenti allo stesso flusso di programma vengono eseguite in parallelo. Il parallelismo in una macchina superscalare è trasparente al programmatore si può eseguire codice binario (compatibile!) compilato per un architettura più semplice

8 Architetture superscalari Esempio: architettura con 3 pipeline: Floating-point pipeline Integer pipeline Load/store pipeline capace di leggere, decodificare e avviare all esecuizione fino a tre istruzioni per ciclo Register File Fetch/decode Hazards Unit Floating-point pipeline - 8 phases Load/store pipeline - 5 phases Integer pipeline - 3 phases

9 Architetture superscalari Le prestazioni dipendono fortemente dalle risorse disponibili durante l esecuzione, dal progetto del sistema di memoria e dal compilatore! più unità funzionali debbono essere in grado di operare in parallelo; l unità di controllo deve garantire che alla fine i risultati siano sempre corretti, cioè identici a quelli che si avrebbero sulla macchina di Von Neumann; la banda della memoria per istruzioni e dati deve consentire di mantenere il throughput richiesto e un compilatore ottimizzante deve ristrutturare il codice per sfruttare meglio il parallelismo intrinseco del programma (non è in contraddizione con la compatibilità binaria, riguarda l ottimalità delle prestazioni!)

10 Processori superscalari Macchine con scheduling dinamico (superscalari) la scelta delle istruzioni da avviare all esecuzione è fatta dallo hardware; È possibile la compatibilità a livello di codice binario con CPU a singola pipeline o anche non pipelined; Molto diffuse Pentium (da Pro a IV), Centrino, AMD Opteron, IBM Power L esecuzione delle istruzioni ha inizio in base alla disponibilità dei dati e non dell ordine delle istruzioni esecuzione fuori ordine Completate le istruzioni, i risultati sono riordinati in modo da aggiornare lo stato della CPU in base all ordine corretto delle istruzioni (committment)

11 Le dipendenze di controllo Per ottenere buon parallelismo si devono superare le dipendenze di controllo; Quando si incontra un salto condizionato: si effettua una predizione sul risultato del salto si leggono in modo speculativo le istruzioni che si prevede saranno eseguite dopo queste nuove istruzioni vengono avviate in esecuzione in modo speculativo ( etichettate come tali)

12 Speculazione Se la predizione era corretta Si toglie l etichetta di speculazione alle istruzioni lette e si permette che aggiornino lo stato della macchina Se la predizione era sbagliata Si deve tornare indietro garantendo che lo stato non sia modificato erroneamente Si riprende l esecuzione dal flusso corretto; Se la probabilità che la predizione sia corretta è elevata, si migliorano le prestazioni; Nelle macchine superscalari, la predizione è dinamica, basata sulla storia precedente dell esecuzione del programma

13 Dipendenze da risolvere Aspetto essenziale: l unità di controllo è molto complessa (deve gestire dipendenze, esecuzione fuori ordine, esecuzione speculativa ) Occupa molta area di silicio; Determina la durata del ciclo di clock; Porta a consumo di potenza elevato

14 L alternativa di ILP: le architetture VLIW Consideriamo ancora CPU con molte pipeline di esecuzione: Alternativa alla soluzione superscalare: CPU Very Long Instruction Word (VLIW): l istruzione è molto lunga e costituita in realtà da n istruzioni elementari ( sillabe ) mutuamente indipendenti e composte dal compilatore in un unica istruzione lunga scheduling statico il parallelismo è estratto in fase di compilazione, a priori. Se non si trovano istruzioni indipendenti in numero sufficiente, si completa l istruzione lunga inserendo delle nop

15 L alternativa di ILP: le architetture VLIW Lo stadio di lettura legge l istruzione lunga, la decodifica e invia le diverse istruzioni elementari ai diversi data path specializzati (spesso detti lanes); Vincoli sulle dipendenze: verificati dal compilatore. Esempi di architettura VLIW: Intel Itanium (64 bit), ST200, alcuni DSP di ultima generazione; In una VLIW l unità di controllo poco più complessa di quella di una singola pipeline; occorre risolvere problemi quali l eccessiva occupazione della memoria, la gestione efficiente dei salti, etc

16 La necessità di architetture con prestazioni più elevate Per particolari applicazioni (alcune di grande rilevanza pratica es., multimedia) il parallelismo offerto da pipelining e Instruction-Level Parallelism non è sufficiente a garantire le prestazioni necessarie; Per tentare un ulteriore miglioramento dell ILP, la complessità dell unità di controllo di un architettura superscalare e il consumo di potenza crescono troppo in rapporto al miglioramento delle prestazioni ottenibile; Soluzione: cercare ulteriori forme di parallelismo nell applicazione e proporre architetture che lo sfruttino

17 Un primo esempio: Vector processors Sviluppati inizialmente per il supercalcolo: i principi sono oggi adottati per elaborazione multimediale. L insieme delle istruzioni ne include alcune che lavorano su vettori di dati. SCALARE (1 operazione) VETTORIALE (N operazioni) r1 r2 v1 v2 + + r3 add r3, r1, r v3 vector length vadd.vv v3, v1, v2

18 Vector processors Un unica istruzione vettoriale implica molte operazioni (un intero loop) Si leggono meno istruzioni Ogni risultato è indipendente da quello precedente Si possono eseguire in parallelo più operazioni Il progetto è più semplice alta frequenza di clock Il compilatore (o il programmatore) deve garantire che non ci siano dipendenze Si riducono le alee dovute a dipendenze di controllo Le istruzioni vettoriali accedono alla memoria secondo uno schema noto Si può effettuare prefetching dei dati un gran numero di dati viene preventivamente letto in un insieme di registri vettoriali Si possono sfruttare memorie a banda larga Non occorre cache dati!

19 Uso esteso di operazioni vettoriali Istruzioni di tipo vettoriale sono state introdotte in alcuni DSP di fascia alta; Opportune tecniche di programmazione/compilazione permettono di sfruttare al meglio le opportunità offerte; In alternativa: adozione di particolari istruzioni di tipo parallelo per operazioni di tipo multimediale (estensione MMX delle architetture Intel); Parallelismo noto come SIMD (Single Instruction- Multiple Data): una stessa istruzione (letta quindi una volta sola) viene eseguita simultaneamente su più dati indipendenti fra loro

20 Più in generale: architetture parallele Single instruction, single data stream SISD la solita CPU! Single instruction, multiple data stream - SIMD Multiple instruction, single data stream MISD in pratica, non esiste Multiple instruction, multiple data stream- MIMD

21 Single Instruction,, Single Data Stream - SISD Un singolo processore Un solo flusso di istruzioni I dati sono registrati in una sola memoria Un solo processore

22 Single Instruction,, Multiple Data Stream - SIMD Una sola istruzione di macchina controlla l esecuzione simultanea da parte di molti elementi di elaborazione che operano in modo sincronizzato (lockstep) Ogni elemento di elaborazione ha una memoria dati associata Ogni istruzione viene eseguita su un differente insieme di dati da elementi di elaborazione

23 Single Instruction,, Multiple Data Stream - SIMD

24 Multiple Instruction,, Multiple Data Stream- MIMD Più processori eseguono simultaneamente differenti sequenze di istruzioni su differenti insiemi di dati Sistemi di varie classi, da SMP (symmetric multiprocessor) a cluster e al grid! Comunque: I processori sono di tipo generale Ognuno ha un insieme di istruzioni di tipo generale (di norma) Un ulteriore classificazione del sistema fa riferimento al modo di comunicazione fra i processori

25 Multiple Instruction,, Multiple Data Stream- MIMD Fondamentalmente, due classi di architetture MIMD: Sistemi a memoria condivisa (shared memory): le diverse CPU condividono un unico spazio di indirizzamento della memoria, eseguono processi diversi in modo concorrente, si scambiano informazione attraverso I dati scritti/letti in memoria. Sistemi a scambio di messaggio (message-passing): le varie unità sono dotate ognuna di un proprio spazio di indirizzamento (e di una propria memoria locale), comunicano attraverso una rete di interconnessione scambiandosi messaggi (che consentono scambio di dati, sincronizzazione fra i processi etc.)

26 MIMD shared memory: schema di principio CPU 1 CPU 2 CPU k Cache 1 Cache 2 Cache k interconnessione Memoria

27 Problemi: SMP: organizzazione reale Il bus diventa un collo di bottiglia al crescere del numero delle CPU si passa a reti di interconnessione più complesse; Ogni CPU ha la/le sua/e cache per rendere il sistema più veloce occorre garantire la coerenza non solo fra cache e RAM, ma anche fra le diverse immagini contenute nelle varie cache; Una memoria monolitica con una sola porta di accesso diventa un collo di bottiglia uso di memorie a più porte (soluzione poco scalabile) oppure organizzazione della memoria in moduli memoria logicamente condivisa ma fisicamente distribuita

28 SMP: organizzazione reale Oggi, le architetture ad alte prestazioni su chip appartengono a questa classe ( Chip Multi Processors CMP): v. architetture dual-core, quad-core Sun Niagara (8 core CPU e relative cache su un unico chip); Il parallelismo di esecuzione fra le diverse CPU e quello fra flussi di programma (thread) diversi estratti da uno stesso programma o anche appartenenti a programmi diversi; Tendenza attuale: ridurre la complessità della singola CPU (quindi ridurre l ILP estratto da un singolo flusso di istruzioni) a favore del numero di CPU sul chip (quindi a favore del parallelismo fra thread - TLP)

29 SMP: organizzazione reale Vantaggi: si ottengono prestazioni più elevate e si bilancia meglio il consumo di potenza (eventuali CPU non attive possono essere messe in sonno ); Problema: per ottenere prestazioni elevate in modo sostenuto occorre bilanciare bene il carico sulle diverse CPU occorre che il programma sia progettato in modo da essere eseguito su un sistema parallelo! Parallel programming: un settore aperto

Come aumentare le prestazioni Cenni alle architetture parallele

Come aumentare le prestazioni Cenni alle architetture parallele Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture parallele Mariagiovanna Sami La necessità di architetture con prestazioni più elevate Per particolari applicazioni (alcune di

Dettagli

Classificazione delle Architetture Parallele

Classificazione delle Architetture Parallele Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori

SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori Classificazione di Flynn Architetture di processori SISD - Single Instruction Single Data Le istruzioni sono eseguite sequenzialmente su un solo insieme di dati Le macchine sequenziali comuni appartengono

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Trend di sviluppo delle pipeline

Trend di sviluppo delle pipeline Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/36 Sommario Superpipeline

Dettagli

Architetture "low power": tendenze e sfide per la ricerca

Architetture low power: tendenze e sfide per la ricerca Architetture "low power": tendenze e sfide per la ricerca Mariagiovanna Sami, Direttore Scientifico ALARI - USI 1 7/31/2008 Indice 1. La visione tradizionale 2. La sfida dei consumi: il power wall 3. Tecnologia,

Dettagli

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia

Dettagli

Pipeline nel Mondo Reale

Pipeline nel Mondo Reale Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory

Dettagli

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti q Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 q Il materiale presente in

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Introduzione al Many/Multi-core Computing

Introduzione al Many/Multi-core Computing Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Parte I Architettura Classificazione fra architetture Flynn s taxonomy SISD Single instruction on Single Data- (es. architetture

Dettagli

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW 2 I PROCESSORI SUPERSCALARI PREMESSA 3 Nelle architetture scalari e pipelined date diverse classi

Dettagli

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

Il processore Pentium

Il processore Pentium Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in

Dettagli

Sistemi a processori multipli

Sistemi a processori multipli Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16

Dettagli

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

Dettagli

Architetture di Calcolo Avanzate per Sistemi Embedded

Architetture di Calcolo Avanzate per Sistemi Embedded MASTER IN SISTEMI EMBEDDED PER L INTERNET OF THINGS Architetture di Calcolo Avanzate per Sistemi Embedded Docente: Francesca Palumbo UNISS - Università degli Studi di Sassari PolComIng Gruppo di Ingegneria

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

IBM Academic Initiative

IBM Academic Initiative IBM Academic Initiative Architettura dei Sistemi Centrali (1 di 3) Sapienza- Università di Roma - Dipartimento Informatica 2010-2011 Obiettivi del Capitolo 1 Definire la Struttura del Sistema Centrale

Dettagli

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 Il materiale presente in queste

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

La gerarchia di memorie (2)

La gerarchia di memorie (2) La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit

Dettagli

Parte IV Architettura della CPU Central Processing Unit

Parte IV Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso

Dettagli

Compilatori e Livelli di Compilazione

Compilatori e Livelli di Compilazione Compilatori e Livelli di Compilazione Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi sistemi operativi quali Linux/Unix, Windows, Macintosh. Oltre

Dettagli

Evoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari

Evoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari Evoluzione dei Sistemi Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari Languages, Levels, Virtual Machines A multilevel machine Contemporary Multilevel Machines A six-level

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Modulo 1: Le I.C.T. UD 1.4c: Il Processore

Modulo 1: Le I.C.T. UD 1.4c: Il Processore Modulo 1: Le I.C.T. : Il Processore Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno IL MICROPROCESSORE

Dettagli

UD 1.4c: Il Processore IL MICROPROCESSORE

UD 1.4c: Il Processore IL MICROPROCESSORE Modulo 1: Le I.C.T. : Il Processore IL MICROPROCESSORE Prof. Alberto Postiglione Curtin, 3.8-3.9 Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

Aumentare il parallelismo a livello di istruzione (1)

Aumentare il parallelismo a livello di istruzione (1) Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea di più istruzioni Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori

Dettagli

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del 24.02.2016 Cognome e nome: Matricola: 1. [7] Data la CPU N. 1, specificare il contenuto di tutte le linee (dati e controllo).

Dettagli

Pipeline Problemi 1. Pipeline Problemi 2

Pipeline Problemi 1. Pipeline Problemi 2 Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione

Dettagli

Compilatori e Livelli di Compilazione

Compilatori e Livelli di Compilazione Compilatori e Livelli di Compilazione Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi

Dettagli

Parte IV. Architettura della CPU Central Processing Unit

Parte IV. Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit 25/01/2010 Informatica Ingegneria Medica - Prof. Gregorio Cosentino 1 IV.1 Struttura della CPU All interno di un processore si identificano in genere

Dettagli

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 ARRAY PROCESSORS. ARCHITETTURE A PARALLELISMO MASSIVO ESEMPI In questa lezione vengono presentati alcuni esempi di architetture a parallelismo massivo. Si

Dettagli

HARDWARE 1.4a: (Processore)

HARDWARE 1.4a: (Processore) HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi

Dettagli

Esercitazione su Instruction Level Parallelism

Esercitazione su Instruction Level Parallelism Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

Parte IV. Architettura della CPU Central Processing Unit

Parte IV. Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit 12/11/2008 Fondamenti Informatica 2 - Prof. Gregorio Cosentino 1 IV.1 Struttura della CPU All interno di un processore si identificano in genere

Dettagli

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2 Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Parte VIII. Architetture Parallele

Parte VIII. Architetture Parallele Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni

Dettagli

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione

Dettagli

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

Dettagli

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:

Dettagli

Architettura hardware

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

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Architetture della memoria

Architetture della memoria Architetture della memoria Un elemento determinante per disegnare una applicazione parallela e' l architettura della memoria della macchina che abbiamo a disposizione. Rispetto all architettura della memoria

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

I multi processori. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

I multi processori. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano I multi processori Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Patterson, sezione 1.5, 1.6, 2.17, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6,

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

Dettagli

Macchine Programmabili

Macchine Programmabili Macchine di Calcolo Programmabili Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 Macchine Programmabili Systems -on-programmable Chip Systems -on-chip Reconfigurable Computing APPLICAZIONE

Dettagli

I THREAD O PROCESSI LEGGERI

I THREAD O PROCESSI LEGGERI I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori

SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori Classificazione di Flynn Architetture di processori SISD - Single Instruction Single Data Le istruzioni sono eseguite sequenzialmente su un solo insieme di dati Le macchine sequenziali comuni appartengono

Dettagli

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Esercitazione su Instruction Level Parallelism Salvatore Orlando Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

Blocchi di più parole

Blocchi di più parole Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:

Dettagli

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2016/2017 Eccetto dove diversamente specificato, i contenuti

Dettagli

Cicli di clock e istruzioni

Cicli di clock e istruzioni Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Tecniche di parallelismo, processori RISC

Tecniche di parallelismo, processori RISC Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC

Dettagli

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism Salvatore Orlando Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

Instruction Level Parallelism

Instruction Level Parallelism Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

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

ARCHITETTURE DEI CALCOLATORI Introduzione. Mariagiovanna Sami

ARCHITETTURE DEI CALCOLATORI Introduzione. Mariagiovanna Sami ARCHITETTURE DEI CALCOLATORI Introduzione Mariagiovanna Sami 1 Sistemi digitali: sessant anni anni di evoluzione Il PC che si compera oggi per 500 dollari è più potente, più veloce, dotato di maggiore

Dettagli

Microprocessori. F.Campi, A.Romani, F.Thei. Elettronica dei Sistemi Digitali LA AA MACCHINE PROGRAMMABILI - 1

Microprocessori. F.Campi, A.Romani, F.Thei. Elettronica dei Sistemi Digitali LA AA MACCHINE PROGRAMMABILI - 1 Microprocessori F.Campi, A.Romani, F.Thei Elettronica dei Sistemi Digitali LA AA 2009-2010 MACCHINE PROGRAMMABILI - 1 Systems-on-Programmable Chip (SOPC) Systems-on-Chip (SOC) Reconfigurable Computing

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2015/2016 Eccetto dove diversamente specificato, i contenuti

Dettagli

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

DIREZIONI FUTURE... 2 Introduzione... 2 Tassonomia dei calcolatori secondo Flynn... 2 Calcolatori SIMD... 3 Calcolatori MISD... 5 Calcolatori MIMD...

DIREZIONI FUTURE... 2 Introduzione... 2 Tassonomia dei calcolatori secondo Flynn... 2 Calcolatori SIMD... 3 Calcolatori MISD... 5 Calcolatori MIMD... Appunti di Calcolatori Elettronici Capitolo 10 Parallelismo nei calcolatori DIREZIOI FUTURE... 2 Introduzione... 2 Tassonomia dei calcolatori secondo Flynn... 2 Calcolatori SIMD... 3 Calcolatori MISD...

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

Architettura di un elaboratore

Architettura di un elaboratore Architettura di un elaboratore Ciclo fondamentale della macchina di Von Neumann Uno sguardo ai PC Oltre Von Neumann? Corso di Informatica 2007 3 - Architettura di un Elaboratore 1 La macchina di Von Neumann

Dettagli

Macchina di von Neumann. Architetture parallele. Cenni storici

Macchina di von Neumann. Architetture parallele. Cenni storici Architetture parallele Macchina di von Neumann Modello di calcolo: macchina di von Neumann. Control unit Arithmetic logic unit Input Output Limite alle prestazione ottenibili: un unica operazione in esecuzione

Dettagli

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

Dettagli

Università degli Studi di Padova

Università degli Studi di Padova Università degli Studi di Padova Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina di Laurea Triennale TECNICHE DI PARALLELISMO NELL HARDWARE Laureando: Filippo Longo Relatore: Sergio

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

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

Introduzione alle architetture parallele

Introduzione alle architetture parallele Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione alle architetture parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Parallelismo Il parallelismo

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

Architettura dei calcolatori

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

Dettagli

Prefazione Unit`a di misura xiii La memoria cache

Prefazione Unit`a di misura xiii La memoria cache Indice Prefazione Unità di misura xi xiii 1 La memoria cache 1 1.1 Tempo di accesso........................... 1 1.1.1 Funzionamento........................ 2 1.2 Organizzazione............................

Dettagli

Struttura hw del computer

Struttura hw del computer Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:

Dettagli

Instruction Level Parallelism (ILP) Dinamico (prima parte)

Instruction Level Parallelism (ILP) Dinamico (prima parte) Instruction Level Parallelism (ILP) Dinamico (prima parte) Introduzione all ILP Dipendenze e alee sui dati e sui nomi Scheduling dinamico della CPU Branch prediction Speculazione hardware Multiple issue

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come

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

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect) Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare

Dettagli

Hardware. Sommario. Architettura dei computer

Hardware. Sommario. Architettura dei computer Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la

Dettagli

Instruction Level Parallelism (ILP) Dinamico (prima parte)

Instruction Level Parallelism (ILP) Dinamico (prima parte) Instruction Level Parallelism (ILP) Dinamico (prima parte) Introduzione all ILP Dipendenze e alee sui dati e sui nomi Scheduling dinamico della CPU Branch prediction Speculazione hardware Multiple issue

Dettagli

Hardware. I parte. Sommario

Hardware. I parte. Sommario Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la

Dettagli