From WikiChip
Difference between revisions of "intel/microarchitectures/bonnell"
< intel‎ | microarchitectures

Line 130: Line 130:
 
|}
 
|}
 
{{clear}}
 
{{clear}}
 +
 +
== Compiler support ==
 +
{| class="wikitable"
 +
|-
 +
! Compiler !! Arch-Specific || Arch-Favorable
 +
|-
 +
| [[GCC]] || <code>-march=bonnell</code> || <code>-mtune=bonnell</code>
 +
|-
 +
| [[LLVM]] || <code>-march=bonnell</code> || <code>-mtune=bonnell</code>
 +
|-
 +
| [[Visual Studio]] || <code>/arch:SSE3</code>
 +
|}
  
 
== Architecture ==
 
== Architecture ==

Revision as of 00:41, 23 March 2017

Edit Values
Bonnell µarch
General Info
Arch TypeCPU
DesignerIntel
ManufacturerIntel
Introduction2008
Phase-out2011
Process45 nm
Core Configs1, 2
Pipeline
TypeSuperscalar, Superpipeline
SpeculativeNo
Reg RenamingNo
Stages16
Instructions
ISAIA-32, x86-64
ExtensionsMOVBE, MMX, SSE, SSE2, SSE3, SSSE3
Cache
L1I Cache32 KiB/Core
8-way set associative
L1D Cache24 KiB/Core
6-way set associative
L2 Cache512 KiB/Core
8-way set associative
Cores
Core NamesSilverthorne,
Diamondville,
Lincroft,
Pineview,
Tunnel Creek,
Stellarton,
Sodaville,
Groveland
Succession

Bonnell was a microarchitecture for Intel's 45 nm ultra-low power microprocessors first introduced in 2008 for their then-new Atom family. Bonnell, which was named after the highest point in Austin - Mount Bonnell, was Intel's first x86-compatible microarchitecture designed to target the ultra-low power market.

Codenames

Chipset Platform PHC Core Target
Poulsbo Menlow Silverthorne MIDs
Poulsbo Menlow Diamondville Nettops
Moorestown Langwell Lincroft MIDs
Pine Trail Tiger Point Pineview Nettops
Queens Bay Topcliff Tunnel Creek Embedded
Queens Bay Topcliff Stellarton Embedded + Altera FPGA
Sodaville CE
Groveland CE

Generation successor

First Generation Second Generation
Silverthorne Lincroft
Diamondville Pineview
Tunnel Creek
Stellarton
Sodaville
Groveland

Release Dates

Bonnell was first announced on April 2nd 2008 during the Intel Developers Forum in Shanghai.

Process Technology

45 nm Manufacturing Fabs
Fab Location
D1D Hillsboro, Oregon
Fab 32 Chandler, Arizona
Fab 28 Kiryat Gat, Israel

Bonell is designed to be manufactured using a 45 nm process. Intel's 45 nm process is the first high-volume manufacturing process to introduce High-k + metal gate transistors.

intel 45nm transistor.png
Bonnell
45 nm
Gate Pitch 180 nm
Interconnect Pitch 160 nm
SRAM bit cell (HD)​ 0.346 µm²
SRAM bit cell (LP)​ 0.382 µm²

Compiler support

Compiler Arch-Specific Arch-Favorable
GCC -march=bonnell -mtune=bonnell
LLVM -march=bonnell -mtune=bonnell
Visual Studio /arch:SSE3

Architecture

Bonnell features a brand new architecture not based on any previous Intel design. The architecture was specifically designed for ultra-mobile PCs (UMPCs), mobile internet devices (MID), and other embedded devices. Bonnell's primary goals were:

  1. Reduce power consumption,
  2. while staying fully x86-compatible,
  3. at acceptable performance

Performance/Power new rule: +1% performance for at most +1% power consumption.

Architecture

The number of functional units were kept to minimum to cut on power consumption.

  • 2 address generation units (AGUs)
  • 2 Integer ALUs (1 for jumps, 1 for shifts)
  • 2 FP ALUs (1 adder, 1 for others)
  • No Integer multiplier & divider (shared with FP ALU instead)

Memory Hierarchy

  • Cache
    • Hardware prefetchers
    • C6 cache
      • 10.5 KiB array to hold the architectural state during deep power down state
    • L1 Data Cache
      • 32 KiB
      • 8-way set associative
        • 1 read and 1 write port
        • 8 transistors (instead of 6) to reduce voltage
    • L1 Instruction Cache
      • 24 KiB
      • 6-way set associative
        • 1 read and 1 write port
        • 8 transistors (instead of 6) to reduce voltage
      • Per core
    • L2 Cache:
      • 512 KiB 8-way set associative
      • ECC
      • Shrinkable from 512 KiB to 128 KiB (2-way)
      • Per core
    • L3 Cache:
      • No level 3 cache
    • RAM
      • Maximum of 2 GiB, 4 GiB, and 8 GiB

Note that the L1 cache for data and instructions were originally both 32 KiB (8-way), however due to power restrictions, the L1d$ was later reduced to 24 KiB.

Pipeline

Bonnell's architecture shares very little in common with other Intel designs. To achieve the strict ultra-low power objects, Bonnell features a very slimmed own design discarding many high-performance techniques used by Intel's high-performance architectures such as aggressive speculative execution, out-of-order execution, and µop transformation.

Bonnell consists of an in-order dual-issue 16-stage pipeline. Bonnell supports 2-way SMT

bonnell pipeline.svg

The longer pipeline allows a more evenly spreading of heat across the chip with more units. This also allows a higher clock rate.

  • Instruction Fetch
    • 3 stages
    • 8 Bytes/Cycle (lower if SMT)
  • Instruction Decode
    • 3 stages
    • Instructions with up to 3 prefixes/Cycle
  • Instruction Dispatch
    • 2 stages
  • Source Operand Read
  • Data Cache Access
    • 3 stages
      • 1 stage for calculating
      • 2 stages for reading cache
  • Execution
    • 2 clusters
      • integers
        • quick cache access due to direct connection
      • floating point & SIMD
  • Exception & MT Handling
    • 2 stages
  • Commit
    • 1 stage

Multithreading

Bonnell has support for multithreading - up to two threads per core. However each thread compete for the same resources which does inherently means they run slower than they would if they were to run alone.

Branch Prediction

  • Two-level adaptive predictor
  • 12-bit branch history register
  • Pattern history table has 4096 entries (shared between threads)
  • Branch buffer target has 128 entries (4-way, 32 sets)
  • Unconditional jumps are ignored
  • Always-taken and never-taken are marked in the table
  • Penalties:
    • 13 stages for miss prediction
    • 7 stages for correct prediction but missing branch target buffer (BTB)

Die

  • 45 nm process
  • 9 metal layers
  • 47,000,000 transistors
  • 3.1 mm x 7.8 mm
  • 24.2 mm² die size


Silverthorne die shot.jpg
  • BIC - Bus Interface Cluster
  • MEC - Memory Cluster Execution & L1d$
  • FPC - FP/SIMD execution Cluster
  • IEC - Integer Execution Cluster
  • FEC - Front-End Cluster & L1i$
  • FSB - Front Side Bus


Silverthorne die shot (marked).png

Cores

First Generation

First generation of Bonnell-based microprocessors introduced 2 cores: Silverthorne for ultra-mobile PCs and mobile Internet devices (MIDs) and Diamondville for ultra cheap notebooks and desktops.

Silverthorne

Main article: Silverthorne

Silverthorne was the codename for a series of Mobile Internet Devices (MIDs) introduced in 2008. These processors had 1 core and 2 threads with a FSB operating at 400 MHz-533 MHz.

Diamondville

Main article: Diamondville

Diamondville was the codename for the series of ultra cheap notebooks and desktops introduced in 2008. Diamondville is very much a soldered-on-motherboard derivative of Silverthorne with faster FSB (operating at 533 MHz - 667 MHz). The dual-core version is an MCM (Multi Chip Module) Silverthorne variant.

Second Generation

First generation of Bonnell-based microprocessors while being low power had to work with the older 90 nm process 945GSE chipset and 82801GBM I/O controller with a TDP of almost 9.5 watts - almost 4 times that of the processor itself. Second generation Bonnell-based microprocessors aimed to address this issue by integrating a memory controller and GPU on-chip. This drastically reduced power consumption and cost.

Lincroft

Main article: Lincroft

Lincroft is the codename for Bonnell-based Silverthorne's successor. Lincroft integrates on-die the graphics and memory controller.

Pineview

Main article: Pineview

Pineview was the codename for second generate Bonnell-based processors which integrated a memory controller, Direct Media Interface (DMI) link, and the GMA 3150 GPU. Pineview is the successor for Diamondville, targeting the same ultra cheap desktops, nettops and netbooks.

Tunnel Creek

Main article: Tunnel Creek

Tunnel Creek was the codename for a series of MPUs for embedded applications.

Stellarton

Main article: Stellarton

Stellarton was the codename for a series of MPUs for embedded applications. Stellarton is the Tunnel Creek core packaged with an Altera FPGA.

Sodaville

Main article: Sodaville

Sodaville is the codename for a series of consumer electronics system on a chip (e.g. set-top box).

Groveland

Main article: Groveland

Groveland is the codename for a series of consumer electronics MPUs (e.g. smart TVs).

All Bonnell Chips

Bonnell Chips
CPUIGP
ModelµarchPlatformCoreLaunchedSDPFreqMax MemNameFreqMax Freq
230BonnellNettop 2008Diamondville3 June 20081,599.99 MHz
1.6 GHz
1,599,990 kHz
8,192 MiB
8,388,608 KiB
8,589,934,592 B
8 GiB
0.00781 TiB
330BonnellNettop 2008Diamondville21 September 20081,599.99 MHz
1.6 GHz
1,599,990 kHz
8,192 MiB
8,388,608 KiB
8,589,934,592 B
8 GiB
0.00781 TiB
N270BonnellNettop 2008Diamondville3 June 20081,599.99 MHz
1.6 GHz
1,599,990 kHz
8,192 MiB
8,388,608 KiB
8,589,934,592 B
8 GiB
0.00781 TiB
N280BonnellNettop 2008Diamondville7 February 20091,666.66 MHz
1.667 GHz
1,666,660 kHz
8,192 MiB
8,388,608 KiB
8,589,934,592 B
8 GiB
0.00781 TiB
Z500BonnellMenlowSilverthorne2 April 20080.96 W
960 mW
0.00129 hp
9.6e-4 kW
800 MHz
0.8 GHz
800,000 kHz
Z510BonnellMenlowSilverthorne2 April 20080.96 W
960 mW
0.00129 hp
9.6e-4 kW
1,100 MHz
1.1 GHz
1,100,000 kHz
Z510PBonnellMenlowSilverthorne2 March 20091,100 MHz
1.1 GHz
1,100,000 kHz
Z510PTBonnellMenlowSilverthorne2 March 20091,100 MHz
1.1 GHz
1,100,000 kHz
Z515BonnellMenlowSilverthorne8 April 20091,200 MHz
1.2 GHz
1,200,000 kHz
Z520BonnellMenlowSilverthorne2 April 20080.96 W
960 mW
0.00129 hp
9.6e-4 kW
1,333.33 MHz
1.333 GHz
1,333,330 kHz
Z520PTBonnellMenlowSilverthorne2 March 20091,333.33 MHz
1.333 GHz
1,333,330 kHz
Z530BonnellMenlowSilverthorne2 April 20081,599.99 MHz
1.6 GHz
1,599,990 kHz
Z530PBonnellMenlowSilverthorne2 March 20091,599.99 MHz
1.6 GHz
1,599,990 kHz
Z540BonnellMenlowSilverthorne2 April 20080.96 W
960 mW
0.00129 hp
9.6e-4 kW
1,866.66 MHz
1.867 GHz
1,866,660 kHz
Z550BonnellMenlowSilverthorne8 April 20091,999.99 MHz
2 GHz
1,999,990 kHz
Z560BonnellMenlowSilverthorneJune 20102,133.33 MHz
2.133 GHz
2,133,330 kHz
Z600BonnellMoorestownLincroft4 May 2010800 MHz
0.8 GHz
800,000 kHz
1,024 MiB
1,048,576 KiB
1,073,741,824 B
1 GiB
9.765625e-4 TiB
PowerVR SGX535200 MHz
0.2 GHz
200,000 KHz
Z605BonnellMoorestownLincroft4 May 20101,000 MHz
1 GHz
1,000,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z610BonnellMoorestownLincroft4 May 2010800 MHz
0.8 GHz
800,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z612BonnellMoorestownLincroft4 May 2010900 MHz
0.9 GHz
900,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z615BonnellMoorestownLincroft4 May 20101,200 MHz
1.2 GHz
1,200,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z620BonnellMoorestownLincroft4 May 2010900 MHz
0.9 GHz
900,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z625BonnellMoorestownLincroft4 May 20101,500 MHz
1.5 GHz
1,500,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z650BonnellOak TrailLincroft11 April 20111,200 MHz
1.2 GHz
1,200,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
Z670BonnellOak TrailLincroft11 April 20111,500 MHz
1.5 GHz
1,500,000 kHz
2,048 MiB
2,097,152 KiB
2,147,483,648 B
2 GiB
0.00195 TiB
PowerVR SGX535400 MHz
0.4 GHz
400,000 KHz
codenameBonnell +
core count1 + and 2 +
designerIntel +
first launched2008 +
full page nameintel/microarchitectures/bonnell +
instance ofmicroarchitecture +
instruction set architectureIA-32 + and x86-64 +
manufacturerIntel +
microarchitecture typeCPU +
nameBonnell +
phase-out2011 +
pipeline stages16 +
process45 nm (0.045 μm, 4.5e-5 mm) +