Introduzione ai sistemi informatici 4/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2008 The McGraw-Hill Companies CAPITOLO 2

Documenti analoghi
Aritmetica dei Calcolatori Elettronici

Introduzione ai sistemi informatici 4/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2008 The McGraw-Hill Companies CAPITOLO 2

Codifica binaria. Rappresentazioni medianti basi diverse

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Argomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni

La codifica. dell informazione

Prof. A.Venia. Docente d Informatica presso l I.I.S.S. Ven. I. Capizzi Liceo Scientifico - Bronte. Macchine di Turing. Avvertenze

La codifica. dell informazione

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

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010

La Rappresentazione dell Informazione

Rappresentazione e Codifica dell Informazione

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

1.2f: Operazioni Binarie

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

La codifica binaria. Informatica B. Daniele Loiacono

Codifica binaria dell informazione

Somma di numeri binari

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Moltiplicazione. Divisione. Multipli e divisori

La codifica binaria. Informatica B. Daniele Loiacono

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Codifica dell informazione

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Numeri interi (+/-) Alfabeto binario. Modulo e segno

Lezione 3. I numeri relativi

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

1) Probabilità di errore di trasmissione. 2) Capacità di canale. 3) Esempi di calcolo della capacità. 4) Disuguaglianza di Fano

Rappresentazione dell Informazione

1) Codici ciclici. 2) Esempi di codici ciclici. 3) Algoritmi di codifica e decodifica. 4) Circuiti di codifica

Corso di Sistemi di Elaborazione delle informazioni

Elementi di Informatica e Programmazione

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Unità aritmetica e logica

Architettura degli Elaboratori

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

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

04 Aritmetica del calcolatore

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Rappresentazione dei Numeri

2.12 Esercizi risolti

Esempio 1: virgola mobile

Informatica. Rappresentazione dei numeri Numerazione binaria

Rappresentazione dell informazione

Rappresentazione dei Dati

2. Codifica dell informazione

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

Teoria dell Informazione

Soluzione Esercizio 1

Sistemi di Elaborazione delle Informazioni

Introduzione e Nozioni di Base. Prof. Thomas Casali

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Laboratorio del 21/10/2010- Numeri binari e conversione

Numeri interi. Laboratorio di Calcolo Paola Gallo

Calcolo numerico e programmazione Rappresentazione dei numeri

Corso di Architettura degli Elaboratori

= < < < < < Matematica 1

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

ESERCITAZIONE. Uso dell accessorio calcolatrice per

Rappresentazione dei dati in memoria

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

Laboratorio di Informatica

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Introduzione alla programmazione Esercizi risolti

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

Architettura dei computer

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

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Macchine di TURING. Alan Mathison Turing ( )

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

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

Aritmetica dei Calcolatori

La codifica digitale

Rappresentazione dei numeri interi in un calcolatore

I sistemi di numerazione e la numerazione binaria

Esercitazione del 09/03/ Soluzioni

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

Aritmetica dei Calcolatori

Cap. 2 - Rappresentazione in base 2 dei numeri interi

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

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Rappresentazione dei numeri in un calcolatore

ITLCC 2006/10/6 19:09 page 7 #3

APPUNTI DI INFORMATICA

Lezione 7 ALU: Moltiplicazione e divisione

L'informazione e la sua codifica

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo.

Corso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codifica. Rappresentazione di numeri in memoria

SIMULAZIONE DELLA PROVA INTERMEDIA DEL CORSO DI CALCOLATORI ELETTRONICI

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

Transcript:

CAPITOLO 2 Soluzioni agli esercizi del libro: 2) 6 3) Utilizzando i simboli 0, 1 e 2 e considerando che sono necessarie 2 cifre per rappresentare 9 possibilità, è possibile ad esempio la codifica (00-lunedì), (01-martedì), (02-mercoledì), (10- giovedì), (11-venerdì), (12-sabato), (20-domenica) 4) 10001011, 1000.01 5) 12011, 22112 6) 00010011, 11011010 7) 10101 + 1101 = 100010; 100011 10010 = 10001; 10000001 + 10000011 = 00000100 con overflow 11) Si consideri che 2^10 = 1024 e 2^20 = (2^10)^2 = 1024^2 = 1048576 e che 2^4 = 16 < 20 < 2^5 =32. Per rappresentare in binario 20 milioni di valori è quindi sufficiente utilizzare 5 + 20 = 25 bit. Poiché ad ogni cifra esadecimale corrispondono 4 bit (2^4 = 16) ne consegue che sono sufficienti sequenze di 7 cifre esadecimali (25 / 4 = 6.25 da arrotondare a 7) 12) 73; 1001001; 16781313 13) 00100011 + 00010010 = 00110101; 00100011-00010010 = 00010001; 01100101 + 00110011 = 10011000 con overflow; 01100101-00110011 = 00110010 15) Complemento a 2 binario (a) 0 1011 1111, 10 0111 1101; (b) 0000 0000 1011 1111, 1111 1110 0111 1101. Complemento a 2 ottale: (a) 277, 7175; (b) 000277, 777175. Complemento a 2 esadecimale (a) 0BF, E7D; (b) 00BF, FE7D

