Documente Academic
Documente Profesional
Documente Cultură
Bazele Aritmetice Ale Calculatoarelor Numerice PDF
Bazele Aritmetice Ale Calculatoarelor Numerice PDF
1.
1.1.
Sisteme de numeraie
0 xi b, i m 1, m 2 , ,2 ,1,0; xm 1 0;
b. N xm 1b m 1 xm 2b m 2 x2b 2 x1b1 x0 b0 .
(1.1)
(1.2)
0 xi b, i m 1, m 2 , ,2 ,1,0 , 1, 2 , ; xm 1 0 ;
(1.3)
b.
r xm 1b m 1 x2b 2 x1b1 x0 b0 x 1b 1 x 2b 2 .
(1.4)
Pornind de la faptul c la baza realizrii unui sistem numeric de calcul stau dispozitivele
cu dou stri stabile, rezult c SN binar (care necesit numai dou cifre, 0 i 1) este cel mai
potrivit pentru prelucrarea, codificarea i transmiterea informaiei n aceste echipamente. SN ale
cror baze reprezint puteri ale lui 2 prezint de asemenea proprietile sistemului binar, motiv
pentru care sunt frecvent utilizate n tehnica de prelucrare automat a datelor (n special SN octal
i SN hexazecimal). n ceea ce privete SN zecimal acesta este cu precdere utilizat n anumite
faze ale operaiilor de intrare- ieire.
Existena i utilizarea mai multor SN ridic problema conversiei dintr-un sistem n altul.
Una din metodele frecvent utilizate o reprezint mprirea / nmulirea numrului cu noua baz.
(N) / xn 1 n 2 xn 2 n 3 x1 0 x0 / x0 ,
Restul
Ctul (N1)
(1.7)
(N1 ) / xn 1 n 3 xn 2 n 4 x2 0 x1 / x1 ,
Restul
Ctul (N 2 )
..
(1.8)
(N k ) / xn 1 n k 2 xk 1 0 xk / xk ,
(1.9)
Restul
Ctul (N k 1 )
.
Dup cum se observ n urma primei mpriri rezult x0, (cifra cea mai puin
semnificativ a rezultatului - CCMPS), apoi x1 .a.m.d. Procedeul continu pn cnd ctul
devine mai mic dect noua baz , ultimul rest fiind coeficientul xn-1 , (cifra cea mai
semnificativ a rezultatului - CCMS).
(rS ) a 1 1 a 2 2 a m m ,
pentru care se dorete exprimarea n baza , respectiv
(1.10)
(rS ) x 1 1 x 2 2 a n n ,
(1.11)
(rS ) x 1 x 2 1 a n n 1 , x 1 ;
(rS 1 )
(1.12)
(rS 1 ) x 2 x 3 1 a n n 2 , x 2 ;
(1.13)
(rS 2 )
..
(rS k 1 ) x k x k 1 1 a n n k , x k ;
(1.14)
(rS k )
.
Cifra x-1 reprezint CCMS iar x-k CCMPS a rezultatului. Procedura se oprete n
momentul partea fracionar rS k a rezultatului unei nmuliri devine zero, sau dac s-a atins
precizia de conversie specificat prin numrul de cifre al reprezentrii.
Din prezentarea efectuat rezult c numrul de poziii binare pentru partea ntreag se
poate determina apriori, n timp ce pentru partea fracionar acest numr trebuie impus. Astfel
numrul n de poziii binare care se obin la conversia unui numr zecimal N este:
log N 1 dac N=2 k , k N
n 2
(1.15)
[log 2 N ] 1 dac N 2 k , k N
Octal
Binar
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
Hexaze
cimal
0
1
2
3
4
5
6
7
Binar
0000
0001
0010
0011
0100
0101
0110
0111
Tabelul 1.1
Hexaze
Binar
cimal
8
1000
9
1001
A
1010
B
1011
C
1100
D
1101
E
1110
F
1111
Cifrele sistemului octal pot fi reprezentate prin combinaii de cte trei bii denumite
triade iar ale sistemului hexazecimal prin combinaii de cte patru bii numite tetrade.
Regula de conversie: fiind dat reprezentarea n binar a unui numr real, reprezentarea
n octal se obine grupnd cte trei cifrele binare ncepnd de la separatorul fracionar (punct,
virgul), spre stnga i spre dreapta. Dup ce grupele extreme se completeaz (dac este cazul cu
zerouri nesemnificative), fiecare triad se substituie cu echivalentul su octal. Aceiai regul se
aplic i la conversia binar-hexazecimal, cu observaia c n loc de triade se opereaz cu
combinaii de 4 bii (tetrade).
3
Uzual un echipament de calcul numeric preia datele i ofer rezultatele ntr-o form
accesibil utilizatorului. n ceea ce privete prelucrarea, aceasta presupune exprimarea datelor
ntr-o form specific procesorului. n consecin exist dou formate de reprezentare a
numerelor n calculator i anume formatul intern i formatul extern.
a)
Reprezentarea numerelor ntregi . Acestea se reprezint de regul n format cu
virgul fix. De la nceput trebuie fcut precizarea c virgula (punctul zecimal) nu este prezent
n mod explicit n reprezentare. Sintagma virgul fix are n vedere o convenie care presupune
un loc fix al acesteia i un acelai numr de cifre pentru numr.
Numrul de bii (n) utilizai pentru o reprezentare determin numrul de valori
reprezentabile (2n). n tabelul 2.2 sunt prezentate valori tipice pentru n i 2n.
Domeniul finit de valori pentru numerele ntregi, reprezentate n formatul cu virgul
fix este:
D [Vmin ,Vmax ] Z ,
(1.16)
unde Vmin i Vmax sunt cea mai mic respectiv cea mai mare valoare ce se pot reprezenta
pe n bii. Cele 2n valori distincte pot constitui reprezentri ale unor numere ntrgi pozitive sau
negative.
Observaie important.
Indiferent de format numrul de bii pe care se reprezint un numr este finit i fix,
stabilindu-se n faza de proiectare a calculatorului. Din acest motiv n calculator nu se poate
reprezenta dect un numr finit de valori, interpretate diferit n cele dou formate. Numerele care
se pot reprezenta n calculator se numesc numere cu precizie finit (NPF) i au proprieti
diferite fa de numerele din matematic.
n cazul acestora poate aprea depirea capacitii de memorare deoarece NPF au un
domeniu finit de valori, n sensul c nu pot exista numere orict de mari sau orict de mici.
Depirile pot fi detectate hardware sau software.
Numerele ntregi fr semn se reprezint prin corespondentul lor binar (codul direct)
numrul de bii pentru reprezentarea unui numr N fiind
2n 1 N 2n .
(1.17)
Pentru numerele cu semn exist trei reprezentri mai des utilizate i anume:
a1semn mrime;
a2complement fa de 1;
a3complement fa de 2.
M mrime
n bii
(1.18)
M 2n 1 N .
(1.19)
C1
C2
+0 = 0000 0000 +0 = 0000 0000
- 0 = 1111 1111 -0 = 0000 0000
n1 bii
n2 bii
r m 10 E ,
(1.20)
(1)
(2)
Numere negative
foarte mari n modul
nereprezentabile -Vmax
-Vmin
(3) (4)
Numere
negative
foarte mici
n modul
nereprezentabile
(5)
Numere
pozitive
0 foarte mici+Vmin
nereprezentabile
(7)
(6)
+Vmax
Numere pozitive
foarte mari
nereprezentabile
Format
Simpl
precizie
Dubl precizie
1.4.
Biti
32
Semn
1
Exp.
8
64
11
Tabelul 1.2
Mantisa Exces
23
127
52
1023
Operaii aritmetice
(1.21)
Dac op=0, se adun modulele celor doi operanzi semnul rezultatului fiind dat de
semnul primului operand. Rezultatul este corect dac nu se depete valoarea maxim pentru
numrul respectiv de bii.
Dac op=1, se va efectua scderea modulelor celor doi operanzi, semnul rezultatului
fiind dat de semnul numrului mai mare n modul.
Adunarea i scderea n C1. Aceste operaii se reduc la operaia de adunare a
numerelor reprezentate n C1. Cei doi operanzi se adun bit cu bit, inclusiv biii de semn.
Eventualul transport care rezult la rangul de semn se va aduna la rangul cel mai puin
semnificativ. Dac bitul de semn al rezultatului are valoarea 1 atunci rezultatul este n C1 (altfel
este semn mrime).
Adunarea i scderea n C2. Operaiile se reduc la adunarea numerelor reprezentate n
C2. Cei doi operanzi se adun bit cu bit inclusiv biii de semn iar eventualul transport care
rezult la bitul de semn se neglijeaz. Dac bitul de semn al rezultatului are valoarea 1 atunci
rezultatul este n C2 (altfel este semn mrime).
nmulirea numerelor binare. Majoritatea metodelor de nmulire a numerelor binare
se bazeaz pe procedeul adunrii repetate. Vom exemplifica pentru produsul a dou numere x i
y exprimate n semn mrime, pentru care se parcurg urmtoarele etape:
a) se determin semnul produsului sP = sx + sY unde sP este semnul produsului iar
sx i sY semnele celor doi factori sP , sx ,sY 0, 1 conform regulii:
0+0=0;
0+1=1;
1+0=1;
1+1=0;
p 2 k y k x
k 1
unde
(1.22)
0
2 k y k x k
2 x
daca yk 0
daca y k 0
(1.23)
Cifrele zecimale pot fi reprezentate att n binar ct i n alte codificri care prezint
diverse avantaje n utilizare cum ar fi: BCD, codurile ponderate 8421 i 2421 i neponderate
Gray i Exces 3.
10
Codul BCD. Fiecare cifr zecimal a unui numr este reprezentat prin codul su
binar codificarea numindu-se zecimal codificat binar (BCD Binary Coted Decimal). Aceast
codificare se deosebete evident de codificarea binar, urmtorul exemplu fiind relevant.
Operaii aritmetice n cod BCD. Din modul n care se efectueaz codificarea n BCD
rezult c sunt valide numai combinaiile cuprinse ntre 0000 i 1001, celelalte (ntre 1010 i
1111) fiind invalide. Se pune problema efecturii de calcule aritmetice cu numere reprezentate n
BCD, dar utiliznd o UAL care lucreaz binar. De exemplu 36+94 13010 1100 1010BCD unde
apar combinaiile interzise 1100 i 1010. Eliminarea acestora i revenirea n cod BCD se face
prin procedeul de ajustare zecimal care const n:
a.
dac n urma adunrii rezult o cifr hexa S A atunci se adun 6 (respectiv 0110
i se obine cifra BCD;
b.
dac n urma adunrii rezult cifra S 3, dar cu transport spre rangul superior,
atunci se adun 6 (respectiv 0110 i se obine cifra BCD.
Aceast corecie va permite efectuarea adunrii n baz 10 i nu n baz 16 cum s-ar
efectua dac s-ar lua n consideraie toate combinaiile posibile de cte 4 bii.
n ceea ce privete celelalte operaii acestea se reduc la adunare sau utilizeaz n mod
repetat adunarea.
O meniune pentru nmulirea (mprirea) cu 10k ,echivalente cu deplasarea numrului
cu k tetrade spre dreapta sau spre stnga fa de poziia punctului zecimal, dup cum k este un
ntreg pozitiv, respectiv negativ.
11
Coduri alfanumerice
n afara numerelor ntregi sau reale informaia prelucrat de calculator mai poate
conine text format din caractere, adrese de memorie, informaie de stare etc.
Textul reprezint una din formele cele mai utilizate pentru manevrarea i memorarea
informaiei. n prezent calculatorul este utilizat ntr-o mare varietate de aplicaii care nu necesit
neaprat calcule matematice cum ar fi: editare, redactare, grafic etc. Tot cu ajutorul caracterelor
se introduc n memoria calculatorului programele surs i se obin rezultatele.
n general, n mulimea caracterelor alfanumerice intr cifre, litere i caractere speciale.
Caracterele pot fi tipribile sau nu, n ultima categorie intrnd:
- caractere de control pentru comunicaia ntre dispozitive;
- caractere de control pentru deplasarea cursor;
- caractere cu semnificaie nedefinit.
n prezent marea majoritate a platformelor de calcul utilizeaz codul IBM ASCII
(American Standard Code for Information Interchange). Codul ASCII se prezint n variantele
restrns i extins. Codul ASCII restrns asociaz fiecrui caracter cte o formaie de 7 bii iar cel
extins cte una de 8 bii. Rezult c cele dou coduri permit codificarea a 128 respectiv a 256 de
caractere. Exemple de coduri ASCII: A: 41h, 2:32h, *:2Ah, ?:3Fh, etc.
1.5.3.
Relativ la erorile care pot apare la transmisia sunt de menionat dou categorii de
probleme
a. detectarea erorilor;
b. corectarea erorilor.
La rndul su detectarea erorilor comport dou tipuri de operaii:
a1. detectarea strii de eroare;
a2. diagnoza erorii.
Prin detectarea strii de eroare se specific existena unei erori fr a se preciza exact
eroarea. Diagnoza presupune determinarea erorii, respectiv a biilor care au fost transmii eronat.
Important n detectarea erorilor de transmisie este distana Hamming (DH) definit ca
numrul de poziii binare prin care difer dou cuvinte de cod. De exemplu cuvintele binare x =
01100 i y = 00101 difer prin dou poziii binare, deci distana Hamming este d = 2. Fiind
vorba de sesizarea lipsei coincidenei, d se poate determina cu ajutorul funciei SAU
EXCLUSIV, respectiv d = x y. Semnificaia DH este c sunt necesare d erori de un singur bit
12
13