Web site updated...
Bruce R. Montague
brucem at mail.cruzio.com
Sun Jun 18 19:09:29 UTC 2006
> ... AMD bought the
> Geode technology from Via technology a couple of years ago, ...
My impression (might be wrong on some details) was
that Cyrix developed the basic low-power+
hypervisor-assisted-x86 (the Geode). The
Geode hypervisor (VSA; Virtual System Architecture,
or somesuch) was used not to provide a means to
run multuple virtual machines but to implement
virtual devices that would normally require
additional hardware (that is, the code in controllers
on peripheral boards was "moved" into hypervisor
drivers, enabling the hypervisor-enabled CPU to
emulate the device programming interface and also
directly drive various "transducers" normally
controlled by external controllers. This was
intended to provide minimal-sized "system-on-a-chip"
systems. The video framebuffer and CPU cache were
integrated and under control of the hypervisor
(the CPU contained an integrated video controller).
This worked, but the large x86 pin-out and required
capacitors bounded how small the system could
actually be made.
Cyrix was sued by Creative Labs for, in effect,
reverse engineering the Sound Blaster. Cyrix lost,
which seems to have largely been the end of the
effort to make a dirt-cheap "PC motherboard on a
chip"; the chip was repositioned as an embedded
device and settop-box controller.
National purchased Cyrix and tried to push designs
based around tight-coupling the Geode to National's
peripheral chips (such as ethernet controllers). The
non-Geode part of Cyrix ("stock" x86 CPUs) was sold
to the Taiwanese company Via. Via seems to have
mostly wanted the brand name and pieces of IP; Via's
CPU technology does not seem derived directly from
Cyrix. National sold the Geode to AMD a few years
The Geode/VSA is an interesting use of a hypervisor
to make a system as small as possible. The original
VSA was limited to 64K in size. There is now a VSA
II, don't know if it has the same limitation. A big
problem with the use of such a hypervisor to shrink
systems as small as possible is the 2-layers of
drivers that result (first the driver that talks to
the emulated device, then the real driver in the
hypervisor). Also the hypervisor driver's may not
provide the "real-time" or direct device access
functionality that embedded applications may require.
I think many of the would-be users of the embedded
Geode would have liked to only use a minimal number
of virtualized devices, while having the ability/doc
to write their own driver's for the raw hardware
driven by the CPU...
More information about the freebsd-small