Ce este un coprocesor într-un computer? Funcțiile și principiile de funcționare ale unui coprocesor matematic

02.04.2022 Photoshop 3D

Un coprocesor este un procesor specializat care extinde capacitățile procesorului central al unui sistem informatic, dar este proiectat ca un modul funcțional separat. Din punct de vedere fizic, coprocesorul poate fi un cip separat sau poate fi încorporat în procesorul central.

Se disting următoarele tipuri de coprocesoare:

Coprocesoare matematice de uz general, care de obicei accelerează calculele cu virgulă mobilă,

coprocesoare I/O (de exemplu, Intel 8089), care scutesc procesorul central de la controlul operațiunilor I/O sau extind spațiul de adrese standard al procesorului,

Coprocesoare pentru efectuarea oricăror calcule foarte specializate.

Un coprocesor nu este un procesor cu drepturi depline, deoarece nu realizează multe operații caracteristice unui procesor (de exemplu, nu poate funcționa cu un program și nu poate calcula adrese de memorie), fiind un dispozitiv periferic al procesorului central.

Una dintre schemele de interacțiune între procesorul central și coprocesor, utilizată, în special, în coprocesoarele x86, este implementată după cum urmează:

Coprocesorul este conectat la magistralele procesorului central și are, de asemenea, câteva semnale speciale pentru sincronizarea procesoarelor între ele.

Unele dintre codurile de comandă CPU sunt rezervate coprocesorului. Unitatea centrală de procesare decodifică și execută instrucțiuni secvenţial. Când este emisă o instrucțiune care trebuie executată de coprocesor, CPU transmite codul operațional către coprocesor. În acest caz, dacă este necesar acces suplimentar la memorie (pentru citirea sau scrierea rezultatelor), coprocesorul „capturează” magistrala de date.

După primirea comenzii și a datelor necesare, coprocesorul începe să o execute. În timp ce coprocesorul execută comanda, procesorul central continuă să execute programul, în paralel cu calculele coprocesorului. Dacă instrucțiunea următoare este și o instrucțiune de coprocesor, procesorul se oprește și așteaptă ca coprocesorul să finalizeze instrucțiunea anterioară.

Există o instrucțiune specială de așteptare (FWAIT) care oprește forțat procesorul până când calculele sunt finalizate (dacă rezultatele lor sunt necesare pentru a continua programul). În prezent, comanda este utilizată numai pentru a gestiona excepții atunci când se lucrează cu virgulă mobilă, munca procesorului și coprocesorului este sincronizată transparent cu programatorul.

Începând cu procesorul Intel486DX, unitatea în virgulă mobilă a fost integrată în procesorul central și numită FPU. În linia Intel486SX, modulul FPU a fost dezactivat (la început, această linie includea procesoare cu un FPU defect). Pentru procesoarele Intel486SX, a fost lansat un „coprocesor” Intel487SX, dar, de fapt, era un procesor Intel486DX și atunci când a fost instalat, procesorul Intel486SX a fost dezactivat.


În ciuda integrării, FPU-ul din procesoarele i486 este un coprocesor neschimbat, implementat pe același cip în plus, circuitul FPU i486 este complet identic cu coprocesorul 387DX din generația anterioară până la frecvența de ceas (jumătate din frecvența procesorului central); Integrarea adevărată a FPU-ului cu procesorul central a început doar la procesoarele Pentium modelului MMX.

În perioada corespunzătoare, coprocesoarele pentru platforma x86 produse de Weitek s-au răspândit - a lansat 1167, 2167 sub formă de chipset și 3167, 4167 cipuri pentru procesoarele 8086, 80286, 80386, respectiv 80486. În comparație cu coprocesoarele de la Intel, acestea au oferit performanțe de 2-3 ori mai mari, dar aveau o interfață software incompatibilă implementată prin tehnologia de cartografiere a memoriei. S-a rezumat la faptul că procesorul principal trebuia să scrie informații în anumite zone de memorie controlate de coprocesor. Adresa specifică la care a fost făcută înregistrarea a fost interpretată ca una sau alta comandă. În ciuda incompatibilității, coprocesoarele Weitek au fost susținute pe scară largă atât de dezvoltatorii de software, cât și de producătorii de plăci de bază, care au inclus utilizarea unui astfel de cip.

O serie de alte companii au lansat diverse coprocesoare matematice incompatibile, interfațate cu acestea prin porturi I/O sau întreruperi BIOS, dar nu au devenit la fel de răspândite.

Un coprocesor matematic este un modul special pentru efectuarea de operații în virgulă mobilă care funcționează împreună cu procesorul central.
Un coprocesor matematic nu este un element obligatoriu al unui computer personal. În principiu, îl poți refuza. Acest lucru a fost făcut în trecut din motive de economie.
Cu toate acestea, la rezolvarea problemelor care necesitau un număr mare de calcule matematice, de exemplu, în calcule științifice sau de inginerie, problema creșterii performanței computerului a devenit acută.
Pentru a face acest lucru, au decis să folosească un procesor special suplimentar, care este „ajustat” pentru a efectua operații matematice și le implementează de multe ori mai rapid decât procesorul central. Astfel, a fost posibilă creșterea performanței procesorului central printr-un modul special - un coprocesor matematic.
Spre deosebire de procesorul central, coprocesorul matematic nu controlează cea mai mare parte a circuitelor computerului. În schimb, toate activitățile coprocesorului matematic sunt determinate de procesorul central, care poate trimite comenzi coprocesorului matematic pentru a executa programe și a genera rezultate. În modul normal, unitatea centrală de procesare îndeplinește toate funcțiile computerului. Și numai atunci când se întâlnește o sarcină pe care coprocesorul matematic o poate gestiona mai bine, i se oferă date și comenzi, iar procesorul central așteaptă rezultatele. Astfel de probleme includ, de exemplu, operații matematice între numere reale (operații între numere în virgulă mobilă), unde numerele sunt reprezentate printr-o mantisă și o ordonată (o putere zecimală a unui număr care determină poziția virgulei zecimale).
Dacă mai devreme, în calculatoarele din primele generații (i80386, i80486), modulul coprocesor matematic a fost instalat pe placa de bază ca un cip separat, atunci în computerele moderne nu este necesară utilizarea unui coprocesor matematic ca cip separat, deoarece este deja încorporat în procesorul central.
Beneficiile pe care le obțineți în urma utilizării unui coprocesor matematic depind de tipul de probleme pe care le rezolvați pe computer.
Potrivit INTEL, coprocesorul matematic poate reduce timpul de execuție al operațiilor matematice, cum ar fi înmulțirea, împărțirea și exponențiarea cu 80 la sută sau mai mult. Viteza operațiilor matematice simple, cum ar fi adunarea și scăderea, rămâne neschimbată.
Din punct de vedere practic, performanța unui computer personal în ceea ce privește pregătirea textului și întreținerea bazei de date (funcții care nu necesită calcule matematice complexe) nu pot fi îmbunătățite de un coprocesor matematic. Cu toate acestea, veți obține o creștere vizibilă a productivității atunci când efectuați calcule științifice și de inginerie, procesați date statistice, precum și atunci când lucrați cu grafică, deoarece aceasta din urmă necesită calcule matematice intensive.

Se disting următoarele tipuri de coprocesoare:

  • coprocesoare matematice de uz general, care de obicei accelerează calculele cu virgulă mobilă,
  • coprocesoare I/O (de exemplu, Intel 8089), care scutesc procesorul central de la controlul operațiunilor I/O sau extind spațiul de adrese standard al procesorului,
  • coprocesoare pentru efectuarea oricăror calcule foarte specializate.

Coprocesoarele pot face parte dintr-un set logic dezvoltat de o companie specifică (de exemplu, Intel a lansat coprocesoare și 8089 pentru procesoarele 8086 și 8088, Motorola - coprocesorul Motorola 68881) sau produse de un producător terță parte (de exemplu, Weitek (în engleză). ) pentru Motorola m68k și 1067 pentru Intel 80286).

Coprocesor în programare

Coprocesorul extinde setul de instrucțiuni al procesorului central, astfel încât pentru a-l utiliza, programul (compilat fără interpretare și apelând biblioteci externe) trebuie să conțină aceste instrucțiuni. Setările compilatoarelor moderne pentru limbaje de nivel înalt pentru procesoarele x86 vă permit adesea să alegeți dacă să utilizați sau nu un coprocesor matematic, ceea ce este deosebit de important atunci când creați cod care va fi executat în interiorul unui handler de întrerupere hardware.

Există, de asemenea, procesoare periferice menite să controleze dispozitivele periferice și să descarce procesorul central și anume:

Scrieți o recenzie despre articolul „Coprocesor”

Note

Vezi de asemenea

Legături

  • whatis.techtarget.com/definition/coprocessor
  • www.webopedia.com/TERM/C/coprocessor.html
  • www.pcmag.com/encyclopedia/term/46625/math-coprocessor
  • www.trevormarshall.com/old_papers/Approaching-Desktop-Supercomputer.pdf 1990 - Coprocesoare de calcul, coprocesoare de calcul timpurii pe 32 de biți
  • Hansen, Paul Mark, noiembrie 1988

Un fragment care caracterizează coprocesorul

Prințesa Marya a scris că era disperată din cauza neînțelegerii care a avut loc între ei. Oricare ar fi sentimentele tatălui ei, a scris prințesa Marya, ea a rugat-o pe Natasha să creadă că nu poate să nu o iubească ca pe cea aleasă de fratele ei, pentru a cărui fericire era gata să sacrifice totul.
„Totuși”, a scris ea, „să nu credeți că tatăl meu a fost prost dispus față de tine. Este un om bolnav și bătrân care trebuie scuzat; dar este bun, generos și îl va iubi pe cel care își va face fiul fericit.” Prințesa Marya a cerut în continuare ca Natasha să stabilească o oră în care să o poată vedea din nou.
După ce a citit scrisoarea, Natasha s-a așezat la birou pentru a scrie un răspuns: „Chere princesse,” [Dragă prințesă], a scris rapid, mecanic și s-a oprit. „Ce a putut scrie în continuare după tot ce s-a întâmplat ieri? Da, da, toate acestea s-au întâmplat, iar acum totul este diferit”, se gândi ea, așezându-se deasupra scrisorii pe care o începuse. „Ar trebui să-l refuz? Este chiar necesar? Este groaznic!”... Și pentru a nu gândi aceste gânduri groaznice, s-a dus la Sonya și împreună au început să rezolve tiparele.
După cină, Natasha a mers în camera ei și a luat din nou scrisoarea prințesei Marya. - „S-a terminat cu adevărat? gândi ea. Toate acestea s-au întâmplat într-adevăr atât de repede și au distrus tot ce a fost înainte”! Ea și-a amintit cu toată forța de odinioară dragostea ei pentru Prințul Andrei și, în același timp, a simțit că îl iubește pe Kuragin. Ea și-a imaginat viu ca soția prințului Andrei, și-a imaginat imaginea fericirii cu el repetată de atâtea ori în imaginația ei și, în același timp, îmbujorată de emoție, și-a imaginat toate detaliile întâlnirii ei de ieri cu Anatole.
„De ce nu ar putea fi împreună? uneori, în eclipsă completă, se gândi ea. Numai atunci aș fi complet fericit, dar acum trebuie să aleg și fără niciunul dintre amândouă nu pot fi fericit. Un lucru, se gândi ea, era la fel de imposibil să spună ce se însemna prințului Andrei sau să-l ascunzi. Și nimic nu este stricat cu asta. Dar este cu adevărat posibil să mă despart pentru totdeauna de această fericire a iubirii Prințului Andrei, pe care am trăit-o atât de mult?”
„Tânără doamnă”, a spus fata în șoaptă cu o privire misterioasă, intrând în cameră. – O persoană mi-a spus să spun asta. Fata a predat scrisoarea. „Numai pentru numele lui Hristos”, mai spunea fata când Natasha, fără să se gândească, a rupt sigiliul cu o mișcare mecanică și a citit scrisoarea de dragoste a lui Anatole, despre care ea, fără să înțeleagă un cuvânt, a înțeles un singur lucru - că această scrisoare era din el, de la acel bărbat, pe care ea îl iubește. „Da, iubește, altfel cum s-ar putea întâmpla ce s-a întâmplat? Ar putea fi o scrisoare de dragoste de la el în mâna ei?”
Cu mâinile tremurânde, Natașa ținea această scrisoare de dragoste pasională, compusă pentru Anatoly de Dolokhov și, citind-o, a găsit în ea ecouri din tot ceea ce i s-a părut că simțea ea însăși.

Coprocesor matematic - un coprocesor pentru extinderea setului de comenzi al procesorului central și furnizarea acestuia cu funcționalitatea unei unități în virgulă mobilă pentru procesoarele care nu au un modul integrat.

O unitate în virgulă mobilă (sau unitate în virgulă mobilă (FPU)) este o parte a procesorului pentru efectuarea unei game largi de operații matematice pe numere reale.

Sistemul include aproximativ 80 de comenzi. Clasificarea lor:

1) Comenzi de transmitere a datelor: - Date reale; - Date întregi; - Date zecimale.

2) Comenzi de comparare a datelor: - Date reale; - Date întregi; - Analiza; - De la zero.

3) Comenzi aritmetice: - Date reale: adunare, scădere, înmulțire, împărțire;

4) Date întregi: adunare, scădere, înmulțire, împărțire; - Comenzi aritmetice auxiliare (rădăcină pătrată, modul, schimbare de semn, exponent și mantisă).

5) Comenzi transcendentale: - Trigonometrie: sinus, cosinus, tangent, arctangent; - Calculul logaritmilor și puterilor.

6) Comenzi de control: - Inițializarea coprocesorului; - Lucrul cu mediul; - Lucrul cu stiva; - Comutarea modurilor

Coprocesor- un procesor specializat care extinde capacitățile procesorului central al unui sistem informatic, dar este conceput ca un modul funcțional separat. Din punct de vedere fizic, coprocesorul poate fi un cip separat sau poate fi încorporat în procesorul central (cum este cazul coprocesorului matematic din procesoarele PC începând cu Intel 486DX).

Coprocesor matematic 80x287 într-un bloc de pe placa de bază a unui computer personal.

Se disting următoarele tipuri de coprocesoare:

Coprocesoare matematice de uz general, care de obicei accelerează calculele cu virgulă mobilă,

coprocesoare I/O (de exemplu, Intel 8089), care scutesc procesorul central de la controlul operațiunilor I/O sau extind spațiul de adrese standard al procesorului,

· coprocesoare pentru efectuarea oricăror calcule foarte specializate.

Coprocesoarele pot face parte dintr-un set logic dezvoltat de o companie specifică (de exemplu, Intel a lansat coprocesoarele 8087 și 8089 împreună cu procesorul 8086) sau produse de un producător terță parte (de exemplu, Weitek 1064 pentru Motorola m68k și 1067 pentru Intel). 80286).

