Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016
|
|
- Luciana Locatelli
- 6 anni fa
- Visualizzazioni
Transcript
1 Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione feb, 2016
2 Sommario 1 Introduzione Macchina astratta Interprete Implementazione del linguaggio 2 Implementazione di macchine astratte Realizzazione Realizzazione HW Realizzazione SW Realizzazione FW Implementazione Interpretativa pura Implementazione Compilativa Pura Implementazione Ibrida macchina intermedia 3 Gerarchia Macchine Astratte 29 feb, / 28
3 Agenda 1 Introduzione Macchina astratta Interprete Implementazione del linguaggio 2 Implementazione di macchine astratte 3 Gerarchia Macchine Astratte 29 feb, / 28
4 Macchine e Linguaggi Macchina fisica (calcolatore): dispositivo elettronico capace di eseguire istruzioni ossia algoritmi opportunamente formalizzati in un linguaggio comprensibile per questo esecutore: Linguaggio di macchina L linguaggio compreso dalla macchina Macchina astratta per L, indicata con M L : insieme di algoritmi e strutture dati che permettono di memorizzare ed eseguire programmi scritti in L Programma: insieme di istruzioni scritte in L Macchine Astratte 29 feb, / 28
5 Struttura di una macchina astratta interprete dati controllo sequenza memoria controllo dati operazioni programma gestione memoria Macchine Astratte 29 feb, / 28
6 Interprete Interprete: componente della macchina che esegue le operazioni contenute nei programmi (con le relative str. dati): 1 Elaborazione dati primitivi es. operazioni aritmetiche su numeri interi 2 Controllo della sequenza d esecuzione es. gestione salti (sotto condizioni) es. PC registro con la prossima istruzione 3 Controllo trasferimento dati es. indirizzamento ed ordine trasferimento dati es. stack e operatori dedicati 4 Gestione della memoria allocazione della memoria per dati/programmi tramite opportune str. dati (es. pile) op. per la gestione dinamica Macchine Astratte 29 feb, / 28
7 Interprete [... cont.] inizio acquisizione pross. istruzione decodifica acquisizione operandi selezione op 1 op 2... op n Halt memorizzazione risultato fine Ciclo d esecuzione 1 Acquisizione da memoria prossima istruzione 2 Decodifica: operazione e operandi 3 Acquisizione operandi 4 Esecuzione operazione 5 Memorizzazione risultato 6 Se l istr. non era HALT: passa all istruzione successiva (vai a 1.) Macchine Astratte 29 feb, / 28
8 Implementazione del linguaggio Una macchina astratta M corrisponde ad un preciso linguaggio L (il suo linguaggio macchina) Dato un linguaggio L, ci sono diverse (infinite) macchine che possono adottarlo, variando: implementazione dell interprete strutture dati utilizzate Implementare un linguaggio L significa realizzare una macchina astratta che abbia L come linguaggio macchina Macchine Astratte 29 feb, / 28
9 Esempio interprete hardware PC UC R 1 R 2... R n IR ALU MAR MDR memoria principale Macchine Astratte 29 feb, / 28
10 Agenda 1 Introduzione 2 Implementazione di macchine astratte Realizzazione Implementazione Interpretativa pura Implementazione Compilativa Pura Implementazione Ibrida macchina intermedia 3 Gerarchia Macchine Astratte 29 feb, / 28
11 Realizzazione Realizzazione in hardware Realizzazione tramite dispositivi fisici: memorie, unità aritmetico-logiche, bus, reti,... Vantaggio esecuzione molto veloce linguaggi a basso livello linguaggi dedicati Svantaggi non adatta a linguaggi di alto livello complessità della progettazione non modificabilità della realizzazione influenzata dalla struttura dei linguaggi ad alto livello Macchine Astratte 29 feb, / 28
12 Realizzazione [... cont.] Simulazione mediante software Realizzazione mediante programmi in un (altro) linguaggio (già implementato) Data M L per L, si realizza M L per L, simulando con un programma in L, i costrutti di L ossia le funzionalità di M L Vantaggio massima flessibilità Svantaggio prestazioni inferiori l esecuzione passa per l interpretazione su M L, a prescindere dalla realizzazione di quest ultima (HW,SW,FW) Macchine Astratte 29 feb, / 28
13 Realizzazione [... cont.] Simulazione (emulazione) mediante firmware Realizzazione intermedia ottenuta attraverso microprogrammi che simulano algoritmi e str. dati di M L Simile al caso SW ma con una macchina intermedia realizzata come macchina fisica con linguaggi di basso livello: micro-linguaggi risiedono su (EP)ROM Vantaggio elevata velocità Svantaggi minore flessibilità maggiore complessità della programmazione opportuni dispositivi di scrittura su ROM Macchine Astratte 29 feb, / 28
14 Implementazione pura Caso ideale: realizzazione di M L per L si usa una macchina ospite M olo per L o traduzione da L ad L o Implicita implementazione interpretativa pura attraverso programmi in L o per simulare M L esecuzione della traduzione istruzione per istruzione Esplicita implementazione compilativa pura traduzione dei programmi in L in programmi in L o Macchine Astratte 29 feb, / 28
15 Richiamo: Funzioni Parziali Definizione (funzioni parziali) Una funzione parziale f è una relazione tra A e B (f A B) tale che, per ogni a A, se esiste un elemento corrispondente b B, esso è unico: b = f (a) I programmi definiscono funzioni parziali Esempio 1 read(x); 2 if (x >= 1) then return(x-1); 3 else while (true) do skip calcola la funzione: f (x) = { x 1 se x 1 valore indefinito altrimenti Macchine Astratte 29 feb, / 28
16 Notazione D dominio dei dati in input e output programma in L: P L : D D tale che P L (Input) = Output quando termina altrimenti la funzione è indefinita Prog L insieme dei programmi in L Macchine Astratte 29 feb, / 28
17 Interpretativa pura Interprete per M L realizzato tramite M olo programma scritto in L o denotato con I(L, L o ) sa tradurre ed eseguire tutte le istruzioni di L per eseguire P L per certi dati in input D D, si esegue I(L, L o ) su M olo con input P L e D formalmente: interprete I calcola la funzione parziale I : (Prog L D) D tale che I(P L, Input) = P L (Input) = Output NB M olo può essere di qualunque natura Macchine Astratte 29 feb, / 28
18 Interpretativa pura [... cont.] programma in L input interprete di L scritto in L o output esecuzione macchina ospite M o Macchine Astratte 29 feb, / 28
19 Compilativa Pura Il programma in L viene tradotto esplicitamente in L o eseguendo il programma compilatore, denotato con C L,Lo L linguaggio sorgente; L o linguaggio oggetto per eseguire P L con input D D si esegue C L,Lo con input P L producendo P clo in L o quindi si esegue P clo su M olo con input D Formalmente C L,Lo calcola la funzione: C L,Lo : Prog L Prog Lo tale che P clo = C L,Lo (P L ) e Input D : P L (Input) = P clo (Input) Macchine Astratte 29 feb, / 28
20 Compilativa Pura [... cont.] programma in L input programma in L compilatore da L a L o programma compilato in L o output esecuzione esecuzione macchina ospite M a macchina ospite M o Macchine Astratte 29 feb, / 28
21 Struttura di una macchina astratta Implementazione interpretativa Svantaggi scarsa efficienza: overhead per la decodifica replica della traduzione Vantaggi: maggiore flessibilità facilità di sviluppo e debugging memoria ridotta (solo sorgente) Implementazione compilativa Vantaggi: esecuzione più efficiente una sola traduzione Svantaggi: minore flessibilità perdita di informazioni sul sorgente minore facilità di debugging degli errori a run-time Macchine Astratte 29 feb, / 28
22 Ibrida macchina intermedia programma in L input programma in L compilatore da L a L i programma compilato in L i interprete L i output esecuzione esecuzione macchina ospite M o macchina intermedia M i Macchine Astratte 29 feb, / 28
23 Livelli di implementazione M L = M ili implementazione puramente interpretativa M L M ili M olo se l interprete della M ili è molto diverso da quello della M olo allora l implementazione è di tipo interpretativo non tutti i costrutti di L vanno simulati: per alcuni (pochi) il corrispettivo è diretto in L o se l interprete della M ili è molto simile a quello della M olo allora l implementazione è di tipo compilativo molti costrutti hanno un corrispettivo pochi (es. I/O) vanno simulati in L o M ili = M olo implementazione puramente compilativa Macchine Astratte 29 feb, / 28
24 Supporto a Run-Time Insieme dei programmi che estendono le funzionalità di M olo e che simulano le funzionalità di L i (e quindi di L) Per alcuni linguaggi la macchina intermedia non è esplicita Per altri la macchina intermedia è definita formalmente per questioni di portabilità L implementazione compilativa per un dato HW è più complessa di quella interpretativa Applicata per la prima volta per il PASCAL (P code) Analogamente in JAVA il byte code è interpretato dalla JVM JRE: Java Runtime Env. Macchine Astratte 29 feb, / 28
25 Agenda 1 Introduzione 2 Implementazione di macchine astratte 3 Gerarchia Macchine Astratte 29 feb, / 28
26 Gerarchia Per ogni livello i, una macchina M i L i è implementata su / utilizza funzionalità di M i 1 L i offre le sue a quelle di livello superiore M i+1 L i permette di dominare la complessità consente l indipendenza dei vari livelli Macchine Astratte 29 feb, / 28
27 Gerarchia [... cont.] Macchina E-business Macchina Web service Macchina Web Macchina Linguaggio Macchina Intermedia Macchina Sistema Operativo Macchina Firmware Macchina Hardware Macchine Astratte 29 feb, / 28
28 Riferimenti Gabbrielli & Martini: Linguaggi di Programmazione, 2a ed. McGraw-Hill. Cap. 1 Macchine Astratte 29 feb, / 28
Corso di Linguaggi di Programmazione + Laboratorio
Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un
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
DettagliMacchine Astratte. Luca Abeni. February 22, 2017
Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria
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
DettagliLa Programmazione. Programmare Macchine Astratte Compilazione / Interpretazione Java. Laboratorio di Programmazione - Luca Tesei
La Programmazione Programmare Macchine Astratte Compilazione / Interpretazione Java 1 Programmare vs Usare un computer Esite una grossa differenza e l'ignoranza della stessa genera confusione e incomprensioni
DettagliMacchine astratte, linguaggi, interpretazione, compilazione
Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta
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
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)
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
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
DettagliMetodologie di Programmazione. ovvero, Principi e Tecniche per la costruzione di programmi
Metodologie di Programmazione ovvero, Principi e Tecniche per la costruzione di programmi 1 In questo corso Sviluppo in piccolo: Tempi: mesi/uomo v.s. anni/uomo Strumenti: personal v.s. professional Programmazione
DettagliIntroduzione al funzionamento di un calcolatore elettronico
1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliFondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliTEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente
DettagliProgrammazione. Andrea Passerini Informatica. Programmazione
Andrea Passerini passerini@disi.unitn.it Informatica Linguaggi di programmazione Il calcolatore è in grado di comprendere solo istruzioni in linguaggio macchina. Il linguaggio macchina non è adatto alla
DettagliInformatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti
Informatica 80 ore divise in 4 UFC Docente: Michela Bacchin Contatti: michela.bacchin.corsi@gmail.com Tramite Ermes Studenti Programma UFC 12: Strumenti per il trattamento dei documenti testuali UFC 13:
DettagliProgrammazione: Sommario
Programmazione: Sommario Concetti di Base della Programmazione; Algoritmi; Diagrammi di Flusso; Istruzioni Sequenziali, Condizionali, Cicliche; Logo Variabili, Procedure e Parametri; 1 Il Problema computazionale
DettagliLinguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliIntroduzione ai Calcolatori Elettronici
Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi
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
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura
DettagliChe cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
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
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliAMBIENTI DI PROGRAMMAZIONE
AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di
DettagliArchitettura dei calcolatori e Software di sistema
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
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
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliFondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1)
Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1) Docente: Eugenia Occhiuto e-mail: occhiuto@di.unipi.it web: http://www.di.unipi.it/~occhiuto Ricevimento al Polo
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliCorso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Introduzione. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori Introduzione Giacomo PISCITELLI Scheduling Orario delle lezioni Lunedi ore 15.50-17.30 aula 10 Giovedi
DettagliCOMPILAZIONE. Tarsformazione di linguaggi
COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
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
DettagliIntroduzione al software. Maurizio Gabbrielli Università di Bologna
Introduzione al software Maurizio Gabbrielli Università di Bologna 1 Il calcolatore elettronico Calcolatore = hardware + software Hardware: i componenti fisici Software: le istruzioni che ``dicono all
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliISTITUTO SUPERIORE ENRICO FERMI. PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s.
ISTITUTO SUPERIORE ENRICO FERMI PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s. 2016/2017 ARTICOLAZIONE: INFORMATICA DISCIPLINA: INFORMATICA ORE SETTIMANALI:
DettagliElementi di base del calcolatore
Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliModi di indirizzamento
Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando
DettagliIl concetto di informatica. Graziano Pravadelli (2012)
Il concetto di informatica Graziano Pravadelli (2012) Informatica e telecomunicazione Cos è l informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria,
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliArchitettura di Von Neumann
Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Dettaglila traduzione dei programmi ed introduzione a Java
la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
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
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 1 Introduzione ai linguaggi di programmazione ed alla teoria dei linguaggi formali Si ringraziano il Prof. Giovanni Semeraro
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliIntroduzione al Linguaggio C Corso di Informatica Laurea in Fisica
Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Dai flow-chart ai linguaggi... Abbiamo imparato ad usare uno strumento formale i flowchart per
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
DettagliElementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it
DettagliEsame di INFORMATICA Lezione 4
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliElaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
DettagliINFORMATICA GENERALE
INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliSistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario
Sistemi RAID 1 Motivazioni Concetti di base Livelli RAID Sommario 2 1 Motivazione L evoluzione tecnologica ha permesso di avere dischi sempre più piccoli e meno costosi E facile equipaggiare un sistema
DettagliMacchine Astratte (anche dette Macchine Virtuali)
Macchine Astratte (anche dette Macchine Virtuali) Corso: Architettura degli Elaboratori Docenti: F. Barbanera, G. Bella UNIVERSITA DI CATANIA Dip. di Matematica e Informatica Esempi di macchine astratte
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
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
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliCome funzionano i computer
Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione
DettagliLA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliBasi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30
DettagliIntroduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
DettagliLaboratorio di Calcolo A
Laboratorio di Calcolo A Patrizia Boccacci Alessandro Brunengo Fabrizio Parodi Lo scopo del corso è quello di fornire gli strumenti informatici di base per per affrontare e risolvere i problemi tipici
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
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
Dettagli