AMD SenseMI, Infinity Fabric, Additional Architecture Details
AMD SenseMIAMD’s SenseMI is a set of sensing and adapting technologies, including what AMD is calling “an artificial intelligence network” inside every Zen processor. There’s definitely some marketing speak going on there to describe the next-generation algorithms for the processor’s branch predictor and prefetcher, but nevertheless AMD is claiming big gains in this area. SenseMI, however, encompasses much more. There are five main features of SenseMI that include Pure Power, Precision Boost, and Extended Frequency Range (or XFR), along with the neural net prediction algos and smart prefetcher.
Pure PowerPure Power is probably what you’re expecting it to be. In real-time, Pure Power senses what’s going on with the processor’s current workload and provides a closed-loop control system to scale performance and power, over what AMD is calling its Infinity Fabric.
Pure Power monitors temperatures, frequencies, and voltage, and adaptively controls each element to optimize performance and power usage. There are over 1300 critical path monitors in Ryzen, distributed throughout the die, which include 48 high-speed power supply monitors, 20 thermal diodes, and 9 voltage droop detectors.
Infinity FabricInfinity Fabric is the name AMD is giving to the latest interconnect technologies the company is using to link not only the individual pieces of silicon block IP within the processor, but the processor to other system IO. AMD created Infinity Fabric because it needed a new approach to scale its products, beyond moving to new process nodes. AMD needed to increase performance and efficiency, scale bandwidth, improve latency and QoS, and it required flexible, coherent interfaces across CPU and GPU cores, and the other functional blocks within the chips
Infinity Fabric consists of two key elements, a scalable control fabric and a scalable data fabric. The scalable control fabric has all of the central control elements, with small remote elements that are dispersed in each different block of the SoC. Feeding into the control elements across the fabric is the data from a myriad of sensors embedded across the SoC. The scalable data fabric is much like a high performance network pathway. It features a high-performance common bus, with low latency, and a coherent Hyper Transport Plus bus, that’s multi-socket and multi die-ready.
Every AMD SoC going forward will leverage Infinity Fabric. It was designed to handle the needs of the fabric within a die, and within the sockets on a multi-socket configuration. It will scale from notebooks right up on to data centers, on products that consume just a few Watts up to systems that burn hundreds of Watts.
Precision BoostPrecision Boost works in conjunction Pure Power. The goal with Precision boost is to consistently provide higher performance, for the same or lower power than un-optimized silicon. It essentially offers on-the-fly frequency adjustments, with fine grained increments of 25MHz, determined by the processor’s workload and health data at the time.
Over and above Precision Boost, Ryzen processors with 'X' branding also feature something AMD is calling Extended Frequency Range, or XFR. XFR caters to enthusiasts by allowing boost frequencies to shoot above and beyond normal Precision Boost limits, when there is thermal headroom available. With XFR enabled, clock speeds will scale higher when more exotic cooling solutions are used. On the Ryzen 7 1800X, the single-core XFR boost frequency flirts with 4.1GHz.
As we mentioned, AMD claims there is a “true AI network” inside every Ryzen processor. There is no doubt some salesmanship going on there, because all modern processors have some form of intelligent branch prediction. Regardless, the smart prediction logic built-into Ryzen builds a model of the decisions the predictor needs to make, based on the software being executed at the time.
Functionally, AMD has doubled the size of the branch history table over previous generation processors, and has doubled the number of weights in the prefetch table as well. All told, the neural net prediction in RYZEN anticipates future decisions, pre-loads pertinent instructions, and chooses the best path through the CPU for them, with the goal to reduce stalls and improve accuracy.
Smart Prefetch anticipates the location of future data accesses the processor may need to make, based on the application code. The learning algorithms Ryzen employs model and learn application data access patterns dynamically, and prefetch pertinent data, which is then stored into a local cache, so it’s ready for use without having to go out to main memory again. That’s essentially how all modern prefetchers work, but AMD is claiming big improvements over previous generations with Zen's prefetch design.