Valutazione delle prestazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Valutazione delle prestazioni"

Transcript

1 Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di una macchina (velocità, ) Operare scelte intelligenti (ad es., miglioramento dell hardware vs installazione di nuovo software) Orientarsi sull acquisto del calcolatore più adatto per l applicazione data Cosa significa il calcolatore A ha prestazioni migliori del calcolatore B? Termina lo stesso compito in un tempo minore rispetto al calcolatore B Nello stesso periodo di tempo riesce ad eseguire più compiti Valeria Cardellini 1

2 Tempo di risposta e throughput Tempo di risposta (o di esecuzione) Intervallo temporale che intercorre tra l inizio ed il completamento di un lavoro o compito elaborativo Inclusi tempo di esecuzione del processore, accessi al disco, accessi in memoria, attività di I/O, overhead del sistema operativo, Esempio: durata dell esecuzione di un programma Metrica di interesse per l utente Throughput Ammontare complessivo di lavoro svolto in un dato intervallo temporale Esempio: numero di programmi eseguiti nell unità di tempo Metrica di interesse per l amministratore del sistema Valeria Cardellini 2 Prestazioni e tempo di esecuzione La frase X è più veloce di Y è usata per indicare che il tempo di risposta (o di esecuzione), per un dato lavoro, è minore in X che in Y Tempo di esecuzione = reciproco della prestazione Miglioramento delle prestazioni Diminuzione del tempo di esecuzione Valeria Cardellini 3

3 Esempio Se la macchina A esegue un programma in 10 secondi e la macchina B esegue lo stesso programma in 15 secondi, quale affermazione è corretta? A è il 50% più veloce di B A è il 33% più veloce di B L affermazione che A è n% più veloce di B può essere espressa come Valeria Cardellini 4 Ciclo di clock Durata del periodo di un oscillazione completa del segnale di sincronizzazione Gli impulsi del clock indicano quando cominciare l attività Spesso sostituisce i secondi come unità di misura del tempo di CPU Tempo di CPU: tempo speso dalla CPU per eseguire un dato programma Durata del ciclo di clock = tempo tra due impulsi consecutivi Secondi per ciclo Frequenza di clock = cicli di clock per secondo 1 Hz = sec -1 Esempio: un calcolatore con frequenza di clock pari a 4 GHz possiede un ciclo di clock di durata (4 * 10 9 ) -1 = 0.25 * 10-9 = 0.25 nanosecondi Valeria Cardellini 5

4 Migliorare le prestazioni Migliorare le prestazioni = ridurre il tempo di esecuzione Per migliorare le prestazioni, a parità di tutto il resto, occorre: Ridurre il numero di cicli richiesti da un programma Ridurre la durata del ciclo di clock Aumentare la frequenza del clock Valeria Cardellini 6 Principi quantitativi di progettazione dei calcolatori Rendere veloce il caso più comune Si deve favorire il caso più frequente a discapito di quello più raro Il caso più frequente è spesso il più semplice e può essere reso più veloce del caso infrequente Legge di Amdahl Il miglioramento di prestazione che può essere ottenuto usando alcune modalità di esecuzione più veloci è limitato dalla frazione di tempo nella quali tali modalità sono impiegate La legge di Amdahl permette di calcolare questo guadagno di prestazione Valeria Cardellini 7

5 Speedup oppure Lo speedup fornisce informazioni su quanto più velocemente un lavoro verrà eseguito usando il calcolatore con la miglioria rispetto al calcolatore originale Valeria Cardellini 8 Legge di Amdahl Frazione migliorato ( 1), ovvero la frazione del tempo di calcolo che può essere modificato per avvantaggiarsi dei miglioramenti Esempio: se 20 sec del tempo di esecuzione di un programma che dura 60 sec possono essere usati per il miglioramento, la frazione è 20/60 Speedup migliorato ( 1), ovvero il miglioramento ottenuto dal modo di esecuzione più veloce (quanto più veloce il programma può essere eseguito se il modo di esecuzione è utilizzato per l intero programma) Esempio: se il modo di esecuzione più veloce è 2 sec, mentre il modo originale è 5 secondi per la stessa porzione di programma, lo speedup è 5/2 Valeria Cardellini 9

