Control is the part of a PROLOG interpreter that decides when to unify (move forward) and when to backtrack. This paper presents a simple and explicit control mechanism for PROLOG in six small slides. It then adds two (corrected: three) additional slides to extend the mechanism with support for the cut goal.
The source code of a tiny pure PROLOG system in Scheme is included in the paper as a proof of concept.
If you ever wanted to write a PROLOG interpreter, but did not know where to start and found the literature not particularly approachable, try this paper.