Capitolo 2 Codifica binaria dell informazione

Documenti analoghi
Capitolo 2 Codifica binaria dell informazione. 2.1 Rappresentazione. La rappresentazione dell informazione. Alfabeti e simboli

macchina digitale Capitolo 2 Codifica binaria dell informazione 2.1 Rappresentazione dell informazione

macchina digitale Capitolo 2 Codifica binaria dell informazione 2.1 Rappresentazione dell informazione

Capitolo 2 Codifica dell informazione. Reti Logiche T

2.1 Rappresentazione binaria dell informazione I Interruttore I 0 alto 1 1 basso 0

Rappresentazione dei numeri naturali. La codifica associa alle informazioni dell alfabeto sorgente uno o più simboli dell alfabeto codice:

La codifica dei caratteri di un testo

Introduzione al Linguaggio C

Floating-point: mantissa La mantissa e codicata in modulo e segno su 24 bit, la mantissa e sempre normalizzata nella forma 1:XXXXX si rappresenta solo

Università degli Studi di Cassino

La rappresentazione delle informazioni

Per approfondire: La rappresentazione delle informazioni all interno dei computer

La rappresentazione delle Informazioni

Rivediamo alcuni concetti fondamentali

Reti Logiche LA A.A

Codifica dell Informazione

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

Rappresentazione binaria

Sistemi di Elaborazione delle Informazioni

FONDAMENTI DI INFORMATICA I Prof. Negri

Tipi di dato primitivi

Codifica e Aritme.ca Binaria

Aspetti dell informazione

Sistema Numerico Decimale

Algebra di Boole e porte logiche

INFORMAZIONI NUMERICHE RAPPRESENTAZIONE DELL INFORMAZIONE

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

La Rappresentazione Dell Informazione

Rappresentazione e Codifica dell Informazione

Enrica Reggiani 31/10/2010 NUMERI E CODICI

Elementi di informatica

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

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

1-Rappresentazione dell informazione

Aritmetica dei Calcolatori Elettronici

CODIFICA DELL INFORMAZIONE E CODICI BINARI

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Corso di Calcolatori Elettronici I

La Rappresentazione dell Informazione

I.4 Rappresentazione dell informazione

Somma di numeri binari

Sistemi di Numerazione Binaria

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

La codifica binaria. Informatica B. Daniele Loiacono

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica. Rappresentazione di numeri in memoria

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

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

Rappresentazione dei numeri interi in un calcolatore

Sistemi di Numerazione Binaria

Sistemi di Numerazione

Codici binari decimali

Tabella dei codici ASCII standard

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Sistemi di Numerazione Binaria

informazione costituiti da simboli che devono essere elaborati conoscenza più o meno esatta di fatti, situazioni, modi di

Corso di Informatica A (A-L) Corso di Laurea in Scienze e Tecniche Psicologiche a.a 2005/06. Obiettivi del corso. Prof. ssa Maria Luisa Sapino


Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale

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

Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1

Codifica di informazioni numeriche

Fondamenti di Informatica

La codifica binaria. Informatica B. Daniele Loiacono

Definizione operativa di informazione. Codifica dell informazione. Alfabeto, sintassi e semantica. Codifica binaria dell informazione

Codifica dell informazione

Corso di Sistemi di Elaborazione delle informazioni

Laboratorio di Informatica per STAN. a.a. 2003/2004. Prof. Eugenio Moggi. Prima di iniziare. Programma del primo modulo

Definizioni. Esempi di alfabeti

LETTORE BARCODE BLASTER LINE

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Fondamenti di Programmazione. Sistemi di rappresentazione

Numeri interi. Laboratorio di Calcolo Paola Gallo

Rappresentazione binaria

La codifica. dell informazione

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

LETTORE BARCODE V 2.1 EN MANUALE UTENTE

Informazione binaria: - rappresentazione dei numeri razionali -

Laboratorio di Informatica

Bit, Byte, Word e Codifica Dati

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

Rappresentazione dei numeri interi in un calcolatore

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

Codifica dell'informazione

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Codifica e aritmetica binaria

Cenni alla rappresentazione dei tipi dato primitivi

Rappresentazione dei numeri: il sistema di numerazione decimale

Informatica di Base - 6 c.f.u.

