Экзаменационные вопросы по курсу "Архитектура ЭВМ и язык ассемблера" для гр.115, 116Опубликовано avst в Май 7, 2018 - 20:38. |
Список экзаменационных вопросов по курсу «Архитектура ЭВМ и язык ассемблера» для гр.115, 116
Лектор: доц. А.В.Столяров
Лектор: доц. А.В.Столяров
В каждом билете будет два вопроса: один из частей 1, 4, 5 и второй из частей 2, 3
- Общие сведения
- История развития вычислительной техники; четыре поколения ЭВМ
- Архитектурные принципы фон Неймана
- Основы построения ЭВМ: процессор, шина, память
- Внешние устройства и взаимодействие с ними; понятия контроллера и порта ввода-вывода, драйверы устройств
- Кеширование оперативной памяти
- Прямой доступ к памяти (DMA) с помощью контроллера DMA и выделенных каналов DMA
- Прямой доступ к памяти с использованием арбитра шины
- Представление целых чисел в памяти компьютера; знаковые и беззнаковые числа, перенос в несуществующий разряд, дополнительный код, переполнение
- Машинные команды и машинный код; цикл выполнения команд; управление и передача управления
- Понятие ассемблера; язык ассемблера
- Система команд процессора i386
- Система регистров процессора i386
- Команды процессора i386: операнды, типы операндов, разрядность операндов
- Процессор i386: команда MOV и её пять основных форм в зависимости от типов операндов
- Прямая и косвенная адресация памяти в процессоре i386; общий вид исполнительного адреса, команда LEA
- Процессор i386: сложение, вычитание и сравнение целых чисел; влияние этих операций на регистр флагов
- Процессор i386: операции увеличения и уменьшения на единицу, операция смены знака, влияние этих операций на регистр флагов
- Процессор i386: умножение целых чисел (знаковых и беззнаковых); влияние операций умножения на регистр флагов
- Процессор i386: деление целых чисел (знаковых и беззнаковых); исключительные ситуации, связанные с делением
- Процессор i386: операции знакового и беззнакового расширения разрядности
- Процессор i386: побитовые логические операции
- Процессор i386: операции простого и арифметического побитового сдвига
- Процессор i386: классификация команд передачи управления в зависимости от <<дальности>>
- Процессор i386: прямая и косвенная адресация в командах передачи управления, использование абсолютной и относительной адресации
- Процессор i386: команда безусловного перехода и её возможные формы
- Процессор i386: команды условных переходов в зависимости от значения отдельных флагов
- Процессор i386: команды условных переходов в зависимости от результата операции над знаковыми числами
- Процессор i386: команды условных переходов в зависимости от результата операции над беззнаковыми числами
- Организация ветвления (оператора if-else) с помощью команд условных и
безусловных переходов - Организация циклов с предусловием и постусловием с помощью команд условных и безусловных переходов
- Процессор i386: команды LOOP и JECXZ, LOOPE/LOOPZ, LOOPNE/LOOPNZ; организация арифметических циклов
- Процессор i386: организация стека, команды занесения в стек и извлечения из стека (основные и дополнительные); временное хранение информации в стеке
- Процессор i386: команды вызова (временной передачи управления) и возврата управления; организация подпрограмм
- Организация стекового фрейма для хранения параметров и локальных переменных подпрограммы
- Основные конвенции связи с подпрограммами, их достоинства и недостатки
- Процессор i386: команды семейств STOS, LODS и MOVS, префикс REP
- Процессор i386: команды семейств SCAS и CMPS, префиксы REPE/REPNE
- Арифметика чисел с плавающей точкой
- Представление чисел с плавающей точкой: знак, мантисса, порядок, смещение порядка; области потери значимости, денормализации, переполнения
- Представление чисел с плавающей точкой: обычный, двойной и расширенный формат; числа с плавающей точкой особого вида
- Основные регистры арифметического сопроцессора и их организация в виде стека
- Служебные регистры арифметического сопроцессора и команды для управления
- Команды обмена данными с арифметическим сопроцессором и для загрузки часто употребляемых констант
- Арифметический сопроцессор: команды арифметических действий (сложения, вычитания, умножения, деления) и их основные формы
- Вычисление выражений в польской инверсной записи с использованием команд арифметического сопроцессора в форме без операндов
- Команды арифметического сопроцессора для работы с целыми числами
- Команды арифметического сопроцессора для округления, смены знака и взятия модуля числа
- Команды арифметического сопроцессора для вычисления математических функций
- Использование команд арифметического сопроцессора для возведения произвольного числа в произвольную степень
- Сравнение чисел с плавающей точкой средствами сопроцессора и организация условных переходов по результатам такого сравнения
- Обработка исключительных ситуаций при вычислениях с плавающей точкой
- Ассемблер NASM и программное окружение
- Основы синтаксиса ассемблера NASM: строка как синтаксическая единица, поля меток, команд, операндов и комментариев, верхний и нижний регистр букв
- Ассемблер NASM: допустимые имена меток, локальные метки
- Метки с именами, совпадающими с ключевыми словами ассемблера
- Псевдокоманды ассемблера NASM для резервирования памяти, определения данных, ассоциации метки с явно заданным числом; директива TIMES
- Правила записи констант в ассемблере NASM
- Ассемблер NASM: вычисление выражений во время ассемблирования; критические выражения
- Раздельная трансляция и её поддержка в ассемблере NASM; директивы GLOBAL и EXTERN
- Понятие объектного кода и библиотеки; алгоритм работы редактора связей
- Макропроцессор; понятия макроса, макроопределения, макровызова и макроподстановки
- Макропроцессор ассемблера NASM: основные возможности; директивы %include, %define, определение макросимволов в командной строке ассемблера
- Однострочные макросы ассемблера NASM, <<ленивые>> макросы, макропеременные
- Директивы условной компиляции ассемблера NASM
- Макроповторения в ассемблере NASM
- Многострочные макросы в ассемблере NASM
- Локальные метки для многострочных макросов
- Многострочные макросы с переменным числом параметров; макродиректива %rotate
- Макродирективы ассемблера NASM для работы со строками
- Возможности командной строки ассемблера NASM
- Выполнение программы под управлением операционной системы
- Понятие одновременности выполнения программ и мультизадачный режим работы
- Основные виды мультизадачности
- Требования к аппаратуре, налагаемые мультизадачным режимом работы
- Понятие виртуальной памяти и MMU; простейшая модель виртуальной памяти
- Сегментная модель виртуальной памяти
- Страничная модель виртуальной памяти
- Организация памяти работающей программы; основные секции, их назначение и особенности
- Ядро операционной системы и процессы
- Прерывания, исключения и системные вызовы
- Конвенция системных вызовов в ОС Linux/i386 и ОС FreeBSD/i386; примеры системных вызовов
- Точка входа в программу и обработка параметров командной строки в ОС Linux/i386 и ОС FreeBSD/i386