Remix.run Logo
garganzol 6 hours ago

100x speed improvement of math operations by 8087 is not an overestimation. The difference for apps relying on math was crazy back then. I experienced this first-hand on my 80286 machine, where it was 3-second vs 300-second calculation results.

One neat feature of 8087 instruction set is that it can be interspersed with x86 instructions in the code stream, giving you a simultaneous access to two processor chips working in parallel. This combo forms a real asymmetrical multi-processor system with certain opportunities for hardware-assisted code parallelization. If a thoughtful instruction scheduling is used, floating operations executed by 8087 work in parallel with the usual integer x86 code.

mgaunard 4 hours ago | parent [-]

Any modern processor has different execution ports specialized in different things and replicated a different number of times, and all of them can execute instructions in parallel.

It schedules to these transparently for you, that's known as superscalar execution. To maximize occupation, out-of-order execution and simultaneous multithreading are used.

Sharlin 3 hours ago | parent [-]

Sure, but this was five (or six?) generations before actual superscalar x86 processors.

vlovich123 an hour ago | parent [-]

Three - after 8086 you had 80286, 80386, 80486 and then Pentium (superscalar).