6 Corollario della legge di Amdahl Se un miglioramento è utilizzabile solo per una frazione del lavoro complessivo, allora non è possibile accelerare il lavoro più del reciproco di uno meno tale frazione Valeria Cardellini 10 Osservazioni sulla legge di Amdahl Per ottenere un miglioramento evidente delle prestazioni, occorre intervenire sulle componenti della macchina che influiscono sul tempo di esecuzione di una frazione elevata dell esecuzione Anche così, il miglioramento relativo non sarà proporzionale a quello globale Non ci si può aspettare che il miglioramento di una delle componenti della macchina produca un aumento delle prestazioni proporzionale al miglioramento Esempio L esecuzione di un programma richiede 100 sec e le moltiplicazioni sono responsabili dell 80% di tale tempo. Quanto si deve migliorare la velocità della moltiplicazione perché il programma abbia un tempo di esecuzione di 20 sec? 100/20 = ( (1-0.8) + 0.8/Speedup migliorato ) -1 4/Speedup migliorato = 0 Valeria Cardellini 11

7 Esempio 1 Si consideri un miglioramento di un processore di un sistema utilizzato per servizi Web, tale che la nuova CPU sia 10 volte più veloce di quella originale per le applicazioni Web. Assumendo che la CPU originale è occupata nella computazione per il 40% del tempo ed è in attesa dell I/O per il 60%, quale è lo speedup globale? Frazione migliorato = 0.4 Speedup migliorato = 10 Speedup globale = 1/( /10) = 1/ Valeria Cardellini 12 Esempio 2 Supponiamo di potere aumentare la velocità della CPU della nostra macchina di un fattore 5 (senza influenzare le prestazioni di I/O) con un costo 5 volte superiore Assumiamo inoltre che la CPU sia utilizzata per il 50% del tempo ed il rimanente sia destinato ad attesa per operazioni di I/O. Se la CPU è un terzo del costo totale del computer, è un buon investimento da un punto di vista costo/prestazioni aumentare di un fattore 5 la velocità della CPU? L incremento di costo è quindi maggiore del miglioramento di prestazioni: la modifica non migliora il rapporto costo/prestazioni Valeria Cardellini 13

8 Tempo di risposta e di CPU Il tempo è una misura delle prestazioni di un calcolatore: il calcolatore che svolge la stessa quantità di lavoro nel minor tempo è più veloce Tempo di risposta: rappresenta la latenza per il completamento di un lavoro ed include accessi al disco, accessi alla memoria, attività di I/O, Tempo di CPU: rappresenta il tempo speso dalla CPU per eseguire il programma dato: non include il tempo di attesa per I/O o per l esecuzione di altri programmi Tempo di CPU = tempo di CPU di utente + tempo di CPU di sistema Tempo di CPU di utente: tempo speso dalla CPU per eseguire le linee di codice che sono nel programma Tempo di CPU di sistema: tempo speso dal sistema operativo per eseguire i compiti richiesti dal programma Valeria Cardellini 14 Durata di diverse istruzioni In genere, istruzioni di tipo diverso richiedono quantità diverse di tempo. Esempi: La moltiplicazione richiede più tempo dell addizione L accesso alla memoria richiede più tempo dell accesso ai registri Fissata la durata del ciclo di clock, varia il numero di cicli di clock richiesti dalle diverse istruzioni Si può calcolare il numero medio di cicli di clock per istruzioni di un dato programma (o frammento di programma) Valeria Cardellini 15

9 Cicli di clock per istruzione (CPI) Introducendo nella formula le unità di misura, si può notare la relazione tra i vari componenti Valeria Cardellini 16 Numero totale di cicli di clock I i = numero di volte che l istruzione di tipo i viene eseguita in un programma CPI i = numero di cicli di clock per l istruzione di tipo i Possiamo quindi utilizzare questa formula per esprimere il tempo di CPU: Valeria Cardellini 17

10 Formula per CPI Ogni singolo CPI i viene moltiplicato per la frazione delle occorrenze nel programma Valeria Cardellini 18 Esempio Si consideri un calcolatore in grado di eseguire le istruzioni indicate in tabella Calcolare CPI e tempo di CPU per eseguire un programma composto da 100 istruzioni, supponendo che la frequenza di clock sia 500 MHz Valeria Cardellini 19

11 Fattori che influiscono sulle prestazioni Algoritmo Influisce sul numero di istruzioni (CI) Numero di istruzioni nel programma sorgente Può influire su CPI Uso di istruzioni più veloci o più lente Linguaggio di programmazione Influisce sul numero di istruzioni (CI) Influisce su CPI Caratteristiche del linguaggio (es: astrazione dei dati) Compilatore Influisce sul numero di istruzioni (CI) e su CPI Insieme di istruzioni dell architettura Influisce sul numero di istruzioni (CI), su CPI e sulla frequenza del ciclo di clock Valeria Cardellini 20 L indice MIPS MIPS = milioni di istruzioni per secondo Poiché MIPS rappresenta la frequenza delle operazioni per unità temporale, le prestazioni delle macchine più veloci che hanno elevati valori di MIPS possono essere specificate come l inverso del tempo di esecuzione Caratteristica positiva L indice MIPS è intuitivo da comprendere: le macchine più veloci hanno valori più elevati Valeria Cardellini 21

