ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA ESPLORAZIONE DI ALTERNATIVE ARCHITETTURALI PER PIATTAFORME MULTICORE ASINCRONE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA ESPLORAZIONE DI ALTERNATIVE ARCHITETTURALI PER PIATTAFORME MULTICORE ASINCRONE"

Transcript

1 ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Elettronica Insegnamento: Architetture digitali per l elaborazione del segnale L-S ESPLORAZIONE DI ALTERNATIVE ARCHITETTURALI PER PIATTAFORME MULTICORE ASINCRONE Tesi di Laurea di: Relatore : Tomas Zavalloni Chiar. mo Prof. Ing. Roberto Guerrieri Correlatori: Dott. Ing. Fabio Campi Dott. Ing. Claudio Mucci Sessione I Anno Accademico

2

3 Ringraziamenti Anche se sembra banale e scontato, il primo immenso GRAZIE, va ai miei genitori, i quali, oltre ad essere stati un supporto dal punto di vista materiale, mi hanno sempre dimostrato una fiducia imbarazzante, dimostrando di credere in me prima di ogni cosa. Ovviamente non è stato sempre facile cercare di rendere giustizia a tanto sostegno, ma ovviamente, come si dice in questi casi, ho fatto del mio meglio. Sicuramente, questo ringraziamento, è rivolto anche alla mia sorellina, che ha sempre ascoltato i miei vaneggiamenti ingegneristici e cercato comunque, (anche se ascoltava le mie parole come fosse linguaggio alieno) di trovare le parole per sostenermi nei momenti di difficoltà. Un altro grazie, lo devo a Francesca, che con santa e stoica pazienza ha sopportato per ben più di un anno, le mie paranoie da studente sotto stress, e soprattutto mi ha aiutato a trovare la forza per compiere l ultimo passo verso la laurea. A seguire, ma non per importanza, un grosso ringraziamento è dovuto al professor Roberto Guerrieri, il quale mi ha permesso di accedere al laboratorio Arces, e soprattutto mi ha dato la possibilità di confrontarmi con temi assolutamente affascinati. Ovviamente, questo rigraziamento, è rivolto anche a Fabio, il quale, mi ha seguito e soprattutto guidato, durante tutto il percorso che mi ha portato alla conclusione del progetto. Un riconoscimento ovviamente anche a tutti i ragazzi del laboratorio ARCES, con cui si sono condivise gioie e dolori del lavoro da ingegnere. Arrivare alla conclusione di una laurea è un percorso piuttosto lungo, e travagliato, pertanto, sono molte le persone con cui ho avuto a che fare e che in un modo o nell altro hanno significato qualcosa. Certamente non è possbile tentare di citare ognuno di loro anche perchè ne dimenticherei

4 4 gran parte... comunque sia... GRAZIE A TUTTI.

5 Indice Introduzione 1 1 Sistemi on chip multi-processore Network on Chip Dynamic Voltage and Frequency Scaling Modello di programmazione MPI - Message Passing Interface Ottimizzazione dell architettura Sistemi multiprocessore picoarray PicoArray core Intefacce IPI/ADI interfacce SRAM/SDRAM Applicazioni RAW l architettura di RAW Unità operativa Router statici Router dinamici HS-Scale H-Scale S-Scale Task migration

6 ii INDICE 3 Proposta di una architettura MPSOC Tile-oriented Cella fondamentale Microprocessore STxP70 Central Processing Unit (CPU) Memory Controller MMC Interfaccia estensioni L estesione X Interrupt controller ITC General Controller GEC Router Porte di comunicazione Canali logici e canali fisici Protocollo di comunicazione dei canali fisici Configurazione del router Memorie FIFO asincrone Funzionamento della FIFO Gestione dei puntatori Comunicazione con il Router Divisore di clock Monitoraggio delle celle confinanti (ingressi neighbour) Layout della cella Organizzazione dello spazio di indirizzamento Sintesi della cella Definizione delle constrains Risultati della sintesi Il sistema multiprocessore Indirizzo globale e locale La distribuzione del clock La Network On Chip Impatto della frequenza della rete sulla comunicazione Prestazioni della NoC Formato del pacchetto

7 INDICE iii 3.14 Comunicazione con l esterno Blocco di caricamento del codice Infrastruttura software Organizzazione del software Procedura di Boot Micro Kernel Lo stack di comunicazione Livello 0 - Physical Layer Livello 1 - Data link Layer Livello 2 - Network Layer Livello 3 - Transport Layer Livello 4 - Application Layer Mappatura di una applicazione sulla architettura proposta Implementazione di una applicazione di video security Descrizione dell algoritmo Implementazione dell algoritmo sfruttando un parallelismo di dato Suddivisione del frame Informazioni globali Allocazione dei task vautazioni prestazionali Implementazione dell algoritmo sfruttando un parallelismo di dato e di istruzione Prestazioni Scaling della frequenza Conclusioni 127 Bibliografia 129

8 iv INDICE

