PS: It often takes fewer gates to implement a simpler microcoded microarchitecture than to implement a single hardwired macroarchitecture. Microcoded architectures are theoretically slower than hardwired but this is often not the case in reality because of the costs of gate fanout and extra gates for clock distribution that ameliorate gains of fully specified and decoded in hardware.
--- Format ---
Sign:exponent:stored explicit mantissa leading bit:mantissa fraction:
--- Interpretation ---leading bit = (exponent != 0) ? 1 : 0 when implicit (not stored)
bias = 2^(exponent bits - 1) - 1
value = (-1)^sign * 0 when zero
value = (-1)^sign * {{leading bit}}.{{mantissa fraction}}b * 2^(exponent - bias) when normal
value = (-1)^sign * 0.{{mantissa fraction}}b * 2^(-bias+1) when denormal
--- Classification ---
zero = exponent == 0 && mantissa fraction == 0
denormal = exponent == 0 && mantissa fraction != 0
normal = exponent != 0 && exponent != ~0
inf = exponent == ~0 && mantissa fraction == 0
nan = exponent == ~0 && mantissa fraction != 0
snan = nan && msb(mantissa fraction) == 0
qnan = nan && msb(mantissa fraction) == 1
PS: It often takes fewer gates to implement a simpler microcoded microarchitecture than to implement a single hardwired macroarchitecture. Microcoded architectures are theoretically slower than hardwired but this is often not the case in reality because of the costs of gate fanout and extra gates for clock distribution that ameliorate gains of fully specified and decoded in hardware.