12 Problemi dell indice MIPS Dipende dall insieme di istruzioni dell architettura È difficile confrontare architetture con diversi insiemi di istruzioni Varia, anche sulla stessa macchina, a seconda del programma considerato A seconda del sottoinsieme di istruzioni usato più frequentemente Può variare in maniera inversamente proporzionale al tempo di esecuzione del programma! Esempio: due calcolatori, uno dei quali senza unità per i calcoli in virgola mobile (FPU) Le istruzioni in virgola mobile richiedono più tempo rispetto alle istruzioni su interi Il calcolatore con FPU impiega meno tempo per eseguire un programma, ma ha un MIPS più basso Il calcolatore senza FPU esegue semplice istruzioni con il risultato di avere un MIPS più elevato, ma ha un tempo di esecuzione più elevato Valeria Cardellini 22 Indice MIPS relativo Tempo CPU di riferimento = tempo di esecuzione di un programma sulla macchina di riferimento Tempo CPU da valutare = tempo di esecuzione dello stesso programma sulla macchina da valutare MIPS CPU di riferimento = MIPS misurato per la macchina di riferimento Negli anni 80 la principale macchina di riferimento è stata il VAX 11/780, detta la macchina da 1 MIPS Il vantaggio del MIPS relativo è piccolo Bisogna conoscere il tempo di esecuzione, il programma ed i suoi dati di ingresso per ottenere informazioni significative Valeria Cardellini 23

13 Benchmark Benchmark: programma per valutare le prestazioni Definizione del workload (carico di lavoro) Tre tipologie di benchmark Programmi reali Usati per risolvere problemi reali Le prestazioni sono valutate meglio eseguendo un applicazione reale che rappresenta un tipico workload Benchmark ridotti Tentativi di circoscrivere piccoli pezzi chiave dei programmi Benchmark sintetici Cercano di simulare la frequenza media degli operandi e delle operazioni di un vasto insieme di programmi reali Standard Perfomance Evaluation Corporation (SPEC), EDN Embedded Microprocessor Benchmark Consortium (EEMBC) Valeria Cardellini 24 SPEC CPU programmi con numeri interi (SPEC CINT2000) 14 programmi con numeri in virgola mobile (SPEC CFP2000) Valeria Cardellini 25

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione 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

Dettagli

Valutazione delle Prestazioni

Valutazione delle Prestazioni Valutazione delle Prestazioni Misure per le Prestazioni T durata del ciclo di clock [secondi] F numero cicli di clock al secondo [hertz] F 1 / T T 1 / F Exe_Time X tempo di esecuzione (CPU) di un programma

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Misura delle prestazioni Anno Accademico Francesco Tortorella Misura delle prestazioni E fondamentale definire una metrica corretta per misurare le prestazioni

Dettagli

Valutazione delle prestazioni di calcolo

Valutazione delle prestazioni di calcolo Architettura degli Elaboratori e delle Reti Lezione 32 Valutazione delle prestazioni di calcolo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori 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

Dettagli

Misura delle prestazioni

Misura delle prestazioni Misura delle prestazioni Prestazioni: differenti prospettive Prospettiva dell acquirente dato un insieme di macchine, quale ha le migliori prestazioni? il minor costo? Il miglior rapporto prestazioni/costo?

Dettagli

Prestazioni 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. 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

Dettagli

La Valutazione delle Prestazioni

La Valutazione delle Prestazioni La Valutazione delle Prestazioni Maurizio Palesi Maurizio Palesi rend ecnologico: Microprocessori 00000000 0000000 000000 IBM PPC60 R0000 Pentium R4400 i80486 Alpha 2264: 5 milion Pentium Pro: 5.5 million

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: add Esempio: load Esempio: beq Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione

Dettagli

Soluzione Esercizio 1

Soluzione Esercizio 1 Esercizio 1 Si consideri una notazione binaria in virgola mobile a 16 bit, detta ALFA, di cui (nell ordine da sinistra a destra) si usa 1 bit per il segno (0=positivo), 6 bit per l esponente, che è rappresentato

Dettagli

Architettura 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) 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

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

I formati delle istruzioni

I formati delle istruzioni Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...

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

LEZIONE 2 Il processore e la memoria centrale

LEZIONE 2 Il processore e la memoria centrale Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio

Dettagli

Come funzionano i computer

Come 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

Dettagli

MATEMATICA CLASSE NUMERO Contare sia in senso progressivo sia in senso regressivo.

