Steamroller (microarchitecture)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Steamroller - Family 15h (3rd-gen)
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.

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:

  1. Kaveri A-series APU
  2. 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]
    • no plans for Steamroller (3rd gen Bulldozer) or Excavator (4th gen Bulldozer) architectures on high-end multi-processor (2P/4P) platforms

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.