logo
Методичка для бакалавров 2014

5.4. Логические элементы компьютера

В основе построения компьютеров лежат так называемые вентили. Они представляют собой достаточно простые элементы, которые можно комбинировать между собой, создавая тем самым различные схемы.

Простейший вентиль представляет собой транзисторный инвертор, который преобразует низкое напряжение в высокое или наоборот (высокое в низкое). Это можно представить как преобразование логического нуля в логическую единицу или наоборот. Другими словами, получаем вентиль НЕ.

Соединив пару транзисторов различным способом, получают вентили ИЛИ-НЕ и И-НЕ. Эти вентили принимают уже не один, а два и более входных сигнала. Выходной сигнал всегда один (выдает высокое или низкое напряжение) и зависит от входных сигналов.

Как уже было отмечено ранее, любую логическую функцию можно представить с помощью операций «не», «и» и «или». Тем не менее, инженеры чаще предпочитают строить логические схемы на основе элементов ИЛИ-НЕ, так как их реализация проще: И-НЕ и ИЛИ-НЕ реализуются двумя транзисторами, тогда как логические И и ИЛИ тремя.

Транзистору требуется очень мало времени для переключения из одного состояния в другое (время переключения оценивается в наносекундах). И в этом одно из существенных преимуществ схем, построенных на их основе.

Схематические обозначения простейших вентилей приводятся на Рисунке 3. Небольшой кружок на выходе (или на входе) обозначает операцию «не» (отрицание, инверсию).

НЕ И ИЛИ И-НЕ ИЛИ-НЕ

Рисунок 3 – Простейшие логические элементы

Важной частью компьютера является память – устройство, предназначенное для хранения данных и команд. Элементарной единицей компьютерной памяти является бит. Поэтому требуется устройство, способное находиться в двух состояниях, т.е. хранить единицу или ноль. Также это устройство должно уметь быстро переключаться из одного состояния в другое под внешним воздействием, что дает возможность изменять информацию. Ну и наконец, устройство должно позволять определять его состояние, т.е. предоставлять во вне информацию о своем состоянии.

Устройством, способным запоминать, хранить и позволяющим считывать информацию, является триггер. Словотриггер происходит от английского словаtrigger “защелка” или спусковой крючок2.

Триггер изобрели независимо друг от друга М.А. Бонч-Бруевич3и англичане У.Икклз и Ф.Джордан4в 1918 году.

В компьютерах триггер используют для запоминания одного бита информации. Соответственно, для того чтобы запомнить 1 байт информации, требуется 8 триггеров, а для хранения 1 Кб — 8 · 1024 = 8192 триггера.

Разнообразие триггеров весьма велико. Наиболее простой из них так называемый RS-триггер.

Он имеет два входа, которые обозначаются как S (англ. set — установить) и R (англ. reset — сброс), и два выхода — Q и Q , причем выходной сигнал не Q

является логическим отрицанием сигнала Q (если Q =1, то не Q = 0, и наоборот). RS-триггер можно построить на двух элементах И-НЕ или на двух элементах ИЛИ-НЕ. На Рисунке 4 показаны условное обозначение RS-триггера, внутреннее устройство триггера на элементах ИЛИ-НЕ и его таблица истинности.

Рисунок 4 – условное обозначение RS-триггера, внутреннее устройство триггера на элементах «или-не» и его таблица истинности

Триггер использует так называемые обратные связи — сигналы с выходов схем ИЛИ-НЕ поступают на вход соседней схемы. Именно это позволяет хранить информацию.

Рассмотрим таблицу истинности триггера. Начнем с варианта, когда S = 0 иR = 1. Элемент ИЛИ-НЕ в нижней части схемы можно заменить на последовательное соединение элементов ИЛИ и НЕ (рис.5). Тогда, независимо от второго входа, на выходе ИЛИ будет 1, а на выходе НЕ — ноль. Это значит, чтоQ = 0.

Рисунок 5 – Нижняя часть схемы RS-триггера при подаче на вход R =1, S=0

Тогда на входе другого элемента ИЛИ-НЕ будут два нуля, а на выходе не Q — единица (рис.6).

Рисунок 6 – Верхняя часть схемы RS-триггера при подаче на вход R =1, S=0

Поскольку основным выходом считается Q, мы записали в триггер значение 0. Схема симметрична, поэтому приS = 1 иR = 0 мы запишем в триггер 1 (Q = 1).

Теперь рассмотрим случай, когда S = 0 иR = 0. На выходе первого элемента ИЛИ будет сигналQ + 0 = Q, поэтому на выходене Q останется его предыдущее значение (рис.7).

Рисунок 7 – Верхняя часть схемы RS-триггера при подаче на вход R =О, S=0

Аналогично легко показать, что на выходе Q тоже остается его предыдущее значение. Эторежим хранения бита.

Для случая S = 1 иR = 1 можно убедиться, что оба выхода становятся равны нулю — в этом нет смысла, поэтому такой вариант запрещен.

Таким образом, вход S (set) отвечает за установку триггера в 1, а вход R (reset) – за установку триггера в 0. Установка производится сигналом с высоким напряжением (соответствует 1). Если сигнал подается на S-вход, то триггер на выходе постоянно «сообщает», что хранит единицу. Если сигнал, соответствующий единице, подан на R-вход, то триггер на выходе имеет 0. Еще раз отметим, что не смотря на то, что триггер имеет два выхода, имеется в виду выход Q. Если же на оба входа подается сигнал равный 0 (низкое напряжение), триггер сохраняет свое прежнее состояние.

Для хранения многоразрядных данных триггеры объединяются в единый блок, который называется регистром. Регистры (от 8 до 64 бит) используются во всех процессорах для временного хранения промежуточных результатов.

Над регистром, как над единым целым, можно производить ряд стандартных операций: сбрасывать (обнулять), заносить в него код и т.д. Часто регистры способны не просто хранить информацию, но и обрабатывать ее. Например, существуют регистры-счетчики, которые подсчитывают количество импульсов, поступающих на вход.

Триггеры применяются также в микросхемах быстродействующей оперативной памяти.