16
Reprezentarea Reprezentarea Informatiei in Informatiei in sistemul de calcul sistemul de calcul SISTEMUL BINAR SISTEMUL BINAR

Sistemul Binar Curs 4

Embed Size (px)

Citation preview

Page 1: Sistemul Binar Curs 4

Reprezentarea Reprezentarea Informatiei in Informatiei in sistemul de calculsistemul de calcul

SISTEMUL BINARSISTEMUL BINAR

Page 2: Sistemul Binar Curs 4

Sistemul binarSistemul binar

Informatia este reprezentata digital – unitatea Informatia este reprezentata digital – unitatea fundamentala pentru reprezentarea informatiei fundamentala pentru reprezentarea informatiei este discreta (nu poate lua orice valoare)este discreta (nu poate lua orice valoare)

Se foloseste reprezentarea binara a Se foloseste reprezentarea binara a informatiei, unitatea de baza a informatiei este informatiei, unitatea de baza a informatiei este bit-ul si poate avea 2 valori (0 sau 1).bit-ul si poate avea 2 valori (0 sau 1).

Strict conventional se atribuie valoarea 0 Strict conventional se atribuie valoarea 0 prezentei potentialului electric si 1 absentei prezentei potentialului electric si 1 absentei acestuia.acestuia.

Page 3: Sistemul Binar Curs 4

O secventa de 8 biti se numeste byte.O secventa de 8 biti se numeste byte.

Un byte reprezinta 2Un byte reprezinta 288=256, putem reprezenta 256 =256, putem reprezenta 256 valori: 256 caractere, numerele 1÷ 255.valori: 256 caractere, numerele 1÷ 255.

1 kilobyte = 21 kilobyte = 21010 byte = 1024 byte byte = 1024 byte

Sistemul zecimal – numarul cifrelor distincte Sistemul zecimal – numarul cifrelor distincte reprezinta baza sistemului numeric.reprezinta baza sistemului numeric.

Ex.: In sistemul zecimal sunt 10 cifre (0,1,2,….9).Ex.: In sistemul zecimal sunt 10 cifre (0,1,2,….9).

Fiecare numar in aceasta baza este exprimat ca Fiecare numar in aceasta baza este exprimat ca o suma de produse ale fiecarei cifre si a unei o suma de produse ale fiecarei cifre si a unei puteri a lui 10.puteri a lui 10.

5267=7x105267=7x1000+6x10+6x1011+2x10+2x1022+5x10+5x1033

Page 4: Sistemul Binar Curs 4

Sistemul binar (baza 2) este alcatuit din 2 Sistemul binar (baza 2) este alcatuit din 2 cifre (0,1). Similar:cifre (0,1). Similar:

10101 = 1x210101 = 1x200+0x2+0x211+1x2+1x222+0x2+0x233+1x2+1x24 4

10101 10101 (2)(2) = 21 = 21 (10)(10)

ZecimalZecimal BInarBInar Suma argumentilor lui Suma argumentilor lui 22

11 11 11

22 1010 2+02+0

33 1111 2+12+1

44 100100 4+0+04+0+0

55 101101 4+0+14+0+1

66 110110 4+2+04+2+0

77 111111 4+2+14+2+1

88 10001000 8+0+0+08+0+0+0

99 10011001 8+0+0+18+0+0+1

1010 10101010 8+0+2+08+0+2+0

Page 5: Sistemul Binar Curs 4

Aritmetica binaraAritmetica binara Pentru a aduna doua numere, le aliniem unul sub altul dupa puterile bazei si Pentru a aduna doua numere, le aliniem unul sub altul dupa puterile bazei si

dupa aceea adunam cifrele dinspre dreapta.dupa aceea adunam cifrele dinspre dreapta.

Daca suma pentru orice coloana este mai mare decat ceea ce putem exprima Daca suma pentru orice coloana este mai mare decat ceea ce putem exprima cu o cifra (0 sau 1 pentru baza 2) atunci transportam un 1 la puterea imediat cu o cifra (0 sau 1 pentru baza 2) atunci transportam un 1 la puterea imediat urmatoare (mai mare).urmatoare (mai mare).

Numim aceasta o depasire (overflow) daca puterea imediat urmatoare nu a fost Numim aceasta o depasire (overflow) daca puterea imediat urmatoare nu a fost implementata si acest transport nu este posibil.implementata si acest transport nu este posibil.

100101110 +100101110 + 110011011110011011 ------------------------------ 10110010011011001001

