Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio.

Slides:



Advertisements
Presentazioni simili
Traduzione ed Interpretazione
Advertisements

Informatica Generale Marzia Buscemi
Gestione della memoria centrale
Software di base: Linguaggi di Programmazione
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.
Dalla scrittura all’esecuzione
Gestione della memoria
Evoluzione dei linguaggi di programmazione
Organizzazione della memoria
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Algoritmi e Programmazione
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Programmazione Procedurale in Linguaggio C++
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
2 luglio 2006URM2 – ING- OOP0304 OL G. Cantone e A. Lomartire 1 Programmazione Orientata agli Oggetti Processi, task e thread Java (ed esempi) Università
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione alla programmazione lll
Struttura dei sistemi operativi (panoramica)
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Unità Didattica 2 I Linguaggi di Programmazione
memoria gestita staticamente:
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.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Il sistema operativo Vito Perrone
Fondamenti di Informatica Algoritmi
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Il Linguaggio C.
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
ELETTRONICA DIGITALE (II Parte)
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
CODIFICA Da flow-chart a C++.
Laboratorio di Linguaggi lezione VII: variabili Globali e Locali Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali.
Introduzione al linguaggio assembly del microprocessore a parte
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Linguaggi per COMUNICARE
Complessità di un algoritmo
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
Calcolatori Elettronici Assemblatore, Linker e Loader
1. 2 Variabili statiche e dinamiche Un programma è un processo in esecuzione a cui il sistema operativo assegna una certa zona di memoria. Tale zona può.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Programmazione Assembly
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Architettura di un calcolatore e linguaggio macchina.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Il software Claudia Raibulet
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
Parte IIElementi di Informatica1 Introduzione ai sistemi operativi Parte II.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Parte IIConoscenze Informatiche1 Introduzione ai sistemi operativi e WindowsX Parte II.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Unità di apprendimento 6
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio

Elettronica Digitale (II Parte) 10-11_5 2 Programma e Memoria Il codice macchina del programma in esecuzione si trova in memoria centrale. Le istruzioni macchina sono codificate in forma numerica e occupano una o più parole ciascuna. I dati sono pure collocati in memoria centrale, in un intervallo di indirizzi separato da quello dove si trovano le istruzioni macchina.

Elettronica Digitale (II Parte) 10-11_5 3 esempio di collocazione in memoria centrale di programma e relativi dati qui le istruzioni macchina sono denotate in forma simbolica, ma in realtà sono in forma numerica per semplicità si suppone occupino ciascuna una sola parola di memoria Esempio

Elettronica Digitale (II Parte) 10-11_5 4 L’assemblaggio Il programma macchina in forma simbolica si presenta come una successione di: –istruzioni macchina simboliche –direttive (pure simboliche) Il processo di assemblaggio è sequenziale e procede nel modo seguente: –riconosce e trasforma le istruzioni in forma numerica, collocandole a indirizzi successivi –riconosce e interpreta le direttive

Elettronica Digitale (II Parte) 10-11_5 5 Processo di Assemblaggio (1) Il processo di assemblaggio deve in qualche modo definire dove (cioè a quali indirizzi) collocare programma e dati. Ci sono anche altre questioni da affrontare: –come definire costanti simboliche ed etichette –come risolvere le etichette in indirizzi numerici –come designare porzioni di memoria per dati

Elettronica Digitale (II Parte) 10-11_5 6 Processo di Assemblaggio (2) La collocazione del programma dipende in modo essenziale dal sistema operativo: Sistema operativo assente o non concorrente: –collocazione e indirizzi stabiliti in modo definitivo durante l'assemblaggio Sistema operativo concorrente con meccanismo di memoria virtuale: –collocazione e indirizzi stabiliti in modo provvisorio durante l'assemblaggio, e finalizzati da parte del S.O. al momento della messa in esecuzione del processo

Elettronica Digitale (II Parte) 10-11_5 7 Sistema di Assemblaggio Il sistema GAS (GNU ASsembler) è un assemblatore generico, capace di riconoscere il linguaggio macchina di numerose famiglie di processori (Motorola, Intel, HP, ARM e altre). Le direttive e il formato generale simbolico di GAS sono comuni a tutti i linguaggi. GAS si specializza solo nel riconoscere i nomi delle istruzioni macchina, che variano secondo il processore commerciale specifico da trattare.

Elettronica Digitale (II Parte) 10-11_5 8 Sistema di Assemblaggio Il sistema GAS è integrato nel sistema di compilazione GNU C/C++, per ambiente Unix/Linux (o simulato sotto Windows). Comunque GAS è usabile anche in forma separate dal compilatore C/C++. Dispone inoltre di sistema di simulazione (debugger), per vari tipi di processore. Per i dettagli sull'uso pratico di GAS, si vedano indicazioni e riferimenti nel libro.

Elettronica Digitale (II Parte) 10-11_5 9 Formato di Linea Il formato di linea di programma (in linguaggio macchina simbolico) GAS è mostrato sopra. Il "codice mnemonico" è il nome dell'istruzione macchina, e dipende dal processore su cui andrà eseguito il programma. Talvolta, invece dell'istruzione (simbolica), compare una direttiva, cioè un comando per il sistema di assemblaggio stesso (qui GAS).

Elettronica Digitale (II Parte) 10-11_5 10 Direttiva di Assemblatore La direttiva somiglia a un'istruzione macchina in forma simbolica, ma non genera un'istruzione per il processore. Piuttosto, è un comando dato al sistema assemblatore, per pilotare il modo di generazione del codice macchina. L'assemblatore riconosce la direttiva, la interpreta e mette in opera, e la toglie dal programma (il processore non la vedrà).

Elettronica Digitale (II Parte) 10-11_5 11 Dichiarazione di Simbolo La costante SIM è usabile come indirizzo simbolico, o come costante in calcoli. La direttiva è molto usata per associare simboli a indirizzi, rendendoli mnemonici e facilmente interpretabili.

Elettronica Digitale (II Parte) 10-11_5 12 Indirizzo Iniziale di Programma L'etichetta ETI è il valore simbolico dell'indirizzo di impianto del programma. Se non c'è memoria virtuale, "num" sarà l'indirizzo effettivo dove caricare il programma in memoria. Se c'è memoria virtuale, "num" sarà soggetto al meccanismo di rilocazione o di paginazione del S.O. Si può ripetere la direttiva, dividendo il programma in tronconi (segmenti) collocati a indirizzi diversi. Può anche definire dove collocare dati in memoria.

Elettronica Digitale (II Parte) 10-11_5 13 Blocco di Dati (non inizializzati) L'etichetta ETI è il valore simbolico dell'indirizzo iniziale del blocco di byte consecutivi. La direttiva serve per riservare in memoria una regione destinata a contenere dati vari. Si può ripetere per dichiarare due o più regioni.

Elettronica Digitale (II Parte) 10-11_5 14 Dati Inizializzati La direttiva funziona come ".space", ma inizializza i dati dichiarati.