Laboratorio di Architettura degli

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Architettura degli"

Transcript

1 Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Numeri con segno Somma e Sottrazione Eccezioni

2 Alcune domande Come si rappresentano i numeri negativi? Qual e il numero piu grande rappresentabile in una parola del calcolatore? Cosa succede se si produce un numero piu grande? Come si gestisce la sottrazione in MIPS?

3 Numeri binari ed oltre Dato il seguente numero binario (salvato in un registro MIPS)come calcolare il suo decimale? i = 31 Algo: B = base = 2 d i = valore del campo i-esimo = {0,1} i i = 0 2 i x d i (i=0,, 31) B i x d i Quanti valori riusciamo a rappresentare con 32 bit? 2 32, cioe da 0 a

4 Numeri negativi Gestione dei numeri negativi: Dove mettere il segno? +0 e -0 Passo aggiuntivo Rappresentazione modulo e segno Rappresentazione in complemento a due Least significant bit Most significant bit Overflow

5 Modulo e segno Vs. Complemento a due Sign Magnitude: Two's Complement (con # di bit pari a 3) 000 = = = = = = = = +3 Bit di segno 100 = = = = = = = = -1 Algo per il complemento a due: x d i x d i (i=0,, 30) Ad esempio, con 6 bit, = ( ) = -4

6 MIPS 32 bit signed numbers: two = two = two = two = + 2,147,483, two = + 2,147,483, two = 2,147,483, two = 2,147,483, two = 2,147,483, two = two = two = 1 10

7 Rappresentazione in complemento a 2 a k bit

8 Gestione numeri con segno e senza in MIPS Dobbiamo distinguere: Interi con segno ( int in C) Interi senza segno( unsigned int in C) MIPS: lb $t0, 0($sp) lbu $t0, 0($sp) slt $t0, $r1, $r1 slti $t0, $r1, 5 sltu $t0, $r1, $r1 sltiu $t0, $r1, 5??? Perche slti sl u???

9 Esempio Dati i seguenti due registri: $s0 = $s1 = Eseguire slt e sltu: slt$t0, $s0, $s1 $t0 conterra 1 sltu $t0, $s0, $s1 $t0 conterra 0

10 Scorciatoie (1/2) 1. Come convertire +5 in -5: 0101 Modificaretuttigli0 1, tutti1 0, e sommare = 1011 x + x = -1 => x + 1 = -x (x è x con gli0 e 1 invertiti, -1 = ) 2. Come convertireun numerobinarioda n a m bit, m > n (estensionedel segno) (+5)0101 su8 bit: (-5) 1011 su8 bit: e.g., ilcampo immediatoin unaaddi(16 bit) sommatoal valoredi un registro(32 bit) siricordichela macchinasommabit a bit

11 Scorciatoie (2/2) 3. Conversione esadecimale binario Ogni bit in esadecimale, viene rappresentato con 4 bit inbinario eca esa e c a esa due Conversione binario esadecimale Ogni 4 bit in binario in 1 bit esadecimale

12 Somma e sottrazione Somma: Sottrazione: Se consideriamoche5 2 = (+5) + (-2) Allora, 0101 meno0010, corrispondea = 0011 una somma dove si trascura il riporto sulbit disegnoe/o fuoridalregistro

13 Overflow A + B Overflow pos. pos. Risultato negativo neg. neg. Risultato positivo A B Overflow pos. neg. Risultato negativo neg. pos. Risultato positivo No Overflow: A + B, dove A e B hanno segni diversi No Overflow: A B, dove A e B hanno segni uguali

14 Add e Sub con segno MIPS: add $t0, $s1, $s2 addu $t0, $s1, $s2 addi $t0, $s1, 3 addiu $t0, $s1, 3 Le operazioni unsigned ignorano l overflow sub $t0, $s1, $s2 subu $t0, $s1, $s2

15 Effetti dell Overflow Una eccezione(interrupt) si verifica Il controllosaltasudiun indirizzopredefinitoper le eccezioni L indirizzo dell interrupt e salvato per possibili resumption (registro $epc) RegistroEPC exception program counter contienel indirizzodell istruzionecheha generato l eccezione mfc0 $s0, $epc

16

17 Eccezioni e interruzioni in MIPS 4 registri nel coprocessore 0: EPC: registro contenente l indirizzo dell istruzione che ha causato l interruzione BadVAddr: registro contente l indirizzo di memoria a cui e stato fatto riferimento (in caso di eccezione generata da un accesso in memoria) Status (registro di Stato) Cause (registro di Causa) Istruzioni sui 4 registri: lwc0, swc0, mfc0, mtc0

