A timing problem. Does it happen in a pure DOS mode? If so, then its for sure a hardware problem. Have you added or installed any new software? If so, it could be a driver issue.
Diagnosis of such issues depend on how much trouble you are willing to go thru. The general approach is to pare the system back to some fundamental level to where it runs well then keep adding back components/software. Otherwise there is not enough information/history provided to suggest much more other than taking it to a specialty repair shop.