
Кен Шірріфф продовжує аналізувати архітектуру та мікрокод співпроцесора Intel 8087 для роботи з числами з плаваючою комою (FPU). Тепер він дослідив, як саме мікрокод 8087 реалізує різні інструкції x87. Інструкція FSCALE виявилася значно складнішою, ніж очікувалося: те, що здавалося простим масштабуванням на ступені двійки, вимагає понад 140 мікроінструкцій та трьох рівнів викликів підпрограм для обробки всіх можливих випадків.
На зображенні вгорі, що є анотованим знімком кристала мікросхеми, показано функціональні блоки, які використовуються цією однією інструкцією x87. Це дає уявлення про обсяг апаратного забезпечення, необхідний навіть просто для масштабування числа з плаваючою комою.
Подібно до архітектури x86 з її інструкціями CISC, інструкції 8087 розбиваються на окремі кроки. Вони включають завантаження значень у регістри, виконання операцій, перевірку та обробку помилок, а також керування стеком. Як видно з розбиття реалізації FSCALE у 8087, виконаного Кеном, весь процес є логічним. Він бере високорівневу інструкцію та виконує все необхідне для надійної реалізації, не обтяжуючи розробника деталями.
Варто зазначити, що реалізації 8087 сприяли розробці стандарту чисел з плаваючою комою IEEE 754. Це був один із найточніших математично FPU на той час, який, проте, був достатньо економічно вигідним, щоб потрапити до відносно доступних персональних комп’ютерів.
