Введение и мисс Пигги 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: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 Рекомендуется выбирать способ реализации с наименьшим количеством побочных эффектов. Завершение лекции и пожелания успешно сдать лабораторные работы.