Вопрос 21
Структура и принципы работы АЛУ и коммутатора. Регистр PS БЭВМ
Структура и принцип работы АЛУ
АЛУ БЭВМ предназначено для выполнения арифметических и логических операций над двоичными словами. Оно имеет два 16-разрядных входа (левый и правый) и один 16-разрядный выход.
АЛУ состоит из следующих функциональных узлов:
- Схемы обратного кода (инверторы входов): Управляются сигналами
COML(для левого входа) иCOMR(для правого). Позволяют инвертировать биты входных операндов для реализации операции вычитания и получения обратного/дополнительного кодов.- Сумматор и схема логического умножения: Объединенный блок, выполняющий либо поразрядное сложение, либо поразрядное логическое «И» (AND) над входными сигналами. Режим работы выбирается управляющим сигналом
SORA: приSORA=0выполняется сложение, приSORA=1— логическое умножение.Я сам не сразу понял, но оказывается, что
SORA- этоSum OR And- Вентиль прибавления единицы (PLS1): При подаче сигнала
PLS1=1 к результату сложения на сумматоре прибавляется единица (подается перенос в самый младший разряд). Это необходимо для инкремента (INC) или завершения операции получения дополнительного кода (NEG).Структура и принцип работы коммутатора
Коммутатор расположен на выходе АЛУ. Его задача — преобразовать результат АЛУ перед записью в регистры или передачей на блок проверки флагов.
Коммутатор управляется следующими сигналами:
Передача байтов:
LTOL,LTOH,HTOL,HTOH— передача старшего/младшего байта в старший/младшеий байт.SEXT— расширение знака младшего байта (копирование 7-го бита во все старшие разряды 8-15).Если включить некоторые сигналы одновременно, то по идее должны данные пересекаться и запишется
ORтого, что пытались записать, ведь наши биты - это наличие/отсутствие электричестваСдвиги:
SHLT(SHift LefT) — циклический сдвиг влево на 1 разряд. В младший разряд пишется0.SHLO(SHift Left Old C) — циклический сдвиг влево (в младший разряд пишется старое значение флага переносаC).Да-да, в конце именно буква, а не ноль
SHRT(SHift RighT) — арифметический сдвиг вправо на 1 разряд (в старший разряд дублируется знаковый 15-й бит).SHRF(SHift Right Flag C) — циклический сдвиг вправо (значение переносаCпишется в старший разряд).Регистр состояния БЭВМ (PS)
Регистр состояния
PS— это 9-разрядный регистр, объединяющий флаги результатов операций АЛУ и биты управления режимами работы БЭВМ.Разметка битов регистра
PS(от 0 до 8):
- Биты 0-3 — NZVC
- Бит 4 — 0: всегда равен нулю, используется УУ для безусловных переходов в микрокоде.
- Бит 5 — EI (Enable Interrupts): Разрешение прерываний в процессоре.
- Бит 6 — INT (Interrupt): Флаг запроса на прерывание со стороны внешних устройств.
- Бит 7 — W (Work): Состояние тумблера «Работа/Останов».
- Бит 8 — P (Program): Признак выполнения программы в автоматическом режиме.
Ссылка на оригинал
Вопрос 37
Асинхронный обмен. Принципы деления частоты, формат кадра
Асинхронный последовательный обмен
Главная проблема синхронного интерфейса — необходимость тянуть отдельный провод для тактовых импульсов. В асинхронном интерфейсе линии синхроимпульсов нет вообще. Данные передаются только по одному проводу. Чтобы приёмник и передатчик понимали друг друга, они заранее договариваются о скорости передачи и используют собственные независимые тактовые генераторы внутри своих контроллеров.
Формат кадра
Поскольку синхроимпульсов нет, приёмнику нужен чёткий сигнал о том, что передача байта началась. Для этого данные оборачиваются в кадр со служебными битами:
- Режим простоя (Idle): Когда передачи нет, на линии удерживается напряжение логической
1.- Стартовый бит (
0): Передатчик принудительно опускает линию в0на время одного такта. Переход от1к0“будит” приёмник и запускает его внутренние часы.- Информационные биты: Сами данные (обычно 8 бит).
- Стоповые биты (
11): Гарантируют возвращение линии в состояние логической1перед началом следующего кадра.
Рис. 1: Формат кадра асинхронного обмена
Принцип деления частоты (идеальный приём бита)
Из-за того, что тактовые генераторы (ТГ) приёмника и передатчика независимы, они могут иметь микроскопические расхождения в частоте. Если приёмник будет считывать линию прямо по краям битовых интервалов, из-за рассинхронизации он может промахнуться и считать соседний бит.
Для защиты от этого применяется деление частоты:
- Внутренний тактовый генератор работает в 16 раз быстрее, чем заданная скорость передачи битов.
- Когда приёмник видит спад напряжения (начало стартового бита), его счетчик начинает считать такты ТГ (от 1 до 16).
- Досчитав до 8 (ровно середина бита!), контроллер делает “замер” линии. Если там
0, значит стартовый бит подтверждён.- Далее приёмник делает замеры ровно каждые 16 тактов. Таким образом, считывание данных всегда происходит строго (или почти строго) в центре каждого бита, где сигнал максимально стабилен. Это компенсирует расхождение частот генераторов и гасит помехи на краях сигналов.
Последующая информация только для тех, кто знает физику
На слайде из презентации наглядно показано, как делиться частота, и как уменьшается угол сдвига (очевидно, что в 2 раза):
Рис. 2: Принцип деления частоты для центровки считывания
Ссылка на оригинал




