OPERAZIONI ARITMETICHE

Похожие документы
Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Operazioni in N Le quattro operazioni Definizioni e Proprietà

Nel microprocessore 8086 abbiamo una gran quantità di registri

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

La codifica. dell informazione

GLOSSARIO MATEMATICO. ,0,, 2, 3,,... = {razionali e irrazionali}

4 + 7 = 11. Possiamo quindi dire che:

Calcolo numerico e programmazione Rappresentazione dei numeri

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

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

Conoscenze. 1. L addizione è l operazione che associa a due numeri, detti, un... numero, detto, che si ottiene...

Le operazioni fondamentali con i numeri relativi

1.2f: Operazioni Binarie

Rappresentazione e Codifica dell Informazione

La codifica. dell informazione

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

0ROWLSOLFD]LRQHH'LYLVLRQH WUDQXPHULUHODWLYL

La tabella dell addizione Completa la tabella e poi rispondi alle domande.

Richiami di aritmetica (1)

Istruzioni assembler Istruzione N Registri

La tabella dell addizione Completa la tabella e poi rispondi alle domande.

L insieme dei numeri naturali N Prof. Walter Pugliese

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Gli insiemi numerici RIPASSIAMO INSIEME OPERAZIONI FRA NUMERI RELATIVI INSIEME N INSIEME Z ELEVAMENTO A POTENZA

NUMERO RELATIVO. È caratterizzato da: segno positivo (+) o negativo (-) parte numerica che è detta valore assoluto

Unità Aritmetico-Logica

LEZIONE 1. del 10 ottobre 2011

Aritmetica dei Calcolatori Elettronici

Floating pointer adder & Firmware Division. Sommario

Firmware Division & Floating pointer adder

Architettura degli Elaboratori

Esercitazione del 09/03/ Soluzioni

Logica matematica e ragionamento numerico

Programma di Matematica Classe 1M Anno Scolastico 2015/2016

Rappresentazione dell informazione

Moltiplicazione e Divisione tra numeri relativi

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Le quattro operazioni fondamentali

Parte Seconda. Prova di selezione culturale

Le quattro operazioni fondamentali

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Le quattro operazioni fondamentali

Moltiplicazioni e Divisioni. G. Michele Pinna (1)

La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a.

MAPPA MULTIPLI E DIVISORI

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

04 Aritmetica del calcolatore

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

Codifica binaria. Rappresentazioni medianti basi diverse

Firmware Division. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

Moltiplicazione. Divisione. Multipli e divisori

Esercitazione del 2/3/2010- Numeri binari e conversione

Corso di Architettura degli Elaboratori

Le operazioni fondamentali in R

Richiami di aritmetica

Rappresentazione dell Informazione

Somma di numeri binari

GLI INSIEMI NUMERICI N Z Q R -C. Prof.ssa Maddalena Dominijanni

Codifica. Rappresentazione di numeri in memoria

LABORATORIO Costruzione di un ipertesto. Studio delle varie specie di numeri dai numeri naturali ai numeri reali

Lezione 3. I numeri relativi

Linguaggio Assembly e linguaggio macchina

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

Curricolo verticale MATEMATICA

APPUNTI DI MATEMATICA ALGEBRA \ CALCOLO LETTERALE \ MONOMI (1)

Linguaggio Assembly e linguaggio macchina

Calcolo letterale. è impossibile (*) x y. per x = -25; impossibile per y= Impossibile. 15 y

I.4 Rappresentazione dell informazione - Numeri con segno

La tabella è completa perché l'addizione è un'operazione sempre possibile.

Rappresentazione dei dati in memoria

Le quattro operazioni

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

APPUNTI DI INFORMATICA

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

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

NUMERI ED OPERAZIONI indicatori descrittori valutazione

SEGNO DIVERSO - VALORE ASSOLUTO DIVERSO SEGNO DIVERSO - STESSO VALORE ASSOLUTO

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

Транскрипт:

OPERAZIONI ARITMETICHE Merker speciali: SM1.0 risultato uguale a zero SM1.1 overflow SM1.2 risultato negativo SM1.3 divisione per zero Tabella riassuntiva (codici operativi in IL) INTERI (16 Bit) DOUBLE W. (32 Bit) REALI (32 Bit) ADDIZIONE +I 46 s +D 55 s SOTTRAZIONE -I 47 s -D 55 s +R 110-163 s -R 113-166 ss MOLTIPLICAZIONE *I 71 s *D 92 s MUL 70 s *R 100-130 s DIVISIONE /I 115 s /D 376 s DIV 119 s /R 300-360 s 1

