* [Qemu-devel] Perhaps a Virtual CPU for host?
@ 2004-07-18 1:42 syeng
2004-07-18 1:56 ` Jim C. Brown
0 siblings, 1 reply; 2+ messages in thread
From: syeng @ 2004-07-18 1:42 UTC (permalink / raw)
To: qemu-devel
I'm a lurker in this list and I'm not a developer, so please excuse me if
this isn't a good idea.
I've been wondering... Since Qemu is a binary translator, would it be
reasonable to have Qemu generate code for a virtual cpu instead of a real
cpu?
Then the program would run the virtual cpu emulator, which runs the code
generated by qemu.
In other words... No more back-ends for PPC, x86, Sparc, etc. etc. Porting
to a new system would be easier, too.
Now, I know it sounds pretty bad.
BUT, I was thinking that if you chose the right virtual cpu architecture,
you might actually be able to get pretty decent performance out it. I've
heard of cases where virtual cpu's ran benchmarks pretty well because each
instruction was easily decoded and each instruction did a lot of 'work'
(CISC vs. RISC. For a virtual cpu, CISC style cpu's are better, I guess.)
I don't know how efficient the code is that Qemu generates, but it certainly
wouldn't be extremely efficient. Perhaps a carefully chosen virtual cpu
architecture might make up for some of that, and perhaps run as fast as half
the speed of a native Qemu port?
If nothing else, it might provide a generic base for currently unsupported
host systems.
Any comments?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] Perhaps a Virtual CPU for host?
2004-07-18 1:42 [Qemu-devel] Perhaps a Virtual CPU for host? syeng
@ 2004-07-18 1:56 ` Jim C. Brown
0 siblings, 0 replies; 2+ messages in thread
From: Jim C. Brown @ 2004-07-18 1:56 UTC (permalink / raw)
To: qemu-devel
On Sat, Jul 17, 2004 at 08:42:13PM -0500, syeng wrote:
> I'm a lurker in this list and I'm not a developer, so please excuse me if
> this isn't a good idea.
>
> I've been wondering... Since Qemu is a binary translator, would it be
> reasonable to have Qemu generate code for a virtual cpu instead of a real
> cpu?
>
> Then the program would run the virtual cpu emulator, which runs the code
> generated by qemu.
>
> In other words... No more back-ends for PPC, x86, Sparc, etc. etc. Porting
> to a new system would be easier, too.
>
> Now, I know it sounds pretty bad.
>
> BUT, I was thinking that if you chose the right virtual cpu architecture,
> you might actually be able to get pretty decent performance out it. I've
> heard of cases where virtual cpu's ran benchmarks pretty well because each
> instruction was easily decoded and each instruction did a lot of 'work'
> (CISC vs. RISC. For a virtual cpu, CISC style cpu's are better, I guess.)
>
> I don't know how efficient the code is that Qemu generates, but it certainly
> wouldn't be extremely efficient. Perhaps a carefully chosen virtual cpu
> architecture might make up for some of that, and perhaps run as fast as half
> the speed of a native Qemu port?
>
> If nothing else, it might provide a generic base for currently unsupported
> host systems.
>
> Any comments?
>
It should be fairly simple to modify the current qemu-system-i386 code and
make a qemu-system-a386 version. The a386 (http://a386.nocrew.org/) is a virtual
abstraction of the traditional i386 instruction set implemented in C, but it is
slightly cleaner.
a386 hasn't been updated in a while but its open source, so if you are really
interested this is a good place to start.
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-07-18 1:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-18 1:42 [Qemu-devel] Perhaps a Virtual CPU for host? syeng
2004-07-18 1:56 ` Jim C. Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).