Istruzioni MIPS per floating point

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Istruzioni MIPS per floating point"

Transcript

1 Istruzioni MIPS per floating point Architetture dei Calcolatori (lettere A-I) Coprocessore per floating point L architettura MIPS ha un coprocessore (indicato con il numero 1) che opera sui numeri in virgola a mobile a singola e doppia precisione 32 registri $f0 $f31 (ciascuno da 32 bit) che sono dedicati per la rappresentazione in virgola mobile Problema: i registri $f0 $f31 hanno dimensione pari a 32 bit: come fare per rappresentare i numeri a precisione doppia che richiedono 64 bit? Convenzione: si usano i registri a coppie pari/dispari Esempio: la coppia di registri $f0 $f1 è usata per contenere il valore di un numero a precisione doppia Per le operazioni a singola precisione si possono usare soltanto i registri pari $f0, $f2,, $f30 Valeria Cardellini 1

2 Istruzioni aritmetiche in virgola mobile Doppia versione delle istruzioni in virgola mobile a precisione singola: rappresentazione a 32 bit Nome_istruzione.s a precisione doppia: rappresentazione a 64 bit Nome_istruzione.d Addizione floating point add.s e add.d Esempio: add.s $f2, $f4, $f6 Sottrazione floating point sub.s e sub.d Esempio: sub.d $f2, $f4, $f6 Moltiplicazione floating point mul.s e mul.d Esempio: mul.s $f2, $f4, $f6 Divisione floating point div.s e div.d Valeria Cardellini 2 Istruzioni di confronto e branch in virgola mobile Istruzioni di confronto Precisione singola: c.x.s Precisione doppia: c.x.d x può essere pari a eq (equal), neq (not equal) lt (less than), le (less than or equal) gt (greater than), ge (greater than or equal) L istruzione di confronto pone un flag di condizione (bit) pari a vero o falso; una successiva istruzione di branch permette di saltare in base al valore del flag Istruzioni di branch branch true: bc1t branch false: bc1f Esempio: c.lt.s $f2, $f4 bc1t L1 # salta a L1 se $f2 < $f4 Valeria Cardellini 3

3 Istruzioni di load/store Per caricare un valore dalla memoria in un registro floating point e memorizzare il valore di un registro floating point in memoria Per load: istruzione lwc1 Per store: istruzione swc1 Esempio Frammento di codice assembler per caricare dalla memoria due numeri a precisione singola (quindi 32 bit), sommarli e memorizzare il risultato lwc1 $f4, 0($t0) lwc1 $f6, 4($t0) add.s $f2, $f4, $f6 swc1 $f2, 8($t0) Valeria Cardellini 4 Esempio 1 Procedura per la conversione da gradi Fahrenheit a gradi Celsius Codice C: float f2c (float fahr) { return ((5.0/9.0) * (fahr )); } Per passare parametri floating point si usano i registri $f12-$f15 Per passare il risultato della procedura si usano i registri $f0-$f1 I registri $f0-$f31 devono essere salvati dalla procedura chiamata (stessa convenzione usata per $s0-$s7) Valeria Cardellini 5

4 Esempio 1 (2) fahr in $f12, celsius in $f0 Costante 5.0 in const5, 9.0 in const9, 32.0 in const32 Codice assembler MIPS: f2c: l.s $f16, const5 l.s $f18, const9 div.s $f16, $f16, $f18 # $f16=5.0/9.0 l.s $f18, const32 sub.s $f18, $f12, $f18 # $f18=fahr-32.0 mul.s $f0, $f16, $f18 jr $ra Valeria Cardellini 6 Esempio 2 Procedura per calcolare il prodotto scalare tra due vettori float a e b di dimensione n Codice C: float DotProd(int n, float *a, float *b) { int i; float result=0.; for (i=0; i<n; i++) result += a[i]*b[i]; return result; } Assunzioni: n in $a0, indirizzo base dei vettori a e b in $a1 e $a2 rispettivamente (attenzione: l indirizzo di memoria è un intero!) Valeria Cardellini 7

5 Esempio 2 (2) Codice assembler MIPS: DotProd: mtc1 $zero, $f0 # Trasferisce $zero in $f0 slt $t0, $a0, $zero # if (n <= 0) endloop beq $t0, $zero, endloop sll $a0, $a0, 2 # $a0 = $a0 * 4 add $a0, $a1, $a0 loop: lwc1 $f2, 0($a1) # Carica a[i] lwc1 $f4, 0($a2) # Carica b[i] mul.s $f6, $f2, $f4 # Moltiplica a[i] per b[i] add.s $f0, $f0, $f6 # Aggiungi a[i]*b[i] a result ($f0) addi $a1, $a1, 4 # Elemento successivo di a addi $a2, $a2, 4 # Elemento successivo di b bne $a1, $a0, loop endloop: jr $ra # Ritorna al chiamante Valeria Cardellini 8 Istruzioni di conversione Istruzioni per la conversione da valori interi a valori floating point (casting) Tipo di dato in cui convertire Registro destinazione cvt.s.w $f4, $f2 Esempio Tipo di dato da cui convertire (w per interi) Registro sorgente addi $t0, $zero, 32 # $t0 = 32 mtc1 $t0, $f2 # $f2 = 32 intero cvt.s.w $f4, $f2 # $f4 = 32.0 Valeria Cardellini 9

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

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

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

