Matricola Nome Cognome

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Matricola Nome Cognome"

Transcript

1 Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica e Ingegneria Gestionale Architettura dei calcolatori (ex Fondamenti di Informatica II) 6 giugno 27 - Prova scritta Matricola Nome Cognome ISTRUZIONI (da leggere attentamente) ) Lo studente è tenuto a scrivere, correggere, compilare ed eseguire su computer (a casa o in laboratorio) gli esercizi di programmazione prima della prova orale. Alla prova orale lo studente deve portare una memoria USB contenente i sorgenti dei programmi corretti e le stampe dei relativi file. 2) Non è consentito l uso di libri, appunti, calcolatrici, telefoni cellulari. 3) Rispondere sinteticamente negli spazi di fianco o seguenti le domande, oppure sul retro del foglio.. (3 punti) Si esegua in binario su 8 bit in complemento a 2 l operazione , discutendo l eventuale condizione di overflow. Si riportino tutti i passaggi effettuati :2 complemento a 2 : complemento a 2 - = -27 Il risultato è corretto in quanto cn = cn- =, quindi non si è verificato overflow. 2. (2 punti) Indicare le associazioni ritenute corrette CRC [ ] compressione [X] controllo errori [ ] correzione errori singolo bit di parità [ ] compressione [X] controllo errori [ ] correzione errori distanza di Hamming [ ] compressione [X] controllo errori [X] correzione errori

2 Si consideri la libreria in linguaggio C per manipolare file bitmap vista a lezione, così definita: typedef unsigned char byte; typedef unsigned short int word; typedef unsigned long int dword; #define BMPFILETYPE x4d42 typedef struct tagcolortriple byte blue; byte green; byte red; COLORTRIPLE; typedef struct tagfileheader word ImageFileType; dword FileSize; word Reserved; word Reserved2; dword ImageDataOffset; FILEHEADER; typedef struct tagbmpheader dword HeaderSize; dword ImageWidth; dword ImageHeight; word NumberOfImagePlanes; word BitsPerPixel; dword CompressionMethod; dword SizeOfBitmap; dword HorizonalResolution; dword VerticalResolution; dword NumberOfColorsUsed; dword NumberOfSignificantColors; BMPHEADER; typedef struct tagbitmap dword width; dword height; COLORTRIPLE *pixel; FILEHEADER fileheader; BMPHEADER bmpheader; BITMAP; #define PIXEL(image, row, column) \ image.pixel [(row( * image.width + (column)] BITMAP ReadBitmap (FILE *fp); void WriteBitmap (BITMAP bitmap, FILE *fp); BITMAP CreateEmptyBitmap (dword height, dword width); void ReleaseBitmapData (BITMAP *bitmap); 3. ( punti) L effetto caleidoscopico si ottiene ripetendo specularmente un immagine o una porzione di essa più volte rispetto ad un certo numero di assi. Il presente esercizio richiede di realizzare tale effetto in modo semplice, utilizzando gli assi cartesiani che passano per il centro dell immagine finale. L intera immagine sarà quindi riportata identica all originale nel quadrante in basso a sinistra e replicata specularmente negli altri tre. Di conseguenza, l immagine risultante dovrà avere un numero di pixel quadruplo rispetto all originale (si veda l esempio a lato). Si scriva un programma in inguaggio C che riceva sulla riga di comando il nome di due file bitmap e scriva nel secondo la trasformazione del primo come sopra descritto.

3 #include <stdio.h> #include <stdlib.h> #include "bmp.h" BITMAP caleidoscopio (BITMAP img); int main (int argc, char *argv[]) FILE *fpin, *fpout, *fptxt; BITMAP imgin, imgout; if (argc!= 3) printf ("ARGOMENTI: <file in> <file out>\n"); if ((fpin = fopen (argv[], "rb")) == NULL) printf ("Error opening input file\n"); if ((fpout = fopen (argv[2], "wb")) == NULL) printf ("Error opening output file\n"); imgin = ReadBitmap (fpin); fclose (fpin); imgout = caleidoscopio (imgin); WriteBitmap (imgout, fpout); fclose (fpout); ReleaseBitmapData (&imgin); ReleaseBitmapData (&imgout); return EXIT_SUCCESS; BITMAP caleidoscopio (BITMAP imgin) BITMAP imgout; int r, c; imgout = CreateEmptyBitmap (2 * imgin.height, 2 * imgin.width); for (r = ; r < imgin.height; r++) for (c = ; c < imgin.width; c++) PIXEL (imgout, r, c ) = PIXEL (imgout, imgout.height - - r, c ) = PIXEL (imgout, r, imgout.width - - c) = PIXEL (imgout, imgout.height - - r, imgout.width - - c) = PIXEL (imgin, r, c); return imgout;

4 Un elaboratore (il modello didattico SimCPU visto a lezione) dispone di CPU (a 6 bit) con 6 registri di uso generale (R, R,..., R5) più il Program Counter, l Instruction Register, lo Stack Pointer e 4 flag Z (zero), N (negative), C (carry) e V (overflow). Si ricorda che il linguaggio assembler di tale elaboratore dispone delle seguenti istruzioni: assembly inst. name machine code action assembly inst. name machine code action LDWI d X load word dddd DATA(6) d <- X LDWA d A load word dddd ADDR(6) d <- mem[a] LDWR d a load word ddddaaaa d <- mem[a] LDBI d X load byte dddd DATA(8) d <- X LDBA d A load byte dddd ADDR(6) d <- mem[a] LDBR d a load byte ddddaaaa d <- mem[a] STWA s A store word ssss ADDR(6) mem[a] <- s STWR s a store word ssssaaaa mem[a] <- s STBA s A store byte ssss ADDR(6) mem[a] <- s STBR s a store byte ssssaaaa mem[a] <- s MV s d move ssssdddd d <- s PUSH s push ssss push (s) POP d pop dddd d <- pop () SPRD d read SP ssss d <- SP SPWR s write SP ssss SP <- s ADD s d add ssssdddd d <- d + s SUB s d subtract ssssdddd d <- d - s NOT r bitwise NOT rrrr r <- ~r AND s d bitwise AND ssssdddd d <- d & s OR s d bitwise OR ssssdddd d <- d s XOR s d bitwise XOR ssssdddd d <- d ^ s INC r increment rrrr r <- r + DEC r decrement rrrr r <- r + LSH r left shift rrrr r <- r << RSH r right shift rrrr r <- r >> INW d A input word dddd IN_ADDR(6) d <- read[a] INB d A input byte dddd IN_ADDR(6) d <- read[a] OUTW s A out word ssss OUT_ADDR(6) out[a] <- s OUTB s A out byte ssss OUT_ADDR(6) out[a] <- s TSTI A test input IN_ADDR(6) if completed then Z <- else Z <- TSTO A test output OUT_ADDR(6) if completed then Z <- else Z <- BR A branch ADDR(6) PC <- A JMP F jump FFFFFFFF PC <- PC + F JMPZ F jump if zero FFFFFFFF if (z == ) PC <- PC + F JMPNZ F jump if not zero FFFFFFFF if (z == ) PC <- PC + F JMPN F jump if negative FFFFFFFF if (N == ) PC <- PC + F JMPNN F jump if not neg. FFFFFFFF if (N == ) PC <- PC + F JMPC F jump if carry FFFFFFFF if (C == ) PC <- PC + F JMPV F jump if overflow FFFFFFFF if (V == ) PC <- PC + F CALL A subroutine call ADDR(6) push (PC); PC <- A RET return from sub. PC <- pop() HLT halt halt LEGENDA: - lettere minuscole = registri; lettere maiuscole = dati numerici - r = registro letto e modificato - s = registro soltanto letto - d = registro modificato - a = registro il cui contenuto è usato come indirizzo - FFFFFFFF = offset (in complemento a 2) 4. (5 punti) Si scriva in linguaggio assembly la funzione SWAP che riceve in R e R2 gli indirizzi di memoria di due variabili intere e scambia, in memoria, il loro contenuto. NOTA: si tratta della versione assembly della nota funzione in linguaggio C void wap (int *a_ptr, int *b_ptr). SWAP: LDWR R R ; void swap (int *pa, int *pb) LDWR R R2 STWR R R2 STWR R R RET 5. (3 punti) Quali istruzioni modificano il valore dello stack pointer? SPWR, CALL, RET, PUSH, POP 6. (4 punti) La versione assembly del seguente programma è incompleta. La si completi basandosi sulla versione in linguaggio macchina e si scriva il valore del registro R al termine dell esecuzione. F START: LDWI R5 E E F SPWR R5 E C8 C HLT CF LDWI R 4 C2 LDWI R RET C9

