Le prestazioni di un sistema informatico
|
|
- Caterina Calabrese
- 8 anni fa
- Visualizzazioni
Transcript
1 Le prestazioni di un sistema informatico - Dal punto di vista dell'utente finale, un calcolatore è più veloce di un altro se esegue lo stesso compito in un tempo inferiore. - Il direttore di un centro di calcolo ha invece un'opinione diversa, legata alla sua esigenza di soddisfare un gran numero di utenti; per lui il sistema più veloce è quello che completa il maggior numero di lavori in un intervallo di tempo definito, per esempio in un'ora. - Si può quindi affermare che l'utente è interessato alla riduzione del tempo di risposta (spesso indicato anche con i termini di tempo di esecuzione o di!atenza), ossia il tempo che trascorre tra l'inizio di un compito e il suo completamento. - Il direttore di un centro di calcolo, invece, è interessato a un parametro più complessivo: la quantità di lavoro svolto in un dato tempo, misurato spesso con il termine inglese di throughput. Prestazioni (I) - Le prestazioni di un calcolatore si valutano dunque tipicamente in riferimento a durate temporali: il calcolatore che svolge la stessa quantità di lavoro nel minor tempo è più veloce. - Occorre allora stabilire come, in questo contesto, misurare gli intervalli di tempo. - Le due modalità che meglio si adattano ai punti di vista presentati in precedenza, quello dell'utente e quello del direttore del centro di calcolo, sono l elapsed time ed il CPU time. 1
2 Prestazioni (II) - Si può misurare il tempo complessivo (detto in genere e!apsed time) che trascorre tra l'inizio e la fine dell'esecuzione del compito. - Tempo che comprende gli accessi ai dischi, gli accessi alla memoria, le attività di ingresso/ uscita, il sovraccarico di lavoro dovuto alla presenza del sistema operativo, nonché l'esecuzione di altri processi attivi concorrentemente con quello in esame. - Si può misurare il tempo effettivo di elaborazione dedicato dalla CPU allo svolgimento del compito, detto in genere tempo di CPU (CPU time), che non comprende i tempi di attesa dovuti alle operazioni di ingresso/uscita e all'esecuzione di altri processi. Elapsed vs. CPU time - Dal punto di vista dell'utente, ogni ostacolo alla rapida esecuzione del processo sotto esame è rilevante: - come parametro di valutazione delle prestazioni si considera quindi il tempo complessivo di esecuzione del processo. - Per il gestore di un centro di calcolo, invece, il valore importante è il tempo di CPU, - che descrive quanto ogni processo tiene occupato il processore che lo esegue. - Infatti, ipotizzando che il calcolatore in esame esegua più processi contemporaneamente, se si sostituisce il processo che si pone in attesa con un altro pronto per l'esecuzione, anche nei tempi morti di un processo la CPU non rimane inattiva ma esegue appunto altri processi. 2
3 I parametri che influenzano il tempo di CPU (I) - Il tempo di CPU di un processo (t CPU ) può essere espresso dal prodotto del numero di cicli di clock n CK necessari per il completamento del processo stesso per il periodo di clock T CK : t CPU = n CK x T CK Se, invece del periodo, si vuole considerare il suo inverso: la frequenza di clock f CK, che viene misurata in megahertz, si ottiene: t CPU = n CK / f CK I parametri che influenzano il tempo di CPU (II) - Parametro interessante è il numero n i di istruzioni eseguite. - Dividendo il numero dei cicli di clock per il numero delle istruzioni si ricava il numero medio di cicli di clock richiesti per eseguire un'istruzione (CPI), secondo la relazione: CPI = n CK / n i. - Il valore di CPI può anche essere ricavato da un'analisi statistica del comportamento di diversi programmi, per poi essere utilizzato per ricavare il tempo di CPU di un certo processo, dato il numero delle corrispondenti istruzioni da eseguire. - Infatti n CK = CPI x n i può essere sostituito nell'espressione del tempo di CPU: t CPU = CPI x n i x T CK oppure anche t CPU = CPI x n i / f CK 3
4 Velocità di esecuzione - La velocità di esecuzione dipende essenzialmente da tre fattori: 1- la frequenza di clock alla quale funziona la CPU; 2- il numero dei cicli di clock necessari in media per completare un'istruzione; 3- il numero delle istruzioni macchina che devono essere eseguite per completare un processo. CISC - Nella scelta dell'insieme delle istruzioni sono contrapposte due diverse filosofie di progettazione: - ClSC (Complex Instruction Set Computer) e - RISC (Reduced Instruction Set Computer). - La progettazione delle CPU CISC è basata sull'idea di realizzare a livello hardware funzioni sempre più complesse, in modo che il processore sia in grado di eseguirle direttamente. - Questo si riflette nella scelta di istruzioni macchina compiesse, - che possono richiedere anche un elevato numero di cicli di clock per essere eseguite ma che dovrebbero consentire di ridurre il numero di istruzioni richieste per il completamento dell'esecuzione di un programma. 4
5 RISC (I) - La dimensione del programma eseguibile e quindi il numero delle istruzioni da cui è costituito, dipende dall'abilità del compilatore che viene utilizzato - per tradurre in linguaggio macchina il codice scritto in un linguaggio di programmazione di alto livello. - Varie analisi hanno dimostrato che anche i migliori compilatori non erano in grado di sfruttare efficacemente un insieme di istruzioni complesse, e ne utilizzavano solo un sottoinsieme ridotto. -Da ciò ha preso spunto l'approccio RISC, basato sull'idea di rendere molto semplici le istruzioni riconosciute dalla CPU, e di inserire nell'insieme di tal istruzioni solo quelle che i compilatori riescono a utilizzare facilmente. RISC (II) - Si possono così realizzare CPU capaci d eseguire le istruzioni a velocità elevate, riducendo il loro periodo di clock. - Nel progettare una CPU RISC si cerca di ridurre la complessità dell'insieme delle istruzioni per ottenere un basso valore di CPI e una elevata frequenza di clock, - compensando in questo modo il grande numero di istruzioni necessarie per completare un processo. - Le architetture RISC hanno avuto un grande successo nei primi anni novanta, ma non sono riuscite a soppiantare le CPU CISC nel settore dei personal computer, - dove il livello delle prestazioni non sempre viene considerato come il principale criterio di scelta tra diversi calcolatori. - In questo settore, infatti, prevalgono motivazioni diverse, come la compatibilità con il software già installato e la diffusione di programmi applicativi. 5
6 CRISC - Nella loro evoluzione, le CPU CISC hanno inoltre fatto propri alcuni dei principi che hanno ispirato le architetture RISC, - portando alla realizzazione di architetture miste (dette anche CRISC). - Obiettivo di queste CPU è di bilanciare la complessità dell'insieme delle istruzioni con la velocità di esecuzione, garantendo in ogni caso la compatibilità con le versioni precedenti rispetto all'insieme delle istruzioni eseguibili. -La ricerca nel settore dei compilatori ha consentito poi di migliorare l'utilizzo delle istruzioni più complesse e di sfruttare sempre più le unità funzionali complesse inserite nelle CPU CISC. Altri indicatori di prestazioni - Un primo indice di prestazioni si ottiene misurando il numero di istruzioni in linguaggio macchina che la CPU può eseguire in un secondo. - Tale indice è detto MIPS (Mega Instructions Per Second) si ottiene per un certo programma dall espressione: MIPS = n i / t CPU x 10-6, che può essere riscritta anche come MIPS = f CK / CPI x Il valore espresso dai MIPS rappresenta quindi la frequenza di esecuzione delle istruzioni, e quanto più veloce è il calcolatore tanto più elevato è tale valore. 6
7 I MIPS sono a volte poco affidabili (I) - I MIPS dipendono dall'insieme delle istruzioni macchina: - istruzioni più semplici corrispondono a valori più elevati. - Per questo motivo non è significativo utilizzare i MIPS per confrontare calcolatori caratterizzati da diversi insiemi di istruzioni. - I MIPS misurati per uno stesso calcolatore variano a seconda del programma considerato. - Infatti, il numero delle istruzioni eseguite in un secondo dipende da quali istruzioni vengono eseguite: - quelle più semplici richiedono meno tempo di quelle complesse. - Cambiando il programma varia anche l'insieme delle istruzioni da eseguire e quindi il valore di MIPS. I MIPS sono a volte poco affidabili (II) - In certe condizioni i MIPS possono variare in maniera inversamente proporzionale alle prestazioni. - Si consideri il caso di un calcolatore dotato di un coprocessore opzionale per le operazioni in virgola mobile. - In assenza del coprocessore, tali operazioni vengono tradotte, con l'intervento di opportune librerie software, in una serie, anche molto lunga, di istruzioni più semplici. - Tante operazioni semplici consentono quindi di ottenere un numero di MIPS elevato. - Quando invece si utilizza il coprocessore, le operazioni in virgola mobile vengono eseguite direttamente in hardware, anche se le istruzioni macchina richiedono un numero di cicli di clock superiore alla media delle semplici operazioni comprese nella libreria software. - L'effetto finale è che si usano molte meno istruzioni, più complesse di quelle usate prima e questo si traduce un valore di MIPS ridotto, anche se il tempo complessivo di esecuzione è inferiore. 7
8 MegaFLOPS - Un secondo indice alternativo al tempo di esecuzione si basa sul numero di operazioni (e non istruzioni) in virgola mobile eseguite in un secondo, - indicato dall' acronimo FLOPS, che sta per FLoating point Operation Per Second. - Anche in questo caso, per trattare con numeri ragionevoli, si considerano i milioni di operazioni (MegaFLOPS, ovvero MFLOPS) piuttosto che le singole operazioni. - La formula utilizzata per calcolare i MFLOPS si ottiene direttamente dalla definizione: MFLOPS = n FLOP / t CPU x 10-6 dove n FLOP indica il numero delle operazioni in virgola mobile (FLOP) svolte dal processo sotto esame. I MegaFLOPS sono a volte poco affidabili (I) - Esistono intere categorie di programmi che praticamente non effettuano operazioni in virgola mobile (un tipico esempio è rappresentato dai compilatori), - quindi applicando i MFLOPS al di fuori del loro ambito si possono ricavare indicazioni fuorvianti. - Inoltre, la scelta di riferirsi a operazioni piuttosto che a istruzioni non risolve effettivamente il problema evidenziato a proposito dei MIPS: - l'ipotesi che uno stesso programma, funzionando su diversi calcolatori, esegua eventualmente un diverso numero di istruzioni ma lo stesso numero di operazioni in virgola mobile non è in generale corretta. 8
9 Incrementare le prestazioni con il parallelismo -La frequenza di clock influenza direttamente il tempo di ciclo del data path e quindi le prestazioni di un calcolatore; - è limitata dalla tecnologia disponibile. - Il parallelismo permette di migliorare le prestazioni senza modificare la frequenza di clock. - Esistono due forme di parallelismo: - parallelismo a livello delle istruzioni (architetture pipeline o architetture superscalari); - parallelismo a livello di processori (Array computer, multiprocessori o multicomputer). Architettura pipeline - Organizzazione della CPU come una catena di montaggio : - la CPU viene suddivisa in stadi, ognuno dedicato all esecuzione di un compito specifico; - l esecuzione di un istruzione richiede il passaggio attraverso (tutti o quasi tutti) gli stadi della pipeline; - in un determinato istante, ogni stadio esegue la parte di sua competenza di una istruzione; - in un determinato istante, esistono diverse istruzioni contemporaneamente in esecuzione, una per ogni stadio. 9
10 Introduzione alle pipeline (I) - Il pipelining è una tecnica di realizzazione in cui si sovrappone l' esecuzione di più istruzioni. - Oggi il pipelining è la chiave per rendere veloci i processori. - Una pipeline è come una catena di montaggio: in entrambe ciascun passo completa una parte del lavoro complessivo. - In una catena di montaggio ben bilanciata, una nuova automobile esce dalla catena nel tempo medio che serve per svolgere una delle fasi della lavorazione. - La catena di montaggio non riduce il tempo di realizzazione di una singola automobile, essa aumenta il numero di automobili che vengono costruite in una certa unità di tempo - la frequenza con cui le automobili vengono completate. Introduzione alle pipeline (II) -Come in una catena di montaggio, il lavoro che deve essere fatto in una pipeline da un'istruzione è spezzato in piccole parti - ciascuna delle quali richiede una frazione del tempo necessario al completamento dell 'intera istruzione. -Ciascuno di tali passi è chiamato stadio o segmento di pipeline. -Gli stadi, nel loro insieme, costituiscono la pipeline: - le istruzioni entrano da una estremità, vengono elaborate attraverso gli stadi, escono dall'altro estremo. 10
11 Introduzione alle pipeline (III) -Il pipelining non riduce il tempo necessario al completamento di una singola istruzione. -Questa tecnica accresce il numero di istruzioni eseguibili simultaneamente e la frequenza con cui le istruzioni vengono completate: - cioe incrementa la frequenza di operazione (throughput) delle istruzioni più che migliorare il tempo di esecuzione della singola istruzione. -Le pipeline prevedono quindi la sovrapposizione temporale dell esecuzione di diverse istruzioni. Introduzione alle pipeline (IV) -La frequenza di operazione di una catena di montaggio di automobili è determinata dalla frequenza con cui le automobili escono dalla catena. -La frequenza di operazione di una pipeline è determinata dalla frequenza di uscita delle istruzioni. -Gli stadi di pipeline sono collegati in successione, devono tutti operare in modo sincrono: - la frequenza con cui le istruzioni escono dalla pipeline non può superare quella con cui entrano nella pipeline. 11
12 Introduzione alle pipeline (V) -Il tempo necessario per far avanzare un'istruzione di un passo lungo la pipeline corrisponde idealmente a un ciclo di clock. -Poiché tutti gli stadi devono operare in modo sincrono, la durata di un ciclo di clock è determinata dal tempo richiesto dallo stadio più lento della pipeline. -L'obbiettivo dei progettisti è bilanciare la lunghezza di ciascuno stadio. -Se ciò non avviene, si crea un tempo d'attesa tra uno stadio e l'altro. Un semplice esempio - Se ipotizziamo che nella nostra unità di calcolo multiplatori, unità di controllo, accessi al PC e l unità di estensione in segno non abbiano ritardi, il tempo necessario per eseguire un istruzione potrebbe essere: 12
13 Un semplice esempio (II) - Supponiamo di avere una sequenza di tre istruzioni di caricamento (lw). - Il tempo che intercorre tra la 1 e la 4 istruzione sarà 3x40 = 120 ns. Un semplice esempio (III) - Una sequenza di istruzioni di caricamento, nella realizzazione con pipeline diventa allora: 13
14 Un semplice esempio (IV) -Il tempo che intercorre tra la 1 e la 4 istruzione sarà 70 ns. -Se però aggiungiamo 1000 istruzioni simili, il tempo di esecuzione diventa 1000 x 10 ns + 70 ns = ns. -Nell esempio senza pipeline invece avremmo 1000 x ns = ns. -Quindi in questo esempio il pipelining migliora la frequenza di operazione delle istruzioni, pur peggiorando il tempo di esecuzione della singola istruzione. -E interessante notare che rispetto ad altre tecniche di accelerazione dell esecuzione, il pipelining ha il vantaggio di essere invisibile agli occhi del programmatore, - che non nota cambiamenti nel comportamento dell esecutore Evoluzione: superpipelining - Per aumentare la frequenza a cui può funzionare un processore si può aumentare il numero di stadi della pipeline (Superpipeline) idea generale: la frammentazione ulteriore della pipeline in più stadi rende i singoli stadi più elementari e quindi i segnali possono attraversarli più velocemente (meno ritardi di propagazione dovuti alla semplificazione dei circuiti) estremizzazione del principio della pipeline Pentium 4 Prescott: 31 stadi anche il cambio di tecnologia permette fisicamente un aumento della frequenza di funzionamento 14
15 Evoluzione: superscalarità (I) - Vista la disponibilità di un maggior numero di transistor si inseriscono più pipeline nella stessa CPU aumenta il parallelismo perché è possibile eseguire contemporaneamente diversi flussi di istruzioni; è necessario garantire che non ci siano conflitti tra le istruzioni che vengono eseguite insieme e che l ordine di esecuzione sia tale da massimizzare l uso delle unità funzionali; di solito il controllo è affidato al compilatore Evoluzione: superscalarità (II) 15
16 Superscalarità e unità replicate (I) Inoltre in congiunzione all uso di più pipeline si possono replicare le unità funzionali rappresentano lo stadio più lento della pipeline (in genere richiedono diversi cicli di clock) unità funzionali specializzate o pipeline specializzate è più semplice evitare i conflitti tra le diverse istruzioni esecuzione fuori ordine Evoluzione: hyperthreading - Per ottimizzare lo sfruttamento delle unità funzionali di un processore superscalare posso eseguire più flussi di esecuzione in contemporanea le istruzioni di un flusso di esecuzione sono per forza di cose condizionate l una dall altra in quanto successione logica, quindi è difficile utilizzare tutte le unità o che non si verifichino mai blocchi a causa di interdipendenze idea: duplicare l unità di controllo del processore per poter gestire un secondo flusso di esecuzione dello stesso programma (non ci può essere cambio di contesto) che vada a occupare gli stadi liberi o alimenti la pipeline durante i blocchi (piccolo miglioramento di prestazioni) necessario il supporto software ai flussi multipli di esecuzione (thread) più propriamente detto simultaneous multithreading (hyperthreading è un nome commerciale) 16
17 Evoluzione: multicore Il miglioramento tecnologico permette di aumentare la densità dei transistor idea: anziché complicare un processore o aumentare la frequenza per ottenere maggiori prestazioni, posso integrarne insieme più d uno in un componente fisico detto package vengono integrati più componenti logici detti core (che quindi sono progettati in modo integrato) che possono eseguire più flussi di elaborazione assolutamente indipendenti a una certa frequenza si può ottenere lo stesso livello di prestazioni di un processore a core singolo con frequenza molto più elevata (quindi che costa, assorbe e scalda di più) non si complica eccessivamente la scheda madre Architetture multiprocessore (I) - Sin dagli inizi l industria dei computer è stata guidata dalla continua ricerca di una sempre maggiore potenza di calcolo. - In passato la soluzione consisteva sempre nell aumentare la velocità del clock: - Limiti strutturali: Velocità della luce. Dispersione del calore. - Possibile soluzione: Impiego di computer massicciamente paralleli. Tali macchine si compongono di molte CPU. Collettivamente hanno una potenza ben maggiore di quella di una singola CPU. 17
18 Architetture multiprocessore (II) - I multiprocessori a memoria condivisa sono sistemi di computer in cui due o più CPU condividono il pieno accesso ad una RAM comune. -Sono denominati Shared-memory MultiProcessor (SMP) CPU CPU Memoria Condivisa Architetture multiprocessore (III) -Ogni CPU ha eguale possibilità di accedere alla memoria fisica: - di solito in ns - Ogni CPU può leggere e scrivere parole singole: - tramite LOAD e STORE Diverse CPU condividono una memoria comune: -le CPU debbono coordinarsi per accedere alla memoria; -esistono diversi schemi di collegamento tra CPU e memoria - quello più semplice prevede che ci sia un bus condiviso; - se i processori sono veloci il bus diventa un collo di bottiglia; - esistono soluzioni che permettono di migliorarne le prestazioni, ma si adattano a sistemi con un numero limitato di CPU (<20). - La memoria condivisa rende più semplice il modello di programmazione: - si deve parallelizzare l algoritmo, ma si può trascurare la parallelizzazione dei dati. 18
19 Architetture multicomputer - Sistemi composti da tanti calcolatori collegati fra loro ogni calcolatore è dotato di una memoria privata e non c è memoria in comune; comunicazione tra CPU basata su scambio di messaggi; uso di reti di calcolatori (spesso con tecnologie specializzate). - Non è efficiente collegare ogni calcolatore a tutti gli altri, quindi vengono usate topologie particolari: griglie a 2/3 dimensioni, alberi e anelli; i messaggi, per andare da fonte a destinazione, spesso devono passare da uno o più calcolatori intermedi o switch. Tempi di trasferimento dei messaggi dell ordine di alcuni microsecondi sono comunque facilmente ottenibili. - Sono stati costruiti multicalcolatori con ~ CPU. 19
CPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
DettagliValutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
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...
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
DettagliLa 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
DettagliPrestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell
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
DettagliPiù processori uguale più velocità?
Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In
DettagliC. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliSistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
DettagliEsame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
DettagliEsempio: aggiungere j
Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi
Dettagli1.4a: Hardware (Processore)
1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliDMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliVMware. Gestione dello shutdown con UPS MetaSystem
VMware Gestione dello shutdown con UPS MetaSystem La struttura informatica di una azienda Se ad esempio consideriamo la struttura di una rete aziendale, i servizi offerti agli utenti possono essere numerosi:
DettagliCalcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
DettagliValutazione delle Prestazioni
Valutazione delle Prestazioni Sia data una macchina X, definiamo: 1 PrestazioneX = --------------------------- Tempo di esecuzione X La prestazione aumenta con il diminuire del tempo di esecuzione (e diminuisce
DettagliDIMENSIONI E PRESTAZIONI
DIMENSIONI E PRESTAZIONI Prof. Enrico Terrone A. S: 2008/09 Le unità di misura Le due unità di misura fondamentali dell hardware sono: i Byte per le dimensioni della memoria gli Hertz (Hz) per le prestazioni
DettagliScopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
DettagliL unità di elaborazione pipeline L unità Pipelining
Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliIntroduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
DettagliInformatica per la comunicazione" - lezione 7 -
Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliCorso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Valutazione delle prestazioni DOCENTE Luigi Palopoli AA. 2011/2012 Valutare le Prestazioni La complessita di un moderno calcolatore rende la valutazione delle prestazioni
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
DettagliLa memoria centrale (RAM)
La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliI componenti di un Sistema di elaborazione. CPU (central process unit)
I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliLezione n.19 Processori RISC e CISC
Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni
DettagliGestione del processore e dei processi
Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliCalcolatori Elettronici. La memoria gerarchica La memoria virtuale
Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliL informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliINFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
Dettagliintroduzione I MICROCONTROLLORI
introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la
DettagliChe cosa è un VIRUS?
Virus & Antivirus Virus Nella sicurezza informatica un virus è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo
DettagliTECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione
DettagliLa memoria - generalità
Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire
DettagliCOME È FATTO IL COMPUTER
1 di 8 15/07/2013 17:07 COME È FATTO IL COMPUTER Le componenti fondamentali Un computer, o elaboratore di dati, è composto da una scheda madre alla quale sono collegate periferiche di input e output, RAM
DettagliUN GRUPPO DI LAVORO EVOLVE
GRUPPI DI LAVORO GRUPPO DI LAVORO Un gruppo di lavoro è costituito da un insieme di individui che interagiscono tra loro con una certa regolarità, nella consapevolezza di dipendere l uno dall altro e di
DettagliPREMESSA AUTOMAZIONE E FLESSIBILITA'
PREMESSA In questa lezione analizziamo i concetti generali dell automazione e confrontiamo le diverse tipologie di controllo utilizzabili nei sistemi automatici. Per ogni tipologia si cercherà di evidenziare
DettagliArchitettura dei calcolatori II parte Memorie
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
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Dettagli1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti
DettagliGLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6
GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:
DettagliLa Gestione delle risorse Renato Agati
Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File
DettagliContenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore
Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
DettagliIntroduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
DettagliTrasmissione di dati al di fuori di un area locale avviene tramite la commutazione
Commutazione 05.2 Trasmissione di dati al di fuori di un area locale avviene tramite la Autunno 2002 Prof. Roberto De Prisco -05: Reti a di circuito Università degli studi di Salerno Laurea e Diploma in
DettagliARCHITETTURA DI RETE FOLEGNANI ANDREA
ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce
DettagliAlgebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.
Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliCorso di Informatica
Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliAlla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.
PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliInformatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai
Informatica di base Hardware: CPU SCHEDA MADRE HARDWARE DI UN PC 2 Hardware (parti fisiche) Sono le parti fisiche di un Personal Computer (processore, scheda madre, tastiera, mouse, monitor, memorie,..).
DettagliRETI E SISTEMI INFORMATIVI
RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame: scritto + tesina facoltativa
DettagliIL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:
IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti
DettagliIl Personal Computer
Il Personal Computer Il case Il case (termine di origine inglese), anche chiamato cabinet (sempre dall'inglese, è il telaio metallico all'interno del quale sono assemblati i componenti principali di un
DettagliDispositivi di rete. Ripetitori. Hub
Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliMacchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO
Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere
Dettaglifit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il
Abstract Nel presente lavoro di tesi è stata analizzata l importanza che riveste l assemblaggio meccanico nelle diverse fasi del processo produttivo, centrando l attenzione sulle fasi di progettazione
DettagliSISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
DettagliInformatica - A.A. 2010/11
Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire
DettagliCOME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING
Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN
DettagliVari tipi di computer
Hardware Cos è un computer? Un computer è un elaboratore di informazione. Un computer: riceve informazione in ingresso (input) elabora questa informazione Può memorizzare (in modo temporaneo o permanente)
DettagliVarie tipologie di memoria
Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti
Dettaglie-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente
DettagliCorso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù
Lezione 1 Obiettivi del corso Il corso si propone di descrivere i principi generali delle architetture di calcolo (collegamento tra l hardware e il software). Sommario 1. Tecniche di descrizione (necessarie
DettagliCorrettezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliJ. Assfalg Appunti di Sistemi Operativi
Multiprogrammazione J. Assfalg Appunti di Sistemi Operativi La multiprogrammazione nasce come un metodo per massimizzare l'uso della CPU piuttosto che come uno strumento per fornire un miglior servizio
DettagliNUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING
gno Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. NUOVI APPROCCI PER UN MANAGER ALLENATORE : IL PROCESSO DI COACHING COSA
Dettagli