Koprocesor: Architektura, práce, typy a jeho aplikace

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V mikroprocesor čipu, jsou přidány nové obvody pro dosažení speciálních úkolů a také operace s čísly pro odlehčení práce jádra CPU, takže CPU může fungovat velmi rychle. Doplňkový procesor, jako je koprocesor, se používá hlavně v počítačích k dosažení speciálních úkolů, jako je zpracování grafického zobrazení a široké aritmetické výpočty. Tento procesor je navržen tak, aby tyto úkoly vykonával velmi efektivně ve srovnání s CPU, takže lze zvýšit celkovou rychlost počítače. Tento článek pojednává o přehledu a koprocesor – architektura, práce a její aplikace.


Co je to koprocesor?

Procesor, který spolupracuje s hlavním procesorem počítače, jako je CPU vedle sebe, se nazývá koprocesor. Tento procesor je také známý jako doplňkový počítačový procesor. Pomocí tohoto procesoru lze provádět některé obtížné matematické výpočty, jako je grafika zobrazená na obrazovce, zpracování signálu, zpracování řetězců, aritmetika s plovoucí desetinnou čárkou, vstupně-výstupní rozhraní atd.



  Koprocesor
Koprocesor

Architektura koprocesoru

Architektura koprocesoru jako 8087 je zobrazena níže. Obecně tento koprocesor pracuje s mikroprocesorem paralelně. Tento koprocesor byl vyvinut společností Intel a používá se s 16bitovými mikroprocesory rodiny 8086. Když procesor funguje v kombinaci s mikroprocesorem, výpočetní část je jednoduše zpracovávána procesorem a to umožňuje CPU využívat zdroje k provádění různých dalších činností.

Následující obrázek představuje architekturu koprocesoru 8087. Tato architektura zahrnuje dvě hlavní jednotky, jako je řídicí jednotka a numerická prováděcí jednotka, která se také nazývá NEU.



  8087 koprocesorová architektura
8087 koprocesorová architektura

V řídicí jednotce jsou různé jednotky, jako je vyrovnávací paměť dat, registr řídicích a stavových slov, sdílená fronta operandů, ukazatel výjimek a jednotka adresování a sledování sběrnice. Numeric Execution Unit neboli NEU obsahuje hlavně řídicí jednotku mikrokódu, zásobník registrů, programovatelný posuvník, dočasné registrů , aritmetický modul, exponentní modul a sdílená fronta operandů.

Řídicí jednotka v koprocesoru má řídit provádění instrukcí (IE), za které je zodpovědná Numeric Execution Unit. Řídící jednotka mikrokódu (CU) numerické prováděcí jednotky většinou získává numerické instrukce z řídicí jednotky koprocesoru. Tento koprocesor má kompletních 8 registrů po 80 bitech a každý z nich je využit v zásobníku LIFO. Operandy, přes které se budou vyskytovat instrukce koprocesoru, existují v zásobníku registrů.

  PCBWay

Stávající zásobník je ukazován pomocí 3bitového SP (ukazatel zásobníku), který obsahuje binární hodnoty v rozsahu 000 – 111, aby bylo možné zobrazit 8 registrů zásobníku. V režimu LIFO funguje v rámci kruhového zásobníku. Jakmile však dojde k akci resetování, může být ukazatel inicializován binární hodnotou „000“.

Číselná data tři klasifikace, na kterých jsou funkce koprocesoru zabaleny jako desetinná čísla, reálná čísla a binární celá čísla. Binární celá čísla jsou tři typy 16bitové slovo celé číslo, 32bitové krátké celé číslo a 64bitové dlouhé celé číslo. 80bitový formát BCD označuje sbalená dekadická čísla, zatímco reálná čísla jsou 3 typy; 32bitové krátké reálné, 64bitové dlouhé reálné a 80bitové dočasné reálné.

Pro přenos číselných dat v koprocesoru buď a Používá se 16bitová exponentní sběrnice nebo 64bitová mantisová sběrnice . Koprocesor obsahuje 16bitové řídicí slovo a 16bitové stavové slovo.

Řídicí slovo se zapíše do řídicího registru a to se děje tak, že koprocesor nejprve zapíše řídicí slovo do místa v paměti. Poté koprocesor jednoduše načte řídicí slovo pomocí paměťového místa a uloží je do řídicího registru.