9 Elenco delle figure 1.1 Sistema di comunicazione basato su Bus Esempio di sistema di comunicazione basato su NoC Diverse topologie di una NoC Schema picoarray Organizzazione del core Selettori Architettura RAW Struttura I/O Pipeline di RAW Comunicazione tra due celle HS-Scale come elemento di un sistema eterogeneo (figure from [1]) Network Processing Unit (figure from [1]) Stack di comunicazione Sistema Operativo HS-Scale (figure from [1]) Sistema Operativo HS-Scale (figure from [1]) Schema a blocchi della cella contesti di esecuzione Spazio di indirizzamento Utilizzo delle estensioni Gestione delle priorità di esecuzione Interrupt Controller MICn

10 vi ELENCO DELLE FIGURE 3.8 NMIC Esempio di protocollo di comunicazione dei canali fisici Generazione dei segnali FIFO full e FIFO empty Schema a blocchi della FIFO asincrona Collegamento canali fisici del router e FIFO Schema clock divider Selezione del clock di sistema Frontiera del tile Replica delle celle Mappatura dei dispositivi nello spazio di indirizzamento del processore Occupazione area della cella in tecnologia standard cell 90 nm Matrice di celle Eliminazione del clock come segnale globale Consumo di potenza più distribuito nel tempo Instradamento di tipo wormhole Andamento latenza Valutazione della congestione della rete Latenza messaggi verso tile Formato del pacchetto Blocco di caricamento del codice Organizzazione del software Mappatura dei dispositivi nello spazio di indirizzamento del processore Direzione propagazione dei pacchetti ti boot Nomenclatura dei Tile Stack di comunicazione Programmazione del router Algoritmo routing Gestione di un pacchetto Sincronizzazione

11 ELENCO DELLE FIGURE vii 5.1 Schema a blocchi dell algoritmo Sfondo di riferimento Frame corrente catturato dalla telecamera Risultato operazione differenza e valore assoluto Risultato della operazione di binarisation Erosione e dilatazione di un pixel Risultato operazioni di erosione e dilatazione Rilevazione del bordo Risultato finale Suddivision delle righe Sincronizzazione righe di overlapping Gestione di informazioni globali Allocazione dei task all interno della griglia Gestione della frequenza di clock

12 viii ELENCO DELLE FIGURE

13 Elenco delle tabelle 2.1 Tipologie AE Caratteristiche di picoarray Definizione delle costrains Occupazione d area in tecnologia standard cell 90 nm Cicli attività fifo Speed-up delle singole funzioni Cicli spesi in ogni stadio

14 x ELENCO DELLE TABELLE

15 Introduzione Nell ambito del Digital Signal Processing, molte delle applicazioni, in particolar modo in campo multimediale, offrono un alto livello di parallelismo. La complessità computazionale richiesta da questo tipo di applicazioni, è però molto elevata, e soprattutto in forte crescita. A tal proposito, basti pensare all aumento della qualità audio video richiesta dai moderni cellulari, alle sempre più performanti compressioni utilizzate in ambito multimediale o anche all aumento della complessità in applicazioni per crittografia dati, usate per rendere le comunicazioni sempre più sicure. Tale complessità fa si che, un singolo processore risulti spesso, dal punto di vista prestazionale, insufficiente. D altra parte, la realizzazione dello stesso algoritmo mediante un circuito dedicato ASIC (Application Specific Integrated Circuit), risulta spesso molto costosa, e soprattutto poco flessibile (necessità di una riprogettazione del sistema qualora cambi l algoritmo implementato). Per cercare di sfruttare nel modo migliore possibile il parallelismo intrinseco nella maggioranza delle applicazioni, e- sistono diverse tipologie di architetture, le quali possono essere ragruppate in due macrocategorie. Della prima categoria, fanno parte architetture quali i processori superscalari, procesori di tipo WLIW, DSP e processori configurabili. Questi comportano una notevole complessità in fase di progettazione: al crescere del numero di datapath integrati nel core di elaborazione crescono di molto le problematiche di sincronizzazione. Per nascondere poi all utente i dettagli architetturali, e permettere una programmazione trasparente, è necessario lo sviluppo di compilatori sempre più complessi i quali permettano di sfruttare in maniera ottimale tutte le risorse computazionali dell hardware. Lo sviluppo di queste soluzioni

16 2 Introduzione richiedono quindi un grosso sforzo progettuale che spesso incide in maniera considerevole sul time-to-market, specie nel caso di dispositivi configurabili o application-specific che, in quanto tali, devono essere progettati o comunque adattati ad ogni diverso contesto applicativo. Della seconda tipologia, fanno parte invece quelle architetture hardware programmabili fra cui: FPGA (Field Programmable Gate Array), CGRA (Coarse-Grain Reconfigurable Array) e processori reconfigurabili. Queste soluzioni molto più regolari dal punto di vista hardware, hanno lo scopo di cercare di parallelizzare al massimo l elaborazione a livello di dato, come il caso delle FPGA, in cui l hardware viene configurato per la specifica applicazione. Queste soluzioni, che permettono una maggior focalizzazione sull elaborazione dei dati (piuttosto che sul controllo come nella tipologia architetturale precedentemente descritta), risultano però di difficile programmazione. In questo caso, infatti, per riconfigurare dinamicamente l hardware è necessario che l utente si confronti con metodologie di sviluppo specifiche, come ad esempio linguaggi concorrenti orientati all hardware come VHDL. Quello che ci si propone di fare in questo elaborato è esplorare una soluzione architetturale la quale si ponga ad un livello intermedio tra le tipologie descritte, permettendo al contempo di sfruttare i punti forti di entrambe. La soluzione proposta, è l MPSoC (Multi Processor System on Chip). Questa soluzione risulta infatti, dal punto di vista dello sviluppatore di applicazioni, più naturale rispetto a dispositivi quali FPGA, pur mantenendo livelli comparabili di parallelismo nella computazione. Soprattutto, è possibile riusare in questo contesto, l esperienza sviluppata dalla comunità scientifica, nel campo della computazione parallela o di rete, acquisita in ambiti quali: LAN, WAN o processori multicore. Questo tipo di sistemi permettono di ottenere buone prestazioni, e presentano una interfaccia di programmazione semplice, in cui si sfruttando appositi set di istruzioni, quale MPI, attraverso cui è possibile sviluppare una applicazione distribuita. Le questioni che devono essere tenute in considerazione nello sviluppo di questo tipo di architetture, sono sostanzialmente tre: 1. Occupazione d area

