Intel Quark


Intel Quark is a line of 32-bit x86 SoCs and microcontrollers by Intel, designed for small size and low power consumption, and targeted at new markets including wearable devices. The line was introduced at Intel Developer Forum in 2013, and discontinued in January 2019.
Quark processors, while slower than Atom processors, are much smaller and consume less power. They lack support for SIMD instruction sets and is intended to support embedded operating systems.
Quark powers the Intel Galileo developer microcontroller board. In 2016 Arduino released the Arduino 101 board that includes an Intel Quark SoC. The CPU instruction set is, for most models, the same as a Pentium CPU.

History

The first product in the Quark line is the single-core 32 nm X1000 SoC with a clock rate of up to 400 MHz. The system includes several interfaces, including PCI Express, serial UART, I²C, Fast Ethernet, USB 2.0, SDIO, power management controller, and GPIO. There are 16 kB of on-chip embedded SRAM and an integrated DDR3 memory controller.
A second Intel product that includes Quark core, the Intel Edison microcomputer, was presented in January 2014. It has a form factor close to the size of an SD card, and is capable of wireless networking using Wi-Fi or Bluetooth.
In January 2015, Intel announced the sub-miniature Intel Curie module for wearable applications, based on a Quark SE core with 80 kB SRAM and 384 kB flash. At the size of a button, it also features a 6-axis accelerometer, a DSP sensor hub, a Bluetooth LE unit and a battery charge controller.
Intel announced the end-of-life of its Quark products in January 2019, with orders accepted until July 2019 and final shipments set for July 2022.

List of processors

"Lakemont" (32 nm)

The name Lakemont has been used in reference to the processor core in multiple Quark-series processors.

"Clanton"

Source:
  • All models support i586 instruction set, with x87 FPU and NX bit
  • Temperature range: -40 °C to +85 °C for X10x1 models, 0 °C to +70 °C, for X10x0 models
  • Secure boot supported on X102x models
  • DDR3 controller with one 16-bit channel
  • Two PCI-Express 2.0 controllers, with 1 lane each.
  • USB Controller with two USB 2.0 Host ports and one USB 2.0 device port
  • Two 10/100 MBit Ethernet controllers
  • Integrated memory card reader supporting SDIO 3.0, eMMC 4.41 and SD 3.0
  • Serial I/O supporting SPI, UART and I2C

"Silver Butte"

"Mint Valley"

  • Supports i586 instruction set, without x87.

"Atlas Peak"

  • Supports i586 instruction set, without x87.

Segfault bug

Intel Quark SoC X1000 contains a bug that "under specific circumstances" results in a type of crash known as a segfault. The workaround implemented by Intel is to omit LOCK prefixes in the compiled code. While source-based embedded systems like those built using the Yocto Project can incorporate this workaround at compile time, general purpose Linux distributions such as Debian are deeply affected by the bug. Such a workaround is not easy to implement in binaries meant to support multithreading too as they require LOCK prefixes to function properly.