Экзаменационные вопросы по курсу "Архитектура ЭВМ и язык ассемблера"

Список экзаменационных вопросов по курсу «Архитектура ЭВМ и язык ассемблера» (лектор — А.В.Столяров; 2016/17 учебный год, 2 семестр)

В билете будет по два вопроса. Сами билеты можно посмотреть в приложенном файле.

  1. Общие сведения
    1. История развития вычислительной техники; четыре поколения ЭВМ
    2. Архитектурные принципы фон Неймана
    3. Основы построения ЭВМ: процессор, шина, память
    4. Внешние устройства и взаимодействие с ними; понятия контроллера и порта ввода-вывода, драйверы устройств
    5. Представление целых чисел в памяти компьютера; знаковые и беззнаковые числа, перенос в несуществующий разряд, дополнительный код, переполнение
    6. Машинные команды и машинный код; цикл выполнения команд; управление и передача управления
    7. Понятие ассемблера; язык ассемблера
  2. Система команд процессора i386
    1. Система регистров процессора i386
    2. Команды процессора i386: операнды, типы операндов, разрядность операндов
    3. Процессор i386: команда MOV и её пять основных форм в зависимости от типов операндов
    4. Прямая и косвенная адресация памяти в процессоре i386; общий вид исполнительного адреса, команда LEA
    5. Процессор i386: сложение, вычитание и сравнение целых чисел; влияние этих операций на регистр флагов
    6. Процессор i386: операции увеличения и уменьшения на единицу, операция смены знака, влияние этих операций на регистр флагов
    7. Процессор i386: умножение целых чисел (знаковых и беззнаковых); влияние операций умножения на регистр флагов
    8. Процессор i386: деление целых чисел (знаковых и беззнаковых); исключительные ситуации, связанные с делением
    9. Процессор i386: операции знакового и беззнакового расширения разрядности
    10. Процессор i386: побитовые логические операции
    11. Процессор i386: операции простого и арифметического побитового сдвига
    12. Процессор i386: классификация команд передачи управления в зависимости от <<дальности>>
    13. Процессор i386: прямая и косвенная адресация в командах передачи управления, использование абсолютной и относительной адресации
    14. Процессор i386: команда безусловного перехода и её возможные формы
    15. Процессор i386: команды условных переходов в зависимости от значения отдельных флагов
    16. Процессор i386: команды условных переходов в зависимости от результата операции над знаковыми числами
    17. Процессор i386: команды условных переходов в зависимости от результата операции над беззнаковыми числами
    18. Процессор i386: команды LOOP и JECXZ, LOOPE/LOOPZ, LOOPNE/LOOPNZ
    19. Процессор i386: организация стека, команды занесения в стек и извлечения из стека (основные и дополнительные); временное хранение информации в стеке
    20. Процессор i386: команды вызова (временной передачи управления) и возврата управления; организация подпрограмм
    21. Организация стекового фрейма для хранения параметров и локальных переменных подпрограммы
    22. Основные конвенции связи с подпрограммами, их достоинства и недостатки
    23. Процессор i386: команды семейств STOS, LODS и MOVS, префикс REP
    24. Процессор i386: команды семейств SCAS и CMPS, префиксы REPE/REPNE
  3. Арифметика чисел с плавающей точкой
    1. Представление чисел с плавающей точкой: знак, мантисса, порядок, смещение порядка; области потери значимости, денормализации, переполнения
    2. Представление чисел с плавающей точкой: обычный, двойной и расширенный формат; числа с плавающей точкой особого вида
    3. Основные регистры арифметического сопроцессора и их организация в виде стека
    4. Служебные регистры арифметического сопроцессора и команды для управления
    5. Команды обмена данными с арифметическим сопроцессором и для загрузки часто употребляемых констант
    6. Арифметический сопроцессор: команды арифметических действий (сложения, вычитания, умножения, деления) и их основные формы
    7. Вычисление выражений в польской инверсной записи с использованием команд арифметического сопроцессора в форме без операндов
    8. Команды арифметического сопроцессора для работы с целыми числами
    9. Команды арифметического сопроцессора для округления, смены знака и взятия модуля числа
    10. Команды арифметического сопроцессора для вычисления математических функций
    11. Сравнение чисел с плавающей точкой средствами сопроцессора и организация условных переходов по результатам такого сравнения
    12. Обработка исключительных ситуаций при вычислениях с плавающей точкой
  4. Ассемблер NASM и программное окружение
    1. Основы синтаксиса ассемблера NASM: строка как синтаксическая единица, поля меток, команд, операндов и комментариев, верхний и нижний регистр букв
    2. Ассемблер NASM: допустимые имена меток, локальные метки; метки с именами, совпадающими с ключевыми словами ассемблера
    3. Псевдокоманды ассемблера NASM для резервирования памяти, определения данных, ассоциации метки с явно заданным числом; директива TIMES
    4. Правила записи констант в ассемблере NASM
    5. Ассемблер NASM: вычисление выражений во время ассемблирования; критические выражения
    6. Раздельная трансляция и её поддержка в ассемблере NASM; директивы GLOBAL и EXTERN
    7. Понятие объектного кода и библиотеки; алгоритм работы редактора связей
    8. Макропроцессор; понятия макроса, макроопределения, макровызова и макроподстановки
    9. Макропроцессор ассемблера NASM: основные возможности; директивы %include, %define, определение макросимволов в командной строке ассемблера
    10. Однострочные макросы ассемблера NASM, <<ленивые>> макросы, макропеременные
    11. Директивы условной компиляции ассемблера NASM
    12. Макроповторения в ассемблере NASM
    13. Многострочные макросы в ассемблере NASM; локальные метки для многострочных макросов
    14. Многострочные макросы с переменным числом параметров; макродиректива %rotate
    15. Макродирективы ассемблера NASM для работы со строками
    16. Возможности командной строки ассемблера NASM
  5. Выполнение программы под управлением операционной системы
    1. Понятие одновременности выполнения программ и мультизадачный режим работы
    2. Основные виды мультизадачности
    3. Требования к аппаратуре, налагаемые мультизадачным режимом работы
    4. Понятие виртуальной памяти и MMU
    5. Организация памяти работающей программы; основные секции, их назначение и особенности
    6. Ядро операционной системы и процессы
    7. Прерывания, исключения и системные вызовы
    8. Конвенция системных вызовов в ОС Linux/i386 и ОС FreeBSD/i386; примеры системных вызовов
    9. Точка входа в программу и обработка параметров командной строки
Прикрепленный файлРазмер
tickets_arch_asm_nasm.pdf79.13 кб