17 Introduzione 3 2. Consumo di potenza 3. Costi di progettazione Dal punto di vista dell occupazione d area, un sistema MPSoC, risulta ovviemente svantaggioso. In questa tipologia di architettura, infatti, vi è una forte ridondanza di risorse hardware. D altra parte, grazie al costante miglioramento della tecnologia litografica, descritta dalla legge di Moore, le risorse integrabili in un chip risultano essere sempre maggiori, e soprattutto si manifestano difficoltà nello sfruttare questa disponibilità, che arriva ad essere dell ordine di un milione di transistor per millimetro quadro. Per questo motivo si è scelto di sacrificare questo aspetto tecnologico al fine di cercare di ottimizzarne altri più stringenti. Il consumo di potenza è invece un aspetto molto problematico che affligge i moderni sistemi digitali. Le motivazioni che rendono questa caratteristica un aspetto chiave nello sviluppo di un chip, sono sostanzialmente: la difficoltà nello smaltire il calore prodotto, e la necesità di usare questi sistemi in apparecchiature di tipo portatile, e quindi, alimentate a batteria. Le cause di maggior consumo energetico nei sistemi digitali sono due: l albero di distribuzione del clock (70 80%) e la commutazione di lunghe linee globali (5 10%). Per cercare di mitigare questi fattori, si è scelto di sviluppare un sistema regolare e ripetuto, con comunicazione asincrona tra i diversi core. Questa caratteristica permette di semplificare notevolmente l albero di distribuzione del clock, e in particolar modo, evita la presenza di segnali globali. Sempre per lo stesso motivo è poi possibile applicare uno sfruttamento energetico più mirato, abbassando dinamicamente la frequenza di funzionamento dei core che richiedono una minor potenza computazionale. La soluzione proposta appare poi favorevole in termini di costi di progetto, in quanto, una volta progettato l elemento computazionale elementare, è possibile ottenere un sistema più complesso replicando in maniera ordinata l elemento stesso. In particolare non vi sono vincoli sulla dimensione del sistema così ottenuto. Questo lavoro presenta la struttura seguente:

18 4 Introduzione Nel corso del primo capitolo verranno descritte le problematiche principali nello sviluppo di un MPSoC regolare ed omogeneo e definiti i parametri di progetto più significativi. Nel secondo capitolo vengono invece presentate alcune soluzioni presenti in letteratura, tra cui PicoChip, Raw e HS-Scale. Nel terzo capitolo viene presentata tutta l architettura sviluppata in questo lavoro, partendo dalla descrizione della cella elementare, fino alla definizione del sistema complessivo e delle relative caratteristiche in termini prestazionali e di ingombro. Nel corso del quarto capitolo viene presentata la piattaforma software sviluppata al fine di realizzare un ambiente di sviluppo per applicazioni distribuite, ispirato al modello MPI. Nel quinto ed ultimo capitolo viene descritta l implemntazione sull MPSoC proposto di un algoritmo di motion detection.

19 Capitolo 1 Sistemi on chip multi-processore La moderna tecnologia litografica mette a disposizione una quantità sempre maggiore di risorse integrabili all interno di un chip. Questa tendenza ha permesso lo sviluppo di SoC (Systems on Chip) sempre più complessi e ricchi di funzionalità. A questo processo di crescita non è però corrisposto un adeguato processo di sviluppo delle potenzialità progettuali degli sviluppatori di architetture digitali, il che ha provocato un gap tra l ammontare delle risorse fisicamente disponibili e quelle effettivamente sfruttabili. Per colmare questo divario, la tendenza che si sta sviluppando negli ultimi anni, è quella di sostituire sempre più parti del sistema, progettate specificatamente per un particolare applicazione, (ASIC Application Specific Integrated Circuit) con architetture programmabili [13]. Questa scelta comporta molteplici vantaggi sia in termini di tempistiche di sviluppo che in termini di flessibilità del sistema ottenuto. Le tempistiche di progetto vengono notevolmente accelerate, in quanto, grazie questa nuova filosofia, è possibile includere nel progetto sistemi sotto forma di IP Core reuse. In questo modo è possibile sfruttare un numero molto elevato di MOS semplicemente instanziando un blocco del quale si conosce interfaccia e funzionamento, senza però doversi preoccupare dei dettagli implementativi. Un ulteriore beneficio derivato dall utilizzo di SoC basato su microprocessori, è l intrinseca flessibilità derivata dalle architettura programmabili via software. Questa flessibilità si traduce poi nella possibilità modificare il comportamento di parti particolarmente critiche del SoC,

