Экзамен

Экзамен по курсу может проводиться в двух форматах: классическом и в формате конференции.

Классический формат воспроизводит стандартную схему: студент вытягивает билет, состоящий из трёх вопросов по трём разделам курса, готовится, используя только разрешённые преподавателем источники информации, и отвечает экзаменатору лично.

Конференционный формат проведения экзамена

Пока не написана более подробная статья об этой форме, ограничимся цитатой из методических указаний к экзамену по курсу «Computer Architecture and Operating Systems», прочитанному для ФКН ВШЭ в 2019 году:

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

  • Устная беседа в группе примерно по 7 человек на все основные темы курса в течение примерно двух часов.
  • В процессе беседы экзаменатор задаёт вопросы по темам, студенты в произвольном порядке отвечают.
  • Экзаменатор составляет протокол оценок в примитивной форме («кто, тема, +/-/±» …):
    • «-»: ответ, не соответствующий действительности, или ответ не на тот вопрос; общие рассуждения, показывающие незнание темы; чтение вслух любых текстов, содержащих ключевые слова, без их понимания

    • «±»: сильно неполный ответ, ответ, содержащий верные и неверные утверждения, необоснованный/неверно обоснованный правильный ответ (например, наугад)

    • «+»: достаточно полный ответ в любой форме (включая «не знаю, но думаю, что…», адекватный пересказ документации и пр.)

    • Коллективный «0»: отсутствие ответа на простой с точки зрения экзаменатора вопрос, при подведении итогов слегка понижает балл каждого

  • Пользоваться можно чем угодно, кроме пересказа чужих ответов, вопросы задаются на понимание.

Оценивание

Оценивается по каждому студенту

  • соотношение правильных/неправильных ответов
  • покрытие ответами разделов курса
  • любые дополнительные знания по теме

Несколько замечаний по ведению экзамена

  • В группе всегда находятся участники, которые норовят отмолчаться (признак: они стараются сесть во второй ряд с краю). Экзаменатору надо за этим следить (это видно из протокола) и некоторые вопросы задавать не всем, а вот таким молчунам.
  • Тем не менее, если человек решил отмалчиваться, он сам себе враг
  • Хорошая тактика сдачи экзамена в такой форме — это самим слушателям сорганизоваться заранее и договориться, чтобы в группе всегда присутствовал кто-то способный ответить на сложные вопросы, и чтобы на простые отвечали те, кто менее уверен.
  • Суммарное среднее время ответов одного студента — 15 минут; время и количество преподавателей надо планировать из этого
  • Не стоит завышать время работы с одной группой: два часа непрерывного разговора — достаточно большая нагрузка
  • Вопросы по одной теме задаются до тех пор, пока по ней:
    • не вышел лимит времени
    • и в группе присутствуют студенты с недостаточным количеством ответов

При ответе на вопрос можно (а иногда просто нужно) пользоваться справочными материалами, но:

  • Оперативно пользоваться справочными материалами надо уметь, экзамен выявляет в том числе это умение

  • Почёрпнутые из внешних источников сведения принимаются только в пересказе или с объяснениями; сами сведения, разумеется, не оцениваются (или оцениваются отрицательно, если они ошибочны)
  • Если вы не до конца понимаете, о чём говорите, пересказ и/или чтение источника вслух только усиливают этот эффект ☹
    • …особенно если он повторяется от вопроса к вопросу

Вопросы к экзамену

В классическом формате каждый билет содержит три вопроса: по одному из каждого раздела.

В конференционном формате актуальный список вопросов формируется в процессе экзамена (зависит от времени, активности и количества студентов и т. п.)

1. Учебные машины

Вопросы этого раздела применяются также в коллоквиуме по теме «Учебные машины».

  1. Принципы организации ЭВМ фон Неймана
  2. Виды учебных машин и их отличия
  3. УМ-3
  4. УМ-2
  5. УМ-1
  6. УМ-С и УМ-0
  7. УМ-Р и УМ-М
  8. Планирование вычислений
  9. Виды адресации: прямая, косвенная, непосредственная, относительная

Вопросы общего плана, не входящие в коллоквиум (они рассматриваются позже)

  1. Побитовые операции и распространение знака
  2. Алгоритм умножения
  3. Алгоритм деления
  4. Понятие «конвенция»; примеры конвенций
  5. Хранение вещественных чисел в памяти по IEEE 754
  6. Язык Ассемблера. Отличия программирования на языке Ассемблера от программирования в машинных кодах.
  7. Понятие макрокоманды (макроса)
  8. Массивы и двумерные массивы
  9. Кольцевой буфер
  10. Связные списки
  11. Таблицы (массивы ссылок)

2. Архитектура и язык ассемблера RISC-V

В «классической» 9билетной) Вопросы общего плана, помеченные {1}, могут встречаться в первом вопросе бил

  1. Особенности архитектур Reduced Instruction Set Computing
  2. История и особенности архитектуры RISC-V
  3. Типы инструкций RISC-V (4 базовых и две вариации для команд перехода)
  4. Понятие псевдоинструкции
  5. Регистр процессора, их назначение. Виды регистров RISC-V
  6. Плоская модель памяти.
  7. Размещение данных в памяти, выравнивание
  8. Позиционно-независимое кодирование: адресация данных
  9. Позиционно-независимое кодирование: адресация переходов
  10. Условные переходы и циклы
  11. Косвенная адресация
  12. Концевые подпрограммы. Простая конвенция для концевых подпрограмм
  13. Стек в RISC-V
  14. Универсальные подпрограммы. Конвенция для универсальных подпрограмм
  15. Преамбула, пролог, эпилог и финал подпрограммы
  16. Расширения RISC-V F и D — конвенции по использованию регистров
  17. Вычислительные инструкции вещественного сопроцессора (арифметика, преобразование, работа с памятью)
  18. Условные операторы вещественного сопроцессора
  19. Кадр стека

3. Надстройки классической архитектуры

  1. Исключительные ситуации (ловушки): исключения и прерывания, общий обработчик и вектор прерываний
  2. Режимы работы RISC-V: аппаратный, гипервизор, супервизор (ядро), пользовательский
  3. Регистры статуса и управления RISC-V, их назначение. Инструкции для работы с CSR
  4. Управление вещественным сопроцессором посредством CSR (fcsr)

  5. Обработка исключений пользовательского уровня (в RARS). Дисциплина оформления обработчика.
  6. Сравнение организации ввода-вывода с помощью поллинга и прерываний.
  7. Понятие MMIO, особенности реализации
  8. MMIO в RISC-V на примере цифрового блока и графического дисплея RARS
  9. Таймеры и счётчики. Прерывание по таймеру и его использование. Дисциплина оформления обработчика, отдичие от обработчика исключений.
  10. Прерывание по таймеру и по счётчику инструкций в RARS
  11. Прерывания от внешних устройств. Работа с консолью RARS
  12. Отложенные и маскированные прерывания
  13. Понятие внешнего вызова RISC-V. Примеры внешних вызовов RARS
  14. Понятие конвейера (pipeline). Классический пятистадийный конвейер RISC-V.
  15. Зависимости в конвейере: по данным и по управлению. Проброс значений и задержка конвейера.
  16. Динамическая и статическая память: сравнение и область применения
  17. Прямой доступ к памяти (DMA)
  18. Кеш: алгоритмы заполнения и устаревания кеша; применение кеша в вычислительных системах
  19. Кеш прямого отображения, ассоциативный и множественно-ассоциативный кеш; области применения
  20. Предсказание перехода
  21. Прочие виды усложнения архитектуры ради повышения быстродействия: векторность, суперскалярность, внеочередные вычисления
  22. Многопроцессорные системы и аппаратная многопоточность. Причины появления.
  23. Уровни изоляции и виртуализация. Причины появления.

LecturesCMC/ArchitectureAssemblerProject/Exam (последним исправлял пользователь FrBrGeorge 2025-01-28 22:30:42)