Definizione e tipi di implementazione

Slides:



Advertisements
Presentazioni simili
Traduzione ed Interpretazione
Advertisements

Sistema operativo MS-DOS
Macchine Astratte (anche dette Macchine Virtuali)
Il Software.
Software di base: Linguaggi di Programmazione
La struttura fisica e logica di un elaboratore
Programmazione e Laboratorio di Programmazione – Luca Tesei1 La Programmazione Cosè la programmazione? Concetti preliminari.
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Generalità Linguaggio e Macchina Astratta
Architettura di un sistema informatico Hardware
Introduzione alla programmazione
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Struttura dei sistemi operativi (panoramica)
Modelli simulativi per le Scienze Cognitive
Il Linguaggio Macchina
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
L' ARCHITETTURA DI VON NEUMANN
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
Macchine astratte, linguaggi, interpretazione, compilazione
Implementazione di un linguaggio ad alto livello (con riferimento a Java)
Unità centrale di processo
Programma di Informatica Classi Prime
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
STRUTTURA DELL’ELABORATORE
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Architettura di una CPU
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INFORMATICA = INFOrmazione + autoMATICA L’informazione una delle risorse strategiche più importanti della società moderna Capacità di gestire l’informazione.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Concetti Fondamentali sulla Programmazione
1 Macchine astratte, linguaggi, interpretazione, compilazione.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
Classi ed Oggetti in Java (Cenni). Richiami Cenni sull’ Implementazione, Macchine Astratte, Compilatore, Interprete Ruolo delle Classi in Java Oggetti.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Il software Claudia Raibulet
Informatica e Informatica di Base
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informazione e Informatica - presentazione dei concetti di base -
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

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 per la definizione e l’implementazione dei linguaggi Costituiscono un’ontologia del nucleo del “mondo” dei linguaggi di programmazione Spiegano in maniera precisa i concetti di compilazione, interpretazione e soluzioni implementative miste

Macchina Astratta un insieme di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi MEMORIA OPERAZIONI INTERPRETE OP 1 PROGRAMMI OP 2 CONTROLLO SEQUENZA DATI CONTROLLO DATI GESTIONE MEMORIA OP n

Es: Una macchina fisica come macchina astratta Operazioni Primitive Operazioni aritmetico-logiche Operazioni di manipolazione di stringhe di bit Lettura/Scrittura di celle di memoria e registri Input/output Controllo di Sequenza (salti, condizionali, chiamate e ritorni dai sottoprogrammi) Registro contatore istruzioni (PC) Strutture dati che contengono i punti di ritorno dei sottoprogrammi

Es: Una macchina fisica come macchina astratta Controllo dati Acquisizione operandi Memorizzazione risultato Architettura a registri: Registri indice Indirizzamento indiretto Architettura a Pila: Gestione della Pila

Es: Una macchina fisica come macchina astratta Gestione della memoria Architettura a registri: Nessuna poiché la memorizzazione è statica Architettura a Pila: Allocazione e recupero dei dati sulla Pila

L’interprete La struttura dell’interprete è sempre la stessa per una qualunque macchina astratta Quello che cambia sono le altre componenti

Start Controllo Sequenzza Interprete Acquisisci la prossima istruzione Decodifica Controllo Dati Acquisisci operandi Operazioni Seleziona Esegui OP 1 Esegui OP 2 Esegui OP n Esegui Alt Controllo Dati Memorizza il Risultato Stop Controllo Dati

Il linguaggio di una macchina astratta M macchina astratta LM linguaggio “macchina” di M: è il linguaggio in cui si esprimono tutti i programmi interpretati dall’interprete di M I programmi sono particolari dati primitivi su cui opera l’interprete

Rappresentazione dei programmi Interna: strutture dati in memoria Esterna: stringhe di caratteri (scritte dal programmatore) La conversione fra forma esterna e forma interna è realizzata dal caricatore (loader) LM denota uno qualunque dei due

Macchine astratte Ai componenti di M corrispondono i componenti di LM Tipi di dato primitivi Meccanismi per il controllo della sequenza Meccanismi per il controllo del trasferimento dei dati Meccanismi per la gestione della memoria

Realizzazione di Macchine Astratte Una macchina astratta è una collezione di strutture dati ed algoritmi Può essere realizzata combinando 3 tecniche Realizzazione in hardware Emulazione o simulazione via firmware Simulazione software

Realizzazione in hardware In linea di principio è sempre possibile E’ una soluzione che soffre di scarsa flessibilità Il costo di realizzazione è molto alto per macchine astratte complesse E’ realmente utile solo per macchine astratte (e linguaggi) di basso livello

Realizzazione in firmware Si realizzano le strutture dati e gli algoritmi mediante microprogrammi su una macchina (ospite) microprogrammabile I microprogrammi risiedono in una speciale memoria ROM e vengono eseguiti ad altissima velocità

Realizzazione in software Concettualmente identica all’emulazione Non richiede macchine ospiti particolari Chiaramente meno efficiente

Realizzazione dell’interprete L’interprete di una macchina astratta M può essere: Lo stesso della macchina ospite M0 M è un’estensione di M0 di cui condivide almeno l’interprete Simulato M ed M0 sono “diversi” perché hanno un diverso cervello, cioè diversi interpreti, anche se possono coincidere su altre componenti Distinzione importante per i concetti di interpretazione e compilazione

Realizzazione software su una macchina ospite M macchina astratta M0 macchina ospite (hardware, eventualmente microprogrammabile) Alcune componenti di M possono coincidere con quelle di M0 Alcune componenti (simulate) di M possono essere realizzate in firmware

La realizzazione alla fine è una combinazione delle tre Software Firmware Hardware

Dai linguaggi alle macchine astratte M  LM L  ML è la macchina astratta che ha L come linguaggio macchina Se L è un linguaggio ad alto livello, ML può essere molto complessa Implementare L vuol dire realizzare ML Come?

Implementazione di ML Generalmente mediante simulazione (software od eventualmente firmware) su una macchina ospite M0 Se l’interprete di ML è simulato, l’implementazione si chiama interpretativa Esiste un’alternativa basata su tecniche di traduzione (soluzione compilativa)