- Vortex86
-
The Vortex86 is a SoC based on an x86 compatible core. It formerly belonged to SiS, which got the basic design from Rise Technology,[1] and was sold to the Taiwanese DM&P Electronics.[2] DMP further signed an agreement with Xcore to allow them to rebrand the chip as Xcore86.[3]
Contents
Versions
- Vortex86 original (SiS55x/Rise mP6 or simply Vortex86) – Developed by SiS, three integer and MMX pipelines, branch prediction [4]
- Vortex86SX – 300 MHz, 16 KB Data + 16 KB Instruction L1 cache, no FPU, no L2 cache. Can use both SD and DDR2 RAM [5]
- Vortex86DX – 600 MHz to 1 GHz (2.02 Watts @ 800 MHz [6]), 16 KB Data + 16 KB Instruction L1 cache, FPU, 256 KB L2 cache, 6-staged pipeline. Can address up to 1 GB DDR2 RAM[7][8]
The PDX-600 is a version of the Vortex86DX that only differs in the number of RS-232 ports (3 instead of 5) and has no I²C and servo controllers, thus targeting more the embedded than the industrial market. Netbooks similar to the Belco 450R use this chip.[9]
- Vortex86MX – 1 GHz, the CPU core itself hardly differs from the Vortex86DX. This version drops conformance to ISA and integrates a GPU and a HD Audio controller, it also integrates a UDMA/100 IDE controller. The consumer grade version is known as the PMX-1000.[10] Current models of the Gecko Edubook use the Xcore86, a rebadge of the Vortex86MX.[10]
DM&P provides an embedded Linux distribution customized to use the SoCs features.[11] Before adopting the Vortex86 series, DM&P manufactured the M6117D, an Intel 386SX compatible, 25–40 MHz SoC.[12][13]
CPU
The CPU implements the i586 architecture, but the early versions Vortex86 original and Vortex86SX do not have a floating point unit (FPU). Any code that runs on an i486SX CPU without a 487 will run on Vortex86, as will any code that runs on i586 but does not use floating point instructions. Any i586 code will run on Vortex86DX and later. Some Linux kernels (by build-time option) emulate the FPU on any CPU that is missing one, so that even a program that uses floating point instructions, if it runs under Linux, works on any Vortex86 CPU, albeit slowly.
Code intended for i686 may fail due to the lack of a Conditional Move (CMOV) instruction. This is an instruction that combines the effect of a conditional branch and a move instruction. Compilers asked to optimize code for a more advanced CPU (for example the GNU Compiler with its -march=i686 option) generate code that uses CMOV. Linux systems intended for to run on i686 are generally not runnable on Vortex86 because the GNU C Library, when built for i686, uses a CMOV instruction in its assembly language strcmp function, which its dynamic loader (ld.so) uses. Hence, no program that uses shared libraries can even start up.
Technically, CMOV is optional in the i686 architecture. But Intel's i686 product, the Pentium Pro, had it, and consequently things that generate code typically consider CMOV to be available when you ask them to generate code for i686.
Here is what the Linux kernel reports (via /proc/cpuinfo) about the properties of a Vortex86 original CPU. Note that it says an FPU is available, though the CPU does not have one. This reflects the fact that the Linux kernel emulates the FPU.
processor : 0 vendor_id : SiS SiS SiS cpu family : 5 model : 0 model name : 05/00 stepping : 5 cpu MHz : 199.978 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu tsc cx8 mmx up bogomips : 399.95 clflush size : 32 cache_alignment : 32 address sizes : 32 bits physical, 32 bits virtual power management:
See also
External links
- DM&P Electronics official website
- Vortex86 Series overview
- Change CPU speed in DOS, Linux, Windows
- ICOP UK Distributor
References
- ^ Cebit 2007: x86 Minisystem mit Vortex86SX (german)
- ^ Vortex86 Envision Embedded Design with Windows Embedded Technologies
- ^ Xcore Corporation Ltd. has entered into an agreement with DMP Electronics Inc.
- ^ Vortex86 Data Sheet
- ^ Vortex86SX Data Sheet
- ^ Vortex86DX overview
- ^ Vortex86DX documentation
- ^ Vortex86DX Data Sheet
- ^ engadget - "The world's cheapest laptop"
- ^ a b Angel, Jonathan (2008-12-11). "X86 system-on-chip adds VGA graphics". LinuxForDevices. http://www.linuxfordevices.com/c/a/News/X86-systemonchip-adds-VGA-graphics/. Retrieved 2009-12-11.
- ^ X-Linux
- ^ M6117D Data Sheet
- ^ M6117D overview
Categories:- Embedded systems
- Embedded microprocessors
Wikimedia Foundation. 2010.