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-

Parte IV Architettura della CPU Central Processing Unit

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

Dettagli

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

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

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto Università degli studi di Salerno Laurea in Informatica I semestre / Commutazione di Pacchetto Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Svantaggi della Commutazione

Dettagli

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

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

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

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

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

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

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

Le prestazioni di un sistema informatico

Le prestazioni di un sistema informatico Le prestazioni di un sistema informatico - Dal punto di vista dell'utente finale, un calcolatore è più veloce di un altro se esegue lo stesso compito in un tempo inferiore. - Il direttore di un centro

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

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

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

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

La tecnica proporzionale

La tecnica proporzionale La tecnica proporzionale Regolatori di pressione La tecnica proporzionale Regolatori di pressione La tecnica proporzionale La tecnica proporzionale Controllo direzione e flusso La tecnica proporzionale

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

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

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

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

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

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

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

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

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 Architettura dei calcolatori I parte Introduzione,

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

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

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

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

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

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

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

Dettagli

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

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

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

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

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

Indice generale VIII

Indice generale VIII Indice generale Indice dei box di approfondimento X Prefazione XII Ringraziamenti dell Editore XIV Guida alla lettura XV Capitolo 1 Introduzione 1 1 1 Trattamento dell informazione e strumenti per il trattamento

Dettagli

10 argomenti a favore dell over IP

10 argomenti a favore dell over IP Quello che i fornitori di telecamere analogiche non dicono 10 argomenti a favore dell over IP Le telecamere di rete non sono certo una novità, infatti il primo modello è stato lanciato nel 1996. Nei primi

Dettagli

Il sistema di elaborazione

Il sistema di elaborazione Il sistema di elaborazione Stefano Brocchi stefano.brocchi@unifi.it Stefano Brocchi Il sistema di elaborazione 1 / 37 Informatica Il termine informatica deriva dalle parole informazione e automatica Stefano

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

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

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

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

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

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

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

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

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

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

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

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Livelli di rete e architettura Client-Server Lez 12 architettura client-server 1 Scorsa lezione: comunicazione Gli utenti chiedono comunicazione

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

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

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

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

INTRODUZIONE AI SISTEMI EMBEDDED

INTRODUZIONE AI SISTEMI EMBEDDED 1 INTRODUZIONE AI SISTEMI EMBEDDED DEFINIZIONE DI SISTEMA EMBEDDED SVILUPPO HW/SW DI SISTEMI EMBEDDED \ DEFINIZIONE DI SISTEMA EMBEDDED UN SISTEMA EMBEDDED È UN SISTEMA DI ELABORAZIONE (COMPUTER) SPECIALIZZATO

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

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

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

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

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

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Reti di calcolatori. Permettono la condivisione di risorse (hardware e software) e la comunicazione con gli altri utenti. Reti di calcolatori

Reti di calcolatori. Permettono la condivisione di risorse (hardware e software) e la comunicazione con gli altri utenti. Reti di calcolatori Reti di calcolatori Permettono la condivisione di risorse (hardware e software) e la comunicazione con gli altri utenti Reti di calcolatori Anni 70: calcolatori di grandi dimensioni, modello time-sharing,

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Controllo logico sequenziale

Controllo logico sequenziale Controllo logico sequenziale Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO INTRODUZIONE REALIZZAZIONE SU EMBEDDED SYSTEM REALIZZAZIONE SU PLC REALIZZAZIONE SU SOFT PLC Via Ariosto

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

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

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

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

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

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

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

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

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6 GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

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

RETI INDUSTRIALI. Sistemi di rete a cablatura tradizionale. Sistemi di rete a cablatura innovativa Bus. Introduzione GERARCHIA DI CONTROLLO

RETI INDUSTRIALI. Sistemi di rete a cablatura tradizionale. Sistemi di rete a cablatura innovativa Bus. Introduzione GERARCHIA DI CONTROLLO RETI INDUSTRIALI Ing.Francesco M. Raimondi www.unipa.it\fmraimondi Lezioni del corso di Automazione Industriale Dipartimento di Ingegneria dell Automazione e dei Sistemi GERARCHIA DI CONTROLLO Ing. F.M.

Dettagli

Migliorare le prestazioni di processori e memorie

Migliorare le prestazioni di processori e memorie Migliorare le prestazioni di processori e memorie Corso: Architetture degli Elaboratori Docenti: F. Barbanera, G. Bella UNIVERSITA DI CATANIA Dip. di Matematica e Informatica Tipologie dei Miglioramenti

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

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

P R O G E T T O L A R S A A P P U N T I S U L P. L. C. P R O G E T T O L A R S A A P P U N T I S U L P. L. C. L automazione di un qualunque procedimento industriale si ottiene mediante un insieme d apparecchiature, opportunamente collegate tra loro, in modo

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

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Reti di Calcolatori IL LIVELLO RETE

Reti di Calcolatori IL LIVELLO RETE Reti di Calcolatori IL LIVELLO RETE D. Talia RETI DI CALCOLATORI - UNICAL 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato

Dettagli

Implementazione di sistemi real time

Implementazione di sistemi real time Implementazione di sistemi real time Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO HARDWARE ABSTRACTION LAYER IMPLEMENTAZIONE EVENT-DRIVEN IMPLEMENTAZIONE TIME-DRIVEN SISTEMI DI

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

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

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

Architettura del PIC 18F452

Architettura del PIC 18F452 Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

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

Ripetitori, bridge, switch, router

Ripetitori, bridge, switch, router Ripetitori, bridge, switch, router Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 04 Segmentazioni - 1/31 Limiti delle LAN Distanze massime tra stazioni Limitano la portata

Dettagli

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN PERSONAL COMPUTER ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...

Dettagli