ADDIZIONE Numeri interi (16 bit) 1 2 +I VW0, VW2 Non modifica lo stack Il blocco ADD_I esegue la seguente somma IN1 + IN2 OUT L istruzione +I esegue la seguente somma: 2 + 1 2 NB: Quando l uscita non è costituita da uno dei due operandi: MOVW VW0, VW4 Carica il contenuto di VW0 in VW4 Il blocco ADD_I esegue la seguente somma IN1 + IN2 OUT +I VW2, VW4 In questo caso occorre, con MOVW, caricare l ingresso IN1 nell uscita e poi eseguire la somma tra il IN2 e l uscita. 2

ESEMPIO: Svolgere la somma tra i contenuti delle variabili VW0 ( -15 ) e VW2 ( +7 ) e impostare una segnalazione luminosa in caso di risultato negativo. Network 1 LD I0.1 MOVW -15, VW0 MOVW 7, VW2 Network 2 MOVW VW0, VW4 +I VW2, VW4 Network 3 LD SM1.2 = Q0.0 L uscita Q0.0 si attiva se il risultato dell operazione è negativo. 3

Numeri reali (32 bit) MOVR VD0, VD8 +R VD4, VD8 ESEMPIO: Svolgere la somma tra i contenuti delle variabili VD0 ( -5 ) e VD4 ( +34.7) e impostare una segnalazione luminosa in caso di risultato < 31.2 4

SOTTRAZIONE Numeri interi (16 bit) MOVW VW0, VW4 -I VW2, VW4 Il blocco SUB_I esegue la seguente sottrazione IN1 - IN2 OUT L istruzione -I esegue la seguente sottrazione: 2-1 2 In questo caso occorre, con MOVW, caricare IN1 nell uscita e poi eseguire la differenza tra l uscita e il IN2. 5

MOLTIPLICAZIONE Moltiplicazione tra numeri interi (16 bit) con risultato in word (16 bit) Il blocco MUL_I esegue la seguente moltiplicazione IN1 * IN2 OUT MOVW VW0, VW4 *I VW2, VW4 L istruzione *I esegue la seguente moltiplicazione: 2 * 1 2 Occorre quindi, con MOVW, caricare IN1 nell uscita e poi eseguire il prodotto tra l uscita e IN2. ESEMPIO: Controllo su overflow 6

ESEMPIO: Svolgere la seguente operazione: 7*3 4, se il risultato è uguale a 17 attivare una segnalazione luminosa. ESERCIZIO: Impostare la seguente operazione: 2.5*3 1, se il risultato è uguale a 6.5 attivare una segnalazione luminosa. ESERCIZIO: Impostare la seguente operazione: 1.5*(4 1), se il risultato è uguale a 4.5 attivare una segnalazione luminosa. NB: prevedere un comando di reset del calcolo. 7

Moltiplicazione tra numeri interi (16 bit) con risultato in double word (32 bit) MOVW VW0, VW6 *I VW2, VD4 Area memoria V 0 VW0 1 2 VW2 3 NB: in IL la word meno significativa dell uscita double VD4 è utilizzata come uno dei fattori. MOVW VW0, VW6 VW6 4 5 6 7 8 VD4 L ingresso VW0 viene caricato nella word meno significativa VW6 di VD4. NB: l indirizzo è sempre quello del byte il più significativo. 8

Moltiplicazione tra numeri reali (32 bit) Area memoria V 6 7 8 9 10 11 VD10 12 13 14 9

DIVISIONE Divisione tra numeri interi (16 bit) con risultato in word (16 bit) MOVW VW0, VW4 1 2 /I VW2, VW4 L istruzione /I esegue la divisione 2 / 1 2 Il blocco DIV_I esegue la divisione IN1 / IN2 OUT NB: in caso di risultato con cifre decimali, queste vengono troncate. Occorre, con MOVW, caricare IN1 nell uscita (2 operando) e poi eseguire la divisione tra l uscita e IN2 (1 operando). Attivazione merker speciali: SM1.0 risultato uguale a zero SM1.1 overflow SM1.2 risultato negativo SM1.3 divisione per zero 10

Divisione tra numeri interi (16 bit) con risultato in double word (32 bit) DIV divisore, dividendo divisore: word (16 bit) dividendo: double word (32 bit) Memoria delle variabili globali VW2 0 0 VD0 VW0 VW2 0 VD0 5 Resto 0 233 Quoziente dividendo divisore 11

Divisione tra numeri reali (32 bit) Area memoria V 6 7 8 9 10 11 VD10 12 13 14 12

Esempio: calcolo di una percentuale 26 100 32.5% 80 1 versione Area memoria V 6 7 NB: nella word VW8 viene caricato solo il 8 0 VW8 quoziente, il resto invece, se presente, è perso. 9 32 10 13

2 versione VW10 0 VD10 40 Resto VW12 0 32 Quoziente 14

3 versione Area memoria V 6 VD6 7 8 9 10 11 12 13 14 Tempi di esecuzione: *I 71 s MUL 70 s *R 100-130 s DIV 119 s /R 300-360 s NB: quando non strettamente necessario conviene evitare le operazioni con numeri reali. 15