Steamroller (microarchitecture)
Produced | beginning of 2014 |
---|---|
Common manufacturer(s) | |
Min. feature size | 28 nm SHP[1] |
Instruction set | AMD64 (x86-64) |
Socket(s) |
|
Predecessor | Piledriver - Family 15h (2nd-gen) |
Successor | Excavator - Family 15h (4th-gen) |
Core name(s) |
Lua error in package.lua at line 80: module 'strict' not found.
AMD Steamroller Family 15h is a microarchitecture developed by AMD for AMD APUs, which succeeded Piledriver in the beginning of 2014 as the third-generation Bulldozer-based microarchitecture.[3] Steamroller APUs continue to use two-core modules as their predecessors, while aiming at achieving greater levels of parallelism.
Contents
Microarchitecture
Steamroller still features two-core modules found in Bulldozer and Piledriver designs called clustered multi-thread (CMT), meaning that one module is equal to a dual-core processor.[4] The focus of Steamroller is for greater parallelism.[5] Improvements center on independent instruction decoders for each core within a module, 25% more of the maximum width dispatches per thread, better instruction schedulers, improved perceptron branch predictor, larger and smarter caches, up to 30% fewer instruction cache misses, branch misprediction rate reduced by 20%, dynamically resizable L2 cache, micro-operations queue,[6] more internal register resources and improved memory controller.
AMD estimated that these improvements will increase instructions per cycle (IPC) up to 30% compared to the first-generation Bulldozer core while maintaining Piledriver's high clock rates with decreased power consumption.[4] The final result was a 9% single-threaded IPC improvement, and 18% multi-threaded IPC improvement over Piledriver.[7]
Steamroller, the microarchitecture for CPUs, as well as Graphics Core Next, the microarchitecture for GPUs, are paired together in certain product lines, and both support certain features specified in Heterogeneous System Architecture in hardware.
History
In 2011, AMD announced a third-generation Bulldozer-based line of processors for 2013,[8] with Next Generation Bulldozer as the working title, using the 28 nm manufacturing process.[9]
On 21 September 2011, leaked AMD slides indicated that this third generation of Bulldozer core was codenamed Steamroller.[10][11]
In January 2014, Kaveri APUs became available.[12]
Processors
APU lines
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
There are two main APU lines announced:
- Kaveri A-series APU
- Desktop budget and mainstream markets (FM2+): The Trinity / Richland APU line is scheduled to be replaced on 14 January 2014 by the Kaveri APU line, as the third generation of A10, A8, A6 and A4 series for the desktop market. Currently known new model is a quad-core A10-7850K APU, with a 3.7 GHz core frequency and 4 MB L2 cache, incorporating a 720 MHz GPU with 512 stream processors and over 856 GFLOPS of total processing power.[13]
An upcoming product is the A10-7890K. These APUs have two to four enhanced Steamroller B cores, a GCN 1.1 Volcanic Islands (Sea Islands for Godavari / Kaveri-refresh A10-7870K integrated GPU,[14][15] and two integrated DDR3 memory controllers. Kaveri APUs utilize the new FM2+ socket, thus they are not backwards compatible with the previous generation of FM2 motherboards.[16] - SIP blocks: Unified Video Decoder, Video Coding Engine, TrueAudio[17]
- AMD Eyefinity up to 4 monitors,[18] 4K Ultra HD support, DisplayPort 1.2 Support[19]
- Socket FM2+-only, Socket FM2 is not supported,[20] support for PCIe 3.0
- Two or four CPU cores based on the Steamroller microarchitecture
- Three to eight Compute Units (CUs) based on the revised Graphics Core Next (GCN)[21] microarchitecture; 1 Compute Unit (CU) consists of 64 Unified Shader Processors : 4 Texture Mapping Units (TMUs) : 1 Render Output Unit (ROPs)
- AMD Heterogeneous System Architecture (HSA) 2.0
- Dual-channel (2x64-bit) DDR3 memory controller
- Integrated custom ARM Cortex-A5 co-processor[22] with TrustZone Security Extensions[23]
- Select models support AMD Hybrid Graphics by using a Radeon R7 240 or R7 250 discrete graphics card.[24]
- Desktop budget and mainstream markets (FM2+): The Trinity / Richland APU line is scheduled to be replaced on 14 January 2014 by the Kaveri APU line, as the third generation of A10, A8, A6 and A4 series for the desktop market. Currently known new model is a quad-core A10-7850K APU, with a 3.7 GHz core frequency and 4 MB L2 cache, incorporating a 720 MHz GPU with 512 stream processors and over 856 GFLOPS of total processing power.[13]
- Berlin APU
- Enterprise and server markets: The Berlin APU will be similar to Kaveri, featuring four Steamroller cores, up to 512 stream processors, and support for ECC memory.[25]
FX lines
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
In November 2013, AMD confirmed it will not update the FX series in 2014, neither its current Socket AM3+ version, nor will it receive a Steamroller version with a new socket.[26][27] An unconfirmed article, citing anonymous sources with knowledge of AMD's internal roadmap extending into 2015, also did not mention plans for a new FX processor.[28]
Server lines
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
AMD's server roadmaps for 2014 show:[29][30]
- Berlin APU - quad-core x86 Steamroller architecture (as described above) for 1 Processor (1P) compute and media clusters
- focused on cloud and media streaming
- Berlin CPU - quad-core x86 Steamroller architecture for 1P web and enterprise services clusters
- focused on big data processing and HPC
- Seattle CPU - 4/8 core AArch64 Cortex-A57 architecture (Opteron A1100) for 1P web and enterprise services clusters [31]
- low-end applications with power-saving options
- Warsaw CPU - up to 16 core x86 Piledriver (2nd gen Bulldozer) architecture (Opteron 6338P and 6370P) for 2P/4P servers [32]
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.