How is conditional jump implemented in the CPU?
The problem: to define conditional jump we need a conditional jump? I mean in order to evaluate an IF the processor has to evaluate condition and IF it's true, then jump, otherwise not. It's an endless recursion.

Processors have some level of code that is directly executed, by hardware circuits. That might not be the same level that they expose as their ISA, processors may translate ISA-level instructions into some other form before really executing them or even treat ISA-level instructions as small subroutines that are implemented in micro-code, but there is still some level is not interpreted in terms of something else and built into the physical structure of the hardware.
Below is a diagram of a simple processor. The &quot;if&quot; in the logic of &quot;if we need to branch then take PC+offset as next PC, otherwise take PC+4&quot; is implemented by the top left multiplexer (labeled Mux). A multiplexer does not actually &quot;do one thing or the other&quot;, it combines two signals and a control signal via the formula: (~condition &amp; a) | (condition &amp; b). That's just a boolean formula that can be implemented easily as a physical circuit.