Cuprins
- 1. Introducere
- 2. Arhitectura coprocesoarelor matematice
- 3. Evolutia coprocesoarelor matematice
- 4. Rolul coprocesorului matematic în îmbunatatirea performantelor sistemului de calcul
- 5. Tipuri de date admise de catre un coprocesor mathematic
- 6. Procesoarele DSP (Digita Signal Processor)
- 7. Aplicatii
Extras din referat
1.Introducere
Coprocesoarele matematice sunt circuite integrate dedicate (procesoare specializate), care extind setul de instructiuni ale procesoarelor centrale cu instructiuni specifice operatiilor cu numere reale în virgula mobila.
Coprocesoarele sunt fie circuite de sine statatoare (8087, 80287, 80387), fie sunt integrate în procesorul de baza (80486). În cel de-al doilea caz, nu se mai face distinctie între setul de instructiuni al procesorului de baza si cel specific formatului în virgula mobila.
Tipurile de date recunoscute de coprocesoare sunt :
- Numar real în simpla precizie (dword);
- Numar real în dubla precizie (qword);
- Numar real în precizie extinsa (tbytes);
- Întreg pe 2 octeti (word);
- Întreg pe 4 octeti (dword);
- Întreg pe 8 biti (qword);
- Întreg BCD pe 10 cifre (tbytes).
Întregii pe 8 octeti pot fi numai încarcati în coprocesor. Intern, coprocesoarele lucreaza exclusiv cu formatul real în precizie extinsa (10 octeti). La încarcarea operanzilor din memorie, toate tipurile de date de mai sus sunt convertite la tipul intern. Similar, la depunerea operanzilor în memorie, au loc conversii de la formatul intern la unul din formatele de mai sus.
2.Arhitectura coprocesoarelor matematice
Arhitectura coprocesoarelor cuprinde 8 registre de câte 80 de biti, numite ST(0), ST(1),...,ST(7). Aceste registre sunt organizate ca o stiva, registrul ST(0) (care se mai noteaza simplu ST) fiind vârful stivei.
Fig. 1. Arhitectura Coprocesoarelor 80x87
Coprocesoarele dispun de o serie de registre suplimentare, dintre care cele mai importante sunt registrul de stare (Status Word) si registrul de control (Control Word). Registrul de stare contine indicatoare care se pozitioneaza în urma instructiunilor de comparatie sau în caz de eroare. Registrul de control contine câmpuri care controleaza modul de executie al anumitor actiuni (de exemplu cum se face rotunjirea la valori întregi).
Comunicatia dintre procesorul de baza si coprocesor se face exclusiv prin intermediul memoriei. Coprocesorul dispune de instructiuni de transfer între memorie si cele 8 registre de lucru, precum si pentru cuvintele de control si de stare.
Vom prezenta coprocesorul 8087, deoarece setul de instructiuni este practic acelasi la toate coprocesoarele. La procesoarele mai vechi decât 80486, se pune si problema comunicatiei dintre procesorul de baza si coprocesor.
Coprocesorul 8087 monitorizeaza permanent fluxul de instructiuni si sesizeaza prezenta unei instructiuni specifice 8087 în memorie. În acest caz, el semnaleaza intentia de a intra în executie prin semnalul electric TEST. Executia începe numai dupa ce 8086 intra în asteptare, ca urmare a unei instructiuni WAIT. Coprocesorul recunoaste starea de asteptare si începe executia instructiunii matematice, anulând in acelasi timp cererea efectuata prin semnalul TEST. Ca urmare, 8086 iese din starea de asteptare si îsi continua executia. Asambloarele insereaza automat o instructiune WAIT înaintea fiecarei instructiuni 8087, deci nu este necesara codificarea lor explicita.
La coprocesoarele de generatie mai noua (80387), sincronizarea cu procesorul de baza se face prin semnale specializate, ceea ce elimina necesitatea instructiunilor WAIT.
Preview document
Conținut arhivă zip
- proiect.doc