CAPITOLO 3 Soluzioni agli esercizi del libro: 4) Una soluzione possibile è basata sull utilizzo della notazione unaria per i numeri, che prevede di rappresentare un numero con una sequenza di simboli uguali (ad esempio il simbolo 1) lunga quanto il numero. I due addendi siano scritti di seguito sul nastro, separati da una loczione vuota (denotata dal simbolo 0). La macchina, a partire dalla prima locazione del nastro che verrà cancellata, scorrerà il nastro fino alla locazione vuota di separazione, che sarà sovrascritta con un 1. A questo punto la macchina tornerà indietro sul nastro fino alla prima locazione vuota per poi arrestarsi sulla locazione precedente alla prima locazione che contiene il risultato (anche esso rappresentato nella stessa notazione). Stato Letto Vai a Scrivi Sposta S0 1 S1 * Destra S1 1 S1 1 Destra S1 * S2 1 Sinistra S2 1 S2 1 Sinistra 12) a) c) leggi N leggi Dividendo leggi Divisore Risultato <- 0 Resto <- 0 i <- 1 i < n Resto <- Resto + i-esima cifra del dividendo i > numero cifre dividendo leggi v[i] Resto >= Divisore i <- i+1 j <- 1 stampa Risultato stampa Resto b) Resto >= j*divisore j <- j + 1 leggi N Risultato <- Risultato*10 + j carica N valori in v[ ] usando a) Resto <- Resto j*divisore

d) m: lunghezza nota del vettore v[ ] f) n, m: dimensioni note della matrice M[ ][ ] Somma <- 0 Cont <- 0 j <- 0 Cont <- 0 i < m j < n scrivi Cont scrivi Somma scrivi Cont v[i] 2*[v[i]/2] = 0 applica d) alla j-esima riga di M[ ][ ] Cont <- Cont + 1 Somma <- Somma + v[i] Cont <- Cont + risultato del passo precedente j <- j + 1 e) n, m: dimensioni note della matrice M[ ][ ] g) n, m: dimensioni note della matrice M[ ][ ] Cont <- 0 leggi C1 leggi C2 i < n scrivi Cont i < n j <- 0 temp <- M[i][C1] M[i][C1] <- M[i][C2] M[i][C2] <- Temp j < m j <- j + 1 j < m Cont <- Cont + 1

13) Le due espressioni sono equivalenti: si può partire dalla seconda espressione e considerare che!a c!a!b c +!a b c. Si ottiene!a c +!a!b!c + a b c!a!b c +!a b c +!a!b!c + a b c. Si può raccogliere il primo con il terzo termine e il secondo con il quarto. Si ottiene!a!b c +!a!b!c +!a b c + a b c!a!b (c +!c) + b c (!a + a)!a!b + b c. In alternativa, ragionando in forma tabellare si ha: a b c!a!b bc!a!b+bc!ac!a!b!c abc!ac+!a!b!c+abc F F F T F T F T F T F F T T F T T F F T F T F F F F F F F F F T T F T T T F F T T F F F F F F F F F T F T F F F F F F F T T F F F F F F F F T T T F T T F F T T 14, 15, 16 e 17) 14) Si ipotizzi per semplicità almeno un valore valido 15) Si ipotizzi per semplicità almeno un valore valido leggi Min leggi N leggi N Somma <- N Max <- N Min <- N i <- 1 N <= 0 leggi N stampa Min N < Min N <= 0 stampa Min stampa Max stampa Somma/i Min <- N N > Max Max <- N N < Min Min <- N Somma <- Somma + N

16) Si ipotizzi per semplicità N >= 1 leggi N i < N stampa Min stampa Max stampa Somma/N leggi x i = 0 Somma = x Min = x Max = x Somma <- Somma + x x > Max Max <- x x < Min Min <- x

