←back to thread

34 points dmmalam | 1 comments | | HN request time: 0.198s | source
Show context
IsTom ◴[] No.45092345[source]
> On the software side, the system uses either a JIT compiler, static compiler, or binary instrumentation to split a single-threaded program into code segments to assign different blocks to different cores. It injects special instructions for flow control, register passing, and sync behavior, enabling the hardware to maintain execution integrity.

Itanium is back again?

replies(3): >>45092396 #>>45094360 #>>45094920 #
hakfoo ◴[] No.45094920[source]
I always thought there was value in a simpler take on this. Especially in the commercial-software world, not everything is compiled for the exact foibles of your current CPU.

Why aren't we running a JIT from x86 to "optimized subset of x86"? how much performance could it buy us?

replies(1): >>45095244 #
1. BuildTheRobots ◴[] No.45095244[source]
They kinda do - microcode translates x86(_64) into micro-opts for actual execution. If you go back far enough to the P6 the actual execution core was essentially RISC [1]

[1] https://news.ycombinator.com/item?id=36380149