Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017
|
|
- Rosalia Molinari
- 6 anni fa
- Visualizzazioni
Transcript
1 Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto Alessandro Bruno
2 Introduzione al calcolo parallelo Approcci per il calcolo parallelo Programmazione per il calcolo parallelo Hardware Dedicato Sistemi per il calcolo parallelo
3 Introduzione al Calcolo Parallelo Implementazione di programmi in parallelo Ricerca Business I linguaggi di programmazione vengono definiti rispetto al livello di astrazione I linguaggi di programmazione di alto livello nascondono molti dettagli tecnici del sistema hardware utilizzato, semplificando lo sviluppo di programmi e permettendo la portabilità del software
4 Introduzione al Calcolo Parallelo I livelli astratti dei linguaggi di programmazione Livello 6 Utente Programmi Eseguibili Livello 6 Linguaggi Interpretati Matlab, Python, Livello 5 Linguaggi di alto livello C, Fortran, C++, Java, Livello 4 Linguaggi Assembly Assembly Livello 3 Software di sistema Sistema Operativo Livello 2 Macchina Seti di Istruzioni Livello 1 Controllo Microcode Livello 0 Digital Logic Circuiti, Porte Logiche
5 Introduzione al Calcolo Parallelo La programmazione di un algoritmo deve seguire un modello ben preciso. La scelta del modello dipende, principalmente, dal tipo di problema da gestire e dall architettura hardware della quale si dispone Per apprezzare al meglio i concetti di base della programmazione parallela bisogna prima riprendere alcuni concetti della programmazione classica
6 Introduzione al Calcolo Parallelo Calcolo Parallelo Alcuni dettagli della programmazione classica Classificazione delle architetture Organizzazione della Memoria Modelli di Programmazione Parallela Modelli di esecuzione dei programmi paralleli
7 Programmazione Classica Il principio di Località Secondo questo principio sono frequenti gli accessi in memoria tra dati che sono vicini La regola L 80% del tempo di esecuzione di un programma viene utilizzato per eseguire il 20% delle istruzioni del programma stesso Modularità del software I programmi vengono generalmente organizzati in moduli, ognuno responsabile di task diversi ed indipendenti
8 Programmazione Classica Gerarchia di Memoria Quando la CPU richiede alcune informazioni, il sistema comincia la ricerca dal livello gerarchico più alto Richiesta di dati Cache RAM cache miss page fault Hard disk found page1 page2 pagen found Store in cache found Store in RAM
9 Programmazione Classica Valutazione Performance Le performance di un computer non possono essere valutate solo analizzando la frequenza di clock della CPU Le istruzioni generalmente richiedono un numero variabile di cicli e le performance dipendono dal tipo di bus e dal tipo di tecnologia della memoria Nel contesto del calcolo scientifico, le performance vengono misurate in FLOPS (il numero di operazioni in floating point eseguite in un secondo)
10 Programmazione Classica Valutazione Performance I Flops vengono analizzati rispetto ad un particolare benchmark, un insieme di problemi complessi quali sistemi lineari e sistemi di equazioni differenziali Unità di Misura megaflops 10 6 gigaflops 10 9 teraflops petaflops n. flops Due benchmark molto utilizzati fanno ricorso alle librerie LINPACK e LAPACK
11 Calcolo Parallelo Programma i n i 2 i 1 CPU Programma i n i 2 i 1 CPU Programma i n i 2 i 1 CPU Il calcolo parallello rappresenta l evoluzione della computazione classica Un problema complesso va scomposto in sotto-problemi per poter essere gestito tramite il calcolo parallelo con le seguenti configurazioni Hardware Risorse Hardware: Multi-corecomputer. Computer single-core interconnessi. Computer multi-core interconnessi.
12 Calcolo Parallelo Grandi Problemi Computazionali Molti problemi complessi da un punto di vista computazionale sono presenti sia nel mondo della ricerca scientifica che nel campo applicativo. Questi problemi non possono essere risolti con un approccio seriale classico, a meno che non si è disposti ad aspettare anni per avere i risultati del calcolo Fisica Astronomia Biologia Data Mining Networking
13 Calcolo Parallelo Ragioni Economiche I cosiddetti Super Computer sono sicuramente più costosi rispetto a molti computer economici Ci sono limitazioni fisiche per la progettazione di Super Computer Utilizzo di macchine in remoto tramite WAN su Internet Limitazioni di Memoria Molti problemi richiedono l elaborazione di grandi moli di dati che non possono essere elaborati e memorizzati in un singolo computer
14 Calcolo Parallelo - Architetture Le architetture di reti di calcolo vengono classificate rispetto al numero di istruzioni e di flusso di dati che possono essere gestite dalla rete stessa in modo concorrente. Questa classificazione è stata proposta nel 1969 da Flynn SISD Singola Istruzione su Dati Singoli SIMD Singola Istruzione su Molti Dati Tassonomia di Flynn MISD Molte Istruzioni su Dati Singoli MIMD Molte Istruzioni su Molti Dati
15 Calcolo Parallelo - Architetture SISD Singola Istruzione su Dati Singoli Data Instruction CPU Singola Istruzione Viene eseguito un solo flusso di istruzioni Dati Singoli Viene elaborato solo un datastream Esecuzione Seriale del programma Utilizzato in Workstation Commerciali
16 Calcolo Parallelo - Architetture SIMD Singola Istruzione su Dati Multipli Data 1 Data n unit Instruction unit Controller Node Singola Istruzione Viene eseguito un solo flusso di istruzioni Dati Multipli Vengono elaborati diversi flussi di dati Esecuzione Sincrona. Il controller esegue una istruzione su diverse unità di calcolo Esempio: Array Processors
17 Calcolo Parallelo - Architetture MISD Molte Istruzioni su Dati Singoli Data Instruction 1 Data Instruction 2 CP U CP U Molte Istruzioni Diversi flussi di istruzioni Dati Singoli Viene elaborato solo un datastream Esecuzione Asincrona. Ogni processore segue la sua istruzione e attinge ad un proprio datastream
18 Calcolo Parallelo - Architetture MIMD Molte Istruzioni su Molti Dati Data 1 Instruction 1 Data 2 Instruction 2 CP U CP U MIMD Molte Istruzioni Molti Dati Molte Istruzioni Vengono eseguiti diversi flussi di istruzioni Molti Dati Vengono elaborati diversi datastream Architettura ampiamente utilizzata nei sistemi recenti Esecuzione Asincrona
19 Calcolo Parallelo - Architetture I sistemi di calcolo parallelo possono essere classificati anche rispetto alla architettura di Memoria Rispetto all'architettura di memoria, i sistemi di calcolo parallelo possono essere classificati secondo le seguenti classi: Memoria Condivisa Memoria Distribuita Sistema Ibrido
20 Calcolo Parallelo - Architetture Architettura a Memoria Condivisa La stessa memoria è accessibile da parte di tutti i processori le operazioni effettuate da un processore sono visibili a tutti gli altri i processori del sistema i processori scambiano dati attraverso la memoria gli accessi alla memoria devono essere gestiti e sincronizzati dal programmatore CPU CPU Memoria CPU CPU
21 Calcolo Parallelo - Architetture Architetture a Memoria Condivisa Classi di Architetture a Memoria Condivisa: - Uniform Memory Access (UMA) Il tempo di accesso alla memoria è uguale per tutti i processori Se i riferimenti alla memoria sono coerenti tra tutte le cache delle CPU allora si è in presenza di cache coherent UMA (CC-UMA) - Non-Uniform Memory Access (NUMA) Il tempo di accesso può essere diverso per alcune parti di memoria del sistema. Se la coerenza tra le cache delle varie CPU è mantenuto, allora si è in presenza di una CC-NUMA
22 Calcolo Parallelo - Architetture Architettura a Memoria Condivisa Vantaggi Spazio degli indirizzi Globale Scambio dati Veloce Svantaggi Bassa Scalabilità. Il costo dell'hardware e la complessità della coerenza della cache aumentano quando si aggiungono ulteriori CPU al sistema stesso
23 Calcolo Parallelo - Architetture Architettura a Memoria Distribuita Memoria CPU Ogni processore ha il suo spazio di memoria, le modifiche della memoria sono visibili solo localmente Memoria Memoria CPU CPU I processori scambiano dati e informazioni solo tramite la rete Lo scambio di dati tra i processori viene gestito direttamente dal programmatore I processori possono scambiare dati utilizzando diverse tecnologie (Gigabit, Infiniband, Myrinet, ecc.)
24 Calcolo Parallelo - Architetture Architettura a Memoria Distribuita Vantaggi Alta scalabilità. La memoria disponibile aumenta con l'aumentare del numero di CPU Nessuna presenza di Overhead di Cache Coherency Costi Contenuti. Computer economici possono essere facilmente collegati in network per il calcolo parallelo Svantaggi Partizionamento dei dati
25 Calcolo Parallelo Modelli di Programmazione Modelli di programmazione parallela I modelli di programmazione del calcolo parallelo riflettono, per così dire, l architettura di memoria del sistema I modelli di programmazione nel calcolo parallelo sono: Shared Memory (Memoria Condivisa) Message Passing (Trasmissione Messaggi) Data Parallel (Dati in Parallelo)
26 Calcolo Parallelo Modelli di Programmazione Modello di programmazione Shared Memory ( Memoria Condivisa) Utilizzato, di norma, nei sistemi a memoria condivisa I processori possono avere anche in locale il loro spazio di memoria (hybrid systems) Strumenti software speciali, come i Semafori e i Monitor, vengono utilizzati per gestire la coerenza delle locazioni di memoria e la sincronizzazione degli accessi alla memoria. Una soluzione Open Source per la programmazione a memoria condivisa è rappresentata da OpenMP
27 Calcolo Parallelo Modelli di Programmazione Modello di Programmazione Message Passing Utilizzato generalmente nei sistemi a memoria distribuita Ogni processore dell'architettura può comunicare con gli altri utilizzando scambio di messaggi rispetto alla architettura di rete Il programmatore deve esplicitamente gestire l'invio di messaggi tra i processori e specificare anche il tipo di dati che si intende inviare Le specifiche API del modello di programmazione MPI vengono utilizzate per gestire questo tipo di comunicazione fra processori
28 Calcolo Parallelo Modelli di Programmazione Modello di Programmazione di Elaborazione Dati in Parallelo Data 1 Data 2 Data 1 Program Data 2 Program CPU CPU I dati vengono divisi in chunk, ogni chunk viene processato da un processore, all'interno dello stesso programma I dati possono essere divisi offline e distribuiti dinamicamente tramite il paradigma MP. I dati, nella loro interezza, possono essere salvati nella memoria condivisa
29 Calcolo Parallelo Modelli di Esecuzione I programmi in parallelo possono essere eseguiti utilizzando due modalità: SPMD: Singolo Programma Molti Dati MPMD: Molti programmi Molti Dati Entrambi i modelli di esecuzione lavorano con modelli di programmazione differenti N.B. Singolo programma non significa Singola Istruzione...
30 Calcolo Parallelo Modelli di Esecuzione Modello di Esecuzione SPMD Ogni machina esegue lo stesso programma Ogni processore lavora su un datastream differente I programmi possono essere implementati in modo tale che ogni processore esegua solo un certo set di istruzioni Se sono il processore i { Eseguo istruzioni }
31 Calcolo Parallelo Modelli di Esecuzione Modello di Esecuzione MPMD La modalità MPMD prevede l'esecuzione di diversi programmi Ogni processore può eseguire un singolo programma, ma lo stesso programma può essere eseguito da diversi processori Ogni processore può lavorare su diversi dati
32 Calcolo Parallelo Modalità di Esecuzione SPMD on-line con MATLAB Per provare la modalità SPMD con MATLAB si digiti il comando >> pmode >>pmode start local 2 La modalità di lavoro pmode mostra l'esecuzione su ogni worker coinvolto nel cluster locale un worker è un motore di esecuzione in background su una workstation o su un cluster un cluster è un insieme di più unità di calcolo (più processori o più computer interconnessi)
33 Calcolo Parallelo Modalità di Esecuzione Matlab utilizza l'ambiente parallelo gestibile tramite le variabili labindex e numlabs P>> numlabs P>> labindex P>> vara P>> vara = magic(5) P>> if labindex > 1, varb=magic(3), end
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
DettagliIntroduzione 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
DettagliModelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
DettagliIntroduzione 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
DettagliClassificazione 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
DettagliMPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994
MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi
DettagliIntroduzione 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
DettagliSistemi 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
DettagliCALCOLO 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
DettagliIBM 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
DettagliSISD - 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
DettagliParte 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
DettagliCosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)
Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 1^ parte Cosa è Arduino? Arduino è una piattaforma di sviluppo open-source basata su una semplice scheda
DettagliArchitetture Applicative Altri Esempi
Architetture Applicative Altri Esempi Alessandro Martinelli alessandro.martinelli@unipv.it 15 Aprile 2014 Architetture Applicative Altri Esempi di Architetture Applicative Architetture con più Applicazioni
DettagliChe cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
DettagliCome aumentare le prestazioni Cenni alle architetture avanzate
Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture avanzate Mariagiovanna Sami Richiamo: CPI CPI = (cicli di clock della CPU richiesti dall esecuzione di un programma)/ numero
DettagliCome 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
DettagliARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni)
ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni) Michele Colajanni Università di Modena e Reggio Emilia E-mail: colajanni@unimo.it Perché le Architetture Multiprocessor?
DettagliPARTE II PROGRAMMAZIONE PARALLELA
PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliInformatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
DettagliArchitettura 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
DettagliInformatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione
Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili
DettagliINFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
DettagliINGEGNERIA 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
DettagliIl 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
DettagliG L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi
G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:
DettagliCaratteristiche di un PC
Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliCLASSIFICAZIONE 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.
DettagliCalcolo PI. Per n = 10 vedi la figura: Provate ad implementarlo
Calcolo di PI Calcolo PI Per n = 10 vedi la figura: Provate ad implementarlo Calcolo PI int n, i; double d, s, x, pi; n = NUMOFP; d = 1.0/n; s = 0.0; for (i=1; i
DettagliIl 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
DettagliIl 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
DettagliTecnologie dei Sistemi di Automazione
Facoltà di Ingegneria Tecnologie dei Sistemi di Automazione Prof. Gianmaria De Tommasi Lezione 2 Architetture dei dispositivi di controllo e Dispositivi di controllo specializzati Corso di Laurea Codice
DettagliFondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliArchitettura 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
DettagliArchitettura degli Elaboratori - 1
Architettura degli Elaboratori - 1 Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Obiettivi del Corso Descrizione dell architettura
DettagliArchitettura 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
DettagliComponenti 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
DettagliArchitettura 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ò
DettagliLinguaggi di programmazione. Paradigmi di programmazione
Linguaggi di programmazione Paradigmi di programmazione Linguaggi: un po di storia Albori: Macchine a programma memorizzato, Programmi come dati Linguaggio Macchina Assemblatore FORTRAN (calcolo scientifico)
DettagliLinee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24
DettagliIntroduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
DettagliArchitettura 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
DettagliObiettivo. Un overview sul Calcolo Parallelo. Corso di Calcolo Parallelo. Informazioni. Laura Antonelli
Obiettivo Corso di Calcolo Parallelo Laura Antonelli Studio di: metodologie e algoritmi supportati da strumenti software e hardware per la risoluzione computazionale di un problema mediante un calcolatore
DettagliIntroduzione. 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...
DettagliIl modello di von Neumann
1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue
DettagliCenni sulla virtualizzazione
Astrazione Cenni sulla virtualizzazione Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti Tullio Vardanega Nascondere dettagli dell implementazione per semplificare la vista logica dell utente
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliSistemi 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:
DettagliIntroduzione. 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:
DettagliGenerated by Foxit PDF Creator Foxit Software For evaluation only. Il Computer
Il Computer Corso T.I.C. Introduzione all informatica a cura di R. Ugolotti Sommario Tipi di Computer Classificazione Modello di Von Neumann Hardware: CPU Memoria Scheda Madre Porte Periferiche I/O Classificazione:
DettagliArchitettura dei Calcolatori Elettronici
Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore
DettagliArchitettura dei calcolatori e Software di sistema
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103
DettagliInformatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia
Informatica A.A. 2006/2007 CdL in Matematica e CdL Matematica per le Applicazioni Università degli Studi di Catania Giuseppe Nicosia www.dmi.unict.it/~nicosia Elementi Fondamentali di un Calcolatore Il
DettagliTraduzione e interpretazione
Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliColloquio di informatica (5 crediti)
Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in Scienze Ambientali A.A. 2013-2014 - II semestre Colloquio di informatica (5 crediti) Prof. Pier Giorgio
DettagliArchitettura 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
DettagliIntroduzione al funzionamento di un calcolatore elettronico
1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/30
DettagliCalcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi
Calcolo parallelo Ci sono problemi di fisica, come le previsioni meteorologiche o alcune applicazioni grafiche, che richiedono un enorme potenza di calcolo Una sola CPU (o un solo core), per quanto potenti,
DettagliProgramma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3M - indirizzo MERCURIO A.S. 2010/2011 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
DettagliLe reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DettagliArchitettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi
DettagliLezione 15 Il Set di Istruzioni (1)
Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
DettagliApplicazioni e Sicurezza
Applicazioni e Sicurezza 1. Illustrare l architettura dei sistemi distribuiti, dettagliando in particolare: a) il ruolo del middleware b) il concetto di oggetto c) il concetto di servizi Fornire esempi.
DettagliCompilatori 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
DettagliEsame di INFORMATICA Lezione 4
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite
DettagliCompilatori 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
DettagliUniversità degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Sistema distribuito: composto da un insieme di processi in esecuzione su più nodi del sistema I processi
DettagliScuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 L.1.2. Introduzione a MATLAB e Strutture Dati www.u4learn.it Alessandro Bruno Programmazione Parallela in MATLAB Client,
DettagliIl 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
DettagliINFORMATICA. GRUPPO: Sara Chiesa, Stefania Castiglioni, Lorenzo D'Agostino
INFORMATICA GRUPPO: Sara Chiesa, Stefania Castiglioni, Lorenzo D'Agostino INDICE - Informatica - Sistemi di elaborazione - Hardware - Elaboratore - Componenti hardware - Periferiche - Tipi di computer
DettagliARCHITETTURA 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
DettagliIntroduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
DettagliSistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15
Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:
DettagliAppunti del corso Informatica di base Lezione del 20 Feb. 2017
Autori: Francioso Maria Pellicani Francesca Appunti del corso Informatica di base Lezione del 20 Feb. 2017 Cos è l informatica? L informatica è lo studio teorico dell informazione, della computazione e
DettagliIntroduzione alle reti per il controllo di processo
Introduzione alle reti per il controllo di processo Davide Quaglia Electronic Systems Design Group Università di Verona Seminari Distretti Produttivi, Verona, 27 Maggio 2008 3 Giornata della Sintesi Log
DettagliArchitettura 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
DettagliElementi 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
Dettagli1.4a: Hardware (Processore) Bibliografia. L unità centrale di elaborazione (CPU)
Prof. Alberto Postiglione Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Hardware (Processore) Informatica Generale (Laurea in Scienze della Comunicazione)
DettagliIl Sistema Operativo Concorrenza e Grafi di precedenza
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Elaborazione concorrente Elaborazione sequenziale Elaborazione concorrente Elaborazione parallela Grafi di Precedenza Grafi di
DettagliLEZIONE 4. Hardware (periferiche) Software (algoritmi)
LEZIONE 4 Hardware (periferiche) Software (algoritmi) Prof. Valle Prof. Folgieri Lez4 Hardware e Software 1 PERIFERICHE DI INPUT E DI OUTPUT Periferiche di INPUT: Tastiera Mouse Trackball, touch pad, joystick
DettagliElementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it
DettagliCriteri 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à
DettagliArchitettura di von Neumann
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Architettura di von Neumann Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliArchitettura di von Neumann
Fondamenti di Informatica per la Sicurezza a.a. 2007/08 Architettura di von Neumann Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliProgettazione curricolo verticale percorso formativo per Unità di Apprendimento (UDA)
Progettazione curricolo verticale percorso formativo per Unità di Apprendimento (UDA) Dipartimento di Informatica e Telecomunicazioni Articolazione Telecomunicazioni L asse scientifico-tecnologico Allegato1
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliMacchina di Riferimento: argomenti
Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura
DettagliCome funzionano i computer
Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione
DettagliElementi base di un calcolatore
Elementi base di un calcolatore Obiettivo: introdurre un po di terminologia Hardware e Software: Prima scomposizione di un sistema informatico Hardware: componenti fisici del sistema Software: i programmi
Dettagli