Társprocesszorok. Koprocesszor - mi ez? A munka leírása és visszajelzése Mi a társprocesszor célja

Matematikai társprocesszor

Matematikai társprocesszor - társprocesszor a központi processzor utasításkészletének bővítésére és a lebegőpontos műveleti modul funkcionalitásának biztosítására olyan processzorok számára, amelyek nem rendelkeznek integrált modullal. ábrán. A 4. ábra az alaplap matematikai társprocesszorát mutatja.

1. ábra. Matematikai társprocesszor

Annak ellenére, hogy a 486-tól kezdve szinte minden processzor integrált társprocesszorral van felszerelve, teljesítményük változhat. A történelem során az Intel társprocesszorai gyorsabbak voltak, mint az AMD-é és a Cyrix-é, de ez az elmúlt években megváltozott.

A lebegőpontos (vagy lebegőpontos) egység a processzor része, amely valós számokon matematikai műveletek széles skáláját hajtja végre.

A valós számokkal és matematikai műveletekkel való egyszerű egész processzorokhoz megfelelő támogatási eljárások és idő szükséges a végrehajtásukhoz. A lebegőpontos műveleti modul támogatja a velük való munkát primitív szinten - egy valós szám betöltése, kirakodása (speciális regiszterekből) vagy egy matematikai művelet rajtuk egy paranccsal történik, ennek köszönhetően az ilyen műveletek jelentős felgyorsítása érhető el.

A matematikai társprocesszorokat lebegőpontos processzoroknak is nevezik, mert a matematikának ezen a területén különösen fényesen mutatják meg képességeiket. A lebegőpontos számokat gyakran használják tudományos számításokban, és általában a mantissza és az ordináta képviseli őket. A matematikai társprocesszor telepítéséből származó előny attól függ, hogy milyen feladatokat oldanak meg a számítógépen. Az Intel szerint a társprocesszor 80%-kal vagy még többel csökkentheti az olyan matematikai műveletek végrehajtási idejét, mint a szorzás, osztás, hatványozás. Az egyszerű műveletek, például az összeadás és kivonás sebessége gyakorlatilag nem csökken.

A mikroprocesszorba épített jelek lehetővé teszik a munka átadását a társprocesszornak, majd a feldolgozási eredmények fogadását.

A számítógéphez mellékelt aritmetikai társprocesszor használatához olyan programokra van szükség, amelyek ki tudják adni a társprocesszor futtatásához szükséges speciális kódokat.

A 8088, 80286, 80386 mikroprocesszorokat úgy tervezték, hogy lehetővé tegyék az Intel 8087, 80287, 80387 aritmetikai társprocesszorainak használatát. A mikroprocesszorok későbbi modelljei beépített társprocesszorokkal rendelkeznek.

Gyakorlati szempontból a szöveg-előkészítéshez és adatbázis-karbantartáshoz kapcsolódó, bonyolult matematikai számításokat nem igénylő funkciók teljesítménye matematikai társprocesszorral nem javítható. A társprocesszor és a fő mikroprocesszor eltérő órajel-frekvencián működhet (saját órajelgenerátorból).

A végrehajtható programnak magának kell meghatároznia egy társprocesszor jelenlétét, majd használnia kell a hozzá írt utasításokat; egyébként a társprocesszor csak áramot vesz fel és nem csinál semmit. A legtöbb modern, társprocesszorok használatára tervezett program észleli annak jelenlétét, és kihasználja a kínált lehetőségeket. A koprocesszorokat leghatékonyabban az összetett matematikai számításokat végző programokban használják: táblázatokban, adatbázisokban, statisztikai programokban és számítógéppel segített tervezőrendszerekben. Ugyanakkor, amikor szövegszerkesztőkkel dolgozik, a társprocesszort egyáltalán nem használják.

