Editing AMD System Management Unit

Jump to navigation Jump to search
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 publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
AMD System Management Unit (SMU) is a thermal and electric management unit found in modern AMD x86 processors. AMD SMU must not be mistaken with AMD SAMU (the Secure Asset/Access Management Unit), a separate processor that handles lots of the encryption/decryption tasks on the PS4.
See also the [https://psdevwiki.com/ps5/Devices#System_Management_Unit_.28SMU.29_.28MP1.29 PS5 AMD SMU].
The AMD System Management Unit (SMU) is a subcomponent of the Northbridge that is responsible for a variety of system and power management tasks during boot and
runtime. The SMU contains a microcontroller to assist... As the Northbridge is part of the CPU, the SMU is a processor inside a processor (or SoC) so it was named Matroshka processor by Rudolf Marek.
The system management unit (SMU) is tasked with the job of continuously sampling sensory data and making rapid corrections to various circuits on the chip. One such example is the control of the boost circuit. Additional tasks include voltage level control which is supplied as targets to the power supply monitors (PSMs), C-state boosts, thermal management ensuring the chip does not exceed the specifications temperatures, and electrical design current management which ensures the current draw does not exceed the specifications of the external voltage rails.
See the [https://media.ccc.de/v/31c3_-_6103_-_en_-_saal_2_-_201412272145_-_amd_x86_smu_firmware_analysis_-_rudolf_marek video of Rudolf Marek explaining AMD x86 SMU firmware analysis at 31C3]. See also his [https://fahrplan.events.ccc.de/congress/2014/Fahrplan/system/attachments/2503/original/ccc-final.pdf slides].
= PS4 AMD SMU revision =
Despite continuing claims from some that the PS4 SoC must contain a higher-end Kaveri/Steamroller-class CPU, the tiny x86 cores implemented here are clearly based on Jaguar/Kabini. Each core is roughly 3.1 millimeters square - exactly the size AMD gave for that chip. The large (rather plaid) boxes in each quad-core arrangement are the L2 cache. Memory I/O wraps all three sides of the die, which makes sense - the SoC itself uses a GPU-style memory layout. It is not clear from this diagram whether HSA is implemented on the chip or not, though it might be possible to identify the IOMMU unit that HSA requires with a close analysis.
* See [https://www.extremetech.com/gaming/171375-reverse-engineered-ps4-apu-reveals-the-consoles-real-cpu-and-gpu-specs].
* See [https://en.wikipedia.org/wiki/List_of_AMD_processors_with_3D_graphics#%22Kabini%22_(2013,_SoC)_2 Kabini] and [https://en.wikipedia.org/wiki/Jaguar_(microarchitecture) Jaguar].
= PS4 AMD SMU firmware =
In the PS4 BIOS, there is the AMD Generic Encapsulated Software Architecture (AGESA) firmware, which contains all AMD silicon initialization including the SMU firmware.
= PS4 AMD SMU HMAC-SHA1 Hashes =
Remind that HMAC-SHA1 digests are 20-byte long.
<pre>
<pre>
1.00 -> 1.02:
1.00 -> 1.02 :
(ES32)
(ES32)
0xb92864eb
0xb92864eb
Line 34: Line 8:
0x3ad5b9ed
0x3ad5b9ed


1.03 -> 2.04:
1.03 -> 2.04 :
 
(ES32)
(ES32)
0xa372c000
0xa372c000
Line 42: Line 17:
0xce341069
0xce341069


2.50 -> ?.??:
2.50 -> ???
(ES32) (key maybe changed as this hash is not confirmed)
(ES32) (Maybe key changed, this hash is not confirmed)
0xa11c2a0f
0xa11c2a0f
0x550ae4ec
0x550ae4ec
Line 50: Line 25:
0xf64a074a
0xf64a074a
</pre>
</pre>
{{Reverse Engineering}}
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)