01 Логические основы ЭВМ. Принципы организации ЭВМ

Архитектура аппаратных средств

Лекция · 4 академических часа

Тема: «Архитектура и принципы работы основных логических блоков системы». Часть 1: Логические основы ЭВМ, элементы и узлы. Часть 2: Принципы организации ЭВМ.

В предыдущей лекции мы говорили о классах вычислительных машин — от калькулятора до суперкомпьютера. Но мы ещё не разбирались, как именно машина выполняет вычисления. Ответ кроется в двух вещах: в логических элементах, из которых собраны все цифровые схемы, и в принципах организации, которые связывают эти элементы в единую систему. Именно этому и посвящена наша сегодняшняя лекция.

булева алгебравентиликомбинационные схемытриггерыфон Неймансистемная шина
Курс 2026
02План лекции

Лекция состоит из двух больших частей. Сначала мы спускаемся на самый нижний уровень — к отдельным логическим элементам, а затем поднимаемся вверх, к архитектуре компьютера. Такая последовательность не случайна: понять, как работает процессор, невозможно, не понимая, из чего он собран.

Часть 1. Логические основы (слайды 3–38)
  • Двоичные сигналы и уровни напряжения.
  • Булева алгебра: аксиомы, законы, операции.
  • Логические элементы и их параметры.
  • Синтез схем: таблицы истинности, СДНФ, СКНФ, карты Карно.
  • Комбинационные узлы: сумматор, дешифратор, мультиплексор, компаратор, АЛУ.
  • Последовательностные узлы: триггеры, регистры, счётчики, память.
  • Программируемые логические матрицы.
Часть 2. Принципы организации ЭВМ (слайды 39–64)
  • Принципы фон Неймана и гарвардская архитектура.
  • Магистрально-модульная организация.
  • Процессор: УУ, АЛУ, регистры, конвейер.
  • Система команд и режимы адресации.
  • Память: иерархия, кэш, виртуальная память.
  • Ввод-вывод, прерывания, DMA.
  • Современные архитектуры и тенденции.

Цель лекции: понять, как из простейших логических элементов строится процессор, память и весь компьютер. К концу лекции вы должны уметь объяснить путь от транзистора до работающей программы.

03Двоичные сигналы и уровни

В цифровой технике используются два устойчивых уровня напряжения. Они обозначают логический 0 и логическую 1. Почему именно два уровня, а не десять? Потому что два состояния гораздо проще надёжно различать в условиях помех. Любое промежуточное значение можно однозначно отнести к нулю или единице, если задать пороги.

  • Логический 0 — низкий уровень (обычно 0–0,8 В для TTL).
  • Логическая 1 — высокий уровень (обычно 2,4–5 В для TTL).
  • Между уровнями — запрещённая зона, где состояние не определено.
  • Помехи и наводки могут исказить сигнал, поэтому важна помехоустойчивость — способность схемы сохранять правильное состояние при наличии помех.
ПараметрЗначение U0 (вход)0 … 0,8 В U1 (вход)2,0 … 5,0 В U0 (выход)0 … 0,4 В U1 (выход)2,4 … 5,0 В

Важно: цифровая схема «видит» только два состояния. Всё, что между ними, — неопределённость, которая может привести к сбою. Именно поэтому в цифровой технике так тщательно нормируются уровни и помехоустойчивость.

04Импульсный и потенциальный код

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

Потенциальный код
  • Логический 0 и 1 — уровни напряжения.
  • Информация хранится, пока держится уровень.
  • Используется внутри микросхем.
  • Проще, но чувствителен к помехам.
Импульсный код
  • Информация — в наличии или отсутствии импульса.
  • Импульс имеет фронт, вершину и срез.
  • Используется для передачи данных.
  • Устойчивее к помехам, но сложнее.

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

Пример: в шине USB используется дифференциальная передача — два провода с противоположными сигналами. Это позволяет надёжно передавать данные на высокой скорости, поскольку помеха, наведённая на оба провода одинаково, вычитается при приёме.
05Булева алгебра: аксиомы

Булева алгебра — это математический аппарат, созданный Джорджем Булем в XIX веке для описания логических высказываний. Спустя сто лет Клод Шеннон заметил, что её можно применить к электрическим схемам: замкнутый контакт — это 1, разомкнутый — 0. Так родилась цифровая схемотехника.

Булева алгебра оперирует двумя значениями: 0 и 1. Основные аксиомы:

  • A · 1 = A — умножение на 1 не меняет
  • A · 0 = 0 — умножение на 0 даёт 0
  • A · A = A — идемпотентность
  • A · ¬A = 0 — противоречие невозможно
  • A + 1 = 1 — сложение с 1 даёт 1
  • A + 0 = A — сложение с 0 не меняет
  • A + A = A — идемпотентность
  • A + ¬A = 1 — исключённое третье

Принцип двойственности: если в формуле заменить И на ИЛИ, ИЛИ на И, 0 на 1 и 1 на 0, получится также верная формула. Это позволяет получать новые законы бесплатно — просто «отражая» уже известные.

Пример: из A · 0 = 0 по двойственности получаем A + 1 = 1.
06Законы булевой алгебры

Законы позволяют упрощать логические выражения и строить оптимальные схемы. Чем проще выражение — тем меньше элементов, тем дешевле и надёжнее устройство.

  • Переместительный: A + B = B + A, A · B = B · A — порядок операндов не важен.
  • Сочетательный: (A + B) + C = A + (B + C) — порядок группировки не важен.
  • Распределительный: A · (B + C) = A·B + A·C — аналог раскрытия скобок в обычной алгебре.
  • Поглощения: A + A·B = A, A · (A + B) = A — «лишний» член поглощается.
  • Склеивания: A·B + A·¬B = A — два члена, различающиеся одним множителем, склеиваются.
  • Де Моргана: ¬(A·B) = ¬A + ¬B, ¬(A+B) = ¬A · ¬B — инверсия «переворачивает» операцию.