18 (8 bit) Registro Stato Maschera delle interruzioni: 5 livelli inter. Hw e 3 software Campi Kernel/utente abilitazione: k/u= 0, se il programma si trovava nel kernel al momento dell interrupt k/u = 1, modalita utente al momento dell interrupt abilitazione = 0, interrupt disabilitate abilitazione = 1, interrupt abilitate Al verificarsi di una interruzione, questi 6 bit vengono scalati a sinistra di 2 posizioni

19 RegistroCausa 4 bit di Codifica delle eccezioni Campo Interruzioni pendenti : Bit =1, se unadelleinterrupt Hwnon e stataancoraservita Campo Codifica delle eccezioni : Descrive la causa dell eccezione(secondo una codifica) Gestione eccezioni ed interruzioni: MIPS trasferisce il controllo al gestore delle interruzioni, che si trova in esa Il gestorepuòessere ridefinito

20 Gestore interruzioni 1. Salvailcontenutodi$a0 e $a1 Visto che verranno usati per passare gli argomenti dell interrupt 2. Sposta il contenuto dei registri Causa e EPC nei registri della CPU 3. Controlla i valori all interno del registro Causa, per controllare il tipo di interruzione/eccezione e vedere se stampare un messaggio di errore oppure no Attenzione MIPS-1 vs MIPS32!!!

21 Esempio La chiamata di sistema 5, per la lettura di un intero da console, solleva un eccezione se inseriamo un float (e.g., 25.3 invece di 25): Error in GestioneEccezioni.asm line 23: Runtime exception at 0x : invalid integer input (syscall 5) Go: execution terminated with errors Soluzioni (a) si interpreta qualsiasi input da console come fosse una stringa e, poi, converto la rappresentazione del valore nel valore vero e proprio (vedi lez. precedente) (b) si definisce un gestore delle eccezioni personalizzato per quella particolare eccezione

22 .data Soluzione (b): un semplice esempio.globl str.globl str1.globl str2.globl ecode str:.asciiz"inserisci un numero" str1:.asciiz"il numero letto è: " str2:.asciiz"il formato del numero non è corretto, bisogna inserire un numero intero\n" ecode:.word 0x20.text.globl main main: li $v0,4 la $a0,str syscall se si inserisce 25.3 viene sollevata un eccezione (interrupt SW) li $v0,5 syscall move$t0,$v0 # salvo in $t0 il numero inserito, se sono qui vuol dire che si è # inserito un intero li $v0,4 la $a0,str1 syscall li $v0,1 # per stampare l'intero letto, uso la syscall1 con il parametro in $a0 move $a0,$t0 syscall exit: li $v0,10 syscall GestioneEccezioni.asm

23 Soluzione (b): un semplice esempio - l indirizzo dell istruzione che ha causato l eccezione viene salvato in epc($14) - l indirizzo cause ($13) ci informa che si tratta di un eccezione dovuta ad un errore scaturito da una syscall 0x = nessun interrupt HW si è verificato e il codice dell eccezione è 8(syscall) -l indirizzo status ($12) ci informa che tutti gli interrupt HW e SW sono abilitati, la gestione dell interrupt è abilitata e che il programma si trovava in modalità utente al momento dell interrupt 0x0000ff13 = il controllo salta all indirizzo (nell area kernel) a partire dal quale viene memorizzata la tabella di gestione degli interrupt HW e SW: 0x (è il caso di MIPS32)

24 Soluzione (b): un semplice esempio.ktext 0x mfc0 $k0,$13 mfc0 $k1,$14 andi $k0,$k0,0x003c lw $t0,ecode bne $k0,$t0,notsyscall li $v0,4 la $a0,str2 syscall #jr $k1 la $k1,main jr $k1 NotSyscall: # la tabella di gestione delle eccezioni/interrupt # inizia all'indirizzo 0x (si ricordi # l'importanza del Linker) # salvo il registro cause # salvo il registro EPC # eseguo cause = cause& 0x003c, # si noti che 003c ha i bit da # 2 a 5 ad 1 e tutti gli altri a 0. # Quindi questo and logico preleva # il codice dell'eccezione # se il codice dell'eccezione è diverso # da 0x8, non si tratta di un'eccezzione # sollevata da una chiamata di sistema # e quindi non la catturo. Il programma # terminerà con un messaggio d'errore # relativo alla causa che ha sollevato l'eccezione # si gestisce l'eccezione informando l'utente dell'errore # ritornerebbe all'istruzione che ha sollevato l'eccezione # in questo esempio non è utile ritornare al punto che ha # sollevato l'eccezione GestoreEccezione.s

25 Soluzione (b): un semplice esempio si può scrivere anche tutto (mainprogram+ gestore eccezioni) in un unico file.asm