Numerele binare lungi sunt greu de citit. Din acest motiv, exista conventia de a Numerele binare lungi sunt greu de citit. Din acest motiv, exista conventia de a grupa bits-ii cate 3 sau 4 incepand de la dreapta.grupa bits-ii cate 3 sau 4 incepand de la dreapta.

Este obisnuit sa scriem fiecare set de 4 bits ca o cifra in baza 16 Este obisnuit sa scriem fiecare set de 4 bits ca o cifra in baza 16 (hexazecimala).(hexazecimala).

Aceste cifre sunt 0,1,2,3,….9,A,B,C,D,E,FAceste cifre sunt 0,1,2,3,….9,A,B,C,D,E,F Astfel 0011 este 3 si 1111 este FAstfel 0011 este 3 si 1111 este F

Page 6: Sistemul Binar Curs 4

Pentru a explica scaderea este necesar sa cunoastem un Pentru a explica scaderea este necesar sa cunoastem un concept al algebrei moderne numit aditivul invers. De concept al algebrei moderne numit aditivul invers. De fiecare data cand adunam un numar la aditivul sau, fiecare data cand adunam un numar la aditivul sau, obtinem 0.obtinem 0.

Ex.:Ex.: 3 + (-3) = 03 + (-3) = 0

Matematic scaderea este posibila deoarece fiecare numar Matematic scaderea este posibila deoarece fiecare numar are un invers. De fapt, scaderea nu este altceva decat are un invers. De fapt, scaderea nu este altceva decat adunarea aditivului invers.adunarea aditivului invers.

Scaderea Scaderea AdunareaAdunareaminusminus plusplus

scazatorscazator inversul scazatoruluiinversul scazatorului---------------------------------- ---------------------------------------------------- diferentadiferenta sumasuma

Acest fapt este important deoarece UCP are logica de Acest fapt este important deoarece UCP are logica de adunare. Daca putem converti scaderea la adunare atunci adunare. Daca putem converti scaderea la adunare atunci putem folosi aceasta logica.putem folosi aceasta logica.

Page 7: Sistemul Binar Curs 4

Putem calcula aditivul invers in numai 2 pasi. Mai intai Putem calcula aditivul invers in numai 2 pasi. Mai intai formam un numar care este numit complement de unu: formam un numar care este numit complement de unu: oriunde numarul original are un bit de 1, complementul va oriunde numarul original are un bit de 1, complementul va avea un 0 si viceversa. Apoi adaugam 1 si obtinem avea un 0 si viceversa. Apoi adaugam 1 si obtinem complementul de 2.complementul de 2.

De exemplu sa consideram urmatoarele numere de 8 bits:De exemplu sa consideram urmatoarele numere de 8 bits: 0010 0101 Numar0010 0101 Numar 1101 1010 Complement de unu1101 1010 Complement de unu 1101 1011 Complement de 21101 1011 Complement de 2

Notati ca adunand un numar cu complementul sau de doi, Notati ca adunand un numar cu complementul sau de doi, suma este o putere a lui 2 ( de aici si numele)suma este o putere a lui 2 ( de aici si numele)

Ex.: 0010 0101 NumarEx.: 0010 0101 Numar +1101 1011 Complement de doi+1101 1011 Complement de doi -------------------------------------------------------------------------------------- 10000 0000 Suma ca putere a lui doi10000 0000 Suma ca putere a lui doi

Daca luam in considerare numai 8 bits din dreapta atunci Daca luam in considerare numai 8 bits din dreapta atunci cu adevarat raspunsul este 0.cu adevarat raspunsul este 0.

Page 8: Sistemul Binar Curs 4

Inmultirea urmeaza acelasi proces folosit in aritmetica Inmultirea urmeaza acelasi proces folosit in aritmetica zecimala, cu exceptia faptului ca tabla inmultirii este mult zecimala, cu exceptia faptului ca tabla inmultirii este mult mai restransa. mai restransa.

Ex.: 101Ex.: 101 x 101x 101

---------------------------------- 101101 000000 101101------------------------------------ 1100111001

Atata timp cat multiplicam numai prin 1 si 0, putem converti Atata timp cat multiplicam numai prin 1 si 0, putem converti problema inmultirii intr-o serie de adunari si deplasari problema inmultirii intr-o serie de adunari si deplasari (shifts) analizand bits-ii din inmultitor.(shifts) analizand bits-ii din inmultitor.

Daca bitul este 1, adunam deinmultitul la produsul partial si Daca bitul este 1, adunam deinmultitul la produsul partial si deplasam inmultitorul cu o pozitie la stanga; daca bitul este deplasam inmultitorul cu o pozitie la stanga; daca bitul este 0, pur si simplu facem numai deplasarea.0, pur si simplu facem numai deplasarea.