Пример: A·B + A·¬B = A·(B + ¬B) = A·1 = A. Схема упростилась с трёх элементов (два И, одно ИЛИ) до одного элемента И. Экономия транзисторов, площади кристалла и потребления.
07Операция И (AND, конъюнкция)

Конъюнкция — логическое умножение. Обозначения: AND, И, &, ·. Это одна из двух базовых операций булевой алгебры.

Результат равен 1, только если все входы равны 1. Если хотя бы один вход равен 0, результат тоже 0.

ABA AND B 000 010 100 111

Аналогия: два последовательных выключателя в цепи. Ток пойдёт, только если оба замкнуты. Разомкнут хотя бы один — цепь разорвана.

Применение: маскирование битов (оставить только нужные разряды), проверка условий «и то, и другое», схемы совпадения, разрешение доступа только при выполнении всех условий.
08Операция ИЛИ (OR, дизъюнкция)

Дизъюнкция — логическое сложение. Обозначения: OR, ИЛИ, |, +. Вторая базовая операция булевой алгебры.

Результат равен 1, если хотя бы один вход равен 1. Результат 0 — только если все входы равны 0.

ABA OR B 000 011 101 111

Аналогия: два параллельных выключателя. Ток пойдёт, если замкнут хотя бы один из них. Чтобы цепь была разорвана, нужно разомкнуть оба.

Применение: установка битов (объединение по ИЛИ), объединение условий «или то, или другое», схемы разрешения по любому из сигналов.
09Операция НЕ (NOT, инверсия)

Инверсия — логическое отрицание. Обозначения: NOT, НЕ, ¬, ~.

Результат противоположен входу. Это единственная унарная операция из базовых — она работает с одним входом.

ANOT A 01 10

Аналогия: перекидной выключатель. Вход «включено» — выход «выключено». Инверсия — самый простой логический элемент, но без неё невозможно построить ни одну сложную схему.

Применение: формирование дополнительного кода чисел (используется для вычитания через сложение), построение других логических элементов (NAND, NOR), инвертирование сигналов, сброс и установка триггеров.
10Операция XOR (исключающее ИЛИ)

XOR — сложение по модулю 2. Обозначения: XOR, ⊕. Эта операция не входит в число базовых, но чрезвычайно важна в цифровой технике.

Результат равен 1, если входы различны. Если входы одинаковы — результат 0.

ABA XOR B 000 011 101 110

Свойства: A ⊕ 0 = A (не меняет), A ⊕ 1 = ¬A (инвертирует), A ⊕ A = 0 (гасит), A ⊕ B = B ⊕ A (переместительность). XOR — основа сумматора и контроля чётности.

Применение: сложение без переноса (младший разряд сумматора), сравнение на неравенство, контроль чётности при передаче данных, шифрование. Именно XOR используется в простейших шифрах: повторное применение XOR с тем же ключом восстанавливает исходные данные.
11Операция И-НЕ (NAND)

NAND = AND + NOT. Результат равен 0, только если все входы равны 1. Во всех остальных случаях — 1.

Это инвертированная конъюнкция. Именно NAND чаще всего используется в реальных микросхемах, потому что его проще всего изготовить в КМОП-технологии.

ABA NAND B 001 011 101 110

Универсальность: из NAND можно собрать И, ИЛИ и НЕ. Это значит, что любая логическая схема может быть построена только на элементах NAND. Именно поэтому в микросхемах часто используют именно NAND — не нужно изготавливать разные типы элементов.

Пример: NOT A = A NAND A; A AND B = NOT(A NAND B); A OR B = (NOT A) NAND (NOT B). Три формулы — и любая схема становится реализуемой на одном типе элемента.
12Операция ИЛИ-НЕ (NOR)

NOR = OR + NOT. Результат равен 1, только если все входы равны 0. Во всех остальных случаях — 0.

Это инвертированная дизъюнкция. Второй универсальный элемент цифровой схемотехники.

ABA NOR B 001 010 100 110

Универсальность: как и NAND, NOR является универсальным элементом. Из него можно собрать любую логическую схему. В КМОП-технологии NOR также очень удобен для изготовления.

Пример: NOT A = A NOR A; A OR B = NOT(A NOR B); A AND B = (NOT A) NOR (NOT B). Используя только NOR, можно реализовать и сумматор, и триггер, и весь процессор.
13Таблицы истинности

Таблица истинности — таблица, показывающая выход функции для всех возможных комбинаций входов. Это универсальный способ описания логической функции, не требующий знания её формулы.

  • Для n входов — 2ⁿ строк. Один вход — 2 строки, два — 4, три — 8, четыре — 16.
  • Используется для анализа и синтеза схем.
  • Позволяет записать функцию в СДНФ или СКНФ — канонических формах.
  • По таблице можно однозначно восстановить логическую функцию.
ABF 001 010 101 111
Пример: по таблице видно, что F = 1 при (0,0), (1,0), (1,1). Это можно записать как F = ¬A¬B + A¬B + AB и упростить до F = ¬B + A. Проверьте: при B=0 результат всегда 1, при B=1 результат равен A.
14СДНФ и СКНФ

Две канонические формы записи логической функции. Они позволяют механически, без размышлений, записать функцию по её таблице истинности.

СДНФ — совершенная дизъюнктивная нормальная форма.
  • Дизъюнкция минтермов.
  • Минтерм — конъюнкция всех входов (с инверсией или без).
  • Строится по строкам, где F = 1.
  • Пример: F = ¬A¬B + AB.
СКНФ — совершенная конъюнктивная нормальная форма.
  • Конъюнкция макстермов.
  • Макстерм — дизъюнкция всех входов.
  • Строится по строкам, где F = 0.
  • Пример: F = (A + ¬B) · (¬A + B).

