Introduzione. 1.1 Evoluzione della progettazione dei sistemi digitali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione. 1.1 Evoluzione della progettazione dei sistemi digitali"

Transcript

1 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 presentata in forma numerica (discreta) piuttosto che analogica possono essere fatti risalire alla seconda metà del secolo XIX, con le macchine tabulatrici sviluppate da Hollerith per elaborare i dati di un censimento; la diffusione più ampia di tali sistemi, però, si è vista solo nella seconda metà del secolo XX, grazie alle tecnologie elettroniche. Più precisamente, i sistemi digitali hanno visto estendersi il numero e la rilevanza dei settori di applicazione a partire dagli anni Settanta. Se la rivoluzione digitale è stata resa possibile dallo sviluppo delle tecnologie microelettroniche e in particolare della tecnologia CMOS (Complementary Metal Oxide Semiconductor) è però ben vero che la stessa rivoluzione avrebbe avuto portata molto minore, se non fossero stati disponibili metodi e strumenti di progettazione capaci di supportare il progetto di sistemi di elevatissima complessità, nonché la verifica della validità di tale progetto e la ricerca dei guasti nel sistema realizzato. Dallo spunto iniziale, la possibilità di sintetizzare un qualsiasi sistema digitale, comunque complesso, utilizzando un insieme di pochissimi componenti-base ( componenti universali ) e applicando un numero relativamente ridotto di regole rigorose di sintesi e ottimizzazione, si è sviluppato un approccio molto articolato che consente al progettista di affrontare il problema in modo sistematico, servendosi nelle varie fasi di strumenti di progettazione assistita dal calcolatore (i cosiddetti CAD tool,dove CAD sta per Computer Aided Design) e facendo ampio uso di blocchi preprogettati e ottimizzati con i quali costruire il proprio sistema. Tutto ciò permette di progettare in tempi ridotti e con costi accettabili sistemi molto complessi, e di continuare quindi a estendere i confini della famosa rivoluzione. È quindi ragionevole affrontare il problema della progettazione dei sistemi digitali in termini essenzialmente informatici (come si farà in questo libro) piuttosto che elettronici: la fase di progetto e ottimizzazione elettronica, volta a costruire i blocchi elementari già citati, può essere di fatto separata da quella di progetto di sistema, e al progettista di quest ultimo non si chiedono conoscenze di dettaglio in campo elettronico. Chiaramente, una sia pur modesta conoscenza delle caratteristiche e del comportamento dei dispositivi elettronici è, se non del tutto indispensabile, certamente molto utile per comprendere aspetti di fattibilità, particolari limiti di applicazione, motivazioni sottostanti la scelta di specifiche cifre di merito, e così via. La progettazione di un sistema digitale inizia così da una specifica funzionale che descrive comportamento e interfaccia di ingresso-uscita del sistema, per giungere attraverso una successione di passi di sintesi e ottimizzazione fino ad arrivare alla trasposizione (mapping) su una specifica tecnologia microelettronica, secondo un tipico approccio dall alto verso il basso (top-down). Fra i vantaggi di una metodologia come questa, non ultima è la possibilità di trasportare uno stesso progetto di sistema attraverso tecnologie differenti, cosa certamente non possibile se il progetto venisse affrontato immediatamente al livello di astrazione più basso.

2 1.2 Flusso di progettazione dei sistemi digitali Attualmente, parlando di sistemi di grande complessità (non necessariamente digitali o anche più generalmente elettronici) si fa spesso riferimento al concetto di livello di astrazione. Un livello di astrazione può essere visto come correlato, da un lato, all informazione riguardante la realizzazione fisica (o implementazione) del sistema (quanto più alto è il livello di astrazione a cui si descrive un sistema, tanto più i dettagli relativi l implementazione risultano nascosti) e, dall altro lato, all informazione che definisce le funzionalità e il comportamento del sistema come questi vengono visti dall utente finale (il quale di norma ben comprende una descrizione in termini generali del comportamento del sistema, mentre non riuscirebbe ad astrarla da una descrizione in termini di componenti elettronici!). Si pensi per esempio a un sistema complesso di grandissima diffusione quale la centralina elettronica per il controllo di un auto: al massimo livello di astrazione, si vuole sapere semplicemente come la centralina gestirà il controllo dell iniezione piuttosto che quello dell ABS, in risposta alle diverse condizioni di funzionamento e agli stimoli esterni, indipendentemente dalla tecnologia di realizzazione. A un livello di astrazione più basso, si vuole definire l architettura della centralina, tipicamente, in termini di una struttura costituita da microprocessori, memorie, circuiti digitali progettati ad-hoc, interconnessioni fra i diversi blocchi ecc. Se ci si fermasse alla descrizione della struttura hardware, una buona parte della conoscenza riguardante il comportamento verrebbe a mancare, dato che tale comportamento dipenderebbe dal software eseguito dai microprocessori. A livelli di astrazione ancora più bassi, non risulta più possibile riconoscere microprocessori o circuiti specifici, ma si vedrebbero solo un gran numero di componenti digitali elementari (le cosiddette porte logiche ) collegati fra loro; al livello minimo possibile, esaminando con un microscopio di grande potenza il circuito integrato, non vedremmo che schemi geometrici che compongono le cosiddette maschere di integrazione realizzate sul substrato di silicio. Il progetto di un sistema digitale può essere affrontato a diversi livelli di astrazione: da quello più elevato di sistema a quello più basso quello di porta logica (i livelli sottostanti sono propri piuttosto dell elettronica). Idealmente, si può considerare un completo flusso di progettazione di tipo top-down che può essere rappresentato schematicamente come in Figura 1.1: Livelli di astrazione Compiti di progetto Livello comportamentale Specifica di sistema Livello registrounità funzionale Progetto architetturale Livello logico Progetto logico Livello geometrico Disegno delle maschere Produzione Figura 1.1 Flusso di progettazione dei sistemi digitali.

3 Una descrizione di questo tipo è del tutto indipendente dall insieme di strumenti di progettazione assistita da calcolatore che si utilizzano; in effetti, è addirittura indipendente dal fatto che tali strumenti vengano utilizzati oppure no. Il committente del progetto fornisce delle specifiche del sistema da progettare sia in termini funzionali (che cosa il sistema deve fare e qual è la sua interfaccia con l esterno) sia in termini non funzionali (i vincoli temporali, i limiti al consumo di potenza ecc.). Quello che egli descrive è essenzialmente il comportamento del sistema, unitamente ai vincoli non funzionali. Dalle specifiche funzionali, il progettista digitale deduce uno schema ad alto livello che definisce l architettura in termini di unità funzionali collegate fra loro mediante percorsi di dati e segnali di controllo; anche in questo caso e a seconda della natura del sistema possiamo in realtà distinguere più livelli di dettaglio: per esempio, dal livello microprocessore memorie unità di collegamento col mondo esterno verso una descrizione in termini di unità aritmetiche contatori memorie elementari. Lo schema architetturale che si ottiene al livello di maggior dettaglio (minore astrazione) ora accennato viene spesso indicato con il termine schema RTL (Register Transfer Level). Dalla descrizione formale RTL si deriva tipicamente, sulla base di vincoli non funzionali, (quali tempo di elaborazione, area, costo ecc.) il progetto logico, che fornisce una rete di porte logiche o di altri componenti di comparabile complessità opportunamente interconnessi: si noti che a questo livello si è persa ogni visibilità, non solo del comportamento, ma anche delle funzionalità svolte e del flusso di controllo. A ogni passaggio da un livello di astrazione più elevato a uno inferiore corrisponde una fase di sintesi, che nel più tradizionale progetto manuale è compiuta dal progettista senza il supporto di strumenti informatici: una sintesi non è solo una trasformazione da un livello a un altro, ma comporta anche un aggiunta di informazione. Si può anche vedere un passo di sintesi come la trasformazione da una specifica (iniziale o intermedia) a un implementazione (completa o intermedia). Si consideri per esempio il passaggio da uno schema RTL, costituito da registri, unità funzionali e strutture di interconnessione, a uno schema a livello di porta logica: lo schema iniziale fornisce una descrizione dell architettura del sistema, e da tale specifica si deduce, mediante la sintesi logica, una struttura logica. Nel corso del passaggio si compiono delle scelte (per esempio, la forma logica scelta, la famiglia di porte logiche, le fasi di ottimizzazione e di conseguenza le relative scelte di merito) che corrispondono ad altrettanti incrementi d informazione. Nelle fasi di sintesi si può ricorrere a strumenti di sintesi automatica, che realizzano il passo richiesto applicando opportuni criteri di ottimizzazione; oggi si tende a non esigere uno strumento di sintesi monolitico, che dalle specifiche comportamentali produca le maschere di integrazione, senza alcun intervento del progettista, ma si preferisce piuttosto prevedere un interazione col progettista stesso che, da un livello all altro, può scegliere fra diversi stili di progetto, differenti cifre di merito rispetto alle quali ottimizzare, diversi vincoli non funzionali da introdurre. Al termine di ogni passo di sintesi si presenta evidentemente la necessità di verificare che il risultato della sintesi il progetto, sia pure parziale, così ottenuto sia congruente con la specifica a partire dalla quale la sintesi è stata effettuata. Se il progetto ha complessità sia pure limitata, una verifica manuale affidata alla buona volontà e all intuito del progettista è del tutto insufficiente. Attualmente, la verifica della correttezza e della completezza delle diverse descrizioni del sistema ottenute ai diversi livelli di astrazione viene compiuta mediante successive fasi di simulazione, utilizzando strumenti di CAD che simulino il funzionamento del sistema (ai diversi livelli di astrazione: funzionale, logico, elettrico) in risposta a opportuni insiemi di stimoli d ingresso (vettori d ingresso). Analizzando i risultati della simulazione, il progettista verifica se questi coincidono con i valori attesi e quindi se il risultato della sintesi è corretto. La simulazione può fornire informazioni di vario tipo: per esempio, riferendosi al livello di porta logica, si può fare una simulazione logica, considerando che tutti i componenti siano ideali e introducano ritardo nullo (in questo caso i risultati ottenuti riguardano solo i valori logici delle uscite, a prescindere dall influenza dei ritardi) oppure si possono introdurre anche le caratteristiche temporali dei componenti e dei segnali e ottenere quindi anche un analisi temporale dei risultati. La parte del flusso di progettazione rilevata in grigio nella Figura 1.1, considerando le attività supportate da tool CAD, si modifica come viene indicato in Figura 1.2.