MATEMATICA CLASSE NUMERO Contare sia in senso progressivo sia in senso regressivo. MATEMATICA OB. FORMATIVI COMPETENZE CLASSE 1 1. NUMERO Contare sia in senso progressivo sia in senso regressivo..2 Usare il numero per contare, confrontare, ordinare raggruppamenti di oggetti..3 Leggere

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

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

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

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Influenza dell' I/O sulle prestazioni (globali) di un sistema Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi

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

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio

Corso di Linguaggi di Programmazione + Laboratorio Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Secondo anno modulo recupero

Secondo anno modulo recupero Secondo anno modulo recupero Unità didattica_1 livello recupero: equazioni di primo grado e formule inverse Padroneggiare il linguaggio formale e i procedimenti dimostrativi. Riconoscere e saper applicare

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Esame di INFORMATICA Lezione 4

Esame 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

Dettagli

Corso di Architettura degli Elaboratori

Corso 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

Dettagli

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

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

Dettagli

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso

Dettagli

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

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

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere

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

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che

Dettagli

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Calcolatori Elettronici Parte VIII: linguaggi assemblativi Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica

Dettagli

Lezione 2. La conoscenza del mondo

Lezione 2. La conoscenza del mondo Lezione 2 Analogico/Digitale Il sistema binario L aritmetica binaria La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter assegnare a questi

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

Dettagli

Valutazione delle prestazioni Salvatore Orlando

Valutazione delle prestazioni Salvatore Orlando Valutazione delle prestazioni Salvatore Orlando Arch. Elab. - S. Orlando 1 Valutazione delle prestazioni L approccio RISC ha semplificato l ISA, ma ha anche portato a sviluppo di tecniche di ottimizzazione

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 3-Equipaggiamento di un SO 1 Prerequisiti Hardware e software Uso pratico elementare di un sistema operativo Struttura a strati del SO 2 1 Introduzione In questa Unità vogliamo

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

CURRICOLO VERTICALE MATEMATICA IL NUMERO SCUOLA SECONDARIA DI PRIMO GRADO. Classe 1^

CURRICOLO VERTICALE MATEMATICA IL NUMERO SCUOLA SECONDARIA DI PRIMO GRADO. Classe 1^ ISTITUTO COMPRENSIVO STATALE - SPRESIANO Via U. Foscolo, 4-31027 Spresiano (TV) tel.: 0422/725223 fax: 0422/725684 cod.fisc. 80027900267 - e-mail: segreteria@icspresiano.it- C.M. TVIC838006 CURRICOLO VERTICALE

Dettagli

Valutazione delle Prestazioni

Valutazione 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

Dettagli

Capitolo 1: Introduzione

Capitolo 1: Introduzione Capitolo 1: Introduzione Cos è un sistema operativo Sistemi mainframe Sistemi da scrivania Sistemi con più unità d elaborazione Sistemi distribuiti Batterie di sistemi (cluster) Sistemi d elaborazione

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Ministero della Pubblica Istruzione UFFICIO SCOLASTICO REGIONALE DEL VENETO DIREZIONE DIDATTICA STATALE VIGONZA

Ministero della Pubblica Istruzione UFFICIO SCOLASTICO REGIONALE DEL VENETO DIREZIONE DIDATTICA STATALE VIGONZA UNITÀ DIDATTICA N. 1 IL NUMERO - IL CALCOLO OBIETTIVI DI APPRENDIMENTO Leggere, scrivere e operare con i numeri naturali e decimali avendo la consapevolezza del valore posizionale delle cifre. Saper adottare

Dettagli

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema

Dettagli

Lezione 1. Lezione 1. Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Materiale di riferimento.

Lezione 1. Lezione 1. Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Materiale di riferimento. Sommario Lezione Lezione Materiale di riferimento Definizione di microcontrollore (mc) Definizione di Digital Signal Processor (DSP) Criteri per il confronto delle prestazioni di mc e DSP Misura delle

Dettagli

CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI. Scuola Secondaria di Primo Grado Matematica -

CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI. Scuola Secondaria di Primo Grado Matematica - CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI Scuola Secondaria di Primo Grado Matematica - Classe Prima COMPETENZA CHIAVE EUROPEA: COMPETENZA MATEMATICA Profilo dello studente al termine del Primo ciclo

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

Programmazione didattica annuale classi terze Disciplina Matematica

Programmazione didattica annuale classi terze Disciplina Matematica Primo quadrimestre L'alunno si muove con sicurezza nel calcolo algebrico, numerico e letterale NUMERI Utilizzare numeri relativi per descrivere reali Eseguire calcoli in ambito algebrico Eseguire confronti

