I en mikroprocessor chip, nye kredsløb tilføjes for at opnå specielle opgaver og også operationer på tal for at aflaste CPU-kernearbejdet, så CPU'en kan fungere meget hurtigt. En supplerende processor som en Coprocessor bruges hovedsageligt i computere til at opnå specielle opgaver som grafisk displaybehandling og brede aritmetiske beregninger. Denne processor er designet til at udføre sådanne opgaver meget effektivt sammenlignet med CPU'en, så den samlede computerhastighed kan øges. Denne artikel diskuterer en oversigt over en coprocessor -arkitektur, arbejde og dets applikationer.
Hvad er Coprocessor?
En processor, der arbejder med hovedprocessoren på en computer som CPU'en side om side, er kendt som en coprocessor. Denne processor er også kendt som en supplerende computerprocessor. Ved at bruge denne processor kan nogle vanskelige matematiske beregninger udføres som grafikken, der vises på skærmen, signalbehandling, strengbehandling, flydende komma-aritmetik, input-output-grænseflade osv.

Coprocessor arkitektur
Coprocessor-lignende 8087-arkitekturen er vist nedenfor. Generelt arbejder denne co-processor med mikroprocessoren parallelt. Denne coprocessor blev udviklet af Intel og brugt med 16-bit 8086 familie mikroprocessorer. Når processoren fungerer i kombination med mikroprocessoren, håndteres beregningsdelen simpelthen af processoren, og dette gør det muligt for CPU'en at bruge ressourcerne til at udføre forskellige andre aktiviteter.
Følgende figur repræsenterer arkitekturen af 8087-coprocessoren. Denne arkitektur omfatter to hovedenheder som kontrolenhed og en numerisk udførelsesenhed, som også kaldes NEU.

I kontrolenheden er der forskellige enheder som databuffer, kontrol- og statusordregister, delt operandkø, undtagelsesmarkør og adresserings- og bussporingsenhed. Den numeriske udførelsesenhed eller NEU omfatter hovedsageligt en mikrokodekontrolenhed, registerstak, programmerbar skifter, midlertidig registre , aritmetisk modul, eksponentmodul & delt operandkø.
Styreenheden i coprocessoren skal styre den instruktionsudførelse (IE), som den numeriske udførelsesenhed er ansvarlig for. For det meste henter mikrokodekontrolenheden (CU) i den numeriske udførelsesenhed de numeriske instruktioner fra coprocessorens kontrolenhed. Denne coprocessor har komplette 8-registre på 80 bit, og hver af disse bruges i LIFO-stakken. De operander, over hvilke co-processor instruktionerne vil forekomme, findes i registerstakken.

