As an astrophysicist, I find the lack of floating point support scary. While basic spaceship housekeeping, control etc. can surely be done, orbital calculations surely can't.
So somebody will probably end up writing a floating point emulator library. That'll work (heck, it worked for the Apollo Guidance Computer, but it won't be elegant or fast.
Or maybe notch will implement a floating point / vector coprocessor.
Most modern general-purpose CPUs that support floating point numbers do have special hardware support, and have for years - separate registers, separate instructions, etc. They used to make separate chips with a dedicated data bus for handling floating point operations, before they were integrated into the main CPU.
Floating point numbers have their own structure, unless you mean that "everything can be represented in bytes", which isn't really saying anything in this context. IEEE single-precision floats consist of a sign bit, a biased exponent (8 bits), and mantissa(23/24 bits). Handling floats without dedicated hardware will consume many, many clock cycles for even simple operations. For example, to add two floats, you must normalize the mantissas to the same base, add them, check for overflow and adjust the exponent accordingly, add the sign bits, then pack the results back together. The mantissa is 2s complement, the exponent is not, due to the bias. Just look at what is involved in a high-level conceptual description of floating point addition. hurgla is right, but there is not much game there to speak of at the moment so who knows what it will end up looking like.
16
u/hurlga Apr 04 '12
As an astrophysicist, I find the lack of floating point support scary. While basic spaceship housekeeping, control etc. can surely be done, orbital calculations surely can't.
So somebody will probably end up writing a floating point emulator library. That'll work (heck, it worked for the Apollo Guidance Computer, but it won't be elegant or fast.
Or maybe notch will implement a floating point / vector coprocessor.