Indice. 1.Codifica binaria delle informazioni. 2.Codifica di informazioni enumerative. 3.Codifiche di numeri naturali, interi, razionali

Rappresentazione dei Dati

Lezione 2. Rappresentazione dell informazione

Sistemi di numerazione e codici. Capitolo 1

Informatica (A-K) 3. Aritmetica del Computer

Transcript:

Capitolo 2 Codifica binaria dell informazione 2. Rappresentazione dell informazione 2.2 Codifica di caratteri 2.3 Codifica dei numeri 2.4 Trasmissione dell informazione 2.5 Protezione dell informazione

2. Rappresentazione dell informazione

Simbolo, alfabeto e stringa Informazione - Stringa di lunghezza finita formata da simboli appartenenti ad un alfabeto di definizione A: s s 2 s i s n- s n con s i A : {a, a 2,.., a m } Esempi: Alfabeto A: insieme di informazioni elementari testo e caratteri numero e cifre immagine e pixel/colore-toni di grigio parlato e fonemi musica e note disegno e pendenza/lunghezza di tratti misura e posizione di un indice...

La codifica binaria della informazione n bit b b 2 b 3 b n codice binario

Codice binario Codice binario - Funzione dall insieme delle 2 n configurazioni di n bit ad un insieme di M informazioni (simboli alfanumerici, colori, eventi, stati interni, ecc.). Condizione necessaria per la codifica: 2 n M 2 n config. n.u. no 5 z a M informazioni

Proprietà di un codice Codice: rappresentazione convenzionale dell informazione. La scelta di un codice è condivisa da sorgente e destinazione, ed ha due gradi di libertà: il numero n di bit (qualsiasi, purché 2 n M) l associazione tra configurazioni e informazioni A parità di n e di M, le associazioni possibili sono: C = 2 n! / (2 n -M)! n =, M = 2 C = 2 n = 2, M = 4 C = 24 n = 3, M = 8 C = 4.32 n = 4, M = C = 29.59.43.4

Codici ridondanti e codici non ridondanti 2 n M n: n di bit 8 7 6 5 4 3 2 Codici ridondanti n > n min Codici 2 22 42 62 M: n di informazioni non ridondanti Impossibilità di codifica n min = lg 2 M

2 + - segno 4.32 cifre decimali n.u. colori altri 29.59.43.399 codici a 4 bit BCD zero uno due tre quattro cinque sei sette otto nove 7 segmenti /

Codice a 7 segmenti a e f g c b a b c d e f g zero uno ecc. d a b c d e f g Universal Product Code 2 3 4 5 6 7 8 9

La conversione di codice (trascodifica) codici esterni Trascodifica Trascodifica codice interno Unità di elaborazione e di memoria Il codice interno è di norma non ridondante per minimizzare il numero di bit da elaborare e da memorizzare. Il codice esterno è di norma ridondante, per semplificare la generazione e l interpretazione delle informazioni, e standard, per rendere possibile la connessione di macchine (o unità di I/O) realizzate da Costruttori diversi.

La calcolatrice tascabile Codice ridondante per la visualizzazione dei dati Codice ridondante per la introduzione dei dati e dei comandi Codice BCD per la rappresentazione interna dei numeri

Codici proprietari e codici standard Codice proprietario - Codice fissato da un Costruttore per mettere in comunicazione macchine di sua produzione. L uso di codici proprietari mira ad ottimizzare le prestazioni e a proteggere il mercato di certe macchine. Esempi: Linguaggio Assembler, Periferiche, Telecomando TV Codice standard - Codice fissato da norme internazionali (de iure) o dal Costruttore di una macchina ampiamente utilizzata sul mercato (de facto). L uso di codici standard nelle unità di I/O consente di collegare macchine realizzate da Costruttori diversi. Esempi: Stampanti e Calcolatori, Calcolatori e Calcolatori

2.2 La codifica dei caratteri

Il codice ASCII a 7 bit (967) caratteri di controllo SP @! A " 2 B # 3 C $ 4 D % 5 E & 6 F ' 7 G ( 8 H ) 9 I * : J + ; K, < L - = M. > N /? O P ' p Q a q R b r S c s T d t U e u V f v W g w X h x Y i y Z j z [ k { \ l ] m } ^ n ~ _ o DEL

