Koprosessor: arkitektur, arbeid, typer og dens applikasjoner

Prøv Instrumentet Vårt For Å Eliminere Problemer





I en mikroprosessor chip, nye kretser er lagt til for å oppnå spesielle oppgaver og også operasjoner på tall for å avlaste CPU-kjernearbeidet slik at CPU-en kan fungere veldig raskt. En tilleggsprosessor som en koprosessor brukes hovedsakelig i datamaskiner for å oppnå spesielle oppgaver som grafisk skjermbehandling og brede aritmetiske beregninger. Denne prosessoren er designet for å utføre slike oppgaver veldig effektivt sammenlignet med CPU, og dermed kan den totale datamaskinhastigheten økes. Denne artikkelen diskuterer en oversikt over en koprosessor –arkitektur, arbeid og dens applikasjoner.


Hva er koprosessor?

En prosessor som fungerer med hovedprosessoren til en datamaskin som CPU side ved side er kjent som en koprosessor. Denne prosessoren er også kjent som en ekstra dataprosessor. Ved å bruke denne prosessoren, kan noen vanskelige matematiske beregninger utføres som grafikken som vises på skjermen, signalbehandling, strengbehandling, flytepunktaritmetikk, inngang-utgangsgrensesnitt, etc.



  Koprosessor
Koprosessor

Koprosessorarkitektur

Koprosessoren som 8087-arkitekturen er vist nedenfor. Vanligvis arbeider denne co-prosessoren med mikroprosessoren parallelt. Denne koprosessoren ble utviklet av Intel og brukt med 16-bits 8086-familiemikroprosessorer. Når prosessoren fungerer i kombinasjon med mikroprosessoren, håndteres beregningsdelen ganske enkelt av prosessoren, og dette lar CPUen bruke ressursene til å utføre forskjellige andre aktiviteter.

Følgende figur representerer arkitekturen til 8087-koprosessoren. Denne arkitekturen inkluderer to hovedenheter som kontrollenhet og en numerisk utførelsesenhet som også kalles NEU.



  8087 Koprosessorarkitektur
8087 Koprosessorarkitektur

I kontrollenheten er det ulike enheter som databuffer, kontroll- og statusordregister, delt operandkø, unntakspeker og adresserings- og busssporingsenhet. Numeric Execution Unit eller NEU inkluderer hovedsakelig en mikrokodekontrollenhet, registerstabel, programmerbar shifter, midlertidig registrerer , aritmetikkmodul, eksponentmodul og delt operandkø.

Kontrollenheten i koprosessoren skal kontrollere instruksjonsutførelsen (IE) som den numeriske utførelsesenheten er ansvarlig for. For det meste henter mikrokodekontrollenheten (CU) til den numeriske utførelsesenheten de numeriske instruksjonene fra koprosessorens kontrollenhet. Denne koprosessoren har komplette 8-registre på 80 biter og hver av disse brukes i LIFO-stakken. Operandene som co-prosessorinstruksjonene vil forekomme over, finnes i registerstakken.

  PCBWay

Den eksisterende stabelen pekes gjennom 3-bits SP (stabelpekeren) som holder de binære verdiene som varierer fra 000 – 111 for å vise de 8 stabelregistrene. Det fungerer innenfor en sirkulær stabel måte i LIFO-modus. Men når tilbakestillingshandlingen skjer, kan pekeren initialiseres med binærverdi '000'.

De numeriske dataene tre klassifikasjoner som co-prosessor funksjoner er pakket desimaltall, reelle tall og binære heltall. De binære heltallene er tre typer 16-biters ordheltall, 32-biters kort heltall og 64-biters langt heltall. 80-bits BCD-formatet angir de pakkede desimaltallene mens reelle tall er 3 typer; 32-biters korte reelle, 64-biters lange reelle og 80-biters midlertidige reelle.

For overføring av numeriske data i koprosessoren enten a 16-bits eksponentbuss eller en 64-bits mantissebuss brukes . Koprosessoren inkluderer et 16-bits kontrollord og et 16-bits statusord.

Kontrollordet skrives inn i kontrollregisteret og dette skjer på en slik måte at koprosessoren til å begynne med skriver kontrollordet i minnet. Etter det leser koprosessoren rett og slett kontrollordet ved å bruke minneplasseringen og lagrer det i kontrollregisteret.