20 6 Sistemi on chip multi-processore semplicemente con una riprogrammazione sotware. Sempre derivata da questa flessibilità, c è la possibilità di applicare un trade off tra prestazioni e consumi energetici. L adozione di diversi core di elaborazione all interno dei SoC ha portato alla nascita dei così detti MPSoC (Multi Processor SoC). D altra parte, l utilizzo intensivo di sistemi sotto forma di IP, fa si di ottenere un sistema particolarmente eterogeneo, dove ogni singola parte del sistema ha diverse condizioni operative ottimali. L adozione di un unico clock distribuito genera diverse problematiche tra cui: L impossibilità di ogni modulo, di operare in condizioni ottimali, che porta ad ottenere un progetto non in grado di sfruttare al massimo i sotto sistemi che lo compongono. La distribuzione del clock risulta essere la maggior causa di consumo energetico del SoC. Il controllo del clock skew all interno dell intero chip diventa molto complesso. Per ovviare a queste problematiche la soluzione sarebbe implementare un sistema totalmente asincrono dove appunto ogni blocco è in grado di operare alla propria frequenza ideale e non vi è più la necessità di un unico segnale di clock distribuito. La problematica maggiore nella realizzazione di sistemi di questo tipo, deriva dalla mancanza di sistemi di progettazione efficienti come quelli a disposizione per la progettazione di sistemi totalmente sincroni. Una soluzione possibile, consiste nel realizzare sistemi localmente sincroni, ma globalmente asincroni; i così detti GALS (Globally Asynchronous Locally Synchronous). Questi tipi di progetti, prevedono la realizzazione di sottosistemi sincroni progettati e simulati con i consueti tool di progettazione, mentre la parte asincrona del progetto riguarda solo le interfacce di comunicazione tra i diversi dispositivi. Questo tipo di soluzione comporta notevoli vantaggi anche in termini di progettazione della distribuzione del segnale di clock, infatti, ogni sotto

21 1.1 Network on Chip 7 sistema sincrono ha il proprio clock e, l albero di distribuzione, viene suddiviso in contesti più piccoli, con notevoli vantaggi anche in termini di consumo energetico. Diventa infatti possibile, gestire indipendentemente diverse parti del sistema, in termini di frequenza operativa e anche di voltaggio di alimentazione, tale metodologia viene definita DVFS (Dynamic Voltage Frequency Scaling). Un ulteriore problema che affligge i SoC, soprattutto in presenza di molti moduli IP, è la mancanza di scalabilità del sistema, legata alla complessità delle interconnessioni all interno del chip, che porta ad avere piste sempre più lunghe e penalizzanti dal punto di vista capacitivo. Per ovviare a questa problematica, i moderni MPSoC, prevedo l adozione di reti di comunicazione integrate all interno del chip (NoC Network on Chip). Queste soluzioni offrono una maggiore scalabilità del sistema rispetto i classici sistemi basati su un bus. Dal punto di vista architetturale vi sono due diverse tipologie di sistemi MPSoC, omogenei e eterogenei. In un MPSoC omogeneo, tutti i core di elaborazione sono perfettamente identici, e i vari processi di una applicazione, possono essere eseguiti indistintamente da ognuno di essi. Un sistema eterogeneo, invece, prevede l integrazione di diverse tipologie di processori o blocchi di calcolo, ognuno deputate ad un particolare compito. Un classico esempio di sistemi di tipo eterogeneo è rappresentato dalle ultime generazioni di cellulari, questi tipi di apparecchi, infatti, possono includere al loro interno da quattro a otto processori [2], tra cui: un processore RISC per la gestione dell interfaccia utente, un DSP per la gestione della voce, più una serie di altri processori per la gestione di audio, video e fotocamera digitale. 1.1 Network on Chip I sistemi a bus sono ampiamente utilizzati per la comunicazione tra i vari blocchi funzionali all interno dei chip. Per sistemi di comunicazione semplici, potrebbe essere previsto un semplice bus comune a tutte le parti del sistema, mentre per sistemi più complessi, è necessario un sistema a bus gerarchico. Questo tipo di soluzione è ispirata a quella utilizzata a livello di scheda e, in un primo momento, è risultata vantaggiosa grazie

22 8 Sistemi on chip multi-processore all esperienza maturata dai progettisti in tale contesto. I vantaggi derivati da sistemi basati su bus sono poi: la compatibilità con le interfacce proposte dai processori e la bassissima latenza che offrono una volta terminata la procedura di risoluzione di eventuali conflitti [14]. Questo tipo di soluzione risulta però inadeguata al crescere del numero di dispositivi di calcolo che hanno la possibilità di accedervi [9] [20]. Questa problematica, Figura 1.1: Sistema di comunicazione basato su Bus deriva dal fatto che la banda messa a disposizione dal bus viene condivisa, a divisione di tempo, da tutti dispositivi che vi sono collegati. Tale banda risulta poi limitata anche in virtù della frequenza massima a cui un bus è in grado di operare, limitazione data soprattutto dalla lunghezza delle interconnessioni. Per i nuovi sistemi MPSoC si rende quindi necessario un diverso approccio. La soluzione a questo problema sono le NoC (Network on Chip). Nelle NoC, ogni processore, è collegato esclusivamente ai processori immediatamente adiacenti, attraverso un canale di comuni-

