Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3"

Transcript

1 Le tre famiglie fondamentali Laboratorio di Architettura Lezione 3 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia Ci sono tre famiglie fondamentali di istruzioni, per: 1. Manipolazione di dati 2. Movimento di dati 3. Flusso di dati p.1/65 1. Manipolazione di dati p.2/ Aritmetica di base 1.1 Aritmetica di base: +, -, *, /, < 1.2 Operazioni logiche Ovviamente, si possono eseguire le quattro operazioni fondamentali: +, -, *, / Più un test di diseguaglianza ( < ) p.3/65 p.4/65

2 ADDIZIONE SOTTRAZIONE add dest, reg1, reg2 In linguaggio macchina dunque: sub dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=20 hex Istruzione di tipo R 0 reg1 reg2 dest 0 variant=22 hex p.5/65 MOLTIPLICAZIONE p.6/65 MOLTIPLICAZIONE Mult reg1,reg2 In linguaggio macchina: 0 reg1 reg2 0 0 variant=18 hex NON C È IL DESTINATARIO Non c è il registro destinatario perché stiamo moltiplicando due registri (reg1 e reg2) Ogni registro è grande 32 bits, quindi il risultato è di 64 bits: servono DUE registri per tenere il risultato, non ne basta uno La scelta fatta è stata dunque quella di FISSARE i due registri dove andrà il risultato il risultato va nei due registri $Hi e $Lo (i primi 32 bits in $Hi, gli altri 32 in $Lo) p.7/65 p.8/65

3 DIVISIONE DIVISIONE div reg1, reg2 In linguaggio macchina: 0 reg1 reg2 0 0 variant=1a hex NEANCHE QUI C È IL DESTINATARIO Questa volta, il risultato STAREBBE in un registro (dividiamo un registro per qualcosa, quindi il risultato starebbe comodamente in un registro) MA... anche qui, per parallellismo con la moltiplicazione, si fissa il registro risultato il risultato va nel registro $Lo BONUS: viene anche calcolato il RESTO della divisione, che va nel registro $Hi < (minore) p.9/65 p.10/65 Variante immediata slt dest,reg1,reg2 slt = set less than Pone dest = 1 se reg1 < reg2, e 0 altrimenti In linguaggio macchina dunque: Per tutte queste operazioni, è possibile specificare direttamente un numero (di 16 bits) al posto di uno dei due registri: dest = registro1 operazione numero La corrispondente istruzione immediata si ottiene in assembly aggiungendo una i al nome: addi,... 0 reg1 reg2 dest 0 variant=2a hex p.11/65 p.12/65

4 ESEMPI delle varianti immediate 1.2 Operazioni Logiche Addizione classica add dest, reg1, reg2 Addizione immediata addi dest, reg1, numero In linguaggio macchina si possono effettuare: Spostamenti (shifts) AND, OR, XOR, NOR Non esite subi, perché? p.13/65 Operazioni logiche (cont.) Ma prima... p.14/65 A cosa servono? Servono a manipolare i bit Rivediamo la rappresentazione binaria... p.15/65 p.16/65

5 Numero binario E i negativi? Una word è composta da 32 cifre binarie b 31 b 30 b b 2 b 1 b 0 il suo valore è : b b b b b 0 = 31 i=0 b i2 i Come facciamo a rappresentare i numeri negativi? Un modo è quello di mantenere un bit per il segno (bit 31), per cui 3 = = Sempre positivo p.17/65 Complemento a 1 p.18/65 Complemento a 2 Questa rappresentazione dei numeri negativi si chiama complemento a 1 è semplice da comprendere e le operazioni aritmetiche sono relativamente semplici da implementare...ma ha due rappresentazioni per 0: 0 = = il complemento a 1 è utilizzato per i numeri con la virgola (verdemo più avanti), ma per gli interi si usa un atra rappresentazione Il bit 31, invece di corrispondere a 2 31 lo faccimao corrispondere a 2 31 così b 31 b 30 b b 2 b 1 b 0 vale 2 31 b i=0 b i2 i per cui: 3 = = p.19/65 p.20/65

