Основы профессиональной деятельности, часть 3, лекция 5. Микропрограммное устройство БЭВМ-NG

YOUTUBE · 19.11.2025 06:05

Ключевые темы и таймкоды

Введение и мисс Пигги

0:05
  • Обсуждение персонажа из маппет-шоу 90-х годов.
  • Представление мисс Пигги и её характерной реакции: поджимание носа.
  • Объяснение выбора картинки для последней лекции по БВМ.

Уровни вычислений в компьютере

1:24
  • Описание вложенных уровней вычислений в компьютере.
  • Чем ниже уровень, тем ближе вычисления к вычислительной машине.
  • Пример с Excel: преобразование формулы в понятный компьютеру язык.

Преобразование программ

3:51
  • Компилятор преобразует программу в язык, понятный более низкому уровню машины.
  • Пример преобразования формулы в функцию.
  • Движение от человеческого понимания к машинному коду.

Язык ассемблера и машинные команды

5:35
  • Пример программы на языке ассемблера: org, x, y, z.
  • Преобразование программы в машинные команды.
  • Развитие языков программирования от машинных команд до голосового управления.

Микропрограммное управление

8:46
  • Структура базовой вычислительной машины БВМ.
  • Микрокоманды и регистры в БВМ.
  • Устройство управления и вентильные схемы.

Логика микрокоманд

10:44
  • Увеличение счётчика микрокоманд на единицу.
  • Память микрокоманд из 256 ячеек по 40 бит.
  • Операции на уровне передачи информации и работы с памятью.

Типы микрокоманд

11:42
  • Два основных типа микрокоманд.
  • Проверка условий и загрузка счётчика микрокоманд новым значением.

Операционная микрокоманда

12:31
  • Подаёт сигналы на вентили управления.
  • Состоит из нескольких блоков, каждый из которых управляет своей операцией.
  • Код операции равен нулю.

Группы вентилей

13:29
  • Вентиль для команды «останов».
  • Вентили для ввода-вывода и операций с памятью.
  • Блок из восьми вентилей для записи в регистры.
  • Коммутатор разделён на две части: левая управляет признаками результатов и сдвигами, правая — передачей данных.

Управление передачей данных

14:28
  • Четыре разряда управляют передачей данных из старшего в младшие байты слова.
  • Восемь вентилей управляют чтением из регистров.
  • Два разряда не используются.

Управляющая микрокоманда

15:08
  • Код операции равен единице.
  • Младшие шестнадцать разрядов совпадают с операционной микрокомандой.
  • Восьмиразрядное поле проверяемого бита и адрес перехода.

Проверка битов

16:07
  • Проверяют единственный бит в указанном регистре.
  • Пример проверки знака числа в аккумуляторе.
  • Однобитовое поле сравнения указывает, с чем сравнивать бит.

Горизонтальные и вертикальные микрокоманды

17:11
  • Горизонтальные микрокоманды непосредственно поступают на вентили.
  • Вертикальные микрокоманды преобразуют код.
  • В БВМ вертикальных микрокоманд пока нет.

Управляющее устройство

17:52
  • Управляющее устройство открывает и закрывает вентили.
  • Микрокоманда раскладывается на последовательность сигналов.
  • Микропрограммы выполняются по решению программиста.
  • Задание на седьмой лабораторной работе: синтез микрокоманд.

Принцип работы процессора на базе микрокоманд

18:55
  • Память микрокоманд содержит набор команд, которые выбираются по счётчику микрокоманд.
  • При исполнении команды счётчик микрокоманд увеличивается на единицу.
  • Микрокоманда выбирается из памяти и поступает в регистр микрокоманд.

Обработка операционных и управляющих микрокоманд

19:55
  • Операционные микрокоманды передают биты на вентильные схемы.
  • Управляющие микрокоманды сравнивают значение регистра с битом, установленным в микрокоманде.
  • Если условие выполнено, счётчик микрокоманд загружается новым значением, иначе добавляется единица.