Podobně se stavové slovo čte takovým způsobem, že procesor posílá data ve stavovém registru do místa v paměti. Dále tento koprocesor čte stavový registr z tohoto konkrétního místa v paměti. To znamená, že procesor a mikroprocesor spolu komunikují prostřednictvím hlavní paměti.

Jak funguje koprocesor?

Koprocesor je navržen hlavně pro práci s procesory 8086 a 8088. Koprocesor se používá k tomu, aby pomohl systému pracovat výkonněji tím, že odlehčí specifické úlohy CPU. Jakmile tento procesor pracuje v kombinaci s mikroprocesorem, jsou během psaní programu integrovány instrukce mikroprocesoru i koprocesoru. Začátek instrukcí v programu assembleru má „F“, které představuje instrukce koprocesoru, zatímco instrukce bez předpony „F“ zobrazují instrukce mikroprocesoru.

Nejprve jsou instrukce vyzvednuty mikroprocesorem z umístění paměti a postupně je načítají do fronty, ve stejnou dobu koprocesor 8087 také čte a ukládá instrukce do vnitřní fronty. To znamená, že každou jednotlivou instrukci lze přečíst jak koprocesorem, tak procesorem, avšak v době provádění mohou koprocesor i mikroprocesor provádět provádění svých konkrétních instrukcí. To znamená, že instrukce je přečtena a dekódována. Pokud mikroprocesor zkontroluje, že existuje instr koprocesoru, pak se s touto instrukcí zachází jako bez operace. Podobně, pokud se tento koprocesor přiblíží přes jakoukoli instrukci mikroprocesoru, bude s ním zacházeno jako bez operace.

Typy koprocesorů

K dispozici jsou různé koprocesory podle výrobců, jako jsou následující.

Koprocesor Intel 8087

Intel 8087 je speciálně navržený koprocesor, který se používá k provádění matematických výpočtů, které zahrnují hodnoty s plovoucí desetinnou čárkou a celých čísel. Někdy je také známý jako numerický datový procesor a matematický procesor. Jedná se o numerický koprocesor pro procesory Intel 80188, 8086, 80186 a 8088. Koprocesor 8087 obsahuje osm 80bitových obecných registrů, které jsou vykonávány jako zásobník. Takže všechny operace s pohyblivou řádovou čárkou jsou jednoduše prováděny s daty ze zásobníku a z externí paměti.

  Koprocesor Intel 8087
Koprocesor Intel 8087

Koprocesor Intel 8087 jednoduše podporuje BCD, celá čísla, čísla s jednoduchou a dvojitou přesností s plovoucí desetinnou čárkou a také čísla s plovoucí desetinnou čárkou s rozšířenou přesností. Jakmile procesor 8087 načte data z paměti, pak se interně převede, aby rozšířil číslo přesnosti a dále se všechny výpočty provádějí přes toto číslo.

Takže přechod z čísla s dvojitou přesností na číslo s jednoduchou přesností, jinak z 64bitového celého čísla – 32bitová/16bitová celočíselná čísla neposkytují žádné výrazné zvýšení výkonu. 8087 koprocesorů nevyráběl pouze Intel, ale také AMD, Cyrix & IBM vyrábí tyto koprocesory.

Motorola 68881

Motorola 68881 je koprocesor, který se používá hlavně s 2. generací Motoroly 68K mikroprocesory jako Motorola 68030 & 68020. Teoreticky se tento koprocesor používá se staršími CPU 68000 nebo 68010 jako periferní zařízení.

  Motorola 68881
Motorola 68881

Koprocesor Motorola 68881 jednoduše funguje jako zařízení s mapou paměti. Jakmile hlavní CPU načte instrukci koprocesoru, zapíše kód instrukce do CIR (Co-processor Interface Registers), které jsou mapovány v adresovém prostoru CPU, a poté přečte odezvu koprocesor z jednoho z registrů CIR.

Koprocesory Motorola 68881/68882 byly použity v pracovních stanicích IBM RT PC, Sun Microsystems Sun-3, NeXT Computer, rodině Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Tyto procesory se také používají v některých produktech Atari a Amiga třetích stran, jako jsou zařízení s mapováním paměti na 68000.

Pohybové koprocesory Apple

Koprocesory řady M společnosti Apple jsou známé jako pohybové koprocesory, které se používají v mobilních zařízeních Apple. První koprocesor byl navržen v roce 2013 a používal se ke shromažďování dat ze senzorů z integrovaných gyroskopů, akcelerometrů a kompasů a ke shromažďování dat ze senzorů pomocí hlavního CPU.

  Pohybové koprocesory Apple
Pohybové koprocesory Apple

Koprocesory Apple řady M jednoduše shromažďují a ukládají data senzoru, i když je zařízení v režimu spánku, a aplikace mohou data obnovit, jakmile je zařízení znovu zapnuto. Snižuje se tak spotřeba energie zařízení a šetří se životnost baterie.

Rozdíl mezi procesorem a koprocesorem

Rozdíl mezi procesorem a koprocesorem zahrnuje následující.

Procesor

Koprocesor

Procesor je hlavní procesorová jednotka v počítači, která na základě instrukcí provádí různé aritmetické, logické a řídicí operace. Koprocesor je speciální procesor, který podporuje hlavní procesor.

Procesor se stará o všechny hlavní práce

Koprocesor se stará o některé další věci, jako je grafika a aritmetické výpočty.
Zabývá se logickými operacemi a matematickými výpočty a generuje řídicí signály pro ostatní komponenty pro synchronizaci úloh. Provádí zpracování signálu, matematické operace, síťování a kryptografii na základě typu.
Procesor zajišťuje správnou funkci celého počítače. Tento procesor pomáhá při zvyšování výkonu systému a odlehčuje CPU náročné úkoly.

Výhody

Mezi výhody koprocesoru patří následující.

  • Koprocesor jednoduše zvládá specializovanější úkoly rychleji než jádro CPU
  • Tyto procesory se snadno používají a jsou nejoblíbenější.
  • Snižuje zátěž mikroprocesoru přebíráním speciálních úloh zpracování z CPU, takže běží při vyšší rychlosti.
  • Tento procesor je užitečný při rozšiřování funkcí zpracování CPU rozšířením sady instrukcí nebo nabídkou konfiguračních registrů.

Nevýhody

Mezi nevýhody koprocesorů patří následující.

  • Koprocesor není schopen obnovovat instrukce z paměti, přímo provádět instrukce, spravovat paměť, provádět I/O operace
  • Záleží na hlavním procesoru, aby znovu získal instrukce koprocesoru a postaral se o všechny ostatní operace, které s koprocesorem nesouvisejí.
  • Toto není hlavní procesor systému.
  • Koprocesor nemůže fungovat bez hlavního mikroprocesoru.

Aplikace

Aplikace koprocesorů zahrnují následující.

  • Koprocesor se používá k provádění některých specializovanějších úkolů, jako je zpracování grafického zobrazení nebo složité matematické výpočty.
  • Koprocesor se jednoduše používá pro snížení zátěže CPU počítače.
  • Tento procesor spolupracuje s CPU počítače vedle sebe.
  • Tento procesor provádí matematické operace na vysoké úrovni mnohem rychleji ve srovnání s hlavním procesorem, jako jsou kořeny, logaritmy, trigonometrické funkce atd.
  • Koprocesor zvyšuje funkce primárního procesoru.
  • Koprocesor provádí různé operace, jako je zpracování signálu, aritmetika s plovoucí desetinnou čárkou, zpracování řetězců, grafika, I/O rozhraní přes periferní zařízení, kryptografie atd.
  • Tyto procesory jsou samostatné čipy v dřívějších stolních počítačích, které byly připojeny k základní desce.
  • Koprocesor zpracovává úlohy CPU pro zvýšení celkového výkonu.

Tedy, toto je přehled koprocesoru – práce a její aplikace. Tento procesor je také známý jako matematický procesor. Koprocesor provádí různé úkoly mnohem rychleji ve srovnání s jádrem CPU. Tím se zvyšuje celková rychlost počítačového systému. Tento procesor lze připojit k procesoru ARM. Jakmile je přidán, musíme zvýšit instrukční sadu Core CPU nebo zahrnout konfigurovatelné registry pro zvýšení výpočetního výkonu. Zde je pro vás otázka, co je to mikroprocesor?