HeadlinesBriefing favicon HeadlinesBriefing.com

Ingénierie inverse du microcode FSCALE d'Intel 8087

Hacker News •
×

Dans les années 1970, l'arithmétique à virgule flottante manquait de normalisation, causant des instabilités numériques sur divers matériels. Le coprocesseur à virgule flottante 8087 d'Intel, sorti en 1980, a résolu ce problème en implémentant une norme cohérente et précise, atteignant une large adoption lors de son intégration dans l'IBM PC. Le microcode du puce, récemment reverse-engineered par l'Opcode Collective, révèle la complexité derrière des opérations apparemment simples.

L'instruction FSCALE, conçue pour échelonner les nombres par des puissances de deux plus rapidement que la multiplication, utilise plus de 140 micro-instructions et trois niveaux d'appels de sous-programmes pour gérer les cas limites. Ce microcode éclaire l'architecture interne du 8087, spécifiquement les circuits du décaleur, de l'additionneur et du convertisseur d'exposant. Pour faciliter l'analyse, l'équipe a photographié la puce sous un microscope, cartographiant le grand ROM de microcode et la circuiterie du chemin de données.

La découverte d'une fonction cachée dans la conception du 8087 ajoute de l'intrigue à l'examen de ce composant fondamental des mathématiques informatiques modernes.