Documente Academic
Documente Profesional
Documente Cultură
Denumirile de mai sus au un caracter istoric i sunt dependente de context. Asfel, la nceputurile calculatoarelor, prin byte se desemna cea mai mic unitate de
adresare a memoriei, cu valori, de la caz la caz, de 5, 6, 7, 8 sau 9 bii. n timp, pe msura unificrii practicilor, termenii de byte i octet au devenit sinonimi. Termenul word poate fi folosit n contextul unui limbaj de programare de nivel nalt, ca variabil de doi octei, sau n contextul implementrii hardware. Astfel, dac unitatea de calcul suport operanzi de 32 de bii atunci word se poate folosi pentru a desemna un astfel de operand. Aceast form de reprezentare, corespunznd mulimii numerelor naturale, este potrivit acelor variable care, prin natura lor, nu pot lua valori negative, de exemplu indeci n iruri sau tabele. Numrul maxim reprezentabil pe o lungime de n bii este 2n-1. Pe un octet, acest numr este 255. Avantajul reprezentrii este c unitatea aritmetic de calcul poate sesiza situaia n care rezultatul unei operaii de scdere este negativ i poate semnala acest fapt ca pe o eroare. La operaia de adunare este posibil ca rezultatul s depeasc capacitatea de reprezentare. Pentru exemplificare adunm numerele 65(10) i 192(10), reprezentate pe octet. 65(10) 01000001 + 192(10) 11000000
----------------1000000001
Rezultatul, considerat pe 9 bii este reprezentarea binar a numrului 257(10). n fapt, rezultatul const doar din cei mai puin semnificativi 8 bii, cu valoarea 00000001, iar bitul al noulea, cu valoarea 1, este memorat separat sub numele de transport sau carry. Semnificaia bitului de transport depinde de modul de reprezentare folosit. La reprezentarea natural a numerelor pozitive semnificaia este de depire a capacitii de reprezentare, ceea ce este echivalent cu un rezultat eronat pe componenta de 8 bii. La operaia de scdere avem n vedere necesitatea de a face un mprumut din rangul anterior, atunci cnd este cazul. Dac mprumutul trebuie fcut dinspre bitul de rang 2n spre rangul 2n-1 atunci el se manifest prin poziionarea fanionului carry i semnific un rezultat negativ, deci eronat.
Dezavantaje: - exist dou coduri pentru numrul 0. - necesit tratarea semnului printr-un proces de decizie complicat. n continuare comentm dezavantajele. Existena a dou coduri pemtru numrul zero, respectiv +0 i -0 complic implementarea la nivel de logic hardware a uneia dintre cele mai frecvente operaii dintr-un calculator, anume comparaia cu zero. Practic, trebuie prevzute dou comparatoare i apoi o operaie sau logic. Deasemenea, este necesar ncorporarea n unitatea aritmetic a unei scheme de unificare a reprezentrii lui 0, nainte de introducerea n calcul a oricrui operand. Operaiile de adunare i scdere necesit tratarea semnelor i compararea magnitudinii operanzilor, urmate de un proces de decizie. Aceste operaii le facem, mental, fr s sesizm, atunci cnd adunm/scdem numere n baza 10, pe baza experienei deprinse prin nvare i exerciiu. Astfel: (+3) + (+5) este o operaie imediat, n timp ce (+3) + (-5) presupune: - extragerea valorii absolute a operanzilor [3, 5] - schimbarea ordinii operanzilor [3, 5 -> 5, 3] - operaia de scdere [5 - 3 = 2] - schimbarea semnului rezultatului [2 -> -2] Implementarea la nivel hardware a unui sumator/scztor devine o operaiune extrem de costisitoare, n termeni de complexitate a schemei, iar performanele de vitez vor fi foarte slabe.
00000101 + 11111100 1|00000001 + 1 00000010 Rezultatul, 00000010C1 corespunde numrului 210. Exemplu 2: Se calculeaz (-5) + (+3), unde +5 = 00000101C1, -5 = 11111010C1, +3 = 00000011C1 11111010 + 00000011 0|11111101 + 0 11111101 Rezultatul, 11111101C1 corespunde numrului -210, ceea ce se poate verifica imediat deoarece prin complementare rezult 00000010C1, adic +210. Operaia de scdere se realizeaz prin complementarea scztorului, urmat de adunare. Condiia de corectitudine a rezultatului este ca el s se ncadreze n intervalul numerelor reprezentabile n cod C1 (vezi exerciii). De exemplu, ncercarea de a aduna 6410 (01000000C1) cu 6510 (01000001C1) duce la rezultatul 0|10000001, care se interpreteaz ca numr negativ.
Schimbarea semnului se face prin complementare iar scderea se face prin adunarea desczutului cu complementul scztorului. - Adunarea se face ntr-un singur pas, fr a fi necesar o corecie. - La adunare, bitul de semn este tratat la fel ca ceilali bii. Aceste caracteristici permit implementarea hardware unitar i simpl a unui sumator/scztor combinaional, fcnd din codul complement de doi codul acceptat de toi productorii pentru reprezentarea intern a numerelor ntregi.
1.6. Exerciii.
Se consider cele trei moduri de reprezentare, pe lungime de 8 bii. 1. S se reprezinte numrul 0 n cele trei moduri. S se verifice relaia 0+0=0, n toate variantele, n cele trei reprezentri. S se verifice relaia x-x=0, n cele trei reprezentri. 2. S se determine domeniul de reprezentabilitate (numrul maxim, pozitiv i cel minim, negativ) n cele trei moduri de reprezentare. Se vor calcula valorile, n baza 10, pentru dimensiuni de 8, 16 i 32 de bii. 3. S se aleag dou numere, primul pozitiv i al doilea negativ, s se reprezinte n cele trei moduri i s se fac operaiile de adunare i scdere ntre ele.