Medprocessor: arkitektur, arbete, typer och dess tillämpningar

Prova Vårt Instrument För Att Eliminera Problem





I en mikroprocessor chip, nya kretsar läggs till för att uppnå speciella uppgifter och även operationer på siffror för att avlasta CPU-kärnan så att CPU:n kan fungera mycket snabbt. En kompletterande processor som en Coprocessor används huvudsakligen i datorer för att uppnå speciella uppgifter som grafisk displaybearbetning och breda aritmetiska beräkningar. Denna processor är utformad för att utföra sådana uppgifter mycket effektivt jämfört med processorn, så den totala datorhastigheten kan ökas. Den här artikeln diskuterar en översikt av en samprocessor –arkitektur, arbete och dess tillämpningar.


Vad är Coprocessor?

En processor som fungerar med huvudprocessorn i en dator som processorn sida vid sida är känd som en coprocessor. Denna processor är också känd som en kompletterande datorprocessor. Genom att använda denna processor kan vissa svåra matematiska beräkningar utföras som grafiken som visas på skärmen, signalbehandling, strängbearbetning, flyttalsaritmetik, input-output-gränssnitt, etc.



  Coprocessor
Coprocessor

Medprocessorarkitektur

Samprocessorn som 8087-arkitekturen visas nedan. I allmänhet arbetar denna samprocessor med mikroprocessorn parallellt. Denna samprocessor utvecklades av Intel och användes med 16-bitars 8086-familjens mikroprocessorer. När processorn fungerar i kombination med mikroprocessorn, hanteras beräkningsdelen helt enkelt av processorn och detta tillåter CPU:n att använda resurserna för att utföra olika andra aktiviteter.

Följande figur representerar arkitekturen för 8087-samprocessorn. Denna arkitektur inkluderar två huvudenheter som kontrollenhet och en numerisk exekveringsenhet som också kallas NEU.



  8087 Coprocessor-arkitektur
8087 Coprocessor-arkitektur

I kontrollenheten finns det olika enheter som databuffert, kontroll- och statusordregister, delad operandkö, undantagspekare och adresserings- och bussspårningsenhet. Den numeriska exekveringsenheten eller NEU inkluderar huvudsakligen en mikrokodstyrenhet, registerstack, programmerbar växel, temporär register , aritmetisk modul, exponentmodul & delad operandkö.

Styrenheten i samprocessorn ska styra instruktionsexekveringen (IE) för vilken den numeriska exekveringsenheten är ansvarig. För det mesta erhåller mikrokodstyrenheten (CU) för den numeriska exekveringsenheten de numeriska instruktionerna från samprocessorns styrenhet. Denna samprocessor har kompletta 8-register på 80 bitar och vart och ett av dessa används i LIFO-stacken. De operander över vilka medprocessorinstruktionerna kommer att förekomma finns i registerstacken.

  PCBWay

Den befintliga stacken pekas genom 3-bitars SP (stackpekare) som håller de binära värdena som sträcker sig från 000 – 111 för att visa de 8 stackregistren. Det fungerar i en cirkulär stack i LIFO-läge. Men när återställningsåtgärden inträffar kan pekaren initieras med binärt värde '000'.

De numeriska data tre klassificeringarna på vilka medprocessorfunktionerna är packade decimaltal, reella tal & binära heltal. De binära heltal är tre typer av 16-bitars ordheltal, 32-bitars kort heltal och 64-bitars långt heltal. 80-bitars BCD-formatet betecknar de packade decimaltalen medan reella tal är tre typer; 32-bitars kort reell, 64-bitars lång reell och 80-bitars temporär reell.

För överföring av numeriska data i samprocessorn antingen a 16-bitars exponentbuss eller en 64-bitars mantissabuss används . Samprocessorn inkluderar ett 16-bitars kontrollord och ett 16-bitars statusord.

Styrordet skrivs in i styrregistret & detta sker på ett sådant sätt att samprocessorn initialt skriver styrordet inom minnesplatsen. Därefter läser samprocessorn helt enkelt styrordet med hjälp av minnesplatsen och lagrar det i styrregistret.

På liknande sätt läses statusordet på ett sådant sätt att processorn sänder data i statusregistret mot en minnesplats. Vidare läser denna samprocessor statusregistret från den specifika minnesplatsen. Så detta betyder att processorn och mikroprocessorn kommunicerar med varandra via huvudminnet.

Hur fungerar samprocessor?

Coprocessorn är huvudsakligen designad för att fungera med både 8086 och 8088 processorer. Samprocessorn används för att hjälpa systemet att köras mer kraftfullt genom att avlasta specifika CPU-uppgifter. När den här processorn fungerar i kombination med mikroprocessorn så integreras instruktionerna från både mikroprocessorn och samprocessorn i programmet medan du skriver programmet. Början av instruktioner i assemblerspråksprogrammet har ett 'F' som representerar instruktionerna från samprocessorn medan instruktionerna utan ett 'F'-prefix visar instruktionerna för mikroprocessorn.

Först hämtas instruktionerna av mikroprocessorn från platsen för minnet och laddar dem sekventiellt i kön, samtidigt läser och lagrar 8087-samprocessorn instruktionerna i en invändig kö. Så detta betyder att varje enskild instruktion kan läsas genom både samprocessorn och processorn, men vid exekveringstidpunkten kan både samprocessorn och mikroprocessorn exekvera exekveringen av sina specifika instruktioner. Det betyder att instruktionen läses och avkodas. Om mikroprocessorn kontrollerar att det finns en samprocessors instr, behandlas den instruktionen som No-operation. På liknande sätt, om denna samprocessor närmar sig någon instruktion från mikroprocessorn kommer den att behandlas som ingen operation.

Typer av samprocessor

Det finns olika samprocessorer tillgängliga baserat på tillverkare som följande.

Intel 8087 coprocessor

Intel 8087 är en specialdesignad co-processor som används för att utföra matematiska beräkningar som inkluderar flyttals- och heltalsvärden. Ibland är det också känt som en numerisk dataprocessor och matematisk processor. Detta är en numerisk co-processor för Intel 80188, 8086, 80186 och 8088 processorer. 8087-samprocessorn inkluderar åtta 80-bitars allmänna register som exekveras som en stack. Så alla flyttalsoperationer utförs helt enkelt med data från stacken och från externt minne.

  Intel 8087 Coprocessor
Intel 8087 coprocessor

Intel 8087 co-processor stöder helt enkelt BCD, heltal, enkel- och dubbelprecisionsflyttal och även utökade precisionsflyttal. När 8087-processorn väl laddar data från minnet konverterar den internt för att utöka precisionstalet och vidare utförs alla beräkningar genom detta nummer.

Så att byta från ett nummer med dubbel precision till ett nummer med enkel precision, annars från 64-bitars heltal – 32-bitars/16-bitars heltal ger inte någon betydande ökning av prestanda. 8087 samprocessorer tillverkades inte bara av Intel utan AMD, Cyrix & IBM tillverkar även dessa samprocessorer.

Motorola 68881

Motorola 68881 är en samprocessor som huvudsakligen används med 2:a generationens Motorola 68K mikroprocessorer som Motorola 68030 & 68020. Teoretiskt sett används denna samprocessor med tidigare 68000 eller 68010 processorer som en kringutrustning.

  Motorola 68881
Motorola 68881

Motorola 68881 co-processor fungerar helt enkelt som en minneskartad enhet. När huvudprocessorn väl laddar instruktionen från co-processorn, skriver den instruktionskoden i CIR (Co-processor Interface Registers), som mappas inom CPU:ns adressutrymme, och efter det läser den svaret från bibehandlare från ett av CIR-registren.

Motorola 68881/68882 samprocessorer användes i IBM RT PC-arbetsstationer, Sun Microsystems Sun-3-arbetsstationer, NeXT Computer, Apple Computer Macintosh II-familjen, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon. Dessa processorer används också i vissa tredjeparts Atari & Amiga-produkter som en minnesmappad enhet till 68000.

Apple Motion Coprocessors

M-seriens samprocessorer från Apple är kända som rörelsesamprocessorer som används i Apples mobila enheter. Den första samprocessorn designades 2013 och användes för att samla in sensordata från inbyggda gyroskop, accelerometrar och kompasser och ladda ner insamlad sensordata med hjälp av huvudprocessorn.

  Apple Motion Coprocessors
Apple Motion Coprocessors

Apple-samprocessorerna i M-serien samlar helt enkelt in processer och lagrar data från sensorn även om enheten ligger i viloläge och applikationer kan återställa data när enheten slås på igen. Så detta minskar strömmen från enheten och sparar batteriets livslängd.

Skillnaden mellan processor och medprocessor

Skillnaden mellan processor och samprocessor inkluderar följande.

Processor

Coprocessor

Processorn är den huvudsakliga bearbetningsenheten i datorn som utför olika aritmetiska, logiska och kontrolloperationer baserat på instruktionerna. Coprocessorn är en speciell processor som ger stöd till huvudprocessorn.

Processorn tar hand om alla huvudarbeten

Coprocessorn tar hand om vissa andra saker bara som grafik & aritmetiska beräkningar.
Den hanterar logiska operationer och matematiska beräkningar och genererar styrsignaler till andra komponenter för att synkronisera uppgifterna. Den utför signalbehandling, matematiska operationer, nätverk och kryptografi baserat på typen.
Processorn upprätthåller hela datorns korrekta funktion. Denna processor hjälper till att öka systemets prestanda och avlastar svåra uppgifter från CPU:n.

Fördelar

Fördelarna med en samprocessor inkluderar följande.

  • Medprocessorn hanterar helt enkelt mer specialiserade uppgifter snabbare jämfört med kärnprocessorn
  • Dessa processorer är lätta att använda och de mest populära.
  • Det minskar mikroprocessorns belastning genom att ta speciella bearbetningsuppgifter från processorn så att den körs med högre hastighet.
  • Denna processor är till hjälp för att utöka CPU:ns bearbetningsfunktioner genom att utöka instruktionsuppsättningen eller genom att erbjuda konfigurationsregister.

Nackdelar

Nackdelarna med samprocessorer inkluderar följande.

  • Medprocessorn kan inte återställa instruktioner från minnet, direkt utföra instruktioner, hantera minne, utföra I/O-operationer
  • Det beror på huvudprocessorn att återfå coprocessorinstruktioner och ta hand om alla andra operationer som inte är relaterade till coprocessorn.
  • Detta är inte huvudprocessorn i systemet.
  • Medprocessorn kan inte fungera utan huvudmikroprocessorn.

Ansökningar

Tillämpningarna av samprocessorer inkluderar följande.

  • Medprocessorn används för att utföra några av de mer specialiserade uppgifterna som grafisk visningsbearbetning eller komplexa matematiska beräkningar.
  • En co-processor används helt enkelt för att minska belastningen på en dators CPU.
  • Denna processor arbetar med datorns CPU sida vid sida.
  • Denna processor utför matematiska operationer på hög nivå mycket snabbare jämfört med huvudprocessorn som rötter, logaritmer, trigonometrifunktioner, etc.
  • En samprocessor ökar den primära processorns funktioner.
  • Samprocessorn utför olika operationer som signalbehandling, flyttalsaritmetik, strängbearbetning, grafik, I/O-gränssnitt genom kringutrustning, kryptografi, etc.
  • Dessa processorer är fristående chips i tidigare stationära datorer som var anslutna till moderkortet.
  • En samprocessor hanterar CPU-uppgifterna för att öka den totala prestandan.

Detta är alltså en översikt över en samprocessor – arbete och dess tillämpningar. Denna processor är också känd som en Math Processor. En samprocessor utför olika uppgifter mycket snabbare jämfört med kärnprocessorn. Alltså ökar datorsystemets totala hastighet. Denna processor kan anslutas till en ARM-processor. När den väl har lagts till måste vi öka Core CPU:s instruktionsuppsättning eller inkludera konfigurerbara register för att öka processorkraften. Här är en fråga till dig, vad är en mikroprocessor?