Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice



Acasa » referate » informatica
Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson

Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson



Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson

            Investind in prezentare de detaliu a dispozitivului de inmultire (a multiplier-ului) din fig. 3.6, sa incercam sa utilizam cat mai plenar elementele lui de structura pentru ca, prin cat mai facila reconfigurare, sa ne acordam cu ambele reprezentari de operanzi si rezultate, semn-marime (SM) si complement de doi (C2). Precizam ca, spre deosebire de situatia expusa in anteriorul paragraf, pe magistrale sunt vehiculate doar numere in cod C2, atat operanzii intrare, cat si pentru rezultatul produs.

            Intr-o prima abordare, sa supunem analizei folosirea integrala a multiplier-ului din fig. 3.6 transformand acei operanzi intrare negativi cu reprezentare in C2 in una SM si, apoi, in final, daca produsul rezulta negativ supunandu-l pe acesta unei transformari inverse, din SM in C2. Cazul cel mai defavorabil, care trebuie acoperit, corespunde situatiei cand unul dintre operanzi, precum si, in mod firesc, produsul sunt negativi, situatie in care avem de-a face cu 3 operatii de complementare ( una pentru operandul negativ si doua pentru produs, acesta fiind operat in doua transe separate). Cazului cand ambii operanzi sunt negativi ii corespunde doar doua complementari, pentru ca in acest caz, in mod evident, produsul rezulta pozitiv si nu necesita complementare. Dar, asa cum este cunoscut, o complementare cel putin timpul unei adunari fara a mai lua in consideratie operatiile de testare a semnelor. Criticam deci aceasta solutie sub aspectul degradarii de performanta cauzate de operatiile suplimentare de complementare si recomplementare si vom incerca o abordare care sa nu implice transformari de cod.


 

 

 

 

 

 

 

 

A

Q

M

COUNT

Interval control

 

 

signals activated

 

 

00000000

 

11101001

000

c0

 

 

 

11011001

 

 

c1

 

 

+1101001

 

 

 

c2

 

 

01101001

 

 

 

 

 

00110100

11101100

 

001

c3

 

 

00011010

01110110

 

010

c3

 

 

00001101

00111011

 

011

c3

 

 

+1101001

 

 

 

c2

 

 

01110110

 

 

 

 

 

00111011

00011101

 

100

c3

 

 

+1101001

 

 

 

c2

 

 

10100100

 

 

 

 

 

01010010

00001110

 

101

c3

 

 

00101001

00000111

 

110



c3

 

 

+1101001

 

 

 

c2

 

 

10010010

 

 

 

 

 

01001001

00000011

Oval: + EXOR

111

c3

 

 

 

 

 

* COUNT7=1

 

 

01001001

             0

 

 

c4

 

 

01001001

 

 

 

c5

 

 

 

00000010

 

 

c6

 

Fig.3.9

           

            In acest sens, vom pleca de la acea forma de reprezentare a codului C2 datorata lui James Robertson  [Erha 04],[Ital 99],[Haye 98] s.a., in conformitate cu care pentru un numar binar X = xn-1xn-2xix1x0 codul C2 este dat de relatiile:

, pentru X intreg          

(3.5)

si        

, pentru X fractionar

(3.6)

unde bitii  coincid cu xi in cazul numerelor pozitive, (xn-1=0), respectiv corespund bitilor codului C2 a lui X in cazul numerelor negative (xn-1=1).

            Exemplificand relatiile (3.5) si (3.6), vom adopta configuratia binara exemplu folosita in fig. 3.9 pentru multiplier-ul X, adica XSM=x7x6xi.x1x0=11011001. Acesteia, prin aplicarea cunoscutei proceduri de trecere in cod C2, ii corespunde XC2==10100111. Pe de o parte, daca interpretam pe XC2 ca numar intreg, in baza relatiei (3.5), avem

 XC2=+. Pe de alta parte, daca interpretam pe XC2 ca numar fractionar, in baza relatiei (3.6), avem .

            In intentia noastra declarata de a folosi, la inmultirea numerelor binare in C2, cu cat mai putine modificari structura din figura 3.6, reliefam faptul ca, la inmultirea numerelor binare in SM, am realizat o parcurgere, bit cu bit, a multiplier-ului X de la dreapta spre stanga incepand cu iteratiile (3.2) cu bitul cel mai putin semnificativ si progresand inspre bitul de semn. De fapt, fiecare bit al lui X a fost adus, prin deplasare la dreapta, in Q[0], unde i-a fost analizata valoarea, dupa care respectivul bit a fost eliminat. Dependent de valoarea bitului din Q[0], s-au executat doar deplasare (la Q[0]=0) sau adunare si deplasare (la Q[0]=1). Este momentul sa subliniem faptul ca, prezentand pe X in una din formele (3.5) sau (3.6), se obtine satisfacerea dezideratului tintit de a permite implementarea unei proceduri bazate pe pasi, fie doar de deplasare, fie de adunare si deplasare, la o parcurgere a multiplier-ului X de la dreapta la stanga, atunci cand X este reprezentat in C2. In functie de semnul lui X, se disting doua cazuri:

            α) Cand X este pozitiv (xn-1=0 si ), pentru i=0, n-2), tratarea, prin prisma lui X, este absolut similara cu una data de procedura din figura 3.5.

            β) Cand X este negativ (xn-1=1 si bitii corespund reprezentarii lui X in C2), se

