Экзамен
Экзамен по курсу может проводиться в двух форматах: классическом и в формате конференции.
Классический формат воспроизводит стандартную схему: студент вытягивает билет, состоящий из трёх вопросов по трём разделам курса, готовится, используя только разрешённые преподавателем источники информации, и отвечает экзаменатору лично.
Конференционный формат проведения экзамена
Пока не написана более подробная статья об этой форме, ограничимся цитатой из методических указаний к экзамену по курсу «Computer Architecture and Operating Systems», прочитанному для ФКН ВШЭ в 2019 году:
Форма и правила проведения экзамена:
- Устная беседа в группе примерно по 7 человек на все основные темы курса в течение примерно двух часов.
- В процессе беседы экзаменатор задаёт вопросы по темам, студенты в произвольном порядке отвечают.
- Экзаменатор составляет протокол оценок в примитивной форме («кто, тема, +/-/±» …):
«-»: ответ, не соответствующий действительности, или ответ не на тот вопрос; общие рассуждения, показывающие незнание темы; чтение вслух любых текстов, содержащих ключевые слова, без их понимания
«±»: сильно неполный ответ, ответ, содержащий верные и неверные утверждения, необоснованный/неверно обоснованный правильный ответ (например, наугад)
«+»: достаточно полный ответ в любой форме (включая «не знаю, но думаю, что…», адекватный пересказ документации и пр.)
Коллективный «0»: отсутствие ответа на простой с точки зрения экзаменатора вопрос, при подведении итогов слегка понижает балл каждого
Пользоваться можно чем угодно, кроме пересказа чужих ответов, вопросы задаются на понимание.
Оценивание
Оценивается по каждому студенту
- соотношение правильных/неправильных ответов
- покрытие ответами разделов курса
- любые дополнительные знания по теме
Несколько замечаний по ведению экзамена
- В группе всегда находятся участники, которые норовят отмолчаться (признак: они стараются сесть во второй ряд с краю). Экзаменатору надо за этим следить (это видно из протокола) и некоторые вопросы задавать не всем, а вот таким молчунам.
- Тем не менее, если человек решил отмалчиваться, он сам себе враг
- Хорошая тактика сдачи экзамена в такой форме — это самим слушателям сорганизоваться заранее и договориться, чтобы в группе всегда присутствовал кто-то способный ответить на сложные вопросы, и чтобы на простые отвечали те, кто менее уверен.
- Суммарное среднее время ответов одного студента — 15 минут; время и количество преподавателей надо планировать из этого
- Не стоит завышать время работы с одной группой: два часа непрерывного разговора — достаточно большая нагрузка
- Вопросы по одной теме задаются до тех пор, пока по ней:
- не вышел лимит времени
и в группе присутствуют студенты с недостаточным количеством ответов
При ответе на вопрос можно (а иногда просто нужно) пользоваться справочными материалами, но:
Оперативно пользоваться справочными материалами надо уметь, экзамен выявляет в том числе это умение
- Почёрпнутые из внешних источников сведения принимаются только в пересказе или с объяснениями; сами сведения, разумеется, не оцениваются (или оцениваются отрицательно, если они ошибочны)
- Если вы не до конца понимаете, о чём говорите, пересказ и/или чтение источника вслух только усиливают этот эффект ☹
- …особенно если он повторяется от вопроса к вопросу
Вопросы к экзамену
В классическом формате каждый билет содержит три вопроса: по одному из каждого раздела.
В рамках билета допустимо объединять два-три «коротких» вопроса в один
В конференционном формате актуальный список вопросов формируется в процессе экзамена (зависит от времени, активности и количества студентов и т. п.)
1. Учебные машины
Вопросы этого раздела применяются также в коллоквиуме по теме «Учебные машины».
- Принципы организации ЭВМ фон Неймана
- Виды учебных машин и их отличия
- УМ-3
- УМ-2
- УМ-1
- УМ-С и УМ-0
- УМ-Р и УМ-М
- Планирование вычислений
- Виды адресации: прямая, косвенная, непосредственная, относительная
Вопросы общего плана, не входящие в коллоквиум (они рассматриваются позже)
- Побитовые операции и распространение знака
- Алгоритм умножения
- Алгоритм деления
- Понятие «конвенция»; примеры конвенций
- Хранение вещественных чисел в памяти по IEEE 754
- Язык Ассемблера. Отличия программирования на языке Ассемблера от программирования в машинных кодах.
- Понятие макрокоманды (макроса)
- Массивы и двумерные массивы
- Кольцевой буфер
- Связные списки
- Таблицы (массивы ссылок)
2. Архитектура и язык ассемблера RISC-V
В «классической» 9билетной) Вопросы общего плана, помеченные {1}, могут встречаться в первом вопросе бил
- Особенности архитектур Reduced Instruction Set Computing
- История и особенности архитектуры RISC-V
- Типы инструкций RISC-V (4 базовых и две вариации для команд перехода)
- Понятие псевдоинструкции
- Регистр процессора, их назначение. Виды регистров RISC-V
- Плоская модель памяти.
- Размещение данных в памяти, выравнивание
- Позиционно-независимое кодирование: адресация данных
- Позиционно-независимое кодирование: адресация переходов
- Условные переходы и циклы
- Косвенная адресация
- Концевые подпрограммы. Простая конвенция для концевых подпрограмм
- Стек в RISC-V
- Универсальные подпрограммы. Конвенция для универсальных подпрограмм
- Преамбула, пролог, эпилог и финал подпрограммы
- Расширения RISC-V F и D — конвенции по использованию регистров
- Вычислительные инструкции вещественного сопроцессора (арифметика, преобразование, работа с памятью)
- Условные операторы вещественного сопроцессора
- Кадр стека
3. Надстройки классической архитектуры
- Исключительные ситуации (ловушки): исключения и прерывания, общий обработчик и вектор прерываний
- Режимы работы RISC-V: аппаратный, гипервизор, супервизор (ядро), пользовательский
- Регистры статуса и управления RISC-V, их назначение. Инструкции для работы с CSR
Управление вещественным сопроцессором посредством CSR (fcsr)
- Обработка исключений пользовательского уровня (в RARS). Дисциплина оформления обработчика.
- Сравнение организации ввода-вывода с помощью поллинга и прерываний.
- Понятие MMIO, особенности реализации
- MMIO в RISC-V на примере цифрового блока и графического дисплея RARS
- Таймеры и счётчики. Прерывание по таймеру и его использование. Дисциплина оформления обработчика, отдичие от обработчика исключений.
- Прерывание по таймеру и по счётчику инструкций в RARS
- Прерывания от внешних устройств. Работа с консолью RARS
- Отложенные и маскированные прерывания
- Понятие внешнего вызова RISC-V. Примеры внешних вызовов RARS
- Понятие конвейера (pipeline). Классический пятистадийный конвейер RISC-V.
- Зависимости в конвейере: по данным и по управлению. Проброс значений и задержка конвейера.
- Динамическая и статическая память: сравнение и область применения
- Прямой доступ к памяти (DMA)
- Кеш: алгоритмы заполнения и устаревания кеша; применение кеша в вычислительных системах
- Кеш прямого отображения, ассоциативный и множественно-ассоциативный кеш; области применения
- Предсказание перехода
- Прочие виды усложнения архитектуры ради повышения быстродействия: векторность, суперскалярность, внеочередные вычисления
- Многопроцессорные системы и аппаратная многопоточность. Причины появления.
- Уровни изоляции и виртуализация. Причины появления.