4 Definizione iniziale dell architettura Descrizione in un linguaggio formale Simulazione ad alto livello Floorplanning Sintesi logica Analisi statica delle temporizzazioni Simulazione logica Librerie di modelli dei componenti Asserzioni temporali Layout guidato delle temporizzazioni Parametri elettrici Analisi statica delle temporizzazioni Verifica tecnologica post-layout Processo di produzione Figura 1.2 Flusso di progettazione e verifica. La simulazione, come si evidenzia in Figura 1.2, richiede la disponibilità di librerie di modelli cui il progettista possa fare riferimento e che vengono richiamate dai programmi di simulazione; in esse sono registrati i modelli dei componenti che il progettista può utilizzare per la simulazione, modelli che forniscono al simulatore l insieme di informazioni necessarie (dal comportamento funzionale a quello logico, elettrico, temporale ecc., a seconda del livello di astrazione cui ci si riferisce e delle informazioni che si vogliono estrarre dalla simulazione). Le stesse librerie vengono di fatto adottate anche durante la sintesi, sebbene l informazione utilizzata in questo caso sia in genere più ridotta. Al programma di simulazione si forniscono in ingresso: la descrizione del sistema da simulare, in un opportuno linguaggio per la descrizione di hardware (HDL Hardware Description Language); la libreria di modelli; i vettori di ingresso. All uscita si ricavano le risposte in termini di livelli logici e le forme d onda dei segnali, eventualmente le temporizzazioni e altri parametri. Si identifica subito il principale problema della verifica per simulazione, e cioè la necessità di determinare un insieme di vettori di ingresso sufficiente a garantire la correttezza del progetto o più propriamente la rispondenza del progetto alle specifiche. A meno che il sistema non sia molto piccolo, una simulazione esaustiva (che valuti cioè le risposte a tutti i possibili vettori d ingresso) è ovviamente improponibile in termini di tempo di calcolo; peraltro, è pressoché impossibile

5 garantire che il sottoinsieme di vettori d ingresso effettivamente adottato sia sufficiente a coprire tutte le situazioni possibili e quindi a fornire la richiesta garanzia. In genere, il progettista deve identificare sulla base della propria esperienza l insieme di situazioni che giudica più critiche ai fini della sollecitazione del sistema; alcuni ben noti casi di circuiti digitali anche di notevole diffusione che hanno mostrato una volta già inseriti sul mercato di essere afflitti da errori di progetto, sono dovuti proprio a una fase di verifica basata su simulazione che non aveva sollecitato tutti i possibili percorsi di attivazione presenti all interno del sistema. Oltre ai diversi livelli di astrazione che si sono finora citati, è possibile che il progettista affronti il sistema digitale partendo da differenti viste: queste sono state schematizzate molto utilmente da Gajski 1 nel cosiddetto diagramma a Y, mostrato in Figura 1.3. Viste e livelli sono ortogonali fra di loro: la vista comportamentale (behavioral) descrive le funzioni indipendentemente dalla implementazione; la vista strutturale descrive il modello come interconnessione di componenti; la vista fisica riguarda gli oggetti fisici di un progetto (es., i transistori). Modelli di sistemi digitali a diversi livelli possono essere osservati sotto diverse viste. Per esempio, a livello architetturale la vista comportamentale di un circuito indica l insieme di operazioni compiute e le dipendenze fra di esse; la vista strutturale precisa invece l interconnessione dei principali blocchi funzionali (unità funzionali, registri ecc.) che compongono il sistema. A livello logico, invece, la vista comportamentale di un circuito per l addizione di due numeri binari è data dalla tabella che descrive l addizione, mentre la vista strutturale dello stesso circuito consiste nella interconnessione di porte logiche secondo uno schema che realizza l addizione. Vista comportamentale Vista strutturale Livello architetturale Livello logico Livello geometrico Vista fisica Figura 1.3 Diagramma a Y delle viste della progettazione digitale. La sintesi può ora essere considerata come un insieme di trasformazioni fra due viste assiali. Così, la sintesi a livello architetturale genera una vista strutturale di un modello a livello architetturale; si assegnano le funzioni del circuito a operatori strutturali (risorse), determinandone le interconnessioni insieme alla temporizzazione dell esecuzione delle operazioni. (Questa fase è detta in genere sintesi ad alto livello). La sintesi a livello logico genera poi una vista strutturale di un modello a livello logico, determinando la struttura del circuito costituito da porte logiche. Infine, la sintesi geometrica è il progetto fisico del circuito: tipicamente, nel caso dei circuiti microelettronici produce il layout del circuito stesso. Rifacendosi allo schema di Figura 1.3, un percorso di sintesi può essere schematizzato come in Figura D. Gajski, N. Dutt, A. Wu e S. Lin, High-Level Synthesis: Introduction to Chip and System Design, Kluwer Academic Press, 1992.

