Motorola 68881

Motorola 68881 ja 68882 olivat Motorolan valmistamia matematiikkasuorittimia. 68881 julkaistiin vuonna 1984.

68881 suunniteltiin 32-bittistä dataväylää käyttäviin järjestelmiin Motorola 68020- tai Motorola 68030 -suorittimen kanssa. Aikaisemmat 8- ja 16-bittistä dataväylää käyttävät suorittimet pystyivät ohjelmistoemulaation avulla myös käyttämään 68881:stä, mutta toiminta oli hitaampaa. 

68881/68882 olivat käytössä muun muassa Hewlett-Packardin työasemissa, NeXT Computerin työasemissa, Sun Microsystemsin Sun 3 -sarjan työasemissa, Applen Macintosh II -sarjan tietokoneissa ja Commodore Amiga 3000:ssa.

Motorola 68881 
Motorola 68881 on Motorolan valmistama matematiikkasuoritin ja sarjan ensimmäinen malli. 68881-matematiikkasuorittimen lisääminen järjestelmään toi suuresti tehoa liukulukulaskuihin tukeutuviin toimintoihin.

Motorola 68882 
Motorola 68882 on edelleen kehitetty versio 68881:stä, jonka ominaisuuksiin kuuluivat paranneltu liukuhihnatyöskentely ja suurempi kellotaajuus. 68882 on yhteensopiva 68881:n kanssa, mutta se voi suorittaa useampaa kuin yhtä käskyä kerrallaan ja muunnos ulkoisesta operandista sisäisesti käytettyyn muotoon on nopeampi. Parhaan suorituskyvyn saamiseksi ohjelmat on käännettävä uudestaan uudemmalle suorittimelle, mutta ero ei ole suuri.

Integroituna 
Matematiikkasuorittimia integroitiin varsinaisen ALUn sisältävän suorittimen kanssa samalle piirille kun tekniikka kehittyi.
Motorola 68040 oli ensimmäinen Motorolan suoritin, jossa oli sisäänrakennettu matematiikkasuoritin. Monet sen käskyistä olivat yhteensopivia 68881:n kanssa, mutta muutamia jouduttiin emuloimaan ohjelmistopohjaisesti.

Ominaisuudet 
Suorittimessa on kahdeksan datarekisteriä liukuluvuille, joiden lisäksi on kontrollirekisteri (FPCR), tilarekisteri (FPSR) ja käskyn osoitteen rekisteri (FPIAR). Datarekisterit käyttävät aina laajennetun tarkkuuden numeroita ja kaikki ulkoiset operandit muunnetaan laajennettuun muotoon ennen kuin niitä käytetään laskennassa tai niitä sijoitetaan rekisteriin.

Suoritin tukee eri dataformaatteja, joita ovat kokonaisluvut (tavu, sana ja pitkä sana), liukuluvut (yksinkertainen, kaksinkertainen ja laajennettu tarkkuus) sekä BCD-koodattu muoto. 68882 käyttää muistissa 96-bittistä muotoa, josta 80-bittiä on käytössä ja 16 bittiä varattiin myöhempää laajentamista varten. Laajennettu 80-bitin muoto on IEEE 754 -standardin mukainen.

Käskykanta sisältää käskyt peruslaskutoimituksille (yhteen- ja vähennyslasku, kerto ja jakolasku), neliöjuurelle, logaritmille sekä trigonometrisille funktioille. Muita tuettuja käskyjä ovat siirrot ja ehtolauseet.

Ulkoisena apusuorittimena käytettäessä pääsuoritin voi tukea toimintaa siten, että molemmat näkyvät ohjelmoijalle yhtenä suorittimena.

Lähteet 

Motorolan suorittimet