Architettura degli Elaboratori II - Laboratorio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura degli Elaboratori II - Laboratorio"

Transcript

1 Pietro Codara dantona/arch Prima lezione 24 Ottobre 2012 Informazioni pratiche Lezioni frontali: Mer 24 Ottobre 2012, , Aula 200 (via Celoria) Ven 26 Ottobre 2012, , Aula 200 (via Celoria) Mer 31 Ottobre 2012, , Aula 200 (via Celoria) Sezione laboratorio del sito web del corso.

2 Informazioni pratiche Esercitazioni a distanza: Per il turno serale del corso parte delle esercitazioni saranno svolte a distanza. Dopo il ciclo di lezioni frontali verranno pubblicate sul web del corso cinque esercitazioni. Al rilascio di ogni esercitazione seguirà una lezione a distanza nella quale il docente cercherà di risolvere eventuali dubbi e problemi relativi alla risoluzione degli esercizi assegnati. Le lezioni a distanza saranno tenute via Skype TM, con possibilità di condivisione del desktop. Account Skype: architetturaii_unimi Informazioni pratiche Calendario esercitazioni a distanza: Mer 7 Novembre 2012, , Skype TM Mer 14 Novembre 2012, , Skype TM Mer 28 Novembre 2012, , Skype TM Mer 5 Dicembre 2012, , Skype TM Mer 12 Dicembre 2012, , Skype TM

3 Informazioni pratiche Esercitazioni in laboratorio e simulazione prova d esame: Le lezioni a distanza saranno intervallate da esercitazioni in laboratorio. In chiusura del corso si terrà, in laboratorio, una simulazione della prova d esame. Sab 10 Novembre 2012, , Aula σ (via Comelico). Sab 24 Novembre 2012, , Aula σ (via Comelico). Sab 1 Dicembre 2012, , Aula σ (via Comelico). Mer 9 Gennaio 2012, , Aula ω (via Comelico). Informazioni pratiche Esame: i corsi di Architettura degli Elaboratori I e II prevedono un esame comune. La parte di laboratorio inciderà per 1 3 sul voto finale. La prova d esame, per quanto riguarda la parte di laboratorio, consisterà in un quiz comprendente domande a risposta multipla e domande aperte relative alla programmazione assembly e agli argomenti trattati nelle lezioni frontali e nelle esercitazioni a distanza. Le date degli esami saranno pubblicate sul sito d ateneo. È necessaria l iscrizione alla prova di laboratorio tramite SIFA. Ricevimento su appuntamento. Mail a: codara@di.unimi.it Web del corso: Dettagli sulla modalità d esame, materiale didattico e altre informazioni sono pubblicati sulla pagina web del corso.

4 Obiettivi del corso Dare un occasione agli studenti di fare un minimo di esperienza nella programmazione a basso livello. Insegnare i rudimenti della programmazione assembly. Implementare correttamente chiamate di procedura ricorsive in linguaggio assembly. Programma del corso - 1 a lezione frontale Introduzione alla programmazione assembly. Il processore MIPS e il simulatore MARS. Introduzione all assembly MIPS. Primi esempi di programmazione in assembly MIPS.

5 Perchè studiare la programmazione assembly? La conoscenza della programmazione assembly chiarisce come vengono eseguite le istruzioni, mostra come i dati sono rappresentati in memoria, (?) rende i programmatori in linguaggi ad alto livello migliori, fornendo loro un idea del linguaggio di destinazione nel quale il linguaggio ad alto livello deve essere tradotto. Un linguaggio di programmazione a basso livello Il linguaggio assembly è un linguaggio di programmazione a basso livello, più vicino all architettura del calcolatore. Il linguaggio assembly è una rappresentazione simbolica del linguaggio macchina. Linguaggio assembly e linguaggio macchina LINGUAGGIO ASSEMBLY: add $t0,$s1,$s2 LINGUAGGIO MACCHINA:

