Tarkibi Soprotsessorlar


Download 44.16 Kb.
bet3/3
Sana18.06.2023
Hajmi44.16 Kb.
#1569051
1   2   3
Bog'liq
Matematik soprotsessor

Boshqa platformalar



Shakl 1:Motorola 68881 soprotsessori
Xuddi shunday, Motorola protsessorlarida qurilgan kompyuterlarning asosiy platalari, ushbu firma MC68040 protsessorini ishlab chiqishdan oldin (unda soprotsessor o'rnatilgan) matematik soprotsessorni o'z ichiga olgan. Odatda, FPU sifatida 68881 16 MHz yoki 68882 25 MHz soprotsessor ishlatilgan. Deyarli har qanday zamonaviy protsessor o'rnatilgan protsessorga ega.
Weitek shuningdek, 68000 va MIPS platformalari uchun matematik soprotsessorlarni ishlab chiqardi.
FPU qurilmasi
FPU registrlari ba'zi boshqa arxitekturalarda bo'lgani kabi massiv sifatida emas, balki registrlar to'plami sifatida tashkil etilgan. Shunday qilib, FPU teskari Polsha yozuvi printsipi asosida ishlaydigan Stack kalkulyatoridir. Bu shuni anglatadiki, jamoalar har doim operatsiyalarni bajarish uchun stekdagi yuqori qiymatdan foydalanadilar va boshqa saqlangan qiymatlarga kirish odatda stek manipulyatsiyasi orqali ta'minlanadi. Shu bilan birga, stekning yuqori qismi bilan ishlashda bir vaqtning o'zida stekning boshqa elementlaridan ham foydalanish mumkin, ularga kirish uchun stekning yuqori qismiga nisbatan to'g'ridan-to'g'ri adreslash qo'llaniladi. Operatsiyalarda ramda saqlangan qiymatlardan ham foydalanish mumkin. Oddiy harakatlar ketma-ketligi quyidagicha. Operatsiyadan oldin argumentlar LIFO stekiga joylashtiriladi; operatsiyani bajarishda kerakli miqdordagi argumentlar stekdan chiqariladi. Amaliyot natijasi stekka joylashtiriladi, u erda keyingi hisob-kitoblarda foydalanish yoki xotiraga yozish uchun stekdan olib tashlash mumkin. FPU registrlarini stekli tashkil etish dasturchilar uchun qulay bo'lsa-da, kompilyatorlar tomonidan samarali kod yaratish vazifasini murakkablashtiradi.
Foydalanish xususiyatlari
486DX dan boshlab barcha Intel va AMD protsessorlari o'rnatilgan matematik soprotsessorga ega va alohida soprotsessorga muhtoj emas (Intel486SX bundan mustasno). Biroq, X87 atamasi hali ham FPU stekidagi haqiqiy raqamlar bilan ishlashga xizmat qiladigan protsessor ko'rsatmalarining bir qismini ta'kidlash uchun qo'llaniladi. Ushbu ko'rsatmalarning o'ziga xos xususiyati: ularning mnemonikalari f harfi bilan boshlanadi (inglizchadan. float). Kompilyatorlar ushbu ko'rsatmalardan kodni ishlab chiqarish uchun foydalanishlari mumkin, bu ba'zi hollarda suzuvchi nuqta operatsiyalarini bajarish uchun kutubxonalarga qo'ng'iroqlardan foydalangandan ko'ra tezroq ishlaydi.
X87 ko'rsatmalari IEEE-754 standartiga mos keladi, ya'ni ushbu standartga muvofiq hisob-kitoblarni amalga oshirish imkoniyatini beradi. Biroq, odatda, X87 buyruqlar ketma-ketligi IEEE-754 formatlariga qat'iy muvofiq bo'lmagan operatsiyalarni bajaradi, chunki bitta va ikki aniqlikdagi raqamlar formatlariga nisbatan kengroq registrlardan foydalaniladi. Shuning uchun X87 to'plamidagi arifmetik operatsiyalar ketma-ketligi IEEE-754 standartiga qat'iy rioya qilgan protsessorga qaraganda biroz boshqacha natija berishi mumkin.
3dnow kengaytmasi paydo bo'lgandan keyin! AMD va undan keyin SSE-dan, Intelning Pentium III protsessorlaridan boshlab, bitta aniqlik bilan hisob-kitoblarni FPU ko'rsatmalarisiz va unumdorlikning oshishi bilan amalga oshirish mumkin bo'ldi. SSE2 kengaytmasi va keyinchalik buyruqlar tizimining kengaytmalari, shuningdek, ikki tomonlama aniqlik bilan hisob-kitoblarning tezkor bajarilishini ta'minladi (IEEE-754 standartiga qarang). Shu munosabat bilan zamonaviy kompyuterlarda klassik matematik soprotsessor buyruqlariga bo'lgan ehtiyoj sezilarli darajada kamaydi. Biroq, chiqarilgan barcha x86 protsessorlarida ular hali ham eski ilovalar bilan mos kelish uchun, shuningdek, ikkilik-o'nlik konvertatsiya qilish yoki kengaytirilgan aniqlik bilan hisoblashni talab qiladigan ilovalar ehtiyojlari uchun qo'llab-quvvatlanadi (agar ikki tomonlama aniqlik etarli bo'lmasa). Hozirgi vaqtda X87 buyruqlaridan foydalanish bunday hisob-kitoblarni amalga oshirishning eng samarali usuli bo'lib qolmoqda.
Ma'lumotlar formatlari
FPU ichida raqamlar 80 bitli suzuvchi nuqta formatida saqlanadi (kengaytirilgan aniqlik), xotiradan yozish yoki o'qish uchun foydalanish mumkin:

  • Haqiqiy raqamlar uchta formatda: qisqa (32 bit), uzun (64 bit) va kengaytirilgan (80 bit).

  • Ikkilik tamsayılar uchta formatda: 16, 32 va 64 bit.

  • Paketlangan butun o'nlik raqamlar (BCD-raqamlar) — maksimal sonning uzunligi 18 ta paketli o'nlik raqamlar (72 bit).