5 F START: LDWI R5 E E F SPWR R5 E CALL F C8 C HLT CF F: LDWI R 4 JMPZ X C2 LDWI R X: RET C9 R = 7. (3 punti) Si disegni lo schema di traduzione degli indirizzi virtuali in fisici un un sistema basato su paginazione. (si vedano gli appunti e le videoregistrazioni delle lezioni)

x Matricola Nome Cognome

x Matricola Nome Cognome Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori (ex Fondamenti di Informatica II) 22 gennaio 2009 - Prova scritta Matricola Nome Cognome ISTRUZIONI

Dettagli

-128 in complemento a 2 su 8 bit , in complemento a 2 su 8 bit non possibile in binario puro su 8 bit non possibile

-128 in complemento a 2 su 8 bit , in complemento a 2 su 8 bit non possibile in binario puro su 8 bit non possibile Università degli Studi di Udine Architettura dei calcolatori / Fondamenti di Informatica II (prof. Montessoro) 22 gennaio 2018 Prova scritta per studenti di Ing. Elettronica e Ing. Gestionale immatricolati

Dettagli

Matricola Nome Cognome

Matricola Nome Cognome Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori / Fondamenti di Informatica II 9 febbraio 2012 - Prova scritta Matricola Nome Cognome ISTRUZIONI (da

Dettagli

-128 in modulo e segno su 8 bit non possibile in complemento a 2 su 8 bit , in binario puro su 8 bit non possibile

-128 in modulo e segno su 8 bit non possibile in complemento a 2 su 8 bit , in binario puro su 8 bit non possibile Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori / Fondamenti di Informatica II 22 febbraio 2012 - Prova scritta Matricola Nome Cognome ISTRUZIONI

Dettagli

Linguaggio macchina e linguaggio assembly

Linguaggio macchina e linguaggio assembly FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell

Dettagli

Linguaggio macchina e linguaggio assembler

Linguaggio macchina e linguaggio assembler FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Esercizio 1 (14 punti)

Esercizio 1 (14 punti) Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione e Strutture Dati e Algoritmi Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati a partire dall anno 2017-18 DURATA DELLA

Dettagli

Dal linguaggio macchina al linguaggio C

Dal linguaggio macchina al linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente

Dettagli

Dal linguaggio macchina al linguaggio C

Dal linguaggio macchina al linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Programma sorgente, compilatore, file oggetto, file eseguibile. Traduzione effettuata dal compilatore. Dichiarazione di variabili (esempi)

Programma sorgente, compilatore, file oggetto, file eseguibile. Traduzione effettuata dal compilatore. Dichiarazione di variabili (esempi) FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright alla

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind

Dettagli

Relativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.

Relativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato. Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore

Dettagli

Esercizio 1 (17 punti)

Esercizio 1 (17 punti) Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato

Dettagli

Esercizio 1 (14 punti)

Esercizio 1 (14 punti) Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 20 dicembre 2005 Esercizio 1 (punti 2) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:

Dettagli

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

Dettagli

Manualino minimale MIPS

Manualino minimale MIPS Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica

Dettagli

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME 13 novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve

Dettagli

Introduzione al linguaggio macchina. Istruzione l/m

Introduzione al linguaggio macchina. Istruzione l/m Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Informatica B Allievi Meccanici con cognome da Cl a L Recupero della I prova intermedia 26/02/01 Prof. Elisabetta Di Nitto. Cognome Nome Matricola

Informatica B Allievi Meccanici con cognome da Cl a L Recupero della I prova intermedia 26/02/01 Prof. Elisabetta Di Nitto. Cognome Nome Matricola Informatica B Allievi Meccanici con cognome da Cl a L Recupero della I prova intermedia 26/02/01 Prof. Elisabetta Di Nitto Cognome Nome Matricola Punteggio Dom1 Dom2 Dom3 Es1 Es2 Es3 Es4 totale NOTE: 1)

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Un esempio di compilatore realizzato con flex e bison

Un esempio di compilatore realizzato con flex e bison POLITECNICO DI MILANO Dipartimento di Elettronica e Informazione Corso di Linguaggi Formali e Compilatori - Esercitazioni Un esempio di compilatore realizzato con flex e bison Progetto di Vincenzo Martena

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 3 aprile 2006 Esercizio 1 (punti 3) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire.. File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo

Dettagli

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Fondamenti di Informatica II prova 13 febbraio 2015 Matricola/codice persona Cognome Nome Durata prova:

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Politecnico di Milano COGNOME E NOME Facoltà di Ingegneria Industriale FONDAMENTI DI INFORMATICA Seconda prova in itinere 13 Febbraio 2017 Primo Appello (Laureandi) 13 Febbraio 2017 RIGA COLONNA MATRICOLA

Dettagli

Cognome Domanda Nome Punteggio max

Cognome Domanda Nome Punteggio max Fondamenti di Informatica - Proff. C. Bolchini, E. Di Nitto, F. Distante Corso di laurea in Ingegneria Meccanica e Aerospaziale Appello del 18 giugno 2002 Cognome Domanda 1 2 3 4 5 Nome Punteggio max 5

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

1

1 Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Lecture 2: Prime Istruzioni

Lecture 2: Prime Istruzioni [http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni

Dettagli

Corso di Laurea in Informatica

Corso di Laurea in Informatica Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 13 dicembre 2006 Si ricorda che non è possibile usare appunti, calcolatrici, e nessun altro materiale cartaceo o elettronico.

Dettagli

Introduzione. Architettura

Introduzione. Architettura Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione

Dettagli

Prof. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Prof. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 22 dicembre 2016 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per

Dettagli

Il linguaggio macchina

Il linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve essere

Dettagli

Fondamenti di Informatica - Compito A

Fondamenti di Informatica - Compito A Fondamenti di Informatica - Compito A Prof. Marco Gavanelli 22 gennaio 2014 Le immagini con sfumature di grigio possono essere salvate in formato PGM. Nel formato PGM, le immagini sono rappresentate come

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere

Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica I prova in itinere 18 novembre 2011 Matricola Cognome Nome Istruzioni Durata prova: 2 ore

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

Corso di Laurea in Informatica

Corso di Laurea in Informatica Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 10 luglio 2006 Si ricorda che non è possibile usare appunti, calcolatrici, e nessun altro materiale cartaceo o elettronico.

Dettagli

Informatica per Chimici Corso di Laurea in Chimica Università della Calabria. Prova di esonero del 21/10/2016

Informatica per Chimici Corso di Laurea in Chimica Università della Calabria. Prova di esonero del 21/10/2016 Informatica per Chimici Corso di Laurea in Chimica Università della Calabria Prova di esonero del 21/10/2016 Cognome Nome Matricola (o numero Carta d Identità) Esercizio 1 Convertire il il numero naturale

Dettagli

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F. Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,

Dettagli

Corso di Laurea in Informatica

Corso di Laurea in Informatica Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 18 gennaio 2007 Si ricorda che non è possibile usare appunti, calcolatrici, e nessun altro materiale cartaceo o elettronico.

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 7 luglio 2005 Esercizio 1 (punti 2) Considerare la rappresentazione dei numeri relativi su 10 bit in complemento a

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata

Dettagli

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità

Dettagli

File e puntatori a file

File e puntatori a file File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Politecnico di Milano COGNOME E NOME Scuola di Ingegneria Industriale e dell Informazione FONDAMENTI DI INFORMATICA Appello 28 Gennaio 2019 RIGA COLONNA CODICE PERSONA Spazio riservato ai docenti Il presente

Dettagli

Introduzione al linguaggio macchina

Introduzione al linguaggio macchina Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 19 Febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi e

Dettagli

1 (4) 2 (4) 3 (12) 4 (6) 5 (6)

1 (4) 2 (4) 3 (12) 4 (6) 5 (6) CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2016-2017 Proff. Danilo ARDAGNA Prima Prova in Itinere 4.5.2017 Cognome Nome Matricola Firma Durata: 2h Valutazioni

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Esonero del 7 luglio 2005 Esercizio 1 (punti 4) Le seguenti microistruzioni implementano l istruzione IJVM IINC varnum const che

Dettagli

Corso di Laurea in Informatica

Corso di Laurea in Informatica Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 13 Dicembre 2004 Esercizio 1 (punti -1, 3) Si consideri l architettura nota come macchina di von Neumann (a) Come le

Dettagli

Informatica per Chimici Corso di Laurea in Chimica Università della Calabria. Prova di esonero del 21/12/2016 (recupero esonero del 21/10/2016)

Informatica per Chimici Corso di Laurea in Chimica Università della Calabria. Prova di esonero del 21/12/2016 (recupero esonero del 21/10/2016) Informatica per Chimici Corso di Laurea in Chimica Università della Calabria Prova di esonero del 21/12/2016 (recupero esonero del 21/10/2016) Cognome Nome Matricola (o numero Carta d Identità) Esercizio

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione INFORMATICA B Appello 27 giugno 2016 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione

Dettagli

Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo

Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni

Dettagli

Architettura del set di istruzioni (ISA)

Architettura del set di istruzioni (ISA) Architettura del set di istruzioni (ISA) Calcolatori Elettronici-Ingegneria Telematica 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice?

Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice? Università degli Studi di Udine Corsi di laurea in Ing. Elettronica Gestionale Fondamenti di programmazione 13 novembre 2015 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla

Dettagli

Informatica A. Istruzioni

Informatica A. Istruzioni Informatica A Cognome Nome Matricola o Codice studente Istruzioni Non separate questi fogli. Scrivete la soluzione solo sui fogli distribuiti, utilizzando il retro delle pagine in caso di necessità. Cancellate

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

ARM: stack e subroutine

ARM: stack e subroutine ARM: stack e subroutine 05.d Le istruzioni di accesso allo stack L istruzione di chiamata a subroutine Gestione degli stack frame Istruzione di store multiplo (STM Le istruzioni LDR e STR operano su parole

Dettagli

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17 Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,

Dettagli

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio 15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione

Dettagli

Esercizio 1 (14 punti)

Esercizio 1 (14 punti) Prova scritta del 22 gennaio 2018 di Fondamenti di Informatica I (prof. Montessoro) + Fondamenti di Informatica II (prof. Di Gaspero) Per studenti di Ing. Gestionale immatricolati negli anni accademici

Dettagli

Gestione dei file. File di testo e binari

Gestione dei file. File di testo e binari Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile

Dettagli

Assembly IV Le procedure

Assembly IV Le procedure rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

CPUSim Laboratorio 14/11/2012.

CPUSim Laboratorio 14/11/2012. CPUSim Laboratorio 14/11/2012. Nicolò Navarin e-mail: nnavarin@math.unipd.it Esercizio 2 Scrivere un programma ASSEMBLY per la CPU Wombat1 che legge un intero in ingresso e ritorna 0 se l intero è pari,

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni " Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

CPUSim. Laboratorio 30/11/2016

CPUSim. Laboratorio 30/11/2016 CPUSim Laboratorio 30/11/2016 Tommaso Padoan e-mail: padoan@math.unipd.it CPUsim Scaricare il simulatore: www.math.unipd.it/~sperduti/architettura1.html scorrere fino a sezione Simulatori, aprire la pagina

Dettagli