Koprocesor: Architektúra, práca, typy a jeho aplikácie

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V mikroprocesor čipu sú pridané nové obvody na dosiahnutie špeciálnych úloh a tiež operácie s číslami na odľahčenie práce jadra CPU, takže CPU môže fungovať veľmi rýchlo. Doplnkový procesor, ako je koprocesor, sa používa hlavne v počítačoch na dosiahnutie špeciálnych úloh, ako je spracovanie grafického zobrazenia a široké aritmetické výpočty. Tento procesor je navrhnutý tak, aby vykonával takéto úlohy veľmi efektívne v porovnaní s CPU, čím je možné zvýšiť celkovú rýchlosť počítača. Tento článok pojednáva o prehľade a koprocesor – architektúra, práca a jej aplikácie.


Čo je koprocesor?

Procesor, ktorý pracuje s hlavným procesorom počítača, ako je CPU vedľa seba, sa nazýva koprocesor. Tento procesor je známy aj ako doplnkový počítačový procesor. Pomocou tohto procesora je možné vykonávať niektoré náročné matematické výpočty, ako je grafika zobrazená na obrazovke, spracovanie signálu, spracovanie reťazcov, aritmetika s pohyblivou rádovou čiarkou, vstupno-výstupné rozhranie atď.



  Koprocesor
Koprocesor

Architektúra koprocesora

Koprocesor ako architektúra 8087 je zobrazená nižšie. Vo všeobecnosti tento koprocesor pracuje s mikroprocesorom paralelne. Tento koprocesor bol vyvinutý spoločnosťou Intel a používa sa so 16-bitovými mikroprocesormi rodiny 8086. Keď procesor funguje v kombinácii s mikroprocesorom, výpočtovú časť jednoducho spracuje procesor a to umožňuje CPU využiť zdroje na vykonávanie rôznych iných činností.

Nasledujúci obrázok predstavuje architektúru koprocesora 8087. Táto architektúra obsahuje dve hlavné jednotky, ako je riadiaca jednotka a numerická vykonávacia jednotka, ktorá sa tiež nazýva NEU.



  8087 Architektúra koprocesora
8087 Architektúra koprocesora

V riadiacej jednotke sú rôzne jednotky ako vyrovnávacia pamäť údajov, register riadiacich a stavových slov, front zdieľaných operandov, ukazovateľ výnimiek a jednotka adresovania a sledovania zbernice. Numeric Execution Unit alebo NEU obsahuje hlavne riadiacu jednotku mikrokódu, zásobník registrov, programovateľný posúvač, dočasné registrov , aritmetický modul, exponentný modul a zdieľaný front operandov.

Riadiaca jednotka v koprocesore má riadiť vykonávanie pokynov (IE), za ktoré je zodpovedná jednotka numerického vykonávania. Riadiaca jednotka mikrokódu (CU) numerickej vykonávacej jednotky väčšinou získava numerické inštrukcie z riadiacej jednotky koprocesora. Tento koprocesor má kompletných 8 registrov s 80 bitmi a každý z nich sa používa v zásobníku LIFO. Operandy, cez ktoré sa budú vyskytovať inštrukcie koprocesora, existujú v zásobníku registrov.

  PCBWay

Existujúci zásobník je nasmerovaný cez 3-bitový SP (ukazovateľ zásobníka), ktorý obsahuje binárne hodnoty v rozsahu 000 – 111, aby sa zobrazilo 8 registrov zásobníka. Funguje v rámci kruhového zásobníka v režime LIFO. Keď však dôjde k resetovaniu, ukazovateľ môže byť inicializovaný binárnou hodnotou „000“.

Číselné údaje troch klasifikácií, na ktorých sú funkcie koprocesora zbalené desiatkové čísla, reálne čísla a binárne celé čísla. Binárne celé čísla sú tri typy 16-bitové slovo celé číslo, 32-bitové krátke celé číslo a 64-bitové dlhé celé číslo. 80-bitový formát BCD označuje zbalené desiatkové čísla, zatiaľ čo reálne čísla sú 3 typy; 32-bitové krátke skutočné, 64-bitové dlhé skutočné a 80-bitové dočasné skutočné.

Na prenos číselných údajov v koprocesore buď a Používa sa 16-bitová exponentová zbernica alebo 64-bitová mantisová zbernica . Koprocesor obsahuje 16-bitové riadiace slovo a 16-bitové stavové slovo.

Riadiace slovo sa zapíše do riadiaceho registra a to sa deje tak, že koprocesor na začiatku zapíše riadiace slovo do miesta pamäte. Potom koprocesor jednoducho načíta riadiace slovo pomocou miesta v pamäti a uloží ho do riadiaceho registra.

Podobne sa stavové slovo číta takým spôsobom, že procesor odošle dáta v stavovom registri do miesta v pamäti. Ďalej tento koprocesor číta stavový register z tohto špecifického miesta v pamäti. To znamená, že procesor a mikroprocesor spolu komunikujú prostredníctvom hlavnej pamäte.

Ako funguje koprocesor?

Koprocesor je určený hlavne na prácu s procesormi 8086 a 8088. Koprocesor sa používa na to, aby pomohol systému bežať výkonnejšie odľahčením špecifických úloh CPU. Keď tento procesor pracuje v kombinácii s mikroprocesorom, pri písaní programu sú integrované inštrukcie mikroprocesora aj koprocesora. Začiatok inštrukcií v programe assembler má „F“, ktoré predstavuje inštrukcie koprocesora, zatiaľ čo inštrukcie bez predpony „F“ zobrazujú inštrukcie mikroprocesora.

Najprv sú inštrukcie načítané mikroprocesorom z miesta v pamäti a sekvenčne ich načítavajú v rámci frontu, v rovnakom čase koprocesor 8087 tiež číta a ukladá inštrukcie v rámci vnútornej fronty. To znamená, že každú jednotlivú inštrukciu je možné prečítať prostredníctvom koprocesora aj procesora, avšak v čase vykonávania môžu koprocesor aj mikroprocesor vykonávať vykonávanie svojich konkrétnych pokynov. To znamená, že inštrukcia sa číta a dekóduje. Ak mikroprocesor skontroluje, či existuje inštruktor koprocesora, potom sa táto inštrukcia považuje za bez operácie. Podobne, ak sa tento koprocesor priblíži cez akúkoľvek inštrukciu mikroprocesora, bude sa považovať za bez operácie.

Typy koprocesorov

K dispozícii sú rôzne koprocesory podľa výrobcov, ako je nasledujúci.

čo robí mux

Koprocesor Intel 8087

Intel 8087 je špeciálne navrhnutý koprocesor, ktorý sa používa na vykonávanie matematických výpočtov, ktoré zahŕňajú hodnoty s pohyblivou rádovou čiarkou a celé čísla. Niekedy je známy aj ako numerický dátový procesor a matematický procesor. Toto je numerický koprocesor pre procesory Intel 80188, 8086, 80186 a 8088. Koprocesor 8087 obsahuje osem 80-bitových všeobecných registrov, ktoré sa vykonávajú ako zásobník. Takže všetky operácie s pohyblivou rádovou čiarkou sa jednoducho vykonávajú s údajmi zo zásobníka a z externej pamäte.

  Koprocesor Intel 8087
Koprocesor Intel 8087

Koprocesor Intel 8087 jednoducho podporuje BCD, celé čísla, jednoduché a dvojité presné čísla s pohyblivou rádovou čiarkou a tiež čísla s rozšírenou presnosťou s pohyblivou rádovou čiarkou. Akonáhle procesor 8087 načíta dáta z pamäte, interne sa skonvertuje, aby sa rozšírilo číslo presnosti a ďalej sa všetky výpočty vykonávajú cez toto číslo.

Takže prepnutie z čísla s dvojitou presnosťou na číslo s jednoduchou presnosťou, inak zo 64-bitového celého čísla – 32-bitové/16-bitové celé číslo neprinesie žiadne výrazné zvýšenie výkonu. 8087 koprocesorov nevyrobil len Intel, ale tieto koprocesory vyrába aj AMD, Cyrix & IBM.

Motorola 68881

Motorola 68881 je koprocesor, ktorý sa používa hlavne s 2. generáciou Motoroly 68K mikroprocesory ako Motorola 68030 & 68020. Teoreticky sa tento koprocesor používa so staršími CPU 68000 alebo 68010 ako periférne zariadenie.

  Motorola 68881
Motorola 68881

Koprocesor Motorola 68881 jednoducho funguje ako zariadenie s mapou pamäte. Keď hlavný CPU načíta inštrukciu koprocesora, potom zapíše kód inštrukcie do CIR (Co-processor Interface Registers), ktoré sú mapované v adresnom priestore CPU, a potom načíta odpoveď koprocesor z jedného z registrov CIR.

Koprocesory Motorola 68881/68882 boli použité v pracovných staniciach IBM RT PC, Sun Microsystems Sun-3, NeXT Computer, Apple Computer Macintosh II rodina, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Tieto procesory sa tiež používajú v niektorých produktoch Atari a Amiga tretích strán, ako sú zariadenia s mapou pamäte na 68000.

Pohybové koprocesory Apple

Koprocesory série M od spoločnosti Apple sú známe ako pohybové koprocesory, ktoré sa používajú v mobilných zariadeniach Apple. Prvý koprocesor bol navrhnutý v roku 2013 a používal sa na zhromažďovanie údajov zo senzorov zo zabudovaných gyroskopov, akcelerometrov a kompasov a na sťahovanie zhromaždených údajov zo senzorov pomocou hlavného CPU.

  Pohybové koprocesory Apple
Pohybové koprocesory Apple

Koprocesory Apple série M jednoducho zhromažďujú a ukladajú údaje zo snímača, aj keď je zariadenie v režime spánku, a aplikácie môžu obnoviť údaje po opätovnom zapnutí zariadenia. Tým sa zníži spotreba energie zo zariadenia a šetrí sa životnosť batérie.

Rozdiel medzi procesorom a koprocesorom

Rozdiel medzi procesorom a koprocesorom zahŕňa nasledujúce.

procesor

Koprocesor

Procesor je hlavná procesorová jednotka v počítači, ktorá na základe inštrukcií vykonáva rôzne aritmetické, logické a riadiace operácie. Koprocesor je špeciálny procesor, ktorý podporuje hlavný procesor.

Procesor sa stará o všetky hlavné práce

Koprocesor sa stará o niektoré ďalšie veci, ako je grafika a aritmetické výpočty.
Zaoberá sa logickými operáciami a matematickými výpočtami a generuje riadiace signály do iných komponentov na synchronizáciu úloh. Vykonáva spracovanie signálu, matematické operácie, sieťovanie a kryptografiu na základe typu.
Procesor zabezpečuje správne fungovanie celého počítača. Tento procesor pomáha pri zvyšovaní výkonu systému a odbúrava náročné úlohy z CPU.

Výhody

Medzi výhody koprocesora patria nasledujúce.

  • Koprocesor jednoducho zvládne špecializovanejšie úlohy rýchlejšie v porovnaní s jadrom CPU
  • Tieto procesory sa ľahko používajú a sú najobľúbenejšie.
  • Znižuje namáhanie mikroprocesora tým, že preberá špeciálne úlohy spracovania z CPU, takže beží pri vyššej rýchlosti.
  • Tento procesor je užitočný pri rozširovaní funkcií spracovania CPU rozšírením inštrukčnej sady alebo ponúkaním konfiguračných registrov.

Nevýhody

Nevýhody koprocesorov zahŕňajú nasledujúce.

  • Koprocesor nie je schopný obnovovať inštrukcie z pamäte, priamo vykonávať inštrukcie, spravovať pamäť, vykonávať I/O operácie
  • Závisí to od hlavného procesora, aby znovu získal pokyny koprocesora a postaral sa o všetky ostatné operácie, ktoré nesúvisia s koprocesorom.
  • Toto nie je hlavný procesor systému.
  • Koprocesor nemôže fungovať bez hlavného mikroprocesora.

Aplikácie

Aplikácie koprocesorov zahŕňajú nasledujúce.

  • Koprocesor sa používa na vykonávanie niektorých špecializovanejších úloh, ako je spracovanie grafického zobrazenia alebo zložité matematické výpočty.
  • Koprocesor sa jednoducho používa na zníženie zaťaženia CPU počítača.
  • Tento procesor spolupracuje s CPU počítača vedľa seba.
  • Tento procesor vykonáva matematické operácie na vysokej úrovni oveľa rýchlejšie v porovnaní s hlavným procesorom, ako sú korene, logaritmy, trigonometrické funkcie atď.
  • Koprocesor zvyšuje funkcie primárneho procesora.
  • Koprocesor vykonáva rôzne operácie, ako je spracovanie signálu, aritmetika s pohyblivou rádovou čiarkou, spracovanie reťazcov, grafika, I/O rozhranie cez periférne zariadenia, kryptografia atď.
  • Tieto procesory sú samostatné čipy v starších stolných počítačoch, ktoré boli pripojené k základnej doske.
  • Koprocesor spracováva úlohy CPU na zvýšenie celkového výkonu.

Teda toto je prehľad koprocesora – práca a jej aplikácie. Tento procesor je známy aj ako matematický procesor. Koprocesor vykonáva rôzne úlohy oveľa rýchlejšie v porovnaní s jadrom CPU. Tým sa zvyšuje celková rýchlosť počítačového systému. Tento procesor je možné pripojiť k procesoru ARM. Po pridaní musíme zvýšiť inštrukčnú sadu Core CPU alebo zahrnúť konfigurovateľné registre na zvýšenie výpočtového výkonu. Tu je otázka pre vás, čo je mikroprocesor?