assembly 42

42. A programozási modell koprocesszor

Koprocesszor programozási modell áll:

Koprocesszor regiszter stack van szervezve egy gyűrűt. Ez azt jelenti, hogy az összes nyilvántartást a verem funkcionális szempontból teljesen azonos. Stack egy lebegő tetején. Ellenőrzése a jelenlegi csomópont hardver keresztül három bites mező TOR SWR nyilvántartásba. A felső rögzített számú verem regisztrálja 0 ... 7 (RO. R7), amely egy aktuális a köteg tetejére.

Ábra. ábra példát mutat, ahol a jelenlegi csúcs a bejegyzéseket a verem a fizikai regiszter R3, és a felvétel után a verem lesz az aktuális csúcsból R2.To fizikai stack regiszterhez van legalább egy rögzítési verem mutatót a felső felé a minor számos fizikai regiszterek (csökkentjük ha a csúcs egybeesik a nyilvántartásban r0, a vertex lesz regisztrálni R7 száma kerül oda). Ami a logikai regiszter szám verem ST (0). ST (1), majd következik az ábrán, hogy „lebegnek” a változó a jelenlegi a köteg tetejére. Így elvének gyűrűt.

Állapot regiszter SWR

SWR regiszter aktuális állapotát tükrözi a koprocesszor után az utolsó parancsot. Az alábbi mezőket, amelyek szerkezetileg áll regisztrációhoz SWR

  • Six Flags kivételek.
  • Bit SF (Stack Fault) - hiba a koprocesszor verem. Ezt a bitet az egyik, ha bármelyik a három kivételtől eltekintve - PE, UE vagy az IE. Különösen azt tájékoztatást nyújt a telepítés próbál írni, hogy az elkészült köteget, vagy éppen ellenkezőleg, próbál olvasni egy üres verem.
  • Bit ES (Hiba összegzése) jelzi a teljes kudarc a koprocesszor. Bit be van állítva, hogy az egyik, ha van olyan a hat kivételek.
  • Négy bit CO ... WS (Feltétel kód) képviseli a feltétel kódot. Ezek eredményét tükrözik az utolsó parancs a koprocesszor.
  • TOR háromjegyű mező egy mutatót a verem aktuális nyilvántartásban.
  • Bit allokáció b (0 - szabad, 1 - a művelet végrehajtásra kerül)

Majdnem fele a SWR regiszter foglalnak bit (zászlók) regisztrációs kivételek. Kivétel - egy speciális típusú megszakítást.
Kivétel típusú, fix révén SWR regiszter:

  • IE (érvényteleníthetik művelet Hiba) - érvénytelen művelet;
  • DE (-szabványosított operandus Error) - szabványosított operandus
  • ZE (nullával osztás hiba) - hiba osztás nullával;
  • OE (túlcsordulás hiba) - túllépési hiba (előfordul az esetben az, hogy a termelés a legnagyobb tartomány);
  • UE (Alulcsordulás Error) - alsó elfolyó hiba (akkor jelentkezik, ha az eredmény túl kicsi);
  • PE (Precision Error) - pontossági hiba (meg, ha a koprocesszor szükséges, hogy kerek az eredménye az, hogy nem lehet pontos mása, így a koprocesszor soha nem lesz pontosan 10 osztva 3).

Ha ezek bármelyikét észleli, hatféle kivételek egyikére van állítva megfelelő bit SWR-nyilvántartás, függetlenül attól, hogy elfedi kivételt CWR nyilvántartásban vagy sem.

A vezérlő regiszter CWR

koprocesszor vezérlő regiszter határozza meg különösen CWR számszerű adatok feldolgozása (ábra. 17,4). Ez magában foglalja:

  • hat maszkok;
    szánt maszkolás kivételek, amelyek előfordulását rögzítjük révén hat SWR regiszter bitek. Ha néhány bit kivételek CWR regiszter állítjuk be, akkor az azt jelenti, hogy a megfelelő kivételek kerülnek feldolgozásra a koprocesszor. Ha foglalt nulla, akkor a megszakítás 16 (10h) akkor kezdődik, amikor egy kivétel az ilyen típusú kivételek az adott bitmaszkként regisztrációhoz CWR kivételek. Az operációs rendszernek tartalmaznia kell (vagy a programozónak kell írni) megszakítás kezelő.
  • mező a vezérlő számítógép (Precision Control);
    Célja, hogy válassza ki a mantissza hossza.
    Lehetséges értékek ezen a téren tüntetni:
    PC = 00 - 24 bit hosszúságú mantissza;
    PC = 10-53 bit hosszúságú mantissza;
    PC = 11-64 bit hosszúságú mantissza.
    Az alapértelmezett érték a PC-s - 11.
  • mező kerekítés kontroll RC (kerekítése Control).
    Ez lehetővé teszi, hogy kezelje a folyamat kerekítés számok során a koprocesszor. Annak szükségességét, hogy kerekítési előfordulhat olyan helyzet, amikor a következő utáni koprocesszor csapat kapott egy elképzelhetetlen eredményt, mint a periodikus frakció 3,333 ... telepítésével a következő értékek egyike az RC területen, akkor végre a kerekítést a kívánt irányba. Legyen m - értéket ST (0), vagy az eredmény egy parancsot, amely nem lehet pontosan bemutatott, és ezért meg kell kerekíteni; és a és b értékek a ábrázolható a regisztrációhoz ST (0) és

TWR tag regiszter egy sor két számjegyű területeken. Minden kétjegyű mező megfelel egy adott fizikai regiszter stack és jellemzi a jelenlegi állapot. Állapotának megváltoztatásával bármely regiszter stack tükröződik a regiszter tartalma megfelel a tag területén a nyilvántartás.
A lehetséges értékek a címke a nyilvántartásban területeken;
00 - stack nyilvántartásban koprocesszor foglalt megengedett nulla értéket;
01 - koprocesszor regiszter stack tartalmazza a nulla értéket;
10 - koprocesszor regiszter réteg tartalmaz egy olyan konkrét számértékek (lásd alább.) Nulla kivételével;
11 - regiszter üres, és jegyezze fel.