Documente Academic
Documente Profesional
Documente Cultură
ÎMPĂRȚIREA
1
2
1.Introducere
1.1. Context
Obiectivul se concentrează asupra proiectării, implementării și evaluării unei
operațiuni esențiale, executate în conformitate cu standardul IEEE pentru
reprezentarea pe 32 de biți a numerelor în virgulă mobilă: împărțirea.
3
Acesta poate fi integrat ca un modul suplimentar în diverse dispozitive, precum
un procesor sau microprocesor care ar putea beneficia de capacitatea de a
efectua această operațiune complexă. Alternativ, acesta poate fi conectat ca un
dispozitiv periferic la un sistem principal, care va emite comenzi constând din
operațiuni de împărțire.
Specificații Pentru a realiza acest obiectiv, vom utiliza limbajul VHDL, care
oferă un cadru robust pentru proiectarea structurilor de calcul complexe. Acesta
ne va permite să abordăm în mod modular diferitele elemente ale unității noastre
de calcul, asigurând o integrare fluentă și o implementare eficientă a
operațiilor de împărțire în virgulă mobilă.
4
În ceea ce privește introducerea operanzilor, vom implementa extensia PmodKYBD,
care facilitează interacțiunea cu unitatea noastră de calcul. Aceasta ne va
permite să dezvoltăm o interfață intuitivă și ușor de utilizat, asigurând o
introducere eficientă a operanzilor și o interacțiune optimizată între utilizator
și unitatea de calcul.
???
1.3.4. Scriere program
Scrieți un program pentru a demonstra corectitudinea designului și încorporați-
l în proiect.
5
Această etapă implică testarea riguroasă a sistemului de împărțire pentru a
valida funcționalitatea și precizia acestuia. Vom efectua o serie de teste pentru
a ne asigura că sistemul funcționează corect și produce rezultate precise, pentru
fiecare componentă implicată în scrierea programului.
Studiu Bibliografic
Reprezentare conform standardului IEEE 754 pe 32 biți
Semnul: Acesta este reprezentat printr-un singur bit, alocat în cel mai
semnificativ bit al reprezentării. Valoarea acestui bit este 0 pentru numere
pozitive și 1 pentru numere negative. Acest bit unic permite o distincție clară
între numerele pozitive și negative.
6
Proiectare structurală utilizând limbajul VHDL
7
Analiza
IEEE 754
Pentru a împărți două numere cu virgulă mobilă în VHDL, trebuie să folosești un standard
de reprezentare a numerelor în virgulă mobilă, cum ar fi IEEE 754. Acest standard
definește formatul numerelor în virgulă mobilă, care constă din trei părți: semnul,
exponentul și mantisa. De exemplu, numărul 600 în virgulă mobilă pe 32 de biți are
următoarea reprezentare binară:
124 = 2 × 62 + 0
62 = 2 × 31 + 0
31 = 2 × 15 + 1
15 =2×7+1
7 =2×3+1
3 =2×1+1
1 =2×0+1
Pentru a împărți două numere în virgulă mobilă, trebuie să urmezi următorii pași:
8
1. Verifică dacă unul dintre numere este zero, infinit sau NaN (not a number). Dacă
da, aplică regulile speciale pentru aceste cazuri, care sunt definite în
standardul IEEE 754.
6. Verifică dacă rezultatul este normalizat, adică dacă are forma 1. 𝑥 × 2𝑒 . Dacă
nu, ajustează exponentul și mantisa pentru a obține forma normalizată.
9
EXEMPLU:
|-------|----------------|--------------|---------------------|----------|-------|
| 1 | 11 (inițial) | 11 | Da | Scădere | 1 |
1. Începem cu primele două cifre ale deîmpărțitul (1101), care sunt 11. Comparăm acest
rest parțial cu împărțitorul (11). Sunt egale, deci scădem și obținem 00. Scriem 1 în
cât pentru că am putut scădea împărțitorul.
10
2. Deplasăm restul parțial la stânga și adăugăm următoarea cifră din deîmpărțit, care
este 0. Restul parțial devine 000, dar pentru simplitate, îl vom nota ca 00. Comparăm
cu împărțitorul, este mai mic, deci scriem 0 în cât.
4. Deplasăm restul parțial la stânga și adăugăm ultima cifră din deîmpărțit, care este
1. Restul parțial devine 0101. Comparăm cu împărțitorul, este mai mare, deci scădem și
obținem 0010. Scriem 1 în cât.
5. Acum, toate cifrele deîmânătorului au fost procesate. Restul final este 0010, iar
câtul este 1010.
11
Design
4.1. Componenta generală
(principală)
Componenta generală va avea ca input A, B –
numerele pe 32 de biți (format IEEE 754). Ca
și output are rezultatul operației pe A și B,
pe 32 de biți. Aceasta va include componenta
responsabilă cu împărțirea, precum și cea
care tratează valorile speciale. În plus, va
conține toate componentele ce fac legătura
între aceste componente majore.
12
▪ Dacă rezultatul este negativ, restul parțial este resetat la
valoarea anterioară, iar bitul corespunzător din cât este setat la
0.
▪ Dacă rezultatul este pozitiv sau zero, bitul corespunzător din cât
este setat la 1.
4. Normalizare Cât: Se normalizează câtul, dacă este necesar.
5. Ajustarea Exponentului Câtului: Ajustarea exponentului câtului și rotunjirea,
conform standardului IEEE 754.
6. Tratarea Excepțiilor: Verificarea și gestionarea cazurilor speciale, cum ar fi
împărțirea la zero, overflow, underflow.
Implementare
14
Testare și Validare
Concluzii
Anexă: Bibliografie
1. https://sistem-binar.base-conversion.ro/numar-real-convertit-din-sistem-zecimal-in-binar-32biti-
precizie-simpla-virgula-mobila-IEEE754.php?numar_zecimal_baza_zece=765
2. BAZELE ARITMETICE ALE CALCULATOARELOR (I) (utcluj.ro)
3. Virgula mobila - Definiție. Exemple de numere în virgulă mobilă (despretot.info)
4. Reprezentarea in virgula mobila (vm) (creeaza.com)
5. http://users.utcluj.ro/~baruch/ro/pages/cursuri/structura-sistemelor-de-calcul/proiect.php
6. https://www.tme.eu/ro/details/410-195p/placi-de-extensie/digilent/pmodkypd/
7. Users.utcluj.ro
8. Users.utcluj.ro
9. Ro.wikipedia.org
10. Despretot.info
11. Andrei.clubcisco.ro
12. users.utcluj.ro3
13.
15