Tuesday, September 10th 2019
AMD AGESA 1.0.0.3ABBA Detailed, Fixes Zen2 Boost Issues
AMD is giving final touches to an AGESA microcode update that fixes the issue of underwhelming Precision Boost behavior on its 3rd generation Ryzen processors. Version ComboAM4 1.0.0.3ABBA is being pushed to motherboard manufacturers to integrate with their UEFI firmware, and one such dispatch to MSI got leaked to the web on ChipHell. Tom's Hardware grabbed the BIOS as it was compatible with the MEG X570 Creator motherboard they have, and tested the Ryzen 9 3900X and Ryzen 7 3700X with it.
In its testing, posted in a mini-review article, Tom's Hardware observed that with AGESA 1.0.0.3ABBA, their 3700X sample was correctly hitting 4.40 GHz across the board at stock settings. With the older 1.0.0.3AB, it would touch 4.375 GHz. The Ryzen 9 3900X behaves slightly differently with this microcode. Tom's Hardware was able to raise its peak boost frequency from 4.575 GHz to 4.625 GHz (above the 4.60 GHz specification), but in certain tests such as POV-Ray and Cinebench, its boost frequency decays down to 4.250 GHz. Overall, the reviewer tabulated improved performance on the chips with the new microcode. The new microcode also apparently changes the processor's thermal thresholds.Update (10/9) AMD posted an elaborate release detailing the AGESA 1.0.0.3ABBA update.
Hello, everyone! We're delighted by your support and the strong momentum of 3rd Gen AMD Ryzen processors in the marketplace, and we continue to watch your feedback closely. Today we have some important updates for you concerning processor boost behavior, desktop idle behavior, and a new monitoring SDK. The first two changes will be arriving in BIOSes based on AGESA 1003ABBA, and we are planning to make the SDK public on developer.amd.com with a target release date of September 30.
Boost Changes
Starting with our commitment to provide you an update on processor boost, our analysis indicates that the processor boost algorithm was affected by an issue that could cause target frequencies to be lower than expected. This has been resolved. We've also been exploring other opportunities to optimize performance, which can further enhance the frequency. These changes are now being implemented in flashable BIOSes from our motherboard partners. Across the stack of 3rd Gen Ryzen Processors, our internal testing shows that these changes can add approximately 25-50 MHz to the current boost frequencies under various workloads.
Our estimation of the benefit is broadly based on workloads like PCMark 10 and Kraken JavaScript Benchmark. The actual improvement may be lower or higher depending on the workload, system configuration, and thermal/cooling solution implemented in the PC. We used the following test system in our analysis:
Going forward, it's important to understand how our boost technology operates. Our processors perform intelligent real-time analysis of the CPU temperature, motherboard voltage regulator current (amps), socket power (watts), loaded cores, and workload intensity to maximize performance from millisecond to millisecond. Ensuring your system has adequate thermal paste; reliable system cooling; the latest motherboard BIOS; reliable BIOS settings/configuration; the latest AMD chipset driver; and the latest operating system can enhance your experience.
Following the installation of the latest BIOS update, a consumer running a bursty, single threaded application on a PC with the latest software updates and adequate voltage and thermal headroom should see the maximum boost frequency of their processor. PCMark 10 is a good proxy for a user to test the maximum boost frequency of the processor in their system. It is fully expected that if users run a workload like Cinebench, which runs for an extended period of time, the operating frequencies may be lower than maximum throughout the run.
In addition, we do want to address recent questions about reliability. We perform extensive engineering analysis to develop reliability models and to model the lifetime of our processors before entering mass production. While AGESA 1003AB contained changes to improve system stability and performance for users, changes were not made for product longevity reasons. We do not expect that the improvements that have been made in boost frequency for AGESA 1003ABBA will have any impact on the lifetime of your Ryzen processor.
Revisiting Calmer Idle
In late July, we implemented a series of software changes that would help the processor ignore requests for voltage/frequency boost from lightweight applications. The goal was to make the processor more relaxed at the desktop, but poised to react for serious workloads. While many of you were happy with the effect of the software changes, some of you were still grappling with cases where the CPU was a bit overzealous with boost. We wanted to smooth those out, too.
Today we're announcing that AGESA 1003ABBA carries firmware-level changes designed to do just that. The changes primarily arrive in the form of an "activity filter" that empowers the CPU boost algorithm itself to disregard intermittent OS and application background noise. Example test cases might include: video playback, game launchers, monitoring utilities, and peripheral utilities. These cases tend to make regular requests for a higher boost state, but their intermittent nature would fall below the threshold of the activity filter.
Net-net, we expect you'll see lower desktop voltages, around 1.2 V, for the core(s) actively handling such tasks. We believe this solution will be even more effective than the July changes for an even wider range of applications.
Please keep in mind, however, that this firmware change is not a cap. The processor must still be free to boost if active workload(s) seriously require it, so you should still expect occasions where the processor will explore its designed and tested voltage range of 0.2 V to 1.5 V.
New Monitoring SDK
Obtaining reliable data about the operating behavior of a processor is important to enthusiasts such as myself. There are many monitoring utilities on the market, and we work with many of them to ensure they're accessing telemetry data in a sensible manner. Regardless of the utility, however, it's common sense that all the tools should roughly correlate when you ask a simple question like "what's my CPU temperature?"
Enabling a consistent experience across monitoring utilities is important to us. That's why we're announcing the September 30 release of the AMD Monitoring SDK that will allow anyone to build a public monitoring utility that can reliably report a range of key processor metrics in a consistent manner. Altogether, there are 30+ API calls within the first SDK release, but we've highlighted a few of the more important or interesting ones below:
This SDK will be available for public download on developer.amd.com on September 30. As a preview of what the new SDK can enable, AMD Ryzen Master (version 2.0.2.1271) has already been updated with the new Average Core Voltage API for 3rd Gen Ryzen Processors. It's ready for download today!
As noted above, Average Core Voltage shows you average voltages that all CPU cores are experiencing over a short sample period after you factor in sleep states, idle states, active power management, and Vdroop. Depending on the load on the processor, this value might be quite different from Peak Core(s) Voltage.
For example: if the processor is lightly loaded on a few cores, the overall activity level of all the CPU cores will be relatively low and, therefore, the Average Core Voltage will be low as well. But the active cores still need intermittently higher voltages to power boost frequencies, which will be reflected in the Peak Core Voltage. As the CPU comes under full load, these two values will eventually converge representing that all cores are active at approximately the same intensity. The overall goal of these two values is to show you what's happening moment-to-moment the most loaded cores (Peak), and what's happening more generally to the CPU cores over time (Average).
We hope new APIs like Average Core Voltage give you a better understanding of how our processors behave, and we can't wait to see more tools make use of the new monitoring SDK. Visit amd.com on September 30 for the first public release!
What to Expect Next
AGESA 1003ABBA has now been released to our motherboard partners. Now they will perform additional testing, QA, and implementation work on their specific hardware (versus our reference motherboard). Final BIOSes based on AGESA 1003ABBA will begin to arrive in approximately three weeks, depending on the testing time of your vendor and motherboard.
Going forward, we'll continue providing updates in this format as the updates are being prepped for release.
Sources:
Tom's Hardware, ChipHell
In its testing, posted in a mini-review article, Tom's Hardware observed that with AGESA 1.0.0.3ABBA, their 3700X sample was correctly hitting 4.40 GHz across the board at stock settings. With the older 1.0.0.3AB, it would touch 4.375 GHz. The Ryzen 9 3900X behaves slightly differently with this microcode. Tom's Hardware was able to raise its peak boost frequency from 4.575 GHz to 4.625 GHz (above the 4.60 GHz specification), but in certain tests such as POV-Ray and Cinebench, its boost frequency decays down to 4.250 GHz. Overall, the reviewer tabulated improved performance on the chips with the new microcode. The new microcode also apparently changes the processor's thermal thresholds.Update (10/9) AMD posted an elaborate release detailing the AGESA 1.0.0.3ABBA update.
Hello, everyone! We're delighted by your support and the strong momentum of 3rd Gen AMD Ryzen processors in the marketplace, and we continue to watch your feedback closely. Today we have some important updates for you concerning processor boost behavior, desktop idle behavior, and a new monitoring SDK. The first two changes will be arriving in BIOSes based on AGESA 1003ABBA, and we are planning to make the SDK public on developer.amd.com with a target release date of September 30.
Boost Changes
Starting with our commitment to provide you an update on processor boost, our analysis indicates that the processor boost algorithm was affected by an issue that could cause target frequencies to be lower than expected. This has been resolved. We've also been exploring other opportunities to optimize performance, which can further enhance the frequency. These changes are now being implemented in flashable BIOSes from our motherboard partners. Across the stack of 3rd Gen Ryzen Processors, our internal testing shows that these changes can add approximately 25-50 MHz to the current boost frequencies under various workloads.
Our estimation of the benefit is broadly based on workloads like PCMark 10 and Kraken JavaScript Benchmark. The actual improvement may be lower or higher depending on the workload, system configuration, and thermal/cooling solution implemented in the PC. We used the following test system in our analysis:
- AMD Reference Motherboard (AGESA 1003ABBA beta BIOS)
- 2x8GB DDR4-3600C16
- AMD Wraith Prism and Noctua NH-D15S coolers
- Windows 10 May 2019 Update
- 22°C ambient test lab
- Streacom BC1 Open Benchtable
- AMD Chipset Driver 1.8.19.xxx
- AMD Ryzen Balanced power plan
- BIOS defaults (except memory OC)
Going forward, it's important to understand how our boost technology operates. Our processors perform intelligent real-time analysis of the CPU temperature, motherboard voltage regulator current (amps), socket power (watts), loaded cores, and workload intensity to maximize performance from millisecond to millisecond. Ensuring your system has adequate thermal paste; reliable system cooling; the latest motherboard BIOS; reliable BIOS settings/configuration; the latest AMD chipset driver; and the latest operating system can enhance your experience.
Following the installation of the latest BIOS update, a consumer running a bursty, single threaded application on a PC with the latest software updates and adequate voltage and thermal headroom should see the maximum boost frequency of their processor. PCMark 10 is a good proxy for a user to test the maximum boost frequency of the processor in their system. It is fully expected that if users run a workload like Cinebench, which runs for an extended period of time, the operating frequencies may be lower than maximum throughout the run.
In addition, we do want to address recent questions about reliability. We perform extensive engineering analysis to develop reliability models and to model the lifetime of our processors before entering mass production. While AGESA 1003AB contained changes to improve system stability and performance for users, changes were not made for product longevity reasons. We do not expect that the improvements that have been made in boost frequency for AGESA 1003ABBA will have any impact on the lifetime of your Ryzen processor.
Revisiting Calmer Idle
In late July, we implemented a series of software changes that would help the processor ignore requests for voltage/frequency boost from lightweight applications. The goal was to make the processor more relaxed at the desktop, but poised to react for serious workloads. While many of you were happy with the effect of the software changes, some of you were still grappling with cases where the CPU was a bit overzealous with boost. We wanted to smooth those out, too.
Today we're announcing that AGESA 1003ABBA carries firmware-level changes designed to do just that. The changes primarily arrive in the form of an "activity filter" that empowers the CPU boost algorithm itself to disregard intermittent OS and application background noise. Example test cases might include: video playback, game launchers, monitoring utilities, and peripheral utilities. These cases tend to make regular requests for a higher boost state, but their intermittent nature would fall below the threshold of the activity filter.
Net-net, we expect you'll see lower desktop voltages, around 1.2 V, for the core(s) actively handling such tasks. We believe this solution will be even more effective than the July changes for an even wider range of applications.
Please keep in mind, however, that this firmware change is not a cap. The processor must still be free to boost if active workload(s) seriously require it, so you should still expect occasions where the processor will explore its designed and tested voltage range of 0.2 V to 1.5 V.
New Monitoring SDK
Obtaining reliable data about the operating behavior of a processor is important to enthusiasts such as myself. There are many monitoring utilities on the market, and we work with many of them to ensure they're accessing telemetry data in a sensible manner. Regardless of the utility, however, it's common sense that all the tools should roughly correlate when you ask a simple question like "what's my CPU temperature?"
Enabling a consistent experience across monitoring utilities is important to us. That's why we're announcing the September 30 release of the AMD Monitoring SDK that will allow anyone to build a public monitoring utility that can reliably report a range of key processor metrics in a consistent manner. Altogether, there are 30+ API calls within the first SDK release, but we've highlighted a few of the more important or interesting ones below:
- Current Operating Temperature: Reports the average temperature of the CPU cores over a short sample period. By design, this metric filters transient spikes that can skew temperature reporting.
- Peak Core(s) Voltage (PCV): Reports the Voltage Identification (VID) requested by the CPU package of the motherboard voltage regulators. This voltage is set to service the needs of the cores under active load, but isn't necessarily the final voltage experienced by all of the CPU cores.
- Average Core Voltage (ACV): Reports the average voltages experienced by all processor cores over a short sample period, factoring in active power management, sleep states, Vdroop, and idle time.
- EDC (A), TDC (A), PPT (W): The current and power limits for your motherboard VRMs and processor socket.
- Peak Speed: The maximum frequency of the fastest core during the sample period.
- Effective Frequency: The frequency of the processor cores after factoring in time spent in sleep states (e.g. cc6 core sleep or pc6 package sleep). Example: One processor core is running at 4 GHz while awake, but in cc6 core sleep for 50% of the sample period. The effective frequency of this core would be 2 GHz. This value can give you a feel for how often the cores are using aggressive power management capabilities that aren't immediately obvious (e.g. clock or voltage changes).
- Various voltages and clocks, including: SoC voltage, DRAM voltage, fabric clock, memory clock, etc.
This SDK will be available for public download on developer.amd.com on September 30. As a preview of what the new SDK can enable, AMD Ryzen Master (version 2.0.2.1271) has already been updated with the new Average Core Voltage API for 3rd Gen Ryzen Processors. It's ready for download today!
As noted above, Average Core Voltage shows you average voltages that all CPU cores are experiencing over a short sample period after you factor in sleep states, idle states, active power management, and Vdroop. Depending on the load on the processor, this value might be quite different from Peak Core(s) Voltage.
For example: if the processor is lightly loaded on a few cores, the overall activity level of all the CPU cores will be relatively low and, therefore, the Average Core Voltage will be low as well. But the active cores still need intermittently higher voltages to power boost frequencies, which will be reflected in the Peak Core Voltage. As the CPU comes under full load, these two values will eventually converge representing that all cores are active at approximately the same intensity. The overall goal of these two values is to show you what's happening moment-to-moment the most loaded cores (Peak), and what's happening more generally to the CPU cores over time (Average).
We hope new APIs like Average Core Voltage give you a better understanding of how our processors behave, and we can't wait to see more tools make use of the new monitoring SDK. Visit amd.com on September 30 for the first public release!
What to Expect Next
AGESA 1003ABBA has now been released to our motherboard partners. Now they will perform additional testing, QA, and implementation work on their specific hardware (versus our reference motherboard). Final BIOSes based on AGESA 1003ABBA will begin to arrive in approximately three weeks, depending on the testing time of your vendor and motherboard.
Going forward, we'll continue providing updates in this format as the updates are being prepped for release.
110 Comments on AMD AGESA 1.0.0.3ABBA Detailed, Fixes Zen2 Boost Issues
While I personally appreciate your in depth explanations, I'm confident that I (and most other users) will never need to worry about electron level degradation.
I tend to only upgrade every 5 to 7 years and I'm quite confident that any degradation of my motherboard during that time is negligable.