You can corrupt the L1, best way to do it is when nothing is happening, then use a util to flush cache after so there's no spurious info in there.
Most deturbo implementations have a mechanism for enforcing this, they stretch pulses and do cache flush, and add idle cycles I think to ease transition. Some do a fixed ref clock, some do it off sysclock/4 or something. Anyway, while it's deturboed it might not be coupled to fsb change, but multiplier change might still glitch it, so deturbo, change bus speed, returbo might work to stabilise clock transitions. Some multi changes need a reset to initialise though, maybe just CPU reset. Anyway, by cobbling up some logic to switch things at the same time, you might be able to do multi switch while deturbo-ing, force reset, then returbo and be on new multi. That's if it's not protected mode software that crashes when you hit the deturbo (Seen that happen but not sure whether it's a quick and dirty turbo transition at fault or software is that tweaky even with a "polite" turbo transition supported by clockchip and chipset.)
This is really my barebones prior to deep dig to implement something like this with an atmel or promini arduino board, so I do not have thorough details, will take poring over chipset, clockchip and CPU datasheets to get all the timing perfect.
Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.