Chip-uri generatoare de sunet- microcircuite specializate pentru generarea sunetului. Acestea pot fi folosite pentru a reproduce efecte sonore și muzică sintetizată (vezi chiptune) în computere, sisteme de jocuri (console, aparate) și aparate electrocasnice. Denumirea engleză pentru microcircuite de acest tip este cip de sunet, în terminologia tehnică rusă există o abreviere PGZ- generator de sunet programabil. Ele pot fi toate digitale, toate analogice sau un amestec. Acestea pot include generatoare de frecvență (de obicei bazate pe împărțirea frecvenței ceasului de intrare cu un factor de divizare variabil software), controlere de anvelopă, circuite de redare a probelor, filtre și amplificatoare de semnal.

Generatoarele de sunet pot fi împărțite în două categorii principale - cele care sintetizează direct sunetul și cele care reproduc sunete pre-digitizate. Prima categorie mai poate fi împărțită după principiul de funcționare în sintetizatoare de frecvență simple (construite pe divizoare de frecvență cu componente suplimentare) și sintetizatoare care utilizează metoda modulării în frecvență (sinteza FM, bazată pe modularea reciprocă a mai multor generatoare de sunet).

În rusă, cipurile generatoare de sunet sunt adesea numite (co)procesoare de sunet. Cu toate acestea, această definiție este incorectă - cipurile generatoare de sunet nu procesează datele de sunet (funcția principală a procesorului), ele generează sunet conform unui algoritm definit de hardware, conform instrucțiunilor procesorului de sistem extern acestora. Nume procesor de sunet poate fi aplicat la procesoarele de semnal digital utilizate pentru procesarea sunetului (de exemplu, crearea unui efect de ecou controlat de software), precum și la cipurile generatoare de sunet care conțin un microprocesor.

GPU(engleză) unitate de procesare grafică, GPU) - un dispozitiv separat pe un computer personal sau o consolă de jocuri care realizează randarea grafică. GPU-urile moderne procesează și afișează grafica computerizată foarte eficient. Datorită arhitecturii lor specializate, sunt mult mai eficienți la procesarea informațiilor grafice decât o unitate centrală de procesare tipică. Procesorul grafic din adaptoarele video moderne este folosit ca accelerator grafic 3D.

Poate fi folosit atât ca parte a unei plăci video discrete, cât și în soluții integrate (încorporate în procesorul northbridge sau hibrid).

Procesor probabilistic operează cu probabilități la nivel hardware. Aparatul matematic se bazează pe teorema lui Bayes

Într-un fel, procesorul probabilistic implementează calculul analogic folosind tehnologia CMOS. Această abordare, teoretic, face posibilă implementarea eficientă a calculelor aproximative bazate pe logica fuzzy sau rețelele neuronale

· 1 Aplicații

· 2 prototipuri

Domenii de aplicare[modifica | editați textul sursă]

Un procesor probabilistic este un procesor specializat și va fi folosit în primul rând în sistemele de recunoaștere a modelelor. De exemplu, în biometrie, pentru diagnosticarea bolilor, în diverse sisteme de monitorizare, în sisteme tehnice de viziune, sisteme de recunoaștere a vocii, filtrarea spam-ului, phishing, determinarea bonității debitorilor și multe alte sarcini. Abordarea probabilistică presupune și rezolvarea problemelor tehnice folosind metode stocastice (metode Monte Carlo), cu orice precizie de soluție necesară.

Se are în vedere ca procesorul de probabilitate să poată fi utilizat în calculatoarele moderne ca un alt coprocesor împreună cu un procesor grafic, procesor de semnal sau FPGA, oferind viteză și eficiență ridicată pentru rezolvarea unei game largi de probleme de specialitate.

Coprocesor matematic- coprocesor pentru extinderea setului de comenzi al procesorului central și dotarea acestuia cu funcționalitate unitate în virgulă mobilă, pentru procesoarele care nu au un modul integrat.

Unitate în virgulă flotantă(sau virgulă flotantă; engleză unitate în virgulă mobilă (FPU)) - parte a procesorului pentru efectuarea unei game largi de operații matematice pe numere reale.

Procesoarele simple „întregi” pentru manipularea numerelor reale și a operațiilor matematice necesită rutine de suport adecvate și timp pentru a le executa. Modulul de operații în virgulă mobilă acceptă lucrul cu ele la nivel primitiv - încărcarea, descărcarea unui număr real (în/din registrele specializate) sau o operație matematică asupra lor este efectuată printr-o singură comandă, din acest motiv o accelerare semnificativă a unor astfel de operații este realizat.

· 1 coprocesoare

o 1.1 coprocesoare din familia Intel x86

o 1.2 Coprocesoare x86 terțe

o 1.3 Alte platforme

· Dispozitiv cu 2 FPU

o 2.1 Formate de date

o 2.2 Registre

o 2.3 Sistem de comandă coprocesor

· 3 Vezi de asemenea

· 4 Note

Coprocesoare[modifica | editați textul sursă]

Articolul principal:X87

x87 este un set special de instrucțiuni pentru lucrul cu calcule matematice, care este un subset al arhitecturii procesorului x86. A primit acest nume deoarece cipurile individuale originale ale coprocesorului matematic aveau nume care se termină în 87 . Ca și alte extensii ale setului de instrucțiuni de bază al procesorului, aceste instrucțiuni nu sunt strict necesare pentru a construi un program de lucru, dar atunci când sunt implementate în hardware, ele permit îndeplinirea sarcinilor matematice comune mult mai rapid. De exemplu, într-un set de instrucțiuni x87 Există comenzi pentru calcularea valorilor sinus sau cosinus.

Coprocesoare Intel din familia x86[modifica | editați textul sursă]

Pentru familia x86 de procesoare de la 8086/8088 la 386, unitatea în virgulă mobilă a fost alocată unui cip separat numit coprocesor matematic. A fost prevăzut un conector separat pentru instalarea coprocesorului pe placa computerului.

Coprocesorul nu este un procesor cu drepturi depline, deoarece nu știe să facă multe dintre operațiunile necesare pentru aceasta (de exemplu, nu știe să lucreze cu un program și să calculeze adrese de memorie), fiind doar un anex al procesorul central.

Una dintre schemele de interacțiune între procesorul central și coprocesor, utilizată, în special, în coprocesoarele x86, este implementată după cum urmează:

· Coprocesorul este conectat la magistralele procesorului central și are, de asemenea, câteva semnale speciale pentru sincronizarea procesoarelor între ele.

· Unele dintre codurile de comandă ale procesorului central sunt rezervate coprocesorului acesta monitorizează fluxul de comenzi, ignorând celelalte comenzi; Procesorul central, dimpotrivă, ignoră comenzile coprocesorului, calculând adresa din memorie doar dacă comanda presupune accesarea acesteia. CPU efectuează un ciclu de citire inactiv, permițând coprocesorului să citească adresa din magistrala de adrese. Dacă coprocesorul are nevoie de acces suplimentar la memorie (pentru a citi sau scrie rezultate), îl realizează prin captură de magistrală.

· După primirea comenzii și a datelor necesare, coprocesorul începe să o execute. În timp ce coprocesorul execută comanda, procesorul central continuă să execute programul, în paralel cu calculele coprocesorului. Dacă instrucțiunea următoare este și o instrucțiune de coprocesor, procesorul se oprește și așteaptă ca coprocesorul să finalizeze instrucțiunea anterioară.

· Există, de asemenea, o comandă specială de așteptare (FWAIT), care oprește forțat procesorul până când calculele sunt finalizate (dacă rezultatele acestora sunt necesare pentru a continua programul). În prezent, comanda este utilizată numai pentru a gestiona excepții atunci când se lucrează cu virgulă mobilă, lucrul procesorului și a coprocesorului este sincronizat în mod transparent cu programatorul.