СДНФ и СКНФ — отправные точки для минимизации логических функций. Они всегда верны, но почти всегда избыточны: содержат лишние члены, которые можно убрать.

Пример: функция F = ¬A¬B + A¬B + AB в СДНФ содержит три минтерма. После упрощения остаётся F = ¬B + A — всего два члена. Экономия очевидна.
15Карты Карно

Карта Карно — графический метод минимизации логических функций. Позволяет находить минимальные ДНФ и КНФ, не прибегая к громоздким алгебраическим преобразованиям.

  • Строки и столбцы соответствуют комбинациям входов.
  • Соседние клетки различаются одним битом (код Грея). Это ключевое свойство: именно оно позволяет «склеивать» соседние единицы.
  • Группируем единицы в прямоугольники размером 2ⁿ (1, 2, 4, 8…).
  • Каждая группа даёт один член упрощённого выражения.
  • Группы могут пересекаться и «заворачиваться» с краёв карты.
Пример: для функции F = ¬A¬B + A¬B + AB карта Карно даёт группу из двух единиц (¬B) и одну единицу (A). Итог: F = ¬B + A. То же самое, что мы получили алгебраически, но быстрее и нагляднее.

Для функций с числом переменных больше 4 карты Карно становятся громоздкими, и применяют другие методы (Квайна — Мак-Класки, алгоритмы на ЭВМ).

16Логические элементы: классификация

Логический элемент — электронная схема, реализующая одну логическую операцию. Это базовый «кирпичик» цифровых устройств, аналог транзистора в аналоговой технике.

ЭлементОперация ANDКонъюнкция (И) ORДизъюнкция (ИЛИ) NOTИнверсия (НЕ) NANDИ-НЕ NORИЛИ-НЕ XORИсключающее ИЛИ XNORИсключающее ИЛИ-НЕ

NAND и NOR называются универсальными — из них можно собрать любую схему. Это важно для производства: не нужно изготавливать разные типы элементов, достаточно одного.

Пример: в микросхеме К155ЛА3 (серия ТТЛ) содержится 4 элемента 2И-НЕ. Из одной такой микросхемы можно собрать RS-триггер, генератор, простейший сумматор.
17Серии микросхем логики

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

  • ТТЛ — транзисторно-транзисторная логика. Классика, но большое потребление. Работает от 5 В.
  • КМОП — комплементарные МОП-транзисторы. Малое потребление, высокая помехоустойчивость. Может работать от 3 до 15 В.
  • ТТЛШ — ТТЛ с диодами Шоттки. Быстрее классической ТТЛ за счёт предотвращения насыщения транзисторов.
  • БиКМОП — сочетание биполярных и КМОП. Высокое быстродействие и низкое потребление.
СерияОсобенность К155, К555 (ТТЛ)Классика, 5 В, большое потребление К561, К1561 (КМОП)Малое потребление, 3–15 В 74HC, 74AHCСовременные КМОП, 2–6 В 74LS, 74ALSТТЛШ, быстрое, 5 В
Пример: для устройств с батарейным питанием выбирают КМОП (серия 74HC). Для быстродействующих схем — ТТЛШ (74LS). Для сопряжения с 5-вольтовой логикой — ТТЛ.
18Параметры логических элементов

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

  • Быстродействие — время задержки распространения сигнала. Измеряется в наносекундах. Чем меньше — тем быстрее работает схема.
  • Потребляемая мощность — статическая (в покое) и динамическая (при переключении).
  • Помехоустойчивость — способность противостоять помехам. Определяется шириной запрещённой зоны.
  • Нагрузочная способность — сколько входов других элементов можно подключить к выходу. Обозначается коэффициентом разветвления.
  • Уровни напряжений — U0, U1 на входе и выходе.
  • Коэффициент объединения по входу — число входов элемента.
Пример: КМОП-элементы почти не потребляют ток в статике (только ток утечки), но потребляют при переключении, причём тем больше, чем выше частота. ТТЛ потребляют ток постоянно, независимо от переключений.
19Синтез комбинационных схем

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

Этапы синтеза:

  1. Составить таблицу истинности по словесному описанию задачи.
  2. Записать функцию в СДНФ или СКНФ.
  3. Минимизировать (карты Карно, законы алгебры).
  4. Построить схему на логических элементах.
  5. Проверить работу — моделированием или сборкой макета.

Цель синтеза — получить схему с минимальным числом элементов и минимальной задержкой. Иногда эти критерии противоречат друг другу, и приходится искать компромисс.

Пример: пусть нужно устройство, сигнализирующее о совпадении двух сигналов. Таблица истинности даёт F=1 только при A=B=1 или A=B=0. Схема строится на одном элементе XNOR.
20Полусумматор

Полусумматор — комбинационная схема для сложения двух одноразрядных чисел. Даёт сумму S и перенос C. Это простейший арифметический узел.

ABSC 0000 0110 1010 1101

Формулы: S = A ⊕ B (сумма — это XOR), C = A · B (перенос — это AND). Полусумматор не учитывает перенос от младшего разряда, поэтому для многоразрядного сложения он не годится.

Пример: 1 + 1 = 10 в двоичной системе. Сумма S=0, перенос C=1. Именно так работает полусумматор.
21Полный сумматор

Полный сумматор складывает три бита: A, B и перенос Pin от предыдущего разряда. Даёт сумму S и перенос Pout. Это основной узел многоразрядного сумматора.

ABPinSPout 00000 00110 01010 01101 10010 10101 11001 11111

Формулы: S = A ⊕ B ⊕ Pin, Pout = A·B + A·Pin + B·Pin. Перенос формируется, если хотя бы два из трёх входов равны 1 — это «правило большинства».

22Многоразрядный сумматор

