Coprocesor: arhitectură, lucru, tipuri și aplicațiile sale

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Într-o microprocesor cip, se adaugă circuite noi pentru a realiza sarcini speciale și, de asemenea, operațiuni pe numere pentru a descărca munca de bază a procesorului, astfel încât procesorul să poată funcționa foarte rapid. Un procesor suplimentar precum un coprocesor este utilizat în principal în computere pentru a realiza sarcini speciale, cum ar fi procesarea grafică a afișajului și calcule aritmetice ample. Acest procesor este conceput pentru a îndeplini astfel de sarcini foarte eficient în comparație cu procesorul, astfel încât viteza generală a computerului poate fi crescută. Acest articol discută o prezentare generală a unui coprocesor –arhitectura, funcționarea și aplicațiile sale.


Ce este coprocesorul?

Un procesor care funcționează cu procesorul principal al unui computer, cum ar fi CPU-ul unul lângă altul, este cunoscut sub numele de coprocesor. Acest procesor este cunoscut și ca procesor suplimentar de computer. Folosind acest procesor, pot fi efectuate unele calcule matematice dificile, cum ar fi graficele afișate pe ecran, procesarea semnalului, procesarea șirurilor, aritmetica în virgulă mobilă, interfața intrare-ieșire etc.



  Coprocesor
Coprocesor

Arhitectura coprocesorului

Coprocesorul precum arhitectura 8087 este prezentat mai jos. În general, acest co-procesor funcționează în paralel cu microprocesorul. Acest coprocesor a fost dezvoltat de Intel și folosit cu microprocesoare din familia 8086 pe 16 biți. Când procesorul funcționează în combinație cu microprocesorul, partea de calcul este pur și simplu gestionată de procesor și acest lucru îi permite procesorului să utilizeze resursele pentru a executa diverse alte activități.

Următoarea figură reprezintă arhitectura coprocesorului 8087. Această arhitectură include două unități principale, cum ar fi unitatea de control și o unitate numerică de execuție, numită și NEU.



  8087 Arhitectura coprocesorului
8087 Arhitectura coprocesorului

În unitatea de control, există diverse unități, cum ar fi bufferul de date, registrul de cuvinte de control și stare, coada de operanzi partajată, pointerul de excepție și unitatea de adresare și urmărire a magistralei. Unitatea de execuție numerică sau NEU include în principal o unitate de control cu ​​microcod, stivă de registre, schimbător programabil, temporar registre , modul aritmetic, modul exponent și coadă de operanzi partajate.

Unitatea de control din coprocesor trebuie să controleze execuția instrucțiunii (IE) de care este responsabilă Unitatea de execuție numerică. În mare parte, unitatea de control cu ​​microcod (CU) a unității de execuție numerică obține instrucțiunile numerice de la unitatea de control a coprocesorului. Acest coprocesor are 8 registre complete de 80 de biți și fiecare dintre aceștia este utilizat în stiva LIFO. Operanzii peste care vor apărea instrucțiunile co-procesorului există în stiva de registre.

  PCBWay

Stiva existentă este îndreptată prin SP de 3 biți (stack pointer) care deține valorile binare care variază de la 000 la 111 pentru a afișa cele 8 registre de stivă. Funcționează într-o stivă circulară în modul LIFO. Dar, odată ce acțiunea de resetare are loc, indicatorul poate fi inițializat cu valoarea binară „000”.

Datele numerice trei clasificări pe care funcționează co-procesorul sunt numere zecimale, numere reale și numere întregi binare. Numerele întregi binare sunt de trei tipuri de cuvinte întregi de 16 biți, întregi scurte de 32 de biți și întregi lungi de 64 de biți. Formatul BCD de 80 de biți semnifică numerele zecimale împachetate, în timp ce numerele reale sunt de 3 tipuri; Reală scurtă de 32 de biți, reală lungă de 64 de biți și real temporară de 80 de biți.

Pentru transferul datelor numerice în coprocesor fie a Este utilizată o magistrală de exponent pe 16 biți sau o magistrală mantise pe 64 de biți . Coprocesorul include un cuvânt de control de 16 biți și un cuvânt de stare de 16 biți.

Cuvântul de control este scris în registrul de control și acest lucru are loc în așa fel încât coprocesorul scrie inițial cuvântul de control în locația memoriei. După aceea, coprocesorul citește pur și simplu cuvântul de control folosind locația de memorie și îl stochează în registrul de control.

În mod similar, cuvântul de stare se citește în așa fel încât procesorul trimite datele din registrul de stare către o locație a memoriei. Mai mult, acest coprocesor citește registrul de stare din acea locație specifică a memoriei. Deci, acest lucru înseamnă că procesorul și microprocesorul comunică între ele prin memoria principală.

Cum funcționează coprocesorul?

Coprocesorul este proiectat în principal să funcționeze cu procesoarele 8086 și 8088. Coprocesorul este folosit pentru a ajuta sistemul să ruleze mai puternic prin descărcarea de sarcini specifice CPU. Odată ce acest procesor funcționează în combinație cu microprocesorul, instrucțiunile atât ale microprocesorului, cât și ale coprocesorului sunt integrate în timpul scrierii programului. Începutul instrucțiunilor în programul în limbaj de asamblare are un „F” care reprezintă instrucțiunile coprocesorului, în timp ce instrucțiunile fără prefix „F” arată instrucțiunile microprocesorului.

La început, instrucțiunile sunt preluate de microprocesor din locația memoriei și le încarcă secvențial în coadă, în același timp, coprocesorul 8087 citește și stochează instrucțiunile într-o coadă interioară. Deci, aceasta înseamnă că fiecare instrucțiune poate fi citită atât prin coprocesor, cât și prin procesor, dar în momentul execuției, atât coprocesorul, cât și microprocesorul pot executa execuția instrucțiunilor lor specifice. Aceasta înseamnă că instrucțiunea este citită și decodificată. Dacă microprocesorul verifică dacă există o instrucțiune a coprocesorului, atunci acea instrucțiune este tratată ca fără operație. În mod similar, dacă acest co-procesor se apropie de orice instrucțiune a microprocesorului, atunci va fi tratat ca fără operație.

Tipuri de coprocesoare

Există diferite coprocesoare disponibile în funcție de producători, cum ar fi următorii.

Coprocesor Intel 8087

Intel 8087 este un co-procesor special conceput, care este utilizat pentru a efectua calcule matematice care includ valori în virgulă mobilă și numere întregi. Uneori, este cunoscut și ca procesor de date numerice și procesor de matematică. Acesta este un co-procesor numeric pentru procesoarele Intel 80188, 8086, 80186 și 8088. Coprocesorul 8087 include opt registre generale de 80 de biți care sunt executate ca o stivă. Deci, toate operațiunile în virgulă mobilă sunt pur și simplu efectuate cu date din stivă și din memoria externă.

  Coprocesor Intel 8087
Coprocesor Intel 8087

Coprocesorul Intel 8087 acceptă pur și simplu numere în virgulă mobilă de precizie BCD, întregi, simple și duble și, de asemenea, numere în virgulă mobilă de precizie extinsă. Odată ce procesorul 8087 încarcă datele din memorie, apoi se convertește intern pentru a extinde numărul de precizie și în continuare toate calculele sunt efectuate prin acest număr.

Deci, trecerea de la un număr cu precizie dublă la un număr cu precizie simplă, altfel de la un număr întreg pe 64 de biți – numerele întregi pe 32 de biți/16 biți nu oferă nicio performanță semnificativă. 8087 de coprocesoare nu au fost fabricate doar de Intel, ci și de AMD, Cyrix și IBM produc aceste coprocesoare.

Motorola 68881

Motorola 68881 este un coprocesor care este utilizat în principal cu a doua generație de Motorola 68K microprocesoare ca Motorola 68030 & 68020. Teoretic, acest coprocesor este folosit cu procesoarele 68000 sau 68010 anterioare ca dispozitiv periferic.

  Motorola 68881
Motorola 68881

Coprocesorul Motorola 68881 funcționează pur și simplu ca un dispozitiv mapat cu memorie. Odată ce CPU-ul principal încarcă instrucțiunea co-procesorului, apoi scrie codul de instrucțiune în CIR (Registre de interfață co-procesor), care sunt mapate în spațiul de adrese al procesorului, iar după aceea, citește răspunsul co-procesor dintr-unul dintre registrele CIR.

Coprocesoarele Motorola 68881/68882 au fost utilizate în stațiile de lucru IBM RT PC, Sun Microsystems Sun-3, NeXT Computer, Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Aceste procesoare sunt, de asemenea, utilizate în unele produse terțe Atari & Amiga, cum ar fi un dispozitiv mapat cu memorie la 68000.

Coprocesoare Apple Motion

Coprocesoarele Apple din seria M sunt cunoscute ca coprocesoare de mișcare care sunt utilizate pe dispozitivele mobile Apple. Primul coprocesor a fost proiectat în 2013, folosit pentru a colecta datele senzorilor de la giroscoape, accelerometre și busole încorporate și pentru a descărca datele senzorilor adunate folosind CPU-ul principal.

  Coprocesoare Apple Motion
Coprocesoare Apple Motion

Coprocesoarele Apple din seria M adună pur și simplu proces și stochează datele senzorului chiar dacă dispozitivul este adormit, iar aplicațiile pot recupera datele odată ce dispozitivul este din nou pornit. Deci, acest lucru scade puterea absorbită de la dispozitiv și economisește durata de viață a bateriei.

Diferența dintre procesor și coprocesor

Diferența dintre procesor și coprocesor include următoarele.

Procesor

Coprocesor

Procesorul este principala unitate de procesare din computer care execută diferite operații aritmetice, logice și de control pe baza instrucțiunilor. Coprocesorul este un procesor special care dă suport procesorului principal.

Procesorul se ocupă de toate lucrările principale

Coprocesorul are grijă de alte lucruri, cum ar fi grafică și calcule aritmetice.
Se ocupă de operații logice și calcule matematice și generează semnale de control către alte componente pentru sincronizarea sarcinilor. Efectuează procesarea semnalului, operațiuni matematice, rețele și criptografie pe baza tipului.
Procesorul menține funcționarea corectă a întregului computer. Acest procesor ajută la creșterea performanței sistemului și descarcă sarcinile severe din CPU.

Avantaje

Avantajele unui coprocesor includ următoarele.

  • Co-procesorul pur și simplu gestionează sarcini mai specializate mai rapid în comparație cu procesorul de bază
  • Aceste procesoare sunt ușor de utilizat și cele mai populare.
  • Reduce efortul microprocesorului prin preluarea sarcinilor speciale de procesare de la CPU, astfel încât acesta să ruleze la o viteză mai mare.
  • Acest procesor este util în extinderea caracteristicilor de procesare ale procesorului prin extinderea setului de instrucțiuni sau prin oferirea de registre de configurare.

Dezavantaje

Dezavantajele coprocesoarelor includ următoarele.

  • Coprocesorul nu este capabil să recupereze instrucțiuni din memorie, să execute direct instrucțiuni, să gestioneze memoria, să efectueze operațiuni I/O
  • Depinde de procesorul principal să recâștige instrucțiunile coprocesorului și să se ocupe de toate celelalte operațiuni care nu sunt legate de coprocesor.
  • Acesta nu este procesorul major al sistemului.
  • Coprocesorul nu poate funcționa fără microprocesorul principal.

Aplicații

Aplicațiile coprocesoarelor includ următoarele.

  • Co-procesorul este folosit pentru a efectua unele dintre sarcinile mai specializate, cum ar fi procesarea grafică a afișajului sau calcule matematice complexe.
  • Un co-procesor este folosit pur și simplu pentru a reduce sarcina asupra procesorului unui computer.
  • Acest procesor funcționează alături de CPU-ul computerului.
  • Acest procesor efectuează operații matematice de nivel înalt mult mai rapid în comparație cu procesorul principal, cum ar fi rădăcini, logaritmi, funcții de trigonometrie etc.
  • Un coprocesor mărește funcțiile procesorului primar.
  • Coprocesorul efectuează diferite operații, cum ar fi procesarea semnalului, aritmetica în virgulă mobilă, procesarea șirurilor, grafica, interfața I/O prin dispozitive periferice, criptografie etc.
  • Aceste procesoare sunt cipuri de sine stătătoare în computerele desktop anterioare care erau conectate la placa de bază.
  • Un coprocesor se ocupă de sarcinile CPU pentru a crește performanța generală.

Astfel, aceasta este o privire de ansamblu asupra unui coprocesor – lucrul și aplicațiile sale. Acest procesor este cunoscut și sub numele de Procesor matematic. Un coprocesor efectuează diferite sarcini foarte rapid în comparație cu procesorul de bază. Astfel, viteza generală a sistemului informatic crește. Acest procesor poate fi atașat la un procesor ARM. Odată ce este adăugat, trebuie să creștem setul de instrucțiuni al CPU Core sau să includem registre configurabile pentru creșterea puterii de procesare. Iată o întrebare pentru tine, ce este un microprocesor?