6 Un linguaggio di programmazione a basso livello Spesso, ma non sempre, ad ogni istruzione in linguaggio assembly corrisponde esattamente una istruzione in linguaggio macchina. Il linguaggio assembly è strettamente dipendente dall hardware: le istruzioni utilizzano codici operativi specifici e registri specifici del processore. Un programmatore assembly deve conoscere e capire l architettura del calcolatore. Linguaggio assembly e assemblatore Assemblatore Uno strumento chiamato assemblatore (assembler) traduce il linguaggio assembly in istruzioni binarie in linguaggio macchina. Il linguaggio assembly permette agli utenti l uso di etichette, che verranno risolte opportunamente dall assemblatore (o dal linker, quando le etichette fanno riferimento a moduli esterni). L assemblatore mette inoltre a disposizione alcuni strumenti utili al programmatore. Tra questi, la possibilità di utilizzare macro, di fornire direttive, di utilizzare pseudoistruzioni.

7 Quando si usa il linguaggio assembly Il linguaggio assembly permette un maggior controllo da parte del programmatore su dimensione e velocità di un programma. Può essere utile programmare in assembly alcune applicazioni critiche, in particolare in calcolatori embedded. Spesso viene utilizzato un approccio ibrido: gran parte del codice è scritto in un linguaggio ad alto livello e solo le parti più critiche sono scritte in linguaggio assembly. Tra gli altri possibili utilizzi: sviluppo di compilatori, cracking, hacking. Il linguaggio assembly è anche utilizzato quando nessun linguaggio di alto livello è disponibile o per accedere a istruzioni inaccessibili ad un linguaggio di alto livello. Con il miglioramento dei compilatori e la crescente disponibilità di memoria a basso costo la programmazione assembly è oggi meno utilizzata. Svantaggi della programmazione assembly Codice strettamente dipendente dall architettura originale. Programmi più lunghi: più lungo è il codice, più errori può contenere, più lungo è il codice, più difficile è da leggere, più lungo è il codice, più tempo è necessario per scriverlo. Il controllo di flusso è gestito dal programmatore mediante go to.

