From WikiChip
Editing microsoft/scorpio engine
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{microsoft title|Scorpio Engine}} | {{microsoft title|Scorpio Engine}} | ||
− | {{ | + | {{mpu |
|name=Scorpio Engine | |name=Scorpio Engine | ||
|image=scorpio engine (front).png | |image=scorpio engine (front).png | ||
Line 11: | Line 11: | ||
|first launched=November 7, 2017 | |first launched=November 7, 2017 | ||
|frequency=2,300 MHz | |frequency=2,300 MHz | ||
+ | |clock multiplier=23 | ||
|isa=x86-64 | |isa=x86-64 | ||
|isa family=x86 | |isa family=x86 | ||
|microarch=Enhanced Jaguar | |microarch=Enhanced Jaguar | ||
− | |microarch 2= | + | |microarch 2=Arctic Islands |
|core name=Enhanced Jaguar | |core name=Enhanced Jaguar | ||
|process=16 nm | |process=16 nm | ||
Line 20: | Line 21: | ||
|technology=CMOS | |technology=CMOS | ||
|die area=359 mm² | |die area=359 mm² | ||
− | |||
|word size=64 bit | |word size=64 bit | ||
|core count=8 | |core count=8 | ||
|thread count=8 | |thread count=8 | ||
|max cpus=1 | |max cpus=1 | ||
− | |max memory= | + | |max memory=12 GiB |
− | |||
}} | }} | ||
'''Scorpio Engine''' is a {{arch|64}} [[octa-core]] [[x86]] SoC designed by [[AMD]] and [[Microsoft]] for their ''Xbox One X''. The chip features eight {{amd|Enhanced Jaguar|l=arch}} cores operating at 2.3 GHz and a custom {{amd|Arctic Islands|l=arch}}-based GPU operating at 1.172 GHz. Fabricated on [[TSMC]]'s [[16 nm process|16FF+]], this chip supports 12 (24 for Dev) GiB of 12-channel GDDR5-6800 memory. | '''Scorpio Engine''' is a {{arch|64}} [[octa-core]] [[x86]] SoC designed by [[AMD]] and [[Microsoft]] for their ''Xbox One X''. The chip features eight {{amd|Enhanced Jaguar|l=arch}} cores operating at 2.3 GHz and a custom {{amd|Arctic Islands|l=arch}}-based GPU operating at 1.172 GHz. Fabricated on [[TSMC]]'s [[16 nm process|16FF+]], this chip supports 12 (24 for Dev) GiB of 12-channel GDDR5-6800 memory. | ||
== Overview == | == Overview == | ||
− | Like the ''PlayStation 4'' and the ''Xbox One'', the ''Xbox One X'' is also powered by a chip based on [[AMD]]'s architectures. The ''Scorpio Engine'' most important goal was achieving true [[4K]] gaming performance according to John Sell, a Distinguished Engineer at Microsoft who presented the chip at [[Hot Chips]] 29. Fabricated on [[TSMC]]'s [[16 nm process]], the chip contains 7 billion | + | Like the ''PlayStation 4'' and the ''Xbox One'', the ''Xbox One X'' is also powered by a chip based on [[AMD]]'s architectures. The ''Scorpio Engine'' most important goal was achieving true [[4K]] gaming performance according to John Sell, a Distinguished Engineer at Microsoft who presented the chip at [[Hot Chips]] 29. Fabricated on a [[TSMC]]'s [[16 nm process]], the chip contains 7 billion transistors on a 359 mm² die, similar in amount to [[Nvidia]]'s {{nvidia|GTX 1080}} and almost the same size as the original Xbox One SoC (which was 363 mm² on a [[28 nm process]]). |
Like the original Xbox One SoC, the chip feature eight Jaguar cores. The cores have been {{amd|Enhanced Jaguar|lightly enhanced|l=arch}} and operate at a higher frequency of 2.3 GHz, but are otherwise mostly identical. It's worth pointing out that [[AMD]] has not commercialized a 16 nm Jaguar processor outside of this chip. | Like the original Xbox One SoC, the chip feature eight Jaguar cores. The cores have been {{amd|Enhanced Jaguar|lightly enhanced|l=arch}} and operate at a higher frequency of 2.3 GHz, but are otherwise mostly identical. It's worth pointing out that [[AMD]] has not commercialized a 16 nm Jaguar processor outside of this chip. | ||
Line 56: | Line 55: | ||
== Memory controller == | == Memory controller == | ||
− | The memory architecture of the Scorpio Engine is very different from the previous generational chip. The entire memory subsystem was redesigned to address the major deficiencies in prior chips. In previous chip, Microsoft chose to go with 8 GiB of quad-channel | + | The memory architecture of the Scorpio Engine is very different from the previous generational chip. The entire memory subsystem was redesigned to address the major deficiencies in prior chips. In previous chip, Microsoft chose to go with 8 GiB of quad-channel DDR3 on-board operating at 2133 MT/s for a total system memory bandwidth of 63.58 GiB/s. That was fairly low by any standard; at the time the PS4 SoC had a peak memory bandwidth of 163.9 GiB/s. In an attempt to mitigate the lack of bandwidth, the chip incorporated 32 MiB of [[eSRAM]] with a bus of 1,024-bit in each direction for a total bandwidth of 190 GiB/s. While this reduced the cost of memory considerably, it increased the cost in terms of die area (which would be roughly 1.6B transistors). Additionally, this architecture also made the programming model more complicated to work with. |
− | The Scorpio Engine made a 180-degree turn vs previous chip architecture-wise. The entire memory subsystem has been re-designed with GDDR5 and high bandwidth in mind. The previous 32 MiB of [[eSRAM]] has been eliminated. Instead, Scorpio has a maximum bandwidth of 304 GiB/s through a 384-bit wide [[DRAM]] interface with an effective transfer of 6800 MT/s. The bandwidth increase has effectively reached the level of a discrete graphics card and almost 1. | + | The Scorpio Engine made a 180-degree turn vs previous chip architecture-wise. The entire memory subsystem has been re-designed with GDDR5 and high bandwidth in mind. The previous 32 MiB of [[eSRAM]] has been eliminated. Instead, Scorpio has a maximum bandwidth of 304 GiB/s through a 384-bit wide [[DRAM]] interface with an effective transfer of 6800 MT/s. The bandwidth increase has effectively reached the level of a discrete graphics card and almost 1.6x the bandwidth of the PS4 Pro (which is 203 GiB/s). |
− | Console systems will come with 12 x32 [[GDDR]] chips for a total of 12 [[GiB]] while the development system will come with x16 chips for a total capacity of 24 GiB. Scorpio has 12 [[DRAM controllers]] for each of the 12 channels. It's worth noting that in order to maintain backwards compatibility with the Xbox One software, the [[CPU]] and [[GPU]] accesses the memory separately. The exact details of how the CPU accesses the memory has not been detailed. As with the previous generation, a bidirectional bus sits between the | + | Console systems will come with 12 x32 [[GDDR]] chips for a total of 12 [[GiB]] while the development system will come with x16 chips for a total capacity of 24 GiB. Scorpio has 12 [[DRAM controllers]] for each of the 12 channels. It's worth noting that in order to maintain backwards compatibility with the Xbox One software, the [[CPU]] and [[GPU]] accesses the memory separately. The exact details of how the CPU accesses the memory has not been detailed. As with the previous generation, a bidirectional bus sits between the memory controllers and the CPUs and GPU. The bus maintains [[coherency]] between the CPU cores and the GPU. For the GPU, each of the 12 [[memory channel|channels]] is a 256-bit directional bus for a total bus width of 3,072-bit. The 12 channels allow the system to lower the granularity of memory accesses while the wide bus allows the system to take full advantage of the available bandwidth. |
{{memory controller | {{memory controller | ||
|type=GDDR5-6800 | |type=GDDR5-6800 | ||
− | + | |max mem=12 GiB | |
− | |max mem= | ||
|controllers=12 | |controllers=12 | ||
|channels=12 | |channels=12 | ||
Line 74: | Line 72: | ||
== Graphics == | == Graphics == | ||
− | {{ | + | {{main|amd/microarchitectures/arctic islands|l1=Arctic Islands microarchitecture}} |
{| class="wikitable" style="float: right;" | {| class="wikitable" style="float: right;" | ||
! colspan="3" | Hardware Accelerated Video Capabilities | ! colspan="3" | Hardware Accelerated Video Capabilities | ||
Line 86: | Line 84: | ||
| [[VP9]] || {{tchk|yes|4K @ 60 Hz}} || {{tchk|no}} | | [[VP9]] || {{tchk|yes|4K @ 60 Hz}} || {{tchk|no}} | ||
|} | |} | ||
− | Scorpio Engine feature 40 | + | Scorpio Engine feature 40 Compute Units (CUs) based on {{amd|Arctic Islands|l=arch}} (Similar to Polaris, Radeon RX 4xx). This is triple the amount over the original Scorpio Engine. The Compute Units operate at 1,172 MHz, each with 64 32-bit [[floating point]] [[multiply-accumulate]] units. At 1.172 GHz with 128 FLOP/cycle this chip can deliver 6.00064 TFLOPS raw peak performance - over four times previous chips (which were 1.3 and 1.4 TFLOPS). The performance of texture processing has also been increase to 187.5 G bilinear texels/second. Additionally, in each of the four shader arrays, there is one geometry engine for the purpose of doing fixed geometry processing, this is twice previous chip which is capable of 4.688 Giga primitives/second. |
− | Similar to previous chips, Scorpio has 2 command processors (i.e., microcontrollers) that handle graphic and compute tasks however they are said to handle more parallel compute tasks than previous chip in order to increase performance. The number of ACEs (Asynchronous Compute Engine) on Scorpio has doubled to 4 in order to increase the | + | Similar to previous chips, Scorpio has 2 command processors (i.e., microcontrollers) that handle graphic and compute tasks however they are said to handle more parallel compute tasks than previous chip in order to increase performance. The number of ACEs (Asynchronous Compute Engine) on Scorpio has doubled to 4 in order to increase the parallelism possible. It's worth pointing out that since the Scorpio Engine is based on {{amd|Arctic Islands|l=arch}}, there are also two additional schedulers. |
− | |||
<table class="wikitable"> | <table class="wikitable"> | ||
<tr><th colspan="2">Scorpio Engine GPU</th></tr> | <tr><th colspan="2">Scorpio Engine GPU</th></tr> | ||
− | <tr><th>Unified shaders</th><td>2560 (64 × 40 | + | <tr><th>Unified shaders</th><td>2560 (64 × 40 CUs)</td></tr> |
<tr><th>[[raster operation units|ROPs]]</th><td>32</td></tr> | <tr><th>[[raster operation units|ROPs]]</th><td>32</td></tr> | ||
<tr><th>[[texture mapping units |TMUs]]</th><td>160</td></tr> | <tr><th>[[texture mapping units |TMUs]]</th><td>160</td></tr> | ||
− | <tr><th>Peak Performance</th><td> ~6 TFLOPS (6,000,640,000,000 [[FLOPS]]) | + | <tr><th>Peak Performance</th><td> ~6 TFLOPS (6,000,640,000,000 [[FLOPS]])</td></tr> |
</table> | </table> | ||
=== RBs and Memory Subsystem === | === RBs and Memory Subsystem === | ||
The render back-end has also been enhanced. The render back-end consist of eight ''Render Boxes'' (RB) color/depth engines, each with 256 KiB graphics L2 cache for a total of 2 MiB. Each pair of Render Boxes is wired to one ''Memory Controller Cluster'' (MCC). Each MMC consists of two dedicated memory controllers and two more that are shared between two pairs of MCCs. In total there are four clusters with each having two dedicated controllers and two more pair (4 controllers) of channels shared between a pair of MCCs for a total of 12 channels. | The render back-end has also been enhanced. The render back-end consist of eight ''Render Boxes'' (RB) color/depth engines, each with 256 KiB graphics L2 cache for a total of 2 MiB. Each pair of Render Boxes is wired to one ''Memory Controller Cluster'' (MCC). Each MMC consists of two dedicated memory controllers and two more that are shared between two pairs of MCCs. In total there are four clusters with each having two dedicated controllers and two more pair (4 controllers) of channels shared between a pair of MCCs for a total of 12 channels. | ||
− | |||
− | |||
== Display == | == Display == | ||
Line 111: | Line 106: | ||
== Utilizing devices == | == Utilizing devices == | ||
− | + | * [[used by::Xbox One X]] | |
+ | |||
+ | {{expand list}} | ||
== Die == | == Die == | ||
Line 125: | Line 122: | ||
=== Yield & redundancy === | === Yield & redundancy === | ||
− | In normal microprocessors such as typical [[CPU]]s and [[GPU]]s, when a core in the case of a CPU or a shader unit in the case of a GPU has a defect, it's common for manufacturers to disable those affected cores/shaders (typically in a symmetrical way) and [[binning|sell those chips as lower end models]]. Since the Scorpio Engine is only found in the single-specification ''Xbox One X'' machine | + | In normal microprocessors such as typical [[CPU]]s and [[GPU]]s, when a core in the case of a CPU or a shader unit in the case of a GPU has a defect, it's common for manufacturers to disable those affected cores/shaders (typically in a symmetrical way) and [[binning|sell those chips as lower end models]]. Since the Scorpio Engine is only found in the single-specification ''Xbox One X'' machine, [[binning]] is not possible. In an attempt to improve yield the Scorpio Engine actually incorporates 11 Compute Units (CUs) in each shader array for redundancy, 10 of them are operational while the 11th one is used as a spare. With 4 shader arrays, there are 4 spares and 40 enabled CUs. If one or a few compute units are faulty but the rest of the chip is fully functional, the spare CUs can be enabled to compensate for this. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Facts about "Scorpio Engine - Microsoft"
base frequency | 2,300 MHz (2.3 GHz, 2,300,000 kHz) + |
core count | 8 + |
core name | Enhanced Jaguar + |
designer | AMD + and Microsoft + |
die area | 359 mm² (0.556 in², 3.59 cm², 359,000,000 µm²) + |
first announced | June 11, 2017 + |
first launched | November 7, 2017 + |
full page name | microsoft/scorpio engine + |
has ecc memory support | false + |
instance of | microprocessor + |
is multi-chip package | false + |
isa | x86-64 + |
isa family | x86 + |
l1$ size | 512 KiB (524,288 B, 0.5 MiB) + |
l1d$ description | 8-way set associative + |
l1d$ size | 256 KiB (262,144 B, 0.25 MiB) + |
l1i$ description | 2-way set associative + |
l1i$ size | 256 KiB (262,144 B, 0.25 MiB) + |
l2$ description | 16-way set associative + |
l2$ size | 4 MiB (4,096 KiB, 4,194,304 B, 0.00391 GiB) + |
ldate | November 7, 2017 + |
main image | + |
manufacturer | TSMC + |
market segment | Console + |
max cpu count | 1 + |
max memory | 24,576 MiB (25,165,824 KiB, 25,769,803,776 B, 24 GiB, 0.0234 TiB) + |
max memory bandwidth | 304 GiB/s (311,296 MiB/s, 326.418 GB/s, 326,417.514 MB/s, 0.297 TiB/s, 0.326 TB/s) + |
max memory channels | 12 + |
microarchitecture | Enhanced Jaguar + and Polaris + |
model number | Scorpio Engine + |
name | Scorpio Engine + |
package | BGA-2409 + |
package contacts | 2,409 + |
package length | 50 mm (5 cm, 1.969 in) + |
package pitch | 0.8 mm (0.0315 in) + |
package type | FC-OBGA + |
package width | 50 mm (5 cm, 1.969 in) + |
process | 16 nm (0.016 μm, 1.6e-5 mm) + |
smp max ways | 1 + |
supported memory type | GDDR5-6800 + |
technology | CMOS + |
thread count | 8 + |
transistor count | 7,000,000,000 + |
used by | Xbox One X + |
word size | 64 bit (8 octets, 16 nibbles) + |