Vortex86

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Vortex86DX

The Vortex86 is a computing system-on-a-chip (SoC) based on a core compatible with the x86 microprocessor family. It is produced by DM&P Electronics, but originated with Rise Technology.

History[edit]

Vortex86 previously belonged to SiS, which got the basic design from Rise Technology.[1] SiS sold it to DM&P Electronics[2] in Taiwan.

Before adopting the Vortex86 series, DM&P manufactured the M6117D, an Intel 386SX compatible, 25–40 MHz SoC.[3][4]

CPU[edit]

Vortex86 CPUs implement the i586 architecture. But the early versions of 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 a program that uses i586-level floating point instructions will work on any Vortex86 family CPU under such a kernel, albeit more slowly on a model with no FPU.

The more advanced models have FPUs that have i686-level instructions, such as fucomi.

Code intended for i686 may fail because the CPU lacks 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 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.

Devices with Vortex86DX3 can run Fedora 17 (i686) Live CD successfully, unlike some that use other versions of Vortex86, and this implies that Vortex86DX3 implements more i686 features than others.[5]

Below are the properties of a Vortex86 original CPU reported by the Linux kernel tool /proc/cpuinfo.

Note that this CPU is a later version with an 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:

Compatible Components[edit]

DM&P provides an embedded Linux distribution customized to use the SoCs features.[6]

NetBSD/i386 is able to boot on at least the DX3.[7]

Versions[edit]

Vortex86 original[edit]

SiS55x/Rise mP6 or simply Vortex86 – developed by SiS, three integer and MMX pipelines, branch prediction [8]

Vortex86SX[edit]

300 MHz, 16 KB Data + 16 KB Instruction L1 cache, no FPU, no L2 cache. Can use both SD and DDR2 RAM [9]

Vortex86DX[edit]

600 MHz to 1 GHz (2.02 W @ 800 MHz [10]), 16 KB Data + 16 KB Instruction L1 cache, FPU, 256 KB L2 cache, 6-staged pipeline. Can address up to 1 GiB DDR2 RAM[11][12] 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.[13]

The package is a single 581-pin BGA package.

Vortex86MX[edit]

1 GHz, the CPU core itself hardly differs from the Vortex86DX, but according to several sources, the processor does appear to have implemented SIMD multi-media instructions (MMX).[14][15][16] 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.[17] Current models of the Gecko Edubook use the Xcore86, a rebadge of the Vortex86MX.[17]

Vortex86MX+[edit]

This has a 32KB write through 2-way L1 cache, 256KB write through/write back 4-way L2 cache, PCI rev. 2.1 32-bit bus interface at 33 MHz, DDR2, ROM controller, IPC (Internal Peripheral Controllers with DMA and interrupt timer/counter included), Fast Ethernet, FIFO UART, USB2.0 Host and ATA controller. The MX+ Adds a VGA controller on chip with shared memory.

The package is a single 720-pin BGA package.

Vortex86DX2[edit]

This has a 32KB write through 4-way L1 cache (16K Instruction + 16K Data), 256KB write through/write back 4-way L2 cache, PCI rev. 2.1 32-bit bus interface at 33 MHz, DDR2, ROM controller, IPC (Internal Peripheral Controllers with DMA and interrupt timer/counter included), VGA, 100 Mbps ethernet, FIFO UART, USB2.0 Host and ATA controller. Enhancements over the DX include more COM ports (9), 2GB of RAM, and an HD Audio codec, as well as more GPIO pins.

The package is a single 720-pin BGA package.

Vortex86EX[edit]

This has a 32KB write through 2-way L1 cache, 128KB write through/write back 2-way L2 cache, PCI-e bus interface, 300 MHz DDR3, ROM controller, IPC (Internal Peripheral Controllers with DMA and interrupt timer/counter included), Fast Ethernet, FIFO UART, USB2.0 Host and ATA controller.

The package is a single 288-pin TFBGA-package.

Vortex86DX3[edit]

A 1.0 GHz dual-core CPU which is the only i686-compatible Vortex86.[18] It has an eight-way 32K I-Cache, an eight-way 32K D-Cache, a four-way 512 KB L2 cache with a write-through or write-back policy, support for up to 2GB of DDR3 RAM, a PCI-e bus interface, 100 Mbps Ethernet, FIFO UART, a USB 2.0 host, an ATA controller that has an IDE controller, PATA 100 (2x HDD) or 2x SD at Primary Channel, and SATA 1.5Gbit/s (1 Port) at Secondary Channel.

The package is a single 720-pin BGA-package.[19]

Vortex86EX2[edit]

The EX2 model has two asymmetrical master/slave CPU cores.[20] The master core runs at 600MHz, has 16K I-Cache, 16K D-Cache, and four-way 128 KB L2 cache with a write-through or write-back policy. The slave core operates at 400 MHz and also has 16KB I-Cache, 16KB D-Cache, but has no L2 cache. Both have a built-in FPU. Maximum DDR3 RAM capacity is 2GB. It is produced using the 65nm manufacturing process[21] and uses the 19x19mm LFBGA-441 package.

See also[edit]

External links[edit]

References[edit]

  1. ^ Cebit 2007: x86 Minisystem mit Vortex86SX[permanent dead link] (german)
  2. ^ Vortex86 Envision Embedded Design with Windows Embedded Technologies (archived copy)
  3. ^ M6117D Data Sheet[permanent dead link]
  4. ^ "M6117D overview". Archived from the original on 2009-03-03. Retrieved 2009-04-09. Cite uses deprecated parameter |dead-url= (help)
  5. ^ Vortex86DX Linux Support list
  6. ^ X-Linux
  7. ^ "NYC*BUG". dmesgd.nycbug.org. Retrieved 2018-06-23.
  8. ^ Vortex86 Data Sheet[dead link]
  9. ^ Vortex86SX Data Sheet (archived copy)
  10. ^ Vortex86DX overview (archived copy)
  11. ^ Vortex86DX documentation
  12. ^ Vortex86DX Data Sheet
  13. ^ engadget - "The world's cheapest laptop"
  14. ^ Thomas, Alexander (November 2012). "BTplug Review". Dr. Lex' Site. Retrieved 2012-02-13.
  15. ^ Kauler, Barry (2010-01-16). "Xcore86 CPU in Gecko Edubook". Barry's Blog. Archived from the original on 2015-02-13. Retrieved 2015-02-13. Cite uses deprecated parameter |dead-url= (help)See blog comments for more information.
  16. ^ LoneRifle (2010-01-22). "CPU Features". Flickr. Retrieved 2015-02-13.
  17. ^ a b Angel, Jonathan (2008-12-11). "X86 system-on-chip adds VGA graphics". LinuxForDevices. Archived from the original on 2012-09-12. Retrieved 2009-12-11.
  18. ^ http://www.compactpc.com.tw/support.aspx?mode=3&id=63 Vortex86DX Linux Support list]
  19. ^ http://www.cnx-software.com/2015/04/09/vortex86dx3-is-a-new-x86-soc-for-embedded-systems/
  20. ^ Vortex86EX2 product overview
  21. ^ ICOP Vortex86 SoC website