6 A livello architetturale e a livello logico, la sintesi si muove da una vista comportamentale a una strutturale, mentre a livello geometrico ci si muove dalla vista strutturale (lo schema delle porte logiche) alla vista fisica (il layout). Il ricorso a strumenti automatici di simulazione e di sintesi rende evidente l indispensabilità di un linguaggio formale per la descrizione dei circuiti digitali: in effetti, un formalismo rigoroso risulta utile anche indipendentemente dalle attività di CAD per esempio, per garantire che un circuito anche di grande complessità sia accompagnato da una documentazione completa che resti leggibile e comprensibile a un gruppo di progetto che può cambiare nel tempo o a utenti del progetto stesso che vogliano integrare il circuito in un proprio sistema più complesso. Vista comportamentale Livello architetturale Livello logico Livello geometrico Vista strutturale Vista fisica Figura 1.4 Percorso di sintesi sul diagramma a Y. La definizione di linguaggi per la descrizione di hardware ha coinvolto gli studiosi del settore oramai da diversi decenni: si sono distinte due diverse tendenze estendere un linguaggio di programmazione esistente, in modo da supportare le esigenze del progetto hardware, oppure introdurre un linguaggio specifico (sia pure allineato con le caratteristiche dei linguaggi di programmazione recenti) di cui le esigenze della progettazione hardware siano le principali linee guida. Un esempio della prima tendenza è stato Hardware-C, definito presso l Università di Stanford; più recentemente è stato proposto SystemC, estensione del C++. I linguaggi della famiglia HDL oggi di maggiore diffusione (adottati dai più noti pacchetti CAD) seguono invece la seconda tendenza, e sono in particolare Verilog e VHDL 2. Verilog ha origini essenzialmente commerciali, mentre VHDL nasce da un progetto del ministero della difesa americano (il progetto VHSIC) di cui costituiva appunto il linguaggio di descrizione hardware, ed è stato definito in modo da rispondere a un certo numero di requisiti essenziali. Sebbene l obiettivo di questo libro non sia certo lo studio dei linguaggi HDL, nell Appendice A è proposta una breve introduzione a VHDL e SystemC. 1.3 Obiettivi del libro Scopo di questo libro è introdurre il lettore alle metodologie di progetto dei circuiti e sistemi digitali, partendo dal livello di astrazione più basso e dai circuiti più semplici (quindi dal livello di porta logica e dai circuiti combinatori, cioè privi di memoria) per passare a circuiti più complessi e a livelli di astrazione più elevati, muovendosi verso la cosiddetta sintesi ad alto livello che, a partire da una descrizione algoritmica del sistema da progettare, genera un architettura di tipo RTL. Per motivi didattici, è sembrato infatti più opportuno introdurre le metodologie secondo un criterio bottom up (che in questo caso significa anche dal più 2 VHSIC Hardware Description Language, dove VHSIC significa Very High Speed Integrated Circuit.

7 semplice al più difficile ) piuttosto che secondo il criterio top down meglio adottato professionalmente durante l attività progettuale. Facendo ancora una volta riferimento alla Figura 1.1, nel presente libro si affrontano gli aspetti del progetto logico e del progetto architetturale; introducendo formalismi descrittivi, metodologie di sintesi e tecniche di ottimizzazione. La presentazione non esaurisce certo la molteplicità di soluzioni proposte nella letteratura scientifica; in particolare, ci si è voluti concentrare sugli approcci meglio assestati e più ampiamente utilizzati nella pratica. Il lettore potrebbe osservare che di fatto oggi il progettista fa ampio uso di strumenti di progettazione automatica (basati appunto sulle metodologie e sulle tecniche qui descritte) e che quindi teoria e tecniche gli risultano in buona misura trasparenti. È però anche vero che più volte lo stesso progettista si troverà a dover sintetizzare blocchi digitali semplici, per i quali riesce più immediato operare una sintesi manuale; comunque, è indispensabile conoscere le basi teoriche degli strumenti CAD che si utilizzano (o che si valutano per una successiva utilizzazione) per poterne interpretare i risultati e al fine di comprenderne validità e limiti di utilizzo. Spesso inoltre può essere utile intervenire nel flusso automatico di progettazione al fine di guidare gli strumenti là dove sono possibili scelte alternative; ancora una volta, ciò è possibile solo quando il progettista sia in grado di comprendere i criteri secondo i quali gli strumenti medesimi operano. Per indicare come le metodologie descritte siano rispecchiate da strumenti CAD, si farà riferimento nel libro a SIS, un pacchetto software di dominio pubblico sviluppato presso l Università di California a Berkeley, e dotato poi di interfacce grafiche utente presso l Università degli Studi di Verona. Questo strumento CAD permette di applicare direttamente tutti gli algoritmi di progettazione e ottimizzazione descritti nel libro, algoritmi che vengono oramai nascosti all utente nei software commerciali. Inoltre, viene dedicato ampio spazio, in ciascun capitolo del libro, agli aspetti progettuali mediante numerosi esempi di circuiti digitali descritti nei linguaggi VHDL e SystemC. Queste descrizioni possono essere in parte analizzate mediante strumenti CAD di dominio pubblico e in parte solamente mediante strumenti commerciali (si veda l Appendice B). Lo sforzo degli autori in tal senso è stato dettato dall importanza fondamentale rivestita oggi dagli strumenti CAD per supportare le diverse fasi della progettazione dei circuiti e sistemi digitali. Pertanto gli autori hanno ritenuto opportuno mettere in grado il lettore di affrontare le problematiche relative alla progettazione di sistemi digitali complessi non soltanto conoscendone gli aspetti teorici, ma soprattutto acquisendo la necessaria sensibilità e manualità di utilizzo dei linguaggi e degli strumenti informatici di supporto alla progettazione, senza i quali sarebbe oggi impensabile affrontare i livelli di complessità, integrazione e prestazioni raggiunti dagli attuali sistemi digitali, nel rispetto dei tempi di progetto. Infine, qualche parola sugli aspetti tecnologici. Come si è già detto, il libro affronta il progetto sotto il profilo informatico ; si presenteranno a puro scopo indicativo gli schemitipo in tecnologia CMOS dei più semplici componenti logici, onde far meglio intuire poi le motivazioni che portano alla definizione e alla scelta di particolari cifre di merito quando si affronta l ottimizzazione dei circuiti. Si dedicherà inoltre spazio al problema del cosiddetto mapping tecnologico cioè della trasposizione di un progetto elaborato in termini generali o astratti, su componenti logici reali appartenenti a una precisa libreria tecnologica. Il problema del mapping si pone non solamente per chi debba progettare un circuito integrato (o una sua parte): oggi si diffonde sempre più l uso di dispositivi cosiddetti di logica programmabile, che consentono di realizzare un circuito arbitrario mediante un dispositivo costituito da celle elementari le cui funzioni come le interconnessioni che le collegano possono essere programmate on-field per realizzare la specifica fornita dal progettista. Comprendere che cosa comporti in termini prettamente logici questa trasposizione, sia nel caso più generale come nel caso di logica programmabile, è sicuramente un prerequisito per servirsi in modo efficiente di queste metodologie progettuali. 1.4 Struttura ragionata del libro I percorsi proposti dai Corsi di Laurea in Ingegneria e in Informatica variano molto da Ateneo ad Ateneo, e spesso anche in uno stesso Ateneo garantiscono una notevole