FPU shuningdek maxsus raqamli qiymatlarni qo'llab-quvvatlaydi:

  • Denormalizatsiya qilingan haqiqiy sonlar mutlaq qiymati bo'yicha minimal normallashtirilgan sondan kam bo'lgan sonlardir. Ushbu qiymatni ushbu registrga mos keladigan twr registr yorlig'ida ma'lum bir Stack registrida shakllantirishda maxsus qiymat 10 hosil bo'ladi. Uning ikkilik tasviridagi denormalizatsiya qilingan sonning belgisi nol tartib maydoni hisoblanadi.

  • Cheksizlik (ijobiy va salbiy) nolga teng bo'lmagan qiymatga bo'linganda, shuningdek toshib ketganda paydo bo'ladi. Ushbu qiymatni ushbu registrga mos keladigan twr registr yorlig'ida ma'lum bir Stack registrida shakllantirishda maxsus qiymat 10 hosil bo'ladi.

  • no-raqam (ingl. not-a-number (NaN)). Not-raqamlarning ikki turi mavjud:

    • SNaN (Signaling Not-A-Number) signal bo'lmagan raqamlar. Soprotsessor ushbu raqamning Stack registrida paydo bo'lishiga yaroqsiz operatsiyani istisno qilish bilan javob beradi. Soprotsessor signal bo'lmagan raqamlarni hosil qilmaydi. Dasturchilar bunday raqamlarni ataylab kerakli vaziyatda istisno qilish uchun shakllantiradilar. Uning ikkilik tasviridagi signal bo'lmagan raqamning belgisi mantissa maydonining 2-chi (kattalik darajasi kamayib borayotgan) bitidir.

    • QNaN (Quiet Not-A-Number) tinch (tinch) bo'lmagan raqamlar. Soprotsessor ba'zi istisnolarga reaktsiya sifatida tinch bo'lmagan raqamlarni hosil qilishi mumkin, masalan, haqiqiy noaniqlik soni. Uning ikkilik tasvirida tinch bo'lmagan raqamning belgisi mantissa maydonining 2-chi (kattalik darajasi kamayib borayotgan) bitidir.

  • Nol (ijobiy va salbiy). Suzuvchi nuqta formati nuqtai nazaridan nolni maxsus qiymat deb hisoblash mumkin bo'lsa-da, u bir vaqtning o'zida denormalizatsiya qilingan sonning alohida holatidir.

  • Noaniqliklar va qo'llab-quvvatlanmaydigan formatlar. Raqam bo'lmagan raqam bilan bir xil. Hech qanday raqam yoki cheksizlikni anglatmaydigan haqiqiy sonning kengaytirilgan formatida ifodalanishi mumkin bo'lgan ko'plab bit to'plamlari mavjud. Ularning barchasi birliklar bilan to'ldirilgan tartib maydoni va mantissa maydonining bitta katta biti bilan tavsiflanadi. Ushbu qiymatlarning bir qismi uchun yaroqsiz operatsiyani istisno qilish hosil bo'ladi.

Registrlar
FPUda uchta registr guruhini ajratish mumkin:

  • Protsessor to'plami: R0 registrlari..R7. Har bir registrning o'lchami: 80 bit.

  • Xizmat registrlari

    • SWR protsessor holati registri (Status Word Register) — protsessorning joriy holati to'g'risida ma'lumot. Hajmi: 16 bit.

    • CWR soprotsessorining boshqaruv registri (Control Word Register) soprotsessorning ish rejimlarini boshqarish. Hajmi: 16 bit.

    • Twr yorlig'i so'zining registri (Tags Word Register) - R0 registrlarini boshqarish..R7 (masalan, yozib olish imkoniyatini aniqlash uchun). Hajmi: 16 bit.

  • Ko'rsatkich registrlari

    • DPR ma'lumotlar indeksi (Data Point Register). Hajmi: 48 bit.

    • IPR buyruqlar indeksi (Instruction Point Register). Hajmi: 48 bit.

Soprotsessor buyruqlar tizimi
Tizim 80 ga yaqin buyruqlarni o'z ichiga oladi. Ularning tasnifi:

  • Ma'lumotlarni uzatish buyruqlari

    • Haqiqiy ma'lumotlar

    • Butun sonli ma'lumotlar

    • O'nli ma'lumotlar

    • Doimiy yuklash (0, 1, pi, log2(10), log2(e), lg(2), ln(2))

    • Almashish

    • Shartli yo'naltirish (Pentium II / III)

  • Ma'lumotlarni taqqoslash buyruqlari

    • Haqiqiy ma'lumotlar

    • Butun sonli ma'lumotlar

    • Tahlil

    • Nol bilan

    • Shartli taqqoslash (Pentium II / III)

  • Arifmetik buyruqlar

    • Haqiqiy ma'lumotlar: qo'shish, ayirish, ko'paytirish, bo'lish

    • Butun sonli ma'lumotlar: qo'shish, ayirish, ko'paytirish, bo'lish

    • Yordamchi arifmetik buyruqlar (kvadrat ildiz, modul, belgini o'zgartirish, tartib va mantisani tanlash)

  • Transandantal buyruqlar

  • Boshqarish buyruqlari

    • Soprotsessorni ishga tushirish

    • Atrof-muhit bilan ishlash

    • Stack bilan ishlash

    • Rejimlarni almashtirish

Download 44.16 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling