SystemC: un linguaggio per la modellazione e la simulazione dell hardware. Slide -1 -
|
|
- Annabella Parodi
- 4 anni fa
- Visualizzazioni
Transcript
1 SystemC: un linguaggio per la modellazione e la simulazione dell hardware Slide -1 -
2 Il Gap di Astrazione Le applicazioni consistono di operazioni «complesse», che nascono dalla capacità di pensare/astrarre/organizzare/strutturare della mente umana - inizia una telefonata! - fai il playback di un video! - invia un ! Astrarre nasconde dettagli, ma permette di affrontare la complessità dei problemi Scendere di livello di astrazione aumenta il contenuto informativo GAP DI ASTRAZIONE Ci vogliono diversi livelli di software e hardware intermedi che interpretino o traducano le operazioni di alto livello nelle istruzioni basilari eseguibili da un microprocessore Un microprocessore può eseguire solo semplici istruzioni aritmetico-logiche di «basso livello» - Es., somma/sottrae/moltiplica/divide due numeri interi - Es., effettua l AND/OR/EXOR logico tra due bit o insiemi di bit Slide -2 -
3 Il Gap di Astrazione Un microprocessore può eseguire solo semplici istruzioni aritmetico-logiche di «basso livello» - Es., somma/sottrae/moltiplica/divide due numeri interi - Es., effettua l AND/OR/EXOR logico tra due bit o insiemi di bit Scendere di livello di astrazione aumenta il contenuto informativo GAP DI ASTRAZIONE Ci vogliono diversi livelli di hardware intermedi che interpretino o traducano le operazioni di basso livello nel cambiamento della tensione di segnali elettrici Segnali elettrici ad una tensione elevata («1» logico, es. superiore a 0.9 Volt) o ad una tensione bassa («0» logico, es. inferiore a 0.1 Volt) Slide -3 -
4 Livelli di Astrazione in un Microprocessore Livello applicativo Da un livello di astrazione elevato (enfasi sulla funzionalità)...ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Livello elettrico Slide -4 -
5 Livelli di Astrazione Livello applicativo Livello software di sistema Da un livello di astrazione elevato (enfasi sulla funzionalità)...ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -5 -
6 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità)...ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -6 -
7 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -7 -
8 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema Livello microarchitetturale.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -8 -
9 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema Livello microarchitetturale Livello porte logiche b c un5_y y y a un8_y.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -9 -
10 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema Livello microarchitetturale Livello porte logiche b c un5_y y y a Livello transistor (o circuitale) un8_y.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Slide -10 -
11 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema Livello microarchitetturale Livello porte logiche b c un5_y y y a Livello transistor (o circuitale) un8_y.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Livello layout Slide -11 -
12 Livelli di Astrazione Livello applicativo Livello software di sistema Livello driver Da un livello di astrazione elevato (enfasi sulla funzionalità).. Livello architettura di sistema Livello microarchitetturale Livello porte logiche b c un5_y y y a Livello transistor (o circuitale) un8_y.ad un livello di astrazione sempre più basso (dove i dettagli implementativi prendono forma) Livello layout Livello simulazione elettrica Slide -12 -
13 Livelli di Astrazione un Altra Rappresentazione Questo corso Livello di astrazione Problema Algoritmo Software Applicativo System Software Architettura del set di istruzioni Micro architettura Operatori Logici Circuiti Dispositivi Fisica Esempi Salvare/comprimere una immagine JPEG, MP3 Programmi Sistemi operativi, macchine virtuali, driver, runtime,.. Salva/leggi un dato, fai una somma, moltiplica, Datapath, Registri, Controller, Memoria AND gates, NOT gates Topologia circuitale Transistor, diode Layout, simulazione elettrica
14 Livelli di Astrazione un Altra Rappresentazione Livello di astrazione Problema Algoritmo Software Applicativo System Software Architettura del set di istruzioni Micro architettura Operatori Logici Circuiti Dispositivi Fisica Esempi Salvare/comprimere una immagine JPEG, MP3 Programmi Sistemi operativi, macchine virtuali, driver, runtime,.. Salva/leggi un dato, fai una somma, moltiplica, Datapath, Registri, Controller, Memoria AND gates, NOT gates Topologia circuitale Transistor, diode Layout, simulazione elettrica Quello che vede il programmatore Tutto questo viene astratto al programmatore
15 Livelli di Astrazione un Altra Rappresentazione Livello di astrazione Problema Algoritmo Software Applicativo System Software Architettura del set di istruzioni (ISA) Micro architettura Operatori Logici Circuiti Dispositivi Fisica Esempi Salvare/comprimere una immagine JPEG, MP3 Programmi Sistemi operativi, macchine virtuali, driver, runtime,.. Salva/leggi un dato, fai una somma, moltiplica, Datapath, Registri, Controller, Memoria AND gates, NOT gates Topologia circuitale Transistor, diode Layout, simulazione elettrica Interfaccia tra hardware e software; è un contratto che l hardware promette di rispettare L implementazione dell ISA è la microarchitettura
16 Livelli di Astrazione - Precisazione L intera gerarchia deve essere progettata per l utilizzatore! Livello di astrazione Problema Algoritmo Software Applicativo System Software Architettura del set di istruzioni (ISA) Livelli inferiori L utilizzatore interagisce con il computer Come progettare il sistema per rispettare i requisiti dell utilizzatore? Molte piattaforme hardware di valore sono state scartate perchè erano difficili da programmare ISA determina l efficienza con cui il software si mappa sull hardware (velocità dell hardware, lunghezza codice) 16
17 Problema Progettuale: Hardware/Software Co-design Nei sistemi complessi (quali un microprocessore), gli sviluppatori del software devono spesso aspettare che l hardware sia finalizzato prima di poter iniziare con la scrittura dettagliata del codice Gli sviluppatori del software devono anche aspettare che i dispositive reali (chip e board) siano prodotti per poter testare il loro codice in un ambiente realistico. Questa dipendenza crea un lungo percorso critico che si traduce in un rischio finanziario per il progetto Slide -17 -
18 La Vecchia Prassi 1. Un ingegnere di Sistema scrive un modello C o C++ del sistema (hardware+software) per verificare gli algoritmi e la correttezza funzionale della loro esecuzione. 2. Le parti del modello C/C++ che devono essere implementate in hardware sono convertite manualmente in un modello Verilog/VHDL per la loro implementazione in hardware (l hardware del microprocessore è un ASIC!) Slide -18 -
19 Problemi con la Vecchia Prassi La conversione manuale dal C ad HDL è un processo insidioso che può facilmente portare alla creazione di errori/bachi. Nasce una discontinuità tra il modello del sistema e il modello HDL Dopo la conversione, l attenzione si focalizza sul modello HDL e il modello C diviene progressivamente inconsistente man mano che vengono fatti i cambiamenti, e dunque inutilizzabile. I cambiamenti vengono tipicamente apportati al solo modello HDL, non al modello C. Nascono ambienti multipli per il test di sistema Test creati per validare la funzionalità del modello C non possono essere tipicamente riutilizzati per il modello HDL senza un adeguato processo di conversione. La conversione manuale riguarda non solo parti del modello di sistema, ma anche il programma di test. Slide -19 -
20 Perché non Utilizzare solo C/C++? L hardware è intrinsecamente parallelo, mentre C/C++ non forniscono alcun supporto alla concorrenza Non esiste una nozione di tempo (ritardi, segnali di temporizzazione quali i clock) Il modello della comunicazione è molto diverso rispetto al modo con cui comunicano i blocchi hardware (tramite segnali) E molto complesso realizzare la reattività ad un evento, indispensabile per la modellazione del funzionamento dell hardware Mancano tipi di dato adeguati (es., valori logici, vettori di bit, matematica in virgola fissa,..) «C++ VANILLA» NON E UTILIZZABILE! Slide -20 -
21 Obiettivi del SystemC Obiettivi originali: Modellare l hardware con un linguaggio di programmazione software Ottenere la simulazione rapida di sistemi complessi Fornire supporto alla modellazione: Sfida: Sia dell Hardware Sia del sistema Hardware/Software Dare una «semantica hardware» a modelli software In pratica: SystemC ha avuto ed ha successo come linguaggio di modellazione HW/SW a livello del sistema completo. Tuttavia, il suo utilizzo per la «sintesi» diretta dell hardware è oggi assai limitato. Slide -21 -
22 SystemC E una estensione del C++ E in realtà una libreria di classi C++ (libsystemc.a), che danno l impressione al neofita di una nuova metodologia di modellazione dell hardware (sembra un linguaggio a sé stante) La semantica dell hardware è stata realizzata attraverso questa libreria di classi Il codice SystemC è codice C++ e può essere liberamente mischiato con codice C++ Può essere tradotto in tradizionali modelli HDL per la sintesi hardware Convertitori automatici SystemC -> Verilog/VHDL (quanto efficienti?) Unico caso di successo: conversione C/C++/SystemC -> Verilog/VHDL per la sintesi hardware su FPGA (high-level synthesis, HLS) Esempio: Vivado Design Suite per FPGA Xilinx Slide -22 -
23 Infrastruttura del SystemC Una specifica eseguibile è un programma C++ che ha lo stesso comportamento del Sistema quando viene eseguito Slide -23 -
24 Benefici di una specifica eseguibile Evita inconsistenze ed errori ed aiuta a garantire la completezza della specifica progettuale Motivo: abbiamo creato un programma che si comporta allo stesso modo del sistema Garantisce interpretazioni univoche della specifica Ogni volta che gli implementatori hanno dubbi sulla specifica, possono eseguire la executable specification e determinare cosa il sistema deve fare in determinate condizioni Aiuta a validare la funzionalità del Sistema prima che inizi l implementazione Aiuta a creare I primi modelli di performance del Sistema. I suoi testbench possono essere riutilizzati per testare l implementazione della specifica Slide -24 -
25 SystemC e la Sfida dell Hardware/Software Co-design HARDWARE DEVELOPMENT MODELLO FUNZIONALE SYSTEMC (SENZA TEMPO) MODELLO FUNZIONALE CON TEMPO MODELLO STRUTTURALE Istr. 1 Istr. 2 Istr. 3 Simulatore del set di Istruzioni (ISS) Aggiorna le variabili di stato in funzione dell istruzione eseguita Slide -25 -
26 SystemC e la Sfida dell Hardware/Software Co-design HARDWARE DEVELOPMENT MODELLO FUNZIONALE SYSTEMC (SENZA TEMPO) MODELLO FUNZIONALE CON TEMPO MODELLO STRUTTURALE Istr. 1 Istr. 2 Istr. 3 Simulatore del set di Istruzioni (ISS) Istruzione 1: 3ns Istruzione 2: 6ns Istruzione 3: 3ns Slide -26 -
27 SystemC e la Sfida dell Hardware/Software Co-design HARDWARE DEVELOPMENT MODELLO FUNZIONALE SYSTEMC (SENZA TEMPO) MODELLO FUNZIONALE CON TEMPO MODELLO STRUTTURALE Tempo istruzione n = f(tipo di istruzioni precedenti) Slide -27 -
28 SystemC e la Sfida dell Hardware/Software Co-design HARDWARE DEVELOPMENT MODELLO FUNZIONALE SYSTEMC (SENZA TEMPO) MODELLO FUNZIONALE CON TEMPO MODELLO STRUTTURALE SOFTWARE DEVELOPMENT PROGETTO E HW/SW REAL-TIME COMPLETE VERIFICA CODESIGN SOFTWARE SOFTWARE DELL ALGORITMO VALIDATION Slide -28 -
29 Livello di astrazione Livelli di Astrazione Esempi Problema Salvare/comprimere una immagine Algoritmo Software Applicativo JPEG, MP3 Programmi Copertura di MATLAB Questo corso System Software Architettura del set di istruzioni Micro architettura Operatori Logici Sistemi operativi, macchine virtuali, driver, runtime,.. Salva/leggi un dato, fai una somma, moltiplica, Datapath, Registri, Controller, Memoria AND gates, NOT gates Copertura del SystemC come simulatore dell hardware Copertura del Verilog/VHDL Circuiti Dispositivi Topologia circuitale Transistor, diode Copertura di SPICE Fisica Layout, simulazione elettrica Slide -29 -
30 Livello di astrazione Livelli di Astrazione Esempi Problema Salvare/comprimere una immagine Algoritmo Software Applicativo JPEG, MP3 Programmi Copertura di MATLAB Questo corso System Software Architettura del set di istruzioni Micro architettura Operatori Logici Sistemi operativi, macchine virtuali, driver, runtime,.. Salva/leggi un dato, fai una somma, moltiplica, Datapath, Laboratorio Registri, Controller, di Memoria questo corso AND gates, NOT gates Copertura del SystemC come simulatore dell hardware Copertura del Verilog/VHDL Circuiti Dispositivi Topologia circuitale Transistor, diode Copertura di SPICE Fisica Layout, simulazione elettrica Slide -30 -
31 Open Community Licensing Come ottenere SystemC? SystemC v availale (including TLM library) v Apache 2.0 License Slide -31 -
Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Astrazione e Macchine Virtuali parte 2: in un tipico calcolatore I livelli nei moderni calcolatori 6. Livello delle applicazioni
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliIndice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6
1 Indice Capitolo 1... 7 Introduzione al Problem Solving... 7 Computer... 11 Informatica... 13 Capitolo 2... 17 Rappresentazione e Algoritmi... 17 Un esempio di algoritmo... 19 Diagrammi di flusso... 22
DettagliSistemi di Elaborazione
Sistemi di Elaborazione Ingegneria delle Telecomunicazioni nicola.tonellotto@isti.cnr.it Libro di testo inclusa Appendice B The Basics of Logic Design disponibile online Programma delle lezioni e lucidi
DettagliIL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi
IL VHDL Cosa è il VHDL? NON è un linguaggio di programmazione! E' uno standard IEEE per la descrizione dell'hardware VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuit
DettagliLezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.
Lezione 1 Sistemi operativi 4 marzo 2014 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 14 1.1 Di cosa parliamo in questa lezione? È una introduzione generale ai sistemi
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliProgettazione di circuiti integrati
Architetture e reti logiche Esercitazioni VHDL a.a. 2007/08 Progettazione di circuiti integrati Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari
DettagliIntroduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
DettagliMATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari
A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere
DettagliMacchine Astratte. Definizione e tipi di implementazione
Macchine Astratte Definizione e tipi di implementazione Macchine astratte Sono un insieme di concetti che sintetizzano le caratteristiche base di ogni linguaggio di programmazione Sono un modello di riferimento
DettagliProgettazione di circuiti integrati
Architetture e Reti logiche Esercitazioni VHDL a.a. 2003/04 Progettazione di circuiti integrati Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari
DettagliINGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO L unità di controllo
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO L unità di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it L unità di controllo La vista logica e
DettagliLe Macchine digitali sono Sistemi artificiali che elaborano informazioni
Le macchine digitali Le Macchine digitali sono Sistemi artificiali che elaborano informazioni ogni informazione è descritta da variabili che possono assumere solo un numero finito di valori Ad ogni variabile
DettagliOrganizzazione strutturata
Organizzazione strutturata Evoluzione storica a.a. 2002-03 L. Borrelli 1 Complessità dei Sistemi di Elaborazione Caratteristica dei Sistemi di Elaborazione: Complessità Per trattare sistemi complessi è
DettagliIntroduzione a HW/SW codesign
Introduzione a HW/SW codesign 1 Origini: sintesi dell HW La sintesi logica risulta essere relativamente assestata a partire dagli anni 90 Flusso di progetto: algoritmo => FSM => RTL=> equazioni booleane
DettagliArchitettura degli Elaboratori 01-Introduzione Introduzione
Introduzione Calcolatore digitale: macchina capace di risolvere problemi eseguendo le istruzioni assegnate Programma: sequenza di istruzioni per eseguire un certo compito Pagina 2 Cosa abbiamo a disposizione?
DettagliSistemi di Elaborazione dell Informazione
Sistemi di Elaborazione dell Informazione Franco Fummi Dip. Informatica Università di Verona Struttura del corso 18 lezioni: 33 ore di teoria 12 ore di laboratorio 16 ore di elaborato 2 ore di prova intermedia
DettagliIntroduzione al Flusso di Progetto di Circuiti e Sistemi Digitali
Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy)
DettagliLa memoria cache. Informatica generale
La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,
DettagliReti logiche A All. Informatici (M-Z)
Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a. 2003-2004 Contenuti - Progetto logico di sistemi digitali Metodologie di progetto per la realizzazione dei dispositivi di elaborazione costruire
DettagliINGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO L unità di controllo. L unità di controllo
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it La vista logica e la vista fisica dell unità di controllo Progettazione
DettagliReti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a
Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a. 2003-2004 Contenuti - Progetto logico di sistemi digitali Metodologie di progetto per la realizzazione dei dispositivi di elaborazione costruire
DettagliIniziare a programmare in C++
Iniziare a programmare in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliMETODOLOGIE PROGETTUALI CMOS
METODOLOGIE PROGETTUALI CMOS Un sistema elettronico/circuito integrato può essere descritto in tre diversi domini, comportamentale (behavior), strutturale e fisico. All interno di ciascun dominio la descrizione
DettagliLezione 15 Il Set di Istruzioni (1)
Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri
DettagliTECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE
UNITA CAPITALIZZABILI PER LA FIGURA PROFESSIONALE TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE 73 74 ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE UNITÀ CAPITALIZZABILE
DettagliConcetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliIntroduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliSistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliPECUP ELETTRONICA ED ELETTROTECNICA ELETTROTECNICA SISTEMI AUTOMATICI TERZO COMPETENZE ABILITA' CONOSCENZE
ISTITUTO TECNICO INDUSTRIALE STATALE Enrico Fermi Via Capitano di Castri - 72021 FRANCAVILLA FONTANA (BR) Specializzazioni: ELETTRONICA E TELECOM. - ELETTROTECNICA E AUTOM. INFORMATICA - MECCANICA Tel.
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Limiti del linguaggio assembler Esempio: gestione
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliAgent#: un linguaggio di programmazione per lo sviluppo di agenti su piattaforma.net
Agent#: un linguaggio di agenti su piattaforma.net A. Boccalatte, C. Vecchiola, M. Coccoli (speaker: Alberto Grosso) l.i.d.o. - DIST- Università di Genova Sommario Tecnologia ad Agenti Un linguaggio orientato
DettagliProgrammazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica
Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
DettagliTraduzione ed Interpretazione
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L Macchina astratta di L M 0 Macchina ospite Implementazione interpretativa di L Implementazione compilativa di L Simulazione
DettagliREALIZZAZIONE DI SISTEMI DI ELABORAZIONE NUMERICA DEI SEGNALI. E. Del Re - Fondamenti di Elaborazione Numerica dei Segnali 1
REALIZZAZIONE DI SISTEMI DI ELABORAZIONE NUMERICA DEI SEGNALI E. Del Re - Fondamenti di Elaborazione Numerica dei Segnali 1 CARATTERISTICHE DEGLI ALGORITMI E DEI SISTEMI DI ELABORAZIONE NUMERICA DEI SEGNALI
DettagliTraduzione ed Interpretazione. Queste sconosciute
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L M 0 Macchina astratta di L Macchina ospite Implementazione interpretativa di L Simulazione software di M L su M 0
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliUniversità degli Studi della Calabria
Università degli Studi della Calabria Facoltà di Scienze Politiche CORSO DI FONDAMENTI DI INFORMATICA I A.A 2007/2008 Docente : Ing. Francesco Folino 1 INFORMAZIONI UTILI 2 Docente: Ing. Francesco Folino
DettagliIngegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP
Ingegneria e Tecnologie dei Sistemi di Controllo Unità di Elaborazione: MicroControllori e DSP Ing. Andrea Tilli DEIS Alma Mater Studiorum Università di Bologna E-Mail: atilli@deis.unibo.it Revisionato:
DettagliCLASSE: 5ELE MATERIA: SISTEMI AUTOMATICI DOCENTE: PELLEGRINI PROGRAMMAZIONE DIDATTICA. competenze chiave competenze base abilità conoscenze
CLASSE: 5ELE MATERIA: SISTEMI AUTOMATICI DOCENTE: PELLEGRINI PROGRAMMAZIONE DIDATTICA ASSE CULTURALE DEI LINGUAGGI ASSE CULTURALE SCIENTIFICO TECNOLOGICO ASSE CULTURALE MATEMATICO ASSE CULTURALE STORICO-SOCIALE
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic
DettagliMacchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016
Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione 010194 29 feb, 2016 Sommario 1 Introduzione Macchina astratta Interprete Implementazione
DettagliINFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
DettagliCorso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
DettagliCALCOLATORI ELETTRONICI M - Z
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2018/2019-3 anno CALCOLATORI ELETTRONICI M - Z ING-INF/05-9 CFU - 1 semestre Docente
DettagliPROBLEMI E ALGORITMI
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 19 Linguaggi 2 / 19 Linguaggi 3 / 19 Linguaggi di alto livello Si basano su una macchina virtuale
DettagliCircuiti integrati semi-custom
Circuiti integrati semi-custom g Gate array gcomponent array gstandard cell g PLD Circuiti integrati semi-custom g Gate array gcomponent array gstandard cell g PLD Introduzione Qualsiasi sistema digitale
DettagliArchitetture dei sistemi elettronici 14. Il microcontrollore
Architetture dei sistemi elettronici 14. Il microcontrollore Roberto Roncella Schema a blocchi 2 Il core CPU 3 4 Architettura von Neumann Istruzioni Unità Aritmetica Unità di di Controllo Stato Dati B
DettagliSettimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.
Settimana n.2 Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Contenuti Linguaggi di programmazione Dati e istruzioni Architettura di un elaboratore Uso del compilatore
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 IL LIVELLO HARDWARE Introduzione alle reti logiche Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Ciclo di, classificazione e livelli delle architetture di calcolatore Lezioni del Corso di Laurea Triennale in Informatica Per gentilezza del Prof. Sebastiano Pizzutilo (Dipartimento
DettagliIndice. Prefazione. sommario.pdf 1 05/12/
Prefazione xi 1 Introduzione 1 1.1 Evoluzione della progettazione dei sistemi digitali 1 1.2 Flusso di progettazione dei sistemi digitali 2 1.3 Obiettivi del libro 6 1.4 Struttura ragionata del libro 7
DettagliCdL in Medicina Veterinaria - STPA AA
CdL in Medicina Veterinaria - STPA AA 2007-08 Programmi e algoritmi I Calcolatori: cos hanno di speciale? 1 Elaborazione dell Informazione Dati, informazione e istruzioni Un esempio: Dr Rossi 328275456
DettagliTecnologie dei Sistemi di Automazione
Facoltà di Ingegneria Tecnologie dei Sistemi di Automazione Prof. Gianmaria De Tommasi Lezione 2 Architetture dei dispositivi di controllo e Dispositivi di controllo specializzati Corso di Laurea Codice
DettagliIndice Prefazione Introduzione Codifica dell'informazione
Indice Prefazione ix 1 Introduzione 1 1.1 Evoluzione della progettazione dei sistemi digitali 1 1.2 Flusso di progettazione dei sistemi digitali 2 1.3 Obiettivi del libro 9 1.4 Struttura ragionata del
Dettagli2. MODELLI INFORMATICI
2. MODELLI INFORMATICI MODELLO A STRATI Modello logico per la descrizione di sistemi complessi strutturati come gerarchia di livelli. Si basa su tre concetti: Strato Interfaccia Macchina virtuale STRATO
DettagliIntroduzione al corso
FONDAMENTI DI PROGRAMMAZIONE E ARCHITETTURA DEI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Introduzione al corso 2008 Pier Luca Montessoro (si veda la
DettagliSommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches
Fondamenti di VHDL Sommario VHDL: premessa e introduzione Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches Premessa
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione!paradigmi linguistici, costrutti!semantica!implementazione, strutture a tempo di esecuzione 1 Linguaggi di programmazione e astrazione! i linguaggi di programmazione ad alto
DettagliProgramma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliReggio Calabria, 29 Aprile 2009 ING.VALERIO SCORDAMAGLIA
TECNOLOGIE DEI SISTEMI DI CONTROLLO INTRODUZIONE PLC E DIAGRAMMA FUNZIONALE SEQUENZIALE Reggio Calabria, 29 Aprile 2009 ING.VALERIO SCORDAMAGLIA ESEMPIO: CARRELLO AUTOMATICO INTRODUZIONE PLC PROGRAMMABLE
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliCALCOLATORI ELETTRONICI
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-3 anno CALCOLATORI ELETTRONICI 9 CFU - 1 semestre Docente titolare dell'insegnamento
DettagliOctave. Luca Abeni. Informatica Luca Abeni 1 / 21
Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...
DettagliArchitettura del processore e esecuzione delle istruzioni
Architettura del processore e esecuzione delle istruzioni Prof. CAPEZIO Francesco Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale Introduzione Il compito di un processore
DettagliSalvatore Cuomo Prolusione
Salvatore Cuomo Prolusione 1 Lezione n. Parole chiave: Algoritmo, Esecutore Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email Docente: salvatore.cuomo@unina. it
DettagliInformatica A. Allievi Gestionali A.A Nozioni di Base
Informatica A Allievi Gestionali A.A. 2015-16 Nozioni di Base Nell immaginario collettivo Ingegnere Meccanico 2 Nell immaginario collettivo Ingegnere Fisico/Matematico 3 Nell immaginario collettivo Ing.
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliSommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2017/2018 Sommario Algoritmi, linguaggi
DettagliMacchina Astratta: struttura e realizzazione.
Macchina Astratta: struttura e realizzazione. Sommario Macchina Astratta e l interprete di Macchina Hight e Low Level Languages Implementazione di un Linguaggio Macchina Intermedia Gerarchia di Macchine
DettagliProposte di Tesi di Laurea
A3R S.r.l. via E. Ortolani 102, 00125, Rome, Italy Tel. +39 06 60513522, Fax. +39 06 96708536, www.a3r.it A3R, 2010; all rights reserved THIS PAGE IS INTENTIONALLY LEFT BLANK 1. CONTROLLORE DISCRETO MIMO
DettagliEsercitazioni ElDig2-09. Dott. Salvatore Pontarelli
Esercitazioni ElDig2-09 Dott. Salvatore Pontarelli mercoledì 9 dicembre 2009 Esercitazioni ElDig2-09 Esercitazioni in aula Giovedi 11:30-13:00 Ricevimento: Giovedi 9:30-11:30 e-mail pontarelli@ing.uniroma2.it
DettagliSimulazione Parallela e Distribuita
Introduzione allo Standard IEEE 1516 High Level Architecture (HLA) Gabriele D Angelo gda@cs.unibo.it http://www.cs.unibo.it/~gdangelo Dipartimento di Scienze dell Informazione Università degli Studi di
DettagliDavide Cervi Classe : 3E I.T.E Agostino Bassi - Lodi
INTRODUZIONE AI LINGUAGGI DI PROGRAMMAZIONE Davide Cervi Classe : 3E I.T.E Agostino Bassi - Lodi I LINGUAGGI DI PRIMA GENERAZIONE rientrano in questa categoria i vari linguaggi macchina proprietari, decisamente
DettagliIntroduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
DettagliOrario del corso. Contenuti del corso. Modalità d esame. Analisi Numerica 1 a.a. 2014/2015
Analisi Numerica 1 a.a. 2014/2015 Dott.ssa Silvia Bonettini Orario del corso Mercoledì 10:30-13:30 Aula2/Laboratorio Giovedì 10:30-13:30 Aula2/Laboratorio Ricevimento: mercoledì 9:30-10:30 E-mail docente:
DettagliSistemi Informativi Aziendali. Programma del corso
Sistemi Informativi Aziendali Corso di Laurea in Ingegneria Gestionale Programma del corso Anno Accademico 2008/09 Docente: Massimo Cossentino Programma del corso a.a. 2008-09 Introduzione al corso ICT
DettagliInformatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
DettagliMATERIALI PER LA DISCUSSIONE
SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,
DettagliDottorato di ricerca in Informatica Dipartimento di Informatica Università degli Studi di Verona. Nicola Drago (XV ciclo)
Dottorato di ricerca in Informatica Dipartimento di Informatica Università degli Studi di Verona Nicola Drago (XV ciclo) RELAZIONE ATTIVITA' DI RICERCA SVOLTA AL III ANNO DI CORSO DI DOTTORATO 1. Programma
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 2: Introduzione al corso Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Classificazione degli elaboratori Alcuni concetti base: la struttura
DettagliJava: un linguaggio per applicazioni di rete
Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliPROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA
PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA 1. Competenze: le specifiche competenze di base disciplinari previste dalla
DettagliComputer Aided Design. Matteo Montani
Computer Aided Design Matteo Montani Sommario Gestione di progetti logici complessi Metodologie di progetto (sintesi - verifica) Strategie di implementazione di circuiti digitali - Full custom (layout)
DettagliD.E.I.S. Università di Bologna DEISNet IC3N 2000 N. 1
Programmi per la simulazione D.E.I.S. Università di Bologna DEISNet http://deisnet.deis.unibo.it/ IC3N 2000 N. 1 Introduzione La maggior parte delle simulazione ad eventi discreti richiede le seguenti
DettagliProgrammazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale
Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica
Dettagli