Из полных сумматоров строится многоразрядный сумматор — основа АЛУ. Он складывает числа целиком, а не по битам.

  • Последовательный перенос — просто, но медленно. Перенос «бежит» от младшего разряда к старшему, задержка растёт линейно с разрядностью.
  • Параллельный перенос — быстрее, но сложнее. Схема заранее вычисляет переносы для всех разрядов.
  • Сумматор с ускоренным переносом — используется в современных процессорах. Сочетает скорость и умеренную сложность.
SM0→ SM1→ SM2→ SM3
Пример: 64-разрядный сумматор складывает два 64-битных числа. При последовательном переносе задержка была бы в 64 раза больше, чем у одноразрядного. Поэтому в процессорах используют ускоренный перенос.
23Дешифратор (декодер)

Дешифратор преобразует двоичный код в унитарный: активирует один из 2ⁿ выходов. На всех остальных выходах — 0.

Вход (A1 A0)Активный выход 0 0Y0 0 1Y1 1 0Y2 1 1Y3

Применение: выборка ячейки памяти по адресу, выбор устройства на шине, декодирование команд процессора. Дешифратор — «переводчик» с двоичного языка на язык «один из многих».

Пример: дешифратор 3→8 по адресу 101 активирует выход номер 5. Так процессор выбирает нужную ячейку памяти. Если бы дешифратора не было, пришлось бы сравнивать адрес с каждым возможным значением — это медленно.
24Шифратор (энкодер)

Шифратор — устройство, обратное дешифратору: 2ⁿ входов → n выходов. Преобразует номер активного входа в двоичный код.

  • Преобразует унитарный код в двоичный.
  • Используется в приоритетных шифраторах (выбирает старший вход).
  • Применяется в клавиатурах, системах прерываний.

Приоритетный шифратор — если активны несколько входов, на выходе код старшего. Это важно в системах прерываний: если пришли два прерывания, обрабатывается более важное.

Пример: контроллер прерываний использует приоритетный шифратор. Если одновременно пришли запросы от клавиатуры и от таймера, обрабатывается тот, у которого выше приоритет.
25Мультиплексор (MUX)

Мультиплексор — устройство, которое выбирает один из n входов и передаёт его на выход. Как коммутатор в телефонной сети.

  • n информационных входов, log₂n управляющих.
  • Управляющий код задаёт номер выбранного входа.
  • Может быть построен на логических элементах.
  • Существуют мультиплексоры на 2, 4, 8, 16 входов.
УправлениеВыход 00D0 01D1 10D2 11D3
Пример: в процессоре мультиплексор выбирает источник данных: регистр, память или АЛУ. Управляющий сигнал приходит от УУ и говорит, откуда брать операнд.
26Демультиплексор (DMX)

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

  • Один информационный вход.
  • n управляющих входов.
  • 2ⁿ выходов.
  • Используется для распределения данных, демультиплексирования шин.

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

Пример: в системах связи MUX объединяет несколько телефонных каналов в один, а DMX на приёмной стороне разделяет их. Один провод передаёт несколько разговоров одновременно.
27Компаратор

Компаратор сравнивает два двоичных числа и выдаёт результат: равно, больше, меньше.

  • Одноразрядный компаратор: A = B, A > B, A < B.
  • Многоразрядный компаратор строится каскадно: сначала сравниваются старшие разряды, при равенстве — младшие.
  • Используется в условных переходах, сортировке, контроле.

Формулы (одноразрядный): A=B = ¬(A ⊕ B); A>B = A·¬B; A<B = ¬A·B. Компаратор — «судья», решающий, какое из чисел больше.

Пример: команда CMP в процессоре использует компаратор для установки флагов. Потом команда JE (jump if equal) проверяет флаг равенства и выполняет переход, если числа равны.
28Арифметико-логическое устройство (АЛУ)

АЛУ — комбинационный узел, выполняющий арифметические и логические операции над данными. Это «вычислительное сердце» процессора.

  • Входы: операнды A и B, код операции.
  • Выходы: результат, флаги (нуль, перенос, знак, переполнение).
  • Операции: сложение, вычитание, И, ИЛИ, НЕ, XOR, сдвиги, сравнение.
A B → АЛУ → Результат
Код операции ↑ Флаги
Пример: при выполнении команды ADD АЛУ складывает два операнда и выставляет флаг переноса, если результат не поместился в разрядную сетку. Флаги потом используются для условных переходов.
29Комбинационные схемы: итоги

Комбинационные схемы не имеют памяти. Их выход зависит только от текущих входов. Это «мгновенные» устройства: подали вход — сразу получили выход.

УзелНазначение СумматорСложение чисел ДешифраторВыбор одного из выходов по коду ШифраторКод номера активного входа МультиплексорВыбор одного из входов ДемультиплексорРаспределение входа по выходам КомпараторСравнение чисел АЛУАрифметика и логика

Из этих узлов строятся более сложные устройства: процессоры, контроллеры, память. Но для хранения данных нужны схемы с памятью — их мы рассмотрим дальше.

30Триггер RS

RS-триггер — простейший триггер с входами установки (S — Set) и сброса (R — Reset). Первая схема с памятью.

Триггер хранит один бит: после установки или сброса он остаётся в этом состоянии, пока не придёт новый сигнал. Это и есть память.

SRQ(t+1) 00Q(t) — хранение 010 — сброс 101 — установка 11запрещено

Проблема: комбинация S=1, R=1 запрещена — состояние не определено. Это ограничение обходят в других типах триггеров (D, JK).

Пример: RS-триггер используется для устранения дребезга контактов кнопок. Когда кнопка нажата, контакты «дребезжат» несколько миллисекунд, и триггер фиксирует только первое надёжное нажатие.
31Триггер D

D-триггер — триггер задержки. Запоминает вход D по фронту тактового сигнала C. Самый распространённый тип триггера в цифровых устройствах.