Istruzioni assembler Istruzione N Registri

Istruzioni assembler Istruzione N Registri Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e

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

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

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

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

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

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

1 Esercizio. 2 Esercizio

1 Esercizio. 2 Esercizio 1 Esercizio Un numero relativo è rappresentato in virgola mobile secondo lo standard IEEE 754 su 32 bit nel seguente modo: s = 1 e = 10000111 m = 11011000000000000000000 Ricavare il corrispondente valore

Dettagli

1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.

1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware. 1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware. 2. Spiegare i diversi tipi di indirizzamento usati dalle istruzioni del set

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

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

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

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

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 macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

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

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

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

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

Architetture dei Calcolatori

Architetture dei Calcolatori Architetture dei Calcolatori Lezione 11 -- 10/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Fattoriale: risparmiamo sull uso dei registri q Rispetto alla soluzione precedente

Dettagli

Il Linguaggio Assembly: Gestione della memoria e controllo

Il Linguaggio Assembly: Gestione della memoria e controllo Il Linguaggio Assembly: Gestione della memoria e controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/42 Sommario L organizzazione

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

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

21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio

21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio 02: ESERCITAZIONE 01 21 March 2011 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA I. Frosio 1 SOMMARIO Organizzazione della memoria Istruzioni di accesso alla memoria Vettori Istruzioni

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

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

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

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 5 Linguaggio Assembly

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 5 Linguaggio Assembly Esercitazione di Calcolatori Elettronici Ing. Battista Biggio Corso di Laurea in Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Richiami: v[i] e &v[i] v[i] è il valore dell elemento i nel vettore

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

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione

Dettagli

ISA e linguaggio macchina

ISA e linguaggio macchina ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55

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

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014 Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi Mercoledì 8 ottobre 2014 Notazione scientifica normalizzata La rappresentazione in virgola mobile che adotteremo si basa sulla notazione

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

Passaggio di Parametri per Valore o Indirizzo

Passaggio di Parametri per Valore o Indirizzo Passaggio di Parametri per Valore o Indirizzo Come in C, l assembler permette di passare un dato per valore (copia) o per indirizzo, nel secondo caso rendendo modificabile il dato stesso da dentro una

Dettagli

Richiami: v[i] e &v[i] Organizzazione della memoria. Esercizio 1. Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis

Richiami: v[i] e &v[i] Organizzazione della memoria. Esercizio 1. Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis Corso di Laurea in Ingegneria Biomedica Corso di Laurea in Ingegneria Elettrica, Elettronica ed Informatica Capitolo 5 Linguaggio Assembly

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Il linguaggio assemblativo MIPS (4) Le function (2) Gestione dei sottoprogrammi $a0 - $a3 - $v1 $ra : 4 registri argomento per il passaggio dei parametri : due registri per la restituzione

Dettagli

Richiami: v[i] e &v[i] Organizzazione della memoria. Organizzazione della memoria. Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis

Richiami: v[i] e &v[i] Organizzazione della memoria. Organizzazione della memoria. Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Esercitazione di Ing. Gian Luca Corso di Laurea in Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Richiami: v[i] e &v[i] v[i] è il valore dell elemento i nel vettore v; &v[i] è il suo indirizzo.

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni

Dettagli

Codifica. Rappresentazione di numeri in memoria

Codifica. Rappresentazione di numeri in memoria Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per

Dettagli

Rappresentazione in virgola mobile. 5 ottobre 2015

Rappresentazione in virgola mobile. 5 ottobre 2015 Rappresentazione in virgola mobile 5 ottobre 2015 Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Sistema posizionale pesato per interi positivi (nella varie basi) Sistema posizionale

Dettagli

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Anno Accademico 2001/2002 Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Numeri e numerali! Numero: entità astratta! Numerale: stringa di

Dettagli

Rappresentazione in virgola mobile

Rappresentazione in virgola mobile Rappresentazione in virgola mobile Architetture dei Calcolatori (lettere A-I) Rappresentazione di numeri reali Con un numero finito di cifre è possibile rappresentare solo un numero razionale che approssima

Dettagli

Rappresentazione in virgola mobile Barbara Masucci

Rappresentazione in virgola mobile Barbara Masucci Architettura degli Elaboratori Rappresentazione in virgola mobile Barbara Masucci Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Ø Sistema posizionale pesato per Ø Ø Interi positivi

Dettagli

Esercizi da esame di Programmazione Assembler MIPS

Esercizi da esame di Programmazione Assembler MIPS Esercizi da esame di Programmazione Assembler MIPS Versione 1.04 (16 Gennaio 2004) Corso di Architettura Corso di Laurea in Informatica Università di Salerno Vittorio Scarano Premessa: questa è una raccolta

Dettagli

Rappresentazione di numeri reali. Rappresentazione in virgola mobile. Perché la rappresentazione in virgola mobile. Rappresentazione in virgola mobile

