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

Развернутый сценарий занятия с прямой речью преподавателя

Тема дисциплины (§2.2 с.8 программы): Раздел 3. Архитектура и принципы работы основных логических блоков системы. Логические основы ЭВМ, элементы и узлы.

Сценарий включает прямую речь преподавателя, реплики активизации внимания аудитории, методические указания и регламенты для форматов 90 минут и 60 минут.

Этап 1. Организационный момент и мотивационная беседа (90 мин: 00–05 мин / 60 мин: 00–03 мин)

Преподаватель приветствует группу, проверяет присутствующих, открывает на проекторе титульный слайд 1 интерактивной презентации.
Преподаватель: «Здравствуйте, коллеги! На прошлых занятиях мы говорили об устройстве вычислительных машин в целом — процессорах, типах памяти, шинах и периферии. Но если мы снимем теплораспределительную крышку современного процессора Intel Core i9, AMD Ryzen или Apple M3 и заглянем в кремниевый кристалл через электронный микроскоп, мы увидим там от 10 до 50 миллиардов транзисторов.

Возникает фундаментальный вопрос: как физические кремниевые переключатели, способные лишь пропускать или задерживать электрический ток, заставляют компьютер складывать числа, воспроизводить 3D-графику и выполнять алгоритмы искусственного интеллекта?

Сегодня мы изучим тот самый невидимый мост, который соединяет физику полупроводников с программным кодом. Наша тема — «Логические основы ЭВМ, элементы и узлы». К концу пары каждый из вас сможет не просто понимать булеву логику, но и синтезировать реальные узлы процессора: сумматоры АЛУ, мультиплексоры шин и ячейки статической памяти! Включаемся в работу!»

Этап 2. Булева алгебра и логические вентили (90 мин: 05–25 мин / 60 мин: 03–18 мин)

Преподаватель переключает презентацию на слайды 2–5. На доске рисуются графики напряжений CMOS-логики и символы вентилей по ГОСТ и IEEE.
Преподаватель: «Прежде всего запомните главное инженерное правило: в компьютере нет никаких абстрактных нулей и единиц. Цифровой "0" — это физическое напряжение около нуля вольт, а "1" — напряжение питания микросхемы, например 1.2 В, 3.3 В или 5 В. Промежуточный интервал — это зона помех, в которой вентиль не имеет права оставаться.

Математический язык, на котором думает компьютер, создал британский математик Джордж Буль еще в XIX веке. В булевой алгебре есть три базовые операции: конъюнкция (логическое И), дизъюнкция (логическое ИЛИ) и инверсия (логическое НЕ).

Посмотрим на вентиль И (AND). На выходе будет высокий потенциал только тогда, когда логическая 1 присутствует одновременно на входе A И на входе B. Логическое ИЛИ выдаст единицу, если единичный сигнал пришел хотя бы на один вход.

А теперь обратите особое внимание на вентиль XOR (Исключающее ИЛИ). Почему он называется исключающим? Потому что он исключает ситуацию, когда оба входа равны единице! $1 \oplus 1 = 0$, а $1 \oplus 0 = 1$. Именно этот вентиль лежит в основе двоичной арифметики: вспомните, $1 + 1 = 10_2$, то есть в текущем разряде получается ноль, а единица уходит в старший разряд!

И еще один важнейший практический закон — законы де Моргана. Отрицание произведения равно сумме отрицаний, а отрицание суммы равно произведению отрицаний. Благодаря этому мы можем собрать любую цифровую схему процессора всего на одном типе элементов — на вентилях И-НЕ (базис Шеффера)! Именно так оптимизируют площадь кристалла на фабриках TSMC.»

Этап 3. Комбинационные логические узлы: сумматоры и мультиплексоры (90 мин: 25–50 мин / 60 мин: 18–35 мин)

Преподаватель переходит к слайдам 6–9 презентации. На доске синтезируется схема полусумматора и полного сумматора, разбирается мультиплексор 4:1.
Преподаватель: «Теперь, когда у нас есть базовые кирпичики, давайте построим узел, без которого процессор не сможет выполнить даже команду ADD EAX, EBX. Это сумматор.

Если мы сложим два одноразрядных числа $A$ и $B$, нам потребуются два выхода: младший бит суммы $S$ и бит переноса $C$. Сумма вычисляется элементом XOR: $S = A \oplus B$. Перенос возникает, только если оба входа равны единице: $C = A \cdot B$. Перед нами полусумматор (Half Adder).

Почему "полу-"? Потому что в реальном процессоре разрядов не один, а 32 или 64! И каждый старший разряд обязан сложить не только биты $A$ и $B$, но и перенос $C_{in}$, пришедший от соседа справа.

Чтобы получить полный сумматор (Full Adder), мы берем два полусумматора: первый складывает $A$ и $B$, второй прибавляет к результату $C_{in}$, а биты переноса объединяются элементом ИЛИ. В итоге: $S = A \oplus B \oplus C_{in}$, а $C_{out} = AB + C_{in}(A \oplus B)$.

А как процессор выбирает, какие данные направить в АЛУ? Для этого служит мультиплексор (MUX). Представьте себе железнодорожную стрелку: к стрелке подходят 4 рельсовых пути (входы данных $D_0, D_1, D_2, D_3$), а диспетчер двумя тумблерами (адресные линии $A_1, A_0$) выбирает, какой именно поезд пропустить на магистральный путь. Двоичный код адреса открывает ровно один конъюнктор И, транслируя выбранный сигнал на выход!»

Этап 4. Последовательностные узлы, триггеры и основы тактовой памяти (90 мин: 50–70 мин / 60 мин: 35–48 мин)

Преподаватель демонстрирует слайды 10–13 презентации. Объясняется принцип обратной связи, демонстрируются схемы RS-триггера и D-триггера Master-Slave, анализируется метастабильность.
Преподаватель: «Сумматоры и мультиплексоры великолепны, но у них есть фундаментальный недостаток: как только мы снимаем входной сигнал, выход тут же исчезает. Комбинационные схемы не помнят прошлое!

Чтобы компьютер обрел память, инженеры придумали гениальную вещь — положительную обратную связь. Выход логического вентиля замкнули на его собственный вход. Так родился RS-триггер. Подали сигнал на вход Set (S) — на выходе зажглась единица и осталась там даже после того, как сигнал со входа S сняли! Подали сигнал на вход Reset (R) — триггер сбросился в ноль.

Но у простейшего RS-триггера есть опаснейшая уязвимость: если одновременно подать единицу и на Set, и на Reset ($R=1, S=1$), оба выхода станут нулями, а при снятии сигналов схема начнет хаотично колебаться. Это так называемая запрещенная комбинация и гонка фронтов.

Для устранения этой проблемы в регистрах процессора и кэш-памяти SRAM используют синхронные D-триггеры. У них один вход данных $D$ (Data) и вход тактовой частоты $CLK$ (Clock). Данные записываются в триггер строго в момент наносекундного фронта тактового импульса!

И здесь мы сталкиваемся с жестокой физикой полупроводников: если входные данные $D$ начнут меняться прямо в момент тактового импульса, триггер зависнет между нулем и единицей на уровне половины напряжения питания. Это называется метастабильностью. Чтобы этого избежать, существуют жесткие правила: время предустановки $t_{setup}$ и время удержания $t_{hold}$.»

Этап 5. Практическая работа студентов в рабочем листе (90 мин: 70–85 мин / 60 мин: 48–56 мин)

Студенты открывают интерактивный файл zanyatie.html на рабочих станциях. Преподаватель распределяет варианты или студенты выбирают их в соответствии с номером в журнале.
Преподаватель: «Коллеги, открываем на компьютерах рабочий лист zanyatie.html. Введите свои фамилию, имя и учебную группу.

У нас 4 практических инженерных варианта:
  • Вариант 1: Схема мажоритарного голосования "2 из 3" для космических и бортовых ЭВМ — синтез таблицы истинности, логического уравнения и перевод схемы в базис И-НЕ;
  • Вариант 2: Полный одноразрядный сумматор АЛУ — расчет сигналов Sum и Cout, каскад на элементах XOR, И, ИЛИ и анализ проблемы задержки переноса;
  • Вариант 3: Мультиплексор 4-в-1 — формирование уравнения адресной коммутации и реализация логических функций на MUX;
  • Вариант 4: Синхронный D-триггер — таблица состояний, временная диаграмма тактирования и парирование эффекта метастабильности.
Все ваши решения автоматически сохраняются в памяти браузера. Обратите внимание на критерии рубрики: 2 балла за таблицу, 1 балл за формулу со схемой, 1 балл за инженерный анализ. Работаем самостоятельно!»

Этап 6. Рефлексия, подведение итогов и инструктаж домашнего задания (90 мин: 85–90 мин / 60 мин: 56–60 мин)

Преподаватель переключает презентацию на заключительные слайды 14–15 с мемом xkcd и контрольными выводами. Студенты сохраняют результаты работы.
Преподаватель: «Давайте подведем краткие итоги. Сегодня мы прошли колоссальный путь: от законов Джорджа Буля и транзисторных вентилей до микроархитектурных блоков современных процессоров — сумматоров, коммутаторов шин и триггеров памяти.

На следующем занятии мы объединим эти узлы в полноценный тракт данных процессора и разберем работу регистрового файла и АЛУ на уровне микрокоманд!

Экспортируйте ваши заполненные рабочие листы или сохраните их в браузере. Те студенты, которым потребуется дополнительно закрыть аттестационные баллы или закрепить синтез выражений, выполняют резервное дистанционное задание в файле domashnee_zadanie.html строго по моему указанию. Спасибо за отличную продуктивную работу, до встречи!»