CPU temperature too high but fan not running at max speed
Solution 1:
Control Panel -> Power Options -> Edit Plan Settings -> Change Advanced Power Settings -> Processor Power Management -> System cooling policy -> Active
This is about the only system controlled method to control the fan speed / processor load mannerisms.
Alternatively, for more control, you would have to update your BIOS as suggested by @ZianChoy and attempt to control fan speed using SpeedFan.
You should also be able to control Fan Speed via the BIOS even prior to updating it, some BIOS interfaces let you configure rules, fixed RPM, or Modes
whereby you could select High Performance
making your PC slightly louder but effectively cooler.
Solution 2:
Try updating your BIOS as RemyService suggests.
You could also try putting swapping the CPU, fan, or motherboard.
Solution 3:
I've experiencend the same and my fan didn't run at full speed even when I max out cpu usage so I've written a windows driver to control the fan. I suggest to download the RW tool and check the embedded controller for the temperature and speed value. I'm not an expert but it's usually the ec talking to the fan and cpu. Maybe you can get more insight when you disassemble the DSDT from the BIOS-ROM. In my laptop the ec value 0x94 controls the fan mode and the value 0x95 sets the speed. Another value is to monitor the cpu temperature and you can watch it with RW. To read and write to the ec and write a program you need to write either a driver or you need a special library like winring0. A windows driver needs to be signed by an authority for a small fee.