23 1.1 Network on Chip 9 cazione punto a punto. La comunicazione tra i diversi nodi della rete, avviene mediante scambio di pacchetti. Per raggiungere il destinatario, quindi, ogni pacchetto può passare attraverso differenti nodi e il tragitto percorso da due messaggi consecutivi e aventi lo stesso destinatario, non è detto seguano lo stesso percorso [16]. Ispirata dalle reti di computer, il Figura 1.2: Esempio di sistema di comunicazione basato su NoC protocollo di comunicazione, si basa su un adattamento del stack di comunicazione OSI a 7 livelli [1] [20]. Le tematiche che devono essere prese in considerazione, per il progetto di una NoC, sono la tipologia della rete (connessione dei canali di comunicazione), il protocollo di comunicazione (il modo in cui avviene la comunicazione tra i diversi canali), formato dei

24 10 Sistemi on chip multi-processore pacchetti (definizione dei pacchetti attraverso la quale avviene la comunicazione) e frequenza massima di funzionamento. La caratteristica peculiare di questo sistema, è che la banda messa a disposizione dalla NoC cresce linearmente con il numero di sistemi di cui è composta [2] mantenendo al contempo il sistema molto più scalabile [3] rispetto un sistema a bus. L elemento centrale di queste architetture sono i dispositivi che implementano la comunicazione, i router. Questi dispositivi accompagnano ogni elemento (processore o qualsiasi sistema, anche più complesso) raggiunto dalla NoC ed implementano le funzionalità di rete necessarie per la comunicazione di tutti i canali. Dal punto di vista della topologia, vi sono differenti alternative: regolare e irregolare. Il primo caso, mostrato in figura 1.2, comporta notevoli vantaggi dal punto di vista progettuale e permette un facile controllo su tutti parametri elettrici dalla linea di comunicazione, non che, sui disturbi che la affliggono (es: crosstalk). D altra parte, una simile implementazione, potrebbe causare un utilizzo sbilanciato della rete, con parti di essa congestionate e parti sotto utilizzate. Ovviamente solo una corretta politica di instradamento dei messaggi, può cercare di far fronte a questa problematica. La progettazione di NoC irregolare, presenta notevoli vantaggi in termini di ottimizzazione della congestione del traffico, ma presuppone un iter di progettazione più difficoltoso: si perdono i vantaggi che si hanno in fase di definizione del layout che consegue a una struttura regolare e si presenta la necessità di valutare a priori i nodi di rete maggiormente critici. La NoC può poi essere organizzata secondo diverse topologie. In figura 1.3 vengono presentati alcuni esempi. Ognuno degli approcci proposti, comporta un diverso trade-off tra diverse metriche che caratterizzano una NoC, tra cui: complessitá delle interconnessioni, prestazioni delle interconnessioni, complessità dei router, distanza media tra i vari elementi della rete, e ovviamente, scalabilità del sistema. La scelta di una particolare topologia, dipende ovviamente dall aspetto tecnologico più rilevante nel progetto del particolare SoC.

25 1.2 Dynamic Voltage and Frequency Scaling 11 Figura 1.3: Diverse topologie di una NoC 1.2 Dynamic Voltage and Frequency Scaling Molte delle applicazioni per cui un MPSoC potrebbe essere utilizzato, potrebbero essere di tipo portatile. Da qui, la necessità di ridurre al minimo il consumo energetico dei dispositivi, al fine, di allungare la durate delle batterie attraverso le quali questi sistemi sono alimentati. Durante il normale utilizzo, molti dei processori presenti nel sistema non vengono utilizzati al massimo delle potenzialità computazionali, ma, per la maggior parte del tempo, sono inattivi, o eseguono calcoli non critici, per i quali non è necessaria la massima velocità. Risulta evidente come un tale scenario comporti un notevole spreco energetico qualora questi processori, rimangano attivi, o operanti alla massima frequenza. Una tecnica progettuale in grado di porre rimedio a questa problematica è chiamata DVFS (Dynamic Voltage and Frequency Scaling). Mediante questa tecnica, è possibile modificare a run time, sia la frequenza di lavoro di un particolare processore si la sua tensione di alimentazione, qualora il processore non necessiti del massimo