6 Vantaggi Addizione Il bit 31 ci dice comunque il segno Ogni numero è rappresentato in un unico modo Un po più complicato da capire, ma meno di quel che sembra Le operazioni sono semplici. vediamo come funziona l addizione tra due numeri con segno. Se i numeri sono entrambi positivi numeri positivi l operazione è invariata. NOTA: C è errore se c è un riporto alla 32-esima cifra (overflow) Se i numeri sono uno positivo e uno negativo l addizione funziona come se i due numeri non avessero segno! p.21/65 p.22/65 Addizione MIPS Se i numeri sono entrambi negativi è come una addizione senza segno delle prime 31 cifre. Il risultato è corretto solo se c è un riporto alla 32-esima cifra (overflow) Esempio (a 4 bit): = ( ) + (-8+4+2) = = (1) =(1) 1101= (1) 101 = 1101 Le operazioni aritmetiche viste sin ora agivano su numeri con il segno Esistono varianti delle operazioni aritmetiche che considerano le words come cifre a 32 bit senza segno Le varianti senza segno si identificano perché finiscono per u: addu, addiu, subu, subiu,... p.23/65 p.24/65

7 Operazioni logiche AND, OR, XOR Torniamo alle operazioni sui bit... Codificano le corrispettive operazioni logiche Interpretazione logica sui bits: 0 falso 1 vero p.25/65 AND, OR, XOR (cont.) AND p.26/65 Tutte queste operazioni, eseguite su numeri più grandi di un singolo bit, vengono eseguito bit a bit Esempio: 1011 and 0110 = 0010 Tabella della AND ( e ): p.27/65 p.28/65

8 OR XOR Tabella della OR ( o ): Tabella della XOR ( o esclusivo ): p.29/65 Perché proprio queste? p.30/65 Perché (cont.) Al di là della interpretazione logica, ci sono tantissime altre funzioni possibili Esempio: Perché tramite queste tre operazioni, possiamo ottenere qualsiasi altra operazione sui bit Questo spiega perché bastano queste tre Non sono le uniche con questa proprietà, ma sono anche tra le più utili in pratica p.31/65 p.32/65

9 Numero minimo NAND Qual è il numero minimo di operazioni con cui possiamo ottenere ogni altra operazione sui bit? Ne basta una! per esempio... NAND (not and) Tabella della NAND: p.33/65 Cosa fanno? AND 0 p.34/65 Interpretazione funzionale Tramite AND, OR e XOR possiamo modificare un bit a seconda se il secondo operando è 0 o 1 and 0, oppure and 1 and 0 : 0 and 0 = 0 [copia] 1 and 0 = 0 [metti 0 (spegni)] Cioè: 0 and 0 = 0 [spegni] 1 and 0 = 0 [spegni] and 0 serve a SPEGNERE p.35/65 p.36/65

10 AND 1 AND and 1 : 0 and 1 = 0 [copia] 1 and 1 = 1 [copia] and 1 serve a COPIARE Due operazioni: and 0 : SPEGNERE and 1 : COPIARE p.37/65 In Assembler p.38/65 AND in Assembler and agisce su words, il che significa che possiamo agire contemporaneamente sui 16 bits di una word, con le due operazioni sopra dette (CANCELLA o COPIA) Esempio: andi $t0, $t1, 127 andi $t0, $t1, prendi t1, cancella gli 8 bits piu a sinistra, copia gli 8 bits più a destra, e metti il risultato in t0 Se t1= allora con la and t0= p.39/65 p.40/65

11 AND A cosa serve? and dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=24 hex verificare quali bit siano accesi t1 andi è diverso da 0 se e solo se dice se il sesto bit di t1 è acceso. in grafica...per animazione e rilevamento delle collisioni p.41/65 p.42/65 OR 0 OR 1 or 0 : 0 or 0 = 0 [copia] 1 or 0 = 1 [copia] or 0 serve a COPIARE or 1 : 0 or 1 = 1 [accendi] 1 or 1 = 1 [copia] Cioè: 0 or 1 = 1 [accendi] 1 or 1 = 1 [accendi] or 1 serve ad ACCENDERE p.43/65 p.44/65

12 OR A cosa serve or dest, reg1, reg2 In linguaggio macchina dunque: In grafica... per accendere selettivamente (disegnare solo la figura) (Il mouse pointer) 0 reg1 reg2 dest 0 variant=25 hex p.45/65 p.46/65 XOR 0 XOR 1 xor 0 : 0 xor 0 = 0 [copia] 1 xor 0 = 1 [copia] xor 0 serve a COPIARE xor 1 : 0 xor 1 = 1 [accendi] 1 xor 1 = 0 [spegni] Cioè: 0 xor 1 = 1 [inverti] 1 xor 1 = 0 [inverti] or 1 serve ad INVERTIRE p.47/65 p.48/65

13 XOR XOR Due operazioni: xor 0 : COPIARE xor 1 : INVERTIRE xor dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=26 hex p.49/65 p.50/65 Utilità Esempi INVERTIRE è una operazione che è reversibile (INVERTI(INVERTI)) = COPIA non necessita di memoria ulteriore... Giochi (trasparenza, refresh, sprites) Grafica e suono... p.51/65 p.52/65

14 Il miracolo... Soluzione classica Volete implementare la funzione SCAMBIA (SWAP), che scambia il contenuto di due registri (o variabili) R1 e R2 Ad esempio, se t0=5 e t1=12, dopo SCAMBIA (t0,t1) avremo t0=12 e t1=5 Quanti registri servono come minimo...? Servono tre registri I due registri, più un registro temporaneo TEMP TEMP := R1 R1 := R2 R2 := TEMP p.53/65 Il miracolo di XOR LE SHIFT s p.54/65 Miracolosamente, invece, usando XOR servono SOLO DUE REGISTRI Paradossale!!!! esercizio (basta usare solo la xor e nessun altra istruzione) capite come si sposta l informazione... Shift right (sposta a destra) Shift left (sposta a sinistra) Sono istruzioni ibride, nel senso che agiscono sia a livello di bit che a livello di word p.55/65 p.56/65

15 Shift s Spostamenti (shifts) Cosa fanno le shifts? A livello di bit, spostano appunto a destra o a sinistra A livello di WORD: Uno shift a sinistra MOLTIPLICA per DUE Uno shift a destra DIVIDE per DUE ATTENZIONE ai numeri negativi... Lo shift (spostamento) di un numero avviene a destra o a sinistra: SHIFT A DESTRA: si cancella la cifra più a destra, e si mette uno zero a sinistra SHIFT A SINISTRA: si cancella la cifra più a sinistra, e si mette uno zero a destra ATTENZIONE: lo shift è SEMPRE inteso per numeri binari (la cifra è un bit) ESEMPI p.57/65 p.58/65 SHIFT MULTIPLO Shift a destra di è Shift a sinistra di è Lo shift classico è di una posizione Ovviamente, può essere di più posizioni: Lo shift a destra di n posizioni si ottiene facendo lo shift a destra n volte Lo shift a sinistra di n posizioni si ottiene facendo lo shift a sinistra n volte p.59/65 p.60/65

16 ESEMPI Spostamenti (cont.) Shift di tre posizioni a destra di è Shift di tre posizioni a sinistra di è Tornando al linguaggio macchina, si possono effettuare: Shifts a destra di n posizioni Shifts a sinistra di n posizioni p.61/65 SHIFT A DESTRA p.62/65 SHIFT A SINISTRA srl dest, reg2, spost srl = shift right logical, e spost è il numero di shifts che si devono fare In linguaggio macchina dunque: sll dest,reg2,spost sll = shift left logical, e spost è il numero di shifts che si devono fare In linguaggio macchina dunque: 0 0 reg2 dest spost variant=2 hex 0 0 reg2 dest spost variant=4 hex p.63/65 p.64/65

17 Cosa vedremo Tutti gli effetti collaterali di queste istruzioni Le loro varianti Come da queste operazioni basilari se ne derivano altre più potenti (soprattutto) a cosa servono veramente p.65/65

Laboratorio di Architettura

Laboratorio di Architettura Laboratorio di Architettura Lezione 3 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia p.1/84 PARTE NOIOSA Per arrivare poi a cose più divertenti e stimolanti, occorre prima

Dettagli

PARTE NOIOSA. Laboratorio di Architettura. Sistemi microprogrammati MA PRIMA... MIPS (R2000/R3000 RISC) MIPS e la rivoluzione RISC.

PARTE NOIOSA. Laboratorio di Architettura. Sistemi microprogrammati MA PRIMA... MIPS (R2000/R3000 RISC) MIPS e la rivoluzione RISC. PARTE NOIOSA Laboratorio di Architettura Lezione 3 Andrea Torsello 1 Dipartimento di Informatica Università Ca Foscari di Venezia Per arrivare poi a cose più divertenti e stimolanti, occorre prima imparare

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

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

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

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

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

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

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

Il Livello Logico-Digitale. Blocchi funzionali combinatori

Il Livello Logico-Digitale. Blocchi funzionali combinatori Il Livello Logico-Digitale Blocchi funzionali combinatori 21-10-2015 Blocchi funzionali combinatori Esiste una ben nota e ormai stabilizzata libreria di blocchi funzionali predefiniti di tipo combinatorio

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

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

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

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 macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

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

Dettagli

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

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

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

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

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:

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

I.4 Rappresentazione dell informazione - Numeri con segno

I.4 Rappresentazione dell informazione - Numeri con segno I.4 Rappresentazione dell informazione - Numeri con segno Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 20, 2015 Argomenti Introduzione 1 Introduzione

Dettagli

Pag. 2. Somma binaria. Somma binaria. Somma binaria. Altre operazioni aritmetiche. La somma si può fare colonna per colonna

Pag. 2. Somma binaria. Somma binaria. Somma binaria. Altre operazioni aritmetiche. La somma si può fare colonna per colonna 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione a.a. 2012/13 Rappresentazione di Numeri Naturali Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle informazioni

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore

Dettagli

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici Seconda lezione Rivediamo un po di definizioni principali Proseguiremo con nuovi codici 1 Libri di testo Struttura, Organizzazione e progetto dei calcolatori, Patterson e Hennessy, (Jackson Libri) consigliato

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori circuiti combinatori: ALU slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello 1 ALU ALU (Arithmetic Logic Unit) circuito combinatorio all interno del processore per l esecuzione di istruzioni

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

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

Linguaggi. Laboratorio di Architettura INTERPRETI VANTAGGI DEBUG. Lezione 2

Linguaggi. Laboratorio di Architettura INTERPRETI VANTAGGI DEBUG. Lezione 2 Linguaggi Laboratorio di Architettura Lezione 2 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia È possibile programmare il computer usando vari linguaggi di programmazione

Dettagli

Fondamenti di programmazione parte 2. Elementi di informatica IGLP

Fondamenti di programmazione parte 2. Elementi di informatica IGLP Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell

Dettagli

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate:

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate: ARITMETICA BINARIA Le operazioni che possono essere fatte sui numeri binari, sono le stesse che vengono effettuate sui numeri decimali. Due numeri binari possono essere quindi sommati, sottratti, moltiplicati

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

Interi positivi e negativi

Interi positivi e negativi Definizioni: numerali e numeri Un numerale è solo una stringa di cifre Un numerale rappresenta un numero solo se si specifica un sistema di numerazione Lo stesso numerale rappresenta diversi numeri in

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

CARATTERI SPECIALI. \n Nuova linea \t Tabulazione orizzontale \b Backspace \f Form feed \r Ritorno carrello \ Virgolette \ Apice \\ Backslash

CARATTERI SPECIALI. \n Nuova linea \t Tabulazione orizzontale \b Backspace \f Form feed \r Ritorno carrello \ Virgolette \ Apice \\ Backslash CARATTERI SPECIALI CODICE SIGNIFICATO \n Nuova linea \t Tabulazione orizzontale \b Backspace \f Form feed \r Ritorno carrello \ Virgolette \ Apice \\ Backslash OPERATORI ARITMETICI - Sottrazione + Addizione

Dettagli

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b

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

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

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

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione La codifica delle informazioni codifica forma adatta per essere trattata dall elaboratore INFORMAZIONI DATI interpretazione 2 Informazioni Numeri Immagini fisse Interi

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

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

Lezione 7 Aritmetica in virgola mobile (1)

Lezione 7 Aritmetica in virgola mobile (1) Lezione 7 Aritmetica in virgola mobile (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un ripasso Un quadro della situazione: dove siamo, dove stiamo

Dettagli

Aritmetica dei Calcolatori - Operazioni

Aritmetica dei Calcolatori - Operazioni Aritmetica dei Calcolatori - Operazioni Luca Abeni March 2, 2016 Implementazione di Operazioni su Numeri Interi Abbiamo visto come rappresentare numeri naturali ed interi in un computer... Sequenze di

Dettagli

Arithmetic and Logic Unit e moltiplicatore

Arithmetic and Logic Unit e moltiplicatore Arithmetic and Logic Unit e moltiplicatore M. Favalli Engineering Department in Ferrara (ENDIF) ALU - multiplier Analisiesintesideicircuitidigitali 1 / 34 Sommario 1 Arithmetic and Logic Unit - ALU 2 Moltiplicatore

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

Esercitazioni - Informatica A

Esercitazioni - Informatica A Esercitazioni - Informatica A Roberto Tedesco E-mail: tedesco@elet.polimi.it Ufficio: 3, piano DEI Tel: 2 2399 3667 oppure 2 2399 3668 Ricevimento: venerdì.3 2.3 Sito web del corso: http://www.elet.polimi.it/corsi/infoa

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Programmazione in assembly MIPS Marco Tarini Dipartimento di Scienze Teoriche e Applicate

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

INPUT COMPUTER OUTPUT

INPUT COMPUTER OUTPUT 1) Cos è un computer? INPUT COMPUTER OUTPUT E una macchina programmabile in grado di produrre dati in output attraverso l elaborazione di dati forniti in input 2) Cos è un programma? E l elenco di istruzioni

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

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Moltiplicazione e divisione tra numeri interi: algoritmi e circuiti slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Operazioni aritmetiche e logiche Abbiamo visto che le ALU sono in grado