26 Esercizio In quale di questi casi una operazione di caricamento dalla memoria con segno lbnon differisce da una senza segno lbu? [a] Quando il byte da caricare ha il bit meno significativo ad 1 [b] Quando il byte da caricare ha il bit piu significativo a 0 [c] Quando il byte da caricare ha il bit piu significativo ad 1 [d] Quando il byte da caricare ha il bit meno significativo a 0

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

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 15: - Macro - Eccezioni e interruzioni

Dettagli

Gestione delle eccezioni.

Gestione delle eccezioni. Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione

Dettagli

7 May INTERRUPT ED ECCEZIONI I. Frosio

7 May INTERRUPT ED ECCEZIONI I. Frosio 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica

Dettagli

15 April INTERRUPT ED ECCEZIONI I. Frosio

15 April INTERRUPT ED ECCEZIONI I. Frosio 15 April 2011 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM)

Dettagli

Esercitazione 8 Eccezioni & Interruzioni in MIPS 32 Claudia Raibulet raibulet@disco.unimib.it Eccezioni Le eccezioni = variazioni delle condizioni normali di funzionamento della CPU Conseguenze delle eccezioni

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

Eccezioni ed interrupt. I. Frosio M.Marchi

Eccezioni ed interrupt. I. Frosio M.Marchi Eccezioni ed interrupt 1 I. Frosio M.Marchi Sommario Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 Ciclo di esecuzione di un istruzione Fecth (prelievo istruzione dalla RAM) Decodifica

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori slide a cura di Salvatore Orlando & Marta Simeoni Architettura degli Elaboratori 1 Interi unsigned in base 2 Si utilizza un alfabeto

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

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

Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM

Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM Claudia Raibulet raibulet@disco.unimib.it Esercizio 1 Esercizio 1 Si chiede di aggiungere l istruzione jal 2500 al set delle istruzioni del datapath

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

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

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

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2007/2008 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

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

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore Unita aritmetica e logica Aritmetica del calcolatore Capitolo 9 Esegue le operazioni aritmetiche e logiche Ogni altra componente nel calcolatore serve questa unita Gestisce gli interi Puo gestire anche

Dettagli

Rappresentazione informazione ed elementi di aritmetica dei computer

Rappresentazione informazione ed elementi di aritmetica dei computer Rappresentazione informazione ed elementi di aritmetica dei computer Salvatore Orlando 1 Rappresentazione dell informazione Simbolo (es. cifra o lettera) - Significato (es. numero o suono) Per comunicare/rappresentare

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Analogico vs digitale Segnale analogico Segnale digitale Un segnale è analogico quando

Dettagli

Stringhe di caratteri

Stringhe di caratteri Stringhe di caratteri PH 2.8 1 Gestione dei caratteri Ogni carattere è rappresentato univocamente mediante un codice numerico rappresentabile usando un byte (codice ASCII) MIPS fornisce le istruzioni lb

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

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A *** indicano le affermazioni corrette. 1. Con riferimento alle architetture dei calcolatori ed alla valutazione

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

Aritmetica per Elaboratori

Aritmetica per Elaboratori Capitolo 3 Aritmetica per Elaboratori Operazioni sugli interi Addizione e sottrazione Moltiplicazione e divisione Gestione dell'overflow Numeri reali in virgola mobile Rappresentazione e operazioni Esempio:

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

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

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

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università

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

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

Istruzioni MIPS per floating point

Istruzioni MIPS per floating point 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

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

Esercitazione Programmazione I con Laboratorio

Esercitazione Programmazione I con Laboratorio Esercitazione Programmazione I con Laboratorio Basi e Rappresentabilità Esercizio 1 Conversione e modulo a segno Tradurre in base 10 i seguenti numeri rappresentati in base due e modulo a segno (sign-module),

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS32

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

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 12 Gennaio 2017 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

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

CPU multiciclo eccezioni CPU pipeline

CPU multiciclo eccezioni CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 CPU multiciclo eccezioni CPU pipeline Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Codifica binaria: - numeri interi relativi -

Codifica binaria: - numeri interi relativi - Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri

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

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

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 Gestione delle eccezioni (CPU multiciclo) La CPU pipeline A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

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

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 Assembly. Architettura degli Elaboratori e delle Reti Turno I

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio

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

1.2f: Operazioni Binarie

1.2f: Operazioni Binarie 1.2f: Operazioni Binarie 2 18 ott 2011 Bibliografia Questi lucidi 3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Eccezioni ed Interruzioni Anno Accademico 2013/2014 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico Francesco Tortorella BIG IDEA: Bits can represent anything!! Caratteri 26 lettere 5 bits (2 5 = 32) Minuscole/maiuscole

Dettagli

Sono tipicamente causati da dispositivi hardware. normale flusso di esecuzione viene interrotto, e la CPU passa a gestire l interrupt