A valós számokkal és matematikai műveletekkel való munkavégzéshez egyszerű "egész" processzorokhoz megfelelő támogatási eljárások és idő szükséges a végrehajtásukhoz. A lebegőpontos műveleti modul támogatja a velük való munkavégzést primitív szinten - egy valós szám betöltése, kirakodása (speciális regiszterekből) vagy egy matematikai művelet rajtuk egy paranccsal történik, ennek köszönhetően az ilyen műveletek jelentős felgyorsítása érhető el. . Az FPU belsejében a számok 80 bites lebegőpontos formátumban vannak tárolva, íráshoz vagy memóriából való olvasáshoz használhatók:

Valós számok három formátumban: rövid (32 bit), hosszú (64 bit) és kiterjesztett (80 bit).

Bináris egész számok három formátumban: 16, 32 és 64 bites.

Packed integer decimális (BCD) számok – A számok maximális hossza 18 csomagolt decimális számjegy (72 bit).

Az FPU speciális számértékeket is támogat:

A demoralizált valós számok olyan számok, amelyek kisebbek a minimális normalizált számnál. Amikor ilyen értéket alakítunk ki egy bizonyos veremregiszterben, egy speciális érték (10) kerül kialakításra a TWR regiszter címkéjében, amely ennek a regiszternek felel meg;

A végtelenség (pozitív és negatív) akkor fordul elő, ha egy nem nulla értéket elosztunk nullával, valamint amikor túlcsordul. Ha ilyen értéket alakítunk ki egy bizonyos veremregiszterben, egy speciális érték (10) keletkezik a TWR regiszter címkéjében, amely ennek a regiszternek felel meg.

Nem szám, kétféle nem szám létezik:

Jelszámok. A társprocesszor reagál ennek a számnak a megjelenésére. A veremregiszterben érvénytelen műveleti kivételt emel ki. A társprocesszor nem generál jelszámokat. A programozók szándékosan alkotnak ilyen számokat, hogy a megfelelő helyzetben kivételt hozzanak létre.

Nyugodt (csendes) nem számok. A társprocesszor bizonyos kivételekre válaszul csendes nem számokat képezhet, mint például a valós bizonytalansági szám.

Nulla – Lebegőpontos formátumban a nulla is speciális értéknek számít.

kétértelműségek és nem támogatott formátumok. Sok bithalmaz létezik, amely kiterjesztett valós számformátumban ábrázolható. A legtöbb értéknél érvénytelen műveleti kivételt dob ​​a rendszer.

Egy speciális processzor, amely matematikai műveletek végrehajtására van beállítva, és azokat sokszor gyorsabban valósítja meg, mint a központi processzor. Így lehetőség nyílt a központi processzor teljesítményének növelésére egy speciális modulon - egy matematikai társprocesszoron keresztül. A központi feldolgozó egységgel ellentétben a matematikai társprocesszor nem vezérli a számítógép áramköreinek nagy részét. Éppen ellenkezőleg, a matematikai társprocesszor összes tevékenységét a központi processzor határozza meg, amely parancsokat küldhet a matematikai társprocesszornak, hogy programokat hajtson végre és eredményeket generáljon. Normál üzemmódban a központi feldolgozó egység ellátja a számítógép összes funkcióját. És csak akkor, ha olyan feladattal találkozunk, amelyet a matematikai társprocesszor jobban tud kezelni, akkor adatot, parancsot kap, és a központi processzor várja az eredményeket. Ilyen feladatok például a valós számok közötti matematikai műveletek (lebegőpontos számok közötti műveletek), ahol a számokat a mantisszával és az ordinátával (a tizedespont helyzetét meghatározó szám tizedes hatványával) ábrázolják. Ha korábban, az első generációs számítógépekben (i80386, i80486) a matematikai koprocesszor modult külön chipként telepítették az alaplapra, akkor a modern számítógépekben nincs szükség matematikai koprocesszor külön chipként történő használatára, mivel az már be van építve a központi processzorba. A matematikai társprocesszor használatából származó előnyök attól függnek, hogy milyen feladatokat hajtanak végre a személyi számítógépen.

A matematikai társprocesszor telepítéséből származó előnyök attól függnek, hogy milyen feladatokat oldanak meg a számítógépen. Az Intel szerint a társprocesszor legalább 80%-kal csökkentheti a matematikai műveletek végrehajtási idejét, például szorzást, osztást és hatványozást. Az egyszerű műveletek, például az összeadás és kivonás sebessége egyáltalán nem csökken.

A koprocesszor egy speciális integrált áramkör, amely együtt működik

fő processzor. A társprocesszor általában végrehajtásra van konfigurálva

valamilyen konkrét függvény - matematikai művelet vagy grafika

reprezentáció. A társprocesszor pedig sokszor végrehajthatja ezt a műveletet

gyorsabb, mint a fő processzor. Így egy számítógép koprocesszorral

sokkal gyorsabban működik.

A koprocesszor elterjedt mikroprocesszor, de nem olyan sokoldalú. Általában

a társprocesszort speciális eszközként fejlesztik egy adott megvalósítására

egy konkrét funkciót. Mivel a társprocesszor repertoárja korlátozott, újra tud működni

hogy senki máshoz hasonlóan elemezze a számára kiosztott funkciókat.

Mint minden más mikroprocesszor, a társprocesszor is ugyanazon az elven működik. Ő

egyszerűen végrehajtja a mikroprocesszor sorozatot tartalmazó programokat

parancsokat. A SoP processzor nem vezérli a számítógép áramköreinek nagy részét.

Normál módban a mikroprocesszor ellátja a számítógép összes funkcióját. És csak akkor, amikor

van egy feladat, amit a társprocesszor jobban tud kezelni, adatátvitel történik rá

és a vezérlőparancsokat, a CPU pedig várja az eredményeket.

A PC-kben leggyakrabban használt társprocesszorok a matematikai koprocesszorok.

társprocesszorok. A matematikában a számok szorzására és osztására szakosodtak.

A matematikai társprocesszorokat lebegőpontos processzoroknak is nevezik.

mert különösen megmutatják bennük rejlő lehetőségeket ezen a területen

matematika. A lebegőpontos számokat gyakran használják tudományos számításokban és

általában a mantissza és az ordináta képviseli.

A matematikai társprocesszor telepítéséből származó előny attól függ

milyen feladatokat hajtanak végre a számítógépen. Intel társprocesszor szerint

csökkentheti a matematikai műveletek végrehajtási idejét, mint pl

szorzás, osztás, hatványozás 80%-kal vagy annál nagyobb.

Az egyszerű műveletek, mint az összeadás és kivonás, végrehajtásának sebessége gyakorlatilag

nem csökken.

Gyakorlati szempontból a képzési rendszer teljesítménye

szövegek és adatbázis-karbantartás - olyan funkciók, amelyek nem igényelnek bonyolult matematikai ismereteket

a számításokat nem lehet matematikai társprocesszorral javítani.

A társprocesszor és a fő mikroprocesszor eltérő órajelen működhet

(saját óragenerátorokból).

Ha a mikroprocesszor és a társprocesszor frekvenciájának arányát egész számban fejezzük ki,

szinkronban működnek, és optimálisan tudnak információt továbbítani egymásnak

módon. A nem szinkronizált munkához az egyik vagy a másik megköveteli

várta partnere ciklusának befejezését, ami a megjelenéssel jár

kicsi, de igazi várakozási idő.

Az Intel társprocesszor-család a következőkből áll: 8087, 80287, 80387, 80387SX.

Mindegyiket kifejezetten úgy tervezték, hogy a megfelelőkkel működjön együtt

a fő Intel család mikroprocesszora. Mind a négynek megvan a sajátja

jellemzők. Korlátozások az egyszeri információfeldolgozásra

8, 16, 32 bit messze elmarad. Az Intel társprocesszorai azonnal feldolgozzák a 80-at

bit. Minden társprocesszor nyolc 80 bites regisztert tartalmaz, amelyekben és

elvégzi a számításait. 32, 64 vagy 80 bites számokkal dolgoznak

lebegőpont; 32 vagy 64 bites egész számok. Általános szabály, hogy a társprocesszorok

a központi függelékeként működnek.

Mindkét processzor a számítógép címinformációs sorain lóg, és teljesít

mindegyik saját parancsokkal, ahogy azok a programban megjelennek. a társprocesszorok képesek

funkcióikat a központi processzor munkájával párhuzamosan látják el, azaz

ebben az esetben mindkét agy egyszerre gondolkodik, mert mindegyik olvas

parancsaikat közvetlenül a buszról, és a CPU-t nem kell megszakítani,

parancsot adni a társprocesszornak.

Ezt a társprocesszort kifejezetten az Intel 8086-tal való használatra tervezték,

8088, 80186, 80188. Ezért ezekkel a mikroprocesszorokkal azonos

az információk megszólításának és észlelésének lehetőségei. Ráadásul maga ez a társprocesszor

az adatbusz méretéhez van konfigurálva - nyolc vagy tizenhat tibit (8086 vagy

8088 család). Szabványos 40 tűs csatlakozóba van beépítve és

68 egységgel növeli a számítógépes parancsok listáját.

Ennek a koprocesszornak három változata van, amelyek gyakorisága különbözik: 5, 8,

Hasonlóképpen, a 80286 a 8086, a 80287 a 8087 kiterjesztése.

A 80287 fő előnye a valós és a működési képesség

védett módban pedig 80286 mikroprocesszor. Megszólítási képességgel rendelkezik

mind a 16M memória.

A 80287 szinte teljesen kompatibilis a 8087-tel, és szinte bármit használhat

utóbbi szoftvere. A fő funkcionális különbség ezek között

társprocesszorokat a hibahelyzetek kezelésében. Ha hibát talál, ezeket

a chipek eltérően viselkedhetnek. A szoftver azonban képes

kompenzálni ezeket az eltéréseket.

A 80287 egy 40 tűs DIP-csomagban található. De nem példaként a fiatalabbja előtt

haver, a 80287 a központi mikroprocesszortól eltérően is működhet

órajel frekvenciája.

mikroprocesszor, beépített osztó áramkörrel rendelkezik, ami csökkenti a belső

a frekvencia háromszorosa.

A saját generátor használatával a 80287 jelentősen megnövelheti

teljesítmény.

A 8087-hez hasonlóan a 80287-nek is négy olyan módosítása van, amelyek különböznek egymástól

A 80287 kompatibilis a 80386 mikroprocesszorral. Ezek azonban másképp működnek

frekvenciákat, ezért speciális interfész szükséges a busz eléréséhez

Sőt, mivel a 80287 egy 16 bites chip, minden összeköttetés

A 80386-ot 16 bites szavakban kell megvalósítani, ami potenciálisan csökkenti

teljesítmény.

80387 és 80387SX

Ugyanúgy, ahogy az Intel a múlt tanulságait figyelembe véve a 80386-ot, a 80387-et gyártotta.

a 80287 társprocesszor továbbfejlesztése. A fennmaradó csapat kompatibilis

80287, 80387 növelte az adatkezelés sebességét. De megint voltak különbségek

deniya a hibák feldolgozásában. De a 80387 lehetőségei nagyobbak voltak – megvalósította

minden transzcendentális és logaritmikus függvény.

80387SX – minden tekintetben hasonló a 80387-hez, de úgy tervezték, hogy működjön rajta

16 bites 80386SX busz a 32 bites adatbusz helyett.

A 80387 és a 80387SX minden programot futtathat a 80287-hez. Fordítva nem

egyenértékű. A 387-esekkel a fő probléma a kissé eltérő eredmények

a transzcendentális függvény számításai 80287-ből.

A 80387 ugyanazon a frekvencián fut, mint a CPU. Elérhető

ennek a koprocesszornak a megfelelő módosításai 25 MHz-ig.

Coprocessor - egy speciális processzor, amely kiterjeszti a számítógépes rendszer központi processzorának képességeit, de külön funkcionális modulként tervezték. Fizikailag a társprocesszor lehet egy külön chip, vagy beépíthető a központi feldolgozó egységbe.

A következő típusú társprocesszorok léteznek:

Általános célú matematikai társprocesszorok, amelyek jellemzően felgyorsítják a lebegőpontos számításokat,

I/O társprocesszorok (például Intel 8089), amelyek tehermentesítik a központi processzort az I/O műveletek vezérlése alól, vagy bővítik a processzor szabványos címterét,

Társprocesszorok bármilyen rendkívül speciális számítás elvégzéséhez.

A társprocesszor nem teljes értékű processzor, mivel a központi processzor perifériás eszköze lévén nem hajt végre sok processzorra jellemző műveletet (például nem tud programmal dolgozni és memóriacímeket számolni).

A központi processzor és a társprocesszor közötti interakciós sémák egyike, amelyet különösen az x86 társprocesszorokban használnak, a következőképpen valósul meg:

A koprocesszor a központi processzor buszaihoz csatlakozik, és számos speciális jellel rendelkezik a processzorok egymás közötti szinkronizálására.

A központi processzor utasításkódjainak egy része a társprocesszor számára van fenntartva. A CPU sorban dekódolja és végrehajtja az utasításokat. Amikor olyan utasítás történik, amelyet a társprocesszornak végre kell hajtania, a CPU műveleti kódot küld a társprocesszornak. Ebben az esetben, ha további memória-hozzáférésre van szükség (az eredmények olvasásához vagy írásához), a társprocesszor „elfogja” az adatbuszt.

A parancs és a szükséges adatok kézhezvétele után a társprocesszor megkezdi a végrehajtását. Amíg a társprocesszor végrehajtja az utasítást, addig a CPU a koprocesszor számításaival párhuzamosan folytatja a program végrehajtását. Ha a következő utasítás egyben társprocesszoros utasítás is, a processzor leáll, és várja, hogy a társprocesszor befejezze az előző utasítás végrehajtását.

Létezik egy speciális várakozási utasítás (FWAIT), amely kényszeresen leállítja a processzort a számítások befejezése előtt (ha az eredmények szükségesek a program folytatásához). Az utasítás jelenleg csak kivételkezelésre használatos lebegőpontos munkavégzés esetén, a processzor és a társprocesszor munkája transzparensen szinkronizálva van a programozó számára.

Az Intel486DX processzortól kezdve a lebegőpontos egységet integrálták a CPU-ba, és FPU-nak hívták. Az Intel486SX vonalban az FPU modul le volt tiltva (eleinte a hibás FPU-val rendelkező processzorok ebbe a sorba estek). Az Intel486SX processzorokhoz Intel487SX "társprocesszort" gyártottak, de valójában ez egy Intel486DX processzor volt, és amikor telepítették, az Intel486SX processzort letiltották.


Az integráció ellenére az i486 processzorokban lévő FPU változatlan, ugyanazon a chipen készült koprocesszor, ráadásul az i486 FPU áramkör az órajel frekvenciájáig (a központi processzor frekvenciájának fele) teljesen megegyezik az előző generációs 387DX koprocesszorral. Az FPU és a CPU valódi integrációja csak a Pentium MMX processzorokkal kezdődött.

A Weitek által gyártott x86 platform társprocesszorait széles körben használták a megfelelő időszakban - 1167, 2167-et adtak ki chipkészlet formájában, illetve 3167, 4167 chipeket a 8086, 80286, 80386, 80486 processzorokhoz. Az Intel társprocesszoraihoz képest 2-3-szor nagyobb teljesítményt nyújtottak, de inkompatibilis szoftveres interfésszel rendelkeztek memória-leképezési technológiával. Ez abból a tényből fakadt, hogy a főprocesszornak információkat kellett írnia a memória bizonyos, a társprocesszor által vezérelt területeire. Az adott cím, ahol a felvétel készült, egy adott parancsként értelmezett. Az inkompatibilitás ellenére a Weitek társprocesszorait széles körben támogatták mind a szoftverfejlesztők, mind az ilyen chipet tartalmazó alaplapgyártók.

Számos más cég gyártott különféle inkompatibilis matematikai társprocesszorokat, amelyek I/O portokon vagy BIOS-megszakításokon keresztül kapcsoltak hozzájuk, de ezeket nem alkalmazták széles körben.

A társprocesszor egy ASIC, amely a CPU-val együtt működik, de kevésbé sokoldalú. A CPU-val ellentétben a társprocesszornak nincs programszámlálója. A koprocesszort bizonyos funkciók végrehajtására tervezték, például: műveletek végrehajtása valós számokkal - matematikai koprocesszor, grafikus képek és háromdimenziós jelenetek készítése - grafikus koprocesszor, digitális jelfeldolgozás - jel társprocesszor stb.

A különböző funkcionalitású társprocesszorok használata számos probléma megoldását teszi lehetővé:

gazdasági információk feldolgozása;

modellezés;

· grafikai átalakítások;

ipari menedzsment;

· Numerikus vezérlőrendszerek;

· robotok;

· navigáció;

adatgyűjtés stb.

Cache memória

A gyorsítótár egy nagy sebességű memória, amely a CPU-val ugyanazon a chipen vagy a CPU-n kívül található. A gyorsítótár nagy sebességű pufferként szolgál a CPU és a viszonylag lassú főmemória között. A cache memória ötlete a RAM-hoz való legvalószínűbb CPU-hozzáférések előrejelzésén alapul.

Ha a CPU elérte a RAM bármely objektumát, akkor nagy valószínűséggel hamarosan ismét hozzá fog férni ehhez az objektumhoz. Példa erre a helyzetre a kód vagy az adatok hurokban.

Fontos megjegyezni, hogy három írási módszert használnak a gyorsítótár és a RAM tartalmának összehangolására:

· Átírás – A RAM a gyorsítótárral egyidejűleg frissül.

· Pufferelt átírás – az információk késleltetésre kerülnek a gyorsítótár pufferében, mielőtt a RAM-ba íródnak, és átíródnak a RAM-ba azokban a ciklusokban, amikor a CPU nem fér hozzá.

Visszaírás (visszaírás) - a címke mezőben lévő változásbitet használjuk, és csak akkor írjuk át a sort a RAM-ba, ha a változásbit 1.

A gyorsítótár szerkezetében kétféle adatblokk található:

Adatmegjelenítő memória (maga adat, RAM-ból sokszorosítva);

Címkememória (a RAM-ban tárolt adatok helyét jelző szolgáltatások).

A gyorsítótárban lévő adatleképezési memóriaterület vonalakra van felosztva - rögzített hosszúságú blokkokra (például 32, 64 vagy 128 bájt). Minden gyorsítótár sor tartalmazhat egy összefüggő igazított bájtblokkot a fő memóriából. A RAM melyik blokkja van leképezve egy adott gyorsítótár-sorhoz, azt a vonalcímke és a leképezési algoritmus határozza meg. A RAM gyorsítótárhoz való hozzárendelésére szolgáló algoritmusok szerint a gyorsítótár három típusát különböztetjük meg:

teljesen asszociatív gyorsítótár;

közvetlen leképezési gyorsítótár;

· többszörös asszociatív gyorsítótár.

Teljesen asszociatív A gyorsítótár jellemzője, hogy a gyorsítótárvezérlő a RAM bármely blokkját el tudja helyezni a gyorsítótár bármely sorába.

Ebben az esetben a fizikai cím két részre oszlik: a blokkban lévő eltolásra (cache sor) és a blokkszámra. Amikor egy blokkot elhelyezünk a gyorsítótárban, a blokk száma a megfelelő sor címkéjében tárolódik. Amikor a CPU hozzáfér a gyorsítótárhoz egy szükséges blokk miatt, a gyorsítótár hiánya csak az összes sor címkéjének a blokkszámmal való összehasonlítása után lesz észlelve.

Ennek a megjelenítési módnak az egyik alapvető előnye a RAM jó kihasználása, mert. nincs korlátozás arra vonatkozóan, hogy melyik blokkot melyik gyorsítótár-sorhoz kell leképezni. A hátrányok közé tartozik ennek a módszernek a bonyolult hardveres megvalósítása, amely nagyszámú áramköri komponenst (főleg komparátort) igényel, ami az ilyen gyorsítótárhoz való hozzáférési idő növekedéséhez és költségének növekedéséhez vezet.

Közvetlen leképezési gyorsítótár(vagy egyirányú asszociatív gyorsítótár). Ebben az esetben a memóriacím (blokkszám) egyértelműen meghatározza azt a gyorsítótár sort, amelybe ez a blokk kerül. A fizikai cím három részre oszlik: blokkeltolás (gyorsítótár sor), gyorsítótár sorszáma és teᴦ. Ez vagy az a blokk mindig egy szigorúan meghatározott gyorsítótár-sorba kerül, és egy másik ott tárolt blokkot helyettesít, ha az rendkívül fontos. Amikor a CPU egy szükséges blokk miatt hozzáfér a gyorsítótárhoz, csak egy sor címkéjét kell ellenőriznie, hogy megállapítsa, sikeres volt-e vagy gyorsítótár hiánya.

Ennek az algoritmusnak a nyilvánvaló előnye a megvalósítás egyszerűsége és alacsony költsége. A hátrányok közé tartozik az ilyen gyorsítótár alacsony hatékonysága a sorok valószínű gyakori újratöltése miatt. Például a rendszer minden 64. memóriahelyéhez való hozzáféréskor a gyorsítótár-vezérlő kénytelen lesz folyamatosan újratölteni ugyanazt a gyorsítótár-sort anélkül, hogy a többit egyáltalán felhasználná.

Több asszociatív gyorsítótár(vagy részben asszociatív gyorsítótár). Ez egy kompromisszum az első két algoritmus között.

Ezzel a cache-memória-rendezési módszerrel a sorokat csoportokba vonják össze, amelyek 2/4/8/: sorokat tartalmazhatnak. Az ilyen csoportokban lévő sorok számának megfelelően megkülönböztetünk 2-bemenetű, 4-bemenetű stb. asszociatív gyorsítótár. A memória elérésekor a fizikai cím három részre oszlik: az eltolás a blokkban (gyorsítótár sor), a csoport (készlet) szám és a teᴦ. Azt a memóriablokkot, amelynek címe megfelel egy bizonyos csoportnak, ennek a csoportnak bármelyik sorába kell helyezni, és a megfelelő értéket a sorcímkébe kell helyezni. Nyilvánvalóan a kiválasztott csoporton belül betartják az asszociativitás elvét. Másrészt egy adott blokk csak egy szigorúan meghatározott csoportba eshet, ami a közvetlen leképezési gyorsítótár megszervezésének elvét visszhangozza. Ahhoz, hogy a processzor azonosítani tudja a gyorsítótár hiányát, csak egy csoport címkéit kell ellenőriznie (2/4/8/: sorok).

A következő típusú társprocesszorok léteznek:

  • általános célú matematikai társprocesszorok, amelyek jellemzően gyorsítják a lebegőpontos számításokat,
  • bemeneti-kimeneti társprocesszorok (például - Intel 8089), amelyek a központi processzort tehermentesítik a bemeneti-kimeneti műveletek vezérlése alól, vagy bővítik a szabványos processzorcímtartományt,
  • társprocesszorok bármilyen speciális számítás elvégzéséhez.

A társprocesszorok egy adott vállalat által kifejlesztett logikai készlet részét képezhetik (például az Intel 8086 és 8088 processzorokhoz, valamint 8089-hez, Motorola – Motorola 68881 társprocesszorhoz gyártott koprocesszorokat), vagy egy harmadik fél gyártója (például Weitek (angol)) Motorola m68k és 1067 Intel 80286 esetén).

Koprocesszor a programozásban

A társprocesszor kiterjeszti a központi processzor utasításrendszerét, ezért használatához a programnak (értelmezés nélkül összeállított és külső könyvtárakat hívó) tartalmaznia kell ezeket az utasításokat. Az x86-os processzorok magas szintű nyelveinek modern fordítóinak beállításai gyakran lehetővé teszik annak kiválasztását, hogy használjon-e matematikai koprocesszort vagy sem, ami különösen fontos olyan kód létrehozásakor, amelyet hardveres megszakításkezelőn belül fognak végrehajtani.

Vannak olyan perifériás processzorok is, amelyek a perifériás eszközök vezérlésére és a központi processzor tehermentesítésére szolgálnak, nevezetesen:

