public void pipelineFlush() {
		((PipelinedFetchDecodeStage) fetchDecodeStage).setPipelineFlush(true); //Allows for differentiation between reset and flush
		fetchDecodeThread.interrupt();
		getIR().clear(0); //Clear index 0 of IR registers used by f/d stage (WB stage may be using third IR index).
		while (fetchDecodeThread.isAlive()); //Wait for f/d thread to terminate
		fetchDecodeThread = new Thread(fetchDecodeStage); //Must create new thread, as old one cannot be restarted
		fetchDecodeThread.start(); //Restart f/d thread, which will fetch from new PC address value
		
	}