Dalla scrittura all’esecuzione

Slides:



Advertisements
Presentazioni simili
Software di base: Linguaggi di Programmazione
Advertisements

Code::Blocks Ambiente di sviluppo.
La struttura fisica e logica di un elaboratore
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Code::Blocks Ambiente di sviluppo.
Evoluzione dei linguaggi di programmazione
Procedure e funzioni A. Ferrari.
I linguaggi di programmazione
Definizione e tipi di implementazione
Prova di completamento: selezione di domande
Informatica Generale Susanna Pelagatti
Generalità Linguaggio e Macchina Astratta
1 Strutture dati nel supporto a run time. 2 Entità presenti quando un programma va in esecuzione §programmi dutente (compilati) §routines del supporto.
Architettura di un sistema informatico Hardware
Dr. Francesco Fabozzi Corso di Informatica
Introduzione alla programmazione
TRADUZIONE DEL PROGRAMMA Una volta che un programma sia stato scritto in C, esso non può essere eseguito senza unulteriore traduzione. Ciò perché qualsiasi.
Laboratorio di informatica: ASSEMBLER
Corso di Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Struttura dei sistemi operativi (panoramica)
Il livello Microarchitetturale
1 Generazione codice Daniela Briola Lorena Bellino.
Unità Didattica 2 I Linguaggi di Programmazione
Il sistema operativo Vito Perrone
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
La macchina di von Neumann
ARCHITETTURA DEGLI ELABORATORI
Architettura degli Elaboratori II (canale P-Z) Linguaggi e moduli
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue.
INTERFACCIAMENTO ASSEMBLY - C++
ARCHITETTURA DI UN ELABORATORE
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
CURRICOLO DI SISTEMI DI ELABORAZIONE E TRASMISSIONE DELLE INFORMAZIONI PER ISTITUTI TECNICI INDUSTRIALI CLASSE III Progetto ABACUS Progetto ABACUS GRUPPO.
Architettura di una CPU
Calcolatori Elettronici Assemblatore, Linker e Loader
Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio.
275 Università di Pavia - corso di Fondamenti di Informatica Interfacce di comunicazione Interfacce Parallele: veloci, pochi metri di distanza, cavi con.
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Programmazione Assembly
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Architettura di un calcolatore e linguaggio macchina.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Concetti Fondamentali sulla Programmazione
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Il software Claudia Raibulet
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
Come esegue le istruzioni il microprocessore Un’istruzione è sempre composta da più operazioni elementari.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Università degli Studi di Roma – Tor Vergata Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica Azione delle istruzioni.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Unità di apprendimento 6
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Dalla scrittura all’esecuzione di un programma Assembler

L’assemblatore

Definizione Un assembler (assemblatore in italiano) è un software che trasforma le istruzioni mnemoniche dell'assembly in linguaggio macchina. Si tratta dunque di un compilatore per un particolare linguaggio assembly. Il termine assembler deriva dal fatto che le istruzioni vengono convertite e montate una accanto all'altra come se fossero in fila. Ci sono molti tipi di linguaggi assembly e di conseguenza diversi assemblatori: esistono gli assembler per programmare i microchip, per creare programmi sul Personal Computer, per telefoni cellulari, ecc. Questo perché un assemblatore produce codice assembly per una specifica famiglia di processori (intel 8086, 80386, Motorola 68000, ecc.).

Le fasi dell’assemblatore Determinazione degli indirizzi dei simboli Generazione codice

Prima passata Il programma viene analizzato e il Location Counter viene aggiornato di volta in volta in base alla lunghezza di ogni singola istruzione (utilizzando una tabella con i codici delle istruzioni e la loro lunghezza). Viene generata la Tabella dei simboli e delle costanti. (ad ogni simbolo o costante viene associato il relativo indirizzo)

Seconda passata Utilizzando le tabelle costruite al passo precedente viene generato il programma oggetto

Linker

Caricatore (linker) Il linking (letteralmente "collegamento”) è il procedimento di integrazione dei vari moduli a cui un programma fa riferimento (i quali possono essere sottoprogrammi o librerie), per creare una singola unità eseguibile. Il linker (o link editor) è un programma che effettua il collegamento tra il programma oggetto, cioè la traduzione del codice sorgente in linguaggio macchina, e le librerie del linguaggio necessarie per l'esecuzione del programma.

Loader

Caricatore (loader) Viene individuata una zona di memoria in cui caricare il programma. Il programma viene caricato in questa zona di memoria e vengono risolti gli indirizzamenti A questo punto il programma può essere esguito

Le fasi di esecuzione di un programma fetch decode execute store

Le fasi in dettaglio Fetch Decode Execute Store l’Unità di Controllo pone sull’Bus degli Indirizzi il valore del Program Counter, e legge dalla Memoria e il codice operativo dell’istruzione Decode L’Unità di Controllo , in base al codice di controllo, determina la lunghezza dell’istruzione, legge dalla memoria gli operandi (Operand Fetch) che si trovano agli indirizzi adiacenti a quello dell’Op.Code. e li carica nei registri. Execute viene avviato il microprogramma relativo all’Op.Code attuale, che usa i propri parametri correttamente memorizzati nei registri. La frequenza in base alla quale vengono eseguiti i microprogrammi è regolata dal clock di CPU (frequenza del Microprocessore). Store al termine della fase di Execute gli eventuali risultati, posti nei Registri, vengono scritti sul Bus dall’UC, o verso la Memoria, o verso l’I/O.