Începând cu procesorul Intel486DX, unitatea în virgulă mobilă a fost integrată în procesorul central și numită FPU. În linia Intel486SX, modulul FPU a fost dezactivat (la început, această linie includea procesoare cu un FPU defect). Pentru procesoarele Intel486SX, a fost lansat și un „coprocesor” Intel487SX, dar, de fapt, era un procesor Intel486DX și atunci când a fost instalat, procesorul Intel486SX a fost dezactivat.

În ciuda integrării, FPU-ul din procesoarele i486 este un coprocesor neschimbat, implementat pe același cip în plus, circuitul FPU i486 este complet identic cu coprocesorul 387DX din generația anterioară până la frecvența de ceas (jumătate din frecvența procesorului central); Integrarea adevărată a FPU-ului cu procesorul central a început doar la procesoarele Pentium modelului MMX.

Coprocesorul este un circuit integrat special care lucrează în colaborare cu

procesor principal. De obicei, coprocesorul este configurat să ruleze

o anumită funcție - o operație matematică sau o grafică

prezentări. Și coprocesorul poate implementa această operațiune de multe ori

mai rapid decât procesorul principal. Astfel, un computer cu coprocesor

functioneaza mult mai repede.

Un coprocesor este un microprocesor obișnuit, dar nu la fel de versatil. De obicei

Coprocesorul este dezvoltat ca un dispozitiv special pentru implementare specifică

o anumită funcție. Deoarece repertoriul coprocesorului este limitat, poate

implementează funcțiile alocate ca nimeni altul.

Ca orice alt microprocesor, un coprocesor funcționează pe aceleași principii. El

pur și simplu execută programe care conțin o secvență de microprocesor

comenzi CPU nu controlează cea mai mare parte a circuitelor computerului.

În modul normal, microprocesorul îndeplinește toate funcțiile computerului. Și numai când

Când se întâlnește o sarcină pe care coprocesorul o poate gestiona mai bine, datele sunt transferate către aceasta

și comenzile de control, iar procesorul central așteaptă rezultatele.

Coprocesoarele, utilizate mai ales în computere, sunt matematice

coprocesoare. În matematică, ei sunt specializați în înmulțirea și împărțirea numerelor.

Coprocesoarele matematice sunt numite și procesoare în virgulă mobilă.

deoarece își demonstrează în mod deosebit capacitățile în acest domeniu

matematică. Numerele cu virgulă mobilă sunt adesea folosite în calculele științifice și

sunt reprezentate, de regulă, de mantisă și ordonată.

De beneficiul obținut în urma instalării unui coprocesor matematic depinde

ce sarcini sunt rezolvate pe computer. Potrivit Intel, coprocesorul

poate reduce timpul de execuţie al operaţiilor matematice precum

înmulțire, împărțire, exponențiere cu 80% sau mai mult.

Viteza de a efectua operații simple precum adunarea și scăderea este aproape

nu scade.

Din punct de vedere practic, performanța sistemului în ceea ce privește pregătirea

texte și întreținerea bazei de date – funcții care nu necesită matematică complexă

calculele nu pot fi îmbunătățite de un coprocesor matematic.

Coprocesorul și microprocesorul principal pot funcționa la viteze de ceas diferite

(de la propriile generatoare de ceas).

Când raportul dintre frecvențele microprocesorului și coprocesorului este exprimat ca număr întreg,

ele funcționează sincron și pot transmite informații între ele în mod optim

mod. Munca nesincronizată necesită ca unul sau altul dintre ei

a așteptat finalizarea ciclului partenerului său, ceea ce presupune apariția

o perioadă scurtă, dar realistă de așteptare.

Familia de coprocesoare Intel este formată din: 8087, 80287, 80387, 80387SX.

Fiecare dintre ele este special conceput pentru a lucra cu corespunzătoare

microprocesor din familia principală Intel. Fiecare dintre aceste patru are propriile sale

trăsături caracteristice. Limitări privind prelucrarea simultană a informațiilor în

8, 16, 32 de biți sunt lăsați mult în urmă. Coprocesoarele Intel pornesc 80 deodată

pic. Fiecare coprocesor conține opt registre de 80 de biți în care acesta și

își realizează calculele. Funcționează cu numere de 32, 64 sau 80 de biți cu

virgulă mobilă; numere întregi pe 32 sau 64 de biți. De obicei coprocesoare

funcționează ca anexe ale celui central.

Ambele procesoare se atârnă pe liniile de informații despre adresă ale computerului și funcționează

fiecare echipele sale așa cum apar în program. Coprocesoarele pot

își îndeplinește funcțiile în paralel cu activitatea procesorului central, adică

ambele creiere în acest caz gândesc în același timp, pentru că fiecare citește

comenzile dvs. direct din magistrală, iar procesorul central nu trebuie să fie întrerupt,

pentru a lansa o comandă către coprocesor.

Acest coprocesor este proiectat special pentru utilizare cu Intel 8086,

8088, 80186, 80188. Prin urmare, este identic cu aceste microprocesoare

capacități de abordare și percepere a informațiilor. Mai mult, acest coprocesor în sine

reglabil la dimensiunea magistralei de date - opt sau șaisprezece tibit (8086 sau

8088 familie). Se potrivește într-un conector standard cu 40 de pini și

mărește lista comenzilor computerului cu 68 de unități.

Există trei modificări ale acestui coprocesor, care diferă ca frecvență: 5, 8,

De asemenea, 80286 este o extensie a lui 8086, 80287 este o dezvoltare a lui 8087.

Principalul avantaj al 80287 este abilitatea de a funcționa atât în ​​real, cât și

și în modul protejat al microprocesorului 80286. Are capacitatea de a fi adresat

toate 16M de memorie.

80287 este aproape complet compatibil cu 8087 și poate folosi aproape orice

software-ul acestuia din urmă. Principala diferență funcțională dintre acestea

coprocesoare în modul în care gestionează situațiile defectuoase. Dacă este detectată o eroare, acestea

chips-urile se pot comporta diferit. Cu toate acestea, software-ul poate

compensa aceste discrepanțe.

80287 este găzduit într-un pachet DIP cu 40 de pini. Dar spre deosebire de cel mic

frate, 80287 poate lucra de la un microprocesor central personal

frecvența ceasului.

microprocesor, are un circuit divizor încorporat care reduce interiorul

frecventa de trei ori.

Folosind propriul oscilator, 80287 își poate îmbunătăți semnificativ

performanţă.

La fel ca 8087, 80287 are patru modificări, care diferă

80287 este compatibil cu microprocesorul 80386. Cu toate acestea, ele lucrează pe diferite

frecvențe și, prin urmare, necesită o interfață specială pentru a accesa magistrala

date 80386. Mai mult, deoarece 80287 este un cip pe 16 biți, toate interconexiunile cu

80386 trebuie implementat în cuvinte de 16 biți, potențial reducând

performanţă.

80387 și 80387SX

Așa cum Intel, ținând cont de lecțiile din trecut, a produs 80386, 80387 a devenit

dezvoltarea în continuare a coprocesorului 80287. În timp ce rămâne echipa compatibilă cu

80287, 80387 au crescut viteza de manipulare a datelor. Dar din nou au fost diferențe

diferențe în tratarea erorilor. Dar capacitățile lui 80387 au fost mai mari - a fost implementat

toate funcţiile transcendentale şi logaritmice.

80387SX - Similar în toate privințele cu 80387, dar conceput pentru a rula

Autobuz 80386SX pe 16 biți în loc de magistrală de date pe 32 de biți.

80387 și 80387SX pot rula toate programele 80287 Nu este adevărat

echivalent. Principala problemă cu 387s este rezultatele ușor diferite

calcule ale funcției transcendentale din 80287.

80387 rulează la aceeași frecvență ca procesorul. Disponibil

modificările corespunzătoare ale acestui coprocesor până la 25 MHz.