Írjon véleményt a "Coprocessor" cikkről

Megjegyzések

Lásd még

Linkek

  • whatis.techtarget.com/definition/coprocessor
  • www.webopedia.com/TERM/C/coprocessor.html
  • www.pcmag.com/encyclopedia/term/46625/math-coprocessor
  • www.trevormarshall.com/old_papers/Approaching-Desktop-Supercomputer.pdf 1990 - Számítástechnikai társprocesszorok, korai 32 bites számítási koprocesszorok
  • Hansen, Paul Mark, 1988. november

A társprocesszort jellemző részlet

Marya hercegnő azt írta, hogy kétségbe van esve a köztük történt félreértés miatt. Bármilyenek is voltak apja érzései – írta Mary hercegnő –, arra kérte Natasát, hogy higgye el, nem tudja nem szeretni, mint akit bátyja választott, akinek boldogságáért mindent feláldoz.
„Azonban azt írta, ne gondolja, hogy apám rosszindulatú volt Önhöz. Beteg és öreg ember, akit mentegetni kell; de kedves, nagylelkű, és szeretni fogja azt, aki boldoggá teszi a fiát." Mary hercegnő továbbá azt kérte, hogy Natasha jelöljön ki egy időpontot, amikor újra láthatja.
A levél elolvasása után Natasa leült az íróasztalhoz, hogy megírja a választ: „Chere princesse” [Kedves hercegnő], gyorsan, gépiesen írt, és megállt. „Mi mást írhatna mindazok után, ami tegnap történt? Igen, igen, ez volt az egész, és most minden más” – gondolta, miközben az elkezdett levél fölött ült. „Meg kell utasítanom őt? Valóban szükséges? Szörnyű! ”... És hogy ne gondoljon ezekre a szörnyű gondolatokra, Sonyához ment, és vele együtt elkezdte rendezni a mintákat.
Vacsora után Natasa felment a szobájába, és ismét átvette Mary hercegnő levelét. „Már mindennek vége? gondolta. Ilyen hamar történt mindez, és elpusztított mindent, ami korábban volt? Minden korábbi erejével felidézte Andrei herceg iránti szerelmét, és ugyanakkor úgy érezte, hogy szereti Kuragint. Élénkül képzelte magát Andrej herceg feleségének, elképzelte a vele való boldogság képét, amelyet annyiszor ismételget a képzelete, és ugyanakkor izgalomtól fellobbanva elképzelte az Anatole-lal való tegnapi találkozás minden részletét.
Miért ne lehetne együtt? néha tökéletes napfogyatkozásban, gondolta. Akkor csak én lennék teljesen boldog, de most választanom kell, és mindkettő nélkül nem lehetek boldog. Egy dolog, gondolta, ugyanilyen lehetetlen elmondani, mi volt Andrej herceggel, vagy eltitkolni. És ezzel semmi baj. De tényleg meg lehet válni örökre Andrej herceg szerelmi boldogságától, amelyet oly sokáig éltem?
– Fiatal hölgy – mondta a lány suttogva, titokzatos légkörben, és belépett a szobába. „Egy ember azt mondta, hogy szállítsam. A lány küldött egy levelet. „Csak Krisztus kedvéért” – mondta még mindig a lány, amikor Natasha gondolkodás nélkül gépiesen feltörte a pecsétet, és elolvasta Anatole szerelmes levelét, amelyből egyetlen szót sem értett meg – hogy ez a levél tőle származik. tőle, attól a személytől, akit szeret. „Igen, szeret, különben hogyan történhetne meg, ami történt? Hogy lehet egy szerelmes levél tőle a kezében?
Natasa remegő kézzel tartotta ezt a szenvedélyes szerelmes levelet, amelyet Anatole számára írt Dolohov, és elolvasva mindennek a visszhangját találta benne, amit úgy gondolt, hogy érez.

A témát folytatva:
ablakok

Natalya Komarova , 2009. 05. 28. (2018. 03. 25.) Amikor egy fórumot vagy blogot olvasol, a bejegyzések szerzőire becenévvel és ... a felhasználó képével, az úgynevezett avatárral... emlékszel.