8 Il processore MIPS R2000 RISC Microprocessore RISC (Reduced instruction Set Computer). Architetture per microprocessori formate da un un set di istruzioni ridotto: le istruzioni sono in grado di eseguire operazioni semplici, eseguibili in tempi simili. È una filosofia opposta alla CISC (Complex Instruction Set Computer). Microprocessori CISC forniscono istruzioni anche molto complesse, in grado, ad esempio, di leggere un dato dalla memoria, elaborarlo, e salvare il risultato in memoria. Processori della famiglia MIPS sono diffusi, ad esempio, in dispositivi portatili (cellulari, tablet), router (CISCO) e console (Nintendo, Sony Playstation). Il MIPS R2000 è il primo progetto della MIPS technologies ( e risale al Il processore MIPS R2000 Architettura RISC pura. Istruzioni di load e store Le uniche istruzioni che accedono alla memoria sono le istruzioni di load e store. lw (load word) sw (store word) Vi sono poi le varianti lb, sb etc. Studieremo in dettaglio più avanti il set di istruzioni del MIPS R2000: per ora basta tenere a mente il fatto importante che solo le istruzioni delle famiglie load e store accedono alla memoria centrale.

9 Il processore MIPS R2000 Architettura a 32 bit Architettura orientata alla computazione con parole (dati di 32 bit). Per esempio, i registri sono da 32 bit. Tuttavia, ciò non significa che il MIPS possa accedere alla memoria indirizzando solo parole. Il set di istruzioni permette di indirizzare byte, mezzeparole, parole e doppieparole. BIT: minima quantità di informazione trattabile, unità di misura dell informazione. BYTE = 8 bit. PAROLA (WORD) = 32 bit. MEZZAPAROLA (HALFWORD) = 16 bit. DOPPIAPAROLA = 64 bit. Il processore MIPS R2000 Banco di 32 registri da 32 bit Registro Numero Uso (Convenzione compilatori) zero 0 Costante 0 at 1 Riservato per l assemblatore v0-v1 2-3 Valutazione espressioni, valori restituiti dalle procedure a0-a3 4-7 Argomenti passati a procedure t0-t Temporanei, non preservati s0-s Temporanei, preservati t8-t Temporanei, non preservati k0-k Riservati al kernel gp 28 Puntatore all area globale (global pointer) sp 29 Puntatore allo stack (stack pointer) fp 30 Puntatore al frame (frame pointer) ra 31 Indirizzo di rientro (return address) Indicheremo un registro, ad esempio, con $a0 (equivalente a $4).

10 Il processore MIPS R2000 Coprocessori La CPU MIPS R2000 esegue solo calcoli in aritmetica intera, e non gestisce le eccezioni. L aritmetica in virgola mobile è gestita da un coprocessore FPU (Floating Point Unit), chiamato coprocessore 1. Un altro coprocessore, chiamato coprocessore 0, si occupa, tra l altro, di gestire le eccezioni. Il processore MIPS R2000

11 Convenzioni di utilizzo della memoria I sistemi MIPS fanno riferimento a una organizzazione convenzionale della memoria. La memoria accessibile dal codice assembly è divisa in segmento dati, segmento testo e segmento stack. Vi è poi una porzione di memoria riservata alla quale il codice non può accedere, pena la generazione di una eccezione di indirizzamento. Essa è dedicata, per esempio, a contenere il kernel del sistema operativo. Questa organizzazione è convenzionale nel senso che non è imposta dall hardware, ma grazie a un accordo tra programmatori che decidono di seguire le stesse regole per far funzionare insieme al meglio programmi scritti da diverse persone. Convenzioni di utilizzo della memoria Segmento dati Il segmento dati contiene i dati su cui opera il programma. Se, per esempio, il programma deve mantenere in memoria una costante intera da usare ripetutamente, tale costante andrà collocata in questo segmento. Segmento testo Il segmento testo contiene il codice macchina del programma. Segmento stack Anche il segmento stack contiene dati su cui opera il programma, ma questo segmento cresce verso il basso, con una politica LIFO.

12 Convenzioni di utilizzo della memoria Indirizzi di memoria La memoria centrale cui il MIPS accede è da pensarsi come una sequenza di locazioni di memoria numerate progressivamente. Poiché MIPS è in grado di indirizzare i singoli byte, ciascuna locazione di memoria contiene un singolo byte di informazione. Ne segue anche che la numerazione naturale delle locazioni è riferita ai byte: cioè, all indirizzo 4 della memoria centrale trovo l inizio della seconda parola di memoria, all indirizzo 0 trovo l inizio del primo byte, oppure della prima parola.

13 Il simulatore MARS Con l utilizzo di un simulatore saremo in grado di assemblare codice in linguaggio assembly MIPS, simularne l esecuzione, effettuare il debugging, etc., sulle nostre macchine (tipicamente Windows, Linux o Mac su piattaforma Intel). MARS (MIPS Assembler and Runtime Simulator) è un simulatore in grado di eseguire linguaggio assembly scritto per architetture MIPS32. E stato sviluppato da un team della Missouri State University. MARS è scritto in Java e può essere eseguito su diverse piattaforme. MARS, come gli altri simulatori, legge ed esegue programmi assembly scritti per MIPS, ma non può trattare file eseguibili per processori MIPS. Il simulatore MARS Il simulatore fornisce un terminale per input/output, e mette a disposizione del programmatore utili servizi di sistema, che permettono, ad esempio, di gestire l input da tastiera e l output sul terminale. Il simulatore supporta un sottoinsieme delle direttive dell assemblatore MIPS. Non tutte le funzionalità di un sistema MIPS sono implementate. MARS è un sistema integrato di sviluppo e, oltre all editor, offre numerose funzionalità per il debugging e la verifica del codice. L ultima versione di MARS, la 4.2, è stata rilasciata nell agosto 2011 (dimensione file: 3Mb).

14 Spim, xspim, PCSpim, e Mipster Vi sono altri simulatori per MIPS. All indirizzo sono disponibili diverse versioni di SPIM: spim, dotato di una interfaccia a terminale (Windows, Unix, Mac OS X); xspim, dotato di una interfaccia grafica (Unix, Mac); PCSpim, dotato di una interfaccia grafica (Windows). Un comodo ambiente di sviluppo integrato per MIPS, basato su SPIM, è MIPSter. Una versione di MIPSter è scaricabile dal sito web del corso. Un primo programma in assembly Esempio 1 Un primo esempio ci mostra la struttura di un programma assembly MIPS, scritto per il simulatore MARS. Nell esempio, la stringa Hello world! viene stampata sul terminale. I commenti vengono preceduti dal simbolo #, le etichette sono seguite da :, le direttive iniziano con un punto. È buona norma commentare attentamente un programma assembly. Un programma assembly non commentato risulterebbe difficilmente leggibile anche ad un buon programmatore..data segnala all assemblatore l inizio dell area dati..text segnala l inizio del segmento di testo (codice del programma).

15 Direttive Alcune delle direttive accettate da MARS.ascii str.asciiz str.byte b1,....data.globl sym.half h1,....text.word w1,... Memorizza la stringa str, senza carattere di terminazione. Memorizza la stringa str, con carattere di terminazione. Memorizza i byte b1,... Indica l inizio del segmento dati. Ciò che segue viene memorizzato nell area riservata ai dati. Dichiara globale l etichetta sym, in modo da renderla accessibile da altri programmi. Memorizza le mezze parole h1,... Indica l inizio del segmento di testo. Le seguenti linee conterranno solo istruzioni o intere parole. Memorizza le parole w1,... Chiamate di sistema Codici per le chiamate di sistema Service Codes Arguments Result print_int 1 $a0 = integer print_string 4 $a0 = string read_int 5 integer in $v0 read_string 8 $a0 = buffer, $a1 = lenght print_char 11 $a0 = char read_char 12 char in $a0 Per richiedere un servizio di sistema occorre caricare nel registro $v0 il codice della chiamata di sistema, e quindi invocare una syscall.

16 Alcune operazioni aritmetiche Esempio 2 Il secondo esempio mostra l utilizzo di alcune funzioni aritmetiche. Viene calcolata la somma (g + h) - (i + j). Per default i numeri interi vengono rappresentati in base dieci. Per rappresentare dei numeri in base 16 occorre anteporre 0x. Modificando l esempio 2 appena visto, possiamo vedere come lavorare con numeri esadecimali. L esempio 3 mostra come effettuare lo stesso calcolo dell esempio appena visto utilizzando valori inseriti dall utente. Eccezioni Esempio 4 Il quarto esempio mostra come un evento possa sollevare un eccezione. Non ci occuperemo in questa lezione della gestione delle eccezioni. L eccezione viene sollevata a causa di un accesso illegale all area di memoria riservata. Modificando l esempio 4 appena visto, possiamo provare ad accedere, legalmente, ad aree di memoria non riservate.

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/20

Dettagli

Macchina di Riferimento: argomenti

Macchina di Riferimento: argomenti Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura

Dettagli

Università degli Studi di Roma La Sapienza

Università degli Studi di Roma La Sapienza Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Introduzione ai concetti ed al simulatore SPIM Indice degli argomenti Introduzione Assembler, compilatore, linker, programma

Dettagli

Il simulatore SPIM SPIM

Il simulatore SPIM SPIM Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

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 Architettura (Prof. Scarano) 09/04/2002

Corso di Architettura (Prof. Scarano) 09/04/2002 Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno

Dettagli

[http://www.di.univaq.it/muccini/labarch]

[http://www.di.univaq.it/muccini/labarch] [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 3: Introduzione a SPIM

Dettagli

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce

Dettagli

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Riferimenti sul Patterson: Cap. 2.10 + Appendice B, tranne B.7

Dettagli

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28

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

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

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 Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

Linguaggi e moduli. Dott. Franco Liberati

Linguaggi e moduli. Dott. Franco Liberati (canale A-D) A Linguaggi e moduli Dott. Franco Liberati Linguaggi di programmazione Compilatore Assemblatore Linker (collegatore) LINKER COMPILATORE ASSEMBLATORE LINGUAGGI DI PROGRAMMAZIONE Linguaggio

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Il linguaggio assemblativo MIPS (1) Istruzioni di ALU: operazioni ed operandi Trasferimenti tra memoria e CPU Vettori (1) Le costanti Livelli di astrazione s o f t w a r e H W Linguaggio

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

Il linguaggio Assembly

Il linguaggio Assembly Il linguaggio Assembly Linguaggio macchina Linguaggio definito da un insieme di istruzioni, codificate come stringhe di bit, che il processore può interpretare ed eseguire direttamente Linguaggio Assembly

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

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò

Dettagli

Assembly III SPIM: un ambiente di simulazione MIPS

Assembly III SPIM: un ambiente di simulazione MIPS Architettura degli Elaboratori e delle Reti Lezione 13 Assembly III SPIM: un ambiente di simulazione MIPS Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

System Calls, Register Spilling

System Calls, Register Spilling System Calls, Register Spilling Ultimo aggiornamento: 8/4/2016 UNIVERSITÀ DEGLI STUDI DI MILANO nicola.basilico@unimi.it http://basilico.di.unimi.it/ Esercizio 3.1 Eseguire il seguente codice assembly

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni

Dettagli

Le costanti Le modalità di indirizzamento L assembly del MIPS

Le costanti Le modalità di indirizzamento L assembly del MIPS Le costanti Le modalità di indirizzamento L assembly del MIPS Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti

Dettagli

Lezione4: MIPS e Istruzioni (1 Parte)

Lezione4: MIPS e Istruzioni (1 Parte) Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Introduzione a MARS: interfaccia, struttura di un programma, gestione dell input L assemblatore e simulatore MARS Permette di eseguire

Dettagli

Linguaggi, compilatori e interpreti

Linguaggi, compilatori e interpreti Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011

Dettagli

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes Laboratorio di Architettura lezione 11 Massimo Marchiori W3C/MIT/UNIVE La scorsa lezione Nove gradi di separazione Procedure ricorsive Stack Push / Pop Fibonacci Word e bytes Finora, abbiamo solo agito

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

Dettagli

Università degli Studi di Roma La Sapienza

Università degli Studi di Roma La Sapienza Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Introduzione ai concetti ed al simulatore SPIM Andrea Sterbini e Franco Liberati Tratto da dispense di Alberto Montresor, Riccardo

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

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

Dettagli

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

Dettagli

Laboratorio di Architetture degli Elaboratori II (A.A )

Laboratorio di Architetture degli Elaboratori II (A.A ) Laboratorio di Architetture degli Elaboratori II (A.A. 2015-2016) Matteo Re, matteo.re@unimi.it [cognomi G-Z] (Nicola Basilico, [cognomi A-D]) Ufficio S210, Dipartimento di Informatica, Via Comelico 39/41-20135

Dettagli

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del

Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del 24.02.2016 Cognome e nome: Matricola: 1. [7] Data la CPU N. 1, specificare il contenuto di tutte le linee (dati e controllo).

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I) Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre: Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Lecture 1: Course Overview -Introduzione al corso - Course Schedule - Administration

Lecture 1: Course Overview -Introduzione al corso - Course Schedule - Administration [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 1: Course Overview

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori Architettura degli elaboratori Ottavio D Antona dantona@di.unimi.it Maria Luisa Damiani damiani@di.unimi.it Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori -

Dettagli

La programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello

La programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello La programmazione dei calcolatori L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore

Dettagli

L insieme delle istruzioni

L insieme delle istruzioni L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) La programmazione dei calcolatori Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore

Dettagli

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria elettronica Anno accademico 2017/2018-3 anno CALCOLATORI ELETTRONICI 9 CFU - 2 semestre Docente titolare dell'insegnamento

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Concetti Introduttivi

Concetti Introduttivi Concetti Introduttivi Architettura del Computer http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione In questo corso ci occuperemo

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-3 anno CALCOLATORI ELETTRONICI 9 CFU - 1 semestre Docente titolare dell'insegnamento

Dettagli

Architettura dei Calcolatori elettronici

Architettura dei Calcolatori elettronici Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS ESERCIZI Massimiliano Giacomin ESERCIZIO Utilizzando la green card, tradurre in linguaggio macchina le due istruzioni in assembly

Dettagli

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A. < < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS

Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS Claudia Raibulet raibulet@disco.unimib.it Codifica e Rappresentazione dell Informazione Informazioni Generali (I)

Dettagli

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

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 Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

INFORMATICA GENERALE

INFORMATICA GENERALE INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi:

Dettagli

Traduzione e interpretazione

Traduzione e interpretazione Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore

Dettagli

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Sistemi di Elaborazione delle Informazioni 6 CFU Anno Accademico 2015/2016 Docente: ing. Salvatore

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

INFORMATICA. L informatica comprende:

INFORMATICA. L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di MIPS: modello di programmazione Anno Accademico 2007/2008 Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva eseguibili dalla CPU

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Informatica Generale Andrea Corradini I linguaggi di programmazione

Informatica Generale Andrea Corradini I linguaggi di programmazione Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS

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

Dettagli

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

Traduzione ed Interpretazione

Traduzione ed Interpretazione Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L Macchina astratta di L M 0 Macchina ospite Implementazione interpretativa di L Implementazione compilativa di L Simulazione

Dettagli

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema

Dettagli

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Calcolatori Elettronici Parte VIII: linguaggi assemblativi Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1)

Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1) Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1) Docente: Eugenia Occhiuto e-mail: occhiuto@di.unipi.it web: http://www.di.unipi.it/~occhiuto Ricevimento al Polo

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli