Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno 1 2005/2006.

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO MACCHINA e ASSEMBLER
Advertisements

Informatica Generale Marzia Buscemi
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Procedure In assembler.
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il Linguaggio Macchina
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Microprogrammazione Codice operativo.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
CALCOLATORI ELETTRONICI
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Il Linguaggio Macchina
1 Generazione codice Daniela Briola Lorena Bellino.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Esempi di riuso del codice nei linguaggi di alto livello Lab Programmazione - turno /2006.
10) switch, else if e ifdef. Lab.Calc.I AA2002/03 - cap.102 espressione condizione.
Lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Strutture di controllo in C -- Flow Chart --
Architettura di un calcolatore
Elementi di Informatica
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Il nostro schiavetto…. ALUALU REGISTERS MEMORIA ControlUnit mPC Instruction register …come istruirlo!
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Algoritmi di conversione in basi numeriche diverse
Sistemi di elaborazione e trasmissione delle informazioni
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Complessità di un algoritmo
Architettura von Neumann
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Architettura del calcolatore
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 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Architettura di un calcolatore e linguaggio macchina.
Algoritmi.
L’esecuzione dei programmi
SPIM Esercizi. Esercizio 1 – il comando ‘li’ Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
2 bits di mantissa e 3 di esponente = 0 =
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Esercizi.
Esempio scriviamo un programma in linguaggio macchina che: trasferisce il contenuto delle 2 parole della RAM di indirizzi 64 e 68 nei registri R 0 ed R.
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.
3. Programmazione strutturata 3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Informatica - CDL in Ingegneria Industriale- A.A
Transcript della presentazione:

Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006

AA 2005/06 Lab Programmazione L. Capra 2 Linguaggi macchina e assembler Il set di istruzioni direttamente eseguibili dalla CPU di un elaboratore è abbastanza limitato istruzioni di trasferimento dati tra RAM e registri CPU istruzioni aritmetico-logiche (che operano su dati trasferiti nei registri CPU) istruzioni di controllo e salto (permettono di modificare lordine sequenziale di esecuzione) linguaggi assembler: codifica mnemonica dei linguaggi macchina (si usano nomi per denotare il tipo di istruzione, i registri, e le locazioni di memoria contenenti i dati)

AA 2005/06 Lab Programmazione L. Capra 3 Un linguaggio assembler generico Faremo riferimento ad una generica CPU con 4 soli registri (R1,R2,R3,R4) ed il seguente set di istruzioni: trasferimento dati CPU – RAM: LOAD, STORE, es. LOAD R1, x% x ad es. denota la locazione n. 102 % aritmetico logiche: ADD,DIV,MUL,SUB: es. ADD R1,R2% risultato in R1% controllo/salto: JUMP,JZERO: es. … JZERO R2, alfa% se R2 == 0 salta alletichetta alfa% DIV R1,R2 … alfa: …

AA 2005/06 Lab Programmazione L. Capra 4 Un semplice algoritmo Esercizio: vogliamo calcolare x y, dove x,y: Int, y 0 assumiamo che in due locazioni omonime si trovino i valori corrispondenti Usiamo la definizione x y = Idea base: memorizziamo in un registro (R3) risultato parziale della moltiplicazione { 1 se y = 0 x x… x se y > 0 y volte

AA 2005/06 Lab Programmazione L. Capra 5 Caricamento dati LOAD R1, y % valore loc. y caricato in R1% LOAD R2, x % valore loc. x caricato in R2% LOAD R3, #1 % val. 1 memorizzato in R3% LOAD R4, #1 % val. 1 memorizzato in R4 % ….

AA 2005/06 Lab Programmazione L. Capra 6 Prima parte (caso y = 0) LOAD R1, y % valore loc. y caricato in R1% LOAD R2, x % valore loc. x caricato in R2% LOAD R3, #1 % val. 1 memorizzato in R3% LOAD R4, #1 % val. 1 memorizzato in R4 % loop :JZERO R1, fine % se R1 = 0 vai a fine% …. fine:PRINT R3

AA 2005/06 Lab Programmazione L. Capra 7 Seconda parte (caso y > 0) LOAD R1, y % valore loc. y caricato in R1% LOAD R2, x % valore loc. x caricato in R2% LOAD R3, #1 % val. 1 memorizzato in R3% LOAD R4, #1 % val. 1 memorizzato in R4 % loop :JZERO R1, fine % se R1 = 0 vai a fine% JUMP loop % ritorna a loop% fine:PRINT R3

AA 2005/06 Lab Programmazione L. Capra 8 Seconda parte (caso y > 0) LOAD R1, y % valore loc. y caricato in R1% LOAD R2, x % valore loc. x caricato in R2% LOAD R3, #1 % val. 1 memorizzato in R3% LOAD R4, #1 % val. 1 memorizzato in R4 % loop :JZERO R1, fine % se R1 = 0 vai a fine% MUL R3, R2% moltiplica per x risultato parz.% JUMP loop % ritorna a loop% fine:PRINT R3

AA 2005/06 Lab Programmazione L. Capra 9 Seconda parte (caso y > 0) LOAD R1, y % valore loc. y caricato in R1% LOAD R2, x % valore loc. x caricato in R2% LOAD R3, #1 % val. 1 memorizzato in R3% LOAD R4, #1 % val. 1 memorizzato in R4 % loop :JZERO R1, fine % se R1 = 0 vai a fine% MUL R3, R2% moltiplica per x risultato parz.% SUB R1, R4 JUMP loop % ritorna a loop% fine:PRINT R3

AA 2005/06 Lab Programmazione L. Capra 10 Codifica algoritmo ad alto livello Usiamo uno pseudo-linguaggio di alto livello per implementare lo stesso calcolo Strutture di controllo (sintassi) Selezione SE condizione ALLORA istruzione1 ALTRIMENTI istruzione2 FINESE Iterazione QUANDO condizione ESEGUI istruzione RIPETI

AA 2005/06 Lab Programmazione L. Capra 11 Codifica ad alto livello (1) VAR x,y,r: INT leggi x, y r = 1 QUANDO y > 0 ESEGUI r = r * x y = y – 1; RIPETI scrivi r

AA 2005/06 Lab Programmazione L. Capra 12 Codifica ad alto livello (2) VAR x,y,r: INT leggi x, y SE y < 0 oppure (x == 0 e y ==0) ALLORA scrivi parametri non corretti ALTRIMENTI r = 1 QUANDO y > 0 ESEGUI r = r * x y = y – 1; RIPETI scrivi r FINESE