1
Files
lecture-operating-system-de…/c_os/kernel/CPU.h
2022-05-06 11:28:20 +02:00

37 lines
1.2 KiB
C++
Executable File

/*****************************************************************************
* *
* C P U *
* *
*---------------------------------------------------------------------------*
* Beschreibung: Implementierung einer Abstraktion fuer den Prozessor. *
* *
* Autor: Michael Schoettner, 30.7.16 *
*****************************************************************************/
#ifndef __CPU_include__
#define __CPU_include__
class CPU {
private:
CPU(const CPU &copy); // Verhindere Kopieren
public:
CPU() {}
// Prozessor anhalten
inline void halt () {
asm volatile ( "cli;"
"hlt"
);
}
// Time-Stamp-Counter auslesen
inline unsigned long long int rdtsc() {
unsigned long long int ret;
asm volatile ( "rdtsc" : "=A"(ret) );
return ret;
}
};
#endif