Разница между Call Gate, Interrupt Gate, Trap Gate?

Я изучаю Intel защищенный режим. Я обнаружил, что Call Gate, Interrupt Gate, Trap Gate почти одинаковы. Фактически, кроме того, что у Call Gate есть поля для счетчика параметров, и что эти 3 шлюза имеют поля разных типов, они идентичны во всех других полях.

Что касается их функций, все они используются для передачи управления кодом в некоторую процедуру в некотором сегменте кода.

Мне интересно, так как все эти 3 шлюза содержат информацию, необходимую для вызова через границы привилегий. Зачем нам их 3 вида? Разве 1 ​​не достаточно хорош?

Спасибо за ваше время и ответ.

Обновление 1

Смежный вопрос:Когда использовать Interrupt Gate или Trap Gate?

Обновление 2

Сегодня я придумал эту мысль:

Различное назначение, разные ворота, и с различными деталями поведения процессора. Например, обработка флага IF.

Ответы на вопрос(3)

Ваш ответ на вопрос