Блок регистров

20:39
  • Блок регистров включает аккумулятор, буферный регистр и регистр состояния.
  • Вентили осуществляют запись и чтение данных между регистрами.
  • Примеры вентилей: ВР, РАЦ, РБР, РПС.

Операции чтения и записи

22:34
  • Вентили RDBR, VR, RDR используются для чтения и записи данных.
  • Информация из буферного регистра может быть записана в регистр адреса и регистр данных.
  • Для обращения к памяти используются вентили ST и LO.

Структура АЛУ

26:08
  • АЛУ состоит из трёх частей: самого АЛУ, коммутатора и блока проверки признаков результата.
  • В АЛУ есть вентили обратного кода, выбора операции и управления переносом.
  • Коммутатор управляет симметричной и несимметричной передачей данных.

Блок проверки признаков результата

28:02
  • Блок имеет три управляющих сигнала: В, Ц, НЗ.
  • Вентили устанавливают признаки результата: В, Ц, НЗ.
  • Признаки результата записываются в регистр состояния.

Символика вентилей

28:42
  • Вентили изображаются квадратиками: единица означает передачу сигнала неизменным, кружок на выходе — инверсию.
  • Операции: И, ИЛИ, повторитель.
  • Повторители используются для повышения нагрузочной способности.

Инверсия шины

30:05
  • Для инверсии левого входа подаётся управляющий сигнал «комель».
  • При установке единицы на «комеле» элемент инвертирует сигнал, и на входе вентиля будет ноль.
  • Это закрывает одну часть схемы и открывает другую.

Прямая и обратная передача данных

31:05
  • При прямой передаче данных информация проходит через инверторы.
  • Если не нужно инвертировать данные, на вход подаётся ноль.
  • Вентили переключаются в другое состояние, и данные передаются на выход без инверсии.

Функциональная схема

32:52
  • Схема включает две шестнадцатиразрядные шины: левую и правую.
  • Каждый бит поступает на две половинки схемы: блок логического умножения и суматор.
  • Результаты операций поступают на отдельную шину.

Работа суматора

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

Выбор операции

35:18
  • Вентиль «ссора» выбирает между операциями «энд» и «сумма».
  • При подаче единицы выполняется операция «энд», при нуле — «сумма».
  • Результирующая шина становится девятнадцатиразрядной.

Коммутатор и передача разрядов

37:10
  • Коммутатор обеспечивает прямую передачу разрядов с помощью вентилей «хату-ха» и «л-тойл».
  • Несимметричная передача позволяет передавать старшую часть в младшие разряды и наоборот.
  • Расширение знака берёт седьмой разряд младшего байта и передаёт его в старшие разряды.

Логические операции и их последствия

39:00
  • Наложение сигналов в ТТ-логике эквивалентно операции «или».
  • В другой логике, где ноль представлен низким уровнем сигнала, выполняется операция «и».
  • Важно учитывать физические реалии и избегать превышения токов, чтобы не повредить микрокомпьютерную технику.

Коммутатор и сдвиги влево

41:41
  • Вентиль «саш-лт» осуществляет несимметричную передачу битов влево.
  • Для циклического сдвига используется вентиль «сашель ноль», который подаёт старое значение переноса в нулевой разряд.
  • Четырнадцатый разряд важен для корректного формирования признаков переполнения.

Формирование признаков переполнения

42:38
  • Для проверки переполнения четырнадцатый разряд передаётся в пятнадцатый и одновременно в C14.
  • Арифметический сдвиг вправо осуществляется путём сложения числа с самим собой.

Сдвиги вправо

43:44
  • Сигнал «саш рт шифт райт» передаёт биты вправо.
  • При арифметическом сдвиге пятнадцатый разряд остаётся в пятнадцатом для правильного деления на два знаковых чисел.
  • Сигнал «саш рф» определяет тип сдвига: арифметический или логический.

Блок проверки установки признаков результата

45:17
  • Выход коммутатора и четырнадцатый разряд используются для формирования бита переполнения.
  • Специальный бит управляет записью признаков в регистр состояния.
  • Установка бита «н» берётся из пятнадцатого разряда выхода коммутатора.

Формирование бита «зет»

46:17
  • Функция «или не» используется для формирования бита «зет».
  • Если все биты равны нулю, функция возвращает единицу, инвертируя её, получаем ноль.
  • Если хотя бы один бит установлен, функция возвращает ноль, который инвертируется в единицу.

Введение в схему

47:05
  • Схема включает память микрокоманд и счётчик микрокоманд, управляемый тактовым генератором.
  • Содержимое памяти микрокоманд передаётся в микрокоманду в каждом такте.

Регистр микрокоманд

48:05
  • Регистр микрокоманд ЭМАР имеет 40 разрядов, из которых 16 младших разрядов не меняются.
  • Старший бит 39-й определяет тип микрокоманды: 1 — операционная, 0 — управляющая.

Обработка микрокоманд

48:32
  • При загрузке регистра младшая часть сразу передаётся на вентили, а старшая часть проверяется на тип микрокоманды.
  • Если тип микрокоманды управляющий, открывается соответствующий вентиль.

Управляющая микрокоманда

49:44
  • Управляющая микрокоманда включает выбор управляемого бита, адрес перехода и бит сравнения.
  • Специальные сигналы HATUEL и LTOUEL позволяют сократить размер шины до 8 младших разрядов.

Сравнение битов

51:39
  • Сравнение битов осуществляется с помощью операций обратного XOR.
  • Если биты совпадают, открывается вентиль с адресом перехода, который загружается в счётчик микрокоманд.

Блокировка записи нулей

52:30
  • Схема блокирует запись нулей в счётчик микрокоманд, если команда не операционная.
  • При управляющей микрокоманде выполняется переход или прибавление единицы к счётчику.

Выборка из памяти микрокоманд

55:13
  • Счётчик микрокоманд MP используется для выборки нужной микрокоманды из памяти.
  • Вентили чтения RD из регистров позволяют выбирать необходимые биты для сравнения.

Работа тактового генератора

56:59
  • Выборка из памяти микрокоманд осуществляется по сигналу тактового генератора.
  • При операции «стоп» тактовый генератор перестаёт работать, и выборка не происходит.

Ограничения тактового генератора

57:54
  • Длительность переходных процессов должна быть больше размера фронта сигнала.
  • Увеличение частоты тактового генератора до предела невозможно из-за ограничений переходных процессов и тепловыделения.

Управление регистром состояния

1:00:18
  • Регистр состояния управляется сигналами чтения и записи.
  • Можно явно устанавливать младшие четыре разряда регистра в зависимости от результата операции.
  • Технически процесс записи части битов в регистр состояния не так важен.

Четвёртый разряд и безусловный переход

1:01:16
  • Четвёртый разряд всегда равен нулю и используется для организации безусловного перехода.
  • Сравнение с нулём всегда приводит к переходу.

Разрешение прерывания

1:01:46
  • Разрешение прерывания управляется командами «диай» и «яй».
  • Дешифратор приказа открывает нулевую или первую линию в зависимости от команды.
  • Рес-триггер управляется сигналами «р» сброс и «с» установка.

Запрос прерывания

1:02:45
  • Запрос прерывания устанавливается при наличии запроса от внешнего устройства и разрешения прерывания.
  • Функция проверяет необходимость обработки прерывания внутри интерпретатора микрокоманд.

Тумблер работы и останов

1:03:40
  • Тумблер работы управляется внешним тумблером.
  • Бит-программа использует джек-триггер с третьим состоянием.
  • Вентиль «хальт» блокирует тактовый генератор при записи единицы.

Клавишный регистр и микропрограмма

1:04:39
  • Клавишный регистр разрешает выполнение микропрограммы обработки пультовых операций.
  • Перещёлкивание триггера запускает тактовый генератор для выполнения циклов пультовых операций.

Предложение по созданию схемы

1:05:25
  • Автор предлагает создать общую схему из кусочков для презентации.
  • Исходники схем доступны для скачивания.

Шпаргалка вентильных схем

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

Управление коммутатором

1:07:35
  • Управление коммутатором включает запись регистров и установку признаков.
  • Перечислены сигналы для работы с памятью, ввода-вывода и прерываний.

Резервные вентили

1:08:24
  • Два резервных вентиля: «хальт» и бит выбора типа микрокоманды.

Введение в интерпретатор

1:08:36
  • Интерпретатор содержит 256 ячеек для горизонтальных микрокоманд.
  • Микрокоманда состоит из 40 разрядов.
  • Дмитрий Борисович разработал декодер микрокоманд, который показывает мнемонику.

Декодирование микрокоманд

1:09:34
  • Декодер определяет действия микрокоманд, например, передачу регистра и счётчика команд.
  • Обсуждаются биты микрокоманд: бит номер два соответствует чтению счётчика команд.

Передача битов

1:10:52
  • Двенадцатый и пятнадцатый разряды отвечают за прямую передачу младшего и старшего битов соответственно.
  • Тридцать первый и двадцать девятый разряды связаны с записью в регистр адреса и буферный регистр.

Управляющая микрокоманда

1:11:50
  • Управляющие микрокоманды начинаются с восьмёрки.
  • Младшие разряды передаются на вентили неизменным.
  • Четырнадцатый разряд отвечает за передачу старшей части в младшую.

Сравнение битов

1:14:00
  • Седьмой разряд сравнивается с седьмым разрядом после преобразования.
  • Если разряд равен единице, схема выдаёт адрес перехода.

Структура интерпретатора

1:18:07
  • Интерпретатор состоит из циклов выборки команды, адреса, операнда, исполнения команд, прерываний и пультовых операций.
  • Зарезервированы ячейки для арифметических команд, команд перехода и безадресных команд.

Вопросы и ответы

1:19:55
  • Иногда возникает цикл прерывания между выборкой адреса и операнда.
  • Автор предлагает присылать повторяемые тест-кейсы для анализа.
  • Подчёркивается важность предоставления информации для решения проблем.

Вертикальные микрокоманды

1:21:25
  • В старых версиях БВМ использовались вертикальные микрокоманды для экономии памяти.
  • Для сокращения количества битов микрокоманд применялись дешифраторы.
  • Пример: восемь бит можно сократить до трёх с помощью дешифратора.

Горизонтальные и вертикальные микрокоманды

1:22:24
  • Горизонтальные микрокоманды непосредственно подавались на вентили.
  • Вертикальные микрокоманды сохранялись в памяти в сжатом виде и декодировались в горизонтальные после записи в регистр.
  • Названия «горизонтальные» и «вертикальные» связаны с расположением регистра микрокоманд и дешифраторов.

Реализация микрокоманд

1:23:14
  • Реализация микрокоманд зависит от способа использования дешифратора.
  • Пример кодирования сдвига: двухразрядный код подаётся на дешифратор, который преобразует его в четыре разряда.
  • Неиспользуемые операции не влияют на работу системы.

Зависимость от реализации

1:24:10
  • Второй способ реализации связан с обратным кодом и инверсией входов АЛУ.
  • Разработчики процессоров не показывают принципиальные схемы, что приводит к различиям в работе процессоров.
  • Попытки подать запрещённые команды могут привести к разным результатам на разных процессорах.

Выбор способа реализации

1:25:08
  • Рекомендуется выбирать способ реализации с наименьшим количеством побочных эффектов.
  • Завершение лекции и пожелания успешно сдать лабораторные работы.