Den eksisterende stak peges gennem 3-bit SP (stack pointer), som holder de binære værdier, der går fra 000 – 111, for at vise de 8 stak registre. Det fungerer inden for en cirkulær stak måde i LIFO-tilstand. Men når først nulstillingshandlingen finder sted, kan markøren initialiseres med den binære værdi '000'.
De numeriske data tre klassifikationer, på hvilke co-processor funktionerne er pakket decimaltal, reelle tal og binære heltal. De binære heltal er tre typer 16-bit ord heltal, 32-bit kort heltal og 64-bit langt heltal. 80-bit BCD-formatet angiver de pakkede decimaltal, mens reelle tal er 3 typer; 32-bit kort reel, 64-bit lang reel og 80-bit midlertidig reel.
Til overførsel af de numeriske data i coprocessoren enten a 16-bit eksponentbus eller en 64-bit mantissebus anvendes . Coprocessoren inkluderer et 16-bit kontrolord og et 16-bit statusord.
Styreordet skrives ind i styreregisteret, og dette foregår på en sådan måde, at coprocessoren til at begynde med skriver styreordet i hukommelsens placering. Derefter læser coprocessoren blot styreordet ved hjælp af hukommelsesplaceringen og gemmer det i kontrolregisteret.
Tilsvarende læser statusordet på en sådan måde, at processoren sender dataene i statusregisteret mod et lagersted. Yderligere læser denne coprocessor statusregistret fra den specifikke placering af hukommelsen. Så det betyder, at processoren og mikroprocessoren kommunikerer med hinanden via hovedhukommelsen.
Hvordan fungerer coprocessor?
Coprocessoren er hovedsageligt designet til at fungere med både 8086- og 8088-processorerne. Coprocessoren bruges til at hjælpe systemet med at køre mere kraftfuldt ved at aflaste specifikke CPU-opgaver. Når denne processor fungerer i kombination med mikroprocessoren, er instruktionerne fra både mikroprocessoren og coprocessoren integreret i, mens programmet skrives. Begyndelsen af instruktioner i assemblersprogprogrammet har et 'F', der repræsenterer instruktionerne fra coprocessoren, mens instruktionerne uden et 'F'-præfiks viser instruktionerne fra mikroprocessoren.
I første omgang hentes instruktionerne af mikroprocessoren fra hukommelsens placering og indlæser dem sekventielt i køen, på samme tid læser og gemmer 8087-coprocessoren også instruktionerne i en indvendig kø. Så det betyder, at hver enkelt instruktion kan læses gennem både coprocessoren og processoren, men på udførelsestidspunktet kan både coprocessoren og mikroprocessoren udføre udførelsen af deres særlige instruktioner. Det betyder, at instruktionen læses og afkodes. Hvis mikroprocessoren kontrollerer, at der er en coprocessors instr, behandles den instruktion som No-operation. Tilsvarende, hvis denne co-processor nærmer sig en hvilken som helst instruktion fra mikroprocessor, vil den blive behandlet som ingen operation.
Typer af coprocessor
Der er forskellige coprocessorer tilgængelige baseret på producenter som følgende.
Intel 8087 Coprocessor
Intel 8087 er en specialdesignet co-processor, der bruges til at udføre matematiske beregninger, der inkluderer flydende komma- og heltalsværdier. Nogle gange er det også kendt som en numerisk dataprocessor og matematikprocessor. Dette er en numerisk co-processor til Intel 80188, 8086, 80186 og 8088 processorer. 8087-coprocessoren inkluderer otte 80-bit generelle registre, som udføres som en stak. Så alle flydende komma-operationer udføres simpelthen med data fra stakken og fra ekstern hukommelse.

Intel 8087 co-processor understøtter simpelthen BCD, heltal, enkelt- og dobbeltpræcisions flydende-komma-tal og også udvidede præcisions-floating-point-tal. Når 8087-processoren indlæser data fra hukommelsen, konverterer den internt for at udvide præcisionstallet og yderligere udføres alle beregninger gennem dette tal.
Så skift fra et tal med dobbelt præcision til et tal med enkelt præcision ellers fra 64-bit heltal - 32-bit/16-bit heltal giver ikke nogen væsentlig stigning i ydeevnen. 8087 coprocessorer blev ikke kun fremstillet af Intel, men AMD, Cyrix & IBM fremstiller også disse coprocessorer.
Motorola 68881
Motorola 68881 er en coprocessor, der hovedsageligt bruges sammen med 2. generation af Motorola 68K mikroprocessorer som Motorola 68030 & 68020. Teoretisk set bruges denne coprocessor med tidligere 68000 eller 68010 CPU'er som en perifer enhed.

Motorola 68881 co-processor fungerer simpelthen som en hukommelseskortet enhed. Når først hoved-CPU'en indlæser instruktionen fra co-processoren, så skriver den instruktionskoden ind i CIR (Co-processor Interface Registers), som er kortlagt inden for CPU'ens adresserum, og derefter læser den svaret fra medbehandler fra et af CIR-registrene.
Motorola 68881/68882-coprocessorerne blev brugt i IBM RT PC-arbejdsstationerne, Sun Microsystems Sun-3-arbejdsstationerne, NeXT Computer, Apple Computer Macintosh II-familien, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Disse processorer bruges også i nogle tredjeparts Atari & Amiga-produkter som en hukommelseskortet enhed til 68000.
Apple Motion Coprocessors
M-seriens coprocessorer fra Apple er kendt som motion coprocessors, som bruges i Apples mobile enheder. Den første coprocessor blev designet i 2013, brugt til at indsamle sensordata fra indbyggede gyroskoper, accelerometre og kompasser og aflæse de indsamlede sensordata ved hjælp af hoved-CPU'en.

Apple-coprocessorerne i M-serien indsamler ganske enkelt processer og gemmer sensorens data, selvom enheden er i dvale, og applikationer kan gendanne data, når enheden tændes igen. Så dette reducerer strømmen fra enheden og sparer batteriets levetid.
Forskellen mellem processor og coprocessor
Forskellen mellem processor og coprocessor inkluderer følgende.
Processor |
Coprocessor |
Processoren er hovedbehandlingsenheden i computeren, der udfører forskellige aritmetiske, logiske og kontroloperationer baseret på instruktionerne. | Coprocessoren er en speciel processor, der understøtter hovedprocessoren.
|
Processoren tager sig af alle hovedopgaverne
|
Coprocessoren tager sig af nogle andre ting kun som grafik og aritmetiske beregninger. |
Den håndterer logiske operationer og matematiske beregninger og genererer styresignaler til andre komponenter til synkronisering af opgaverne. | Den udfører signalbehandling, matematiske operationer, netværk og kryptografi baseret på typen. |
Processoren opretholder hele computerens korrekte funktion. | Denne processor hjælper med at øge systemets ydeevne og aflaster svære opgaver fra CPU'en. |
Fordele
Fordelene ved en coprocessor omfatter følgende.
- Co-processoren håndterer simpelthen mere specialiserede opgaver hurtigere sammenlignet med kerne-CPU'en
- Disse processorer er nemme at bruge og de mest populære.
- Det mindsker mikroprocessorens belastning ved at tage særlige behandlingsopgaver fra CPU'en, så den kører med en højere hastighed.
- Denne processor er nyttig til at udvide CPU'ens behandlingsfunktioner ved at udvide instruktionssættet eller ved at tilbyde konfigurationsregistre.
Ulemper
Ulemperne ved coprocessorer omfatter følgende.
- Coprocessoren er ikke i stand til at gendanne instruktioner fra hukommelsen, direkte udføre instruktioner, administrere hukommelse, udføre I/O-operationer
- Det afhænger af hovedprocessoren at genvinde coprocessorinstruktioner og tage sig af alle andre operationer, der ikke er relateret til coprocessoren.
- Dette er ikke den største processor i systemet.
- Coprocessoren kan ikke fungere uden hovedmikroprocessoren.
Ansøgninger
Anvendelsen af coprocessorer omfatter følgende.
- Co-processoren bruges til at udføre nogle af de mere specialiserede opgaver såsom grafisk displaybehandling eller komplekse matematiske beregninger.
- En co-processor bruges simpelthen til at reducere belastningen på en computers CPU.
- Denne processor arbejder med computerens CPU side om side.
- Denne processor udfører matematiske operationer på højt niveau meget hurtigere sammenlignet med hovedprocessoren som rødder, logaritmer, trigonometrifunktioner osv.
- En coprocessor øger den primære processors funktioner.
- Coprocessoren udfører forskellige operationer som signalbehandling, flydende komma-aritmetik, strengbehandling, grafik, I/O-grænseflade gennem perifere enheder, kryptografi osv.
- Disse processorer er selvstændige chips i tidligere stationære computere, der var forbundet til bundkortet.
- En coprocessor håndterer CPU-opgaverne for at øge den samlede ydeevne.
Dette er således en oversigt over en coprocessor – arbejde og dets anvendelser. Denne processor er også kendt som en Math Processor. En coprocessor udfører forskellige opgaver meget hurtigere sammenlignet med kerne-CPU'en. Dermed stiger den samlede hastighed af computersystemet. Denne processor kan tilsluttes en ARM-processor. Når det først er tilføjet, skal vi øge Core CPU's instruktionssæt eller inkludere konfigurerbare registre for at øge processorkraften. Her er et spørgsmål til dig, hvad er en mikroprocessor?