Linked by Tony Bourke on Thu 22nd Jan 2004 21:29 UTC
Benchmarks When running tests, installing operating systems, and compiling software for my Ultra 5, I came to the stunning realization that hey, this system is 64-bit, and all of the operating systems I installed on this Ultra 5 (can) run in 64-bit mode.
Permalink for comment
To read all comments associated with this story, please click here.
by Rayiner Hashem on Fri 23rd Jan 2004 02:27 UTC

Do you really belive that compilers model processors to that detail? They don't. There is no need to do that (and is in reality impossible) to get good performance out of the processor, and that applies for human coders also.
Compilers do model the processor to that level of detail. GCC's code generator uses DFA (Deterministic Finite Automata) instruction scheduler. Each processor has a DFA description called an MD file. These MD files describe the details of the processor's pipelines. The MD file for the i386 architecture is 23,000 lines, plus another 1000 lines for each specific CPU model. Several thousand additional lines of code are dedicated to GCC's register allocator. And the i386 is a relatively lenient architecture!

Precise modeling of the processor is even more important for a processor like IA-64 and PPC-970 that have complex rules for instruction grouping and instruction dispatch. Its even more important on IA-64 which doesn't do any internal reordering or optimization.