ММКЦТ «Академия TOP» Дисциплина: ОП.02 Архитектура аппаратных средств

Теоретический конспект: Логические основы ЭВМ, элементы и узлы

Раздел 3 программы курса (§2.2 с.8). Булева алгебра, функционально полные базисы, схемотехника логических вентилей, комбинационные схемы (сумматоры, мультиплексоры, дешифраторы) и последовательностные узлы (триггеры памяти).

1. Физическая природа цифровой логики и основы булевой алгебры

Любая современная цифровая вычислительная система (от копеечного микроконтроллера до 128-ядерного серверного процессора) на фундаментальном аппаратном уровне представляет собой совокупность миллиардов микроскопических полупроводниковых ключей — полевых транзисторов структуры металл-оксид-полупроводник (MOSFET).

В цифровой электронике абстрактные математические понятия «логический 0» (False) и «логическая 1» (True) физически материализуются в виде строго определенных диапазонов электрического напряжения относительно общей шины «земли» (GND, 0 Вольт):

Принцип помехоустойчивости: Промежуточная зона напряжений (от $0.8\text{ В}$ до $2.0\text{ В}$) является запрещенной. Цифровой логический вентиль никогда не должен длительно находиться в этом диапазоне, что обеспечивает исключительную устойчивость микропроцессоров к электромагнитным шумам и перекрестным помехам.

Аксиомы и ключевые законы алгебры логики (Булевой алгебры)

Фундаментом математического синтеза цифровых схем служит булева алгебра, предложенная Джорджем Булем в 1854 году и примененная к релейно-электронным схемам Клодом Шенноном в 1938 году:

  1. Коммутативность: $A \cdot B = B \cdot A$;   $A + B = B + A$
  2. Ассоциативность: $(A \cdot B) \cdot C = A \cdot (B \cdot C)$;   $(A + B) + C = A + (B + C)$
  3. Дистрибутивность: $A \cdot (B + C) = (A \cdot B) + (A \cdot C)$;   $A + (B \cdot C) = (A + B) \cdot (A + C)$
  4. Законы идемпотентности: $A \cdot A = A$;   $A + A = A$
  5. Операции с константами: $A \cdot 0 = 0$;   $A \cdot 1 = A$;   $A + 0 = A$;   $A + 1 = 1$
  6. Закон противоречия и исключенного третьего: $A \cdot \overline{A} = 0$;   $A + \overline{A} = 1$
  7. Закон двойного отрицания: $\overline{\overline{A}} = A$
  8. Законы де Моргана (правило инверсии базиса):
    $$\overline{A \cdot B} = \overline{A} + \overline{B}$$
    $$\overline{A + B} = \overline{A} \cdot \overline{B}$$
  9. Закон склеивания (основа карт Карно): $A \cdot B + A \cdot \overline{B} = A$

2. Базовые логические вентили и функционально полные базисы

Логический вентиль (Gate) — это физическое электронное устройство, реализующее элементарную булеву операцию над одним или несколькими входными логическими сигналами. В мировой практике используются два стандарта условных графических обозначений (УГО): отечественный ГОСТ 2.743-91 (прямоугольные блоки с символами &, 1, =1) и международный IEEE / ANSI 91-1984 (фигурные пиктограммы).

1. Конъюнкция: Логический элемент И (AND)

A B & Y
Обозначение ГОСТ: $Y = A \cdot B$ (лог. умножение)

2. Дизъюнкция: Логический элемент ИЛИ (OR)

A B 1 Y
Обозначение ГОСТ: $Y = A + B$ (лог. сложение)

3. Инверсия: Логический элемент НЕ (NOT)

A 1 Y
Обозначение ГОСТ: $Y = \overline{A}$ (инвертор)

4. Сложение по модулю 2: Элемент XOR

A B =1 Y
Обозначение ГОСТ: $Y = A \oplus B = \overline{A}B + A\overline{B}$

Сводная таблица истинности базовых элементов

Вход $A$ Вход $B$ НЕ ($\overline{A}$) И ($A \cdot B$) ИЛИ ($A + B$) И-НЕ ($\overline{A \cdot B}$) ИЛИ-НЕ ($\overline{A + B}$) XOR ($A \oplus B$) XNOR ($\overline{A \oplus B}$)
0 0 1 0 0 1 1 0 1
0 1 1 0 1 1 0 1 0
1 0 0 0 1 1 0 1 0
1 1 0 1 1 0 0 0 1
Функциональная полнота базисов Шеффера (И-НЕ) и Пирса (ИЛИ-НЕ):
Набор логических элементов называется функционально полным, если с его помощью можно реализовать абсолютно любую сколь угодно сложную логическую функцию. Элемент И-НЕ (штрих Шеффера) образует базис из одной-единственной операции:
  • Отрицание: $\overline{A} = \overline{A \cdot A}$ (входы закорочены вместе);
  • Конъюнкция: $A \cdot B = \overline{\overline{A \cdot B}}$ (элемент И-НЕ плюс инвертор);
  • Дизъюнкция: $A + B = \overline{\overline{A} \cdot \overline{B}}$ (по закону де Моргана).
