IEEE 754-2008 versiyasi - IEEE 754-2008 revision

IEEE 754-2008 (ilgari nomi bilan tanilgan IEEE 754r) 2008 yil avgust oyida nashr etilgan va bu muhim tahrir bo'lib, uning o'rnini bosadi IEEE 754-1985 suzuvchi nuqta standart, 2019 yilda esa u kichik tahrir bilan yangilandi IEEE 754-2019.[1] 2008 yilgi tahrir oldingi standartni kerak bo'lganda kengaytirdi, o'nlik arifmetikani va formatlarni qo'shdi, asl standartning aniqlanmagan ba'zi joylarini qattiqlashtirdi va birlashtirildi IEEE 854 (radiksga bog'liq bo'lmagan suzuvchi nuqta standarti).

Ikkilik suzuvchi nuqta arifmetikasining qat'iy ta'riflari ba'zi mavjud dasturlarga mos kelmasligi mumkin bo'lgan bir nechta holatlarda, ular ixtiyoriy qilingan.

Qayta ko'rib chiqish jarayoni

Standart 2000 yildan beri qayta ko'rib chiqilib, 2006 yil dekabrda yakunlangan. IEEE standartini qayta ko'rib chiqish uch bosqichdan iborat:

  1. Ishchi guruh - standart loyihasini yaratadigan qo'mita
  2. Ovoz berish byulleteni - manfaatdor shaxslar ovoz berish guruhi va loyihaga ovoz berish (guruhning 75% ishtirok etishi kerak va 75% loyihani ilgari surishini ma'qullashi kerak); ovozlarning sharhlari a tomonidan hal qilinadi Ovoz berish qarori bo'yicha qo'mita (BRC) va kiritilgan o'zgartirishlar, agar ular mohiyatli bo'lsa, yangi byulleten bilan qayta aylantirilishi kerak
  3. Barcha sharhlar hal etilganda va boshqa o'zgarishlar bo'lmasa, loyiha ko'rib chiqish, tasdiqlash va nashr qilish uchun IEEEga taqdim etiladi (bu ham o'zgarishlarga olib kelishi mumkin, ammo bu kamdan-kam hollarda).

2008 yil 11 iyunda u IEEE Revision qo'mitasi (RevCom) tomonidan bir ovozdan ma'qullandi va IEEE-SA standartlar kengashi tomonidan 2008 yil 12 iyunda rasmiy ma'qullandi. 2008 yil 29 avgustda nashr etildi.

754r Ishchi guruh bosqichi

Standartni ishlab chiqishda suzuvchi nuqtali arifmetikani yaxshi biladigan odamlar ishtirok etishlari mumkin edi. 90 dan ortiq kishi har oyda o'tkazilgan yig'ilishlarning kamida bittasida qatnashdi Silikon vodiysi va yana ko'p odamlar pochta ro'yxati orqali ishtirok etishdi.

Ba'zida taraqqiyot sust bo'lib, raisni 2005 yil 15 sentyabrdagi yig'ilishda e'lon qildi[2] "hech qanday yutuqlarga erishilmayapti, men ushbu uchrashuvlarni ushbu asoslar bo'yicha qo'shimcha xabar kelguniga qadar to'xtatib turaman". 2005 yil dekabrda qo'mita yangi qoidalar bo'yicha qayta tashkil etildi va 2006 yil dekabr oyiga qadar yakunlandi.

2006 yil fevral oyida yangi qoidalar va protseduralar qabul qilindi. 2006 yil sentyabr oyida ota-onalar homiylik qo'mitasiga (IEEE Mikroprotsessor Standartlari Qo'mitasi yoki MSC) tahrirlash uchun yuborish va homiy byulleteniga yuborish uchun ishchi loyiha qabul qilindi.

754r ovoz berish bosqichi

MSC-ga taqdim etilgan loyihaning so'nggi versiyasi 1.2.5 versiyasi 2006 yil 4 oktyabrdan boshlab.[3] MSC loyihani 2006 yil 9 oktyabrda qabul qildi. Ovoz berish jarayonida loyiha batafsil o'zgartirildi.