Codice ASCII esteso (8 e 6 bit) 3 bit 8 conf 5 bit : 32 configurazioni Lo standard Unicode (6 bit) codifica in binario i caratteri di tutte le lingue!

Bit map: un codice d uscita ridondante per simboli alfanumerici Stampanti ad impatto: ASCII Stampanti laser, a getto, monitor: BITMAP Bianco/nero: pixel, bit Tonalità: pixel, 8 bit Colori RGB: pixel, 3x8 bit Font Matrice di pixel ( picture element ): ad es. 8x8

Codifica di immagini 48 Scena reale 72 R {,,2,..,254,255} G {,,2,..,254,255} B {,,2,..,254,255} 24 bit/pixel Immagine digitalizzata: 72 * 48 * 24 = 8.294.4 8 Mbits

Codifica di immagini video In tale ottica, la registrazione di un film della durata di 2 ore comporta una capacità di memoria pari a (3 frame/s): 2 * 6 * 6 * 3 * 8 Mbits = 728 Gbits Essendo la capacità di un DVD pari a 37.6 Gbits, è sufficiente (!?) allo scopo dotarsi di 46 DVD. A meno che

Tecniche di compressione Tipologie: con perdita di informazione (lossy compression) senza perdita di informazione (lossless compression) Contesto tipico, rispettivamente: elaborazione di immagini elaborazione di testi Efficienza o fattore di compressione: Size [Original (Uncompressed) Info] Size [Compressed Info]

Il codice (lossless) di Huffman Libro (qualsiasi) scritto in lingua italiana: FC = 5 / Σ n(s i ) f(s i ) =.25 s i A

2.3 La codifica dei numeri

Rappresentazione dei numeri Esterna: BCD, ASCII, Unicode Interna: Sistema di numerazione in base 2

Il numero minimo di bit (n min ) necessario per rappresentare l'insieme dei k (M) numeri interi non negativi di k cifre decimali ({,,, k -}) è: n min = lg 2 M = lg 2 k = k * lg 2 = k * 3,32. Il codice BCD, ancorché irridondante dal punto di vista della rappresentazione delle singole cifre decimali, comporta un numero di bit decisamente maggiore: n BCD = k * lg 2 = k * 3,32 = k * 4 > n min, k = 2, 3,. La ridondanza è tanto più significativa quanto più elevato è il valore di k. numero di bit 4 3 2 codice binario codice BCD 2 3 4 5 6 7 8 9 numero di cifre decimali n BCD 4 8 2 6 2 24 28 32 36 n min 4 7 4 7 2 24 27 3 n BCD - n min 2 2 3 4 4 5 6

Sistemi di numerazione Un sistema di numerazione è definito da: un insieme di simboli elementari; un insieme di regole che stabiliscono le modalità di rappresentazione di grandezze numeriche in termini di simboli elementari; un insieme di regole che stabiliscono le modalità di elaborazione di grandezze numeriche espresse in notazione simbolica. I sistemi di numerazione si distinguono in: sistemi non posizionali (sistema di numerazione romano), sistemi posizionali (sistema di numerazione decimale). 667 MDCLXVII

Sistema di numerazione posizionale in base b (b 2) ) Rappresentazione: (N b ) = (a n- a,a - a -m ) b a k {,,., b-}, k 2) Valore: (N b ) = (a n- b n- + + a b + a - b - + + a -m b -m ) b

I sistemi di numerazione binario, ottale, esadecimale base=2, {,} base=8, {,,2,3,4,5,6,7} base=6, {,,2,3,4,5,6,7,8,9,A,B,C,D,E,F} Conversione di rappresentazione (base) B B (B, B = 2, 8, 6): B = 2 B = 8, 6 N 2 = --- N 8 = 534 -- N 6 = AC4 B = 8, 6 B = 2 N 8 = 5236 N 2 = N 6 = E82 N 2 = N 2 3 4 5 6 7 8 9 2 3 4 5 6 N 2 N 8 2 3 4 5 6 7 2 3 4 5 6 7 2 N 6 2 3 4 5 6 7 8 9 A B C D E F

