Aritmetica dei Calcolatori 2
|
|
|
- Assunta Villani
- 6 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Architettura 1 aprile 2011
2 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione
3 Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B IN OUT A B A OR B IN OUT A B A XOR B IN OUT A NOT A In C: & operano bit a bit!
4 Half Adder Implementiamo la somma bit a bit: IN OUT A B C S Half Adder riceve due bit A e B in input, calcola il bit di somma S e il bit di riporto C.
5 Full Adder Ora, consideriamo il bit di riporto C in, calcolato da una somma precedente: IN OUT A B C in C out S Full Adder riceve tre bit A, B e C in in input, calcola il bit di somma S e il bit di riporto C out.
6 Somma binaria Per ottenere un sommatore a N bit, basta collegare N Full Adder: in questo modo si esegue la classica somma in colonna.
7 Rappresentazione binaria (senza segno) Come si rappresentano i numeri interi senza segno? Abbiamo già visto come si rappresentano i numeri interi non negativi: con 4 bit possiamo rappresentare 16 numeri: [0, 2 4 1]
8 Rappresentazione binaria (con segno) Come si rappresentano i numeri interi con segno? Per memorizzare il segno, si utilizza il bit più significativo: 1 per i numeri negativi, 0 per lo zero e i numeri positivi. In questo modo si possono rappresentare gli interi in [ 2 3, 2 3 1]
9 Esempio Per convertire un numero con segno in base 2 utilizzando N bit: osservare il segno convertire il suo modulo in base 2 se negativo, calcolare il suo complemento a 2: negare ogni bit e sommare 1. Esempio: ( 28) 10 = (28) 10 (28) 10 = (011100) 2 (011100) 2 (100011) 2 (100011) 2 + (000001) 2 = (100100) 2
10 Estensione del segno Immaginiamo di avere due interi con segno, rappresentati su un numero di bit differente, vogliamo calcolarne la somma. Esempio: (30) 10 = ( ) 2 ( 28) 10 = (100100) 2 Prendiamo il numero rappresentato con il minor numero di bit: consideriamo il bit più significativo e lo copiamo a sinistra tante volte quanti sono i bit mancanti per arrivare alla rappresentazione dell altro numero. Esempio: (30) 10 = ( ) 2 ( 28) 10 = (100100) 2 ( ) 2 Ora possiamo fare la somma: ( ) 2 ( ) 2 ( ) 2 = (2) 10
11 Riassumendo: Cambio di segno Dato un numero in notazione binaria, per cambiare il segno basta calcolare il complemento a due (negare bit a bit e sommare 1) Estensione del segno Dato un numero in notazione binaria su N bit, portarlo a M bit, con M>N
12 Operazione di shift Data una sequenza di bit, lo shift a destra di s bit equivale a una divisione per 2 s, mentre lo shift a sinistra di s bit equivale a una moltiplicazione per 2 s. in C: n >> s; n << s; // shift a destra di s posizioni // shift a sinistra di s posizioni
13 Moltiplicazione I Se osserviamo l algoritmo di moltiplicazione in colonna: Quindi, nel caso binario, la moltiplicazione si può implementare come successione di somme e shift.
14 Moltiplicazione II Nel libro di testo trovate un esempio di moltiplicazione (3) 10 (2) 10 :
15 Esercitazione Implementare le funzioni: 1 void fulladder( int A, int B, int Cin, int *out) Implementazione del Full Adder: somma 3 bit memorizzati rispettivamente nel bit meno significativo di A, int B, int Cin, memorizza nell intero puntato da out: somma nel bit di indice 0 (LSB) carry nel bit di indice 1 2 int wordadder( int X, int Y, int *out) Sfrutta la funzione fulladder, ritorna la somma binaria di X e Y e memorizza nel bit meno significativo dell intero puntato da out l ultimo carry bit calcolato. 3 int mult(int X, int Y) Sfrutta la funzione wordadder, ritorna il prodotto di X e Y. Non può usare somme (+) o prodotti ( )!!!.
16 Requisiti Requisiti fondamentali: Potete usare gli operatori bit a bit (& ) e lo shift (>> e <<), ma non somma (+) e prodotto ( ). Va bene usare l incremento per i contatori dei cicli for (ii++). Il prototipo delle funzioni non va cambiato per nessun motivo. Non é richiesto alcun input interattivo.
17 Test finale Come test per le funzioni implementate, si scriva una funzione main() che chiami wordadder e mult fornendo 5 esempi, stampare a video parametri e risultato me@mylaptop:~$./test Addizione: = = = = = -68 Moltiplicazione: 12 * -736 = * -897 = * 234 = * 98 = * -3 = 195
18 Consegna La relazione da consegnare è formata da: 1 listato (o listati, se più di uno), in linguaggio C, adeguatamente commentato; 2 uno (o più) file in formato testo contenente la cattura dell output dei programmi di test. Usate la redirezione verso file: me@mylaptop:~$./test > file_output.txt Oppure copiate l output e incollate su file di testo. Non usate la cattura di immagini da schermo. Non includete eseguibili. Spedite tutto a [email protected] entro le ore 23:59:59 di domenica 10 aprile. L oggetto della mail deve essere nella forma: LAB1-N#esercitazione-#gruppo ( es: LAB1-N2-99)
Aritmetica dei Calcolatori 2
Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1
Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
Informatica. appunti dalle lezioni del 14 e 18/10/2010
Informatica appunti dalle lezioni del 14 e 18/10/2010 Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come parole) di lunghezza
Aritmetica dei Calcolatori 1
Architettura degli Elaboratori e Laboratorio 1 Marzo 2013 1 Sistema di numerazione sistema posizionale 2 rappresentazione binaria cambio di base basi potenze di 2 3 Rappresentazione binaria con segno Sistema
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
Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario
Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario Daniele Pighin [email protected] FBK Via Sommarive, 18 I-38050 Trento, Italy February 27, 2008 Outline 1 Algebra di Boole
Aritmetica binaria e circuiti aritmetici
Aritmetica binaria e circuiti aritmetici Architetture dei Calcolatori (lettere A-I) Addizioni binarie Le addizioni fra numerali si effettuano cifra a cifra (come in decimale) portando il riporto alla cifra
Codifica e aritmetica binaria
Codifica e aritmetica binaria Corso ACSO prof. Cristina Silvano, Politecnico di Milano Codifica binaria dell informazione Il calcolatore utilizza un alfabeto binario: usiamo dispositivi elettronici digitali
Esercitazione 02. Circuiti Aritmetici. Gianluca Brilli 09/04/19 ARCHITETTURA DEI CALCOLATORI 1
Esercitazione 02 Circuiti Aritmetici Gianluca Brilli [email protected] 09/04/19 ARCHITETTURA DEI CALCOLATORI 1 Esercizio 01 Creare un nuovo sottocircuito chiamato "adder_1", e implementarvici
Sommatori e Moltiplicatori
Sommatori e Moltiplicatori Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimenti: B.5 sul Patterson, per i moltiplicatori HW,
Lezione 7 Sommatori e Moltiplicatori
Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario
senza stato una ed una sola
Reti Combinatorie Un calcolatore è costituito da circuiti digitali (hardware) che provvedono a realizzare fisicamente il calcolo. Tali circuiti digitali possono essere classificati in due classi dette
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?
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
Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto
Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti
Circuiti combinatori
Laboratorio di Architetture degli Elaboratori I Corso di Laurea in Informatica, A.A. 2017-2018 Università degli Studi di Milano Circuiti combinatori Nicola Basilico Dipartimento di Informatica Via Comelico
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
Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale
Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente
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
Rappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
Esercitazione del 2/3/2010- Numeri binari e conversione
Esercitazione del 2/3/2010- Numeri binari e conversione 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè
Lezione 7 ALU: Moltiplicazione e divisione
Architettura degli Elaboratori e delle Reti Lezione 7 ALU: Moltiplicazione e divisione F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/34 Sommario! Sommatori
Es. 05. Addizionatori (Half Adder, Full Adder); sommatori a n bit (con e. complemento a due e sottrazione; overflow.
Es. 05 Addizionatori (Half Adder, Full Adder); sommatori a n bit (con e senza riporto); conversione in complemento a due e sottrazione; overflow. Es. 1 Si scriva la tabella di verità per un addizionatore
Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN [email protected]
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN [email protected] Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
Rappresentazione di numeri interi
Corso di Calcolatori Elettronici I Esercizi Rappresentazione di numeri interi ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Interi senza segno Qual è l intervallo di rappresentazione
Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!
Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino
Parte 1: tipi primitivi e istruzioni C
Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
Esercitazione 1 del 07/10/2011
Esercitazione 1 del 07/10/2011 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè il moltiplicatore da usare
