Fine tuning Core Clock with Bclk Changes:
Base clock x Multiplier = frequency in MHz
Recall that multipliers can only be whole numbers. If we only tweak the multiplier, we can only do 4.5, 4.6, 4.7GHz etc. What if I can do 4.5GHz but I cannot do 4.6GHz? Maybe I can stabilize at a frequency above 4.5GHz but below 4.6GHz. To do that we change the Base Clock. The bclk can contain decimals (like 100.1MHz, etc).
Let's say we want to try 4.545GHz. Pick a number relatively close to 100 that when multiplied by something gives us 4545. 101 base clock with 45 core multiplier will do just that. Could I have done 181.8 * 25? Yes. But in general we want to keep bclk as close to 100 as possible to improve stability and decrease headaches.
Old OC:
100 x 45 = 4.5GHz Core clock
100 x 40 = 4.0GHz Cache clock
2133MHz Memory clock
100 x 10 = 1.0GHz Fclk
Base clock set to 101:
101 x 45 = 4.545GHz Core clock
101 x 40 = 4.04GHz Cache clock
2154MHz Memory clock
101 x 10 = 1.1GHz Fclk
If the above passes, we now have a stable 4.545GHz. Maybe we could aim for a higher frequency. Remember that core matters more than cache or ram which matters more than Fclk. This is why it's best to alter base clock to maximize core and simply raise the cache multiplier as far as it will go afterwards. Keep in mind that every time you adjust bclk you are also adjusting cache, Fclk, and ram. Adjust their multipliers accordingly. In my example the base clock change was so slight such adjustments were not necessary.
The higher you go from 100 base clock, the harder it is to stabilize. Generally the stability at 170 bclk and up will vary depending on the motherboard. You will sometimes fail to boot if the bclk is too high. There's usually no good reason to set the base clock above 170 though. With smart math, it should be possible to get very close to any frequency without exceeding 150 bclk. Don't forget that bclk can have decimals.