Tilsvarende leser statusordet på en slik måte at prosessoren sender dataene i statusregisteret mot et minnested. Videre leser denne koprosessoren statusregisteret fra den spesifikke plassering av minnet. Så dette betyr at prosessoren og mikroprosessoren kommuniserer med hverandre via hovedminnet.

Hvordan fungerer koprosessor?

Koprosessoren er hovedsakelig designet for å fungere med både 8086- og 8088-prosessorene. Koprosessoren brukes til å hjelpe systemet til å kjøre kraftigere ved å avlaste spesifikke CPU-oppgaver. Når denne prosessoren fungerer i kombinasjon med mikroprosessoren, blir instruksjonene til både mikroprosessoren og koprosessoren integrert mens du skriver programmet. Begynnelsen av instruksjoner i assemblerspråkprogrammet har en 'F' som representerer instruksjonene til koprosessoren, mens instruksjonene uten et 'F'-prefiks viser instruksjonene til mikroprosessoren.

Til å begynne med hentes instruksjonene av mikroprosessoren fra minnet og laster dem sekvensielt i køen, samtidig som 8087-koprosessoren også leser og lagrer instruksjonene i en innvendig kø. Så dette betyr at hver enkelt instruksjon kan leses gjennom både koprosessoren og prosessoren, men på utførelsestidspunktet kan både koprosessoren og mikroprosessoren utføre utførelsen av deres spesielle instruksjoner. Dette betyr at instruksjonen leses og dekodes. Hvis mikroprosessoren sjekker at det er en koprosessorens instr, blir den instruksjonen behandlet som ingen operasjon. På samme måte, hvis denne medprosessoren nærmer seg en hvilken som helst instruksjon fra mikroprosessoren, vil den bli behandlet som ingen operasjon.

Typer koprosessor

Det er forskjellige koprosessorer tilgjengelig basert på produsenter som følgende.

Intel 8087 koprosessor

Intel 8087 er en spesialdesignet co-prosessor som brukes til å utføre matematiske beregninger som inkluderer flytepunkt- og heltallsverdier. Noen ganger er det også kjent som en numerisk dataprosessor og matematisk prosessor. Dette er en numerisk co-prosessor for Intel 80188, 8086, 80186 og 8088 prosessorer. 8087-koprosessoren inkluderer åtte 80-biters generelle registre som kjøres som en stabel. Så alle flyttalloperasjonene utføres ganske enkelt med data fra stabelen og fra eksternt minne.

  Intel 8087 koprosessor
Intel 8087 koprosessor

Intel 8087 co-prosessor støtter ganske enkelt BCD, heltall, enkelt- og dobbelpresisjonsflyttall og også utvidede presisjonsflyttall. Når 8087-prosessoren laster data fra minnet, konverterer den internt for å utvide presisjonstallet og videre utføres alle beregninger gjennom dette tallet.

Så å bytte fra et tall med dobbel presisjon til et tall med enkelt presisjon ellers fra 64-bits heltall – 32-bits/16-biters heltall gir ingen betydelig økning i ytelsen. 8087 koprosessorer ble ikke bare produsert av Intel, men AMD, Cyrix & IBM produserer også disse koprosessorene.

Motorola 68881

Motorola 68881 er en koprosessor som hovedsakelig brukes med 2. generasjon Motorola 68K mikroprosessorer som Motorola 68030 og 68020. Teoretisk sett brukes denne koprosessoren med tidligere 68000 eller 68010 CPUer som en perifer enhet.

  Motorola 68881
Motorola 68881

Motorola 68881 co-prosessor fungerer ganske enkelt som en minnetilordnet enhet. Når hoved-CPU-en laster instruksjonen til co-prosessoren, skriver den instruksjonskoden inn i CIR (Co-processor Interface Registers), som er kartlagt innenfor adresserommet til CPU-en, og etter det leser den svaret fra medbehandler fra et av CIR-registrene.

Motorola 68881/68882-koprosessorene ble brukt i IBM RT PC-arbeidsstasjoner, Sun Microsystems Sun-3-arbeidsstasjoner, NeXT Computer, Apple Computer Macintosh II-familien, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Disse prosessorene brukes også i noen tredjeparts Atari- og Amiga-produkter som en minnetilordnet enhet til 68000.

Apple Motion Coprosessorer