Rappresentazione di numeri reali. Rappresentazione in virgola mobile. Perché la rappresentazione in virgola mobile. Rappresentazione in virgola mobile Rappresentazione di numeri reali Rappresentazione in virgola mobile Architetture dei Calcolatori (lettere A-I) Con un numero finito di cifre è possibile rappresentare solo un numero razionale che approssima

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

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

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

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Astrazione dell implementazione. Il processore: unità di elaborazione e unità di controllo (2) Il controllo della ALU.

Astrazione dell implementazione. Il processore: unità di elaborazione e unità di controllo (2) Il controllo della ALU. Astrazione dell implementazione Il processore: nità di elaborazione e nità di lo (2) Architettre dei Calcolatori (lettere A-I) Ideal emory ress Net ress Rd Rs Rt 5 5 5 Rw Ra Rb -bit Registers A B als Conditions

Dettagli

Sistema Numerico Decimale

Sistema Numerico Decimale Sistema Numerico Decimale 10 digits d = [0,1,2,3,4,5,6,7,8,9] 734 = 7 * 10 2 + 3 * 10 1 + 4 * 10 0 0.234 = 2 * 10-1 + 3 * 10-2 + 8 * 10-3 In generale un numero N con p digits(d) interi ed n digits frazionari

Dettagli

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Lezione 3. I numeri relativi

Lezione 3. I numeri relativi Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si

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

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero

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

MIPS Instruction Set 1

MIPS Instruction Set 1 Architettura degli Elaboratori e Laboratorio 20 marzo 2012 Istruzioni Comuni 1/3 Istruzioni Aritmetiche: Instruction Example Meaning Comments add add $1,$2,$3 $1=$2+$3 Always 3 operands subtract sub $1,$2,$3

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Motivazioni. Assembly. Programmazione Assembly. Programmazione Assembly

Motivazioni. Assembly. Programmazione Assembly. Programmazione Assembly Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina

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/20

Dettagli

Linguaggio Assembler MIPS

Linguaggio Assembler MIPS Linguaggio Assembler MIPS Corso di Calcolatori Elettronici Corso di Calcolatori Elettronici A A.A. 2000/2001 Dr. Daniela Fogli Notazione Operazioni aritmetiche: Somma add a, b, c fa la somma di b e c e

Dettagli

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile Rappresentazione di numeri reali Architetture dei Calcolatori (Lettere A-I) Rappresentazione in Virgola Mobile Prof. Francesco Lo Presti Con un numero finito di cifre è possibile rappresentare solo un

Dettagli

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

Esempio di procedura annidata. L insieme delle istruzioni (5) Esempio di procedura annidata (2) set_array: Esempio di procedura annidata (3)

Esempio di procedura annidata. L insieme delle istruzioni (5) Esempio di procedura annidata (2) set_array: Esempio di procedura annidata (3) L insieme delle istruzioni (5) Architetture dei Calcolatori (lettere A-I) Esempio di procedura annidata Codice C Assumiamo che set_array sia la prima procedura chiamata Assumiamo che la variabile i corrisponde

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

Esercitazione n. 5. Rappresentazione dei numeri

Esercitazione n. 5. Rappresentazione dei numeri Esercitazione n. 5 Rappresentazione dei numeri dott. Carlo Todeschini tode@cremona.polimi.it Politecnico di Milano A.A. 2009/2010 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non

Dettagli

MIPS! !

MIPS! ! MIPS! Sono descritte solamente le istruzioni di MIPS32, le pseudo-istruzioni, System Calls e direttive del linguaggio assembly che sono maggiormente usate.! MIPS è big-endian, cioè, lʼindirizzo di una

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

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

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

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 Massimiliano Giacomin 1 Architettura MIPS Architettura RISC e load-store sviluppata da John Hennessy nel 1981 Usata da NEC, Nintendo,

Dettagli

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di

Dettagli

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione 24//22 Codifica dati e istruzioni Lezione 9 Codifica dell informazione Algoritmi = istruzioni + dati. Per scrivere un programma che descriva un algoritmo è necessario rappresentare istruzioni e dati utilizzando

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

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

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

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

La programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler

La programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler La programmazione dei calcolatori Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Prof. Francesco Lo Presti Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente

Dettagli

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica: Rappresentazione dell informazione I calcolatori gestiscono dati di varia natura: testi, immagini, suoni, filmati, nei calcolatori rappresentati con sequenze di bit: mediante un opportuna codifica presentiamo

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale

Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale Rappresentazione dell informazione I calcolatori gestiscono dati di varia natura: testi, immagini, suoni, filmati, nei calcolatori rappresentati con sequenze di bit: mediante un opportuna codifica presentiamo

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Nicu Sebe March 14, 2016 Informatica Nicu Sebe 1 / 34 Operazioni su Bit Bit Scienza della rappresentazione e dell elaborazione dell informazione Abbiamo visto come i computer

Dettagli

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Assembly. Motivazioni. Programmazione Assembly

Assembly. Motivazioni. Programmazione Assembly Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:

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