spo/ass2/headers/cpu.h

24 lines
523 B
C++

#pragma once
#include "machine.h"
#include <atomic>
#include <thread>
#include <chrono>
class cpu {
private:
std::atomic<bool> running;
std::thread nitUre;
int hitrostKhz;
int operacijeNaTick;
machine *m;
public:
cpu(machine *m) : running(false), hitrostKhz(1), operacijeNaTick(10), m(m) {}
void start();
void stop();
bool isRunning();
void setSpeed(int kHz);
int getSpeed();
private:
void zankaUre();
};