DCQ(t+1) 0↑0 1↑1 X0 или ↓Q(t)

D-триггер — основа регистров, памяти, сдвиговых устройств. Он назван «задержкой» потому, что выход Q повторяет вход D, но с задержкой на один такт.

Пример: в регистрах процессора каждый бит хранится в D-триггере. По тактовому сигналу данные записываются или читаются. Именно синхронность по такту обеспечивает согласованную работу всех узлов.
32Триггеры JK и T
JK-триггер
  • Универсальный: работает как RS, D, T.
  • J=1, K=0 — установка.
  • J=0, K=1 — сброс.
  • J=K=1 — переключение.
  • J=K=0 — хранение.
T-триггер
  • Счётный триггер.
  • T=1 — переключается по такту.
  • T=0 — хранит состояние.
  • Основа счётчиков и делителей частоты.

JK-триггер назван по именам изобретателей (Jack Kilby). Это самый универсальный триггер: из него можно получить любой другой тип.

Пример: T-триггер делит частоту на 2. Цепочка из n T-триггеров — делитель частоты на 2ⁿ. Именно так устроены счётчики в часах, таймерах, делителях частоты.
33Регистры

Регистр — набор триггеров для хранения и обработки многоразрядных чисел. Это «быстрая память» внутри процессора.

  • Регистр хранения — параллельная загрузка и выгрузка. Все биты записываются одновременно.
  • Сдвиговый регистр — сдвиг влево или вправо. Каждый такт биты перемещаются на один разряд.
  • Регистр общего назначения — в процессоре для операндов.
  • Счётчик — регистр с инкрементом/декрементом.

В процессоре x86 есть регистры RAX, RBX, RCX — 64-битные регистры общего назначения. Они используются для временного хранения операндов при вычислениях.

Пример: при выполнении ADD RAX, RBX процессор складывает содержимое двух регистров и записывает результат в RAX. Операция выполняется за один такт — это быстрее, чем обращаться к памяти.
34Счётчики

Счётчик — регистр, который изменяет своё значение по тактовому сигналу. Это «шагомер» цифровых схем.

По направлению:
  • Суммирующие (вверх).
  • Вычитающие (вниз).
  • Реверсивные (оба направления).
По способу:
  • Асинхронные (последовательные) — медленнее.
  • Синхронные (параллельные) — быстрее.
Пример: счётчик команд (PC) в процессоре указывает адрес следующей команды. После каждой команды он увеличивается. Именно поэтому программа выполняется последовательно — команда за командой.

Счётчики используются в таймерах, делителях частоты, измерителях времени, адресных устройствах памяти.

35Оперативная память на триггерах (SRAM)

SRAM (Static RAM) — статическая память на триггерах. Быстрая, но дорогая. «Статическая» — потому что не требует регенерации.

  • Каждый бит — триггер (6 транзисторов).
  • Не требует регенерации — состояние сохраняется, пока есть питание.
  • Используется в кэш-памяти.
  • Высокая скорость, низкая плотность (мало бит на кристалл).

DRAM (Dynamic RAM) — динамическая память на конденсаторах. Дешевле, но требует регенерации (конденсатор разряжается). Используется как оперативная память.

Пример: кэш L1/L2/L3 в процессоре — это SRAM. Оперативная память компьютера — DRAM. Поэтому кэш в десятки раз быстрее, но в сотни раз меньше по объёму.
36Постоянная память (ROM, PROM, EPROM, EEPROM)

Энергонезависимая память для хранения прошивок и постоянных данных. Данные сохраняются после отключения питания.

ТипОсобенность ROMЗапрограммирована при изготовлении, изменить нельзя PROMПрограммируется один раз пользователем EPROMСтирается ультрафиолетом (окно в корпусе) EEPROMСтирается электрически, можно перезаписывать FlashСовременная энергонезависимая память, быстрая
Пример: BIOS компьютера хранится в flash-памяти. Прошивка микроконтроллера — в EEPROM или flash. При обновлении BIOS вы перезаписываете flash-память.

Flash-память используется в SSD, USB-флешках, картах памяти. Она сочетает энергонезависимость ROM с возможностью перезаписи.

37Программируемые логические матрицы (ПЛМ)

ПЛМ — микросхема, которую можно запрограммировать на реализацию логической функции. Не нужно собирать схему из отдельных элементов — достаточно «залить» конфигурацию.

  • PLA — программируемая логическая матрица (И и ИЛИ).
  • PAL — программируемая матрица И, фиксированная ИЛИ.
  • GAL — электрически стираемая PAL.
  • CPLD — сложные ПЛМ.
  • FPGA — программируемые вентильные матрицы. Содержат тысячи логических блоков и программируемых соединений.
Пример: FPGA используется для прототипирования процессоров, ускорителей ИИ, систем связи. Можно «прошить» новую схему за минуты, без изготовления кристалла.

FPGA — это «пластилин» цифровой схемотехники: из одного и того же кристалла можно сделать и процессор, и видеоускоритель, и систему управления.

38Итоги части 1: логические основы

Мы рассмотрели:

  • Двоичные сигналы, потенциальный и импульсный код.
  • Булеву алгебру: аксиомы, законы, операции.
  • Логические элементы: AND, OR, NOT, NAND, NOR, XOR.
  • Таблицы истинности, СДНФ, СКНФ, карты Карно.
  • Комбинационные узлы: сумматор, дешифратор, мультиплексор, компаратор, АЛУ.
  • Последовательностные узлы: триггеры, регистры, счётчики, память.
  • Серии микросхем и ПЛМ.

Из этих элементов и узлов строятся все цифровые устройства: процессоры, память, контроллеры. Теперь, зная «кирпичики», перейдём к тому, как из них собирается компьютер.

39Принципы организации ЭВМ

Часть 2. Принципы организации ЭВМ

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