Conversione di base: B B ( B, B 2) (N) B = (I,F) B = (a n- a,a - a -m ) B (N) B = (?,?) B Metodo di conversione polinomiale: (N) B = (a n- B n- + + a B + a - B - + + a -m B -m ) B Il metodo di conversione polinomiale si avvale delle regole di rappresentazione e di elaborazione del sistema di numerazione in base B, e pertanto è convenientemente utilizzabile per operare la conversione dalla base B = (di norma 2) alla base B =. Esempio: B = 2 B = (,) 2 = ( + 2 + 4 + 8 + 6 + 32 + +,5 +,25) = (38,25) Esempio: B = 3 B = (22) 3 = (2 + 2 3 + 9) = (7)

Conversione di base: B B ( B, B 2) (N) B = (I,F) B = (a n- a,a - a -m ) B (N) B = (?,?) B Metodo di conversione iterativa: (N) B = (c i- c,c - c -f ) B (I) B (F) B = (c i- B i- + + c B + c ) B = ((c i- B i-2 + + c ) B + c ) B = (I B + c ) B c = parte frazionaria di (I/B ) B, c = parte frazionaria di (I /B ) B, = (c - B - + c -2 B -2 + + c -f B -f ) B = ((c - + c -2 B - + + c -f B -f+ ) B - ) B = ((c - + F ) B - ) B c - = parte intera di (F B ) B, c -2 = parte intera di (F B ) B,

Conversione di base: B B ( B, B 2) Il metodo di conversione iterativa si avvale delle regole di rappresentazione e di elaborazione del sistema di numerazione in base B, e pertanto è convenientemente utilizzabile per operare la conversione dalla base B = alla base B = (di norma 2). Esempio: B = B = 2 (3,75) = (,) 2 I : 2 = I + c k (k =,, ) 3 65 65 32 32 6 6 8 8 4 4 2 2 F 2 = c -k (k=,2, ) + F,75,5,5

Conversione di base: B B ( B, B 2) Al contrario di quanto avviene per la parte intera, il procedimento di conversione della parte frazionaria può non terminare in un numero finito di iterazioni. In tal caso la conversione è da intendersi completata al raggiungimento della precisione desiderata, con un eventuale arrotondamento dell ultima cifra significativa. Esempio: B = B = 2 (,8) = (,) 2 F 2 = c -k (k=,2, ) + F,8,6,6,2,2,4,4,8,8 B, B : B B Esempio: B = 3 B = 6 (22) 3 = (7) = () 6

Operazioni aritmetiche

S = A + B Addizione A, B, S: n-bit unsigned integer A, B, S 2 n - c out r n C out = S 2 4 - C out = S > 2 4 - r n- r n-2 a n- a n-2 a a b n- b n-2 b b s n- s n-2 s A B S A B S r s (5) (9) (4) (8) (9) (7) riporto (carry) + Esempi n=4 a i r i r i a i b i r i+ s i s i Half b i Adder r i+ s i a Full i b Adder r i+ i

Addizione a n- b n- a b a b c out FA... FA HA r i s i a Full i b Adder r i+ i a i s n- s s s i Half b i Adder r i+ a i b i r i Half Adder Half Adder s i r i+ a i b i s i a i b i s i r i+ r i+ r i

Addizione a k- b k- a b b a FA... FA FA c in c in A B k k k-bit Adder k S c out c out s k- s s E se k < n? esempio: k = 8, n = 6 R = OP + OP 2 OP, OP 2, R: 6-bit UINT CLC /* clear carry-out */ LOAD A, OP LSB /* first load operands */ LOAD B, OP 2 LSB /* least significant bytes, */ ADC /* perform addition (c in =c out ) */ STORE R LSB, S /* and save the result; */ LOAD A, OP MSB /* then load operands */ LOAD B, OP 2 MSB /* most significant bytes, */ ADC /* perform addition (c in =c out ) */ STORE R MSB, S /* and save the result; */ JC Error /* if carry-out then */

Sottrazione D = A - B A, B, D: n-bit unsigned integer A, B, D 2 n - b out b out = D b out = D < p n p n- p n-2 a n- a n-2 a a b n- b n-2 b b d n- d n-2 d A B D A B D p d (9) (5) (4) (8) (9)??? prestito (borrow) + Esempi n=4 a i p i a i b i p i+ d i d i Half b i Subtractor p i+ p i d i a Full i b Subtractor p i+ i

Sottrazione a n- b n- a b a b b out FS... FS HS p i d i a Full i b Subtractor p i+ i a i d n- d d d i Half b i Subtractor p i+ a i b i p i Half Sub or Half Sub or d i p i+ a i b i d i a i b i d i p i+ p i+ p i

Sottrazione a k- b k- a b b a FS... FS FS b in b in A B k k k-bit Subtractor k D b out b out d k- d d E se k < n? esempio: k = 8, n = 6 R = OP - OP 2 OP, OP 2, R: 6-bit UINT CLB /* clear borrow-out */ LOAD A, OP LSB /* first load operands */ LOAD B, OP 2 LSB /* least significant bytes, */ SBB /* perform subtraction (b in =b out ) */ STORE R LSB, D /* and save the result; */ LOAD A, OP MSB /* then load operands */ LOAD B, OP 2 MSB /* most significant bytes, */ SBB /* perform subtraction (b in =b out ) */ STORE R MSB, D /* and save the result; */ JB Error /* if borrow-out then */

Rappresentazione dei numeri relativi A = a n- a n-2 a a n-bit signed integer Segno e valore assoluto a n- (:+, :-) n = 4 a n-2 a a Complemento a 2 2 (-A) = 2 n - 2 (A) = not 2 (A) + n = 4 (+5) A = (-5) A = (+5) A = (-5) A = + = -(2 n- -) A 2 n- - -2 n- A 2 n- - +7 +6 +5 +4 +3 +2 + + -7-6 -5-4 -3-2 - - a 3 a 2 a n = 4 a +7 +6 +5 +4 +3 +2 + + - -2-3 -4-5 -6-7 -8

Addizione di numeri relativi c in A B 4 4 4-bit Adder 4 S c out stesso addizionatore??? A, B: 4-bit unsigned integers A = (5) B = (9) S = (4) = A + B OK A, B: 4-bit signed integers Complemento a 2 A = (+5) B = (-7) S = (-2) = A + B OK Segno e valore assoluto A = (+5) B = (-) S = (-6) A + B = (+4) NO

Sottrazione di numeri relativi A, B: n-bit 2 complement signed integers L operazione di sottrazione è riconducibile ad un operazione di addizione, previa complementazione del sottraendo: A B = A + (-B) c in A B n n n-bit Adder n S c out b in A B n n n-bit Subtractor n D b out n = 4 A = (+5) B = (+2) A B = (+5 + (-2)) = (+3) + (-) = + + =??? OK

Carry-out & Overflow c in A B 4 4 4-bit Adder 4 S c out c out evidenzia correttamente la non rappresentabilità del risultato mediante n bit solo nel caso di unsigned integers L analoga indicazione nel caso di signed integers è derivabile dal confronto del segno degli operandi e del risultato: OK (6) () (7) OK (7) () (8) A, B, S: 4-bit unsigned / signed integers OK (9) (9) (2) OK (+6) (+) (+7) NO (+7) (+) (-8) OK (-7) (-7) (+2) A B S A B S A B S s n- OK NO a n- b n- OK OK OK OK NO OK OK (5) () () NO (-) (+) (+) A B S

Signed & Unsigned Integers: +/- a n- b n- s n- = & overflow o più semplicemente c out r n- overflow a n- b n- a n-2 b n-2 a b b a carry-in overflow carry-out FA FA... FA FA s n- s n-2 s s c in A B n n n-bit Adder n S c out overflow unsigned integers signed integers

Rappresentazione dei numeri razionali Notazione scientifica: N 2 = (M 2 E ) 2 Esponente (E) Mantissa (M) s e j- e j-2... e s m k- m k-2... m, Es.: 32 bit 7-bit (complemento a 2) 25-bit (segno e valore assoluto) E min = -2 6 = -64 E max = 2 6 - = 63 M min =,5 M max = -2-24 notazione frazionaria normalizzata:,5 M < (tranne lo zero (32 )) ± (,5 2-64 (-2-24 ) 2 63 ) ± (2,7-2,9 9 )

2.4 Trasmissione

Modalità

Modalità di trasmissione dei bit: compromesso spazio/tempo n segnali Es.: Codice a 8 bit 8 Trasmissione in parallelo 4 2 Trasmissione in serie/parallelo Trasmissione in serie 2 4 8 n intervalli Esempio: processori Intel

Modalità di trasmissione dei bit: convertitori S/P e P/S Elaborazione trasmis. in serie Convertitore S/P trasmissione in parallelo Convertitore P/S trasmis. in serie La modalità di trasmissione all interno della macchina è di norma in parallelo (per massimizzare la velocità di elaborazione) La modalità di trasmissione all esterno della macchina è di norma in serie (per minimizzare la complessità del supporto fisico) Esempi: interfaccia di tastiera, interfaccia video

La conversione P/S di un byte b b b 2 b 3 b 4 b 5 b 6 b 7 Il selettore 2 3 4 5 6 7 Ingresso: b, b, b 2, b 3, b 4, b 5, b 6, b 7 Uscita: b b b 2 b 3 b 4 b 5 b 6 b 7 Data Path Oscillatore Contatore con 8 stati Stato: (N) 2 Controller

La serializzazione di due bit i i M U X a u deviatore a i i u se a= allora u=i altrimenti u=i

Conversione S/P di un byte Il distributore b b b 2 b 3 b 4 b 5 b 6 b 7 2 3 4 5 6 7 b b b 2 b 3 b 4 b 5 b 6 b 7 (N) 2 Contatore con 8 stati Oscillatore

La distribuzione di due bit u i D E C f f u a f f a Contatore con 2 stati Il Decoder genera 2 flag di validità, di cui uno solo alla volta ha valore. L uscita che riceve tale valore è la destinazione del bit d ingresso i

Protocolli

Modalità di controllo (ASCII a 7 bit) : codifica dei comandi e protocollo di scambio telescrivente Comandi per il protocollo telescrivente NUL DLE SOH DC STX DC2 ETX DC3 EOT DC4 ENQ NAK ACK SYN BEL ETB BS CAN HT EM LF SUB VT ESC FF FS CR GS SO RS SI US Esempio: sorgente tempo BEL ENQ SOH.. LF CR STX.. EOT ACK/NAK destinazione

Sincronizzazione La destinazione deve sapere in quali istanti di tempo i valori presenti sul canale sono significativi. Si hanno due casi: accoppiamento stretto accoppiamento lasco S D S D

Comunicazione asincrona di un byte: il protocollo RS232 dato p Selettore a 2 vie bit Dispositivo periferico Tx Contatore con 2 stati Porta seriale N.B. devono operare quasi allo stesso ritmo! Riposo Start I bit II bit... VIII bit Parità Stop

2.5 Protezione

Disturbi e Guasti sorgente canale destinazione linea di trasmissione unità di memoria Agendo opportunamente a livello di realizzazione fisica del canale, si può formulare l ipotesi che l alterazione di un bit (o errore) nell ambito di una stringa di n bit sia un evento aleatorio a) indipendente dalla posizione del bit nella stringa, b) caratterizzato da una probabilità di occorrenza p (tasso di errore). Conseguentemente la probabilità che si abbiano e errori è data da: P e = ( n ) e pe (-p) n-e Se n p << P >> P >> P 2 >>

L ipotesi degli errori indipendenti numero di bit trasferiti = 24 probabilità di alterazione di e bit.9.8.7.6.5.4.3.2 e= e=2 e=3 e=4 e=5 e=6 e=7 e=8 e>8. -5-4.5-4 -3.5-3 -2.5-2 logaritmo in base del tasso di errore

L ipotesi degli errori indipendenti numero di bit trasferiti = 248 probabilità di alterazione di e bit.9.8.7.6.5.4.3.2 e= e=2 e=3 e=4 e=5 e=6 e=7 e=8 e>8. -5-4.5-4 -3.5-3 -2.5-2 logaritmo in base del tasso di errore

Rilevazione/Correzione di errori singoli R ( ) C n = = n min I I NO NO I I n = 2 SI NO M = 2 I I n = 3 I I SI SI se P >> P 2 : correzione errore ( )

Distanza minima di un codice Distanza fra due configurazioni binarie A, B di n bit: D(A,B) numero di bit omologhi in A, B con valore diverso. Esempi: D(,) = ; D(,) = 2; D(,) = 3 Distanza minima di un codice C: D MIN (C) valore minimo della distanza tra due qualsiasi configurazioni utilizzate dal codice C. I codici non ridondanti hanno D MIN =. I codici ridondanti possono avere D MIN >. Esempi: D MIN (Codice BCD) = D MIN (Codice /) = 2; D MIN (Codice 7-Segmenti) =

Error(s) Detecting/Correcting Codes Un codice con D MIN R+ consente la rilevazione di R errori R+C+ (R C) consente la correzione di C errori e la rilevazione di R errori D MIN EDC ECC - - - 2-3 2-4 3 2 5 4 2-6 5 2 3 n max di errori contemporanei: rilevabili rilevabili e correggibili rilevabili soltanto

Codici separabili: rilevazione di errori singoli I bit di informazione (information bits) C bit di controllo (check bits) I C = I I I F F C sindrome di errore Tx Rx Le due configurazioni, della sindrome di errore identificano rispettivamente la presenza e l assenza di un errore singolo.

Codici separabili: correzione di errori singoli I C : 2 C I + C + I 2 3 4 5 6 7 C 2 3 3 3 4 4 4 I correzione F Tx F C Rx C bit di sindrome d errore Le 2 C configurazioni delle sindromi di errore devono indicare se non c è errore ( situazione) e se c è, dov è (I + C situazioni).

SINGLE EDC: codice + bit di parità Bit di parità p - bit che la sorgente aggiunge ad una stringa di bit di codifica al fine di renderne pari il n di uni. Errore di parità e - bit che la destinazione pone a se e solo se riceve una configurazione con un numero dispari di uni. x x 2 p Codice con D MIN = 2 x x 2 p e

Calcolo della parità e della sindrome d errore x x 2 x x 2 x x 2 p p = F(x, x 2 ) x x 2 p p e confronto Si/No e = E(x, x 2, p ) p = F(x, x 2 ) e = F(p, p )

SINGLE ECC: il codice di Hamming I = 4: 2 C I + C + C = 3 I + C = 7 M= info I=4 (BCD) X 3 X 2 X X C=3 H 4 H 2 H 2 3 4 5 6 7 H H 2 X 3 H 4 X 2 X X 2 Tx H = X 3 X 2 X H 2 = X 3 X X 3 H 4 = X 2 X X 4 5 6 7 8 9 Rx E = X 3 X 2 X H E 2 = X 3 X X H 2 E 4 = X 2 X X H 4 Se E 4 = E 2 = E = In caso contrario: E 4 E 2 E = indice del bit affetto da errore e quindi da correggere (complementare) OK NO

Esempi: Tx 9 : X 3 X 2 X X = H = X 3 X 2 X = H 2 = X 3 X X = H 4 = X 2 X X = 2 3 4 5 6 7 H H 2 X 3 H 4 X 2 X X X 3 X 2 X X H 4 H 2 H = Caso : nessun errore Caso 2: errore singolo X 3 X 2 X X H 4 H 2 H = X 3 X 2 X X H 4 H 2 H = Rx E = X 3 X 2 X H = E 2 = X 3 X X H 2 = E 4 = X 2 X X H 4 = E 4 E 2 E = X k = X k, k E = X 3 X 2 X H = E 2 = X 3 X X H 2 = E 4 = X 2 X X H 4 = E 4 E 2 E = X 3 = not X 3 X k = X k, k 3 OK X 3 X 2 X X = ( 9 ) X 3 X 2 X X = ( 9 ) OK

Esempi: Tx 9 : X 3 X 2 X X = H = X 3 X 2 X = H 2 = X 3 X X = H 4 = X 2 X X = 2 3 4 5 6 7 H H 2 X 3 H 4 X 2 X X X 3 X 2 X X H 4 H 2 H = Caso 3: errore doppio X 3 X 2 X X H 4 H 2 H = Rx E = X 3 X 2 X H = E 2 = X 3 X X H 2 = E 4 = X 2 X X H 4 = E 4 E 2 E = X 2 = not X 2 X k = X k, k 2 errore singolo ( ) errore doppio ( ) X 3 X 2 X X = ( 7 ) NO correzione errore ( )