Motorola 68881

Wikipediasta
Siirry navigaatioon Siirry hakuun
Motorola 68881

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

68881 suunniteltiin 32-bittistä dataväylää käyttäviin järjestelmiin Motorola 68020- tai Motorola 68030 -suorittimen kanssa.[1] 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.[1]

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

Motorola 68881

[muokkaa | muokkaa wikitekstiä]

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

[muokkaa | muokkaa wikitekstiä]

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.[5] Parhaan suorituskyvyn saamiseksi ohjelmat on käännettävä uudestaan uudemmalle suorittimelle, mutta ero ei ole suuri.[5]

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.

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.[6]

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

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

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

  1. a b c Sterling, Thomas; Anderson, Matthew; Brodowicz, Maciej: High Performance Computing: Modern Systems and Practices, s. 459. Morgan Kaufmann, 2017. ISBN 978-0-12-420158-3 Teoksen verkkoversio.
  2. Technical Desktops hpmuseum.net. Viitattu 23.2.2023. (englanniksi)
  3. NeXT "Cube" oldcomputers.net. Viitattu 23.2.2023. (englanniksi)
  4. Sun Archive System Overview sun3arc.org. Viitattu 23.2.2023. (englanniksi)
  5. a b Motorola 68882 FPU family cpu-world.com. Viitattu 23.2.2023. (englanniksi)
  6. a b Motorola M68000 Family, Programmer’s Reference Manual (PDF) nxp.com. Arkistoitu 27.3.2023. Viitattu 23.2.2023. (englanniksi)
  7. a b c d e f Technical Summary HCMOS Enhanced Floating-Point Coprocessor (PDF) datasheets.chipdb.org. Viitattu 22.2.2023. (englanniksi)