Архитектура ЭВМ отвечает на вопросы: как связаны между собой процессор, память и устройства ввода-вывода? Как передаются данные? Как процессор понимает, что делать? Как программа превращается в последовательность электрических сигналов?

фон Нейманмагистральпроцессорпамятьввод-выводпрерывания

Часть 2 опирается на часть 1: без логических элементов и узлов невозможно понять работу процессора и памяти.

40Принципы фон Неймана

В 1945 году Джон фон Нейман сформулировал принципы, по которым работают почти все современные компьютеры. Эти принципы были изложены в отчёте о машине EDVAC и стали фундаментом вычислительной техники.

  • Двоичное кодирование — все данные и команды в двоичном виде. Это упрощает устройство и повышает надёжность.
  • Программное управление — работа регламентируется программой.
  • Хранимая программа — программа в той же памяти, что и данные. Это ключевая идея.
  • Последовательное выполнение — команды выполняются по порядку.
  • Условный переход — порядок может меняться по условию.
  • Иерархия памяти — несколько уровней памяти.
Память (команды + данные)
↕
Процессор (УУ + АЛУ)
↕
Устройства ввода/вывода
41Принцип хранимой программы

Ключевая идея фон Неймана: программа хранится в той же памяти, что и данные. Это кажется очевидным сегодня, но в 1940-е это была революция.

  • До этого программы задавались переключателями и проводами. Чтобы изменить программу, нужно было физически пересоединить схему.
  • Теперь программа — набор команд в памяти.
  • Процессор читает команды и выполняет их.
  • Смена программы — просто загрузка новых данных.

Следствие: компьютер стал универсальным. Одна машина решает разные задачи при смене программы. Без этого принципа не было бы ни операционных систем, ни компиляторов, ни интернета.

Пример: ноутбук утром — текстовый редактор, днём — браузер, вечером — игровая станция. Меняется только программа, «железо» остаётся тем же.
42Гарвардская архитектура

Гарвардская архитектура — альтернатива фон Нейману: команды и данные в разных памятях и на разных шинах. Названа по имени гарвардского Mark I, где впервые была применена.

Преимущества:
  • Одновременное чтение команды и данных.
  • Выше быстродействие.
  • Команды и данные не путаются.
  • Проще обеспечить защиту программы.
Недостатки:
  • Сложнее конструкция.
  • Меньше гибкость.
  • Нужны две памяти и две шины.
Применение: микроконтроллеры AVR, PIC, ARM Cortex-M. Arduino использует гарвардскую архитектуру — быстро реагирует на датчики, потому что одновременно читает программу и данные.
43Сравнение архитектур фон Неймана и гарвардской
ПараметрФон НейманаГарвардская Память командОбщаяОтдельная Память данныхОбщаяОтдельная ШиныОднаДве СкоростьНижеВыше СложностьПрощеСложнее ПрименениеПК, серверыМикроконтроллеры

Современные ПК используют фон Неймана, но с раздельными кэшами команд и данных — гибридный подход. Это позволяет совместить гибкость с производительностью.

Пример: процессор Intel Core имеет кэш L1, разделённый на кэш команд и кэш данных. Это элементы гарвардской архитектуры внутри машины фон Неймана.
44Магистрально-модульный принцип

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

  • Модульность — компьютер из отдельных блоков.
  • Магистраль — общая шина, связывающая модули.

Три шины магистрали:

ШинаНазначение ДанныхПередача данных АдресаАдрес устройства или ячейки УправленияСигналы чтения, записи, прерываний

Преимущества: модульность, лёгкая замена и расширение, упрощение проектирования. Именно поэтому можно заменить видеокарту, не меняя весь компьютер.

45Структура процессора

Процессор — центральный блок ЭВМ, выполняющий команды программы. Это «мозг» компьютера, собранный из миллионов логических элементов.

  • Устройство управления (УУ) — управляет блоками, декодирует команды. Это «дирижёр» процессора.
  • АЛУ — арифметические и логические операции. Это «вычислитель».
  • Регистры — сверхбыстрая память внутри процессора. Это «рабочий стол».
  • Кэш-память — быстрая память для часто используемых данных. Это «склад под рукой».
УУ ↔ АЛУ ↔ Регистры ↔ Кэш
Пример: при выполнении ADD УУ декодирует команду, АЛУ складывает числа, результат идёт в регистр. Все эти блоки работают синхронно, по тактовому сигналу.
46Цикл выполнения команды

Процессор выполняет команды циклически. Каждая команда проходит одни и те же этапы, независимо от её типа.

1. Выборка команды из памяти
↓
2. Декодирование в УУ
↓
3. Выборка операндов
↓
4. Выполнение в АЛУ
↓
5. Запись результата

Этот цикл повторяется для каждой команды. Миллиарды раз в секунду. Именно поэтому компьютер кажется «мгновенным».

Пример: при выполнении команды ADD RAX, RBX процессор выбирает команду из памяти, декодирует её, читает RAX и RBX, складывает их в АЛУ, записывает результат в RAX.
47Конвейер команд

Конвейер — параллельное выполнение разных этапов разных команд. Это способ ускорить процессор без роста тактовой частоты.

  • Пока одна команда выполняется, следующая декодируется, третья выбирается.
  • Глубина конвейера в современных процессорах — 10–20 стадий.
  • Позволяет выполнять почти 1 команду за такт.
  • Как конвейер на заводе: каждая стадия занята своим делом.
Проблемы: конфликты по данным и переходам могут остановить конвейер. Процессоры используют предсказание переходов, чтобы этого избежать. Если предсказание неверно, конвейер сбрасывается — это штраф.
Пример: без конвейера — 1 команда за 5 тактов. С конвейером — почти 1 команда за такт. Ускорение почти в 5 раз при той же частоте.
48Система команд процессора

Система команд — набор операций, выполняемых процессором. Это «словарь» языка, на котором программа общается с процессором.

