Multiplicador de P.F.
Só de brincadeira vamos relembrar para os voadores de plantão, Pontos Flutuantes são números quebrados, ex: 1/3 = 0,3333333333333333333333333… e que os processadores possuem um estrutura específica em seu core para trabalhar com esses números que são muito mais difíceis e complicados do que os números inteiros. E para os viciados em jogos, bora lembrar que as partes gráficas utilizam muito o ponto flutuante. Antes de explicar os passos, vamos passar uma figura mostrando uma visão geral do que acontece.
Imagem não muito estranha né?! Será que alguém reconhece? ^^
A primeira coisa a ser feita pelo processador é somar os expoentes de cada número (fazendo uso da ULA pequena, próximo à Unidade de Controle), lembrando de subtrair o bias da soma, para obtermos o valor do novo expoente deslocado.
Feito isso, multiplica-se os significativos (com a ULA grande, a outra né ¬¬’ ) e normaliza o produto quando necessário (Utilizando Incremento). Se esse for o caso, desloca-se o produto para direita (Adivinhe onde ^^’) e o expoente é incrementado.
Se houver um Overflow ou um Underflow, que ocorre quando o resultado obtido é pequeno demais para ser representado em um número de ponto flutuante, será aplicada uma exceção, senão arredonda-se o significando para o número correto de bits (através do Hardware de arredondamento). Caso ainda não esteja normalizado, voltamos para etapa de normalização do produto e permanecemos neste ciclo até que a normalização ocorra.
Finalmente, analisaremos os sinais (através da porta lógica XOR). Se ambos forem iguais, um sinal positivo será atribuído ao resultado, senão, um negativo o será.