Термин триггер происходит от английского слова trigger — защёлка, спусковой крючок. Так называют электронную схему, которая может находиться только в двух состояниях (0 и 1), и способна почти мгновенно переходить из одного состояния в другое.
Триггер изобрели независимо друг от друга М.А. Бонч-Бруевич и англичане У. Икклз и Ф. Джордан в 1918 году.
В компьютерах триггер используется для запоминания одного бита информации. Соответственно, для того, чтобы запомнить 1 байт информации требуется 8 триггеров, а для хранения 1 Кб – 8*1024=8192 триггера.
Триггеры бывают разных типов. Самый распространенный – это RS-триггер. Он имеет два входа, которые обозначаются как S (англ. Set – установить) и R (англ. Reset – сброс), и два выхода – Q и ¬Q, причем выходной сигнал ¬(q )является логическим отрицанием сигнала Q (если Q = 1, то ¬Q=0, и наоборот). RS – триггер можно построить на двух элементах «И-НЕ» или на двух элементах «ИЛИ-НЕ». На следующем рисунке показано условное обозначение RS-триггера, внутреннее устройство триггера на элементах «ИЛИ-НЕ» и его таблица истинности.
Триггер использует так называемые обратные связи – сигналы с выходов схем «ИЛИ-НЕ» поступают на вход соседней схемы. Именно это позволяет хранить информацию.
Рассмотрим таблицу истинности триггера. Начнем с варианта, когда S=0 и R=1. Элемент «ИЛИ-НЕ» в нижней части схемы можно заменить на последовательное соединение элементов «ИЛИ» и «НЕ». Тогда, независимо от второго входа, на выходе «ИЛИ» - нуль. Это значит, что Q=0.
Тогда на выходе другого элемента «ИЛИ-НЕ» будут два нуля, а на выходе¬( Q) – единица.
Поскольку основным выходом считается Q, мы записали триггер значение 0. Схема симметрична, поэтому легко догадаться, что при S=1 и R=0 мы запишем в триггер 1(Q=1).
Теперь рассмотрим случай, когда S=0 и R=0. На выходе первого элемента «ИЛИ» будет сигнал Q+0=Q, поэтому на выходе ¬Q останется его предыдущее значение:
Аналогично легко показать, что на выходе Q тоже остается его предыдущее значение. Это режим хранения бита. Для случая S=1 и R=1 мы увидим, что оба выхода становятся равны нулю – в этом нет смысла, поэтому такой вариант запрещен.
Для хранения многоразрядных данных триггеры объединяются в единый блок, который называется регистром. Регистры (от 8 до 64 бит) используются во всех процессорах для временного хранения промежуточных результатов.
Над регистром, как над единым целым, можно производить ряд стандартных операций: сбрасывать (обнулять), заносить в него код и т.д. Часто регистры способны не просто хранить информацию, но и обрабатывать ее. Например, существуют регистры-счетчики, которые подсчитывают количество импульсов, поступающих на вход.
Триггеры применяются также в микросхемах быстродействующей оперативной памяти.