Кодирование звуковой и видео информации. Логические элементы. Базовые схемы. Триггеры. Регистры. Счетчики. Сумматоры. Шифраторы и дешифраторы. Мультиплексоры. Компараторы кодов

Фундаментальный конспект: физические и математические принципы оцифровки непрерывных сигналов мультимедиа, архитектура комбинационных узлов обработки данных и последовательностных схем хранения и счета в ЭВМ.

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

Реальные звуковые волны и световые потоки представляют собой непрерывные (аналоговые) сигналы. Компьютерная архитектура оперирует исключительно дискретными двоичными кодами. Преобразование аналогового сигнала в цифровую форму выполняется с помощью электронных аналого-цифровых преобразователей (АЦП, ADC), а обратный процесс — цифро-аналоговых преобразователей (ЦАП, DAC).

1.1. Оцифровка звука: импульсно-кодовая модуляция (PCM)

Базовым стандартом цифрового звука является импульсно-кодовая модуляция (Pulse Code Modulation, PCM). Процесс оцифровки состоит из двух неразрывных этапов:

  1. Дискретизация по времени (Sampling): непрерывный сигнал измеряется через строго равные промежутки времени $T_s$. Величина $f_s = 1 / T_s$ называется частотой дискретизации (измеряется в герцах, Гц).
  2. Квантование по уровню (Quantization): мгновенное аналоговое значение напряжения в точке замера округляется до ближайшего разрешенного уровня из конечного набора и кодируется $b$-разрядным двоичным числом. Параметр $b$ называется глубиной квантования (разрядностью, битами). Количество доступных дискретных уровней напряжения равно $N = 2^b$.
Теорема Котельникова (Найквиста — Шеннона):
Для точного и однозначного восстановления непрерывного аналогового сигнала без внесения паразитных искажений частота дискретизации $f_s$ должна быть строго больше либо равна удвоенной максимальной частоте спектра исходного сигнала:
f_s ≥ 2 × f_max
Если это условие нарушается ($f_s < 2 f_{max}$), возникает эффект наложения спектров — алиасинг (aliasing), приводящий к появлению фантомных низкочастотных звуковых артефактов.

Для человеческого уха диапазон слышимых звуковых частот составляет примерно от 20 Гц до 20 кГц ($f_{max} = 20\text{ кГц}$). Следовательно, минимальная частота дискретизации должна быть не менее 40 кГц. В промышленном стандарте CD-DA (Audio CD) выбрана частота $f_s = 44.1\text{ кГц}$, обеспечивающая технологический запас для низкочастотных аналоговых фильтров среза. В студийной аппаратуре и DVD/Blu-ray применяются частоты 48 кГц, 96 кГц и 192 кГц.

Битрейт аудиопотока (бит/с) = f_s × b × k
Объем аудиофайла (байты) = (f_s × b × k × t) / 8

где $k$ — количество независимых звуковых каналов (1 — моно, 2 — стерео, 6 — 5.1-аудио), $t$ — продолжительность звучания в секундах.

Разобранный пример расчета звука:
Рассчитаем битрейт и объем 3 минут несжатого стереозвука формата Audio CD ($f_s = 44.1\text{ кГц} = 44100\text{ Гц}$, $b = 16\text{ бит}$, стерео $k = 2$):
1) Поток в секунду: $\text{Битрейт} = 44100 \times 16 \times 2 = 1\,411\,200\text{ бит/с} \approx 1411.2\text{ кбит/с} \approx 176.4\text{ КБ/с}$.
2) Объем за $t = 180\text{ с}$: $176\,400\text{ байт/с} \times 180\text{ с} = 31\,752\,000\text{ байт} \approx 30.28\text{ МиБ}$.

1.2. Оцифровка видеоинформации

Видеопоток в цифровой архитектуре строится как непрерывная последовательность растровых графических кадров, сменяющихся с фиксированной частотой кадров (Frame Rate, FPS). Каждый кадр представляет собой матрицу пикселей размерностью $W \times H$.

Цвет каждого пикселя в несжатом формате кодируется тремя цветовыми компонентами RGB (TrueColor, 24 бита на пиксель: по 8 бит на красный, зеленый и синий каналы) либо 32 битами (RGB + Alpha-канал прозрачности):

Битрейт несжатого видео (бит/с) = W × H × b_pixel × FPS
Поток в байтах в секунду = (W × H × b_pixel × FPS) / 8
Колоссальный объем сырого видеопотока:
Для формата Full HD (1920×1080 пикселей, 24 бит/пиксель, 60 кадров/с):
$\text{Битрейт} = 1920 \times 1080 \times 24 \times 60 = 2\,985\,984\,000\text{ бит/с} \approx 2.986\text{ Гбит/с} \approx 373.25\text{ Мбайт/с}$.
Один час такого видео займет более 1.34 терабайта дискового пространства! Именно поэтому передача и хранение видео в реальных архитектурах невозможны без аппаратных видеокодеков с межкадровым и внутрикадровым сжатием (H.264/AVC, H.265/HEVC, AV1).

2. Архитектурное разделение: комбинационные узлы против последовательностных

Все цифровые микросхемы ЭВМ строго делятся на два фундаментальных класса по принципу зависимости выходного сигнала от времени и предыстории работы:

Параметр сравнения Комбинационные логические узлы Последовательностные узлы (устройства хранения)
Зависимость выхода Выход $Y(t)$ определяется исключительно текущей комбинацией входных сигналов $X(t)$ в данный момент времени. Выход $Y(t)$ зависит как от текущих входов $X(t)$, так и от предшествующего внутреннего состояния $Q(t)$ (предыстории).
Внутренняя память Отсутствует. Схема не запоминает предыдущие сигналы. При снятии входного воздействия состояние не сохраняется. Присутствует. Схема способна сохранять битовое состояние неограниченно долго при наличии питания.
Обратная связь Строго ациклическая структура (прямой тракт сигнала от входа к выходу без петель обратной связи). Обязательно содержит замкнутые петли положительной обратной связи, обеспечивающие бистабильность (самоподхват).
Тактирование (Clock) В базовой структуре асинхронны. Результат появляется на выходе через время задержки распространения вентилей $t_{pd}$. Как правило, синхронные узлы: смена состояний происходит строго по перепаду (фронту) импульса генератора тактовой частоты.
Базовые элементы Логические вентили: NOT, AND, OR, NAND, NOR, XOR. Триггеры (RS, D, T, JK), построенные из вентилей с перекрестной обратной связью.
Примеры узлов в ЭВМ Сумматоры, шифраторы, дешифраторы, мультиплексоры, демультиплексоры, цифровые компараторы кодов, АЛУ. Регистры общего назначения (GPR), программный счетчик (PC/IP), регистр флагов, счетчики тактов, кэш-память (SRAM).

3. Комбинационные функциональные узлы процессора

3.1. Полусумматор (Half Adder) и полный сумматор (Full Adder)

Сумматор — главный узел арифметико-логического устройства (АЛУ), выполняющий сложение двоичных чисел.

Структура и путь сигнала в полном сумматоре:
Входы A, B
→
Полусумматор 1 (S_1, C_1)
→
Полусумматор 2 (+ C_in)
→
Выход суммы S
Переносы C_1 и C_2
→
Элемент ИЛИ (OR)
→
Выход переноса C_out

3.2. Шифраторы (Encoder) и дешифраторы (Decoder)

3.3. Мультиплексор (Multiplexer, MUX) и демультиплексор (DEMUX)

Мультиплексор («коммутатор данных $2^k \to 1$») — устройство с несколькими информационными входами $D_0, D_1, \dots, D_{2^k-1}$, одной выходной линией $Y$ и группой управляющих адресных входов $A_0, \dots, A_{k-1}$. В зависимости от двоичного кода на адресных входах к выходу подключается один выбранный информационный канал:

Для MUX 2 в 1 (1 адресный вход A): Y = (D_0 ∧ NOT A) ∨ (D_1 ∧ A)
Для MUX 4 в 1 (2 адреса A_1, A_0): Y = (D_0 ∧ NOT A_1 ∧ NOT A_0) ∨ (D_1 ∧ NOT A_1 ∧ A_0) ∨ (D_2 ∧ A_1 ∧ NOT A_0) ∨ (D_3 ∧ A_1 ∧ A_0)

Мультиплексоры используются в шинах данных процессора для маршрутизации операндов из различных внутренних регистров на вход АЛУ.

3.4. Компараторы двоичных кодов (Magnitude Comparator)

Компаратор кодов выполняет аппаратное поразрядное сравнение двух двоичных чисел $A = a_{n-1}\dots a_0$ и $B = b_{n-1}\dots b_0$. На выходе вырабатываются три логических признака: $A = B$, $A > B$, $A < B$.

Признак равенства одного разряда формируется вентилем эквивалентности (XNOR): $e_i = \overline{a_i \oplus b_i} = (a_i \land b_i) \lor (\overline{a_i} \land \overline{b_i})$. Два $n$-разрядных слова равны тогда и только тогда, когда равны все соответствующие пары разрядов одновременно:

Признак равенства (A = B) = e_{n-1} ∧ e_{n-2} ∧ \dots ∧ e_0

Компараторы кодов используются в блоке предсказания ветвлений процессора, схемах защиты памяти (Memory Protection) и контроллерах ассоциативного поиска в кэше (Tag RAM Match).

4. Последовательностные узлы и устройства хранения данных

Без способности фиксировать и хранить состояние процессор не мог бы выполнять программы. Основой всех запоминающих устройств полупроводниковой электроники является триггер.

4.1. Триггеры: элементарные ячейки памяти (1 бит)

4.2. Регистры (Registers)

Регистр — узел для оперативного временного хранения многоразрядного двоичного машинного слова (8, 16, 32, 64 бита). Регистр представляет собой упорядоченный набор D-триггеров, объединенных общим тактовым сигналом записи (CLK/WE — Write Enable) и линией синхронного или асинхронного сброса (RESET).

4.3. Счетчики (Counters)

Двоичный счетчик — последовательностная схема из цепочки счетных триггеров, предназначенная для подсчета числа поступивших тактовых импульсов и фиксации этого значения в виде двоичного кода. Емкость счета $n$-разрядного счетчика составляет $K_{count} = 2^n$ (например, 4-битный счетчик считает от 0 до 15).

В архитектуре процессора счетчик выполняет критически важную роль программного счетчика (Program Counter, PC / Instruction Pointer, IP): после каждого считывания очередной команды счетчик автоматически инкрементируется ($PC \leftarrow PC + L_{instr}$), указывая на адрес следующей инструкции в оперативной памяти.

Иерархия усложнения цифровых структур в архитектуре ЭВМ:
Транзисторы (CMOS)
→
Базовые вентили (NOT, AND, OR)
→
Комбинационные узлы (Сумматоры, MUX)
→
D-триггеры (1 бит)
→
Регистры и Счетчики (слово)
→
Процессор (CPU / ALU)

5. Вопросы и задания для самопроверки

1. В чем состоит принципиальное схемотехническое отличие комбинационной логической схемы от последовательностной?
В комбинационной схеме нет внутренней памяти и замкнутых петель обратной связи; ее выход зависит только от текущих входов. В последовательностной схеме обязательно присутствует обратная связь (триггеры), и выход зависит как от текущих входов, так и от ранее сохраненного состояния.
2. Почему полусумматор нельзя использовать для сложения средних и старших разрядов многобитных чисел?
Полусумматор имеет всего два входа ($A$ и $B$) и не может учитывать входящий бит переноса $C_{in}$, сформированный сложением младшего соседнего разряда. Для средних и старших разрядов необходим трехвходовый полный сумматор.
3. Какую роль играет D-триггер в построении компьютерной памяти?
D-триггер является универсальной синхронной ячейкой статической памяти, сохраняющей 1 бит информации по фронту тактового сигнала. Набор параллельных D-триггеров образует регистры процессора и ячейки кэш-памяти SRAM.
4. Согласно теореме Котельникова, какую минимальную частоту дискретизации необходимо выбрать для оцифровки звукового сигнала с максимальной частотой 16 кГц?
По теореме Котельникова $f_s \ge 2 f_{max} = 2 \times 16\,000\text{ Гц} = 32\,000\text{ Гц}$ (32 кГц).