17) leggi Giorno Giorno <= 0 stampa errore leggi Mese Mese = 1 Prec <- 0 Ultimo <- 31 Mese <= 0 Mese = 2 Prec <- 31 Ultimo <- 28 + Bisestile Mese > 12 Mese = 3 Prec <- 59 Ultimo <- 31 Giorno > Ultimo leggi Anno Anno <= 0 Mese = 4 Mese = 5 Prec <- 90 Ultimo <- 30 Prec <- 120 Ultimo <- 31 stampa Prec + Giorno Anno divisibile per 400 Mese = 6 Prec <- 151 Ultimo <- 30 Anno divisibile per 4 Mese = 7 Prec <- 181 Ultimo <- 31 Anno divisibile per 100 Mese = 8 Prec <- 212 Ultimo <- 31 Bisestile <- 1 Bisestile <- 0 Mese = 9 Prec <- 243 Ultimo <- 30 Mese = 10 Prec <- 273 Ultimo <- 31 Mese = 11 Prec <- 304 Ultimo <- 30 Prec <- 334 Ultimo <- 30 Una soluzione migliore si ottiene impiegando un vettore che per ogni mese memorizza le informazioni relative (Prec e Ultimo): in tal caso la parte destra del diagramma (in cui si valuta il mese e si impostano Prec e Ultimo) si riduce a un solo blocco azione che lavora sul vettore.

18) E sufficiente mettere in OR i termini AND della tabella a cui corrisponde un valore V:!a!b!c +!a!bc + ab!c + abc. Si noti che i quattro termini differiscono a coppie per una variabile (presente in forma negata e affermata): pertanto tale variabile non influisce sul risultato e l espressione si semplifica in!a!b + ab.

CAPITOLO 4 srl Soluzioni agli esercizi del libro: 8) Problema 1.1 Dati x, y, d interi Risoluzione leggi a e b d <- a b se d > 0 allora scrivi max è x altrimenti scrivi max è y se Problema 1.3 Dati a, b, m interi Risoluzione leggi a e b m <- max(a,b) finchè ci sono altri numeri da esaminare ripeti leggi a m <- max(a, m) ciclo scrivi max è m Esempio 2 Dati n, ris, i interi positivi Risoluzione leggi n ris <- 0 i <-0 finchè i < n ripeti ris <- ris + i ciclo scrivi ris Problema 5.1 Dati

i, temp, v[n] interi Risoluzione finchè i < n/2 temp <- v[i] v[i] <- v[n-i-1] v[n-i-1] <- temp i <- i ciclo srl Problema 5.2 Dati s[m], v[n] simboli j, i interi Risoluzione finchè m < n- i ripeti j <- 0 finchè v[i+j] = s ripeti se j=m allora scrivi si altrimenti j <- j + 1 se ciclo ciclo scrivi no Problema 5.3 Dati l, i, temp, v[n] interi Risoluzione l <- n finchè l > 1 ripeti finchè i < l-1 ripeti se v[i] > v[i+1] allora temp <- v[i] v[i] <- v [i+1] v[i+1] <- temp se i <- i+1 ciclo l <- l - 1

ciclo srl

CAPITOLO 5 srl Soluzioni agli esercizi del libro: 8) Per ogni simbolo devono essere trasmessi 8 bit. La banda del canale permette 10kbit/secondo, quindi la sorgente può emettere simboli a una velocità massima di 10/8=1,25ksimboli/secondo. 9) Da quanto detto riguardo gli errori sul canale è sufficiente rilevare errori su un solo bit per simbolo per rilevare la maggior parte degli errori di trasmissione, risultato ottenibile con l uso di un bit di parità. Per ogni simbolo di sorgente servono quindi 9 bit (8+1) e quindi il flusso di sorgente espresso in bit che il canale deve poter sostenere è di 10 ksimboli/secondo * 9 bit/simbolo = 90 kbit/secondo. 10) Il flusso deve arrivare integro, quindi è necessario innanzi tutto rilevare gli errori e poi ritrasmettere i blocchi errati in tempo. Semplificando, assumiamo che i pacchetti ritrasmessi non siano ulteriormente affetti da errore (0,02 * 0,02 = 0,004): è necessario considerare che la sorgente deve generare il flusso più il 2% che viene ritrasmesso, mentre il canale deve trasportare il flusso, i bit di parità e il 2% di blocchi ritrasmessi comprensivi di bit di parità. Quindi la sorgente deve generare 100 kbit/secondo * 1.02 = 102 kbit/secondo e il canale deve poter trasportare (100 kbit/secondo + 100 kbit/secondo / 100 bit/blocco * 1 bit/blocco) * 1.02 = 101 kbit/secondo * 1.02 = 103.02 kbit/secondo.