M-seriens koprosessorer til Apple er kjent som bevegelseskoprosessorer som brukes i Apples mobile enheter. Den første koprosessoren ble designet i 2013, brukt til å samle sensordata fra integrerte gyroskoper, akselerometre og kompasser og avlaste de innsamlede sensordataene ved hjelp av hoved-CPU.

  Apple Motion Co-prosessorer
Apple Motion Coprosessorer

Apple-koprosessorene i M-serien samler ganske enkelt prosessorer og lagrer dataene til sensoren selv om enheten er i dvale, og applikasjoner kan gjenopprette data når enheten slås på igjen. Så dette reduserer strømmen som trekkes fra enheten og sparer batteriets levetid.

Forskjellen mellom prosessor og medprosessor

Forskjellen mellom prosessor og koprosessor inkluderer følgende.

Prosessor

Koprosessor

Prosessoren er hovedbehandlingsenheten i datamaskinen som utfører forskjellige aritmetiske, logiske og kontrolloperasjoner basert på instruksjonene. Koprosessoren er en spesiell prosessor som gir støtte til hovedprosessoren.

Prosessoren tar seg av alle hovedarbeidene

Koprosessoren tar seg av noen andre ting bare som grafikk og aritmetiske beregninger.
Den håndterer logiske operasjoner og matematiske beregninger og genererer kontrollsignaler til andre komponenter for å synkronisere oppgavene. Den utfører signalbehandling, matematiske operasjoner, nettverk og kryptografi basert på typen.
Prosessoren opprettholder at hele datamaskinen fungerer som den skal. Denne prosessoren hjelper til med å øke ytelsen til systemet og avlaster alvorlige oppgaver fra CPUen.

Fordeler

Fordelene med en koprosessor inkluderer følgende.

  • Medprosessoren håndterer ganske enkelt mer spesialiserte oppgaver raskere sammenlignet med kjerne-CPU
  • Disse prosessorene er enkle å bruke og de mest populære.
  • Det reduserer mikroprosessorens belastning ved å ta spesielle behandlingsoppgaver fra CPU-en slik at den kjører med høyere hastighet.
  • Denne prosessoren er nyttig for å utvide prosessorens prosesseringsfunksjoner ved å utvide instruksjonssettet eller ved å tilby konfigurasjonsregistre.

Ulemper

Ulempene med koprosessorer inkluderer følgende.

  • Koprosessoren er ikke i stand til å gjenopprette instruksjoner fra minnet, utføre instruksjoner direkte, administrere minne, utføre I/O-operasjoner
  • Det avhenger av hovedprosessoren for å gjenvinne instruksjoner for coprocessor og ta seg av alle andre operasjoner som ikke er relatert til coprocessoren.
  • Dette er ikke hovedprosessoren i systemet.
  • Koprosessoren kan ikke fungere uten hovedmikroprosessoren.

applikasjoner

Anvendelsene til koprosessorer inkluderer følgende.

  • Medprosessoren brukes til å utføre noen av de mer spesialiserte oppgavene som grafisk visningsbehandling eller komplekse matematiske beregninger.
  • En co-prosessor brukes ganske enkelt for å redusere belastningen på CPU-en til en datamaskin.
  • Denne prosessoren fungerer med CPU-en til datamaskinen side ved side.
  • Denne prosessoren utfører matematiske operasjoner på høyt nivå mye raskere sammenlignet med hovedprosessoren som røtter, logaritmer, trigonometrifunksjoner, etc.
  • En koprosessor øker primærprosessorens funksjoner.
  • Koprosessoren utfører forskjellige operasjoner som signalbehandling, flytepunktaritmetikk, strengbehandling, grafikk, I/O-grensesnitt gjennom perifere enheter, kryptografi, etc.
  • Disse prosessorene er frittstående brikker i tidligere stasjonære datamaskiner som var koblet til hovedkortet.
  • En koprosessor håndterer CPU-oppgavene for å øke den generelle ytelsen.

Dermed er dette en oversikt over en koprosessor – arbeid og dets applikasjoner. Denne prosessoren er også kjent som en matematisk prosessor. En koprosessor utfører forskjellige oppgaver veldig raskere sammenlignet med kjerne-CPU. Dermed øker den totale hastigheten til datasystemet. Denne prosessoren kan kobles til en ARM-prosessor. Når den er lagt til, må vi øke Core CPUs instruksjonssett eller inkludere konfigurerbare registre for å øke prosessorkraften. Her er et spørsmål til deg, hva er en mikroprosessor?