Hardware

Intel 8087 Tangent Algorithmi: CORDIC va Polinomlar Kombinatsiyasi

27-sentabr, 2026, 06:030 ko'rish2 daqiqa o'qish
Intel 8087 Tangent Algorithmi: CORDIC va Polinomlar Kombinatsiyasi

Intel 8087 — bu 1980-yillarda chiqarilgan birinchi o'zbekistonlik floating-point operatsiyalarni tezlashtiruvchi mikroprotsessor. Bu maqola 8087 tangens algoritmini o'rganishni maqsad qiladi. Bu algoritm CORDIC va polinomlar kombinatsiyasidan foydalanadi.

8087 va Tangens Algorithmi

Intel 8087 IBM PC va boshqa tizimlarda floating-point operatsiyalarni sezilarli darajada tezlashtirdi. Bu maqola 8087 tangens algoritmini o'rganadi. CORDIC va polinomlar kombinatsiyasi bu algoritmning aniqligini va tezligini ta'minlaydi.

A close-up of the 8087's datapath, showing functional blocks that are used by FPTAN. Click this image (or any other) for a larger version.

8087 tangensni 90 mikrosoniyada hisoblay oladi, bu esa 8086 mikroprotsessorining 13,000 mikrosoniya vaqtidan sezilarli darajada tezroqdir.

A Convair B-58A Hustler, on display in San Antonio, TX (details).

8087 Mikroprotsessorining Ichki Tuzilishi

8087 mikroprotsessorining ichki tuzilishini o'rganish uchun, men chipning qopqog'ini ochdim va mikroskop yordamida yuqori aniqlikdagi tasvir olganman. Bu tasvirda mikroprotsessorning 1648 ta mikro-instruksiya saqlanadigan mikro-kod ROMi ko'rinadi.

The relationship between an angle, the X and Y coordinates, and the trig functions.

Datapath, ya'ni 80-bit qiymatlarni ishlatadigan floating-point hisob-kitoblari uchun mo'ljallangan qism, chipning pastki yarmini egallaydi. Bu qismda eksponent ROM, konstant ROM, shifter, adder, B register, sum register, stack registerlar va shift registerlar mavjud.

A point can be rotated by using a rotation matrix.

CORDIC Algorithmi

CORDIC — bu 1956-yilda B-58 Hustler bombardimonchi samolyotida ishlatilgan algoritm. Bu algoritm shift va add instruksiyalaridan foydalanadi, lekin ko'paytirish yoki bo'lishni talab qilmaydi. CORDIC burchaklarni vektorlarga aylantiradi, bu esa trigonometrik funktsiyalarni aniqlashga imkon beradi.

Simplifying the rotation matrix.

CORDIC algoritmi 1950-yillarda ishlatilgan sekin tranzistorlar bilan ham tez ishlashi mumkin. Bu algoritm burchaklarni maxsus burchaklarga bo'lish orqali ishlaydi, bu esa vektorlarni aylantirishni osonlashtiradi.

The tangent function (red), rational approximation (blue), and Taylor series (green).
Disclaimer: The Taylor series isn't as bad as it appears, since the relevant range is very close to 0.
Graph gener

Trigonometriya Asoslari

CORDIC algoritmi qanday ishlaydi, degan savolga javob berish uchun, biz trigonometriyaning asoslarini ko'rib chiqamiz. Burchak θ unit doirasida (X, Y) nuqtani belgilaydi. Asosiy formulalar: X=cos θ, Y=sin θ, va Y/X = tan θ.

In the first phase of the CORDIC algorithm—pseudo-division—the input angle is reduced by special angles, leaving a residual angle at the end. ("rad" is radians, not the unit of radiation.)

CORDIC algoritmi bu formulalarni tez va oson hisoblash uchun ishlatiladi. Bu algoritm burchaklarni maxsus burchaklarga bo'lish orqali ishlaydi, bu esa vektorlarni aylantirishni osonlashtiradi.

In the last phase of the CORDIC algorithm—pseudo-multiplication—a vector is rotated multiple times by applying shifts and adds. The final vector provides the tangent.

8087 Tangens Algorithmi

8087 tangens algoritmi CORDIC va polinomlar kombinatsiyasidan foydalanadi. Bu kombinatsiya aniqlik va tezlikni ta'minlaydi. 8087 tangensni 90 mikrosoniyada hisoblay oladi, bu esa 8086 mikroprotsessorining 13,000 mikrosoniya vaqtidan sezilarli darajada tezroqdir.

8087 mikroprotsessorining ichki tuzilishini o'rganish orqali, men tangens algoritmini aniqlash mumkin edim. Bu algoritm CORDIC va polinomlar kombinatsiyasidan foydalanadi, bu esa aniqlik va tezlikni ta'minlaydi.

Asl manba: righto.com

Manba: Hacker News
#Intel 8087 #CORDIC algoritmi #tangens algoritmi #floating-point operatsiyalar #mikroprotsessorlar
Telegram da muhokama qilish