8 flessibilità di scelta allo studente. Come diretta conseguenza, i corsi che affrontano il progetto dei circuiti e dei sistemi digitali sono molto diversi per durata, contenuti, livello di approfondimento, e anche per quanto riguarda le nozioni che gli allievi hanno acquisito in corsi precedenti. D altra parte, si è preferito limitare al massimo l insieme di conoscenze preliminari da considerare acquisite prima di affrontare la lettura di questo libro; analogamente, si è scelto di condurre a un buon grado di compimento i diversi argomenti (sia pure senza eccessivi dettagli specialistici che il lettore potrà approfondire su articoli e libri della letteratura scientifica): il lettore potrà ritagliare il percorso di studio più adatto all interno del materiale presentato. Essenzialmente, l unico presupposto per affrontare la lettura di questo libro è la conoscenza delle basi dell Informatica, inclusa la capacità di realizzare o analizzare un semplice algoritmo nonché quella di comprendere le caratteristiche di un linguaggio di programmazione e di realizzare un programma (o di comprendere un frammento di un programma dato). Si suppone quindi che la nomenclatura essenziale sia nota, anche se ciò non impedirà di ridefinirla in termini rigorosi quando si debbano introdurre concetti e metodi di progetto che di tali termini fanno uso. Anche se i principi essenziali riguardanti la codifica dell informazione sono certamente noti, si è preferito riprenderli e approfondirli nel Capitolo 2, per definire alcuni concetti di base che saranno utili nei capitoli successivi. Gli aspetti di codifica sono trattati qui in modo relativamente ampio: si è voluto in particolare concedere spazio alla rappresentazione dell informazione numerica e non numerica, e ai relativi standard. Il lettore che non volesse approfondire gli aspetti di aritmetica può evitare di soffermarsi sulle sezioni relative e sul Capitolo 9, interamente dedicato ai circuiti che realizzano le operazioni aritmetiche. Analogamente, si è deciso di affrontare l algebra di commutazione in termini generali, introducendone nel Capitolo 3 proprietà e caratteristiche, prima di costruire su quest algebra le regole per realizzare i circuiti digitali di tipo combinatorio (cioè circuiti privi di memoria, le cui uscite in un qualunque istante dipendono solamente dai valori degli ingressi applicati nello stesso istante). L algebra di commutazione costituisce la base anche per le tecniche di ottimizzazione dei circuiti combinatori descritte nel Capitolo 4: oltre ai metodi esatti di ottimizzazione di circuiti a una e a più uscite, si delineano anche alcune delle soluzioni euristiche più usate negli strumenti di progettazione automatica. Dai circuiti combinatori si passa quindi ad affrontare il progetto dei circuiti sequenziali sincroni (circuiti nei quali è possibile introdurre in modo esplicito il concetto di tempo, scandito da un segnale periodico o di sincronizzazione generato indipendentemente): il loro progetto sarà visto dapprima in termini elementari, che consentano di realizzare semplici circuiti in modo essenzialmente intuitivo nel Capitolo 5, trattandone poi la sintesi e l ottimizzazione sotto vari aspetti nel Capitolo 6. Se oggi in grandissima maggioranza i circuiti digitali sono di tipo sincrono, in alcuni casi si rende necessario introdurre qualche piccolo blocco logico, ancora sequenziale, ma al quale non si può associare il concetto di tempo e di successione temporale attraverso un unico segnale di sincronismo; in questo caso, la memoria che caratterizza i circuiti sequenziali dovrà fare riferimento alla successione di eventi opportunamente definiti. Il problema della progettazione di tali circuiti sequenziali, detti asincroni, è affrontato nel Capitolo 7. Fino a questo punto, la trattazione dei problemi di sintesi e ottimizzazione è condotta in termini puramente logici, indicando semplicemente le principali (e tradizionali) cifre di merito alle quali le tecniche di ottimizzazione fanno riferimento. È sembrato utile a questo punto introdurre un capitolo che indicasse come da una sintesi astratta, quale quella così ottenuta, si possa passare all effettivo schema (sia pure ancora logico) del circuito reale, facendo riferimento alle librerie di celle elementari ottimizzate che una data tecnologia microlettronica (o una data azienda produttrice di silicio) mette a disposizione. Il Capitolo 8 imposta appunto questo problema, detto di mapping tecnologico sia in termini di celle elementari su silicio sia con riferimento alle tecnologie di logica programmabile (i cosiddetti FPGA Field Programmable Gate Array) che oggi sono adottati sempre più ampiamente nella progettazione digitale. Con questo capitolo si completa la parte più tradizionale del progetto digitale: quella a livello di porta logica. Prima di passare a soluzioni a più alto livello di astrazione, si è