ГруппаПримеры АрифметическиеADD, SUB, MUL, DIV ЛогическиеAND, OR, NOT, XOR, SHL, SHR ПересылкиMOV, LOAD, STORE УправленияJMP, CALL, RET, JE, JNE Ввода-выводаIN, OUT

Система команд определяет архитектуру процессора. CISC — много сложных команд, RISC — мало простых. Об этом дальше.

Пример: MOV RAX, 5 — загрузить 5 в регистр; ADD RAX, RBX — сложить; JMP label — перейти на метку. Эти команды выполняются миллионы раз в секунду.
49Режимы адресации

Адресация — способ указания, где находятся данные. От режима адресации зависит гибкость процессора.

  • Непосредственная — данные прямо в команде.
  • Регистровая — данные в регистре.
  • Прямая — в команде адрес памяти.
  • Косвенная — в команде адрес, где хранится адрес данных.
  • Индексная — адрес = база + индекс.
  • Относительная — адрес = текущий + смещение.
Пример: при работе с массивами удобна индексная адресация: база массива + индекс элемента. Процессор сам вычисляет адрес, не нужно перебирать все элементы.

Чем больше режимов адресации, тем гибче процессор, но тем сложнее его декодер команд.

50Кэш-память

Кэш-память — быстрая память между процессором и оперативной памятью. Хранит часто используемые данные, чтобы не ждать медленную RAM.

УровеньХарактеристика L1Самый быстрый, 32–64 КБ, внутри ядра L2Быстрый, 256 КБ–1 МБ L3Общий для ядер, 4–32 МБ

Попадание — данные найдены в кэше. Промах — нужно читать из оперативной памяти, это медленно. Чем выше процент попаданий, тем быстрее работает процессор.

Пример: процессор с кэшем 32 МБ быстрее процессора с 8 МБ при той же частоте. Именно поэтому в играх и профессиональных задачах большой кэш важен.
51Иерархия памяти

Иерархия памяти — уровни памяти с разной скоростью и объёмом. Чем быстрее память, тем она дороже и меньше по объёму.

УровеньСкорость / Объём РегистрыСамые быстрые / байты Кэш L1–L3Очень быстрый / КБ–МБ Оперативная памятьСредняя / ГБ SSD / HDDМедленная / ТБ

Принцип локальности: процессор чаще обращается к недавним данным. Кэш хранит их, чтобы не ждать медленную память. Без этого принципа иерархия памяти не работала бы.

Пример: доступ к регистру — 1 такт, к кэшу L1 — 4 такта, к RAM — 200 тактов, к диску — миллионы тактов. Разница огромна, поэтому кэш так важен.
52Виртуальная память

Виртуальная память — механизм, позволяющий программам использовать больше памяти, чем установлено физически. Это «обманка», которая делает жизнь программиста проще.

  • Программа работает с виртуальными адресами.
  • Процессор и ОС переводят их в физические.
  • Часть данных хранится на диске (файл подкачки).
  • Позволяет запускать большие программы и много задач.
Недостаток: если данных нет в RAM, происходит обращение к диску — это в тысячи раз медленнее. Это называется «свопинг» и вызывает «тормоза» системы.
Пример: при 8 ГБ RAM и программе на 12 ГБ виртуальная память задействует диск. Программа работает, но медленнее. Если свопинг постоянный — пора добавлять память.
53Прерывания

Прерывание — сигнал, заставляющий процессор временно перейти к обработке события. Это механизм реакции на внешние события в реальном времени.

  • Аппаратные — от внешних устройств (клавиатура, таймер, сеть).
  • Программные — от программы (системные вызовы).
  • Исключения — при ошибках (деление на ноль, нарушение доступа).

Зачем нужны: позволяют реагировать на события в реальном времени, не тратя время на постоянную проверку устройств. Без прерываний процессор должен был бы опрашивать все устройства по очереди.

Пример: нажатие клавиши генерирует прерывание. Процессор приостанавливает работу, обрабатывает нажатие, возвращается к прежней задаче. Вы этого не замечаете, потому что всё происходит за микросекунды.
54Прямой доступ к памяти (DMA)

DMA — механизм обмена данными между устройством и памятью без участия процессора. Это «разгрузка» процессора от рутинной работы.

  • Процессор даёт команду контроллеру DMA.
  • Контроллер сам пересылает данные.
  • Процессор занимается другими задачами.
  • Ускоряет ввод-вывод, снижает нагрузку.

Без DMA процессор должен был бы сам пересылать каждый байт, что отнимало бы всё его время. С DMA процессор только отдаёт команду и получает прерывание о завершении.

Пример: при копировании файла на флешку DMA пересылает данные, пока процессор работает с другими программами. Вы можете смотреть видео, пока файл копируется.
55Устройства ввода-вывода

УВВ — обеспечивают обмен информацией между ЭВМ и внешним миром. Без них компьютер был бы бесполезен: он не знал бы, что делать, и не мог бы показать результат.

Ввод:
  • Клавиатура, мышь.
  • Сканер, микрофон.
  • Датчики, камеры.
Вывод:
  • Монитор, принтер.
  • Колонки, наушники.
  • Проектор, плоттер.

Некоторые устройства выполняют обе функции: сетевые карты, модемы, сенсорные экраны, внешние диски.

Пример: сенсорный экран смартфона — это и ввод (касания), и вывод (изображение). Он соединяет человека и компьютер в одном устройстве.
56Интерфейсы ввода-вывода

Устройства подключаются к компьютеру через интерфейсы. От интерфейса зависит скорость обмена и удобство подключения.

ИнтерфейсХарактеристика USB 2.0480 Мбит/с USB 3.2до 20 Гбит/с Thunderbolt 4до 40 Гбит/с SATA III6 Гбит/с (диски) PCIe 5.0до 32 ГТ/с на линию HDMI / DisplayPortвидео и звук
Пример: видеокарта подключается через PCIe x16 — это обеспечивает высокую пропускную способность для графики. Именно поэтому игры не «тормозят» при выводе изображения.
57RISC и CISC: подходы к системе команд

