Skip to main content

Что такое единица с плавающей точкой?

Модуль с плавающей запятой - это функциональный блок компьютерного процессора, который выполняет арифметические операции с плавающей запятой. Также известный как FPU аббревиатуры, модуль с плавающей запятой также может быть физически отдельным сопроцессором. FPU обычно получает доступ к данным через те же режимы адресации, что и остальная часть процессора, и обычно включает в себя свои собственные регистры. Процессор использует FPU для вычисления тригонометрических, логарифмических и основных арифметических функций с плавающей точкой. Он также использует FPU для загрузки, хранения и сравнения чисел в нескольких целочисленных типах и типах данных с плавающей запятой.

Многие процессоры не включают в себя модуль с плавающей запятой. Например, большинство микропроцессоров, выпускаемых корпорациями Intel Corporation и Motorola Incorporated до конца 1980-х годов, не включают в себя ни одного. Многие процессоры с сокращенным набором команд (RISC) и встроенные контроллеры также не имеют их. Эти чипы включают в себя Арифметико-логическое устройство (АЛУ) для выполнения основных целочисленных арифметических и побитовых логических функций. Однако математика с плавающей запятой обрабатывается внешним сопроцессором или библиотекой программного обеспечения.

Большинство процессоров и программных систем реализуют стандарт Института инженеров по электротехнике и электронике (IEEE) для операций с плавающей запятой. Стандарт IEEE-754 был впервые выпущен в 1985 году и расширен в 2008 году, чтобы включить дополнительные типы данных. Он определяет несколько целочисленных и плавающих типов данных, каждый со своей точностью, представлением и числовым диапазоном. Он также определяет множество арифметических операций, методов округления и обработки исключений, таких как деление на ноль. Независимо от того, выполняется математика блоком с плавающей запятой или нет, стандарт IEEE с плавающей запятой гарантирует идентичные результаты.

Помимо сложения, вычитания, умножения и деления, модуль с плавающей запятой может выполнять множество других операций. Они часто включают в себя масштабирование, квадратный корень и логарифмические вычисления. Синус, косинус и частичные касательные тригонометрические функции также обычно предоставляются. Целые числа и числа с плавающей запятой можно сравнивать с FPU и конвертировать из одной точности в другую. Они также могут быть округлены в любом направлении и сохранены непосредственно в основной памяти процессора.

FPU графического процессора может включать в себя часто повторяемые функции, общие для поворота трехмерного объекта или анимации. Многие встроенные контроллеры разработаны с процессорами, оптимизированными для цифровой обработки сигналов (DSP). Они могут использоваться в приложениях аудио и связи и могут содержать FPU, которые хороши, например, для быстрых преобразований Фурье (FFT). Криптографические процессоры часто включают в себя FPU для высокоскоростных вычислений математически сложных алгоритмов шифрования. Обычные многоядерные процессоры также могут включать в себя один модуль с плавающей запятой для каждого обычного ядра процессора.