9 giudicato opportuno inserire un capitolo sul progetto dei circuiti aritmetici (Capitolo 9), nel quale vengono presentate alcune fra le più note soluzioni per i circuiti che realizzano le operazioni aritmetiche in virgola fissa e indicare gli algoritmi per l implementazione delle operazioni in virgola mobile. La trattazione è relativamente estesa; sta al lettore stabilire se fermarsi ai rudimenti dell aritmetica (sostanzialmente, ai circuiti addizionatori ed eventualmente allo schema-base dei moltiplicatori) o se approfondire le varie soluzioni presentate. Come per l aritmetica, anche per altre funzionalità di larghissimo impiego esistono soluzioni preprogettate e ottimizzate che vengono usate come macrocelle nella sintesi a livello RT: in effetti, le librerie tecnologiche oggi esistenti non si limitano al livello di porta logica, ma propongono anche blocchi standard di maggiore complessità e di più elevato livello di astrazione. Tali componenti vengono descritti nel Capitolo 10, con lo scopo di comprendere come mediante tali componenti si possa realizzare un flusso di elaborazione dati (data path). I blocchi descritti nel Capitolo 10 costituiscono i componenti elementari adottati nella fase di sintesi ad alto livello affrontata nel Capitolo 11. Il problema che qui si affronta è quello di realizzare sistemi di media complessità, le cui specifiche funzionali siano descrivibili mediante un algoritmo comprendente sia attività di controllo (bene esprimibili in termini di macchine a stati finiti) sia attività (anche rilevanti) di elaborazione, che invece sarebbero male tradotte dallo schematismo delle FSM (Finite State Machine). Il modello architetturale cui si fa riferimento è quello cosiddetto FSM-Data Path (FSMD), nel quale una macchina a stati finiti realizza il comportamento del sistema controllando unità funzionali, registri e rete di interconnessione che costituiscono il flusso di elaborazione (data path). A una prima impostazione intuitiva del progetto segue la definizione degli opportuni formalismi su cui si basano gli algoritmi che procedono alla sintesi ad alto livello del datapath e alla specifica della macchina a stati finiti collegata, rispondendo a diverse cifre di merito. I capitoli che trattano aspetti progettuali sono ampiamente corredati da esempi ed esercizi risolti con strumenti automatici e manuali. In particolare, ciascuno dei capitoli relativi ad aspetti progettuali contiene un paragrafo intitolato Esercizi con strumenti automatici, che descrive la realizzazione delle diverse fasi di progetto, descritte nel capitolo stesso, attraverso un esempio significativo risolto attraverso l applicazione dello strumento CAD di dominio pubblico cui si fa riferimento nel testo. Tali paragrafi sono inoltre corredati da semplici esempi di circuiti e sistemi digitali descritti nei due linguaggi VHDL e SystemC. Alla fine di ogni capitolo, un paragrafo intitolato Esercizi contiene una raccolta di esercizi manuali, di difficoltà comparabile a quella degli esempi trattati nel capitolo corrispondente, con i quali il lettore è invitato a confrontarsi. Infine, al termine del libro sono inserite due Appendici che descrivono, la prima (Appendice A), gli aspetti essenziali dei due linguaggi VHDL e SystemC e, la seconda (Appendice B), le funzionalità e le interfacce utente dei tool di progettazione automatica a cui si fa riferimento nel testo. Il lettore interessato, e il gestore dei laboratori collegati a un corso di progettazione digitale, potranno approfondire questi aspetti sul sito web del libro:

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE Design Flow Prof. Luigi Raffo Dipartimento di ingegneria elettrica ed elettronica Università di Cagliari Flusso di progetto classico su silicio

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