Два принципиально разных подхода к построению системы команд.

CISC (Complex Instruction Set Computer)
  • Много сложных команд.
  • Одна команда делает многое.
  • Команды разной длины.
  • x86 — пример CISC.
  • Программы короче, но команды сложнее.
RISC (Reduced Instruction Set Computer)
  • Простые команды, но их много.
  • Одна команда — одно действие.
  • Команды фиксированной длины.
  • ARM, RISC-V — примеры RISC.
  • Программы длиннее, но команды быстрее.
Интересный факт: современные x86-процессоры внутри переводят CISC-команды в RISC-микрооперации. Так совмещают совместимость и эффективность. Снаружи — CISC, внутри — RISC.
58Многоядерные процессоры

Многоядерный процессор — несколько ядер на одном кристалле. Каждое ядро — полноценный процессор со своим АЛУ и регистрами.

  • 2, 4, 8, 16 и более ядер.
  • Ядра работают параллельно.
  • Общий кэш последнего уровня.
  • Рост производительности без роста частоты.

Закон Мура: число транзисторов удваивается каждые 2 года. Частота перестала расти — стали увеличивать число ядер. Но не все задачи распараллеливаются, поэтому 8 ядер не всегда в 8 раз быстрее 1.

Пример: видеомонтаж использует все ядра: одно обрабатывает видео, другое — звук, третье — эффекты. А текстовый редактор использует в основном одно ядро.
59Гетерогенные вычисления

Гетерогенные вычисления — совместное использование разных типов процессоров. Каждый тип решает свою задачу лучше остальных.

  • CPU — универсальные задачи, последовательные вычисления.
  • GPU — параллельные вычисления, графика, ИИ.
  • NPU — нейронные сети.
  • DSP — обработка сигналов.
  • FPGA — программируемая логика.
Пример: в смартфоне CPU управляет системой, GPU рисует графику, NPU ускоряет ИИ, DSP обрабатывает звук и сигналы связи. Каждый блок делает то, что умеет лучше всего.

Гетерогенные вычисления — главный тренд современной архитектуры. Один универсальный процессор уже не справляется с разнообразием задач.

60Архитектура современных ПК

Современный ПК — сложная система из множества компонентов, связанных шинами.

Процессор (CPU) ↔ Оперативная память (RAM)
↕
Чипсет (северный / южный мост)
↕ ↕ ↕
GPU SSD / HDD USB / сеть / звук

Северный мост — связь CPU с памятью и GPU. Южный мост — с медленными устройствами. В современных процессорах северный мост часто встроен в CPU.

61Архитектура мобильных устройств

Мобильные устройства используют System-on-Chip (SoC) — все компоненты на одном кристалле. Это позволяет уменьшить размер и энергопотребление.

  • CPU — несколько ядер ARM.
  • GPU — графический процессор.
  • NPU — нейронный процессор для ИИ.
  • ISP — обработка изображений.
  • Модем — 4G/5G.
  • Контроллеры памяти и ввода-вывода.
Пример: Apple M3 — SoC с CPU, GPU, NPU и памятью. Высокая производительность при низком энергопотреблении. Именно поэтому MacBook Air работает без вентилятора.
62Тенденции развития архитектуры ЭВМ

Архитектура ЭВМ продолжает развиваться. Главные направления:

  • Многоядерность и параллелизм — больше ядер, GPU-вычисления.
  • Гетерогенные вычисления — CPU + GPU + NPU.
  • Энергоэффективность — ARM, RISC-V, новые техпроцессы.
  • Искусственный интеллект — специализированные ускорители.
  • Квантовые вычисления — принципиально новый подход.
  • Нейроморфные чипы — имитация работы мозга.
Пример: нейроморфный чип Intel Loihi имитирует нейроны. Потребляет в тысячи раз меньше энергии для задач ИИ. Пока это экспериментальная технология, но будущее может быть за ней.
63Критерии выбора архитектуры

Как выбрать подходящую архитектуру для задачи? Универсального ответа нет — всё зависит от приоритетов.

  • Тип задачи: вычисления, управление, ИИ, графика.
  • Производительность: сколько операций в секунду нужно.
  • Энергопотребление: критично для мобильных устройств.
  • Стоимость: бюджет на разработку и производство.
  • Совместимость: поддержка существующего ПО.
  • Масштабируемость: возможность расширения.
Пример: для сервера важна производительность и надёжность. Для смартфона — энергоэффективность. Для микроконтроллера — простота и дешевизна. Универсального решения нет.
64Итоги лекции. Спасибо за внимание!

Мы рассмотрели:

  • Логические основы ЭВМ: булева алгебра, операции, законы, минимизация.
  • Логические элементы: AND, OR, NOT, NAND, NOR, XOR, их параметры.
  • Комбинационные узлы: сумматор, дешифратор, шифратор, мультиплексор, демультиплексор, компаратор, АЛУ.
  • Последовательностные узлы: триггеры, регистры, счётчики, память, ПЛМ.
  • Принципы фон Неймана: программное управление, хранимая программа, последовательное выполнение.
  • Гарвардская архитектура и магистрально-модульный принцип.
  • Процессор: УУ, АЛУ, регистры, конвейер, система команд, адресация.
  • Память и ввод-вывод: иерархия, кэш, виртуальная память, прерывания, DMA.
  • Современные тенденции: многоядерность, гетерогенные вычисления, ИИ.

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

Вопросы?

Следующая лекция — архитектура процессоров и вычислительных систем.

логикавентилисумматортриггеррегистрАЛУфон НейманмагистральпроцессоркэшпрерыванияDMA