Koprocesor: arhitektura, rad, vrste i njegove primjene

Isprobajte Naš Instrument Za Uklanjanje Problema





U mikroprocesor čipu, dodaje se novi sklop za postizanje posebnih zadataka, a također i operacije na brojevima za rasterećenje rada jezgre CPU-a tako da CPU može funkcionirati vrlo brzo. Dodatni procesor poput koprocesora uglavnom se koristi u računalima za postizanje posebnih zadataka poput obrade grafičkog prikaza i širokih aritmetičkih izračuna. Ovaj je procesor dizajniran za vrlo učinkovito obavljanje takvih zadataka u usporedbi s CPU-om, čime se ukupna brzina računala može povećati. Ovaj članak govori o pregledu a koprocesor – arhitektura, rad i njegove primjene.


Što je koprocesor?

Procesor koji radi s glavnim procesorom računala poput CPU-a rame uz rame poznat je kao koprocesor. Ovaj procesor je također poznat kao dopunski računalni procesor. Korištenjem ovog procesora mogu se izvesti neki teški matematički izračuni poput grafike prikazane na ekranu, obrade signala, obrade nizova, aritmetike s pomičnim zarezom, ulazno-izlaznog sučelja itd.



  Koprocesor
Koprocesor

Arhitektura koprocesora

Koprocesor poput arhitekture 8087 prikazan je u nastavku. Općenito, ovaj koprocesor radi paralelno s mikroprocesorom. Ovaj koprocesor je razvio Intel i koristi se sa 16-bitnim mikroprocesorima obitelji 8086. Kada procesor radi u kombinaciji s mikroprocesorom, procesor jednostavno upravlja dijelom izračuna i to omogućuje CPU-u da koristi resurse za izvršavanje raznih drugih aktivnosti.

Sljedeća slika predstavlja arhitekturu 8087 koprocesora. Ova arhitektura uključuje dvije glavne jedinice poput upravljačke jedinice i numeričke izvršne jedinice koja se također naziva NEU.



  8087 Arhitektura koprocesora
8087 Arhitektura koprocesora

U kontrolnoj jedinici postoje različite jedinice poput međuspremnika podataka, registra kontrolne i statusne riječi, zajedničkog reda čekanja operanda, pokazivača iznimke i jedinice za adresiranje i praćenje sabirnice. Numerička izvršna jedinica ili NEU uglavnom uključuje kontrolnu jedinicu mikrokoda, stog registara, programabilni mjenjač, ​​privremeni registri , aritmetički modul, eksponentni modul i zajednički red čekanja operanda.

Upravljačka jedinica u koprocesoru treba kontrolirati izvršavanje instrukcija (IE) za koje je odgovorna numerička izvršna jedinica. Uglavnom, kontrolna jedinica mikrokoda (CU) numeričke izvršne jedinice dobiva numeričke upute od kontrolne jedinice koprocesora. Ovaj koprocesor ima kompletnih 8 registara od 80 bita i svaki od njih se koristi u LIFO stogu. Operandi nad kojima će se pojaviti instrukcije koprocesora postoje u stogu registara.

  PCBWay

Postojeći stog je usmjeren kroz 3-bitni SP (stack pointer) koji sadrži binarne vrijednosti u rasponu od 000 – 111 kako bi se prikazalo 8 registara stoga. Radi unutar kružnog snopa u LIFO modu. No, kada se dogodi akcija resetiranja, pokazivač se može inicijalizirati binarnom vrijednošću '000'.

Tri klasifikacije numeričkih podataka na kojima funkcionira koprocesor su pakirani decimalni brojevi, realni brojevi i binarni cijeli brojevi. Tri vrste binarnih cijelih brojeva su 16-bitni cijeli broj riječi, 32-bitni kratki cijeli broj i 64-bitni dugi cijeli broj. 80-bitni BCD format označava upakirane decimalne brojeve dok realni brojevi postoje 3 vrste; 32-bitni kratki stvarni, 64-bitni dugi realni i 80-bitni privremeni realni.

Za prijenos numeričkih podataka u koprocesor ili a Koristi se 16-bitna eksponentna sabirnica ili 64-bitna sabirnica mantise . Koprocesor uključuje 16-bitnu kontrolnu riječ i 16-bitnu statusnu riječ.