Dettagli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria

Dettagli

Virtual CPU Eniac parte 2

Virtual CPU Eniac parte 2 Virtual CPU Eniac parte 2 Università degli Studi di Roma Tor Vergata Dr.ssa Veronica Marchetti Dove eravamo rimasti OpCode 2 I Flag Bit del registro PSW. Utilizzati per prendere decisioni in base all esito

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

Algebra di Boole e porte logiche

Algebra di Boole e porte logiche Algebra di Boole e porte logiche Dott.ssa Isabella D'Alba Corso PENTEST MIND PROJECT 2016 Algebra di Boole e porte logiche (I parte) Algebra di Boole I Sistemi di Numerazione (Posizionali, Non posizionali)

Dettagli

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione La Rappresentazione dell Informazione Maurizio Palesi Sommario In questo documento sarà trattato il modo in cui, in un calcolatore, vengono rappresentati i vari generi di informazione (testi, numeri interi,

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

Virtual CPU (Eniac): parte 2

Virtual CPU (Eniac): parte 2 Architettura dei Calcolatori Prof. Enrico Nardelli Università degli Studi di Roma Tor Vergata Virtual CPU (Eniac): parte 2 1 Dove eravamo rimasti OpCode 2 La ALU e le sue funzionalità Operazioni possibili:

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

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

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

Esercitazione del 05/03/ Soluzioni

Esercitazione del 05/03/ Soluzioni Esercitazione del 05/03/2009 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 La posizione della cifra all

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

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

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Dettagli

Esercitazione del 03/03/ Soluzioni

Esercitazione del 03/03/ Soluzioni Esercitazione del 03/03/2005 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione da base n a base 0, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le posizioni

Dettagli

LA CODIFICA DELLE INFORMAZIONI

LA CODIFICA DELLE INFORMAZIONI LA CODIFICA DELLE INFORMAZIONI I SEGNALI PER COMUNICARE ANALOGICO DIGITALE Gli esseri umani ed i computer utilizzano differenti tipi di segnali per comunicare. INFORMAZIONE ANALOGICA La voce umana e la

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

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

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1 La rappresentazione dei numeri con la virgola 1 Conversione da decimale in altre basi di numeri con virgola 2 La moltiplicazione in binario 9 Divisione

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Sistemi di Numerazione Corso Università Numeri e Numerali Il numero cinque 5 V _ Π Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi Posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi Posizionali

Dettagli

Il linguaggio macchina

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

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II LE ISTRUZIONI ARITMETICHE E DI MANIPOLAZIONE DEI BIT Argomenti della lezione Le istruzioni aritmetiche Le istruzioni di manipolazione dei bit Le istruzioni aritmetiche Istruzioni

Dettagli

CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione

CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione UNIVERSITÀ DEGLI STUDI DICAGLIARI Facoltà di Scienze Corso di Laurea in Informatica CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione Danilo Dessì danilo_dessi@unica.it Tutor

Dettagli

Esercitazione del 09/03/ Soluzioni

Esercitazione del 09/03/ Soluzioni Esercitazione del 09/03/2006 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le

Dettagli

Circuti AND, OR, NOT Porte logiche AND

Circuti AND, OR, NOT Porte logiche AND Circuti AND, OR, NOT Porte logiche AND OR NOT A B C Esempio E = ~((AB) + (~BC)) E NAND e NOR NAND (AND con uscita negata): ~(A B) NOR (OR con uscita negata): ~(A+B) Si può dimostrare che le operazioni

Dettagli

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura

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

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

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi 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

Rappresentazione della informazione

Rappresentazione della informazione Rappresentazione della informazione Rappresentazione digitale dei dati Numeri interi Numeri reali Caratteri (C++: int) (C++ float e double) (C++ char) Memoria del calcolatore è finita L insieme dei numeri

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica

Dettagli