There are options on Linux that you can google up (I don't know enough about any of them to endorse them by linking to one in particular).
As I understand it, Windows doesn't expose the necessary low-level hardware information for something like this to be possible.