A gate is simply a specially declared entry point (an entry point would be called a routine, function, or procedure in today's language). The compiler or assembler will generate additional information for entry points that are gates. A gate entry point can be called by code that is running at a less privileged ring than that of the gate. Non gate entry points cannot be called from code running in higher numbered (less privileged) rings.
See section 8 of the AL-39 manual and the description of the call6 instruction for more detail. Here's a snippit:
Gates are procedures residing in a given ring and intended to provide controlled access to
the ring. A program that is in ring R can enter an inner ring r only by calling one of the gate procedures associated with this inner ring r. Gates must be carefully coded and must not trust any data that has been manufactured or modified by the caller in a less privileged ring. In particular, gates must validate all arguments passed to them by the caller so as not to compromise the protection of any segment residing in the inner ring.