Page 9: Sistemul Binar Curs 4

Dupa cum stim CPU (UCP) are logica atat pentru adunare cat si Dupa cum stim CPU (UCP) are logica atat pentru adunare cat si pentru deplasare asa ca putem intelege cum se realizeaza inmultirile.pentru deplasare asa ca putem intelege cum se realizeaza inmultirile.

Observam ca ceea ce pentru noi este o singura operatie devine Observam ca ceea ce pentru noi este o singura operatie devine pentru computer o secventa de operatii primitive.pentru computer o secventa de operatii primitive.

Rezulta ca multiplicarea se realizeaza mai complicat si ia mai mult Rezulta ca multiplicarea se realizeaza mai complicat si ia mai mult timp. De fapt timpul necesr unei inmultiri va depinde de numarul de 0 timp. De fapt timpul necesr unei inmultiri va depinde de numarul de 0 in inmultitor. Cu cat sunt mai putini de 0 cu atat sunt mai multe in inmultitor. Cu cat sunt mai putini de 0 cu atat sunt mai multe adunari si timpul de calcul este mai indelungat.adunari si timpul de calcul este mai indelungat.

De retinut din aceasta: nu toate instructiunile au aceeasi viteza de De retinut din aceasta: nu toate instructiunile au aceeasi viteza de procesare si unele viteze de procesare variaza cu datele.procesare si unele viteze de procesare variaza cu datele.

Impartirea in binar se face asemanator cu impartirea in sistemul Impartirea in binar se face asemanator cu impartirea in sistemul zecimal.zecimal.

Page 10: Sistemul Binar Curs 4

Reprezentarea Reprezentarea numerelornumerelor Numerele pot fi reprezentate ca Numerele pot fi reprezentate ca intregiintregi sau in sau in virgula virgula

mobilamobila ( (floating pointfloating point).).

Pentru reprezentarea ca intreg se folosesc un numar de 2Pentru reprezentarea ca intreg se folosesc un numar de 2nn octeti, functie de formalismul de reprezentare.octeti, functie de formalismul de reprezentare.

1 octet = 0÷2551 octet = 0÷255 2 octeti – se numeste reprezentare de 16 bits = 0÷640002 octeti – se numeste reprezentare de 16 bits = 0÷64000 4 octeti (32 bits) = 24 octeti (32 bits) = 23232

8 octeti (64 bits)8 octeti (64 bits)

Cel mai mare numar ce poate fi pastrat intr-un byte este Cel mai mare numar ce poate fi pastrat intr-un byte este 11111111 sau 211111111 sau 288-1 sau 255.-1 sau 255.

Daca lasam deoparte primul (cel din stanga) bit pentru a Daca lasam deoparte primul (cel din stanga) bit pentru a servi ca bit de semn, atunci numerele care pot fi pastrate servi ca bit de semn, atunci numerele care pot fi pastrate intr-un byte pot varia de la -127 la 127.intr-un byte pot varia de la -127 la 127.

Page 11: Sistemul Binar Curs 4

Pentru a memora numere mai mari putem combina 2 bytes Pentru a memora numere mai mari putem combina 2 bytes consecutivi. In 16 bits se poate pastra un numar pozitiv de ordinul 2consecutivi. In 16 bits se poate pastra un numar pozitiv de ordinul 21616-1 -1 sau 65535. Daca folosim un bit pentru a fi bitul de semn atunci sau 65535. Daca folosim un bit pentru a fi bitul de semn atunci intervalul devine: -32767 la 32767.intervalul devine: -32767 la 32767.

Acest numar este destul de mare pentru majoritatea aplicatiilor; el este Acest numar este destul de mare pentru majoritatea aplicatiilor; el este in general numit intreg si formatul de 16 bits este numit formatul de in general numit intreg si formatul de 16 bits este numit formatul de numar intreg.numar intreg.

Totusi unele probleme necesita numere mai mari sau valori fractionale. Totusi unele probleme necesita numere mai mari sau valori fractionale. Putem sa lucram cu numere mai largi folosind 4 bytes (32 bits) ca Putem sa lucram cu numere mai largi folosind 4 bytes (32 bits) ca unitate. Modul de lucru se numeste virgula mobila (floating point).unitate. Modul de lucru se numeste virgula mobila (floating point).

Prima reprezentare de tip virgula mobila este pe 4 bytes si se numeste Prima reprezentare de tip virgula mobila este pe 4 bytes si se numeste reprezentare in simpla precizie (1 byte exponetul, 3 bytes mantisa).reprezentare in simpla precizie (1 byte exponetul, 3 bytes mantisa).

