2016-02-02 2 views

ответ

3

MIPS R4000 Microprocessor User’s Manual содержит несколько подробное описание трубопровода с плавающей запятой R4000 (см. Раздел 6.7). Для операций с плавающей запятой FPU R4000 обеспечивает восемь этапов работы (добавление мантиссы, разделительный трубопровод, тест исключения, первый множитель, второй множитель, округление, сдвиг операнда, распаковывание номеров FP). Квадратный корень с двойной точностью использует распакованные номера FP для первого цикла, тест исключения для второго, добавление мантиссы и округление для следующих 108 циклов, добавление мантиссы для следующего цикла и округление для последнего цикла.

Поскольку распакованные номера FP и тесты исключений (первые два цикла) не используются в последующих циклах, следующая операция с квадратным корнем может начинаться с двух циклов раньше, чем если бы квадратный корень был полностью неинполирован. Это может быть схематически следующим образом:

 
     1 2 3 4 ... 110 111 112 114 115 
SQRT.D U E A+R A+R  A+R A R 
SQRT.D  110 stall cycles for second SQRT.D 
            U E A+R A+R 

(Вы можете видеть, что интервал инициации считается циклом, когда первый SQRT.D выдаются, то есть инициация интервал нуля будет означать параллельный выпуск и инициирующий интервал один будет поддерживать проблему «назад к спине».)