parcurg bitii, de aceasta data, , ca si cand ne-am afla in cazul α, aplicand, cu observatia legata de evitarea adunarii lui 0, iteratia (3.2) pana cand se ajunge la bitul de semn. Astfel, se obtin produsele partiale cumulative P’: 

, pentru X intreg       

(3.7)

si                                            

, pentru X fractionar

(3.8)

Valorile P’ obtinute trebuie insa supuse unei suplimentare operatii de scadere, corespunzatoare bitului de semn – conform cu (3.5), respectiv (3.6), care realizeaza corectia faptului ca bitii xi’ nu apartin unei reprezentari directe, semn-marime, ci reprezentarii in C2. Luand in consideratie (3.7), respectiv (3.8), produsele finale P rezulta prin pasul final de corectie (correction step) constand din scaderea, corespunzator aliniata, a lui Y din valorile P’:

, pentru X intreg   

(3.9)

  si

, pentru X fractionar 

(3.10)

            Prin pasul de corectie bazat pe scadere a aparut un element neintalnit la algoritmul din fig. 3.5, unde am avut doar adunari. Dar scaderea se poate realiza prin adunarea complementului de 2 realizand artificiul transformarii sumatorului paralel intr-un scazator prin adausul, pe intrari, a unui strat de circuite EX-OR si adunarea unei unitati binare uzitand de intrarea cin. Putem face uz de parallel adder-ul din fig. 3.6 cu suplimentarile de rigoare. Apeland la aceasta solutie tehnica, bitul de semn nu necesita o tratare speciala (cum a fost cazul in fig. 3.5), ci el este supus aceleiasi operari ca oricare dintre ceilalti biti, ordinari, ai reprezentarii, ceea ce motiveaza extensia cu un rang a parallel adder-ului si a conexiunilor corespunzatoare la acesta (fig. 3.6).

            Mai apare insa o problema, care este conexa cu reprezentarea in C2, de data acesta, a multiplicand-ului Y=yn-1yn-2..yjy1y0. Cand Y e pozitiv (yn-1=0), nu apar aspecte speciale intrucat avem de-a face cu inmultirea a doua numere pozitive (reamintim ca si in cazul unui X negativ, atata timp cat nu s-a ajuns la bitul de semn, portiunea lui X corespunzatoare bitilor xi’ este considerata un numar pozitiv), deci produsele partiale rezulta a fi numere pozitive. Aceasta are importanta atunci cand respectivele produse sunt deplasate la dreapta, intrucat in rangul cel mai semnificativ se introduce, asa cum am vazut, un inofensiv, relativ la valoarea deplasata, 0. Daca insa Y este negativ (yn-1=1), lucrurile se schimba. Mai exact, atunci cand la parcurgerea de la dreapta spre stanga a lui X, se intalneste primul bit de 1, intrucat X este „inca” pozitiv, rezulta, prin (3.2), un produs partial negativ, determinand pana se ajunge la interpretarea semnului lui X, perpetuarea de valori negative inclusiv pentru produsul partial cumulativ, dat de (3.7), respectiv (3.8). Dar daca deplasam la dreapta un numar negativ in bitul cel mai semnificativ trebuie sa introducem, de data acesta, un inofensiv 1. Se poate spune ca produsele partiale se supun unei deplasari aritmetice (arithmetic shift [Haye98], [Yarb97]. Pentru bitii mai putin semnificativi ai lui X care au valoarea 0, rezulta, indiferent de Y, produse partiale nule, care, prin deplasare la dreapta, trebuie sa ramana nule. Pentru a tine seama de situatiile mentionate, la sinteza dispozitivului de inmultire se adauga un bistabil fanion (flag) F, care va furniza valoarea binara introdusa in rangul cel mia semnificativ al produsului partial.

Signs

Correction Step

Arithmetic Shift

xn-1

yn-1

0

0

no

no

0

1

no

yes

1

0

yes

no



1

1

yes

yes

Fig.3.9

Conclusiv, dependent de operanzilor, algoritmul de inmultire a numerelor binare reprezentate trebuie sa actioneze, dupa caz, functiile suplimentare de corectie si deplasare aritmetica asa cum este aratat in fig. 3.9. Odata realizate aceste comentarii, putem trece la prezentarea – tradusa in termenii aceluiasi limbaj de descriere adoptat – secventei de cod corespunzatoare procedurii de inmultire a numerelor binare reprezentate in C2, conform

metodei elaborata de James Robertson [Haye98]. Sinteza dispozitivului de inmultire, caruia ii atasam numele Robertson, cu caracteristici asemanatoare celor din fig 3.6 este expusa in fig. 3.11.

Fig.3.10

Efectuam comentariile noii proceduri (fig. 3.10) prin comparatie cu cea din fig.3.5, iar la noul dispozitiv (fig. 3.11), avand in vedere detalierea amanuntita deja realizata, vom insista doar asupra modificarilor fata de schema din fig. 3.6. Remarcam pentru inceput declararea flagu-lui D, care este initializata prin c0, impreuna cu A si COUNT. Setarea lui F se face, prin c2, odata cu adunarea (A+M), cele doua operatii nefiind conflictuale. Conform cu cele deja expuse, cand Z este negativ (M[7]=1) si in Q[0] apare prima unitate binara, avem Q[0] and M[7]=1 si F este pus pe 1, fiind mentinut in aceasta stare prin ( or F). Prin F se asigura deplasarea aritmetica (A[7]:=F).

Fig.3.11

Pe de alta parte, se observa ca parallel adder-ul este pe 8 ranguri, bitul de semn fiind supus aceleasi tratari ca si ceilalti biti. In fine, tot legat de parallel adder, se remarca prezenta portilor EX-OR, pe toata lungimea cuvantului (wordgate), care asigura formarea complementului de unu pentru Y atunci cand este activat semnalul c4, care este aplicat, de asemenea, intrarii cin a sumatorului. Deci, la valoarea complementata de unu a lui Y se mai aduna un 1 asigurandu-se formarea complementului de doi pentru Y si, prin adunarea acestuia la bitii mai semnificativi (din A) ai produsului partial cumulativ, se realizeaza, atunci cand X este negativ (Q[0]=1), pasul de corectie (enunt CORRECTION, la care neconflictual, pe frontul cazator a lui c4, se sterge semnul negativ. Dupa cum poate fi lesne observat, pentru scaderea de corectie este necesara generarea a doua semnale de control, c2 asigurand micro-operatia de adunare si c4 asigurand pe cea de complementare. In figura 3.12 se prezinta trecerea prin structura din figura 3.11 a aceluiasi exemplu din fig 3.9. Sunt aceleasi valori zecimale pentru cei doi operanzi, X = -89*2-7 si Y = -105*2-7, dar de aceasta data de pe magistrala sunt captate reprezentarile acestora in C2, adica XC2=10100111, respectiv YC2=10010111.

 

 

 

 

 

 

 

 

 

F

A

Q

M

COUNT

Interval control

 

 

signals activated

 

 

0

00000000

 

10010111

000

c0

 

 

 

 

10100111

 

 

c1

 

 

 

+10010111

 

Oval: ∙ AND

 

c2

 

 

1

  10010111

 

 

 

 

 

 

  11001011

11010011

 

001

c3

 

 

 

+10010111

 

 

c2

 

 

1

  01100010

 

 

 

 

 

 

  10110001

01101001

 

010

c3

 

 



 

+10010111

 

 

c2

 

 

1

  01001000

 

 

 

 

 

 

  10100100

00110100

 

011

c3

 

 

 

  11010010

00011010

100

c3

 

 

 

  11101001

00001101

 

101

c3

 

 

 

+10010111

 

c2

 

 

1

  10000000

 

 

 

 

 

 

  11000000

00000110

 

110

c3

 

 

 

  11100000

00000011

 

111

c3

 

 

 

 

 

 

*COUNT7

 

 

 

-10010111

 

c2,c4

 

 

 

  01001001

 

 

 

 

 

 

01001001

 

 

 

c5

 

 

 

 

00000010

 

 

c6

 

 

 

 

 

 

 

 

 

Fig.3.12

Produsul P este acelasi ca si cel din fig. 3.9 dar aceasta intrucat conjunctural, P este pozitiv. Daca P ar fi rezultat negativ, atunci intrucat este obtinut in C2, difera valoric fata de unul realizat de dispozitivul din fig. 3.6. Asa cum mentionam la un moment dat, in anexa A.2 sunt prezentate variantele de sinteza pentru unitatea de control dintr-un dispozitiv Robertson. In final, remarcam faptul ca procedura expusa (fig. 3.10), nu difera in termeni de complexitate amintiti, de cea de inmultire a numerelor binare in semn-marime, dar este mai eficienta decat cea bazata pe complementare, prezentata la inceputul acestui paragraf intreg si pozitiv x* constituie un sir binar, inclus in x, si constand dintr-un sir neintrerupt de unitati binare, in ambele parti, de cate un 0, adica:

  

(3.11)









Politica de confidentialitate

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 Proiect atestat tehnician in turism - carnaval la venezia




Aplicatia CONTABWIN
Monitor 3D multiutilizator cu detectare a pozitiei capului avand laser RGB ca sursa de lumina
VARIABILE
Sumatoare paralele pe principiul conditionarii prin transport a sumei
PROCESE
Analiza activitatii firmei PC
Evolutia calculatoarelor
SISTEM INFORMATIONAL SI SISTEM INFORMATIC


Termeni si conditii
Contact
Creeaza si tu