Sono tipicamente causati da dispositivi hardware. normale flusso di esecuzione viene interrotto, e la CPU passa a gestire l interrupt Interruzioni in MIPS 32 Input/Output Interrupt Sono tipicamente causati da dispositivi hardware esterni, e collegati al processore attraverso delle linee di controllo di bus, come ad esempio le periferiche

Dettagli

L insieme delle istruzioni (5)

L insieme delle istruzioni (5) 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

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

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due Rappresentazione degli interi Notazione in complemento a 2 n bit per la notazione Nella realta n=32 Per comodita noi supponiamo n=4 Numeri positivi 0 si rappresenta con 4 zeri 0000 1 0001, 2 0010 e cosi

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Rappresentazione dei numeri naturali Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2016-2017 Roberto Canonico Corso di Calcolatori Elettronici I

Dettagli

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita?

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 1. L istruzione li $a0, 12345678 è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 2. Si descriva il formato IEEE 754 per la rappresentazione in

Dettagli

Architettura degli Elaboratori e Laboratorio

Architettura degli Elaboratori e Laboratorio Architettura degli Elaboratori e Laboratorio Docente: Francesco Giacomini Assistente: Matteo Manzali Università di Ferrara, Anno Accademico 2013/2014 Rappresentazione binaria delle informazioni 12 Rappresentazione

Dettagli

Unità aritmetica e logica

Unità aritmetica e logica Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire

Dettagli

Architettura degli elaboratori - 2 -

Architettura degli elaboratori - 2 - Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Numeri e aritmetica binaria Esercizi Marco Tarini Dipartimento di Scienze Teoriche e Applicate

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

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998 21 Gennaio 1998 PROVA PRATICA Si scriva un programma C (BASIC per gli studenti di Elementi di Informatica) che: a) Legga da terminale una sequenza di caratteri terminati dal carattere '*' (un carattere

Dettagli

Tutorato architettura degli elaboratori modulo I (lezione 1)

Tutorato architettura degli elaboratori modulo I (lezione 1) Tutorato architettura degli elaboratori modulo I (lezione 1) Moretto Tommaso 13 October 2017 1 Conversione 1.1 Conversione da base b a base 10 Prima di tutto ricordiamo che dato un numero di n cifre espresso

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico 27/28 Francesco Tortorella BIG IDEA: Bits can represent anything!! Caratteri 26 lettere 5 bits (2 5 = 32) Minuscole/maiuscole

Dettagli

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario La struttura delle istruzioni elementari: il linguaggio Macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul

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 09: - Modi di indirizzamento del MIPS

Dettagli

Esercitazione 4 Eccezioni & Interruzioni in MIPS 32 Claudia Raibulet raibulet@disco.unimib.it Eccezioni Le eccezioni = variazioni delle condizioni normali di funzionamento della CPU Conseguenze delle eccezioni

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

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

PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 24 Settembre 2009

PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 24 Settembre 2009 PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 24 Settembre 2009 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (9 punti) 1. (4 punti) Progettare un Full Adder.

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

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

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

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale La codifica dell informazione Il codice ASCII consente di codificare le cifre decimali da a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero 324 potrebbe essere rappresentato

Dettagli

Architettura degli. Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS. Dott.

Architettura degli. Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS. Dott. Architettura degli Elaboratori Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS Dott. Franco Liberati Argomenti della lezione Un modello di elaboratore elettronico:

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

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012

SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012 SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (8 punti) Si consideri un calcolatore in cui la CPU lavora alla frequenza

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici SPIM Francesco Lo Presti Rielaborate da Salvatore Tucci SPIM q Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS

Dettagli

Interrupt ed Eccezioni

Interrupt ed Eccezioni Interrupt ed Eccezioni Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento al Patterson, versione 5: 4.9, 5.4 e A.7 1/27 http:\\borghese.di.unimi.it\

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME COMPITINO # di CALCOLATORI ELETTRONICI del 03--09 MATRICOLA COGNOME NOME ) [8/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla

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

Modalità di indirizzamento

Modalità di indirizzamento Modalità di Indirizzamento + Programmi Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it

Dettagli

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA: SECONDA PROVA INTERMEDIA DEL MODULO DI 1 giugno 2017 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (12 punti) 1. (3 punti) Scrivere un frammento di codice Assembly MIPS, che implementi il costrutto C switch-case

Dettagli

Lezione 2. Rappresentazione dell informazione

Lezione 2. Rappresentazione dell informazione Architetture dei calcolatori e delle reti Lezione 2 Rappresentazione dell informazione A. Borghese, F. Pedersini Dip. Informatica (DI) Università degli Studi di Milano L 2 1/24 Rappresentazione dell informazione

Dettagli

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni Un ripasso di aritmetica: Rappresentazione decimale - limitazioni Consideriamo la base dieci: con tre cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (1000)

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 20 Giugno 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli