Главная страница

FPU – это набор команд процессора для работы с вещественной арифметикой. Существует много задач, где требуются вещественные вычисления, а есть и такие, где без них не обойтись. Приходится выкручиваться различными способами – выполнять вещественную операцию с помощью нескольких целых. При этом может понадобиться значительное количество целочисленных команд, чтобы заменить одну вещественную. Поэтому решили полностью оптимизировать на аппаратном уровне этот процесс. Понятно, что аппаратными средствами всегда можно добиться большей скорости, чем программными, так как если это делать программными, то скорость операций над вещественными числами будет в сотни раз медленнее, чем над целочисленными. Приведу пример: вы знаете алгоритм сложения двух чисел (столбиком), но не знаете алгоритм умножения. Вам нужно 19 умножить на 47. Понятно, что выполнять 19 сложений надо дольше, чем одно умножение. Понятно, что знание алгоритма умножения даст вам преимущества. Кроме того, можно на аппаратном уровне распараллелить процесс умножения, а на программном таких результатов не добиться, так как в этом случае всё равно понадобится больше команд, и следовательно, больше времени. Сейчас вещественные операции выполняются почти с такой же скоростью, как и целые (конечно, если использовать FPU). Кроме того, чтобы ещё ускорить работу с вещественными числами, было решено ввести расширение SSE. Здесь используется параллельное исполнение четырёх несложных операций над вещественными числами

Следующая страница (как организовано FPU)