CAPITOLO 6 srl Soluzioni agli esercizi del libro: 5) IR = MI[PC], PC = PC + 1; BR[SRC1] = R02, BR[SRC2] = R03, BR[DEST] = R01; ALU.OR(BR[R02], BR[R03]); BR[R01] = ALU. 6) ERRATUM: La percentuale di istruzioni del tipo A è 78%. Si consideri una sequenza di N istruzioni. Il tempo medio di esecuzione di una istruzione senza pipeline è 0.8*30 ns + 0.1*40 ns + 0.1*35 ns = 24 ns+ 4 ns + 3.5 ns = 31.5 ns; il tempo complessivo speso senza pipeline per una sequenza di N istruzioni è 31.5N. Il tempo complessivo speso per una sequenza di N istruzioni con pipeline è dato dal tempo speso per la prima istruzione più il tempo speso per le rimanenti N-1 istruzioni nel primo stadio, e quindi è 50 ns + 10*(N 1) ns = (40 + 10N) ns. Il miglioramento è dato dal tempo speso senza pipeline meno il tempo speso con la pipeline normalizzato al tempo speso senza pipeline: (31.5N 40 10N) ns / 31.5N ns = 21.5/31.5 40/31.5N = 43/63 80/63N. Il valore limite del miglioramento (N ) è 43/63 = 68.25%, quindi il miglioramento richiesto è possibile e si ottiene quando 31.5N > 3*(40 + 10N) -> 31.5N > 120 + 30N -> 1.5N > 120 -> N > 80. 8) Nel primo caso si ha TA = 0.9 * 2 + 0.1 * 20 = 1.8 + 2.0 = 3.8; nel secondo caso si ha TA = 0.8 * 2 + 0.2 * (0.8 * 4 + 0.2 * 20) = 1.6 + 0.2 * (3.2 + 4.0) = 1.6 + 1.44 = 3.04; nel terzo caso si ha TA = 0.8 * 2 + 0.2 * (x * 5 + (1 x)* 20) = 1.6 + 0.2 * (20 15x) = 5.6 3x. La seconda soluzione è migliore della prima. La terza soluzione è migliore della seconda quando 5.6 3x < 3.04, cioè 3x > 2.56, da cui x > 0.8533 (85.33%). 9) Nel primo caso si ha TA = 0.9 * 2 + 0.1 * 8 = 1.8 + 0.8 = 2.6; nel secondo caso si ha TA = 0.8 * 2 + 0.2 * (0.8 * 4 + 0.2 * 8) = 1.6 + 0.2 * (3.2 + 1.6) = 1.6 + 0.96 = 2.56; nel terzo caso si ha TA = 0.8 * 2 + 0.2 * (x * 5 + (1 x)* 8) = 1.6 + 0.2 * (8 3x) = 3.2 0.6x. La seconda soluzione è migliore della prima. La terza soluzione non può essere mai migliore della seconda perché al massimo arriva a 2.6 (quindi pari alla prima). In pratica la disequazione 3.2 0.6x < 2.56 impone che x > (3.2 2.56)/0.6 = 0.64/0.6 = 1.06, ma x non può essere maggiore di 1 (la frequenza di successo non può superare il 100%), quindi non c è nessuna possibilità che la terza soluzione sia migliore della seconda e potrà al limite (!!) essere uguale alla prima.

CAPITOLO 7 srl Soluzioni agli esercizi del libro: 5) Rimangono: 01: start (processo inizia in stato pronto) 03: termina esecuzione (modo kernel) 09: è il primo in coda e tocca a lui (contemporanea a 03 o 10 oppure 17) 10: preempt (quanto di tempo scaduto) 11: è arrivato l evento atteso (vedi 17) 13: interrupt o SVC (supervisor call) 14: RTI (ritorno da Interrupt/SVC) 17: serve qualcosa dall esterno (aspetta un evento) Eliminate: 02 04 05 06 07 08 12 15 16 18 19 20 6) P1 è stato deschedulato perché ha richiesto una operazione che richiede una risorsa esterna e quindi ha seguito il percorso (5,7); P2 era pronto e ha preso il posto di P1 in esecuzione seguendo il percorso (2,4); P3 è stato sbloccato dall arrivo dell evento esterno che attendeva ed è passato tra i processi pronti (8) 8) E necessario procedere al calcolo della dimensione degli indirizzi: le pagine sono di 512 kbyte ciascuna, quindi sono necessari 19 bit di offset; la memoria fisica è di 2 GByte, quindi sono necessari 31 bit di indirizzo fisico (di cui 12 vanno ad indicare il numero di pagina fisica e 19 l offset). Nel caso di una memoria virtuale di 1/2/4 GByte, sono necessari 30/31/32 bit di indirizzo virtuale (ovvero 11/12/13 per il numero di pagina e 19 per l offset). Le dimensioni della tabella delle pagine sono date dal numero di celle (2^bit necessari per il numero di pagine) per il numero di bit necessario a memorizzare il numero della pagina fisica corrispondente, cioè 1. per una memoria virtuale di 1 GByte: 2^11 celle 12 bit/cella = 2048 12 bit = 24576 bit 2. per una memoria virtuale di 2 GByte: 2^12 celle 12 bit/cella = 4096 12 bit = 49152 bit 3. per una memoria virtuale di 4 GByte: 2^13 celle 12 bit/cella = 8192 12 bit = 98304 bit