Reputation: 25
Is it possible to create a hardware accelerator that could help emulation software translate (recompile) binary files from e. g. x86 to ARM in real time faster than in could be done purely in software?
Assuming it is possible and cost-effective, could a company that makes those accelerators be sued by Intel/AMD for patent infringement?
Upvotes: 0
Views: 63
Reputation: 37212
Is it possible to create a hardware accelerator that could help emulation software translate (recompile) binary files from e. g. x86 to ARM in real time faster than in could be done purely in software?
Yes. A lot of modern CPUs translate instructions into something else (e.g. from 80x86 instructions into micro-ops) anyway; so the only major difference (other than source and destination languages) would be storing the translated code after.
The main problem is that it'd be difficult and worthless. Specifically, a simple/direct translation would be un-optimized and the resulting translated code will have severe performance problems; and the more the accelerator tries to optimize the resulting code the more complexity increases until you reach "too hard to implement in hardware and still not optimized enough". For an example of this consider memory ordering - ARM is mostly "weakly ordered" and 80x86 is mostly "strongly ordered", which means that a simple/direct translation would insert fences/barriers before every load and store, and trying to figure out if you can skip a fence/barrier would be incredibly complex.
The other major problem is economics. It takes a lot of $$ to fund research and design, validating a chip works properly, covering the cost of better manufacturing processes, documentation and marketing (trying to get people to actually use the chip), etc; and to be sustainable/profitable a chip needs enough "units sold * profit per chip" to cover these costs.
Of course these problems combine to form a feedback loop (not enough $$ to improve it leads to nobody wanting it, which leads to no sales and no profit, and becomes not enough $$ to improve it), which would probably become a death spiral towards bankruptcy.
Assuming it is possible and cost-effective, could a company that makes those accelerators be sued by Intel/AMD for patent infringement?
This should be 2 questions:
Can you be sued? Yes, you can be sued by anyone for almost anything. Note that (at least in theory) there's a tactic of using "potentially frivolous" law suit/s to destroy a company's profits and reputation. Consider funneling another large amount of $$ into several years of lawyers, while simultaneously funneling a large amount of $$ into "death spiral towards bankruptcy made worse (because customers are uncertain about the patent infringement case)".
If you were sued by Intel/AMD for patent infringement, would Intel/AMD win? I don't know (I'm not a lawyer); but I'd expect that it depends on your product. If you only support things that are so old that any patents would have expired (e.g. maybe "32-bit 80x86 with no SSE/AVX", similar to what Microsoft/Qualcomm is doing with their software translator) then you'd have a much better chance of avoiding patent infringement (and a much worse chance of anyone wanting a chip that only supports obsolete stuff).
Upvotes: 1