Provides two implementations: - CSR_CYCLE: Cores which implement hardware performance monitoring. - CSR_TIME: Uses the machine time registers. Using the up_perf_xx bindings directory is more efficient than performing a nanosecond conversion on every gettime event.