La Qualità il Controllo ed il Collaudo della macchina utensile. Dr. Giacomo Gelmi

La Qualità il Controllo ed il Collaudo della macchina utensile. Dr. Giacomo Gelmi La Qualità il Controllo ed il Collaudo della macchina utensile Dr. Giacomo Gelmi Che cosa è una macchina utensile? E uno spazio fisico in cui si collocano, sostenuti da adeguate strutture ed in posizioni

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Nota interpretativa. La definizione delle imprese di dimensione minori ai fini dell applicazione dei principi di revisione internazionali

Nota interpretativa. La definizione delle imprese di dimensione minori ai fini dell applicazione dei principi di revisione internazionali Nota interpretativa La definizione delle imprese di dimensione minori ai fini dell applicazione dei principi di revisione internazionali Febbraio 2012 1 Mandato 2008-2012 Area di delega Consigliere Delegato

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI LETTERE E FILOSOFIA CORSO DI LAUREA MAGISTRALE IN STRATEGIE DI COMUNICAZIONE LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB LA PROPOSTA DI UN MODELLO MIRATO

Dettagli

AUDITOR D.Lgs 231/01. Seminario ACIQ SICEV Sessione di Aggiornamento Dedicata ai Registri SICEV SICEP. Milano 28 Settembre 2012.

AUDITOR D.Lgs 231/01. Seminario ACIQ SICEV Sessione di Aggiornamento Dedicata ai Registri SICEV SICEP. Milano 28 Settembre 2012. AUDITOR D.Lgs 231/01 Seminario ACIQ SICEV Sessione di Aggiornamento Dedicata ai Registri SICEV SICEP Milano 28 Settembre 2012 Rosso Claudio 0 INDICE 01. D.Lgs. 231/01: Implicazioni Penali e strumenti Organizzativi

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Dettagli

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Informatico, Grafico e Comunicazione

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Informatico, Grafico e Comunicazione Ministero dell istruzione, dell università e della ricerca Liceo Tecnologico Indirizzo Informatico, Grafico e Comunicazione Percorso Informatico e Comunicazione Indicazioni nazionali per i Piani di Studio

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

SECONDO BIENNIO ISTITUTO TECNICO

SECONDO BIENNIO ISTITUTO TECNICO SETTORE DOCUMENTI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE ELETTROTECNICA TECNOLOGICO ELETTRONICA ED ELETTROTECNICA ESITI DI APPRENDIMENTO (competenze, abilità, conoscenze) Regolamento,

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011 I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA Palermo 9 novembre 2011 UNIVERSITÀ DEGLI STUDI DI PALERMO Webquest Attività di indagine guidata sul Web, che richiede la partecipazione attiva degli studenti,

Dettagli

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci UNIVERSITA MILANO BICOCCA Corso di laurea di primo livello in servizio sociale anno accademico 2009-2010 Progettare il sociale Prof. Dario A. Colombo IL CICLO DI VITA DEL PROGETTO Elementi essenziali di

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

I libri di testo. Carlo Tarsitani

I libri di testo. Carlo Tarsitani I libri di testo Carlo Tarsitani Premessa Per accedere ai contenuti del sapere scientifico, ai vari livelli di istruzione, si usa comunemente anche un libro di testo. A partire dalla scuola primaria, tutti

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

ARTICOLO TECNICO Smart-MED-Parks: il Software

ARTICOLO TECNICO Smart-MED-Parks: il Software ARTICOLO TECNICO Smart-MED-Parks: il Software Introduzione Da Febbraio 2013, data di lancio del progetto Smart-MED-Parks, sono state realizzate un insieme di azioni al fine di: - Aumentare il livello di

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Discipline con attività di laboratorio 3 4 5 Fisica 132 Gestione di progetto

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

MESA PROJECT ITIS G. Cardano Pavia New Curriculum

MESA PROJECT ITIS G. Cardano Pavia New Curriculum MESA PROJECT ITIS G. Cardano Pavia New Curriculum L'impatto delle innovazioni educative del Progetto MESA ha portato alcuni cambiamenti significativi e miglioramenti nel curriculum dei seguenti argomenti:

Dettagli

La riforma del servizio di distribuzione del

La riforma del servizio di distribuzione del CReSV Via Röntgen, 1 Centro Ricerche su Sostenibilità e Valore 20136 Milano tel +39 025836.3626 La riforma del servizio di distribuzione del 2013 gas naturale In collaborazione con ASSOGAS Gli ambiti territoriali

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Redatto dalla Commissione per l elettronica, l informatica e la telematica

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

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

STRUTTURA UDA U.D.A. 4. Classe III A PRESENTAZIONE

STRUTTURA UDA U.D.A. 4. Classe III A PRESENTAZIONE STRUTTURA UDA UNITÀ DIDATTICA di APPRENDIMENTO di TECNOLOGIE ELETTRICO-ELETTRONICHE E APPLICAZIONI U.D.A. 4 Classe III A.S. 2015/2016 TITOLO: Componenti fondamentali di un impianto Strumenti di misura

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08 Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari Mariagiovanna Sami Corso di reti Logiche 8 Anno 27-8 8 Quali componenti, se non AND e OR (e NOT )? Si è detto inizialmente che

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it PowerSchedo Un sistema di supporto alla decisione nel settore dell'oil&gas For further information: Introduzione PowerSchedO è uno strumento software di supporto alle decisioni per problemi nel settore

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