Именно поэтому кремниевые микропроцессоры на 80–90% синтезируются именно из транзисторных вентилей И-НЕ/ИЛИ-НЕ как наиболее компактных по площади кремния.

3. Комбинационные логические узлы вычислительных машин

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

3.1. Полусумматор (Half Adder)

Полусумматор — это простейший комбинационный узел, выполняющий сложение двух одноразрядных двоичных чисел $A$ и $B$. Он формирует младший разряд суммы $S$ и выходной бит переноса в старший разряд $C$ (Carry Out).

Схемотехническая структура полусумматора (Half Adder)

A B =1 S (Сумма: A ⊕ B) & C (Перенос: A · B)
Рис 1. Полусумматор (Half Adder): вычисление бита суммы на элементе XOR и переноса на элементе И

3.2. Полный сумматор (Full Adder)

Чтобы построить арифметико-логическое устройство (АЛУ) любой разрядности (8, 32 или 64 бита), полусумматора недостаточно, так как он не умеет принимать перенос $C_{in}$, пришедший от предыдущего разряда. Полный сумматор (Full Adder) имеет три входа ($A$, $B$, $C_{in}$) и два выхода ($S$, $C_{out}$):

Полный сумматор собирается каскадно из двух полусумматоров и одного элемента ИЛИ для объединения частичных переносов.

3.3. Мультиплексор (MUX) и Дешифратор (DC)

4. Последовательностные схемы: триггеры, регистры и основы памяти

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

4.1. Асинхронный RS-триггер

Простейший бистабильный элемент памяти — RS-триггер (Reset / Set), собранный на двух перекрестно замкнутых вентилях ИЛИ-НЕ (или И-НЕ):

Схема RS-триггера на элементах ИЛИ-НЕ

R S 1 1 Q Q̄
Рис 2. Базовая ячейка RS-триггера с перекрестной обратной связью
Вход $S$ (Set) Вход $R$ (Reset) Состояние выхода $Q(t+1)$ Описание режима
0 0 $Q(t)$ Режим хранения: состояние памяти сохраняется неограниченно долго.
0 1 0 Режим сброса (Reset): выход $Q$ сбрасывается в 0.
1 0 1 Режим установки (Set): выход $Q$ устанавливается в 1.
1 1 Запрещенное состояние Неопределенность: оба выхода становятся 0; при снятии сигналов — гонка фронтов.

4.2. Синхронный D-триггер и параметры синхронизации

Чтобы исключить запрещенные комбинации и синхронизировать запись данных с тактовым генератором процессора, применяют D-триггер (Data-latch / Delay Flip-Flop). Его выход $Q$ в точности принимает логическое значение информационного входа $D$ исключительно в момент прихода активного перепада тактового импульса $CLK$ ($\uparrow$).

Критические физические параметры D-триггера:
  • Время предустановки ($t_{setup}$): время до фронта такта, в течение которого входные данные $D$ должны оставаться абсолютно стабильными.
  • Время удержания ($t_{hold}$): время после фронта такта, в течение которого входные данные $D$ запрещено изменять.
  • Метастабильность: если сигнал $D$ изменился в окне $[t_{setup}, t_{hold}]$, внутренний контур триггера зависает на неопределенном уровне напряжения ($V_{DD}/2$) на непредсказуемое время, вызывая катастрофический системный сбой процессора. Для синхронизации асинхронных сигналов применяют двухкаскадные триггерные синхронизаторы.

5. Контрольные вопросы и задачи для самопроверки

Вопрос 1: Чему равно выражение $(A + \overline{B}) \cdot (A + B)$?
Ответ: Раскрывая скобки или применяя второй закон дистрибутивности: $(A + \overline{B}) \cdot (A + B) = A + (\overline{B} \cdot B) = A + 0 = A$. Либо по закону склеивания конъюнктов.
Вопрос 2: В чем ключевое схемотехническое отличие полусумматора от полного сумматора?
Ответ: Полусумматор имеет 2 входа ($A, B$) и не способен принимать сигнал переноса от предыдущего разряда. Полный сумматор имеет 3 входа ($A, B, C_{in}$) и полноценно каскадируется в многоразрядные АЛУ.
Вопрос 3: Почему комбинация входов $R=1, S=1$ запрещена для RS-триггера на элементах ИЛИ-НЕ?
Ответ: При $R=1, S=1$ нарушается базовое правило взаимной инверсии выходов: оба выхода $Q$ и $\overline{Q}$ принудительно становятся равными 0. При одновременном снятии управляющих импульсов ($1 \to 0$) из-за технологического разброса задержек вентилей триггер свалится в случайное состояние (эффект гонки сигналов).
Вопрос 4: Как мультиплексор 4:1 может заменить произвольную комбинационную схему трех переменных?
Ответ: Две переменные подаются на адресные входы $A_1, A_0$, а третья переменная (либо ее инверсия, либо константы 0/1) подключается к информационным входам $D_0..D_3$ в соответствии с таблицей истинности целевой функции (концепция LUT в микросхемах ПЛИС/FPGA).