Pentru reprezentarea in dubla precizie se aloca 8 bytes (1 byte Pentru reprezentarea in dubla precizie se aloca 8 bytes (1 byte exponentul, 7 bytes mantisa) (± 2exponentul, 7 bytes mantisa) (± 25555 valori reprezentabile pe 7 bytes x valori reprezentabile pe 7 bytes x 1010±127±127) numere care acopera aproape toata clasa de precizie.) numere care acopera aproape toata clasa de precizie.

Page 12: Sistemul Binar Curs 4

Reprezentarea Reprezentarea caracterelorcaracterelor Alfabetul calculatorului contine 26 de litere mari si 26 de litere mici, 10 Alfabetul calculatorului contine 26 de litere mari si 26 de litere mici, 10 cifre, cateva duzini de semne de punctuatie si cateva duzini de cifre, cateva duzini de semne de punctuatie si cateva duzini de caractere speciale de control pe care hardul le recunoaste.caractere speciale de control pe care hardul le recunoaste.

Fiecare dintre aceste caractere are un cod unic care poate fi exprimat Fiecare dintre aceste caractere are un cod unic care poate fi exprimat pe un byte. De exmplu, cand utilizatorul tasteaza “57” la un terminal, el pe un byte. De exmplu, cand utilizatorul tasteaza “57” la un terminal, el de fapt introduce un cod de 8 bits pentru “5” urmat de un cod de 8 bits de fapt introduce un cod de 8 bits pentru “5” urmat de un cod de 8 bits pentru “7”.pentru “7”.

Softul de sistem al calculatorului poate converti apoi aceste coduri in Softul de sistem al calculatorului poate converti apoi aceste coduri in numar binar 0011 1001 care poate fi folosit pentru calcul. In acelasi fel numar binar 0011 1001 care poate fi folosit pentru calcul. In acelasi fel softul de sistem trebuie sa converteasca datele la siruri de coduri care softul de sistem trebuie sa converteasca datele la siruri de coduri care pot fi listate sau afisate.pot fi listate sau afisate.

Pentru a elimina erorile de transmisie, computerul adauga un bit de Pentru a elimina erorile de transmisie, computerul adauga un bit de paritate pentru a detecta codurile invalide. Bitul de paritate este setat fie paritate pentru a detecta codurile invalide. Bitul de paritate este setat fie pe 0 fie pe 1 pentru a garanta numarul impar de cifre de 1 al codului pe 0 fie pe 1 pentru a garanta numarul impar de cifre de 1 al codului (exista deasemenea si o paritate para).(exista deasemenea si o paritate para).

Page 13: Sistemul Binar Curs 4

Este simplu sa proiectam hard-ul in asa fel incat sa testeze Este simplu sa proiectam hard-ul in asa fel incat sa testeze paritatea fiecarui caracter procesat pentru a detecta codurile paritatea fiecarui caracter procesat pentru a detecta codurile invalide. Acest fapt este folositor in special cand citim date invalide. Acest fapt este folositor in special cand citim date stocate pe medii magnetice, cum sunt discurile, pe care stocate pe medii magnetice, cum sunt discurile, pe care orice particula de praf poate cauza erori temporare.orice particula de praf poate cauza erori temporare.

Cand o eroare de paritate este detectata, softul de sistem Cand o eroare de paritate este detectata, softul de sistem normal incearca sa reciteasca (sa rescrie) caracterul, de un normal incearca sa reciteasca (sa rescrie) caracterul, de un numar fix de ori. Daca eroarea persista, operatia este numar fix de ori. Daca eroarea persista, operatia este intrerupta.intrerupta.

Folosirea unui bit pentru verificarea paritatii va face codul Folosirea unui bit pentru verificarea paritatii va face codul caracterului mai lung. Totusi, acesta nu este de fapt o caracterului mai lung. Totusi, acesta nu este de fapt o problema atata timp cat codurile necesare reprezentarii problema atata timp cat codurile necesare reprezentarii alfabetului sunt mai putine de 128 si 128 de coduri pot fi alfabetului sunt mai putine de 128 si 128 de coduri pot fi exprimate in 7 bits. Al 8-lea bit este disponibil pentru a folosi exprimate in 7 bits. Al 8-lea bit este disponibil pentru a folosi ca bit de paritate.ca bit de paritate.

Page 14: Sistemul Binar Curs 4

American Standard Code for Information Interchange American Standard Code for Information Interchange (ASCII) este codul utilizat de toate aplicatiile folosite in (ASCII) este codul utilizat de toate aplicatiile folosite in microcomputere. Fiecare caracter este scris pe 7 bits.microcomputere. Fiecare caracter este scris pe 7 bits.

De exemplu: 100 0001 este codul pentru ADe exemplu: 100 0001 este codul pentru A 110 0001 este codul pentru a110 0001 este codul pentru a 100 0010 este codul pentru B100 0010 este codul pentru B

Mai exista si alte coduri printre care si Extended Binary Mai exista si alte coduri printre care si Extended Binary Coded Decimal Interchange Code (EBCDIC). Acesta este Coded Decimal Interchange Code (EBCDIC). Acesta este un cod de 8 bits dezvoltat de IBM pentru calculatoarele un cod de 8 bits dezvoltat de IBM pentru calculatoarele mari. El nu necesita un bit de paritate deoarece hardul care mari. El nu necesita un bit de paritate deoarece hardul care il proceseaza adauga un bit de paritate. il proceseaza adauga un bit de paritate.

Majoritatea memoriilor utilizeaza un al 9-lea bit de paritate Majoritatea memoriilor utilizeaza un al 9-lea bit de paritate pentru a-si verifica continutul. Un astfel de bit de paritate pentru a-si verifica continutul. Un astfel de bit de paritate este utilizat de hard si nu poate fi utilizat de programe.este utilizat de hard si nu poate fi utilizat de programe.

Page 15: Sistemul Binar Curs 4

Reprezentarea logica si Reprezentarea logica si fizicafizica

Atunci cand vorbim despre calculatoare trebuie sa facem diferenta Atunci cand vorbim despre calculatoare trebuie sa facem diferenta intre entitatile logice si cele fizice.intre entitatile logice si cele fizice.

Entitatile logice sunt acelea care comunica intelesul. De exemplu, un Entitatile logice sunt acelea care comunica intelesul. De exemplu, un cod de caractere pe 8 bits, un intreg pe 16 bits, un numar in virgula cod de caractere pe 8 bits, un intreg pe 16 bits, un numar in virgula mobila pe 32 bits, un numar in dubla precizie pe 64 bits sunt toate mobila pe 32 bits, un numar in dubla precizie pe 64 bits sunt toate unitati logice.unitati logice.

Cuvantul, in schimb, este o unitate fizica. Marimea cuvantului este Cuvantul, in schimb, este o unitate fizica. Marimea cuvantului este numarul de bits care pot fi accesati ca o unitate. Intr-un calculator de 8 numarul de bits care pot fi accesati ca o unitate. Intr-un calculator de 8 bits, marimea cuvantului este de 8 bits.bits, marimea cuvantului este de 8 bits.

Pentru a citi o unitate logica exprimand un numar in virgula mobila Pentru a citi o unitate logica exprimand un numar in virgula mobila este necesar sa citim patru unitati (cuvinte) fizice. Pe de alta parte un este necesar sa citim patru unitati (cuvinte) fizice. Pe de alta parte un calculator de 32 bits in mod normal are facilitati pentru a accesa calculator de 32 bits in mod normal are facilitati pentru a accesa numai o parte a unui cuvant (un anume byte).numai o parte a unui cuvant (un anume byte).

Page 16: Sistemul Binar Curs 4

Reprezentarea imaginilorReprezentarea imaginilor Imaginile se considera a fi obiecte dreptunghiulare, Imaginile se considera a fi obiecte dreptunghiulare,

alcatuite dintr-o matrice pixel (pixel = elementul cel mai alcatuite dintr-o matrice pixel (pixel = elementul cel mai mic din imagine, ce este definit individual).mic din imagine, ce este definit individual).

1 pixel este caracterizat prin pozitia in cadrul imaginii si 1 pixel este caracterizat prin pozitia in cadrul imaginii si culoarea sa. Numarul maxim de culori ce poate fi luat de culoarea sa. Numarul maxim de culori ce poate fi luat de un pixel se numeste adancime de culoare.un pixel se numeste adancime de culoare.

Cel mai des intalnite:Cel mai des intalnite: Adancimea de culoare de 1 bit pentru alb-negru;Adancimea de culoare de 1 bit pentru alb-negru; Adancimea de culoare de 1 byte ce permite reprezentarea a 256 Adancimea de culoare de 1 byte ce permite reprezentarea a 256

culor sau 256 nuante de gri;culor sau 256 nuante de gri; Adancimea de culoare de 2 byte – 64000 culori;Adancimea de culoare de 2 byte – 64000 culori; Adancimea de culoare de 4 byte – cateva milioane de culori.Adancimea de culoare de 4 byte – cateva milioane de culori.