L ergonomia dei sistemi informativi

L ergonomia dei sistemi informativi Strumenti non convenzionali per l evoluzione d Impresa: L ergonomia dei sistemi informativi di Pier Alberto Guidotti 1 L ergonomia dei sistemi informativi CHI SONO Pier Alberto Guidotti Fondatore e direttore

Dettagli

Registro dei contribuenti

Registro dei contribuenti Registro dei contribuenti Approfondimento Versione 1.0 Andrea Forte, Centro sistemi informativi 091 814.11.39 Viviana Medici, Cancelleria DDC 091 814.39.45 Hanno collaborato: Massimo Lepori Valeria Marcacci

Dettagli

La gestione manageriale dei progetti

La gestione manageriale dei progetti PROGETTAZIONE Pianificazione, programmazione temporale, gestione delle risorse umane: l organizzazione generale del progetto Dimitri Grigoriadis La gestione manageriale dei progetti Per organizzare il

Dettagli

Elettronica dei Sistemi Programmabili

Elettronica dei Sistemi Programmabili Elettronica dei Sistemi Programmabili Introduzione Stefano Salvatori Università degli Studi Roma Tre (stefano.salvatori@uniroma3.it) Università degli Studi Roma Tre Elettronica dei Sistemi Programmabili

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

12. Evoluzione del Software

12. Evoluzione del Software 12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

ISA 610 e ISA 620 L'utilizzo durante la revisione dei revisori interni e degli esperti. Corso di revisione legale dei conti progredito

ISA 610 e ISA 620 L'utilizzo durante la revisione dei revisori interni e degli esperti. Corso di revisione legale dei conti progredito ISA 610 e ISA 620 L'utilizzo durante la revisione dei revisori interni e degli esperti. Corso di revisione legale dei conti progredito 1 ISA 610 USING THE WORK OF INTERNAL AUDITORS Questo principio tratta

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

GUIDA DI APPROFONDIMENTO IL CONTROLLO DI GESTIONE: IL SISTEMA DI REPORTING

GUIDA DI APPROFONDIMENTO IL CONTROLLO DI GESTIONE: IL SISTEMA DI REPORTING WWW.SARDEGNAIMPRESA.EU GUIDA DI APPROFONDIMENTO IL CONTROLLO DI GESTIONE: IL SISTEMA DI REPORTING A CURA DEL BIC SARDEGNA SPA 1 S OMMAR IO LA FUNZIONE DEI REPORT... 3 TIPOLOGIA DEI REPORT... 3 CRITERI

Dettagli

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

IL SISTEMA DI CONTROLLO INTERNO

IL SISTEMA DI CONTROLLO INTERNO http://www.sinedi.com ARTICOLO 27 OTTOBRE 2008 IL SISTEMA DI CONTROLLO INTERNO PRODUZIONE DI VALORE E RISCHIO D IMPRESA Nel corso del tempo, ogni azienda deve gestire un adeguato portafoglio di strumenti

Dettagli

Liceo Tecnologico. Indirizzo Elettrico Elettronico. Indicazioni nazionali per Piani di Studi Personalizzati

Liceo Tecnologico. Indirizzo Elettrico Elettronico. Indicazioni nazionali per Piani di Studi Personalizzati Indicazioni nazionali per Piani di Studi Personalizzati Obiettivi Specifici d Apprendimento Discipline con attività di laboratorio 3 4 5 Fisica 99 Gestione di progetto 132 99 *Tecnologie informatiche e

Dettagli

Breve storia del calcolo automatico

Breve storia del calcolo automatico Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Approfondimenti 01 Breve storia del calcolo automatico Marzo 2010 L architettura del calcolatore 1 Approfondimenti: Storia del calcolo automatico

Dettagli

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo SCHEDA di 3 II Fattore di Valutazione: Comportamenti professionali e organizzativi e competenze Anno Settore Servizio Dipendente Categoria Profilo professionale Responsabilità assegnate DECLARATORIA DELLA

Dettagli

1. I titoli conseguiti presso le Università consigliate vengono riconosciuti?

1. I titoli conseguiti presso le Università consigliate vengono riconosciuti? DOMANDE FREQUENTI Palermo, Largo Esedra nr.3, tel. 091 6254431 ONLUS 1. I titoli conseguiti presso le Università consigliate vengono riconosciuti? Le Università sono pubbliche o private riconosciute dal

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze)

Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze) Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze) 1. Gli esiti dell apprendimento: selezione delle competenze e prestazioni oggetto di un unità formativa e costruzione

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

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Il presente materiale didattico costituisce parte integrante del percorso formativo

Dettagli

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto) CORSO DI Gestione aziendale Facoltà di Ingegneria IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto) Carlo Noè Università Carlo Cattaneo Istituto di Tecnologie e-mail: cnoe@liuc.it 1 Il processo di

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA Pagina 1 di 5 COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA AREA DISCIPLINARE Triennio, Indirizzo Elettronica ed Elettrotecnica, art. ELETTRONICA MATERIA:

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli