Koprocesor: arhitektura, delovanje, vrste in njegove aplikacije

Preizkusite Naš Instrument Za Odpravo Težav





V mikroprocesor čipu je dodano novo vezje za doseganje posebnih nalog in tudi operacije s številkami za razbremenitev jedra CPE, tako da lahko CPE deluje zelo hitro. Dodatni procesor, kot je koprocesor, se večinoma uporablja v računalnikih za doseganje posebnih nalog, kot je obdelava grafičnega prikaza in široki aritmetični izračuni. Ta procesor je zasnovan za zelo učinkovito opravljanje takšnih nalog v primerjavi s CPE, zato je mogoče povečati skupno hitrost računalnika. Ta članek obravnava pregled a koprocesor – arhitektura, delo in njegove aplikacije.


Kaj je koprocesor?

Procesor, ki deluje z glavnim procesorjem računalnika, kot je CPE drug ob drugem, je znan kot koprocesor. Ta procesor je znan tudi kot dodatni računalniški procesor. Z uporabo tega procesorja je mogoče izvesti nekatere težke matematične izračune, kot so grafika, prikazana na zaslonu, obdelava signalov, obdelava nizov, aritmetika s plavajočo vejico, vhodno-izhodni vmesnik itd.



  Koprocesor
Koprocesor

Arhitektura koprocesorja

Koprocesor, kot je arhitektura 8087, je prikazan spodaj. Na splošno ta koprocesor deluje vzporedno z mikroprocesorjem. Ta koprocesor je razvil Intel in se uporablja s 16-bitnimi mikroprocesorji družine 8086. Ko procesor deluje v kombinaciji z mikroprocesorjem, računski del preprosto upravlja procesor in to omogoča CPE, da uporabi vire za izvajanje različnih drugih dejavnosti.

Naslednja slika predstavlja arhitekturo koprocesorja 8087. Ta arhitektura vključuje dve glavni enoti, kot sta krmilna enota in numerična izvršilna enota, ki se imenuje tudi NEU.



  Arhitektura koprocesorja 8087
Arhitektura koprocesorja 8087

V krmilni enoti so različne enote, kot so podatkovni medpomnilnik, register krmilne in statusne besede, skupna čakalna vrsta operandov, kazalec izjeme ter enota za naslavljanje in sledenje vodilu. Numerična izvršilna enota ali NEU v glavnem vključuje krmilno enoto mikrokode, sklad registrov, programabilni menjalnik, začasno registri , aritmetični modul, eksponentni modul in skupna čakalna vrsta operandov.

Krmilna enota v koprocesorju je namenjena nadzoru izvajanja ukazov (IE), za katerega je odgovorna numerična izvršilna enota. Večinoma mikrokodna krmilna enota (CU) numerične izvršilne enote pridobi numerična navodila od krmilne enote koprocesorja. Ta koprocesor ima popolnih 8 registrov po 80 bitov in vsak od teh je uporabljen v skladu LIFO. Operandi, nad katerimi se bodo pojavila navodila soprocesorja, obstajajo v skladu registra.

  PCBWay

Obstoječi sklad je usmerjen skozi 3-bitni SP (kazalec sklada), ki vsebuje binarne vrednosti, ki segajo od 000 do 111, da se prikaže 8 registrov sklada. Deluje znotraj krožnega sklada v načinu LIFO. Ko pa pride do dejanja ponastavitve, se lahko kazalec inicializira z binarno vrednostjo '000'.

Tri klasifikacije numeričnih podatkov, na katerih deluje soprocesor, so pakirana decimalna števila, realna števila in binarna cela števila. Binarna cela števila so tri vrste: 16-bitno besedno celo število, 32-bitno kratko celo število in 64-bitno dolgo celo število. 80-bitni format BCD označuje pakirana decimalna števila, medtem ko so realna števila 3 vrste; 32-bitno kratko realno, 64-bitno dolgo realno in 80-bitno začasno realno.

Za prenos numeričnih podatkov v koprocesor bodisi a Uporablja se 16-bitno eksponentno vodilo ali 64-bitno vodilo mantise . Koprocesor vključuje 16-bitno kontrolno besedo in 16-bitno statusno besedo.

Krmilna beseda se zapiše v kontrolni register in to poteka tako, da koprocesor sprva zapiše kontrolno besedo znotraj lokacije pomnilnika. Po tem koprocesor preprosto prebere kontrolno besedo z uporabo pomnilniške lokacije in jo shrani v kontrolni register.