Kontrolna riječ se upisuje u kontrolni registar i to se događa na način da koprocesor početno upisuje kontrolnu riječ unutar lokacije memorije. Nakon toga, koprocesor jednostavno čita kontrolnu riječ pomoću memorijske lokacije i pohranjuje je u kontrolni registar.

Slično, statusna riječ se čita na takav način da procesor šalje podatke u statusnom registru prema lokaciji u memoriji. Nadalje, ovaj koprocesor čita statusni registar s te specifične lokacije memorije. To znači da procesor i mikroprocesor međusobno komuniciraju putem glavne memorije.

Kako radi koprocesor?

Koprocesor je uglavnom dizajniran za rad s 8086 i 8088 procesorima. Koprocesor se koristi da pomogne sustavu da radi snažnije rasterećujući specifične CPU zadatke. Jednom kada ovaj procesor radi u kombinaciji s mikroprocesorom, upute i mikroprocesora i koprocesora su integrirane tijekom pisanja programa. Početak instrukcija u programu asemblerskog jezika ima 'F' koje predstavlja instrukcije koprocesora, dok instrukcije bez prefiksa 'F' prikazuju instrukcije mikroprocesora.

Isprva, mikroprocesor dohvaća upute s lokacije u memoriji i uzastopno ih učitava unutar reda čekanja, u isto vrijeme koprocesor 8087 također čita i pohranjuje upute unutar unutarnjeg reda čekanja. Dakle, to znači da se svaka pojedinačna instrukcija može pročitati kroz koprocesor i procesor, ali u vrijeme izvršenja i koprocesor i mikroprocesor mogu izvršiti izvršenje svojih posebnih instrukcija. To znači da se instrukcija čita i dekodira. Ako mikroprocesor provjeri postoji li instr koprocesora, tada se ta instrukcija tretira kao Bez operacije. Slično, ako se ovaj koprocesor približi bilo kojoj instrukciji mikroprocesora, to će se tretirati kao neoperacija.

Vrste koprocesora

Dostupni su različiti koprocesori ovisno o proizvođačima kao što su sljedeći.

Intel 8087 koprocesor

Intel 8087 je posebno dizajniran koprocesor koji se koristi za izvođenje matematičkih izračuna koji uključuju vrijednosti s pomičnim zarezom i cijele brojeve. Ponekad je poznat i kao numerički procesor podataka i matematički procesor. Ovo je numerički koprocesor za Intel 80188, 8086, 80186 i 8088 procesore. 8087 koprocesor uključuje osam 80-bitnih općih registara koji se izvršavaju kao stog. Dakle, sve operacije s pomičnim zarezom jednostavno se izvode s podacima sa stoga i iz vanjske memorije.

  Intel 8087 koprocesor
Intel 8087 koprocesor

Intel 8087 koprocesor jednostavno podržava BCD, cijele brojeve, jednostruke i dvostruke precizne brojeve s pomičnim zarezom i također proširene precizne brojeve s pomičnim zarezom. Nakon što procesor 8087 učita podatke iz memorije, onda ih interno pretvara kako bi proširio broj preciznosti i dalje se svi izračuni izvode preko tog broja.

Dakle, prelazak s broja dvostruke preciznosti na broj jednostruke preciznosti inače sa 64-bitnog cijelog broja - 32-bitni/16-bitni cijeli brojevi ne daju značajno poboljšanje performansi. 8087 koprocesore nije proizveo samo Intel, već AMD, Cyrix & IBM također proizvode ove koprocesore.

Motorola 68881

Motorola 68881 je koprocesor koji se uglavnom koristi s drugom generacijom Motorola 68K mikroprocesori poput Motorola 68030 & 68020. Teoretski, ovaj koprocesor se koristi s ranijim CPU-ima 68000 ili 68010 kao periferni uređaj.

  Motorola 68881
Motorola 68881

Koprocesor Motorola 68881 jednostavno funkcionira poput memorijsko mapiranog uređaja. Nakon što glavni CPU učita instrukciju koprocesora, tada zapisuje kod instrukcije u CIR (registre sučelja koprocesora), koji su mapirani unutar adresnog prostora CPU-a, a nakon toga čita odgovor koprocesora koprocesor iz jednog od CIR registara.

Koprocesori Motorola 68881/68882 korišteni su u IBM RT PC radnim stanicama, Sun Microsystems Sun-3 radnim stanicama, NeXT Computer, Apple Computer Macintosh II obitelji, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Ovi se procesori također koriste u nekim Atari & Amiga proizvodima trećih strana kao što je uređaj s mapiranjem memorije na 68000.

Apple Motion koprocesori

Appleovi koprocesori M-serije poznati su kao koprocesori kretanja koji se koriste u Appleovim mobilnim uređajima. Prvi koprocesor dizajniran je 2013., korišten za prikupljanje podataka senzora iz ugrađenih žiroskopa, akcelerometara i kompasa i rasterećenje prikupljenih podataka senzora pomoću glavnog procesora.

  Apple Motion koprocesori
Apple Motion koprocesori

Appleovi koprocesori M-serije jednostavno prikupljaju proces i pohranjuju podatke senzora čak i ako je uređaj u stanju mirovanja i aplikacije mogu oporaviti podatke nakon ponovnog uključivanja uređaja. Tako se smanjuje potrošnja energije iz uređaja i štedi vijek trajanja baterije.

Razlika između procesora i koprocesora

Razlika između procesora i koprocesora uključuje sljedeće.

Procesor

Koprocesor

Procesor je glavna procesorska jedinica u računalu koja izvršava različite aritmetičke, logičke i kontrolne operacije na temelju uputa. Koprocesor je poseban procesor koji daje podršku glavnom procesoru.

Procesor se brine za sve glavne poslove

Koprocesor se brine samo za neke druge stvari kao što su grafika i aritmetički izračuni.
Rukuje logičkim operacijama i matematičkim izračunima i generira kontrolne signale drugim komponentama za sinkronizaciju zadataka. Izvodi obradu signala, matematičke operacije, umrežavanje i kriptografiju na temelju vrste.
Procesor održava pravilno funkcioniranje cijelog računala. Ovaj procesor pomaže u povećanju performansi sustava i rasterećuje teške zadatke s CPU-a.

Prednosti

Prednosti koprocesora uključuju sljedeće.

  • Koprocesor jednostavno rješava specijaliziranije zadatke brže u usporedbi s jezgrenim CPU-om
  • Ovi su procesori jednostavni za korištenje i najpopularniji.
  • Smanjuje opterećenje mikroprocesora preuzimanjem posebnih zadataka obrade od CPU-a tako da radi većom brzinom.
  • Ovaj procesor pomaže u proširenju značajki obrade CPU-a proširenjem skupa instrukcija ili ponudom konfiguracijskih registara.

Nedostaci

Nedostaci koprocesora uključuju sljedeće.

  • Koprocesor nije sposoban za vraćanje instrukcija iz memorije, izravno izvršavanje instrukcija, upravljanje memorijom, izvođenje I/O operacija
  • Ovisi o glavnom procesoru hoće li ponovno dobiti upute koprocesora i pobrinuti se za sve druge operacije koje nisu povezane s koprocesorom.
  • Ovo nije glavni procesor sustava.
  • Koprocesor ne može raditi bez glavnog mikroprocesora.

Prijave

Primjene koprocesora uključuju sljedeće.

  • Koprocesor se koristi za izvođenje nekih specijaliziranih zadataka kao što je obrada grafičkog prikaza ili složeni matematički izračuni.
  • Koprocesor se jednostavno koristi za smanjenje opterećenja CPU-a računala.
  • Ovaj procesor radi paralelno s CPU-om računala.
  • Ovaj procesor izvodi matematičke operacije visoke razine mnogo brže u usporedbi s glavnim procesorom poput korijena, logaritma, trigonometrijskih funkcija itd.
  • Koprocesor povećava funkcije primarnog procesora.
  • Koprocesor izvodi različite operacije poput obrade signala, aritmetike s pomičnim zarezom, obrade nizova, grafike, I/O sučelja preko perifernih uređaja, kriptografije itd.
  • Ovi procesori su samostalni čipovi u ranijim stolnim računalima koji su bili spojeni na matičnu ploču.
  • Koprocesor upravlja zadacima CPU-a za povećanje ukupne izvedbe.

Dakle, ovo je pregled koprocesora – rad i njegove primjene. Ovaj procesor je također poznat kao matematički procesor. Koprocesor obavlja različite zadatke vrlo brže u usporedbi s jezgrenim CPU-om. Time se povećava ukupna brzina računalnog sustava. Ovaj procesor se može priključiti na ARM procesor. Nakon što se doda, tada moramo povećati skup instrukcija Core CPU-a ili uključiti konfigurabilne registre za povećanje procesorske snage. Ovdje je pitanje za vas, što je mikroprocesor?