Birinchi homiy byulleteni 2006 yil 29 noyabrdan 2006 yil 28 dekabriga qadar bo'lib o'tdi. Ovoz beruvchi organning 84 a'zosidan 85,7 foizi javob berdi - 78,6 foizi ma'qulladi. Salbiy ovozlar (va 400 dan ortiq sharhlar) mavjud edi, shuning uchun 2007 yil mart oyida qayta aylanma byulleteni bo'lib o'tdi; bu 84% ma'qullandi. Ushbu saylov byulletenida uchinchi loyiha 2007 yil aprel oyining o'rtalarida boshlangan ikkinchi, 15 kunlik qayta aylanma byulleteni uchun tayyorlanganligi to'g'risida (130 dan ortiq) fikrlar mavjud edi. Texnik sabablarga ko'ra ovoz berish jarayoni oktyabr oyida 4-byulleten bilan qayta boshlandi. 2007 yil; shuningdek, loyihada 650 saylovchi tomonidan bildirilgan mulohazalar va homiyning (IEEE MSC) so'rovlari natijasida sezilarli o'zgarishlar yuz berdi; bu byulleten kerakli 75% ma'qullashga erisha olmadi. 5-saylov byulleteni 98,0% javob darajasi bilan 91,0% ma'qullandi, sharhlar nisbatan kichik o'zgarishlarga olib keldi. 6-chi, 7-chi va 8-chi byulletenlarning tasdiqlash reytingi 90% dan yuqori bo'lib, har bir loyihaga izohlar borgan sari kamaydi; sakkizinchisi (unda sharhlar bo'lmagan: 9 tasi avvalgi sharhlarning takrorlanishi va bitta loyihada bo'lmagan materiallarga ishora qilingan) IEEE standarti sifatida tasdiqlash uchun IEEE standartlarini qayta ko'rib chiqish qo'mitasiga ('RevCom') taqdim etildi.

754r ko'rib chiqish va tasdiqlash bosqichi

IEEE standartlarini qayta ko'rib chiqish bo'yicha qo'mita (RevCom) IEEE 754r loyihasini 2008 yil iyun oyidagi yig'ilishida ko'rib chiqdi va bir ovozdan ma'qulladi va u IEEE-SA standartlar kengashi tomonidan 2008 yil 12 iyunda ma'qullandi. Yakuniy tahrir tugallandi va hujjat endi yuborildi. nashr etish uchun IEEE standartlari nashrlari bo'limi.

IEEE Std 754-2008 nashri

Yangi IEEE 754 (rasmiy IEEE Std 754-2008, suzuvchi nuqta arifmetikasi uchun IEEE standarti) IEEE Kompyuter Jamiyati tomonidan 2008 yil 29 avgustda nashr etilgan va IEEE Xplore veb-saytida mavjud[4]

Ushbu standart o'rnini bosadi IEEE 754-1985. IEEE 854, Radix-Independent suzuvchi nuqta standarti 2008 yil dekabrida qaytarib olingan.

Tahrirlarning qisqacha mazmuni

Standartning eng aniq yaxshilanishi - bu 16 va 128 bitli ikkilik tip va uchta o'nli turdagi qo'shimchalar, ba'zi yangi operatsiyalar va ko'plab tavsiya etilgan funktsiyalar. Biroq, butun vaqt davomida atamashunoslikda sezilarli tushuntirishlar mavjud. Ushbu xulosa standartning har bir asosiy bandidagi asosiy farqlarni ta'kidlaydi.

1-band: Umumiy ma'lumot

(Standart homiysi tomonidan belgilanadigan) ko'lami o'nlik formati va arifmetikani o'z ichiga olgan holda kengaytirildi va kengaytiriladigan formatlarni qo'shdi.

2-band: Ta'riflar

Ko'pgina ta'riflar aniqlik va izchillik uchun qayta yozilgan. Aniqlik uchun bir nechta atamalar o'zgartirildi (masalan, normalizatsiya qilingan nomi o'zgartirildi normal bo'lmagan).

3-band: Formatlar

Formatlarning tavsifi bir-biridan farqlanib, muntazam ravishda amalga oshirildi arifmetik formatlar (unda arifmetikani bajarish mumkin) va almashinuv formatlari (standart kodlash mavjud). Standartga muvofiqlik endi ushbu atamalarda aniqlanadi.

O'zgaruvchan nuqta formatining spetsifikatsiya darajalari sanab o'tilgan bo'lib, ular orasidagi farqni aniqlab olish uchun:

  1. nazariy haqiqiy sonlar (kengaytirilgan raqamlar qatori)
  2. formatida namoyish etilishi mumkin bo'lgan ob'ektlar (sonli raqamlar to'plami bilan birgalikda −0, cheksizliklar va NaN )
  3. sub'ektlarning o'ziga xos vakolatxonalari: belgi-eksponent-ahamiyatga ega va boshqalar.
  4. ishlatilgan bit-naqsh (kodlash).

So'ngra vakili mavjudotlar to'plamlari batafsil tushuntirilib, ularga belgi yoki qism yoki butun son sifatida qaralishi mumkinligi ko'rsatilgan. Sifatida tanilgan ma'lum to'plamlar asosiy formatlar aniqlangan va ikkilik va o'nlik formatlarni almashtirish uchun ishlatiladigan kodlashlar tushuntirilgan.

Ikkilik almashinuv formatlari "ga egayarim aniqlik "(16-bitli saqlash formati) va"to'rtta aniqlik "(128-bit format) ba'zi kengroq formatlar uchun umumlashtirilgan formulalar bilan qo'shildi; asosiy formatlar 32-bit, 64-bit va 128-bitli kodlashlarga ega.

32-128 bitli ikkilik formatlarning uzunligiga mos keladigan uchta yangi o'nlik formati tasvirlangan. Ular 7, 16 va 34 raqamli belgilar bilan o'nlik almashinuv formatlarini beradi, ular normallashtirilgan yoki normallashtirilmagan bo'lishi mumkin. Maksimal diapazon va aniqlik uchun formatlar eksponent va ahamiyatga ega qismlarini a ga birlashtiradi kombinatsiya maydoni, va o'nlik tamsayı kodlash yordamida qolgan qismini siqib qo'ying (foydalanadigan) Zich o'ralgan o'nlik yoki DPD, ning siqilgan shakli BCD ) kodlash yoki an'anaviy ikkilik butun sonli kodlash. Asosiy formatlar ikkita kattaroq o'lchamlar bo'lib, ular 64 va 128 bitli kodlashlarga ega. Boshqa ba'zi bir almashinuv formatlari uchun umumiy formulalar ham ko'rsatilgan.

Kengaytirilgan va kengaytiriladigan formatlar boshqa aniqlik va diapazonlarda arifmetikani amalga oshirishga imkon beradi.

4-band: Xususiyatlar va yaxlitlash

Ushbu band suzuvchi nuqta operatsiyalarini boshqarish uchun statik atributlardan foydalanishni rag'batlantirish uchun o'zgartirildi va (kerakli yaxlitlash atributlaridan tashqari) muqobil istisno muomalasi, oraliq natijalarni kengaytirish, qiymatlarni o'zgartiruvchi optimallashtirish va takrorlanuvchanlikka imkon beradi.

The dumaloqqa yaqin, noldan bog'laydi yaxlitlash atributi qo'shildi (faqat o'nlik operatsiyalar uchun talab qilinadi).

5-band: Amaliyotlar

Ushbu bo'limda ko'plab tushuntirishlar mavjud (xususan, taqqoslash sohasida) va ilgari tavsiya etilgan bir nechta operatsiyalar (masalan, nusxalash, inkor qilish, abs va sinf kabi) talab qilinadi.

Yangi operatsiyalarga quyidagilar kiradi birlashtirilgan ko'payish – qo'shish (FMA), aniq konversiyalar, tasniflash predikatlari (isNan (x) va boshqalar), har xil min va max funktsiyalari, umumiy buyurtma predikati va o'nlikka xos ikkita operatsiya (bir xil kvant va kvant).

Min va max

The min va maksimal operatsiyalar aniqlangan, ammo kirish qiymatlari teng bo'lgan, ammo taqdimot jihatidan farq qiladigan holat uchun biroz erkinlik qoldiring. Jumladan:

  • min (+ 0, -0) yoki min (-0, + 0) nolga teng narsa ishlab chiqarishi kerak, lekin har doim birinchi argumentni qaytarishi mumkin.

NaN kiritishni ohirgi nuqtalardan biriga jimgina almashtirish kerak bo'lgan oynalarni ochish kabi operatsiyalarni qo'llab-quvvatlash uchun raqamni tanlash uchun min va max aniqlanadi, x, tinch NaN-dan afzal:

  • min (x, qNaN) = min (qNaN, x) = x
  • max (x, qNaN) = max (qNaN, x) = x

Ushbu funktsiyalar deyiladi minNum va maxNum tinchgina NaN o'rniga raqamni afzal ko'rishlarini ko'rsatish uchun. Biroq, signal beruvchi NaN usuli mavjud bo'lganda, odatdagi operatsiyalar singari tinch NaN qaytariladi. Standart chiqarilgandan so'ng, ushbu qoidalar ushbu operatsiyalarni assotsiativ bo'lmaganligi aniqlandi; Shu sababli ular yangi operatsiyalar bilan almashtirildi IEEE 754-2019.

O'nlik arifmetikasi

O'nli arifmetik, ishlatilganiga mos keladi Java, C #, PL / I, COBOL, Python, REXX va boshqalar, shuningdek, ushbu bo'limda aniqlangan. Umuman olganda, o'nlik arifmetika ikkilik arifmetika bilan bir xil qoidalarga amal qiladi (natijalar to'g'ri yaxlitlanadi va hokazo), natijaning ko'rsatkichini belgilaydigan qo'shimcha qoidalar (ko'p hollarda bir nechta bo'lishi mumkin).

To'g'ri yumaloq tayanch konversiyasi

854-dan farqli o'laroq, 754-2008 to'g'ri yaxlitlashni talab qiladi asosiy konversiya formatga bog'liq bo'lgan oraliqdagi o'nlik va ikkilik suzuvchi nuqta o'rtasida.

6-band: Infinity, NaNs va ishora biti

Ushbu band qayta ko'rib chiqilgan va aniqlangan, ammo katta qo'shimchalarsiz.

7-band: Standart istisnolardan foydalanish

Ushbu band qayta ko'rib chiqilgan va sezilarli darajada aniqlangan, ammo katta qo'shimchalarsiz.

8-band: Muqobil istisnolardan foydalanish

Ushbu band avvalgi 8-banddan kengaytirildi ("Qopiqlar") ixtiyoriy istisnolarni turli shakllarda, shu jumladan tuzoqlarni va try / catch kabi boshqa modellarda ishlashga imkon berish uchun. Tuzoqlar va boshqa istisno mexanizmlari IEEE 754-1985 da bo'lgani kabi ixtiyoriy bo'lib qolmoqda.

9-band: Tavsiya etilgan operatsiyalar

Ushbu band yangi; til standartlari belgilashi kerak bo'lgan jurnal, quvvat va trigonometrik funktsiyalarni o'z ichiga olgan ellik operatsiyani tavsiya qiladi. Ularning barchasi ixtiyoriy (standartga muvofiq bo'lishi uchun hech kim talab qilinmaydi). Amaliyotlarga atributlarning dinamik rejimlari, shuningdek, qisqartirish operatsiyalari to'plami (yig'indisi, o'lchovli mahsulot va boshqalar) kiradi.

10-band: Ifodalarni baholash

Ushbu band yangi; til standartlari operatsiyalar ketma-ketligining semantikasini qanday belgilashni tavsiya qiladi va natija qiymatini o'zgartiradigan so'zma-so'z ma'nolar va optimallashtirishning nozik tomonlarini ko'rsatib beradi.

11-band: takroriy takrorlash

Ushbu band yangi; til standartlari takrorlanadigan dasturlarni (ya'ni, tilning barcha tatbiq etilishlarida bir xil natija beradigan dasturlarni) yozish uchun vositani taqdim etishini tavsiya qiladi va takrorlanadigan natijalarga erishish uchun nima qilish kerakligini tavsiflaydi.

A ilova: Bibliografiya

Ushbu ilova yangi; unda ba'zi foydali ma'lumotnomalar keltirilgan.

B ilova: Dasturni tuzatishni qo'llab-quvvatlash

Ushbu ilova yangi; u ko'rsatma beradi tuzatuvchi suzuvchi nuqta kodini tuzatishni qo'llab-quvvatlash uchun kerakli xususiyatlar uchun ishlab chiquvchilar.

Amaliyotlar indeksi

Bu standartda tavsiflangan barcha operatsiyalar ro'yxati berilgan yangi indeks (majburiy yoki ixtiyoriy).

Muhokama qilingan, ammo kiritilmagan

CPU dizayni va ishlab chiqilishidagi o'zgarishlar tufayli, 2008 yil IEEE suzuvchi nuqta standarti 1985 yildagi standarti sifatida tarixiy yoki eskirgan deb qaralishi mumkin edi. Ko'plab tashqi muhokamalar va standartlashtirish jarayonida qamrab olinmagan narsalar mavjud edi, quyida keltirilgan ma'lumotlar jamoatchilikka ma'lum bo'lgan narsalar:

  • "L" ilovasi tilni ishlab chiquvchilarga standartdagi narsalarni tildagi xususiyatlarga qanday bog'lashni tavsiya qildi.
  • "U" ilovasida raqamli quyma ta'riflarni tanlash bo'yicha ko'rsatma berilgan.
754 yilda quyi oqimning ta'rifi shundaki, natija juda kichik va aniqlik yo'qolishiga duch keladi.
"Kichkina" holatni aniqlash uchun ikkita ta'rifga ruxsat berildi: cheksiz aniq natijani ishning aniqligiga yaxlitlashdan oldin yoki keyin cheksiz ko'rsatkich bilan.
Aniqlikni yo'qotishning ikkita ta'rifiga ruxsat berilgan: aniq bo'lmagan natija yoki faqat denormalizatsiya tufayli yo'qotish. Hech qanday ma'lum bo'lgan apparat tizimlari ikkinchisini amalga oshirmadi va variant sifatida qayta ko'rib chiqilgan standartdan olib tashlandi.
754r-sonli U-ilovada faqat yaxlitlashdan so'ng tiniqlik va aniqlik yo'qolishi sababli noaniqlik oqim signalining sababi bo'lishi tavsiya etilgan.
  • "Z" ilovasida boshqa sobit kenglikdagi suzuvchi nuqta formatlarini qo'llab-quvvatlash uchun ixtiyoriy ma'lumotlar turlari, shuningdek o'zboshimchalik bilan aniqlik formatlari (ya'ni, bajarish paytida aniqlik va yaxlitlash aniqligi aniqlangan) kiritilgan - bu materialning bir qismi 5-bo'limni umumlashtirish orqali qoralama qismi. O'zboshimchalik bilan aniqlik tashlandi.
  • Rejimlarning merosxo'rligi va tarqalishi (istisnolardan foydalanish, oldindan o'rnini bosish, yaxlitlash) va bayroqlar (noaniq, quyi oqim, toshib ketish, nolga bo'lish, yaroqsiz). Istak - qo'ng'iroq qiluvchiga bayroqlar tarqalishi; va rejimdagi o'zgarishlar qo'ng'iroq qiluvchiga meros bo'lib o'tishi mumkin, ammo suhbatdoshga ta'sir qilmaydi.
  • Intervalli va boshqa arifmetikalar muhokama qilindi, ammo ular doiradan tashqarida (va o'zlarining katta asarlari) sifatida kiritilmagan. Ishlar 2008 yilda intervalli arifmetik uchun tavsiya etilgan IEEE standarti bo'yicha boshlanadi.

Adabiyotlar

  1. ^ "ANSI / IEEE Std 754-2019". 754r.ucbtest.org. Olingan 2019-08-06.
  2. ^ "2005 yil 15 sentyabrdagi uchrashuv".
  3. ^ Suzuvchi nuqta arifmetikasi P754 uchun DRAFT standarti, 1.2.5 versiya. ANSI / IEEE Std 754-1985-ni qayta ko'rib chiqish (Hisobot). 2006-10-04.
  4. ^ 754-2008 - suzuvchi nuqta arifmetikasi uchun IEEE standarti. IEEE. 2008-08-29. doi:10.1109 / IEEESTD.2008.4610935. ISBN  978-0-7381-5752-8. (NB. IEEE Std 754-2019 tomonidan o'zgartirilgan, IEEE 754-2008 versiyasi).

Tashqi havolalar