Podobno se statusna beseda bere tako, da procesor pošlje podatke v statusnem registru proti lokaciji pomnilnika. Poleg tega ta koprocesor bere statusni register s te specifične lokacije pomnilnika. To torej pomeni, da procesor in mikroprocesor komunicirata drug z drugim prek glavnega pomnilnika.

Kako deluje koprocesor?

Koprocesor je zasnovan predvsem za delo s procesorjema 8086 in 8088. Koprocesor se uporablja za pomoč sistemu pri močnejšem delovanju z razbremenitvijo določenih nalog CPE. Ko ta procesor deluje v kombinaciji z mikroprocesorjem, so med pisanjem programa integrirana navodila tako mikroprocesorja kot koprocesorja. Začetek navodil v programu v zbirnem jeziku ima 'F', ki predstavlja navodila koprocesorja, medtem ko navodila brez predpone 'F' prikazujejo navodila mikroprocesorja.

Sprva navodila pridobi mikroprocesor z lokacije pomnilnika in jih zaporedno naloži v čakalno vrsto, hkrati pa koprocesor 8087 tudi prebere in shrani navodila znotraj notranje čakalne vrste. To torej pomeni, da je mogoče vsako posamezno navodilo prebrati prek koprocesorja in procesorja, vendar pa lahko v času izvajanja tako koprocesor kot mikroprocesor izvedeta izvajanje svojih posebnih navodil. To pomeni, da je navodilo prebrano in dekodirano. Če mikroprocesor preveri, ali obstaja instr koprocesorja, potem se to navodilo obravnava kot No-operation. Podobno, če se ta koprocesor približa kateremu koli ukazu mikroprocesorja, bo to obravnavano kot nedelovanje.

Vrste koprocesorjev

Glede na proizvajalce so na voljo različni koprocesorji, kot so naslednji.

Intel 8087 koprocesor

Intel 8087 je posebej zasnovan koprocesor, ki se uporablja za izvajanje matematičnih izračunov, ki vključujejo vrednosti s plavajočo vejico in cela števila. Včasih je znan tudi kot numerični podatkovni procesor in matematični procesor. To je numerični koprocesor za procesorje Intel 80188, 8086, 80186 in 8088. Koprocesor 8087 vključuje osem 80-bitnih splošnih registrov, ki se izvajajo kot sklad. Torej se vse operacije s plavajočo vejico preprosto izvajajo s podatki iz sklada in iz zunanjega pomnilnika.

  Intel 8087 koprocesor
Intel 8087 koprocesor

Koprocesor Intel 8087 preprosto podpira števila s plavajočo vejico BCD, cela števila, enojno in dvojno natančnost ter števila s plavajočo vejico razširjene natančnosti. Ko procesor 8087 naloži podatke iz pomnilnika, jih interno pretvori, da razširi natančnost števila in nadalje se vsi izračuni izvajajo prek te številke.

Torej preklop s števila z dvojno natančnostjo na število z enojno natančnostjo sicer s 64-bitnega celega števila – 32-bitna/16-bitna cela števila ne dajejo pomembnega povečanja zmogljivosti. Koprocesorjev 8087 ni izdelal le Intel, ampak tudi AMD, Cyrix in IBM proizvajajo te koprocesorje.

Motorola 68881

Motorola 68881 je koprocesor, ki se večinoma uporablja z 2. generacijo Motorola 68K mikroprocesorji kot Motorola 68030 in 68020. Teoretično se ta koprocesor uporablja s starejšimi procesorji 68000 ali 68010 kot periferna naprava.

  Motorola 68881
Motorola 68881

Koprocesor Motorola 68881 preprosto deluje kot naprava s preslikavo pomnilnika. Ko glavni CPE naloži ukaz koprocesorja, zapiše kodo ukaza v CIR (registre vmesnika soprocesorja), ki so preslikani znotraj naslovnega prostora CPE, nato pa prebere odgovor procesorja soprocesor iz enega od registrov CIR.

Koprocesorji Motorola 68881/68882 so bili uporabljeni v delovnih postajah IBM RT PC, delovnih postajah Sun Microsystems Sun-3, NeXT Computer, družini Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Ti procesorji se uporabljajo tudi v nekaterih izdelkih Atari & Amiga drugih proizvajalcev, kot je naprava s preslikavo pomnilnika v 68000.

Koprocesorji gibanja Apple

Appleovi koprocesorji serije M so znani kot koprocesorji gibanja, ki se uporabljajo v mobilnih napravah Apple. Prvi koprocesor je bil zasnovan leta 2013, uporabljal se je za zbiranje podatkov senzorjev iz vgrajenih žiroskopov, merilnikov pospeška in kompasov ter razbremenitev zbranih podatkov senzorjev z uporabo glavne procesorske enote.

  Koprocesorji gibanja Apple
Koprocesorji gibanja Apple

Koprocesorji Apple serije M preprosto zbirajo in shranjujejo podatke senzorja, tudi če naprava spi, in aplikacije lahko obnovijo podatke, ko je naprava znova vklopljena. To torej zmanjša porabo energije iz naprave in prihrani življenjsko dobo baterije.

Razlika med procesorjem in koprocesorjem

Razlika med procesorjem in koprocesorjem vključuje naslednje.

Procesor

Koprocesor

Procesor je glavna procesna enota v računalniku, ki izvaja različne aritmetične, logične in krmilne operacije na podlagi navodil. Koprocesor je poseben procesor, ki daje podporo glavnemu procesorju.

Procesor poskrbi za vsa glavna dela

Koprocesor skrbi samo za nekatere druge stvari, kot so grafika in aritmetični izračuni.
Obdeluje logične operacije in matematične izračune ter generira krmilne signale za druge komponente za sinhronizacijo nalog. Izvaja obdelavo signalov, matematične operacije, mreženje in kriptografijo glede na vrsto.
Procesor skrbi za pravilno delovanje celotnega računalnika. Ta procesor pomaga pri povečanju zmogljivosti sistema in razbremeni težke naloge CPE-ja.

Prednosti

Prednosti koprocesorja vključujejo naslednje.

  • Koprocesor preprosto hitreje obravnava bolj specializirane naloge v primerjavi z jedrnim procesorjem
  • Ti procesorji so enostavni za uporabo in najbolj priljubljeni.
  • Zmanjšuje obremenitev mikroprocesorja tako, da od CPE-ja prevzame posebne naloge obdelave, tako da ta deluje z višjo hitrostjo.
  • Ta procesor je v pomoč pri razširitvi procesorskih funkcij CPE z razširitvijo nabora navodil ali s ponudbo konfiguracijskih registrov.

Slabosti

Slabosti koprocesorjev vključujejo naslednje.

  • Koprocesor ne more obnoviti navodil iz pomnilnika, neposredno izvajati navodil, upravljati pomnilnika, izvajati V/I operacij
  • Odvisno je od glavnega procesorja, da ponovno pridobi navodila koprocesorja in poskrbi za vse druge operacije, ki niso povezane s koprocesorjem.
  • To ni glavni procesor sistema.
  • Koprocesor ne more delovati brez glavnega mikroprocesorja.

Aplikacije

Aplikacije koprocesorjev vključujejo naslednje.

  • Koprocesor se uporablja za izvajanje nekaterih bolj specializiranih nalog, kot je obdelava grafičnega prikaza ali zapleteni matematični izračuni.
  • Koprocesor se preprosto uporablja za zmanjšanje obremenitve CPE računalnika.
  • Ta procesor deluje vzporedno s CPE računalnika.
  • Ta procesor izvaja visokonivojske matematične operacije veliko hitreje v primerjavi z glavnim procesorjem, kot so koreni, logaritmi, trigonometrične funkcije itd.
  • Koprocesor poveča funkcije primarnega procesorja.
  • Koprocesor izvaja različne operacije, kot so obdelava signalov, aritmetika s plavajočo vejico, obdelava nizov, grafika, V/I vmesnik prek perifernih naprav, kriptografija itd.
  • Ti procesorji so samostojni čipi v prejšnjih namiznih računalnikih, ki so bili povezani z matično ploščo.
  • Koprocesor upravlja naloge CPE za povečanje splošne zmogljivosti.

Torej, to je pregled koprocesorja – delovanje in njegove aplikacije. Ta procesor je znan tudi kot matematični procesor. Koprocesor opravlja različne naloge zelo hitreje v primerjavi z jedrnim procesorjem. Tako se skupna hitrost računalniškega sistema poveča. Ta procesor je mogoče priključiti na procesor ARM. Ko je dodan, moramo povečati nabor navodil Core CPE ali vključiti nastavljive registre za povečanje procesorske moči. Tukaj je vprašanje za vas, kaj je mikroprocesor?