Вопросы для письменного зачета по курсу "Архитектура ЭВМ и систем" (гр. 103 - 106)
Общие требования
-
В своей работе студент должен продемонстрировать свободное владение
введенными в курсе понятиями, определениями, терминологией и примерами в
полном объеме лекций и соответствующих разделов справочника.
-
Ответы следует излагать кратко, но с необходимой полнотой и в том
порядке, в каком в билете сформулированы вопросы.
-
Формулируя ответы необходимо также помнить, что русский язык является
одним из пяти мировых языков.
-
Все ответы необходимо иллюстрировать примерами.
Пример задания к письменному зачету
Вопросы
- Уровни пирамиды виртуальных машин.
- Задачи, для решения которых используется язык ассемблера.
- Определение и свойства позиционной системы счисления.
- Почему операции в ЭВМ выполняются в двоичной системе счисления?
- Алгоритмы перевода чисел из систем с основанием 2, 8 и 16 в десятичную систему.
- Алгоритмы перевода чисел из десятичной системы в системы с основанием 2, 8 и 16.
- Рациональный алгоритм перевода больших десятичных чисел в двоичную систему.
- Алгоритмы переводов 2 > 8, 2 > 16, 8 > 16 (цифры - основания систем счисления).
- Алгоритмы переводов 8 > 2, 16 > 2, 16 > 8 (цифры - основания систем счисления).
- Общая характеристика архитектур фон Неймана и IA-32.
- Оперативная память, ее адресное пространство, операции чтения и записи.
- Методы хранения и доступа к словам и двойным словам - littlendian и bigendian.
- Регистры eax, ebx, ecx, edx и их специальные свойства.
- Регистры esp, ebp, eip и их специальные свойства.
- Архитектурные типы данных. Диапазоны значений целых данных.
- Директивы определения данных в языке ассемблера.
- Дополнительный код и его свойства.
- Регистр флагов, его назначение и использование.
- Флаги CF, ZF, SF, OF.
- Переполнение, общие положения. Беззнаковое переполнение.
- Знаковое переполнение.
- Возникновение языка ассемблера, его основная идея и преимущества перед разработкой программ на языке команд Центрального процессора.
- [Сегментация и сегментные регистры в архитектуре IA-32 (не обязательно).] Плоская модель памяти.
- Адресный доступ к памяти, операнды источники и приемники, характеризация операндов.
- Перемещение (эффективный адрес) операнда в памяти, определение и преимущества базово-индексной адресации.
- Общая формула режимов адресации, преимущества базово-индексной адресации.
- Базовая адресация.
- Индексная адресация.
- Стековый доступ к памяти.
- Назначение, реализация архитектурного стека, задачи, в которых он используется.
- Модули и функции, общая схема работы функции.
- Основные элементы конструкции функции.
- Виды параметров и способы передачи их функции.
- Соглашения о связи функций принятые в языке C.
- Организация передачи управления функции и возврата в вызывающую программу.
- Адресация параметров функции в стеке.
- Адресация локальных переменных функции в стеке.
- Организация вызова функции на языке ассемблера из программы на языке C.
- Система команд, типы и локализация операндов.
- Структура команды, байты Mod/RM и SIB.
- Группы команд в системе команд.
- Особенности записи команд в синтаксисе AT\&T.
- Команды ADC и SBB.
- Команды MUL и IDIV.
- Команды IMUL и DIV.
- Раздельная трансляция, определение внешних имен, функции редактора связей.
- Флаги отладочного ассемблирования и управление выполнением программы в отладчике ddd или insight.
- Показ значений данных из памяти в отладчике ddd или insight.
- Команда CMP и ее использование.
- Семейство команд Jcc и их использование.
- Организация перехода по команде семейства Jcc на расстояние меньшее чем -128 и большее чем +127 байт от адреса самой команды.