Dettagli

Algebra. I numeri relativi

Algebra. I numeri relativi I numeri relativi I numeri relativi sono quelli preceduti dal segno > o dal segno . I numeri positivi sono quelli preceduti dal segno + (zero escluso). I numeri negativi sono quelli preceduti

Dettagli

CURRICOLO DI MATEMATICA CLASSE PRIMA

CURRICOLO DI MATEMATICA CLASSE PRIMA CURRICOLO DI MATEMATICA CLASSE PRIMA INDICATORI OBIETTIVI SPECIFICI CONTENUTI NUMERI Eseguire le quattro operazioni con i numeri interi. Elevare a potenza numeri naturali e interi. Comprendere il significato

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - 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

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

ABILITÀ. COMPETENZE L'alunno: ( B-H ) L'alunno sa: associare alla quantità il numero ( simbolo e nome ) i numeri ordinali

ABILITÀ. COMPETENZE L'alunno: ( B-H ) L'alunno sa: associare alla quantità il numero ( simbolo e nome ) i numeri ordinali TRAGUARDI DI COMPETENZA L alunno opera con i numeri naturali nel calcolo scritto e mentale NUMERI L'alunno: ( B-H ) la serie numerica fino al 100 associare alla quantità il numero ( simbolo e nome ) i

Dettagli

Come calcolare i parametri farmacocinetici

Come calcolare i parametri farmacocinetici Come calcolare i parametri farmacocinetici La conoscenza dei parametri farmacocinetici fondamentali di un farmaco è essenziale per comprendere in che modo esso venga trattato dall organismo e come sia

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1 I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma

Dettagli

Sistemi di numerazione

Sistemi di numerazione Sistemi di numerazione Introduzione Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e possibilmente alcune operazioni che si possono effettuare su di essi. Storicamente i sistemi

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni

Dettagli

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

IL METODO DEL SIMPLESSO

IL METODO DEL SIMPLESSO IL METODO DEL SIMPLESSO Il metodo del Simplesso 1 si applica nella risoluzione di un problema di Programmazione Lineare 2 (funzione e vincoli lineari) quando le variabili di azione o iniziali sono almeno

Dettagli

Percentuali, problemi non ovvi

Percentuali, problemi non ovvi Percentuali, problemi non ovvi Variazioni assolute e variazioni relative (continua) Supponiamo che il prezzo di un bene all istante t sia p t = 120 all istante successivo t+1 il nuovo prezzo del bene è

Dettagli

COMPETENZE ABILITA CONOSCENZE

COMPETENZE ABILITA CONOSCENZE SCUOLA PRIMARIA PIANI DI STUDIO MATEMATICA ANNO SCOLASTICO 2010/2011 CLASSE PRIMA Utilizzare le tecniche e le procedure del Associare la quantità al numero: simbolo e Aspetto cardinale e ordinale. calcolo

Dettagli

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association) Informatica: Lez. 1 Andrea Payaro Consulente Certificato da ELA (European Logistics Association) andrea@payaro.it Andrea Payaro Ph.D. in Business Management at University of Padova Committee member of

Dettagli

Modelli di programmazione parallela

Modelli 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

Dettagli

Lavoro Quantità. si determinino prodotto marginale e medio del fattore lavoro.

Lavoro Quantità. si determinino prodotto marginale e medio del fattore lavoro. Microeconomia, Esercitazione 3. A cura di Giuseppe Gori (giuseppe.gori@unibo.it) 1 Esercizi. 1.1 Produzione/1 Data una certa tecnologia di produzione definita solo nell input lavoro (o, in alternativa,

Dettagli

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica Tecnologie dell informazione e della comunicazione per le aziende CAPITOLO 5: La gestione delle informazioni

Dettagli

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Un dispositivo di I/O è costituito da due componenti: Il dispositivo fisico effettivo (disco, stampante, mouse, video, )

Dettagli

Introduzione al Calcolo Scientifico

Introduzione 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

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Salvatore Orlando Arch. Elab. - S. Orlando 1 Valutazione delle prestazioni Studieremo le modalità per misurare, descrivere e sintetizzare le prestazioni di un sistema hardware/software

Dettagli

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

Laboratorio software. A.A. 2009-2010 C. Brandolese

Laboratorio software. A.A. 2009-2010 C. Brandolese Laboratorio software A.A. 2009-2010 Hardware testing with software T1. RAM Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria RAM di un sistema

Dettagli

Corso di Architettura (Prof. Scarano) 09/04/2002

Corso di Architettura (Prof. Scarano) 09/04/2002 Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno

Dettagli

I 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) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

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