Skip to main content

O que é uma unidade de ponto flutuante?

Uma unidade de ponto flutuante é um bloco funcional de um processador de computador que executa operações aritméticas de ponto flutuante. Também conhecida pela sigla FPU, uma unidade de ponto flutuante também pode ser um coprocessador fisicamente separado. Uma FPU geralmente acessa dados pelos mesmos modos de endereçamento do restante do processador e geralmente inclui seus próprios registros. Um processador usa uma FPU para calcular funções aritméticas trigonométricas, logarítmicas e básicas de ponto flutuante. Ele também usa uma FPU para carregar, armazenar e comparar números em vários tipos de dados de ponto flutuante e número inteiro.

Muitos processadores não incluem uma unidade de ponto flutuante. A maioria dos microprocessadores produzidos pela Intel Corporation e Motorola Incorporated antes do final dos anos 80 não inclui um, por exemplo. Muitos processadores RISC (Reduced Instruction Set Computing) e controladores incorporados também não possuem um. Esses chips incluem uma Unidade Lógica Aritmética (ALU) para executar funções aritméticas inteiras básicas e lógicas bit a bit. Entretanto, a matemática de ponto flutuante é tratada por um co-processador externo ou uma biblioteca de software.

A maioria dos processadores e sistemas de software implementa o padrão IEEE (Institute of Electrical and Electronics Engineers) para operações de ponto flutuante. O padrão IEEE-754 foi lançado pela primeira vez em 1985 e expandido em 2008 para incluir tipos de dados adicionais. Ele define vários tipos de dados inteiros e de ponto flutuante, cada um com sua própria precisão, representação e intervalo numérico. Ele também define muitas operações aritméticas, métodos de arredondamento e tratamento de exceções, como uma divisão por zero. Quer a matemática seja realizada por uma unidade de ponto flutuante ou não, o padrão de ponto flutuante IEEE garante resultados idênticos.

Além da adição, subtração, multiplicação e divisão, uma unidade de ponto flutuante pode executar muitas outras operações. Isso geralmente inclui dimensionamento, raiz quadrada e cálculos logarítmicos. As funções trigonométricas senoidal, cosseno e tangente parcial também são geralmente fornecidas. Números inteiros e de ponto flutuante podem ser comparados com a FPU e convertidos de uma precisão para outra. Eles também podem ser arredondados em qualquer direção e armazenados diretamente na memória principal do processador.

A FPU de um processador gráfico pode incluir funções frequentemente repetidas, comuns à rotação ou animação tridimensionais de objetos. Muitos controladores incorporados são projetados com processadores otimizados para processamento de sinal digital (DSP). Eles podem ser usados ​​em aplicativos de áudio e comunicação e podem conter FPUs, que são boas em transformações rápidas de Fourier (FFTs), por exemplo. Os processadores de criptografia geralmente incluem uma FPU para computação em alta velocidade de algoritmos de criptografia pesados ​​em matemática. Os processadores gerais com múltiplos núcleos também podem incluir uma unidade de ponto flutuante para cada núcleo regular do processador.