26 12 Sistemi on chip multi-processore delle prestazioni (es: compito di controllo) [15]. Un esempio il Pentium M. L adozione poi di sistemi di tipo GALS [20], permette di attuare questo tipo di scaling a ognuno dei processori, con la minima interferenza nei confronti degli altri. In questo modo, non solo è possibile spegnere parti inutilizzate del circuito, ma è possibile anche regolare la capacità computazionale di ogni dispositivo in base al carico di lavoro richiesto. Questo tipo di soluzione comporta quindi un notevole risparmio energetico. 1.3 Modello di programmazione La sfida maggiore che riguardante i sistemi MPSoC, è derivata dalla difficoltà di programmazione. Lo sviluppo di software per sistemi con un singolo core di elaborazione, avviene ormai da molti anni, e tradurre un algoritmo attraverso un linguaggio di tipo sequenziale risulta immediato [4]. La prima forma di parallelismo introdotta, è stata quella a livello di istruzione (ILP Instruction Level Parallelism) la quale aveva come base hardware, processori di tipo superscalare, dotati cioè di più canali di elaborazione o datapath. In questo caso, erano i compilatori a cercare di estrarre massimo del parallelismo che era possibile ottenere dal particolare algoritmo. A questo tipo di approccio se ne è contrapposto, o in certi casi aggiunto, un secondo, il quale si pone ad un livello superiore e porta a definire un parallelismo a livello di processo o thread (TLP Thread Level Parallelism). Questo tipo di approccio assicura maggiori prestazioni e flessibilità rispetto il ILP [1]. Risulta evidente come i sistemi MPSoC si prestino naturalmente al supporto di questo tipo di programmazione [8]. Dal punto di vista dell organizzazione della memoria, vi sono anche in questo caso due differenti approcci. Il primo prevede un unica memoria condivisa da tutti i processori, dove ognuno di essi ne ha una visione globale (SMP Symmetric Multi Processing), il secondo, invece, prevede che ognuno di essi abbia una memoria locale dedicata (AMP Asimmetric Multi Processing). Lo scenario che si presenta quindi è quello in cui una moltitudine di processi vengono eseguiti simultaneamente, con la possibilità di scam-

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57 I Indice generale Prefazione viii 1 Il calcolatore: astrazioni e tecnologia 1 1.1 Introduzione 1 Tipi di calcolatore e loro caratteristiche 2 Cosa si può imparare da questo libro 5 1.2 Cosa c è dietro

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Architetture DSP. Capitolo 6

Architetture DSP. Capitolo 6 Capitolo 6 Architetture DSP Un convertitore analogico-digitale (ADC) trasforma un segnale a tempo continuo in una sequenza di bit; viceversa un convertitore digitale-analogico (DAC) trasforma una sequenza

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

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

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

Dettagli

IL DSP - Digital Signal Processor

IL DSP - Digital Signal Processor IL DSP - Digital Signal Processor Processore dei segnali digitali 1. Generalità Il Digital Signal Processor (DSP, processore di segnali digitali) è un particolare tipo di microprocessore, ottimizzato per

Dettagli

Introduzione alle architetture dei processori

Introduzione alle architetture dei processori Architettura dei microprocessori Argomenti CLASSIFICAZIONE MICROPROCESSORI Basic concepts 80x86, x64 Architettura pc Tecniche per incrementare le prestazioni 07/08 CLASSIFICAZIONE ELABORATORI(MICROPROCESSORI)

Dettagli

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod. Sistemi Distribuiti Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto 19.1 Introduzione A metà degli anni quaranta inizia l era dei calcolatori elettronici

Dettagli

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione Sistemi Distribuiti Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto A metà degli anni quaranta inizia l era dei calcolatori elettronici moderni: grandi, costosi e

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM Davide Barbieri Contatti skype: davbar86 mail: davide.barbieri@ghostshark.it Panoramica corso Introduzione al mondo delle GPU Modello GPGPU Nvidia

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

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

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Elementi di Reti per Telecomunicazioni

Elementi di Reti per Telecomunicazioni Elementi di Reti per Telecomunicazioni (Parte II) Topologie ed Interfacciamento di Reti Corso di Telecomunicazioni Anno Accademico 2004/2005 Contenuti Introduzione alle reti di TLC. Topologie di Reti per

Dettagli

CORSO I.F.T.S TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE

CORSO I.F.T.S TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE CORSO I.F.T.S TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE Ing. Mariano Di Claudio Lezione del 24/09/2014 Indice 1. Aspetti di Data Management CouchBase 2. Aspetti Architetturali Infrastruttura

Dettagli

A Palazzo Madama la sicurezza è di casa

A Palazzo Madama la sicurezza è di casa A Palazzo Madama la sicurezza è di casa di Giovanni Contardi, Responsabile Security & Safety del Senato della Repubblica e Fabio Garzia, Docente di Sistemi di Sicurezza Anticrimine nel corso di laurea

Dettagli

Introduzione alle architetture parallele

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

Dettagli

Il Personal Computer

Il Personal Computer Il Personal Computer 18 Hardware 1 Hardware: componenti fisiche dell elaboratore; la forma e le prestazioni dell hardware variano in funzione del tipo di elaboratore Principali componenti hardware: unità

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Parte VIII. Architetture Parallele

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

Dettagli

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Università degli Studi di Messina Ingegneria delle Tecnologie Industriali Docente: Ing. Mirko Guarnera 1 Approccio al corso Approccio IN OUT Visione Globale solo insieme alla programmazione 2 1 Contenuti

Dettagli

Lezioni frontali. Riprendere i concetti basilari del processore utilizzato e la programmazione a basso livello

Lezioni frontali. Riprendere i concetti basilari del processore utilizzato e la programmazione a basso livello Istituto Istruzione Superiore di Baronissi ind. tecnico PROGRAMMAZIONE DIDATTICA DI SISTEMI Indirizzo: Informatica Progetto Abacus Anno scolastico 2012-2013 Classe 4^ MODULI CONTENUTI OBIETTIVI METODOLOGIE

Dettagli

Corso di Sistemi di Elaborazione A.A. 2008/2009

Corso di Sistemi di Elaborazione A.A. 2008/2009 Università di Ferrara Facoltà di Ingegneria Docente: Ing. Massimiliano Ruggeri Mail: m.ruggeri@imamoter.cnr.it mruggeri@ing.unife.it Tel. 0532/735631 Corso di Sistemi di Elaborazione A.A. 2008/2009 Durata:

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

Input/Output: bus, interfacce, periferiche

Input/Output: bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Appunti di Antonio BERNARDO Corso di Informatica di base A. Bernardo, Informatica di base 1 1 Compiti del computer Elaborazione di dati Memorizzazione di dati Scambio di

Dettagli

Lezione R14. Sistemi embedded e real-time

Lezione R14. Sistemi embedded e real-time Lezione R14 Sistemi embedded e 22 gennaio 2013 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R14.1 Di cosa parliamo in questa lezione? In

Dettagli

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco Informatica Appunti Luiss Marco D Epifanio Informatica Esplicazione del manuale e delle slide Marco Liberamente tratto da Introduzione alle tecnologie informatiche e ai sistemi informativi aziendali, McGraw.

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Reti di computer. Agostino Lorenzi - Reti di computer - 2008

Reti di computer. Agostino Lorenzi - Reti di computer - 2008 Reti di computer Telematica : termine che evidenzia l integrazione tra tecnologie informatiche e tecnologie delle comunicazioni. Rete (network) : insieme di sistemi per l elaborazione delle informazioni

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

Conoscere la terminologia di base attraverso la presentazione delle principali componenti hardware di un computer.

Conoscere la terminologia di base attraverso la presentazione delle principali componenti hardware di un computer. Classe 3^ Istituto Istruzione Superiore di Baronissi ind. tecnico PROGRAMMAZIONE DIDATTICA DI Sistemi e Reti Articolazione: Informatica Anno scolastico 2012-2013 MODULI CONTENUTI OBIETTIVI METODOLOGIE

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

Architetture di router IP

Architetture di router IP Torino, novembre 2004 Reti e sistemi telematici Architetture di router IP Gruppo Reti TLC giancarlo.pirani@telecomitalia.it http://www.telematica.polito.it/ GIANCARLO PIRANI TELECOM ITALIA LAB ROUTER IP

Dettagli

Livello logico digitale. bus e memorie

Livello logico digitale. bus e memorie Livello logico digitale bus e memorie Principali tipi di memoria Memoria RAM Memorie ROM RAM (Random Access Memory) SRAM (Static RAM) Basata su FF (4 o 6 transistor MOS) Veloce, costosa, bassa densità

Dettagli

Elettronica dei Sistemi Digitali Dispositivi logici programmabili

Elettronica dei Sistemi Digitali Dispositivi logici programmabili Elettronica dei Sistemi Digitali Dispositivi logici programmabili Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 6013 Crema e-mail: liberali@dti.unimi.it http://www.dti.unimi.it/

Dettagli

Sistemi VLSI Alberto Scandurra

Sistemi VLSI Alberto Scandurra Sistemi VLSI Alberto Scandurra Physical Layer & Back-End group, On Chip Communication Systems STMicroelectronics Catania, Italy Agenda Definizioni: sistemi SSI, MSI, VLSI, ULSI Concetto di System on Chip

Dettagli

La Gestione delle risorse Renato Agati

La 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

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Corso di Sistemi Automatici di Misura

Corso di Sistemi Automatici di Misura Corso di Sistemi Automatici di Misura GENERALITA SUL VXI BUS Oggi che i sistemi di misura automatici costituiscono una realtà consolidata, l interesse va spostandosi sempre più verso la qualità dell automazione

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

PDA ADFL Consulting Srl

PDA ADFL Consulting Srl PDA ADFL Consulting Srl Il punto 13/04/2007 PDA ARM9 - ADFL Consulting - 1 Analisi del Mercato Al settore di business che per primo ha richiesto un intervento, è stata applicata un analisi con logica top-down

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

Architetture parallele

Architetture parallele 1 Calcolatori paralleli A meno di una nuova rivoluzione scientifica la legge di Moore (che pronostica un raddoppio del numero di transistor su un singolo chip ogni 18 mesi) non potrà rimanere valida per

Dettagli

L Architettura di un Calcolatore

L Architettura di un Calcolatore ASTE Information Technology Excellence oad (I.T.E..) L Architettura di un Calcolatore aurizio Palesi Salvatore Serrano aster ITE Informatica di Base aurizio Palesi, Salvatore Serrano 1 Sommario Architettura

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

network subnet host Classe A poche reti di dimensioni molto grandi 127

network subnet host Classe A poche reti di dimensioni molto grandi 127 INDIRIZZAMENTO IP Gli indirizzi IP, che devono essere univoci sulla rete, sono lunghi 32 bit (quattro byte) e sono tradizionalmente visualizzati scrivendo i valori decimali di ciascun byte separati dal

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Il processore SHARC ADSP-21262

Il processore SHARC ADSP-21262 2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente

Dettagli

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Realizzazione del file system Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Realizzazione

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

Calcolatori Elettronici

Calcolatori 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

Dettagli

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO.

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO. Sistemi Operativi Il Sistema Operativo Corso di Informatica Generale (Roberto BASILI) Cos'è un sistema operativo? Un sistema operativo e': La astrazione logica del livello macchina hardware e microprogrammata

Dettagli

Reti, Protocolli e Indirizzi. DIMENSIONE della RETE. Arpanet e Internetworking. Topologia a Stella

Reti, Protocolli e Indirizzi. DIMENSIONE della RETE. Arpanet e Internetworking. Topologia a Stella Premessa breve Reti, Protocolli e Indirizzi Lo sviluppo delle telecomunicazioni ha avuto due fattori determinanti : L esistenza di una rete esistente (quella telefonica) La disponibilita di HW e SW adeguati

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione 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

Dettagli

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria interna Registri interni alla CPU Visibili

Dettagli

PARTE II PROGRAMMAZIONE PARALLELA

PARTE II PROGRAMMAZIONE PARALLELA PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Introduzione ai Microcontroller

Introduzione ai Microcontroller Corso di Percezione Robotica - Prof.ssa Cecilia Laschi 23/04/2009 Introduzione ai Microcontroller Dr. Virgilio Mattoli (mattoli@crim.sssup.it) Processori Embedded I microprocessori embedded sono contenuti

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

CPU pipeline 4: le CPU moderne

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

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE ARCHITETTURE DEI SISTEMI DI ELABORAZIONE 1 SISTEMI ACCENTRATI CARATTERISTICHE Sistemi proprietari Monocultura Scarsa diffusione informatica Backlog 2 Soluzione centralizzata TERMINALE TERMINALE ELABORATORE

Dettagli

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

Dettagli

Informazioni. Libri di testo. Informazioni. Corso di Sistemi Operativi. Corso di recupero per matricole pari. Docente: Prof.

Informazioni. Libri di testo. Informazioni. Corso di Sistemi Operativi. Corso di recupero per matricole pari. Docente: Prof. Impossibile visualizzare l'immagine. Informazioni Docente: Prof.ssa Adele Rescigno e-mail: arescigno@unisa.it Corso di Sistemi Operativi Corso di recupero per matricole pari http://www.di.unisa.it/professori/rescigno/so/lo.htm

Dettagli

Sistemi Operativi per Calcolatori Paralleli

Sistemi Operativi per Calcolatori Paralleli Sistemi Operativi per Luigi Pomante Università degli Studi dell Aquila Centro di Eccellenza DEWS - DISIM luigi.pomante@univaq.it Sommario Introduzione Generalità Aspetti HW Architetture UMA Architetture

Dettagli

L Informatica al Vostro Servizio

L Informatica al Vostro Servizio L Informatica al Vostro Servizio Faticoni S.p.A. è Certificata UNI ENI ISO 9001:2008 N. CERT-02228-97-AQ-MILSINCERT per Progettazione, Realizzazione, Manutenzione di soluzioni Hardware e Software Soluzioni

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole. Corso introduttivo sui microcontrollori A. S. 2007 2008 Microcontrollori Microchip PIC 8 bit Nicola Amoroso namoroso@mrscuole.net NA L2 1 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface

Dettagli

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

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

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI 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

Dettagli

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

CPU. Maurizio Palesi

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

Dettagli

Reti di calcolatori. Lezione del 10 giugno 2004

Reti di calcolatori. Lezione del 10 giugno 2004 Reti di calcolatori Lezione del 10 giugno 2004 Internetworking I livelli 1 fisico e 2 data link si occupano della connessione di due host direttamente connessi su di una rete omogenea Non è possibile estendere

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

DEFINIZIONE 1/2 memoria ad accesso casuale RAM

DEFINIZIONE 1/2 memoria ad accesso casuale RAM CORSO BASE DI TECNICO RIPARATORE HARDWARE RAM Docente: Dott. Ing. Antonio Pagano DEFINIZIONE 1/2 In informatica la memoria ad accesso casuale, acronimo RAM (del corrispondente termine inglese Random-Access

Dettagli

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 14 Sistemi operativi 9 giugno 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 14.1 Di cosa parliamo in questa lezione? Ottimizzazione degli accessi alla

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

Dettagli

Introduzione. 1.1 Evoluzione della progettazione dei sistemi digitali

Introduzione. 1.1 Evoluzione della progettazione dei sistemi digitali 1 Introduzione 1.1 Evoluzione della progettazione dei sistemi digitali I primi sistemi digitali intesi come sistemi di elaborazione basati su tecnologie elettriche o elettromeccaniche e operanti su informazione

Dettagli

1. Hard Real Time Linux (Laurea VO o specialistica)

1. Hard Real Time Linux (Laurea VO o specialistica) 20/9/06 Elenco Tesi Disponibili Applied Research & Technology Dept. La Società MBDA La MBDA Italia è un azienda leader nella realizzazione di sistemi di difesa che con i suoi prodotti è in grado di soddisfare

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo

Di seguito ci accingiamo ad analizzare le possibili configurazioni di architettura: Server singolo La progettazione dell architettura si concentra sulla scelta dell hardware, dell infrastruttura di rete, e dei componenti software che andranno a costituire il sistema. Gli obbiettivi tecnologici che il

Dettagli