¿La diferencia entre Call Gate, Interrupt Gate, Trap Gate?

Estoy estudiando el modo protegido de Intel. Descubrí que Call Gate, Interrupt Gate, Trap Gate son casi lo mismo. De hecho, además de que Call Gate tiene los campos para el contador de parámetros, y que estas 3 puertas tienen campos de tipo diferente, son idénticas en todos los demás campos.

En cuanto a sus funciones, todas se utilizan para transferir el control de código a algún procedimiento dentro de algún segmento de código.

Me pregunto, ya que estas 3 puertas contienen la información necesaria para la llamada a través de los límites de privilegios. ¿Por qué necesitamos 3 tipos de ellos? ¿No es 1 lo suficientemente bueno?

Gracias por su tiempo y respuesta.

Actualización 1

Una pregunta relacionada:¿Cuándo usar Interrupt Gate o Trap Gate?

Actualización 2

Hoy se me ocurrió este pensamiento:

Propósito diferente, puertas diferentes y con diferentes detalles de comportamiento de la CPU llevados a cabo. Como el manejo de la bandera IF.

Respuestas a la pregunta(3)

Su respuesta a la pregunta