Все мы знаем, что MIPS FPU имеет две точности: одинарную или двойную. Когда я просмотрел это в наборе команд, я обнаружил, что для одной и той же операции инструкции для одинарной точности и двойной точности не отличаются.
Например, здесь из Архитектура MIPS для программистов Том II:, инструкция ADD.fmt
Независимо от того, является ли это двойная или одинарная точность, операнд и код функции одинаковы. Как декодер узнает, что это инструкция одинарной или двойной точности? Или какая-то скрытая информация в 5-битном fmt-регионе? Не могу найти хороших ответов от гугла, может кто-нибудь объяснить, как работает эта инструкция?